aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorswills <swills@FreeBSD.org>2016-03-21 07:06:19 +0800
committerswills <swills@FreeBSD.org>2016-03-21 07:06:19 +0800
commitbf1f0a4a9534b6a834545240848f18a50774b595 (patch)
tree33c83fcd69a6553eb9cebd530ee9b8cac87e023c /java
parent075c15c7bf00322bd21e92e982eb98e059822b2c (diff)
downloadfreebsd-ports-gnome-bf1f0a4a9534b6a834545240848f18a50774b595.tar.gz
freebsd-ports-gnome-bf1f0a4a9534b6a834545240848f18a50774b595.tar.zst
freebsd-ports-gnome-bf1f0a4a9534b6a834545240848f18a50774b595.zip
java/openjfx8-devel: create port
OpenJFX is an open source, next generation client application platform for desktop and embedded systems based on JavaSE. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications. WWW: http://openjdk.java.net/projects/openjfx/ PR: 207566 Submitted by: Tobias Kortkamp <t@tobik.me>
Diffstat (limited to 'java')
-rw-r--r--java/Makefile1
-rw-r--r--java/openjfx8-devel/Makefile61
-rw-r--r--java/openjfx8-devel/distinfo2
-rw-r--r--java/openjfx8-devel/files/patch-build.gradle67
-rw-r--r--java/openjfx8-devel/files/patch-buildSrc_build.gradle17
-rw-r--r--java/openjfx8-devel/pkg-descr6
-rw-r--r--java/openjfx8-devel/pkg-message3
-rw-r--r--java/openjfx8-devel/pkg-plist17
8 files changed, 174 insertions, 0 deletions
diff --git a/java/Makefile b/java/Makefile
index 81cbdb02615f..5adb5b838201 100644
--- a/java/Makefile
+++ b/java/Makefile
@@ -107,6 +107,7 @@
SUBDIR += openjdk7-jre
SUBDIR += openjdk8
SUBDIR += openjdk8-jre
+ SUBDIR += openjfx8-devel
SUBDIR += phpeclipse
SUBDIR += proguard
SUBDIR += rubygem-rjb
diff --git a/java/openjfx8-devel/Makefile b/java/openjfx8-devel/Makefile
new file mode 100644
index 000000000000..2868dd0106c0
--- /dev/null
+++ b/java/openjfx8-devel/Makefile
@@ -0,0 +1,61 @@
+# Created by: Tobias Kortkamp <t@tobik.me>
+# $FreeBSD$
+
+PORTNAME= openjfx8
+PORTVERSION= 20160228
+CATEGORIES= java x11-toolkits devel
+MASTER_SITES= https://bitbucket.org/tobik/openjfx-rt/get/ \
+ http://bitbucket.org/tobik/openjfx-rt/get/
+PKGNAMESUFFIX= -devel
+DISTNAME= freebsd${PORTVERSION}
+DIST_SUBDIR= ${PORTNAME}
+
+MAINTAINER= t@tobik.me
+COMMENT= JavaFX (OpenJFX) SDK overlay for OpenJDK 8
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= apache-ant>0:${PORTSDIR}/devel/apache-ant \
+ antlr3>0:${PORTSDIR}/devel/antlr3 \
+ gradle:${PORTSDIR}/devel/gradle \
+ swt-devel>0:${PORTSDIR}/x11-toolkits/swt-devel
+RUN_DEPENDS= swt-devel>0:${PORTSDIR}/x11-toolkits/swt-devel
+LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg-turbo
+
+USE_GL= yes
+USE_GNOME= gtk20
+USE_JAVA= yes
+USE_LDCONFIG= yes
+JAVA_VERSION= 1.8
+
+BROKEN_FreeBSD_9= does not build
+
+ONLY_FOR_ARCHS= i386 amd64
+PLIST_SUB= ARCH=${ARCH} \
+ JAVA_HOME=${JAVA_HOME}
+
+WRKSRC= ${WRKDIR}/tobik-openjfx-rt-2de985ca8377
+
+# 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.
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/build.gradle ${WRKSRC}/buildSrc/build.gradle
+
+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 zips)
+
+do-install:
+ @(${MKDIR} ${STAGEDIR}${JAVA_HOME} \
+ && ${TAR} -C ${STAGEDIR}${JAVA_HOME} \
+ -xf ${WRKSRC}/build/bundles/javafx-sdk-overlay.zip)
+
+post-install:
+ @${FIND} ${STAGEDIR}${JAVA_HOME}/jre -name '*.so' -exec ${STRIP_CMD} \{\} \;
+
+.include <bsd.port.mk>
diff --git a/java/openjfx8-devel/distinfo b/java/openjfx8-devel/distinfo
new file mode 100644
index 000000000000..bbdad3fa7477
--- /dev/null
+++ b/java/openjfx8-devel/distinfo
@@ -0,0 +1,2 @@
+SHA256 (openjfx8/freebsd20160228.tar.gz) = 7940021340d87d68259a812d329670ed3841aa4055cfdee8bddbddd1d4c6ad02
+SIZE (openjfx8/freebsd20160228.tar.gz) = 77469908
diff --git a/java/openjfx8-devel/files/patch-build.gradle b/java/openjfx8-devel/files/patch-build.gradle
new file mode 100644
index 000000000000..05d1edea666a
--- /dev/null
+++ b/java/openjfx8-devel/files/patch-build.gradle
@@ -0,0 +1,67 @@
+--- build.gradle.orig 2016-02-28 12:54:50 UTC
++++ build.gradle
+@@ -1167,7 +1167,7 @@ allprojects {
+ // By default all of our projects require junit for testing so we can just
+ // setup this dependency here.
+ dependencies {
+- testCompile group: "junit", name: "junit", version: "4.8.2"
++ testCompile files("%%PREFIX%%/share/java/classes/junit4.jar")
+ if (BUILD_CLOSED && DO_JCOV) {
+ testCompile name: "jcov"
+ }
+@@ -1307,11 +1307,9 @@ project(":graphics") {
+ dependencies {
+ compile project(":base"), BUILD_SRC
+ compile files("/usr/local/share/java/classes/swt-devel.jar")
+- stubCompile group: "junit", name: "junit", version: "4.8.2",
++ stubCompile files("%%PREFIX%%/share/java/classes/junit4.jar"),
+ project(":base").sourceSets.test.output, sourceSets.main.output
+- antlr3 group: "org.antlr", name: "antlr", version: "3.1.3"
+- antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3"
+- antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2"
++ antlr3 files("%%PREFIX%%/share/java/classes/antlr-3.5.2-complete.jar")
+ }
+
+ // Create a single "native" task which will depend on all the individual native tasks for graphics
+@@ -1601,9 +1599,7 @@ project(":graphics") {
+ copy {
+ into libsDir
+ from f.getParentFile()
+- include "**/antlr-3.1.3.jar"
+- include "**/stringtemplate-3.2.jar"
+- include "**/antlr-runtime-3.1.3.jar"
++ include "**/antlr-3.5.2-complete.jar"
+ includeEmptyDirs = false
+ }
+ // Have to rename the swt jar because it is some platform specific name but
+@@ -1787,7 +1783,7 @@ project(":fxpackager") {
+ }
+
+ dependencies {
+- compile group: "org.apache.ant", name: "ant", version: "1.8.2"
++ compile files("%%PREFIX%%/share/java/apache-ant/lib/ant.jar")
+ }
+
+ // When producing the jar, we need to relocate a few class files
+@@ -2048,21 +2044,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");
+- File antLib = new File(libsDir, "ant-1.8.2.jar")
+- libsDir.mkdirs();
+- for (File f : configurations.compile.files) {
+- copy {
+- into libsDir
+- from f.getParentFile()
+- include "**/ant-1.8.2.jar"
+- includeEmptyDirs = false
+- }
+- }
+- }
+-
+ task packagerFakeJar(type: Jar) {
+ dependsOn compileTestJava
+ from compileTestJava.destinationDir
diff --git a/java/openjfx8-devel/files/patch-buildSrc_build.gradle b/java/openjfx8-devel/files/patch-buildSrc_build.gradle
new file mode 100644
index 000000000000..89544dbd468a
--- /dev/null
+++ b/java/openjfx8-devel/files/patch-buildSrc_build.gradle
@@ -0,0 +1,17 @@
+--- buildSrc/build.gradle.orig 2016-02-28 12:54:50 UTC
++++ buildSrc/build.gradle
+@@ -81,11 +81,9 @@ sourceSets {
+ getConfigurations().create("antlr3");
+
+ dependencies {
+- compile group: "org.antlr", name: "antlr", version: "3.1.3"
+- testCompile group: "junit", name: "junit", version: "4.8.2"
+- 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")
++ antlr3 files("%%PREFIX%%/share/java/classes/antlr-3.5.2-complete.jar")
+ }
+
+ // At the moment the ASM library shipped with Gradle that is used to
diff --git a/java/openjfx8-devel/pkg-descr b/java/openjfx8-devel/pkg-descr
new file mode 100644
index 000000000000..98996bdf50c2
--- /dev/null
+++ b/java/openjfx8-devel/pkg-descr
@@ -0,0 +1,6 @@
+OpenJFX is an open source, next generation client application platform for
+desktop and embedded systems based on JavaSE. It is a collaborative effort by
+many individuals and companies with the goal of producing a modern, efficient,
+and fully featured toolkit for developing rich client applications.
+
+WWW: http://openjdk.java.net/projects/openjfx/
diff --git a/java/openjfx8-devel/pkg-message b/java/openjfx8-devel/pkg-message
new file mode 100644
index 000000000000..3971bc87d118
--- /dev/null
+++ b/java/openjfx8-devel/pkg-message
@@ -0,0 +1,3 @@
+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.
diff --git a/java/openjfx8-devel/pkg-plist b/java/openjfx8-devel/pkg-plist
new file mode 100644
index 000000000000..e357659bd7b8
--- /dev/null
+++ b/java/openjfx8-devel/pkg-plist
@@ -0,0 +1,17 @@
+%%JAVA_HOME%%/bin/javafxpackager
+%%JAVA_HOME%%/bin/javapackager
+%%JAVA_HOME%%/jre/lib/%%ARCH%%/libdecora_sse.so
+%%JAVA_HOME%%/jre/lib/%%ARCH%%/libglass.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
+%%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_common.so
+%%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_es2.so
+%%JAVA_HOME%%/jre/lib/%%ARCH%%/libprism_sw.so
+%%JAVA_HOME%%/jre/lib/ext/jfxrt.jar
+%%JAVA_HOME%%/jre/lib/javafx.properties
+%%JAVA_HOME%%/jre/lib/jfxswt.jar
+%%JAVA_HOME%%/lib/ant-javafx.jar
+%%JAVA_HOME%%/lib/javafx-mx.jar
+%%JAVA_HOME%%/lib/packager.jar