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)
This commit is contained in:
parent
2b0773624d
commit
7de7dddc28
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=446432
@ -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-configure:
|
||||
# Gradle creates ${HOME}/.gradle, pretend home is somewhere else
|
||||
@${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-build:
|
||||
# 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)
|
||||
@cd ${WRKSRC} && ${GRADLE_RUN} zips
|
||||
|
||||
do-install:
|
||||
@(${MKDIR} ${STAGEDIR}${JAVA_HOME} \
|
||||
&& ${TAR} -C ${STAGEDIR}${JAVA_HOME} \
|
||||
-xf ${WRKSRC}/build/bundles/javafx-sdk-overlay.zip)
|
||||
|
||||
@${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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- modules/graphics/src/main/native-font/pango.c.orig 2017-07-08 13:12:21 UTC
|
||||
+++ modules/graphics/src/main/native-font/pango.c
|
||||
@@ -23,7 +23,7 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
-#if defined __linux__
|
||||
+#if defined __linux__ || defined(__FreeBSD__)
|
||||
#if defined _ENABLE_PANGO
|
||||
|
||||
#include <jni.h>
|
@ -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"
|
||||
)
|
@ -1,3 +0,0 @@
|
||||
If you've previously used IntelliJ IDEA for Java development make sure
|
||||
to recreate your Java SDK under "Platform Settings -> SDKs" so that
|
||||
the JavaFX runtime libraries are picked up correctly by IDEA.
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user