java-openjfx: swtich to bin due to source code broken

This commit is contained in:
Guoyi Zhang 2025-02-07 13:44:01 +11:00
parent c29b7efb6b
commit b51ffb9652
4 changed files with 170 additions and 129 deletions

View file

@ -1,131 +1,40 @@
# Maintainer: Frederik “Freso” S. Olesen <archlinux@freso.dk>
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Guillaume Alaux <guillaume@archlinux.org>
# Contributor: William Gathoye <william + archlinux at gathoye dot be>
# Contributor: Emanuel Couto <emanuel dot amaral dot couto at gmail dot com>
# Contributor: Richard Jackson <rdjack21 at gmail dot com>
# Contributor: Tinx <arch at tinx dot eu>
# Contributor: Jens Kapitza <j dot kapitza at schwarze-allianz dot de>
# Contributor: Olli <olli at coderkun dot de>
# Maintainer: L B <leobaldin dot 2000 at gmail dot com>
pkgbase=java-openjfx
pkgname=(
java-openjfx
java-openjfx-doc
java-openjfx-src
)
pkgver=22.0.2.u4
pkgname=java-openjfx
_majorver=23.0.1
pkgver=23
pkgrel=0
pkgdesc="Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version"
arch=(x86_64 x86_64_v3)
url=https://wiki.openjdk.java.net/display/OpenJFX/Main
license=('GPL-2.0-only WITH Classpath-exception-2.0')
makedepends=(
alsa-lib
ant
cairo
cmake
ffmpeg4.4
freetype2
gdk-pixbuf2
glib2
gperf
'gradle<9'
gtk2
gtk3
java-environment-openjdk=$((${pkgver%%.*}-1))
libgl
libx11
libxtst
libxxf86vm
pango
perl
python
qt5-base
ruby
unzip
webkit2gtk
zip
)
options=(!lto)
source=(
"${pkgbase}-${pkgver//.u/+}.tar.gz::https://github.com/openjdk/jfx${pkgver%%.*}u/archive/refs/tags/${pkgver//.u/+}.tar.gz"
gradle.properties
java-openjfx-flags.patch
)
b2sums=('d744b8d2018ff69d1356d9381d1541ecc69dc5ff3c92aea7a3ed1992d7b2b146fb68371fa8c4b8b20532a9077ef64350a769885bbb454316c35e6775c8e7f4c6'
'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498'
'5b6dafc22995b57564fda89aaedeb2b6ee58b2c635336ac43a123ea4ac6ced3a20eba39d99cc4eb7ec7b29fc7541f5c3bee454ee55ca79fd2d7ce5ef4ed65cd3')
pkgdesc="Java OpenJFX ${_majorver} client application platform (Gluon build)."
arch=('x86_64')
url='https://openjfx.io/'
license=('GPL2')
depends=('ffmpeg' 'gstreamer' 'java-environment>=11' 'libxtst' 'qt5-base' 'webkit2gtk')
provides=("java-openjfx=${pkgver}")
conflicts=("java${pkgver}-openjfx" "java-openjfx")
options=(!strip)
source=("https://download2.gluonhq.com/openjfx/${_majorver}/openjfx-${_majorver}_linux-x64_bin-sdk.zip"
"https://download2.gluonhq.com/openjfx/${_majorver}/openjfx-${_majorver}_linux-x64_bin-jmods.zip"
"https://download2.gluonhq.com/openjfx/${_majorver}/openjfx-${_majorver}-javadoc.zip")
sha256sums=('9ba7e61802029e41a9526ec9a98533b6f543fa508fbae7d548886d8ae7100349'
'2164bca470bf70a5e2764645e2078ba7f787b274e5be3d7df30d87c5bb62bba6'
'134f3ffc254471a8de973136c0b47eddcc026fd500faa1ca37e3b4fa292fbfe1')
_jfxdir=jfx${pkgver%%.*}u-${pkgver//.u/-}
_jvmdir=usr/lib/jvm/java-${pkgver}-openjfx
prepare() {
cd $_jfxdir
# Clean from potential previous runs
gradle --stop
rm -rf build
#gradle clean
ln -sf ../gradle.properties .
patch -Np1 -i ../java-openjfx-flags.patch
sed 's|, "-Werror"||g' -i buildSrc/linux.gradle
}
build() {
cd $_jfxdir
# Build with openjdk-(current version minus 1)
export PATH="/usr/lib/jvm/java-$((${pkgver%%.*}-1))-openjdk/bin/:$PATH"
# build against ffmpeg4.4
export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'
# Workaround for situation where the linker treats whitespace as arguments
export LDFLAGS="${LDFLAGS//+([[:space:]]|[[:blank:]])/ }"
gradle zips
}
package_java-openjfx() {
depends=(
java-runtime-openjdk=${pkgver%%.*}
libgl
libx11
libxtst
)
optdepends=(
'ffmpeg4.4: Media support',
'gtk2: GTK2 support',
'gtk3: GTK3 support',
'webkit2gtk: Web support'
)
provides=(java-openjfx=${pkgver%%.*})
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}
cp -dr --no-preserve=ownership build/sdk/lib "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/
cp -dr --no-preserve=ownership build/jmods "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/
cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}"/usr/share/licenses/java-openjfx
}
package_java-openjfx-doc() {
arch=(any)
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/share/{doc,licenses}
cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java-openjfx
ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-doc
}
package_java-openjfx-src() {
arch=(any)
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}
install -m 644 build/sdk/src.zip "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/javafx-src.zip
ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-src
package() {
# Install
install -d "${pkgdir}/${_jvmdir}"
cp -a "javafx-sdk-${_majorver}/lib" "${pkgdir}/${_jvmdir}/"
# Copy source archive
cp -a "javafx-sdk-${_majorver}/src.zip" "${pkgdir}/${_jvmdir}/"
mv "${pkgdir}/${_jvmdir}/src.zip" "${pkgdir}/${_jvmdir}/lib/javafx-src.zip"
# Legal
install -d "${pkgdir}/usr/share/licenses/java${pkgver}-openjdk"
cp -a "javafx-sdk-${_majorver}/legal" "${pkgdir}/usr/share/licenses/java${pkgver}-openjdk/"
# Jmods
install -d "${pkgdir}/${_jvmdir}/jmods"
cp -a "javafx-jmods-${_majorver}/"* "${pkgdir}/${_jvmdir}/jmods/"
# Docs
install -d "${pkgdir}/usr/share/doc/java${pkgver}-openjfx"
cp -a "javafx-${_majorver}-javadoc/"* "${pkgdir}/usr/share/doc/java${pkgver}-openjfx/"
}

View file

@ -0,0 +1,131 @@
# Maintainer: Frederik “Freso” S. Olesen <archlinux@freso.dk>
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Guillaume Alaux <guillaume@archlinux.org>
# Contributor: William Gathoye <william + archlinux at gathoye dot be>
# Contributor: Emanuel Couto <emanuel dot amaral dot couto at gmail dot com>
# Contributor: Richard Jackson <rdjack21 at gmail dot com>
# Contributor: Tinx <arch at tinx dot eu>
# Contributor: Jens Kapitza <j dot kapitza at schwarze-allianz dot de>
# Contributor: Olli <olli at coderkun dot de>
pkgbase=java-openjfx
pkgname=(
java-openjfx
java-openjfx-doc
java-openjfx-src
)
pkgver=22.0.2.u4
pkgrel=0
pkgdesc="Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version"
arch=(x86_64 x86_64_v3)
url=https://wiki.openjdk.java.net/display/OpenJFX/Main
license=('GPL-2.0-only WITH Classpath-exception-2.0')
makedepends=(
alsa-lib
ant
cairo
cmake
ffmpeg4.4
freetype2
gdk-pixbuf2
glib2
gperf
'gradle<9'
gtk2
gtk3
java-environment-openjdk=$((${pkgver%%.*}-1))
libgl
libx11
libxtst
libxxf86vm
pango
perl
python
qt5-base
ruby
unzip
webkit2gtk
zip
)
options=(!lto)
source=(
"${pkgbase}-${pkgver//.u/+}.tar.gz::https://github.com/openjdk/jfx${pkgver%%.*}u/archive/refs/tags/${pkgver//.u/+}.tar.gz"
gradle.properties
java-openjfx-flags.patch
)
b2sums=('d744b8d2018ff69d1356d9381d1541ecc69dc5ff3c92aea7a3ed1992d7b2b146fb68371fa8c4b8b20532a9077ef64350a769885bbb454316c35e6775c8e7f4c6'
'a77fd8814a5978827de01a652f7b945f3439df04606434ced8998c8d77a82985292490e6965299aeb52f9da3d8069b4091d75519bd4ec8a15f70bc6d28b13498'
'5b6dafc22995b57564fda89aaedeb2b6ee58b2c635336ac43a123ea4ac6ced3a20eba39d99cc4eb7ec7b29fc7541f5c3bee454ee55ca79fd2d7ce5ef4ed65cd3')
_jfxdir=jfx${pkgver%%.*}u-${pkgver//.u/-}
prepare() {
cd $_jfxdir
# Clean from potential previous runs
gradle --stop
rm -rf build
#gradle clean
ln -sf ../gradle.properties .
patch -Np1 -i ../java-openjfx-flags.patch
sed 's|, "-Werror"||g' -i buildSrc/linux.gradle
}
build() {
cd $_jfxdir
# Build with openjdk-(current version minus 1)
export PATH="/usr/lib/jvm/java-$((${pkgver%%.*}-1))-openjdk/bin/:$PATH"
# build against ffmpeg4.4
export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'
# Workaround for situation where the linker treats whitespace as arguments
export LDFLAGS="${LDFLAGS//+([[:space:]]|[[:blank:]])/ }"
gradle zips
}
package_java-openjfx() {
depends=(
java-runtime-openjdk=${pkgver%%.*}
libgl
libx11
libxtst
)
optdepends=(
'ffmpeg4.4: Media support',
'gtk2: GTK2 support',
'gtk3: GTK3 support',
'webkit2gtk: Web support'
)
provides=(java-openjfx=${pkgver%%.*})
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}
cp -dr --no-preserve=ownership build/sdk/lib "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/
cp -dr --no-preserve=ownership build/jmods "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/
cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}"/usr/share/licenses/java-openjfx
}
package_java-openjfx-doc() {
arch=(any)
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/share/{doc,licenses}
cp -dr --no-preserve=ownership build/javadoc "${pkgdir}"/usr/share/doc/java-openjfx
ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-doc
}
package_java-openjfx-src() {
arch=(any)
cd $_jfxdir
install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-${pkgver%%.*}-openjdk,share/licenses}
install -m 644 build/sdk/src.zip "${pkgdir}"/usr/lib/jvm/java-${pkgver%%.*}-openjdk/javafx-src.zip
ln -s java-openjfx "${pkgdir}"/usr/share/licenses/java-openjfx-src
}

@ -0,0 +1 @@
Subproject commit 319a7405eb2b97b80ea5d0cbe2da41e45af880cb

View file

@ -3,14 +3,14 @@ maintainers:
- github: starsareintherose
email: kuoi@bioarchlinux.org
pre_build_script: |
aur_pre_build(maintainers='Freso')
run_cmd(['updpkgsums'])
aur_pre_build(maintainers='Baldo')
update_pkgver_and_pkgrel(_G.newver)
post_build_script: |
git_pkgbuild_commit()
update_on:
- source: aur
# git: "https://github.com/openjdk/jfx22u.git"
aur: java-openjfx
aur: java-openjfx-bin
strip_release: true
# include_regex: '^((?:\d|\.)+)\+\d+'
# from_pattern: '\+'