Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jul 2017 22:05:21 +0000 (UTC)
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r446432 - in head/java/openjfx8-devel: . files
Message-ID:  <201707222205.v6MM5LYD040564@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tobik
Date: Sat Jul 22 22:05:21 2017
New Revision: 446432
URL: https://svnweb.freebsd.org/changeset/ports/446432

Log:
  java/openjfx8-devel: Update to a more recent snapshot
  
  - Add new default options MEDIA and WEBKIT to enable building of the
    media and web modules
  - Take back maintainership
  
  Running e.g. AsciidocFX on FreeBSD should be possible now.
  
  PR:		218014
  Reported by:	Dr. Jochen Raßler <jochen.rassler@gmail.com>, mr (via mail)

Added:
  head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_cmake_OptionsJava.cmake   (contents, props changed)
Deleted:
  head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_pango.c
  head/java/openjfx8-devel/pkg-message
Modified:
  head/java/openjfx8-devel/Makefile
  head/java/openjfx8-devel/distinfo
  head/java/openjfx8-devel/files/patch-build.gradle
  head/java/openjfx8-devel/files/patch-buildSrc_build.gradle
  head/java/openjfx8-devel/pkg-plist

Modified: head/java/openjfx8-devel/Makefile
==============================================================================
--- head/java/openjfx8-devel/Makefile	Sat Jul 22 21:01:14 2017	(r446431)
+++ head/java/openjfx8-devel/Makefile	Sat Jul 22 22:05:21 2017	(r446432)
@@ -2,63 +2,101 @@
 # $FreeBSD$
 
 PORTNAME=	openjfx8
-PORTVERSION=	20160228
-PORTREVISION=	3
+PORTVERSION=	20170722
 CATEGORIES=	java x11-toolkits devel
-MASTER_SITES=	https://bitbucket.org/tobik/openjfx-rt/get/ \
-		http://bitbucket.org/tobik/openjfx-rt/get/
+MASTER_SITES=	https://bitbucket.org/tobik/openjfx-rt/get/freebsd${PORTVERSION}${EXTRACT_SUFX}?dummy=/
 PKGNAMESUFFIX=	-devel
-DISTNAME=	freebsd${PORTVERSION}
-DIST_SUBDIR=	${PORTNAME}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	tobik@FreeBSD.org
 COMMENT=	JavaFX (OpenJFX) SDK overlay for OpenJDK 8
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
+ONLY_FOR_ARCHS=	amd64 i386
+
 BUILD_DEPENDS=	apache-ant>0:devel/apache-ant \
 		antlr3>0:devel/antlr3 \
 		gradle:devel/gradle \
 		${JAVALIBDIR}/junit.jar:java/junit \
 		swt-devel>0:x11-toolkits/swt-devel
+LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2
 RUN_DEPENDS=	swt-devel>0:x11-toolkits/swt-devel
 
-USES=		jpeg
-USE_GL=		yes
-USE_GNOME=	gtk20
+USES=		gettext-runtime jpeg sqlite
+USE_GL=		gl
+USE_GNOME=	atk cairo gdkpixbuf2 glib20 gtk20 pango
 USE_JAVA=	yes
 USE_LDCONFIG=	yes
+USE_XORG=	x11 xtst xxf86vm
 JAVA_VERSION=	1.8
 
-ONLY_FOR_ARCHS=	i386 amd64
+OPTIONS_DEFINE=	MEDIA TEST WEBKIT
+OPTIONS_DEFAULT=	MEDIA WEBKIT
+OPTIONS_SUB=	yes
+
+MEDIA_DESC=	Build media module
+
+MEDIA_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
+			libsndio.so:audio/sndio
+MEDIA_USES=	gmake
+MEDIA_VARS=	COMPILE_MEDIA=true
+
+TEST_USES=	display:test
+TEST_VARS=	AWT_TEST=true FULL_TEST=true
+
+# Gradle calls CMake during the build
+WEBKIT_BUILD_DEPENDS=	cmake:devel/cmake
+WEBKIT_IMPLIES=	MEDIA
+WEBKIT_LIB_DEPENDS=	libicui18n.so:devel/icu
+WEBKIT_USES=	bison compiler:c++11-lib gmake gperf perl5 pkgconfig \
+		python:2.7,build
+WEBKIT_USE=	GNOME=libxslt,libxml2 \
+		PERL5=build \
+		RUBY=yes \
+		XORG=xcomposite,xdamage,xfixes,xrender,xt
+WEBKIT_VARS=	RUBY_NO_RUN_DEPENDS=yes COMPILE_WEBKIT=true
+
 PLIST_SUB=	ARCH=${ARCH} \
 		JAVA_HOME=${JAVA_HOME}
 
-WRKSRC=	${WRKDIR}/tobik-openjfx-rt-2de985ca8377
+WRKSRC=	${WRKDIR}/tobik-openjfx-rt-9ccdaef460fa
 
-# NOTE: This port won't build if openjfx8-devel is currently
-# installed.  This is not a problem in Poudriere or Synth but
-# something to be aware of if you're trying to build this port in a
-# non-pristine environment.
+GRADLE_ENV=	GRADLE_USER_HOME=${WRKDIR}/gradle-home
+GRADLE_RUN=	${SETENV} ${GRADLE_ENV} gradle --no-daemon
 
+# NOTE: This port won't build if ${JAVA_HOME}/jre/lib/ext/jfxrt.jar
+# already exists on your system.  This is not a problem in Poudriere
+# or Synth but something to be aware of if you're trying to build this
+# port in a non-pristine environment.
+
 post-patch:
-# Fix build directories which are now language specific with Gradle 4.0
 	@${REINPLACE_CMD} -E -e 's|%%PREFIX%%|${PREFIX}|g' \
-		-e 's|"(\$$buildDir/classes)/main"|"\1/java/main"|g' \
-		-e 's|"(modules/.*/build/classes)/main"|"\1/java/main"|g' \
 		${WRKSRC}/build.gradle ${WRKSRC}/buildSrc/build.gradle
+# Remove the bundled libicu and libsqlite3.  We use the system's
+# versions instead.
+	@${RM} -r ${WRKSRC}/modules/web/src/main/native/Source/ThirdParty/icu \
+		${WRKSRC}/modules/web/src/main/native/Source/ThirdParty/sqlite
 
-do-build:
+do-configure:
 # Gradle creates ${HOME}/.gradle, pretend home is somewhere else
-	@${MKDIR} ${WRKDIR}/dot-gradle
-	@(cd ${WRKSRC}; ${SETENV} GRADLE_USER_HOME=${WRKDIR}/dot-gradle gradle --no-daemon zips)
+	@${MKDIR} ${WRKDIR}/gradle-home
+	@${ECHO_CMD} "NUM_COMPILE_THREADS = ${MAKE_JOBS_NUMBER}" > ${WRKSRC}/gradle.properties
+.for prop in COMPILE_MEDIA COMPILE_WEBKIT AWT_TEST FULL_TEST
+	@${ECHO_CMD} "${prop} = ${${prop}:Ufalse}" >> ${WRKSRC}/gradle.properties
+.endfor
 
-do-install:
-	@(${MKDIR} ${STAGEDIR}${JAVA_HOME} \
-		&& ${TAR} -C ${STAGEDIR}${JAVA_HOME} \
-			-xf ${WRKSRC}/build/bundles/javafx-sdk-overlay.zip)
+do-build:
+	@cd ${WRKSRC} && ${GRADLE_RUN} zips
 
+do-install:
+	@${MKDIR} ${STAGEDIR}${JAVA_HOME}
+	@${TAR} -C ${STAGEDIR}${JAVA_HOME} \
+		-xf ${WRKSRC}/build/bundles/javafx-sdk-overlay.zip
 	@${FIND} ${STAGEDIR}${JAVA_HOME}/jre -name '*.so' -exec ${STRIP_CMD} \{\} \;
+
+do-test-TEST-on:
+	@cd ${WRKSRC} && ${GRADLE_RUN} check test
 
 .include <bsd.port.mk>

Modified: head/java/openjfx8-devel/distinfo
==============================================================================
--- head/java/openjfx8-devel/distinfo	Sat Jul 22 21:01:14 2017	(r446431)
+++ head/java/openjfx8-devel/distinfo	Sat Jul 22 22:05:21 2017	(r446432)
@@ -1,2 +1,3 @@
-SHA256 (openjfx8/freebsd20160228.tar.gz) = 7940021340d87d68259a812d329670ed3841aa4055cfdee8bddbddd1d4c6ad02
-SIZE (openjfx8/freebsd20160228.tar.gz) = 77469908
+TIMESTAMP = 1500739313
+SHA256 (openjfx8-20170722.tar.gz) = b11fb19e7a05802754505c95dc247013941eb0beb5b1221ed8477997aad1344b
+SIZE (openjfx8-20170722.tar.gz) = 109167999

Modified: head/java/openjfx8-devel/files/patch-build.gradle
==============================================================================
--- head/java/openjfx8-devel/files/patch-build.gradle	Sat Jul 22 21:01:14 2017	(r446431)
+++ head/java/openjfx8-devel/files/patch-build.gradle	Sat Jul 22 22:05:21 2017	(r446432)
@@ -1,15 +1,15 @@
---- build.gradle.orig	2016-02-28 12:54:50 UTC
+--- build.gradle.orig	2017-07-20 23:39:54 UTC
 +++ build.gradle
-@@ -125,7 +125,7 @@ void loadProperties(String sourceFileNam
-     def propFile = new File(sourceFileName)
-     if (propFile.canRead()) {
-         config.load(new FileInputStream(propFile))
--        for (Map.Entry property in config) {
-+        for (property in config) {
-             def keySplit = property.key.split("\\.");
-             def key = keySplit[0];
-             for (int i = 1; i < keySplit.length; i++) {
-@@ -1167,7 +1167,8 @@ allprojects {
+@@ -344,7 +344,7 @@ ext.SWT_FILE_NAME = IS_MAC ? "org.eclipse.swt.cocoa.ma
+     IS_WINDOWS && !IS_64 ? "org.eclipse.swt.win32.win32.x86_3.7.2.v3740f" :
+     IS_LINUX && IS_64 ? "org.eclipse.swt.gtk.linux.x86_64_3.7.2.v3740f" :
+     IS_LINUX && !IS_64 ? "org.eclipse.swt.gtk.linux.x86_3.7.2.v3740f" :
+-    IS_BSD ? "/usr/local/share/java/classes/swt-devel.jar" : ""
++    IS_BSD ? "%%PREFIX%%/share/java/classes/swt-devel.jar" : ""
+ 
+ // Build javadocs only if BUILD_JAVADOC=true
+ defineProperty("BUILD_JAVADOC", "false")
+@@ -1163,7 +1163,8 @@ allprojects {
      // By default all of our projects require junit for testing so we can just
      // setup this dependency here.
      dependencies {
@@ -19,10 +19,10 @@
          if (BUILD_CLOSED && DO_JCOV)  {
              testCompile name: "jcov"
          }
-@@ -1307,11 +1308,10 @@ project(":graphics") {
-     dependencies {
-         compile project(":base"), BUILD_SRC
-         compile files("/usr/local/share/java/classes/swt-devel.jar")
+@@ -1306,11 +1307,10 @@ project(":graphics") {
+ 	} else {
+              compile name: SWT_FILE_NAME
+ 	}
 -        stubCompile group: "junit", name: "junit", version: "4.8.2",
 +        stubCompile files("%%PREFIX%%/share/java/classes/junit4.jar",
 +                          "%%PREFIX%%/share/java/classes/hamcrest.jar"),
@@ -34,7 +34,7 @@
      }
  
      // Create a single "native" task which will depend on all the individual native tasks for graphics
-@@ -1601,9 +1601,7 @@ project(":graphics") {
+@@ -1600,9 +1600,7 @@ project(":graphics") {
              copy {
                  into libsDir
                  from f.getParentFile()
@@ -45,7 +45,7 @@
                  includeEmptyDirs = false
              }
              // Have to rename the swt jar because it is some platform specific name but
-@@ -1787,7 +1785,7 @@ project(":fxpackager") {
+@@ -1789,7 +1787,7 @@ project(":fxpackager") {
      }
  
      dependencies {
@@ -54,10 +54,11 @@
      }
  
      // When producing the jar, we need to relocate a few class files
-@@ -2048,21 +2046,6 @@ project(":fxpackager") {
+@@ -2049,21 +2047,6 @@ project(":fxpackager") {
+ 
      jar.dependsOn buildJavaPackager
      jar.dependsOn packagerJar
- 
+-
 -    classes << {
 -        // Copy all of the download libraries to libs directory for the sake of the IDEs
 -        File libsDir = rootProject.file("build/libs");
@@ -72,7 +73,6 @@
 -            }
 -        }
 -    }
--
+ 
      task packagerFakeJar(type: Jar) {
          dependsOn compileTestJava
-         from compileTestJava.destinationDir

Modified: head/java/openjfx8-devel/files/patch-buildSrc_build.gradle
==============================================================================
--- head/java/openjfx8-devel/files/patch-buildSrc_build.gradle	Sat Jul 22 21:01:14 2017	(r446431)
+++ head/java/openjfx8-devel/files/patch-buildSrc_build.gradle	Sat Jul 22 22:05:21 2017	(r446432)
@@ -1,4 +1,4 @@
---- buildSrc/build.gradle.orig	2016-02-28 12:54:50 UTC
+--- buildSrc/build.gradle.orig	2017-07-20 23:39:54 UTC
 +++ buildSrc/build.gradle
 @@ -81,11 +81,10 @@ sourceSets {
  getConfigurations().create("antlr3");
@@ -9,10 +9,10 @@
 -    antlr3      group: "org.antlr", name: "antlr-runtime",  version: "3.1.3"
 -    antlr3      group: "org.antlr", name: "stringtemplate", version: "3.2"
 -    antlr3      group: "org.antlr", name: "antlr",          version: "3.1.3"
-+    compile files("%%PREFIX%%/share/java/classes/antlr-3.5.2-complete.jar")
-+    testCompile files("%%PREFIX%%/share/java/classes/junit4.jar",
-+                      "%%PREFIX%%/share/java/classes/hamcrest.jar")
-+    antlr3 files("%%PREFIX%%/share/java/classes/antlr-3.5.2-complete.jar")
++    compile files("/usr/local/share/java/classes/antlr-3.5.2-complete.jar")
++    testCompile files("/usr/local/share/java/classes/junit4.jar",
++                      "/usr/local/share/java/classes/hamcrest.jar")
++    antlr3 files("/usr/local/share/java/classes/antlr-3.5.2-complete.jar")
  }
  
  // At the moment the ASM library shipped with Gradle that is used to

Added: head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_cmake_OptionsJava.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_cmake_OptionsJava.cmake	Sat Jul 22 22:05:21 2017	(r446432)
@@ -0,0 +1,10 @@
+--- modules/web/src/main/native/Source/cmake/OptionsJava.cmake.orig	2017-07-22 15:59:03 UTC
++++ modules/web/src/main/native/Source/cmake/OptionsJava.cmake
+@@ -264,6 +264,7 @@ if (CMAKE_MAJOR_VERSION LESS 3)
+ endif ()
+ 
+ set(ICU_INCLUDE_DIRS
++    "${CMAKE_INSTALL_PREFIX}/include"
+     "${THIRDPARTY_DIR}/icu/source/common"
+     "${THIRDPARTY_DIR}/icu/source/i18n"
+ )

Modified: head/java/openjfx8-devel/pkg-plist
==============================================================================
--- head/java/openjfx8-devel/pkg-plist	Sat Jul 22 21:01:14 2017	(r446431)
+++ head/java/openjfx8-devel/pkg-plist	Sat Jul 22 22:05:21 2017	(r446432)
@@ -1,11 +1,16 @@
 %%JAVA_HOME%%/bin/javafxpackager
 %%JAVA_HOME%%/bin/javapackager
+%%MEDIA%%%%JAVA_HOME%%/jre/lib/%%ARCH%%/libavplugin.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libdecora_sse.so
+%%MEDIA%%%%JAVA_HOME%%/jre/lib/%%ARCH%%/libfxplugins.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libglass.so
+%%MEDIA%%%%JAVA_HOME%%/jre/lib/%%ARCH%%/libgstreamer-lite.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libjavafx_font.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libjavafx_font_freetype.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libjavafx_font_pango.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libjavafx_iio.so
+%%MEDIA%%%%JAVA_HOME%%/jre/lib/%%ARCH%%/libjfxmedia.so
+%%WEBKIT%%%%JAVA_HOME%%/jre/lib/%%ARCH%%/libjfxwebkit.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_common.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_es2.so
 %%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_sw.so



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