Index: Makefile =================================================================== --- Makefile +++ 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 @@ 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 Index: distinfo =================================================================== --- distinfo +++ 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 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 + + + + +