mirror of
https://github.com/archlinux/aur.git
synced 2026-02-07 04:41:00 +01:00
149 lines
4.6 KiB
Bash
149 lines
4.6 KiB
Bash
# Maintainer: Patrick Northon <northon_patrick3@yahoo.ca>
|
|
# Contributor: 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>
|
|
|
|
: ${_use_gradle_wrapper:=0}
|
|
|
|
pkgbase=java-openjfx
|
|
pkgname=(
|
|
java-openjfx
|
|
java-openjfx-doc
|
|
java-openjfx-src
|
|
)
|
|
_java_ver=25
|
|
_tag='27+3'
|
|
pkgver=${_tag//+/.}
|
|
pkgrel=1
|
|
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
|
|
ffmpeg
|
|
freetype2
|
|
gdk-pixbuf2
|
|
glib2
|
|
gperf
|
|
gtk3
|
|
java-environment-openjdk=$_java_ver
|
|
libgl
|
|
libx11
|
|
libxtst
|
|
libxxf86vm
|
|
pango
|
|
perl
|
|
python
|
|
unzip
|
|
zip
|
|
#ruby
|
|
#ruby-getoptlong
|
|
#ruby-optparse
|
|
#ruby-erb
|
|
#ruby-yaml
|
|
#ruby-fileutils
|
|
)
|
|
if (( !_use_gradle_wrapper )); then
|
|
makedepends+=(gradle)
|
|
fi
|
|
options=(!lto)
|
|
source=(
|
|
"${pkgbase}-${pkgver}.tar.gz::https://github.com/openjdk/jfx/archive/refs/tags/${_tag}.tar.gz"
|
|
"${pkgbase}-gradle.properties"
|
|
"${pkgbase}-flags.patch"
|
|
"${pkgbase}-profile"{.sh,.csh}
|
|
"${pkgbase}-env.sh"
|
|
)
|
|
b2sums=('fe6b169e81c39f8330a3d8907ec4c3375b636a5f590bd22b36f5b207b3e9283907800685f17abccabf9ff32e720f8a57f958ffe652255b5fb4dbaa917e791fb2'
|
|
'0c023ef99e7ee600710c54dad0ad59070620595109ca42c5057fa2ab74ef6d244631745f5cd4c1bea9c0321ee69f1e1efaab820ff124ad1d4f453121e77fd14f'
|
|
'5b6dafc22995b57564fda89aaedeb2b6ee58b2c635336ac43a123ea4ac6ced3a20eba39d99cc4eb7ec7b29fc7541f5c3bee454ee55ca79fd2d7ce5ef4ed65cd3'
|
|
'73cc0da90136a8a564599fb23c321bae64c35c4381e74d00f24604ed9a46dc2c7aa988077846160e8cb6a61e0eaa80d1e153d89a93fb4818d2589b067eff2522'
|
|
'740cf91ce2753953da39082b3923f950ee05f1a1f0129d8766f7eda2579a8acac7a89834014ed5a3a1b511bc8784b955ebeadc57e523823f6df53f45ebf98a99'
|
|
'd29bf9c99adc1769fb3eee9f2fd0d50fb7dc7bcfdd8f25f29b068dbc9be04676a970059f01651fdabac2f290dd8352e649960cafe538d903c48b9e10be20e7c6')
|
|
|
|
_jfxdir="jfx-${_tag//+/-}"
|
|
if (( _use_gradle_wrapper )); then
|
|
_gradle=(sh ./gradlew)
|
|
else
|
|
_gradle=(gradle)
|
|
fi
|
|
|
|
prepare() {
|
|
cd $_jfxdir
|
|
|
|
# Clean from potential previous runs
|
|
"${_gradle[@]}" --stop
|
|
rm -rf build
|
|
|
|
ln -sf "../${pkgbase}-gradle.properties" 'gradle.properties'
|
|
patch -Np1 -i "../${pkgbase}-flags.patch"
|
|
sed 's|, "-Werror"||g' -i buildSrc/linux.gradle
|
|
}
|
|
|
|
build() {
|
|
cd $_jfxdir
|
|
|
|
# Build with openjdk $_java_ver
|
|
export PATH="/usr/lib/jvm/java-$_java_ver-openjdk/bin/:$PATH"
|
|
|
|
# Workaround for situation where the linker treats whitespace as arguments
|
|
export LDFLAGS="${LDFLAGS//+([[:space:]]|[[:blank:]])/ }"
|
|
|
|
export CFLAGS+=" -Wno-error=implicit-function-declaration"
|
|
|
|
"${_gradle[@]}" --no-daemon zips
|
|
}
|
|
|
|
package_java-openjfx() {
|
|
depends=(
|
|
java-runtime-openjdk=$_java_ver
|
|
libgl
|
|
libx11
|
|
libxtst
|
|
)
|
|
optdepends=('gtk3: GTK3 support')
|
|
provides=(java-openjfx=${pkgver%%.*})
|
|
|
|
cd $_jfxdir
|
|
|
|
install -dm 755 "${pkgdir}"/usr/{lib/$pkgbase,share/java/$pkgbase,share/licenses}
|
|
cp -dr --no-preserve=ownership build/sdk/lib/*.jar "${pkgdir}/usr/share/java/$pkgbase"
|
|
cp -dr --no-preserve=ownership build/sdk/lib/*.so "${pkgdir}/usr/lib/$pkgbase"
|
|
cp -dr --no-preserve=ownership build/jmods "${pkgdir}/usr/share/java/$pkgbase"
|
|
cp -dr --no-preserve=ownership build/sdk/legal "${pkgdir}/usr/share/licenses/$pkgbase"
|
|
|
|
install -Dm644 "${srcdir}/${pkgbase}-profile"{.sh,.csh} -t "${pkgdir}/etc/profile.d"
|
|
install -Dm755 "${srcdir}/${pkgbase}-env.sh" "${pkgdir}/usr/bin/${pkgbase}-env"
|
|
}
|
|
|
|
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/$pkgbase"
|
|
ln -s "$pkgbase" "${pkgdir}/usr/share/licenses/$pkgbase-doc"
|
|
}
|
|
|
|
package_java-openjfx-src() {
|
|
arch=(any)
|
|
cd $_jfxdir
|
|
|
|
install -dm 755 "${pkgdir}"/usr/{lib/jvm/java-$_java_ver-openjdk,share/licenses}
|
|
install -m 644 build/sdk/src.zip "${pkgdir}/usr/lib/jvm/java-$_java_ver-openjdk/javafx-src.zip"
|
|
ln -s "$pkgbase" "${pkgdir}/usr/share/licenses/$pkgbase-src"
|
|
}
|
|
|
|
# vim: ts=2 sw=2 et:
|