Index: Makefile =================================================================== --- Makefile +++ Makefile @@ -2,7 +2,7 @@ PORTNAME= mesos PORTVERSION= 1.10.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils MASTER_SITES= APACHE/mesos/${PORTVERSION} PKGNAMEPREFIX= apache- @@ -65,9 +65,38 @@ 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_LOCAL_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 +# REVIEW: We need a writable location for the local Maven reposistory, is ${HOME}/.m2 ok to use here? +# REVIEW: Or could use /tmp if that is writeable? Or ${WRKDIR} although it won't yet be crcreated during fetch? +MAVEN_LOCAL_REPO= ${HOME}/.m2 +MAVEN_OPTS= -Dmaven.repo.local=${MAVEN_LOCAL_REPO} +MAVEN_ENV= PROTOBUF_VERSION="${PROTOBUF_VERSION}" MAVEN_OPTS="${MAVEN_OPTS}" +MAVEN_POM= ${FILESDIR}/maven-deps.pom + +# Fetch Maven build dependencies upfront +do-fetch-JAVA-on: + @${SETENV} ${MAVEN_ENV} \ + ${MAVEN_CMD} -f ${MAVEN_POM} dependency:go-offline + +# Replace Protobuf version in src/java/mesos.pom.in +post-patch-JAVA-on: + @${REINPLACE_CMD} -e 's|@PROTOBUF_VERSION@|${PROTOBUF_VERSION}|g' ${WRKSRC}/src/java/mesos.pom.in + .include Index: files/extra-patch-src_java_mesos.pom.in =================================================================== --- files/extra-patch-src_java_mesos.pom.in +++ 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 @@ + + protobuf-java + com.google.protobuf +- 3.5.0 ++ @PROTOBUF_VERSION@ + + + +@@ -168,7 +168,7 @@ + + org.apache.maven.plugins + maven-dependency-plugin +- 2.8 ++ 3.1.2 + + + copy-dependencies Index: files/maven-deps.pom =================================================================== --- files/maven-deps.pom +++ files/maven-deps.pom @@ -0,0 +1,53 @@ + + 4.0.0 + org.apache.mesos + mesos + mesos + 1.10.0 + The Apache Mesos Java API jar. + http://mesos.apache.org + + org.apache + apache + 11 + + + + protobuf-java + com.google.protobuf + ${env.PROTOBUF_VERSION} + + + apache-jar-resource-bundle + org.apache + 1.4 + + + + + + maven-dependency-plugin + 3.1.2 + + + maven-gpg-plugin + + + maven-javadoc-plugin + + + maven-shade-plugin + 2.2 + + + maven-source-plugin + + + org.codehaus.mojo + build-helper-maven-plugin + 1.8 + + + + +