aboutsummaryrefslogtreecommitdiffstats
path: root/testing/openjfx12/APKBUILD
blob: d0dff4ec9677f7ca77abb6886c4b3af849235421 (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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=openjfx12
pkgver=12.0.2_p1
_pkgver=${pkgver/_p/+}
pkgrel=0
pkgdesc="Open JavaFX 12"
url="https://hg.openjdk.java.net/openjfx/12-dev/rt"
arch="all !x86 !armhf !armv7" # openjdk11 is not yet available on 32 bit arches
license="GPL-2.0-with-classpath-exception"
depends="$pkgname-gtk3" # for the virtual openjfx12 package
makedepends="binutils-gold
	cmake
	ninja
	python2
	gperf
	openjdk11-jdk
	alsa-lib-dev
	ffmpeg-dev
	freetype-dev
	gtk+2.0-dev
	gtk+3.0-dev
	icu-dev
	ruby-dev
	sqlite-dev"
subpackages="$pkgname-media:_media
	$pkgname-web:_web
	$pkgname-jmods:_jmods:noarch
	$pkgname-src:_src:noarch
	$pkgname-doc:_doc:noarch
	$pkgname-gtk2:_gtk2
	$pkgname-gtk3:_gtk3
	$pkgname-libs:_libs
	$pkgname-base:_base:noarch
	$pkgname-dev:_dev:noarch"
source="openjfx-$_pkgver.tar.bz2::http://hg.openjdk.java.net/openjfx/12-dev/rt/archive/$_pkgver.tar.bz2
	https://archive.apache.org/dist/ant/binaries/apache-ant-1.8.2-bin.zip

	configure-ant-home.patch
	crosscompile.patch
	disable-architecture-verification.patch
	disable-assembler-on-unsupported-archs.patch
	disable-jit-for-non-x86.patch
	disable-sse2.patch
	disable-webkit-sampling-profiler.patch
	fix-arm32-build.patch
	fix-arm64-build.patch
	gcc-no-error.patch
	use-system-icu.patch
	webcore-linker-flags.patch
	webkit-debug-level.patch"
builddir="$srcdir/rt-$_pkgver"

_ant_home="$srcdir/apache-ant-1.8.2/"
_java_home="/usr/lib/java/openjfx12"

sonameprefix="$pkgname:"
ldpath="$_java_home/lib"

prepare() {
	default_prepare

	# Create build properties
	cat >gradle.properties <<EOF
PROMOTED_BUILD_NUMBER=${_pkgver##*+}
COMPANY_NAME=Alpine
HUDSON_JOB_NAME=abuild
RELEASE_SUFFIX=-alpine
COMPILE_WEBKIT=true
COMPILE_MEDIA=true
# non standard, alpine patched properties
ANT_HOME=$_ant_home
EXTRA_CXXFLAGS=$CXXFLAGS
EXTRA_LDFLAGS=$LDFLAGS
PKG_CONFIG_PATH=$PKG_CONFIG_PATH
PKG_CONFIG_SYSROOT_DIR=$PKG_CONFIG_SYSROOT_DIR
CC=${CC:-gcc}
CXX=${CXX:-g++}
AR=${AR:-ar}
EOF

	# use system provided library for icu
	rm -rf modules/javafx.web/src/main/native/Source/ThirdParty/icu

	# make gradle wrapper executable
	chmod +x ./gradlew
}

build() {
	./gradlew publicExportsStandaloneLinux
}

check() {
	./gradlew check -x :web:test
}

package() {
	mkdir -p "$pkgdir/$_java_home/apps"
	cp -r build/artifacts/javafx-sdk-12*/*                         "$pkgdir/$_java_home"
	cp -r build/artifacts/javafx-jmods-12*/                        "$pkgdir/$_java_home/jmods"
	cp -r build/artifacts/javafx-docs-12*/                         "$pkgdir/$_java_home/api"
}

_jmods() {
	pkgdesc="$pkgdesc (jmods)"
	depends=""
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot"
	mv "$_fromroot/jmods" "$_toroot"
}

_src() {
	pkgdesc="$pkgdesc (src)"
	depends=""
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mv "$_fromroot/lib/src.zip" "$_toroot/lib/src.zip"
}

_doc() {
	pkgdesc="$pkgdesc (Documentation)"
	depends=""
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot"
	mv "$_fromroot/api" "$_toroot"
}

_gtk2() {
	pkgdesc="$pkgdesc (GTK 2)"
	depends="$pkgname-base"
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mv "$_fromroot/lib/libglassgtk2.so"   "$_toroot/lib"
}

_gtk3() {
	pkgdesc="$pkgdesc (GTK 3)"
	depends="$pkgname-base"
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mv "$_fromroot/lib/libglassgtk3.so"   "$_toroot/lib"
}

_web() {
	pkgdesc="$pkgdesc (web)"
	depends="$pkgname-media"
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mkdir -p "$_toroot/jmods"
	mkdir -p "$_toroot/legal"
	mv \
		"$_fromroot"/lib/libjfxwebkit.so \
		"$_fromroot"/lib/javafx.web.jar \
		"$_toroot/lib"
	mv \
		"$_fromroot"/jmods/javafx.web.jmod \
		"$_toroot/jmods"
	mv \
		"$_fromroot/legal/javafx.web" \
		"$_toroot/legal"
}

_media() {
	pkgdesc="$pkgdesc (media)"
	depends="$pkgname-libs"
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mkdir -p "$_toroot/jmods"
	mkdir -p "$_toroot/legal"

	mv \
		"$_fromroot"/lib/libavplugin.so \
		"$_fromroot"/lib/libgstreamer-lite.so \
		"$_fromroot"/lib/libjfxmedia.so \
		"$_fromroot"/lib/libfxplugins.so \
		"$_fromroot"/lib/javafx.media.jar \
		"$_toroot/lib"
	mv \
		"$_fromroot"/jmods/javafx.media.jmod \
		"$_toroot/jmods"
	mv \
		"$_fromroot/legal/javafx.media" \
		"$_toroot/legal/"
}

_libs() {
	pkgdesc="$pkgdesc (libs)"
	depends=""
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot/lib"
	mv "$_fromroot"/lib/*.so   "$_toroot/lib"
}

_base() {
	pkgdesc="$pkgdesc (base)"
	depends="$pkgname-libs openjdk11-jre"
	_fromroot="$pkgdir/$_java_home"
	_toroot="$subpkgdir/$_java_home"

	mkdir -p "$_toroot"
	mv "$_fromroot/legal" "$_toroot"
	mv "$_fromroot/lib"   "$_toroot"
}

_dev() {
	pkgdesc="$pkgdesc (development)"
	depends="$pkgname-jmods $pkgname-src $pkgname-doc $pkgname-media $pkgname-web"
	mkdir -p "$subpkgdir"
}

sha512sums="35b45abf22922f3bea17a746ccad683f7d408ccd7e3aa27f8775d10fbeec72058c6c5828b4b587a0e8c57dbcdee3e9d465f6ecc414cf78b0b38261d8b0b93f9a  openjfx-12.0.2+1.tar.bz2
b10a420f65dc47b609fd3b7b0fae5b0bd1ddfa6a52cad41bc729c03f7ff82a79092ec81a24cdae363b8b6ec05061267e3cc48a0e14e097d07757bc021cb5619b  apache-ant-1.8.2-bin.zip
0c0c32bc1fcb1766c4149d16b07d5f656300a945208a1df5044c9ad2055c37ea7b348593ef88c529be0ff653daf662fc89b0b0e17acd58d95faafbf76de6b2a4  configure-ant-home.patch
261b5c26c33030caa5350bf1833455f0b80f24a115876b95bba1490a42b9bfde43d36c0887ff15d34cd73e14b89d33633316d4baece480f4cfef2f9e147775f6  crosscompile.patch
33a3e4067347a51f5a8dacd3827e6108aefce1dd6a8b39847b1af4652834ffc36d69622023f18cd6cad73c7a3e2e65b51cf14e57f96bf4152385838f82f99646  disable-architecture-verification.patch
c508a813d8c21151396fd385b6807f757236d0ddb0e33db21368c61c554f845c01326c774eb515a52b098ec51c55f77d1b9c185fba8f6dd0bd4aaf2b32e09880  disable-assembler-on-unsupported-archs.patch
b4a421f68a58d1e1f06344068fa835a07ba55e4ea73a9171fbb2a158c961ac0951ce6f29969f54ae5358f89f8f5284b78bcbf7a2c0727cda82d333d1ed4ca816  disable-jit-for-non-x86.patch
7d8c16f132e31a2caa86391944824dfc74ffdcd689c5429310f1546e66726c800583fb5e2bface1ee663fc4576ded545f6118baac9a0c8b7c67a2d21050ff8c7  disable-sse2.patch
3d443a7216b5f0df3eca1ceb7da9cb973f17d015707cad0203972dee8af1422c3204bd77af36571ded0827a56a21f2f355bb657c1e2ff42da2780667bc8cb995  disable-webkit-sampling-profiler.patch
1c139f90a666638866ce3898d0cd2597f6f6ac9c93eb9cfcf0538c30c63949b9a2a1e9a737d06f6b611cf1b13aef9690c82a14fd6d0ec5f9685418190eefab37  fix-arm32-build.patch
3f7ec35437b94e8773541b8cfbf99c2225540572b0c2ba50a954824aba9ad374085fb1b3532ff7bb53a02346b9b5ef7804acf980016815c56acdf587f6559613  fix-arm64-build.patch
51d4cb484996d62b441ce3ee310703b4e16ad79b4574d936215cb8aea512d5f74511244f0e21d7dc0f56f30469803e3581742444da6db7261b93c60f34ffd91a  gcc-no-error.patch
1ad39f3d53ab52696f8ec6c1039afa494949de1c261dd3c0f9f68372860da2a9c601b09c92b61c9099b399c7589f7f2e313bf93aabaabde0e294ddb7eec60b92  use-system-icu.patch
2b8ec3bae8c93e5b6154988a5a7ac53477b7e86eea00d11cbd5ac1aaa5c87ddeaba239a65423549da29647f839c15d0f25126128f8fa619ea11ae907be646b44  webcore-linker-flags.patch
232aebbd13e2e3291d1ae2bc0df282ade5e861e17fce9aaf378ea930655137a2f3fd6e8b43b1ffbc9c3fcc5b21ec36129bdff1070253d6642162e099b32fc171  webkit-debug-level.patch"