blob: 1fcd4bc678b0941434c3006eaf902b93cd9377c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# Maintainer: Patrick Northon <northon_patrick3@yahoo.ca>
: ${_use_gradle_wrapper:=0}
_java_ver=24
pkgbase=java${_java_ver}-openjfx
pkgname=(
java${_java_ver}-openjfx
java${_java_ver}-openjfx-doc
java${_java_ver}-openjfx-src
)
_tag='27+2'
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}-env.sh"
)
b2sums=('e9f6d830f34910ba684851e077e3fd67052b37129e228f63671631076db44c4e25b34e23f7caad6f296f281e4101940a74639257d209580c4144f434c2a3c197'
'0c023ef99e7ee600710c54dad0ad59070620595109ca42c5057fa2ab74ef6d244631745f5cd4c1bea9c0321ee69f1e1efaab820ff124ad1d4f453121e77fd14f'
'5b6dafc22995b57564fda89aaedeb2b6ee58b2c635336ac43a123ea4ac6ced3a20eba39d99cc4eb7ec7b29fc7541f5c3bee454ee55ca79fd2d7ce5ef4ed65cd3'
'4e67afda5db9e48dfe1341c25fc597f2b4c21d784b65a510bf56c4bf5c475db5f995dcfbf4db417ba9ebe99dc5b1c286dbf43e948669ace93906f45720100a50')
_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_java24-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 -Dm755 "${srcdir}/${pkgbase}-env.sh" "${pkgdir}/usr/bin/${pkgbase}-env"
}
package_java24-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_java24-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:
|