aboutsummaryrefslogtreecommitdiffstats
path: root/community/openjdk8/APKBUILD
blob: 50ac9c083cb57ad3f3c57076de5877f7c2f30e98 (plain) (blame)
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
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk8
_java_ver=8
_jdk_update=66
_jdk_build=17
pkgver=$_java_ver.$_jdk_update.$_jdk_build
pkgrel=2
pkgdesc="Sun OpenJDK 8"
url="http://openjdk.java.net"
arch="x86_64 x86"
license="custom"
depends="$pkgname-jre java-cacerts"
options="sover-namecheck"
makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt
	     autoconf automake linux-headers sed
	     openjdk7 ca-certificates
	     nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
	     lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev
	     libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev
	     gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev"
install=""

case $CARCH in
x86)	_jarch=i386;;
x86_64)	_jarch=amd64;;
arm*)	_jarch=arm;;
esac

INSTALL_BASE=/usr/lib/jvm/java-1.8-openjdk
BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk
_jrelib="$INSTALL_BASE/jre/lib/$_jarch"

# exclude xawt from ldpath to avoid duplicate provides for libmawt.so
# (also in headless). in future this should be a virtual provides.
ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli"
sonameprefix="$pkgname:"

subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
	     $pkgname-doc:doc $pkgname-demos:demos"

_dropsurl=http://hg.openjdk.java.net/jdk8u/jdk8u
_dropsver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build}

source="saveas-$_dropsurl/archive/${_dropsver}.tar.bz2/jdk8u-$_dropsver.tar.bz2
	saveas-$_dropsurl/corba/archive/${_dropsver}.tar.bz2/corba-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxp/archive/${_dropsver}.tar.bz2/jaxp-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxws/archive/${_dropsver}.tar.bz2/jaxws-$_dropsver.tar.bz2
	saveas-$_dropsurl/jdk/archive/${_dropsver}.tar.bz2/jdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/langtools/archive/${_dropsver}.tar.bz2/langtools-$_dropsver.tar.bz2
	saveas-$_dropsurl/nashorn/archive/${_dropsver}.tar.bz2/nashorn-$_dropsver.tar.bz2
	saveas-$_dropsurl/hotspot/archive/${_dropsver}.tar.bz2/hotspot-$_dropsver.tar.bz2

	icedtea-hotspot-musl.patch
	icedtea-hotspot-noagent-musl.patch
	icedtea-hotspot-uclibc-fixes.patch
	icedtea-jdk-execinfo.patch
	icedtea-jdk-fix-ipv6-init.patch
	icedtea-jdk-musl.patch
	icedtea-jdk-includes.patch
	fix-libjvm-load.patch
	build-demo-ldflags.patch
	"

_builddir="$srcdir/jdk8u-$_dropsver"

prepare() {
	cd "$_builddir"
	update_config_sub || return 1

	local module
	for module in corba hotspot jdk jaxws jaxp langtools nashorn; do
		ln -s ../${module}-${_dropsver} ${module}
	done

        for patch in $source; do
                case $patch in
                *.patch)
                        msg "Applying patch $patch"
                        busybox patch -p1 < "$srcdir"/$patch || return 1
                        ;;
                esac
        done
}

build() {
	cd "$_builddir"
	unset JAVA_HOME
	export MAKEFLAGS=${MAKEFLAGS/-j*}
	sh ./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--target=$CTARGET \
		--prefix=$INSTALL_BASE \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-update-version="${_jdk_update}" \
		--with-build-number="b${_jdk_build}" \
		--with-user-release-suffix="alpine-r${pkgrel}" \
		--enable-unlimited-crypto \
		--with-zlib=system \
		--with-giflib=system \
		--with-extra-cflags="$CFLAGS" \
		--with-extra-cxxflags="$CXXFLAGS" \
		--with-extra-ldflags="$LDFLAGS" \
		--disable-freetype-bundling \
		--with-boot-jdk="$BOOTSTRAP_JAVA_HOME" \
		|| return 1

	make DEBUG_BINARIES=true || return 1
	make docs || return 1

	# agent was patched off; make empty sa-jdi.jar to make image builder happy
	local build
	for build in build/* ; do
		touch $build/jdk/lib/sa-jdi.jar
	done
	make images || return 1
}

list_paxables() {
        file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//'
}

pax_mark_vm() {
	local paxflags="-mp"
        [ "$CARCH" = "x86" ] && paxflags="-msp"

	for paxable in $(list_paxables "${1}"/bin/* "${1}"/jre/bin/*); do
                echo "PaX mark $paxflags ${paxable}"
                paxmark $paxflags "${paxable}"
        done
}

package() {
	mkdir -p "$pkgdir"/$INSTALL_BASE
	cp -a "$_builddir"/build/*/images/j2sdk-image/* "$pkgdir"/$INSTALL_BASE
	rm "$pkgdir"/$INSTALL_BASE/src.zip

	find "$pkgdir"/$INSTALL_BASE -iname "*.diz" -delete
	find "$pkgdir"/$INSTALL_BASE -iname "*.debuginfo" -delete
	find "$pkgdir"/$INSTALL_BASE \( -name "*.jar" -o -name "*.sym" \) \! -perm +006 \
		| xargs chmod go+r

	pax_mark_vm "$pkgdir"/$INSTALL_BASE

	# symlink to shared java cacerts store
	rm -f "$pkgdir"/$INSTALL_BASE/jre/lib/security/cacerts
	ln -sf /etc/ssl/certs/java/cacerts \
		"$pkgdir"/$INSTALL_BASE/jre/lib/security/cacerts
}

jrelib() {
	pkgdesc="OpenJDK 8 Java Runtime (class libraries)"
	arch="noarch"
	depends=""

	for A in jre/lib/images jre/lib/*.jar jre/lib/security \
		 jre/lib/ext/*.jar jre/lib/cmm jre/ASSEMBLY_EXCEPTION \
		 jre/THIRD_PARTY_README jre/LICENSE ; do
		dirname=${A%/*}
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
	done
}

jrebase() {
	pkgdesc="OpenJDK 8 Java Runtime (no GUI support)"
	depends="$pkgname-jre-lib java-common"

	mkdir -p "$subpkgdir"/$INSTALL_BASE/bin

	for A in java orbd rmid servertool unpack200 keytool \
		 pack200 rmiregistry tnameserv ; do
		mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin
	done

	# rest of the jre subdir (which were not taken by -jre subpkg)
	mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE

	pax_mark_vm "$subpkgdir"/$INSTALL_BASE
}

jre() {
	pkgdesc="OpenJDK 8 Java Runtime"

	mkdir -p "$subpkgdir"
	for A in jre/bin/policytool \
		 bin/appletviewer \
		 bin/policytool \
		 jre/lib/$_jarch/libawt_xawt.so \
		 jre/lib/$_jarch/libsplashscreen.so ; do
		dirname=${A%/*}
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
	done

	pax_mark_vm "$subpkgdir"/$INSTALL_BASE
}

doc() {
	default_doc

	mkdir -p "$subpkgdir"/$INSTALL_BASE/
	mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
}

demos() {
	pkgdesc="OpenJDK 8 Java Demos and Samples"
	depends="$pkgname"

	mkdir -p "$subpkgdir"/$INSTALL_BASE/
	mv "$pkgdir"/$INSTALL_BASE/demo "$pkgdir"/$INSTALL_BASE/sample \
		"$subpkgdir"/$INSTALL_BASE/
}

md5sums="8b363a941ca813739f63ef81c8b58cb3  jdk8u-jdk8u66-b17.tar.bz2
c99a63dfaf2b2f8cc549e65b790a2e7a  corba-jdk8u66-b17.tar.bz2
5b32371928b7aa67646b560e5c89dcde  jaxp-jdk8u66-b17.tar.bz2
05f7c3c91f3a6a38316bb4f406798b61  jaxws-jdk8u66-b17.tar.bz2
6d737d1623b83a7acca8c18d0e08dd3d  jdk-jdk8u66-b17.tar.bz2
07223640c22b3ea75f3df81876622ba5  langtools-jdk8u66-b17.tar.bz2
d5e109b7e2b2daab5874d650293321c8  nashorn-jdk8u66-b17.tar.bz2
d15561707ce64419f36c18e4fba6cbbe  hotspot-jdk8u66-b17.tar.bz2
f87dd2c4c3c97fc3ac33080a65ca9e14  icedtea-hotspot-musl.patch
a5841507a216890bd8419d496bb118c3  icedtea-hotspot-noagent-musl.patch
43023861c5f6efc3139a834aa3ec0476  icedtea-hotspot-uclibc-fixes.patch
bdea7060a067faf1c2de5f4eb6e8525d  icedtea-jdk-execinfo.patch
250b0807b59762670954b132e8f8dfba  icedtea-jdk-fix-ipv6-init.patch
fc1dc983dc562eda399c9d7eabd3b299  icedtea-jdk-musl.patch
fc7d3cc1f5a5615574fd1e416144a042  icedtea-jdk-includes.patch
9b95183ae088ac2520ac66ae587619e4  fix-libjvm-load.patch
ea23c28032d50816a243d15afb2d8fb6  build-demo-ldflags.patch"
sha256sums="ea639bf4945727757f4b70bf93ef4ba8c7f21a72a3399059dcfdf10fe20c1bbb  jdk8u-jdk8u66-b17.tar.bz2
60b715779657635f035be1bf96d05c72ff38c20d4ba570e19d47e024df41b1a2  corba-jdk8u66-b17.tar.bz2
6f6b069e79fbb272fde2fc6d0cb067ab6b3b0959694a61ef12d8d7916b3e6fef  jaxp-jdk8u66-b17.tar.bz2
d020fe6348220e141821f6f2cd04f679ffc0b77b9d1a478a8492ede28c49455d  jaxws-jdk8u66-b17.tar.bz2
77b81255af6c7052012ace9851bcf2c3be3336825e8174c34da70f8c0c5325ec  jdk-jdk8u66-b17.tar.bz2
6d8bca76f0db2c718e7559638f502f115acda68fc993d98adb4314a89f28f6bd  langtools-jdk8u66-b17.tar.bz2
ea5a84f7a63084740aa6348b1c00f91170e7556ff4cdb6eea2ad588f62238947  nashorn-jdk8u66-b17.tar.bz2
3100603bde28413bb80b52b4c58194f7bb98090034b7a835be03399255e0ddd0  hotspot-jdk8u66-b17.tar.bz2
a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e  icedtea-hotspot-musl.patch
9223d4a1ae20b51bcb901ace115a2cd5f15b05655ea076c05f4c7f2c66f341e5  icedtea-hotspot-noagent-musl.patch
0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745  icedtea-hotspot-uclibc-fixes.patch
a35d40f24098747cdb73d9c3742cfb4aecafa0f72c9dfdfe2cb460f9706ff665  icedtea-jdk-execinfo.patch
632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5  icedtea-jdk-fix-ipv6-init.patch
d3fcf4779a23181178e722a93290921f5c61ed7220d3a431953a53c24f89e562  icedtea-jdk-musl.patch
38590e411b7bf9b99f5168709b975e1c432ef600915800c709a6617504e2c13a  icedtea-jdk-includes.patch
47028d87c9a65df8d0103b39bf54b2b22de7db7c52a5de1058f88f4c5ea24f0d  fix-libjvm-load.patch
eebfb2613ae342587e8477a1022703ac986ed59e941ec1e96b2a3264c67c587b  build-demo-ldflags.patch"
sha512sums="acf78e721f391319cc1a59f5481f03814cf101767561177bb9a9a667dceaa0f39812e1b06267c0e25bc3ab5ee8b03e2225e5d08714c7c50308226b05fc193a46  jdk8u-jdk8u66-b17.tar.bz2
4127d7b337dc437c12f4852289b81e7f8e89c58232dbb8b6ac5678c10c3c8eb0a81dd44f19db3605ec8dc225aa27d6278fed43d3f6412529166822556d75e372  corba-jdk8u66-b17.tar.bz2
919dc34951097740f6ee92a151d097fa27fc98ca3738c9432197eff340ae980a8d94fe6bc106cf1e307d305884da7c312d3ebc4c36836851ae16b07fff55dcb2  jaxp-jdk8u66-b17.tar.bz2
a737bdffbfcfd4307e156c84e3fc4117f9ff150af395ccd0b523dc5f5157dc653722a6a1ddda7cc1894364e6edcda7dff7cf8aa8f3b355b93a859f1d8a8d0f2d  jaxws-jdk8u66-b17.tar.bz2
d56fb10c8ed1c6810b88b6f67ec39ab6fbbfb0e49ac823204803f356cd955193004b6a0c66ea6ef1954e811ee0dedaf6127aafe08cd84a9103a85f3da8658a88  jdk-jdk8u66-b17.tar.bz2
53808cd550ec44548f1469c006985823ed67cb6db7a5b9ae97cf00e5b5ee83dd3f13099bd0db48e2bf08f9f65d2db987f9935a483beaf68f1f86a83dfd8de581  langtools-jdk8u66-b17.tar.bz2
6c88257624aebf571fa3244d8e00676a953a70d60310c74698b73829e76c7069d8e2262136d99806ad26fe09c1d8d8915d4596e9bcd33758027533062e59653a  nashorn-jdk8u66-b17.tar.bz2
ceaaee816eac7ed086254084d1c43f969eb0c5bcd9ee5acee17f97393af3f31004867cd42f127bedf215a7189880b0aa5b943d1c7a3ac3721e63d92ec9f9077a  hotspot-jdk8u66-b17.tar.bz2
994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933  icedtea-hotspot-musl.patch
d930edbb830957729031228196720fa2d50747655a9289097103d36f852ab11b7198e18805bd89c6a438c3ccf224be48cda5f994b193ab1f81a72aada0df2b16  icedtea-hotspot-noagent-musl.patch
822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a  icedtea-hotspot-uclibc-fixes.patch
f6365cfafafa008bd6c1bf0ccec01a63f8a39bd1a8bc87baa492a27234d47793ba02d455e5667a873ef50148df3baaf6a8421e2da0b15faac675867da714dd5f  icedtea-jdk-execinfo.patch
48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774  icedtea-jdk-fix-ipv6-init.patch
2fd75bb52e7c9e3b56a383b72ee519d395413b000aef94ad00b106a692a199de34967bac1120164cebce5f71d302413742922a55cc6479b2d33258aaf7d03c1b  icedtea-jdk-musl.patch
7df0db85039da8cbde49093ec3299f6804370f4134554a9c26c130a4e9e0b35409a3be833f3e90764ed16718683daffb6447261db8e5988f2e0519f649aedbc6  icedtea-jdk-includes.patch
978539ba0b1f1694cda6a3a1542a4373861cbfb4dc414a3b796cd8841ecf6e12248c746b5efe2c031c85a3b0684101b29e8a5f4ff70e77c1a3f3cd7f5cb148ce  fix-libjvm-load.patch
bcf9af85907b4f49f1aa470d21917280fcf9fc8892f089fe8c284ec3f2eccd57f799c7f06ce2ce641421d50396fa192cb71ccbb7a077958aacf57b8dadc80bc1  build-demo-ldflags.patch"