diff options
author | swills <swills@FreeBSD.org> | 2016-03-21 07:06:19 +0800 |
---|---|---|
committer | swills <swills@FreeBSD.org> | 2016-03-21 07:06:19 +0800 |
commit | bf1f0a4a9534b6a834545240848f18a50774b595 (patch) | |
tree | 33c83fcd69a6553eb9cebd530ee9b8cac87e023c /java | |
parent | 075c15c7bf00322bd21e92e982eb98e059822b2c (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | java/openjfx8-devel/Makefile | 61 | ||||
-rw-r--r-- | java/openjfx8-devel/distinfo | 2 | ||||
-rw-r--r-- | java/openjfx8-devel/files/patch-build.gradle | 67 | ||||
-rw-r--r-- | java/openjfx8-devel/files/patch-buildSrc_build.gradle | 17 | ||||
-rw-r--r-- | java/openjfx8-devel/pkg-descr | 6 | ||||
-rw-r--r-- | java/openjfx8-devel/pkg-message | 3 | ||||
-rw-r--r-- | java/openjfx8-devel/pkg-plist | 17 |
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 |