# Maintainer: Levente Polyak # Maintainer: Frederik Schwan # Contributor: Guillaume Alaux # Contributor: Maxime Gauduin # Contributor: William Gathoye # Contributor: Emanuel Couto # Contributor: Richard Jackson # Contributor: Tinx # Contributor: Jens Kapitza # Contributor: Olli pkgbase=java8-openjfx pkgname=( java8-openjfx java8-openjfx-doc java8-openjfx-src ) pkgver=8.u202 pkgrel=9 pkgdesc='Java OpenJFX 8 client application platform (open-source implementation of JavaFX)' arch=(x86_64) url=https://wiki.openjdk.java.net/display/OpenJFX/Main license=(GPL) makedepends=( alsa-lib cairo cmake ffmpeg4.4 freetype2 gdk-pixbuf2 glib2 gperf gtk2 gtk3 jdk8-openjdk libgl libx11 libxtst pango python2 qt5-base ruby unzip webkit2gtk ) DLAGENTS=("https::/usr/bin/curl --user-agent 'Mozilla' -fLC - -o %o %u") source=( https://hg.openjdk.java.net/openjfx/8u-dev/rt/archive/${pkgver//./}-ga.tar.bz2 gradle.properties https://services.gradle.org/distributions/gradle-4.8-bin.zip java8-openjfx-flags.patch java8-openjfx-no-xlocale.patch java8-openjfx-no-sys-sysctl.patch java8-openjfx-CVE-2021-3517-fix.patch::https://gitlab.gnome.org/GNOME/libxml2/-/commit/bf22713507fe1fc3a2c4b525cf0a88c2dc87a3a2.patch java8-openjfx-CVE-2021-3522-fix.patch::https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/8a88e5c1db05ebadfd4569955f6f47c23cdca3c4.patch java8-openjfx-include-iterator.patch java8-openjfx-no-check-jfxrt-jar.patch java8-openjfx-fix-java-version-check.patch ) sha256sums=('813ed6bbe7669b5acae7908720b9e353771e854be75c57a323310d0b9271daff' 'd1c2255893e5ec6268d7c92bb6539cde629d325872f26cffb5f1f616c9d5f30d' 'f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba' 'a2e0d5ac5cdb83958d2886aef7f5a419f460e103959f65aaadd69cb26cc6adec' 'b21f6b254acc7aa2124521b6521d3bdfdfcfd9b062624a84ef73608120957d0d' 'cd1a2bd60f636662e4f3334217b3e14f1d51cf30b77b9ca3eff8d030312fd26a' '4db6e995d46f5ab29c4169dab5dbbe367ebd01dee66ef1750abe5cf0c8364d42' '3487eb180fff9866c8b8b08be45f13fa9e8edd04e5719bc867e59b09b81954b4' 'bd69e8a3363f9b3ade50fb29d4c9e3d7e59b42472ae00d425d20ddcda720b919' '47822da975832551bc3b20b3d75891135314f89cfcb75f7212eece148902aea3' '88ecba988b6e05580cecc09c37add8e375097619d9fa106d65c09edd993c3bc7') prepare() { cd rt-${pkgver//./}-ga ln -sf ../gradle.properties . patch -Np1 -i ../java8-openjfx-flags.patch patch -Np1 -i ../java8-openjfx-no-xlocale.patch patch -Np1 -i ../java8-openjfx-no-sys-sysctl.patch # loose match the following patch due to whitespace differences patch -Np1 -l -i "$srcdir"/java8-openjfx-CVE-2021-3517-fix.patch -d modules/web/src/main/native/Source/ThirdParty/libxml/src patch -Np1 -i "$srcdir"/java8-openjfx-CVE-2021-3522-fix.patch -d modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base patch -Np1 -i ../java8-openjfx-include-iterator.patch patch -Np1 -i ../java8-openjfx-no-check-jfxrt-jar.patch patch -Np1 -i ../java8-openjfx-fix-java-version-check.patch } build() { cd rt-${pkgver//./}-ga # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common CFLAGS+=' -fcommon' # build against ffmpeg4.4 export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig' # ensure jdk 8 is used when building export JAVA_HOME=/usr/lib/jvm/java-8-openjdk ../gradle-4.8/bin/gradle } package_java8-openjfx() { depends=( jre8-openjdk libgl libx11 libxtst ) optdepends=( 'ffmpeg4.4: Media support', 'gtk2: GTK2 support', 'gtk3: GTK3 support', 'webkit2gtk: Web support' ) provides=('java-openjfx=8') cd rt-${pkgver//./}-ga install -dm 755 "${pkgdir}"/usr/lib/jvm/java-8-openjdk/jre cp -dr --no-preserve=ownership build/sdk/{bin,lib} "${pkgdir}"/usr/lib/jvm/java-8-openjdk/ cp -dr --no-preserve=ownership build/sdk/rt/lib "${pkgdir}"/usr/lib/jvm/java-8-openjdk/jre/ } package_java8-openjfx-doc() { cd rt-${pkgver//./}-ga install -dm 755 "${pkgdir}"/usr/share/doc cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java8-openjfx } package_java8-openjfx-src() { cd rt-${pkgver//./}-ga install -Dm 644 build/javafx-src.zip -t "${pkgdir}"/usr/lib/jvm/java-8-openjdk/ } # vim: ts=2 sw=2 et: