aboutsummaryrefslogtreecommitdiffstats
path: root/testing/openjdk8/APKBUILD
blob: d7400dbb9afd4e6c85f3879fec23c3bb520fe5cc (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
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk8
_java_ver=8
_jdk_update=66
_jdk_build=02
pkgver=$_java_ver.$_jdk_update.$_jdk_build
pkgrel=1
pkgdesc="Sun OpenJDK 8"
url="http://openjdk.java.net"
arch="x86_64 x86"
license="custom"
depends="$pkgname-jre"
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"

_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.zipa

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

	pax_mark_vm "$pkgdir"/$INSTALL_BASE
}

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/
}

md5sums="1d115662e175470270e89a4da8e0fce2  jdk8u-jdk8u66-b02.tar.bz2
e14d8f51b9ca30d798094a2867f3f5d0  corba-jdk8u66-b02.tar.bz2
6bd5ae187272a209439d1a95ac6c9025  jaxp-jdk8u66-b02.tar.bz2
15e6a93009bdc73194e7118988d5ab8d  jaxws-jdk8u66-b02.tar.bz2
74f2cf3815659b83993c4187e7fc4f6b  jdk-jdk8u66-b02.tar.bz2
de5c9b5fdbcd75028b71ed667d4b99d2  langtools-jdk8u66-b02.tar.bz2
7da4e88349cfc45ee9726eaa4386be03  nashorn-jdk8u66-b02.tar.bz2
b49a7b7f2db5b07306b7b5739e87ccc0  hotspot-jdk8u66-b02.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="f4dbc2d8f184d60b2caee56c86e29a3fae6025ee6606079e9e8a607402b631f9  jdk8u-jdk8u66-b02.tar.bz2
7cd14a32a00f9051a7c37d2c263626b97463ef7874df34175a8807bc15d2ac60  corba-jdk8u66-b02.tar.bz2
c9b1c7f21d5bc335b4bedb327267b68ea5b90bef2ed3938c9de08d5f5ca3de43  jaxp-jdk8u66-b02.tar.bz2
e46c6ad5b1f7661913953acb140affc25d281bcee61b50c6a79f6c4b189c4d88  jaxws-jdk8u66-b02.tar.bz2
dc7f945fa7f428583ca6423b5a3f70f24016cb2f5c56e3f3b24647b4f6af9e15  jdk-jdk8u66-b02.tar.bz2
853ba30f863cafd0556ca8056bf6eab16f7a63960c0e205efc729f727849a7b5  langtools-jdk8u66-b02.tar.bz2
ab76632148a1ecba96e96e2e0409a41f7301396c8bfd863e55b883848923fdf2  nashorn-jdk8u66-b02.tar.bz2
3950387e65b38cf599ee890a07ba28a5d1f6f1a861902dae7bd26379df7e334e  hotspot-jdk8u66-b02.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="ddbae784fbae51b49f3308eeb3995458fb43d563a8699ef8cb3d7d3775ed58a60c1cf11339ab520bdb6300709236f28444059b2f3f5bf551faac6748a02e6779  jdk8u-jdk8u66-b02.tar.bz2
fbaa4207a24e90f55aa3e0584598b7f4cf3baa7d565fb04699abb47fc8ff720c1c6a956b1e0296076f988517e13f3ca446aca8c60e0351a4ea25f108f954aaa1  corba-jdk8u66-b02.tar.bz2
b258f72216202844ac25415bb5c14caf34efb110e7684d7d392b30fca1df19d064e91c3bef35e16acd1d0be6ed1dc36158cb7922cad191408883f9e241b075a5  jaxp-jdk8u66-b02.tar.bz2
50d1a2243cea941e25a0de16010cb51db8333386b1ae9d97e8a88f9e15fcdb6fc42fc88232b632b7f56747dcb451e51decb84b4b6021a65b712f2523b64ea623  jaxws-jdk8u66-b02.tar.bz2
1a73ca36c69e96843e3f57d8bfe0e52eee5f4c325188da6f7272e074c0b70044105ed3cad252af456b58a8c3c6f15afb41149b813ad9d5deaf098e2977688ec7  jdk-jdk8u66-b02.tar.bz2
983df030b486f08101992a6a2c8b923e6bf445e347b96be4825f0149776fafcf536b8758db7c15034d81d10d63b7df8ac4f2be5ec8b03863cc9e6236080ec7d0  langtools-jdk8u66-b02.tar.bz2
72173e970526e680fa4ee9e972f27c5d04e8bb0c64240914c670723fe89efbc94d80f196085968f8975ca74ce9b6fe02633224454465a5d51a2e4082306b4677  nashorn-jdk8u66-b02.tar.bz2
e8fbbf79272ef2153a7bb4e49ada886d0505ccd3964d9ab0c6290e2b88ffde10af2be68e3b7a48a205968c5261167729db3468fad73ea2df71a51ad8ccd6727d  hotspot-jdk8u66-b02.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"