aboutsummaryrefslogtreecommitdiff
path: root/sysutils/apache-mesos
diff options
context:
space:
mode:
authorLi-Wen Hsu <lwhsu@FreeBSD.org>2020-06-27 19:27:19 +0000
committerLi-Wen Hsu <lwhsu@FreeBSD.org>2020-06-27 19:27:19 +0000
commitdf5b57eba2021fbd2c3de7bf587042b97fee578e (patch)
tree43c16f60116a6da737fc3e9ff5daf423d5c70731 /sysutils/apache-mesos
parenta5fba84033f174b155f7c0b05bf76d73192abdf3 (diff)
downloadports-df5b57eba2021fbd2c3de7bf587042b97fee578e.tar.gz
ports-df5b57eba2021fbd2c3de7bf587042b97fee578e.zip
Add option to enable Java bindings
PR: 247419 Submitted by: James Wright <james.wright@digital-chaos.com> maintainer Differential Revision: https://reviews.freebsd.org/D25361
Notes
Notes: svn path=/head/; revision=540631
Diffstat (limited to 'sysutils/apache-mesos')
-rw-r--r--sysutils/apache-mesos/Makefile43
-rw-r--r--sysutils/apache-mesos/distinfo8
-rw-r--r--sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in20
-rw-r--r--sysutils/apache-mesos/files/maven-deps.pom53
4 files changed, 118 insertions, 6 deletions
diff --git a/sysutils/apache-mesos/Makefile b/sysutils/apache-mesos/Makefile
index 21d5d0a38a81..23b016fc914f 100644
--- a/sysutils/apache-mesos/Makefile
+++ b/sysutils/apache-mesos/Makefile
@@ -2,10 +2,12 @@
PORTNAME= mesos
PORTVERSION= 1.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
-MASTER_SITES= APACHE/mesos/${PORTVERSION}
+MASTER_SITES= APACHE/mesos/${PORTVERSION}:mesos
PKGNAMEPREFIX= apache-
+DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}:mesos
+DIST_SUBDIR= ${PKGNAMEPREFIX}${PORTNAME}
MAINTAINER= james.wright@digital-chaos.com
COMMENT= Cluster manager providing resource isolation and sharing
@@ -65,9 +67,44 @@ CONFIGURE_ARGS= --disable-java \
INSTALL_TARGET= install-strip
-OPTIONS_DEFINE= DEPLOY
+OPTIONS_DEFINE= DEPLOY JAVA
OPTIONS_SUB= yes
DEPLOY_DESC= Install deploy scripts
+JAVA_DESC= Enable Java bindings
+
+JAVA_CONFIGURE_ENABLE= java
+JAVA_USE= java=yes
+JAVA_BUILD_DEPENDS= mvn:devel/maven
+JAVA_FETCH_DEPENDS= mvn:devel/maven
+JAVA_CONFIGURE_ENV= PROTOBUF_JAR="${MAVEN_REPO}/com/google/protobuf/protobuf-java/${PROTOBUF_VERSION}/protobuf-java-${PROTOBUF_VERSION}.jar"
+JAVA_MAKE_ENV= MAVEN_OPTS="${MAVEN_OPTS}"
+JAVA_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_java_mesos.pom.in
+
+# REVIEW: Can we figure out the current Protobuf version in ports instead of hardcoding???
+PROTOBUF_VERSION= 3.12.2
+
+MAVEN_CMD= mvn
+MAVEN_REPO= ${WRKDIR}/mesos-maven-deps-${PORTVERSION}
+MAVEN_OPTS= -Dmaven.repo.local=${MAVEN_REPO}
+MAVEN_ENV= PROTOBUF_VERSION="${PROTOBUF_VERSION}" MAVEN_OPTS="${MAVEN_OPTS}"
+MAVEN_POM= ${FILESDIR}/maven-deps.pom
+
+DEV_BUILD_MODE= no
+
+.if (${DEV_BUILD_MODE} == "yes")
+# Fetch Maven build dependencies upfront into local Maven Repo
+# Needs to be after extract (as WRKDIR gets wiped) but before Configure
+post-extract-JAVA-on:
+ @${SETENV} ${MAVEN_ENV} \
+ ${MAVEN_CMD} -f ${MAVEN_POM} dependency:go-offline
+.else
+MASTER_SITES+= https://github.com/Digital-Chaos/mesos-maven-deps/archive/${DISTVERSION}/:maven
+DISTFILES+= mesos-maven-deps-${DISTVERSION}${EXTRACT_SUFX}:maven
+.endif
+
+# Replace Protobuf version in src/java/mesos.pom.in
+do-patch-JAVA-on:
+ @${REINPLACE_CMD} -e 's|@PROTOBUF_VERSION@|${PROTOBUF_VERSION}|g' ${WRKSRC}/src/java/mesos.pom.in
.include <bsd.port.mk>
diff --git a/sysutils/apache-mesos/distinfo b/sysutils/apache-mesos/distinfo
index fbc1d64ada23..7c570228003b 100644
--- a/sysutils/apache-mesos/distinfo
+++ b/sysutils/apache-mesos/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1590786317
-SHA256 (mesos-1.10.0.tar.gz) = f4b9e8a1e9f905334adf4d349a2ed33a4cfa43278381cd34fb4fc7e9df9e12a1
-SIZE (mesos-1.10.0.tar.gz) = 71760072
+TIMESTAMP = 1593259602
+SHA256 (apache-mesos/mesos-1.10.0.tar.gz) = f4b9e8a1e9f905334adf4d349a2ed33a4cfa43278381cd34fb4fc7e9df9e12a1
+SIZE (apache-mesos/mesos-1.10.0.tar.gz) = 71760072
+SHA256 (apache-mesos/mesos-maven-deps-1.10.0.tar.gz) = b119a72e99499b67e1455a32bbbba80a15ae5ef21315eab76119f941f96f3d36
+SIZE (apache-mesos/mesos-maven-deps-1.10.0.tar.gz) = 36000010
diff --git a/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in b/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in
new file mode 100644
index 000000000000..b674ea07205b
--- /dev/null
+++ b/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in
@@ -0,0 +1,20 @@
+--- src/java/mesos.pom.in.orig 2020-06-16 03:05:20 UTC
++++ src/java/mesos.pom.in
+@@ -36,7 +36,7 @@
+ <dependency>
+ <artifactId>protobuf-java</artifactId>
+ <groupId>com.google.protobuf</groupId>
+- <version>3.5.0</version>
++ <version>@PROTOBUF_VERSION@</version>
+ </dependency>
+ </dependencies>
+ <build>
+@@ -168,7 +168,7 @@
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+- <version>2.8</version>
++ <version>3.1.2</version>
+ <executions>
+ <execution>
+ <id>copy-dependencies</id>
diff --git a/sysutils/apache-mesos/files/maven-deps.pom b/sysutils/apache-mesos/files/maven-deps.pom
new file mode 100644
index 000000000000..31a1db2e4e99
--- /dev/null
+++ b/sysutils/apache-mesos/files/maven-deps.pom
@@ -0,0 +1,53 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.mesos</groupId>
+ <artifactId>mesos</artifactId>
+ <name>mesos</name>
+ <version>1.10.0</version>
+ <description>The Apache Mesos Java API jar.</description>
+ <url>http://mesos.apache.org</url>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>11</version>
+ </parent>
+ <dependencies>
+ <dependency>
+ <artifactId>protobuf-java</artifactId>
+ <groupId>com.google.protobuf</groupId>
+ <version>${env.PROTOBUF_VERSION}</version>
+ </dependency>
+ <dependency>
+ <artifactId>apache-jar-resource-bundle</artifactId>
+ <groupId>org.apache</groupId>
+ <version>1.4</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.1.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-gpg-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.8</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+