Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Oct 2020 17:15:34 +0000 (UTC)
From:      Mikael Urankar <mikael@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r553555 - in head/java: . openjfx14 openjfx14/files
Message-ID:  <202010281715.09SHFYHa095481@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mikael
Date: Wed Oct 28 17:15:33 2020
New Revision: 553555
URL: https://svnweb.freebsd.org/changeset/ports/553555

Log:
  java/openjfx14: add new 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.
  
  PR:		248248

Added:
  head/java/openjfx14/
     - copied from r553531, head/java/openjfx8-devel/
  head/java/openjfx14/files/patch-buildSrc_bsd.gradle   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.base_src_main_java_com_sun_javafx_PlatformUtil.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_base_src_main_java_com_sun_javafx_PlatformUtil.java
  head/java/openjfx14/files/patch-modules_javafx.controls_src_main_java_com_sun_javafx_scene_TextInputControlBehavior.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_controls_src_main_java_com_sun_javafx_scene_control_behavior_TextInputControlBehavior.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_glass_ui_Platform.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_glass_ui_Platform.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_glass_utils_NativeLibLoader.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_glass_utils_NativeLibLoader.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_javafx_font_LogicalFont.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_javafx_font_LogicalFont.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_javafx_font_PrismFontFactory.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_javafx_font_PrismFontFactory.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_javafx_tk_Toolkit.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_Toolkit.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_javafx_tk_quantum_GlassSystemMenu.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_quantum_GlassSystemMenu.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_javafx_tk_quantum_WindowStage.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_quantum_WindowStage.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_java_com_sun_prism_impl_PrismSettings.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_java_com_sun_prism_impl_PrismSettings.java
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-font_fontpath__linux.c
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_fontpath__linux.c
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-font_freetype.c
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_freetype.c
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-font_pango.c
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-font_pango.c
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-glass_gtk_GlassApplication.cpp
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-glass_gtk_GlassApplication.cpp
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-glass_gtk_glass__evloop.cpp
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-glass_gtk_glass__evloop.cpp
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-glass_gtk_glass__window.h
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-glass_gtk_glass__window.h
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-glass_gtk_launcher.c
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-glass_gtk_launcher.c
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-glass_gtk_wrapped.c
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-glass_gtk_wrapped.c
  head/java/openjfx14/files/patch-modules_javafx.graphics_src_main_native-prism-es2_PrismES2Defs.h
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_graphics_src_main_native-prism-es2_PrismES2Defs.h
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_java_com_sun_media_jfxmediaimpl_HostUtils.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_media_src_main_java_com_sun_media_jfxmediaimpl_HostUtils.java
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_java_com_sun_media_jfxmediaimpl_NativeMediaManager.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_media_src_main_java_com_sun_media_jfxmediaimpl_NativeMediaManager.java
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_native_gstreamer_gstreamer-lite_gstreamer_gst_gst__private.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_native_gstreamer_projects_build_linux_common_config.h
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_media_src_main_native_gstreamer_gstreamer-lite_projects_build_linux_common_config.h
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_native_jfxmedia_platform_gstreamer_GstAudioSpectrum.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_native_jfxmedia_platform_gstreamer_GstPipelineFactory.cpp
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_media_src_main_native_jfxmedia_platform_gstreamer_GstPipelineFactory.cpp
  head/java/openjfx14/files/patch-modules_javafx.media_src_main_native_jfxmedia_projects_bsd_Makefile
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_media_src_main_native_jfxmedia_projects_bsd_Makefile
  head/java/openjfx14/files/patch-modules_javafx.swing_src_main_java_javafx_embed_swing_JFXPanel.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_swing_src_main_java_javafx_embed_swing_JFXPanel.java
  head/java/openjfx14/files/patch-modules_javafx.swing_src_main_java_javafx_embed_swing_SwingNode.java
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_swing_src_main_java_javafx_embed_swing_SwingNode.java
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_JavaScriptCore_assembler_ARM64Assembler.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_JavaScriptCore_offlineasm_arm64.rb   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_PlatformJava.cmake
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_PlatformJava.cmake
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_MemoryPressureHandler.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_MemoryPressureHandler.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_Platform.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_PlatformJava.cmake   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_RAMSize.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_generic_MemoryFootprintGeneric.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_linux_MemoryPressureHandlerLinux.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_unicode_java_UnicodeJava.h
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_WTF_wtf_unicode_java_UnicodeJava.h
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WTF_wtf_unix_MemoryPressureHandlerUnix.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_WebCore_css_StyleResolver.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_bmalloc_bmalloc_AvailableMemory.cpp   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_bmalloc_bmalloc_AvailableMemory.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_bmalloc_bmalloc_bmalloc.h   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_cmake_OptionsJava.cmake
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_cmake_OptionsJava.cmake
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_cmake_WebKitCommon.cmake   (contents, props changed)
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Source_cmake_WebKitCompilerFlags.cmake
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Source_cmake_WebKitCompilerFlags.cmake
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Tools_DumpRenderTree_TestRunner.cpp
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Tools_DumpRenderTree_TestRunner.cpp
  head/java/openjfx14/files/patch-modules_javafx.web_src_main_native_Tools_DumpRenderTree_java_CMakeLists.txt
     - copied, changed from r553531, head/java/openjfx8-devel/files/patch-modules_web_src_main_native_Tools_DumpRenderTree_java_CMakeLists.txt
Deleted:
  head/java/openjfx14/files/patch-buildSrc_build.gradle
  head/java/openjfx14/files/patch-git_c3cf651
  head/java/openjfx14/files/patch-modules_base_src_main_java_com_sun_javafx_PlatformUtil.java
  head/java/openjfx14/files/patch-modules_controls_src_main_java_com_sun_javafx_scene_control_behavior_TextInputControlBehavior.java
  head/java/openjfx14/files/patch-modules_controls_src_main_java_com_sun_javafx_scene_control_behavior_TextInputControlBindings.java
  head/java/openjfx14/files/patch-modules_fxpackager_src_main_native_library_common_PosixPlatform.cpp
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_glass_ui_Platform.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_glass_utils_NativeLibLoader.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_javafx_font_LogicalFont.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_javafx_font_PrismFontFactory.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_Toolkit.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_quantum_GlassSystemMenu.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_javafx_tk_quantum_WindowStage.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_java_com_sun_prism_impl_PrismSettings.java
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-font_fontpath__linux.c
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-font_freetype.c
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-font_pango.c
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-glass_gtk_GlassApplication.cpp
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-glass_gtk_glass__evloop.cpp
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-glass_gtk_glass__window.h
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-glass_gtk_launcher.c
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-glass_gtk_wrapped.c
  head/java/openjfx14/files/patch-modules_graphics_src_main_native-prism-es2_PrismES2Defs.h
  head/java/openjfx14/files/patch-modules_media_src_main_java_com_sun_media_jfxmediaimpl_HostUtils.java
  head/java/openjfx14/files/patch-modules_media_src_main_java_com_sun_media_jfxmediaimpl_NativeMediaManager.java
  head/java/openjfx14/files/patch-modules_media_src_main_native_gstreamer_gstreamer-lite_gstreamer_gst_gstregistry.c
  head/java/openjfx14/files/patch-modules_media_src_main_native_gstreamer_gstreamer-lite_projects_build_linux_common_config.h
  head/java/openjfx14/files/patch-modules_media_src_main_native_gstreamer_projects_bsd_avplugin_Makefile
  head/java/openjfx14/files/patch-modules_media_src_main_native_gstreamer_projects_bsd_fxplugins_Makefile
  head/java/openjfx14/files/patch-modules_media_src_main_native_gstreamer_projects_bsd_gstreamer-lite_Makefile
  head/java/openjfx14/files/patch-modules_media_src_main_native_jfxmedia_platform_gstreamer_GstPipelineFactory.cpp
  head/java/openjfx14/files/patch-modules_media_src_main_native_jfxmedia_projects_bsd_Makefile
  head/java/openjfx14/files/patch-modules_swing_src_main_java_javafx_embed_swing_JFXPanel.java
  head/java/openjfx14/files/patch-modules_swing_src_main_java_javafx_embed_swing_SwingNode.java
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_PlatformJava.cmake
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_WTF_wtf_CMakeLists.txt
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_WTF_wtf_Optional.h
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_WTF_wtf_unicode_java_UnicodeJava.h
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_WebCore_dom_Document.cpp
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_cmake_OptionsJava.cmake
  head/java/openjfx14/files/patch-modules_web_src_main_native_Source_cmake_WebKitCompilerFlags.cmake
  head/java/openjfx14/files/patch-modules_web_src_main_native_Tools_DumpRenderTree_TestRunner.cpp
  head/java/openjfx14/files/patch-modules_web_src_main_native_Tools_DumpRenderTree_java_CMakeLists.txt
  head/java/openjfx14/files/patch-modules_web_src_main_native_Tools_Scripts_webkitdirs.pm
Modified:
  head/java/Makefile
  head/java/openjfx14/Makefile
  head/java/openjfx14/distinfo
  head/java/openjfx14/files/patch-build.gradle
  head/java/openjfx14/pkg-plist

Modified: head/java/Makefile
==============================================================================
--- head/java/Makefile	Wed Oct 28 16:59:38 2020	(r553554)
+++ head/java/Makefile	Wed Oct 28 17:15:33 2020	(r553555)
@@ -102,6 +102,7 @@
     SUBDIR += openjdk8-jre
     SUBDIR += openjfx8-devel
     SUBDIR += openjfx8-scenebuilder
+    SUBDIR += openjfx14
     SUBDIR += phpeclipse
     SUBDIR += proguard
     SUBDIR += sablevm

Modified: head/java/openjfx14/Makefile
==============================================================================
--- head/java/openjfx8-devel/Makefile	Wed Oct 28 10:25:25 2020	(r553531)
+++ head/java/openjfx14/Makefile	Wed Oct 28 17:15:33 2020	(r553555)
@@ -1,50 +1,55 @@
-# Created by: Tobias Kortkamp <t@tobik.me>
 # $FreeBSD$
 
-PORTNAME=	openjfx8
-DISTVERSION=	8u202-b07
-PORTREVISION=	7
-PORTEPOCH=	1
+PORTNAME=	openjfx
+DISTVERSION=	14.0.2.1+1
 CATEGORIES=	java x11-toolkits devel
-MASTER_SITES=	https://github.com/t6/openjfx/releases/download/release/ \
-		http://hg.openjdk.java.net/openjfx/8u/rt/archive/${DISTVERSION}${EXTRACT_SUFX}?dummy=/
-PKGNAMESUFFIX=	-devel
+MASTER_SITES=	https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.7.1/:core \
+		https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.7.1/:grouping \
+		https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.7.1/:queries \
+		https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.7.1/:queryparser \
+		https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.7.1/:sandbox \
+		https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/:antlr
+PKGNAMESUFFIX=	14
+DISTFILES=	lucene-core-7.7.1.jar:core \
+		lucene-grouping-7.7.1.jar:grouping \
+		lucene-queries-7.7.1.jar:queries \
+		lucene-queryparser-7.7.1.jar:queryparser \
+		lucene-sandbox-7.7.1.jar:sandbox \
+		antlr4-4.7.2-complete.jar:antlr
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	JavaFX SDK overlay for OpenJDK 8
+MAINTAINER=	mikael@FreeBSD.org
+COMMENT=	JavaFX SDK overlay for OpenJDK 11
 
-BROKEN=		Does not build with glib 2.66.0
-
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-DEPRECATED=	No longer maintained upstream
-EXPIRATION_DATE=	2020-11-30
-ONLY_FOR_ARCHS=	amd64 i386
+ONLY_FOR_ARCHS=	aarch64 amd64 powerpc64
 
-BUILD_DEPENDS=	apache-ant>0:devel/apache-ant \
-		antlr3>0:devel/antlr3 \
-		gradle4>=4.8:devel/gradle4 \
+BUILD_DEPENDS=	zip:archivers/zip \
+		apache-ant>0:devel/apache-ant \
+		gradle62>=6.2:devel/gradle62 \
 		${JAVALIBDIR}/junit.jar:java/junit
-LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+LIB_DEPENDS=	libasound.so:audio/alsa-lib \
+		libfontconfig.so:x11-fonts/fontconfig \
 		libfreetype.so:print/freetype2
 
-USES=		gettext-runtime gl gnome jpeg localbase:ldflags pkgconfig \
+USES=		gettext-runtime gl gnome jpeg localbase:ldflags ninja pkgconfig \
 		sqlite xorg
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	openjdk
+GH_PROJECT=	jfx
 USE_GL=		gl
 USE_GNOME=	atk cairo gdkpixbuf2 glib20 gtk20 gtk30 pango
 USE_JAVA=	yes
-JAVA_VERSION=	1.8
+JAVA_VERSION=	11
 USE_LDCONFIG=	yes
 USE_XORG=	x11 xtst xxf86vm
 
-CFLAGS+=	-fcommon -Wno-unused-command-line-argument
+CFLAGS+=	-Wno-unused-command-line-argument
 
-WRKSRC=		${WRKDIR}/rt-${DISTVERSION}
+PLIST_SUB=	INSTALLDIR=${_INSTALLDIR}
 
-PLIST_SUB=	ARCH=${ARCH} \
-		JAVA_HOME=${JAVA_HOME}
-
 OPTIONS_DEFINE=	MEDIA SWT TEST WEBKIT
 OPTIONS_DEFAULT=	MEDIA WEBKIT
 OPTIONS_SUB=	yes
@@ -68,7 +73,7 @@ TEST_VARS=	AWT_TEST=true FULL_TEST=true
 WEBKIT_IMPLIES=	MEDIA
 WEBKIT_BUILD_DEPENDS=	cmake:devel/cmake
 WEBKIT_LIB_DEPENDS=	libicui18n.so:devel/icu
-WEBKIT_USES=	bison compiler:c++14-lang gmake gperf perl5 python:2.7,build
+WEBKIT_USES=	bison gmake gperf perl5 python:3.5+,build
 WEBKIT_USE=	GNOME=libxslt,libxml2 \
 		PERL5=build \
 		RUBY=yes \
@@ -78,72 +83,81 @@ WEBKIT_VARS=	RUBY_NO_RUN_DEPENDS=yes COMPILE_WEBKIT=tr
 # Move Gradle's home below ${WRKDIR} instead of using ${HOME}/.gradle
 _GRADLE_ENV=	CC=${WRKDIR}/bin/ccwrapper \
 		CXX=${WRKDIR}/bin/cxxwrapper \
-		GRADLE_USER_HOME=${WRKDIR}/gradle-home
-_GRADLE_RUN=	${SETENV} ${_GRADLE_ENV} gradle4 --no-daemon
+		GRADLE_USER_HOME=${WRKDIR}/gradle-home \
+		JAVA_VERSION=${JAVA_VERSION}
+_GRADLE_RUN=	${SETENV} ${_GRADLE_ENV} gradle62 --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.
+_INSTALLDIR=	${PREFIX}/${PKGBASE}
 
+post-extract:
+	${MKDIR} ${WRKDIR}/jars
+.for f in core grouping queries queryparser sandbox
+	${CP} ${DISTDIR}/lucene-${f}-7.7.1.jar ${WRKDIR}/jars
+.endfor
+	${CP} ${DISTDIR}/antlr4-4.7.2-complete.jar ${WRKDIR}/jars
+
 # The BSD Makefiles for GStreamer-lite and Jfxmedia are based on the
 # Linux versions.  Prepare the tree, so that we only see the changes
 # from Linux's Makefile in our own patches.
 pre-patch:
-	@${CP} -r ${WRKSRC}/modules/media/src/main/native/jfxmedia/projects/linux \
-		${WRKSRC}/modules/media/src/main/native/jfxmedia/projects/bsd
-	@${CP} -r ${WRKSRC}/modules/media/src/main/native/gstreamer/projects/linux \
-		${WRKSRC}/modules/media/src/main/native/gstreamer/projects/bsd
+	@${CP} -r ${WRKSRC}/modules/javafx.media/src/main/native/jfxmedia/projects/linux \
+		${WRKSRC}/modules/javafx.media/src/main/native/jfxmedia/projects/bsd
+	@${CP} -r ${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/projects/linux \
+		${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/projects/bsd
 
 post-patch:
 	@${MKDIR} ${WRKDIR}/bin
-	@${PRINTF} '#!/bin/sh\nexec ${CC} ${CFLAGS} ${LDFLAGS} "$$@"\n' > ${WRKDIR}/bin/ccwrapper
-	@${PRINTF} '#!/bin/sh\nexec ${CXX} ${CXXFLAGS} ${LDFLAGS} "$$@"\n' > ${WRKDIR}/bin/cxxwrapper
+	@${PRINTF} '#!/bin/sh\nexec ${CCACHE_BIN} ${CC} ${CFLAGS} ${LDFLAGS} "$$@"\n' > ${WRKDIR}/bin/ccwrapper
+	@${PRINTF} '#!/bin/sh\nexec ${CCACHE_BIN} ${CXX} ${CXXFLAGS} ${LDFLAGS} "$$@"\n' > ${WRKDIR}/bin/cxxwrapper
 	@${CHMOD} +x ${WRKDIR}/bin/ccwrapper ${WRKDIR}/bin/cxxwrapper
-	@${SED} -e 's@/linux@/freebsd@g' -e 's@-DLINUX@-DFREEBSD@g' -e 's@LINUX@BSD@g' \
-		-e 's@linux_@bsd_@g' -e 's@"-static-libgcc", "-static-libstdc++",@@g' \
-		-e 's@"gcc"@"${WRKDIR}/bin/ccwrapper"@g' -e 's@"g\+\+"@"${WRKDIR}/bin/cxxwrapper"@g' \
-		${WRKSRC}/buildSrc/linux.gradle > ${WRKSRC}/buildSrc/bsd.gradle
+	@${REINPLACE_CMD} -e 's|gcc|${WRKDIR}/bin/ccwrapper|g' \
+			  -e 's|g\+\+|${WRKDIR}/bin/cxxwrapper|g' \
+		${WRKSRC}/buildSrc/bsd.gradle
 # Add a *BSD native audio sink to GStreamer-lite instead of using the
 # bundled ALSA sink.  Currently we add an sndio sink, but this is an extension
 # point for eventually adding an OSS backend (or others) as an option as well.
 # If you add a new one make sure it registers itself as "bsdaudiosink" as defined
 # in modules/media/src/main/native/jfxmedia/platform/gstreamer/GstPipelineFactory.cpp
-	@${MKDIR} ${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
+	@${MKDIR} ${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
 	@${CP} ${FILESDIR}/gstsndio.* ${FILESDIR}/sndiosink.* \
-		${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
-	@cd ${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio && \
+		${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
+	@cd ${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio && \
 		${LN} -s gstsndio.c gstbsdaudio.c && \
 		${LN} -s sndiosink.c bsdaudiosink.c
 # Pull Java dependencies from LOCALBASE
-	@${REINPLACE_CMD} 's@/usr/local@${LOCALBASE}@g' \
+	@${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \
 		${WRKSRC}/build.gradle ${WRKSRC}/buildSrc/build.gradle
-# Remove bundled libraries.  We use the system's versions instead.
-	@cd ${WRKSRC}/modules/web/src/main/native/Source/ThirdParty && \
+# Remove bundled libraries. We use the system's versions instead.
+	@cd ${WRKSRC}/modules/javafx.web/src/main/native/Source/ThirdParty && \
 		${RM} -r icu libxml libxslt sqlite
-	@${RM} -r ${WRKSRC}/modules/web/src/main/native/Source/WTF/icu
-	@cd ${WRKSRC}/modules/media/src/main/native/gstreamer/3rd_party && \
+	@${RM} -r ${WRKSRC}/modules/javafx.web/src/main/native/Source/WTF/icu
+	@cd ${WRKSRC}/modules/javafx.media/src/main/native/gstreamer/3rd_party && \
 		${RM} -r glib libffi
 
-post-patch-SWT-off:
-	@${RM} -r ${WRKSRC}/modules/graphics/src/main/java/com/sun/glass/ui/swt
-
 do-configure:
 	@${MKDIR} ${WRKDIR}/gradle-home
 	@${ECHO_CMD} "NUM_COMPILE_THREADS = ${MAKE_JOBS_NUMBER}" > ${WRKSRC}/gradle.properties
+	@${ECHO_CMD} "JFX_DEPS_URL = ${WRKDIR}/jars" > ${WRKSRC}/gradle.properties
 .for prop in COMPILE_MEDIA COMPILE_WEBKIT AWT_TEST FULL_TEST
 	@${ECHO_CMD} "${prop} = ${${prop}:Ufalse}" >> ${WRKSRC}/gradle.properties
 .endfor
 	@${ECHO_CMD} "BSD.compileSWT = ${COMPILE_SWT:Ufalse};" >> ${WRKSRC}/buildSrc/bsd.gradle
 
+# the java doc are not installed on FreeBSD so exclude the javadoc task
+# as it'll fail otherwise
 do-build:
-	@cd ${WRKSRC} && ${_GRADLE_RUN} zips
+	@cd ${WRKSRC} && ${SETENV} ${_GRADLE_RUN} zips --exclude-task javadoc
 
+# it's not recommended to install openjfx inside openjdk directory
 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} \{\} \;
+	@${MKDIR} ${STAGEDIR}${_INSTALLDIR} \
+		${STAGEDIR}${_INSTALLDIR}/lib \
+		${STAGEDIR}${_INSTALLDIR}/jmods
+	${INSTALL_DATA} ${WRKSRC}/build/javafx-exports.zip ${STAGEDIR}${_INSTALLDIR}
+	(cd ${WRKSRC}/build/artifacts/javafx-sdk-14.0.2.1/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${_INSTALLDIR}/lib)
+	@${MV} ${STAGEDIR}${_INSTALLDIR}/lib/src.zip ${STAGEDIR}${_INSTALLDIR}/lib/javafx-src.zip
+	(cd ${WRKSRC}/build/artifacts/javafx-jmods-14.0.2.1 && ${COPYTREE_SHARE} . ${STAGEDIR}${_INSTALLDIR}/jmods)
+	@${FIND} ${STAGEDIR}${_INSTALLDIR}/lib -name '*.so' -exec ${STRIP_CMD} \{\} \;
 
 do-test-TEST-on:
 	@cd ${WRKSRC} && ${_GRADLE_RUN} check test

Modified: head/java/openjfx14/distinfo
==============================================================================
--- head/java/openjfx8-devel/distinfo	Wed Oct 28 10:25:25 2020	(r553531)
+++ head/java/openjfx14/distinfo	Wed Oct 28 17:15:33 2020	(r553555)
@@ -1,3 +1,15 @@
-TIMESTAMP = 1563779003
-SHA256 (openjfx8-8u202-b07.tar.gz) = ca98b6d0721a0e4b91d62672e81594c80a47cfb5ded241de50f10ade9884c400
-SIZE (openjfx8-8u202-b07.tar.gz) = 70669594
+TIMESTAMP = 1600515648
+SHA256 (lucene-core-7.7.1.jar) = 4a96eba551129bc7eebdff5586aeb8729da0889bd05d9ac2dab0ff4924548d27
+SIZE (lucene-core-7.7.1.jar) = 3088010
+SHA256 (lucene-grouping-7.7.1.jar) = c031e6dfc3f9c744fc2747228245a294e1276f1fca5003b11639de18162d61eb
+SIZE (lucene-grouping-7.7.1.jar) = 87267
+SHA256 (lucene-queries-7.7.1.jar) = b7f29a9874010697c83443091005301707899176f0873b41708fed3c47e58d78
+SIZE (lucene-queries-7.7.1.jar) = 265080
+SHA256 (lucene-queryparser-7.7.1.jar) = 7e1d509aa3fffd19ed0d89c8bb1fcd91bea37462955a9862fbc2d4600c4bb2a3
+SIZE (lucene-queryparser-7.7.1.jar) = 381910
+SHA256 (lucene-sandbox-7.7.1.jar) = 865f472ed473bd78ec8309306b6d9484a3fe26cffef1a895d8873927eebad5d1
+SIZE (lucene-sandbox-7.7.1.jar) = 279651
+SHA256 (antlr4-4.7.2-complete.jar) = 6852386d7975eff29171dae002cc223251510d35f291ae277948f381a7b380b4
+SIZE (antlr4-4.7.2-complete.jar) = 2079769
+SHA256 (openjdk-jfx-14.0.2.1+1_GH0.tar.gz) = 08830d79dbdaadf66a1feae356caed6d70636dfdbf47598dd48a59f407d05ef1
+SIZE (openjdk-jfx-14.0.2.1+1_GH0.tar.gz) = 67975108

Modified: head/java/openjfx14/files/patch-build.gradle
==============================================================================
--- head/java/openjfx8-devel/files/patch-build.gradle	Wed Oct 28 10:25:25 2020	(r553531)
+++ head/java/openjfx14/files/patch-build.gradle	Wed Oct 28 17:15:33 2020	(r553555)
@@ -1,23 +1,32 @@
---- build.gradle.orig	2018-12-10 16:30:22 UTC
+--- build.gradle.orig	2020-07-17 12:21:33 UTC
 +++ build.gradle
-@@ -253,6 +253,7 @@ ext.IS_64 = OS_ARCH.toLowerCase().contains("64")
+@@ -295,6 +295,7 @@ ext.IS_64 = OS_ARCH.toLowerCase().contains("64")
  ext.IS_MAC = OS_NAME.contains("mac") || OS_NAME.contains("darwin")
  ext.IS_WINDOWS = OS_NAME.contains("windows")
  ext.IS_LINUX = OS_NAME.contains("linux")
 +ext.IS_BSD = OS_NAME.contains("freebsd") || OS_NAME.contains("dragonfly")
  
- // Get the JDK_HOME automatically based on the version of Java used to execute gradle. Or, if specified,
- // use a user supplied JDK_HOME, STUB_RUNTIME, JAVAC, and/or JAVAH, all of which may be specified
-@@ -313,7 +314,7 @@ defineProperty("COMPILE_MEDIA", "false")
- ext.IS_COMPILE_MEDIA = Boolean.parseBoolean(COMPILE_MEDIA)
+ ext.MAVEN_GROUP_ID = "org.openjfx"
  
+@@ -302,7 +303,7 @@ ext.MAVEN_GROUP_ID = "org.openjfx"
+ // at present building on PI is not supported, but we would only need to make
+ // some changes on assumptions on what should be built (like SWT / Swing) and
+ // such and we could probably make it work.
+-if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) fail("Unsupported build OS ${OS_NAME}")
++if (!IS_MAC && !IS_WINDOWS && !IS_LINUX && !IS_BSD) fail("Unsupported build OS ${OS_NAME}")
+ if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") {
+     fail("Unknown and unsupported build architecture: $OS_ARCH")
+ } else if (IS_MAC && OS_ARCH != "x86_64") {
+@@ -385,7 +386,7 @@ defineProperty("BUILD_WORKING_LIBAV", "false")
+ ext.IS_BUILD_WORKING_LIBAV = IS_LINUX ? Boolean.parseBoolean(BUILD_WORKING_LIBAV) : false
+ 
  // COMPILE_PANGO specifies whether to build javafx_font_pango.
 -defineProperty("COMPILE_PANGO", "${IS_LINUX}")
 +defineProperty("COMPILE_PANGO", "${IS_LINUX || IS_BSD}")
  ext.IS_COMPILE_PANGO = Boolean.parseBoolean(COMPILE_PANGO)
  
  // COMPILE_HARFBUZZ specifies whether to use Harfbuzz.
-@@ -344,7 +345,8 @@ ext.SWT_FILE_NAME = IS_MAC ? "org.eclipse.swt.cocoa.ma
+@@ -413,7 +414,8 @@ ext.SWT_FILE_NAME = IS_MAC ? "org.eclipse.swt.cocoa.ma
      IS_WINDOWS && IS_64 ? "org.eclipse.swt.win32.win32.x86_64_3.105.3.v20170228-0512" :
      IS_WINDOWS && !IS_64 ? "org.eclipse.swt.win32.win32.x86_3.105.3.v20170228-0512" :
      IS_LINUX && IS_64 ? "org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512" :
@@ -25,9 +34,9 @@
 +    IS_LINUX && !IS_64 ? "org.eclipse.swt.gtk.linux.x86_3.105.3.v20170228-0512" :
 +    IS_BSD ? "/usr/local/share/java/classes/swt.jar" : ""
  
- // Build javadocs only if BUILD_JAVADOC=true
- defineProperty("BUILD_JAVADOC", "false")
-@@ -404,6 +406,12 @@ if (IS_MAC) {
+ // Specifies whether to run full tests (true) or smoke tests (false)
+ defineProperty("FULL_TEST", "false")
+@@ -495,6 +497,12 @@ if (IS_MAC) {
      defineProperty("NUM_COMPILE_THREADS", "${Runtime.runtime.availableProcessors()}")
  }
  
@@ -40,7 +49,7 @@
  //
  // The next three sections of properties are used to generate the
  // VersionInfo class, and the Windows DLL manifest.
-@@ -444,7 +452,7 @@ defineProperty("RELEASE_MILESTONE", jfxReleaseMileston
+@@ -558,7 +566,7 @@ defineProperty("MAVEN_VERSION", IS_MILESTONE_FCS ? "${
  // Check whether the COMPILE_TARGETS property has been specified (if so, it was done by
  // the user and not by this script). If it has not been defined then default
  // to building the normal desktop build for this machine
@@ -49,194 +58,145 @@
  defineProperty("COMPILE_TARGETS", "$defaultHostTarget")
  
  // Flag indicating whether to import cross compile tools
-@@ -551,7 +559,7 @@ void fetchExternalTools(String configName, List packag
+@@ -704,7 +712,7 @@ void fetchExternalTools(String configName, List packag
                  def File pkgdir = file("$destdir/$basename")
  
-                 if (pkgname.endsWith(".tgz")) {
+                 if (pkgname.endsWith(".tgz") || pkgname.endsWith("tar.gz")) {
 -                    if (IS_LINUX || IS_MAC) {
-+                    if (IS_BSD || IS_LINUX || IS_MAC) {
++                    if (IS_LINUX || IS_MAC || IS_BSD) {
                          // use native tar to support symlinks
                          pkgdir.mkdirs()
                          exec {
-@@ -676,7 +684,7 @@ compileTargets { t ->
+@@ -1180,7 +1188,7 @@ compileTargets { t ->
      if (!targetProperties.containsKey('includeMonocle')) targetProperties.includeMonocle = false
      if (!targetProperties.containsKey('includeEGL')) targetProperties.includeEGL = false
  
 -    if (!targetProperties.containsKey('includeGTK')) targetProperties.includeGTK = IS_LINUX
 +    if (!targetProperties.containsKey('includeGTK')) targetProperties.includeGTK = IS_LINUX || IS_BSD
  
-     // This value is used to under ./build/${sdkDirName} to allow for
-     // a common name for the hosted build (for use when building apps)
-@@ -708,7 +716,7 @@ compileTargets { t ->
- // at present building on PI is not supported, but we would only need to make
- // some changes on assumptions on what should be built (like SWT / Swing) and
- // such and we could probably make it work.
--if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) logger.error("Unsupported build OS ${OS_NAME}")
-+if (!IS_MAC && !IS_WINDOWS && !IS_LINUX && !IS_BSD) logger.error("Unsupported build OS ${OS_NAME}")
- if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") {
-     throw new Exception("Unknown and unsupported build architecture: $OS_ARCH")
- } else if (IS_MAC && OS_ARCH != "x86_64") {
-@@ -1165,7 +1173,8 @@ 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("/usr/local/share/java/classes/junit4.jar",
-+                          "/usr/local/share/java/classes/hamcrest.jar")
-         if (BUILD_CLOSED && DO_JCOV)  {
-             testCompile name: "jcov"
-         }
-@@ -1303,12 +1312,15 @@ project(":graphics") {
+     if (!targetProperties.containsKey('modLibDest')) targetProperties.modLibDest = targetProperties.libDest
  
+@@ -2067,6 +2075,11 @@ project(":graphics") {
+     }
+ 
      dependencies {
-         compile project(":base"), BUILD_SRC
--        compile name: SWT_FILE_NAME
--        stubCompile group: "junit", name: "junit", version: "4.8.2",
 +        if (IS_BSD) {
 +             compile files(SWT_FILE_NAME)
 +	} else {
 +             compile name: SWT_FILE_NAME
 +	}
-+        stubCompile files("/usr/local/share/java/classes/junit4.jar",
-+                          "/usr/local/share/java/classes/hamcrest.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("/usr/local/share/java/classes/antlr-3.5.2-complete.jar")
-     }
+         stubCompile group: "junit", name: "junit", version: "4.8.2"
  
-     // Create a single "native" task which will depend on all the individual native tasks for graphics
-@@ -1599,9 +1611,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
-@@ -1688,7 +1698,11 @@ project(":swt") {
-     }
-     dependencies {
-         compile BUILD_SRC, project(":base"), project(":graphics")
--        compile name: SWT_FILE_NAME
-+        if (IS_BSD) {
-+            compile files(SWT_FILE_NAME)
-+        } else {
-+            compile name: SWT_FILE_NAME
-+        }
-     }
- }
+         antlr group: "org.antlr", name: "antlr4", version: "4.7.2", classifier: "complete"
+@@ -2602,31 +2615,10 @@ project(":swt") {
+     commonModuleSetup(project, [ 'base', 'graphics' ])
  
-@@ -1794,7 +1808,7 @@ project(":fxpackager") {
-     }
- 
      dependencies {
--        compile group: "org.apache.ant", name: "ant", version: "1.8.2"
-+        compile files("/usr/local/share/java/apache-ant/lib/ant.jar")
-     }
- 
-     // When producing the jar, we need to relocate a few class files
-@@ -2055,23 +2069,6 @@ project(":fxpackager") {
-     jar.dependsOn buildJavaPackager
-     jar.dependsOn packagerJar
- 
+-        compile name: SWT_FILE_NAME
+-    }
+-
 -    classes {
 -        doLast {
 -            // 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")
+-            File swtLib = new File(libsDir, "swt-debug.jar")
 -            libsDir.mkdirs();
+-
+-            // Skip copy if file is present.
+-            if (swtLib.exists()) return;
+-
 -            for (File f : configurations.compile.files) {
+-                // Have to rename the swt jar because it is some platform specific name but
+-                // for the sake of the IDEs we need to have a single stable name that works
+-                // on every platform
 -                copy {
 -                    into libsDir
 -                    from f.getParentFile()
--                    include "**/ant-1.8.2.jar"
+-                    include "**/*swt*.jar"
 -                    includeEmptyDirs = false
+-                    rename ".*swt.*jar", "swt-debug\\.jar"
 -                }
 -            }
--        }
--    }
--
-     task packagerFakeJar(type: Jar) {
-         dependsOn compileTestJava
-         from compileTestJava.destinationDir
-@@ -2250,7 +2247,7 @@ project(":media") {
++        if (IS_BSD) {
++            compile files(SWT_FILE_NAME)
++        } else {
++            compile name: SWT_FILE_NAME
+         }
+     }
  
+@@ -2809,7 +2801,7 @@ project(":media") {
+ 
              doLast {
                  exec {
 -                    commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/jfxmedia/projects/${projectDir}")
 +                    commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/jfxmedia/projects/${projectDir}")
                      args("JAVA_HOME=${JDK_HOME}", "GENERATED_HEADERS_DIR=${generatedHeadersDir}",
                           "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=jfxmedia",
-                          "COMPILE_PARFAIT=${compileParfait}")
-@@ -2260,7 +2257,7 @@ project(":media") {
-                         args(IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.jfxmediaRcFile}")
-                     } else {
-                         args ("CC=${mediaProperties.compiler}", "LINK=${mediaProperties.linker}", "LIB=${mediaProperties.lib}")
--                        if (t.name == "linux") {
-+                        if (t.name == "linux" || t.name == "bsd") {
-                             args(IS_64 ? "ARCH=x64" : "ARCH=x32")
-                         }
- 
-@@ -2282,7 +2279,7 @@ project(":media") {
+                          "COMPILE_PARFAIT=${compileParfait}",
+@@ -2838,7 +2830,7 @@ project(":media") {
                  enabled = IS_COMPILE_MEDIA
                  doLast {
                      exec {
 -                        commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/gstreamer-lite")
 +                        commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/gstreamer-lite")
-                         args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=gstreamer-lite")
+                         args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=gstreamer-lite",
+                              IS_64 ? "ARCH=x64" : "ARCH=x32", "CC=${mediaProperties.compiler}",
+                              "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -2856,7 +2848,7 @@ project(":media") {
  
-                         if (t.name == "win") {
-@@ -2290,7 +2287,7 @@ project(":media") {
-                             args(IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.gstreamerRcFile}")
-                         } else {
-                             args ("CC=${mediaProperties.compiler}", "LINK=${mediaProperties.linker}", "LIB=${mediaProperties.lib}")
--                            if (t.name == "linux") {
-+                            if (t.name == "linux" || t.name == "bsd") {
-                                 args(IS_64 ? "ARCH=x64" : "ARCH=x32")
-                             }
-                         }
-@@ -2311,7 +2308,7 @@ project(":media") {
- 
                  doLast {
                      exec {
 -                        commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/fxplugins")
 +                        commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/fxplugins")
                          args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=fxplugins",
-                              "ON2_SRCDIR=${project.ext.ON2_SRCDIR}", "ON2_LIB=${project.ext.ON2_LIB}")
+                              IS_64 ? "ARCH=x64" : "ARCH=x32",
+                              "CC=${mediaProperties.compiler}", "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -2879,7 +2871,7 @@ project(":media") {
  
-@@ -2328,7 +2325,7 @@ project(":media") {
-                             args(IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.fxpluginsRcFile}")
-                         } else {
-                             args ("CC=${mediaProperties.compiler}", "LINK=${mediaProperties.linker}", "LIB=${mediaProperties.lib}")
--                            if (t.name == "linux") {
-+                            if (t.name == "linux" || t.name == "bsd") {
-                                 args(IS_64 ? "ARCH=x64" : "ARCH=x32")
-                             }
-                         }
-@@ -2338,7 +2335,7 @@ project(":media") {
- 
              buildNative.dependsOn buildPlugins
  
 -            if (t.name == "linux") {
 +            if (t.name == "linux" || t.name == "bsd") {
-                 def buildAVPlugin = task( "buildAVPlugin", dependsOn: [buildPlugins]) {
-                     enabled = IS_COMPILE_MEDIA
- 
-@@ -2349,7 +2346,7 @@ project(":media") {
+                 // Pre-defined command line arguments
+                 def cfgCMDArgs = ["sh", "configure"]
+                 def commonCfgArgs = ["--enable-shared", "--disable-debug", "--disable-static", "--disable-yasm", "--disable-doc", "--disable-programs", "--disable-everything"]
+@@ -2984,7 +2976,7 @@ project(":media") {
+                                 }
+                                 exec {
+                                     workingDir("$libavDir")
+-                                    commandLine("make")
++                                    commandLine(MAKE_CMD)
+                                 }
+                             }
+                         }
+@@ -3052,7 +3044,7 @@ project(":media") {
+                                 }
+                                 exec {
+                                     workingDir("$libavDir")
+-                                    commandLine("make")
++                                    commandLine(MAKE_CMD)
+                                 }
+                             }
+                         }
+@@ -3138,7 +3130,7 @@ project(":media") {
+                                 }
+                                 exec {
+                                     workingDir("$libavDir")
+-                                    commandLine("make")
++                                    commandLine(MAKE_CMD)
+                                 }
+                             }
+                         }
+@@ -3172,7 +3164,7 @@ project(":media") {
                                  File dir = file(libavDir)
                                  if (dir.exists()) {
                                      exec {
 -                                        commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
-+                                        commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${t.name}/avplugin")
-                                         args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
++                                        commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+                                         args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+                                              "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
                                               "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
-                                              "SUFFIX=", IS_64 ? "ARCH=x64" : "ARCH=x32")
-@@ -2362,7 +2359,7 @@ project(":media") {
+@@ -3186,7 +3178,7 @@ project(":media") {
                                  File dir = file(libavDir)
                                  if (dir.exists()) {
                                      exec {
@@ -245,34 +205,43 @@
                                          args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
                                               "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
                                               "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
-@@ -2373,7 +2370,7 @@ project(":media") {
+@@ -3200,7 +3192,7 @@ project(":media") {
+                                 File dir = file(libavDir)
+                                 if (dir.exists()) {
+                                     exec {
+-                                        commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
++                                        commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+                                         args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+                                              "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+                                              "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
+@@ -3211,7 +3203,7 @@ project(":media") {
                          } else {
                              // Building fxavcodec plugin (libav plugin)
                              exec {
 -                                commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
-+                                commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${t.name}/avplugin")
-                                 args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
++                                commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+                                 args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+                                      "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
                                       "BASE_NAME=avplugin", IS_64 ? "ARCH=x64" : "ARCH=x32")
-                             }
-@@ -2423,7 +2420,7 @@ project(":media") {
+@@ -3262,7 +3254,7 @@ project(":media") {
                      doLast {
                          exec {
                              environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
 -                            commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
 +                            commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
                              args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=glib-lite",
-                                  IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.glibRcFile}")
+                                  IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.glibRcFile}",
+                                  "CC=${mediaProperties.compiler}", "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -3282,7 +3274,7 @@ project(":media") {
                          }
-@@ -2442,7 +2439,7 @@ project(":media") {
-                         }
  
                          exec {
 -                            commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
 +                            commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
                              args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=glib-lite")
-                             args ("CC=${mediaProperties.compiler}", "LINK=${mediaProperties.linker}", "LIB=${mediaProperties.lib}")
+                             args ("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}")
                          }
-@@ -2562,7 +2559,7 @@ project(":web") {
+@@ -3407,7 +3399,7 @@ project(":web") {
      compileTargets { t ->
          def targetProperties = project.rootProject.ext[t.upper]
          def webkitProperties = targetProperties.webkit
@@ -281,57 +250,54 @@
                            IS_64 ? "${t.name}-amd64" : "${t.name}-i586"
  
          def webkitOutputDir = cygpath("$buildDir/${t.name}")
-@@ -2638,6 +2635,9 @@ project(":web") {
+@@ -3436,13 +3428,16 @@ project(":web") {
+                         environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
+                     } else if (t.name == "mac") {
+                         cmakeArgs = " $cmakeArgs -DCMAKE_OSX_DEPLOYMENT_TARGET=$MACOSX_MIN_VERSION -DCMAKE_OSX_SYSROOT=$MACOSX_SDK_PATH"
+-                    } else if (t.name == "linux") {
+-                        cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=Linux"
+-                        if (IS_64) {
+-                            cmakeArgs = "$cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=x86_64"
++                    } else if (t.name == "linux" || t.name == "bsd") {
++                        if (t.name == "linux") {
++                            cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=Linux"
+                         } else {
+-                            cmakeArgs = "$cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=i586"
++                            cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=FreeBSD"
+                         }
++                        if ( OS_ARCH != "amd64" && OS_ARCH != "i386" ) {
++                            cmakeArgs = "$cmakeArgs -DENABLE_JIT=OFF"
++                        }
++                        cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=$OS_ARCH"
+                         // TODO: Use cflags and ldflags from all platforms
+                         def cFlags = webkitProperties.ccFlags?.join(' ') ?: ''
+                         def lFlags = webkitProperties.linkFlags?.join(' ') ?: ''
+@@ -3479,6 +3474,10 @@ project(":web") {
+                         targetCpuBitDepthSwitch = "--32-bit"
                      }
- 
-                     cmakeArgs += " -DJAVAFX_RELEASE_VERSION=8.0"
+                     cmakeArgs += " -DJAVAFX_RELEASE_VERSION=${jfxReleaseMajorVersion}"
 +                    cmakeArgs += " -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
 +                    cmakeArgs += " -DCMAKE_C_COMPILER:STRING=${System.getenv("CC")}"
 +                    cmakeArgs += " -DCMAKE_CXX_COMPILER:STRING=${System.getenv("CXX")}"
++
                      commandLine("perl", "$projectDir/src/main/native/Tools/Scripts/build-webkit",
                          "--java", "--icu-unicode", targetCpuBitDepthSwitch,
-                         "--cmakeargs=${cmakeArgs}")
-@@ -3132,7 +3132,7 @@ compileTargets { t ->
-                         // OSX media natives
-                         [ "jfxmedia_qtkit", "jfxmedia_avf" ].each { name ->
-                             from ("modules/media/build/native/${t.name}/${mediaBuildType}/${library(name)}") }
--                    } else if (t.name == "linux") {
-+                    } else if (t.name == "linux" || t.name == "bsd") {
-                         from("modules/media/build/native/${t.name}/${mediaBuildType}") { include "libavplugin*.so" }
-                     }
-                 } else {
-@@ -3145,7 +3145,7 @@ compileTargets { t ->
-                         // copy libjfxmedia_{avf,qtkit}.dylib if they exist
-                         [ "jfxmedia_qtkit", "jfxmedia_avf" ].each { name ->
-                             from ("$LIBRARY_STUB/${library(name)}") }
--                    } else if (t.name == "linux") {
-+                    } else if (t.name == "linux" || t.name == "bsd") {
-                         from(LIBRARY_STUB) { include "libavplugin*.so" }
-                     }
+                         "--no-experimental-features", "--cmakeargs=${cmakeArgs}")
+@@ -4928,7 +4927,7 @@ compileTargets { t ->
+                     // OSX media natives
+                     [ "jfxmedia_qtkit", "jfxmedia_avf", "glib-lite" ].each { name ->
+                         from ("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}/${library(name)}") }
+-                } else if (t.name == "linux") {
++                } else if (t.name == "linux" || t.name == "bsd") {
+                     from("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}") { include "libavplugin*.so" }
+                 } else from ("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}/${library("glib-lite")}")
+             } else {
+@@ -4941,7 +4940,7 @@ compileTargets { t ->
+                     // copy libjfxmedia_{avf,qtkit}.dylib if they exist
+                     [ "jfxmedia_qtkit", "jfxmedia_avf", "glib-lite" ].each { name ->
+                         from ("$MEDIA_STUB/${library(name)}") }
+-                } else if (t.name == "linux") {
++                } else if (t.name == "linux" || t.name == "bsd") {
+                     from(MEDIA_STUB) { include "libavplugin*.so" }
                  }
-@@ -3207,7 +3207,7 @@ compileTargets { t ->
-             }
- 
-             // Copy over the javapackager executable
--            if (t.name == "win" || t.name == "linux" || t.name == "mac") {
-+            if (t.name == "win" || t.name == "linux" || t.name == "bsd" || t.name == "mac") {
-                 copy {
-                     from "modules/fxpackager/build/javapackager"
-                     into "build/${sdkDirName}/bin"
-@@ -3264,6 +3264,7 @@ ext.JFXRT_CP =
-             "modules/web/build/classes/java/main",
-     )
- 
-+/*
- project(":apps") {
-     // The apps build is Ant based, and gradle lets us "import" ant build.xml
-     // into our configuration.
-@@ -3341,7 +3342,7 @@ project(":apps") {
-         }
-         rootProject.clean.dependsOn(appsClean)
-     }
--}
-+} */
- 
- /******************************************************************************
-  *                                                                            *
+                 else if (t.name != "android"  && t.name != "dalvik" ) {

Added: head/java/openjfx14/files/patch-buildSrc_bsd.gradle
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/openjfx14/files/patch-buildSrc_bsd.gradle	Wed Oct 28 17:15:33 2020	(r553555)
@@ -0,0 +1,332 @@
+--- buildSrc/bsd.gradle.orig	2020-07-21 10:33:26 UTC
++++ buildSrc/bsd.gradle
+@@ -0,0 +1,329 @@
++/*
++ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.  Oracle designates this
++ * particular file as subject to the "Classpath" exception as provided
++ * by Oracle in the LICENSE file that accompanied this code.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ */
++
++ext.BSD = [:]
++
++// Declare whether this particular target file applies to the current system
++BSD.canBuild = IS_BSD;
++if (!BSD.canBuild) return;
++
++// All desktop related packages should be built
++BSD.compileSwing = true;
++BSD.compileSWT = true;
++
++// Libraries end up in the lib/$OS_ARCH directory for Linux
++BSD.libDest = "lib"
++
++// Lambda for naming the generated libs
++BSD.library = { name -> return (IS_STATIC_BUILD ? "lib${name}.a" : "lib${name}.so") as String }
++
++// A set of common parameters to use for both compiling and linking
++def commonFlags = [
++        "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
++        "-fstack-protector",
++        "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses"] // warning flags
++
++if (!IS_64) {
++    commonFlags += "-m32"
++}
++
++if (IS_STATIC_BUILD) {
++    commonFlags += "-DSTATIC_BUILD"
++}
++
++// Specify the compilation parameters and link parameters
++def ccFlags = [
++        commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/freebsd", "-c",
++        "-ffunction-sections", "-fdata-sections",
++        IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
++def ccFlagsGTK3 = ccFlags
++//ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
++def dynamicLinkFlags = [ "-shared", commonFlags,
++                 "-z", "relro",
++                 "-Wl,--gc-sections"].flatten()
++
++def staticLinkFlags = [].flatten()
++
++def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags;
++
++if (IS_DEBUG_NATIVE) {
++    linkFlags += "-g"
++}
++
++def toolchainDir
++if (hasProperty('toolchainDir')) {
++    toolchainDir = ext.toolchainDir + "/"
++} else {
++    toolchainDir = ""
++}
++
++def gtk2CCFlags = [  ];
++def gtk3CCFlags = [ "-Wno-deprecated-declarations" ];
++def gtk2LinkFlags = [ ];
++def gtk3LinkFlags = [ ];
++
++// Create $buildDir/freebsd_tools.properties file and load props from it
++setupTools("bsd_gtk2",
++    { propFile ->
++        ByteArrayOutputStream results1 = new ByteArrayOutputStream();
++        exec {
++            commandLine("${toolchainDir}pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst")
++            setStandardOutput(results1);
++        }
++        propFile << "cflagsGTK2=" << results1.toString().trim() << "\n";
++
++        ByteArrayOutputStream results3 = new ByteArrayOutputStream();
++        exec {
++            commandLine("${toolchainDir}pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst")
++            setStandardOutput(results3);
++        }
++        propFile << "libsGTK2=" << results3.toString().trim()  << "\n";
++    },
++    { properties ->
++        def cflagsGTK2 = properties.getProperty("cflagsGTK2")
++        def libsGTK2 = properties.getProperty("libsGTK2")
++        if (cflagsGTK2 && libsGTK2) {
++            gtk2CCFlags.addAll(cflagsGTK2.split(" "))
++            gtk2LinkFlags.addAll(libsGTK2.split(" "))
++        } else {
++            throw new IllegalStateException("GTK2 development packages not found. If GTK2 packages are installed, please remove the build directory and try again.")
++        }
++    }
++)
++
++setupTools("bsd_gtk3",
++    { propFile ->
++        ByteArrayOutputStream results2 = new ByteArrayOutputStream();
++        exec {
++            commandLine("${toolchainDir}pkg-config", "--cflags", "gtk+-3.0", "gthread-2.0", "xtst")
++            setStandardOutput(results2);
++        }
++        propFile << "cflagsGTK3=" << results2.toString().trim() << "\n";
++
++        ByteArrayOutputStream results4 = new ByteArrayOutputStream();
++        exec {
++            commandLine("${toolchainDir}pkg-config", "--libs", "gtk+-3.0", "gthread-2.0", "xtst")
++            setStandardOutput(results4);
++        }
++        propFile << "libsGTK3=" << results4.toString().trim()  << "\n";
++
++    },
++    { properties ->
++        def cflagsGTK3 = properties.getProperty("cflagsGTK3")
++        def libsGTK3 = properties.getProperty("libsGTK3")
++        if (cflagsGTK3 && libsGTK3) {
++            gtk3CCFlags.addAll(cflagsGTK3.split(" "))
++            gtk3LinkFlags.addAll(libsGTK3.split(" "))
++        } else {
++            throw new IllegalStateException("GTK3 development packages not found. If GTK3 packages are installed, please remove the build directory and try again.")
++        }
++    }
++)
++
++def pangoCCFlags = ["-D_ENABLE_PANGO"];
++def pangoLinkFlags = [];
++setupTools("bsd_pango_tools",
++    { propFile ->
++        ByteArrayOutputStream results = new ByteArrayOutputStream();
++        exec {
++            commandLine "${toolchainDir}pkg-config", "--cflags", "pangoft2"
++            standardOutput = results
++        }
++        propFile << "cflags=" << results.toString().trim() << "\n";
++
++        results = new ByteArrayOutputStream();
++        exec {
++            commandLine "${toolchainDir}pkg-config", "--libs", "pangoft2"
++            standardOutput = results
++        }
++        propFile << "libs=" << results.toString().trim();
++    },
++    { properties ->
++        def cflags = properties.getProperty("cflags")
++        def libs = properties.getProperty("libs")
++        if (cflags && libs) {
++            pangoCCFlags.addAll(cflags.split(" "))
++            pangoLinkFlags.addAll(libs.split(" "))
++        } else {
++            throw new IllegalStateException("Linux pango packages not found.\nIf pango packages are installed, please remove the build directory and try again.")
++        }
++    }
++)
++
++def freetypeCCFlags = [ext.IS_COMPILE_PANGO ? "-D_ENABLE_PANGO" :
++                       ext.IS_COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""]
++def freetypeLinkFlags = []
++setupTools("bsd_freetype_tools",
++    { propFile ->
++        ByteArrayOutputStream results = new ByteArrayOutputStream();
++        exec {
++            commandLine "${toolchainDir}pkg-config", "--cflags", "freetype2"
++            standardOutput = results
++        }
++        propFile << "cflags=" << results.toString().trim() << "\n";
++
++        results = new ByteArrayOutputStream();
++        exec {
++            commandLine "${toolchainDir}pkg-config", "--libs", "freetype2"
++            standardOutput = results
++        }
++        propFile << "libs=" << results.toString().trim();
++    },
++    { properties ->
++        def cflags = properties.getProperty("cflags")
++        def libs = properties.getProperty("libs")
++        if (cflags && libs) {
++            freetypeCCFlags.addAll(cflags.split(" "))
++            if (!IS_STATIC_BUILD) {
++                freetypeLinkFlags.addAll(libs.split(" "))
++            }
++        } else {
++            throw new IllegalStateException("Linux freetype packages not found.\nIf freetype pacakges are installed, please remove the build directory and try again.")
++        }
++    }
++)
++
++def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "${toolchainDir}gcc";
++def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : "${toolchainDir}g++";
++
++BSD.glass = [:]
++BSD.glass.variants = ["glass", "glassgtk2", "glassgtk3"]
++
++FileTree ft_gtk_launcher = fileTree("${project(":graphics").projectDir}/src/main/native-glass/gtk/") {
++    include("**/launcher.c")
++}
++
++FileTree ft_gtk = fileTree("${project(":graphics").projectDir}/src/main/native-glass/gtk/") {
++    exclude("**/launcher.c")
++}
++
++BSD.glass.glass = [:]
++BSD.glass.glass.nativeSource = ft_gtk_launcher.getFiles()
++BSD.glass.glass.compiler = compiler
++BSD.glass.glass.ccFlags = [ccFlags].flatten()
++BSD.glass.glass.linker = linker
++BSD.glass.glass.linkFlags = IS_STATIC_BUILD? linkFlags : [linkFlags, "-lX11", "-ldl"].flatten()
++BSD.glass.glass.lib = "glass"
++
++BSD.glass.glassgtk2 = [:]
++BSD.glass.glassgtk2.nativeSource =  ft_gtk.getFiles()
++BSD.glass.glassgtk2.compiler = compiler
++BSD.glass.glassgtk2.ccFlags = IS_STATIC_BUILD ?
++        ["-fno-threadsafe-statics", ccFlags, gtk2CCFlags].flatten() :
++        [ccFlags, gtk2CCFlags].flatten()
++BSD.glass.glassgtk2.linker = linker
++BSD.glass.glassgtk2.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, gtk2LinkFlags].flatten()
++BSD.glass.glassgtk2.lib = "glassgtk2"
++
++BSD.glass.glassgtk3 = [:]
++BSD.glass.glassgtk3.nativeSource =  ft_gtk.getFiles()
++BSD.glass.glassgtk3.compiler = compiler
++BSD.glass.glassgtk3.ccFlags = IS_STATIC_BUILD ?
++        ["-fno-threadsafe-statics", ccFlags, gtk3CCFlags].flatten() :
++        [ccFlags, gtk3CCFlags].flatten()
++BSD.glass.glassgtk3.linker = linker
++BSD.glass.glassgtk3.linkFlags = IS_STATIC_BUILD ? linkFlags : [linkFlags, gtk3LinkFlags].flatten()
++BSD.glass.glassgtk3.lib = "glassgtk3"
++
++BSD.decora = [:]
++BSD.decora.compiler = compiler
++BSD.decora.ccFlags = [ccFlags, "-ffast-math"].flatten()
++BSD.decora.linker = linker
++BSD.decora.linkFlags = [linkFlags].flatten()
++BSD.decora.lib = "decora_sse"
++
++BSD.prism = [:]
++BSD.prism.nativeSource = file("${project(":graphics").projectDir}/src/main/native-prism")
++BSD.prism.compiler = compiler
++BSD.prism.ccFlags = [ccFlags, "-DINLINE=inline"].flatten()
++BSD.prism.linker = linker
++BSD.prism.linkFlags = [linkFlags].flatten()
++BSD.prism.lib = "prism_common"
++

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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