From owner-svn-ports-head@freebsd.org Sat Jul 22 22:05:23 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AAFF0DAE66E; Sat, 22 Jul 2017 22:05:23 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 42EC166EBF; Sat, 22 Jul 2017 22:05:23 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6MM5MM0040570; Sat, 22 Jul 2017 22:05:22 GMT (envelope-from tobik@FreeBSD.org) Received: (from tobik@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6MM5LYD040564; Sat, 22 Jul 2017 22:05:21 GMT (envelope-from tobik@FreeBSD.org) Message-Id: <201707222205.v6MM5LYD040564@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tobik set sender to tobik@FreeBSD.org using -f From: Tobias Kortkamp Date: Sat, 22 Jul 2017 22:05:21 +0000 (UTC) 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 X-SVN-Group: ports-head X-SVN-Commit-Author: tobik X-SVN-Commit-Paths: in head/java/openjfx8-devel: . files X-SVN-Commit-Revision: 446432 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2017 22:05:23 -0000 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 , 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 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