Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jun 2020 19:27:19 +0000 (UTC)
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r540631 - in head/sysutils/apache-mesos: . files
Message-ID:  <202006271927.05RJRJOD061104@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: lwhsu
Date: Sat Jun 27 19:27:19 2020
New Revision: 540631
URL: https://svnweb.freebsd.org/changeset/ports/540631

Log:
  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

Added:
  head/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in   (contents, props changed)
  head/sysutils/apache-mesos/files/maven-deps.pom   (contents, props changed)
Modified:
  head/sysutils/apache-mesos/Makefile
  head/sysutils/apache-mesos/distinfo

Modified: head/sysutils/apache-mesos/Makefile
==============================================================================
--- head/sysutils/apache-mesos/Makefile	Sat Jun 27 18:10:45 2020	(r540630)
+++ head/sysutils/apache-mesos/Makefile	Sat Jun 27 19:27:19 2020	(r540631)
@@ -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>

Modified: head/sysutils/apache-mesos/distinfo
==============================================================================
--- head/sysutils/apache-mesos/distinfo	Sat Jun 27 18:10:45 2020	(r540630)
+++ head/sysutils/apache-mesos/distinfo	Sat Jun 27 19:27:19 2020	(r540631)
@@ -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

Added: head/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/apache-mesos/files/extra-patch-src_java_mesos.pom.in	Sat Jun 27 19:27:19 2020	(r540631)
@@ -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>

Added: head/sysutils/apache-mesos/files/maven-deps.pom
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/apache-mesos/files/maven-deps.pom	Sat Jun 27 19:27:19 2020	(r540631)
@@ -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>
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006271927.05RJRJOD061104>