summaryrefslogtreecommitdiffstats
path: root/main/openjdk7/APKBUILD
blob: e1f9c0bf29e41b7dffa739d96276eaeac1255666 (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
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk7
_icedteaver=2.5.1
_openjdkupdate=60
pkgver=7.$_openjdkupdate.$_icedteaver
pkgrel=0
pkgdesc="Sun OpenJDK 7 via IcedTea"
url="http://icedtea.classpath.org/"
arch="x86 x86_64 armhf"
license="GPL-2 with Classpath"
depends="$pkgname-jre"
options="sover-namecheck"
makedepends="findutils tar zip paxctl gawk pkgconfig util-linux
	     autoconf automake nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
	     lcms2-dev libxp-dev libxtst-dev libxinerama-dev libiconv-dev zlib-dev
	     libxrender-dev alsa-lib-dev freetype-dev xulrunner-dev fontconfig-dev
	     gtk+2.0-dev krb5-dev attr-dev ca-certificates libxslt zip"
install=""

# upstream binary versions
RHINO_VER=1_7R3
ANT_VER=1.9.2

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

INSTALL_BASE=/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"
somask="libjvm.so"

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

if [ "$BOOTSTRAP" != "no" ]; then
	makedepends="$makedepends java-gcj-compat"
	BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/
else
	makedepends="$makedepends $pkgname"
	BOOTSTRAP_JAVA_HOME="$INSTALL_BASE"
fi

_dropsver=$_icedteaver
_dropsurl=http://icedtea.classpath.org/download/drops/icedtea7/$_dropsver

source="http://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.gz
	saveas-$_dropsurl/openjdk.tar.bz2/openjdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/corba.tar.bz2/corba-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxp.tar.bz2/jaxp-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxws.tar.bz2/jaxws-$_dropsver.tar.bz2
	saveas-$_dropsurl/jdk.tar.bz2/jdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/langtools.tar.bz2/langtools-$_dropsver.tar.bz2
	saveas-$_dropsurl/hotspot.tar.bz2/hotspot-$_dropsver.tar.bz2
	http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
	ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip

	fix-paxctl-args.patch
	icedtea-build-paxmark.patch
	icedtea-hotspot-musl.patch
	icedtea-hotspot-noagent-musl.patch
	icedtea-hotspot-uclibc-fixes.patch
	icedtea-jdk-fix-build.patch
	icedtea-jdk-execinfo.patch
	icedtea-jdk-fix-ipv6-init.patch
	icedtea-jdk-iconv-uclibc.patch
	icedtea-jdk-musl.patch
	icedtea-jdk-no-soname.patch
	icedtea-jdk-giflib51.patch
	"

# icedtea6-1.9.7-generate_cacerts-1.patch
# icedtea-jdk-no-lib-nsl-uclibc.patch

_builddir="$srcdir/icedtea-$_icedteaver"

unpack() {
	if [ -z "$force" ]; then
		verify || return 1
		initdcheck || return 1
	fi
	mkdir -p "$srcdir"
	msg "Unpacking sources..."
	tar -C "$srcdir" -zxf icedtea-$_icedteaver.tar.gz || return 1
	tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1
	unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1
}

prepare() {
	cd "$_builddir"

        # Busybox sha256 does not support longopts
        sed -e "s/--check/-c/g" -i Makefile.am

        for patch in $source; do
                case $patch in
		icedtea-*.patch)
			cp ../$patch patches
			;;
                *.patch)
                        msg "Applying patch $patch"
                        patch -p1 -i "$srcdir"/$patch || return 1
                        ;;
                esac
        done

	./autogen.sh
}

build() {
	[ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'`
	export ALT_PARALLEL_COMPILE_JOBS="${JOBS:-2}"
	export HOTSPOT_BUILD_JOBS="${JOBS:-2}"

	export JAVA_HOME=$BOOTSTRAP_JAVA_HOME
	export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH
	export DISTRIBUTION_PATCHES=""

	local patch
	for patch in $source; do
		case $patch in
		icedtea-*.patch)
			export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch"
			;;
		esac
	done
	echo "icedtea patches: $DISTRIBUTION_PATCHES"

	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=$INSTALL_BASE \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-parallel-jobs=${JOBS:-2} \
		--disable-dependency-tracking \
		--disable-downloading \
		--with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
		--with-openjdk-src-zip=$srcdir/openjdk-$_dropsver.tar.bz2 \
		--with-hotspot-src-zip=$srcdir/hotspot-$_dropsver.tar.bz2 \
		--with-corba-src-zip=$srcdir/corba-$_dropsver.tar.bz2 \
		--with-jaxp-src-zip=$srcdir/jaxp-$_dropsver.tar.bz2 \
		--with-jaxws-src-zip=$srcdir/jaxws-$_dropsver.tar.bz2 \
		--with-jdk-src-zip=$srcdir/jdk-$_dropsver.tar.bz2 \
		--with-langtools-src-zip=$srcdir/langtools-$_dropsver.tar.bz2 \
		--with-pax=paxctl \
		--with-jdk-home=$BOOTSTRAP_JAVA_HOME \
		--with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \
		|| return 1

	make || return 1
}

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

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

	for A in jre/lib/zi 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 7 Java Runtime (no GUI support)"
	depends="$pkgname-jre-lib java-common"
	# manually provide this to avoid clash with libgcj's libjvm.so
	provides="so:openjdk7:libjvm.so=0"

	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
}

jre() {
	pkgdesc="OpenJDK 7 Java Runtime"
	# manually depend to avoid clash with libgcj's libjvm.so
	depends="so:openjdk7:libjvm.so=0"

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

doc() {
	default_doc

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

md5sums="30fa67392947b2e1b5a608a97fece3ee  icedtea-2.5.1.tar.gz
9a599c97007df0f6156767e914063956  openjdk-2.5.1.tar.bz2
381f9c3694b302064520b603feb8aba3  corba-2.5.1.tar.bz2
0c11aeb494fb76143ccf0b58b0b6ac96  jaxp-2.5.1.tar.bz2
ab102f6a0e4bb56a5153d0a005451566  jaxws-2.5.1.tar.bz2
5183620f97e366267568f4e613b71f28  jdk-2.5.1.tar.bz2
04b5c20b2320f75c1f510e0b53f6480c  langtools-2.5.1.tar.bz2
79442639a24fedefe0ca5c3a66f87fe1  hotspot-2.5.1.tar.bz2
9a2826a1819aa128629778217af36c55  apache-ant-1.9.2-bin.tar.gz
99d94103662a8d0b571e247a77432ac5  rhino1_7R3.zip
7ea70e69d307dfb801a198bce51405b0  fix-paxctl-args.patch
86829ac37f02f0d631ddde5f164a0015  icedtea-build-paxmark.patch
f87dd2c4c3c97fc3ac33080a65ca9e14  icedtea-hotspot-musl.patch
aefe00f7f9b91805f402efad9208dd53  icedtea-hotspot-noagent-musl.patch
43023861c5f6efc3139a834aa3ec0476  icedtea-hotspot-uclibc-fixes.patch
07c7ab583808e8c8ceb46aff9c265aa4  icedtea-jdk-fix-build.patch
bd623081d5d2e63694c3649975b12412  icedtea-jdk-execinfo.patch
250b0807b59762670954b132e8f8dfba  icedtea-jdk-fix-ipv6-init.patch
7c0814181e5adc0763c5c0a24b01d4cb  icedtea-jdk-iconv-uclibc.patch
66f6e66eb135f0d88847910f6581d323  icedtea-jdk-musl.patch
d014431e70cdabb82a75e4b9ae4c28a9  icedtea-jdk-no-soname.patch
529dd5e5372112470dacc08c95b0c22a  icedtea-jdk-giflib51.patch"
sha256sums="06483c252099d41e33eade8ceee9231a15ba1e9594f90e2d32943d17c8802acd  icedtea-2.5.1.tar.gz
0496072760c521aa184f3c26c1f515a89ef6f9a88df14fa888c6ee6cdd9379b7  openjdk-2.5.1.tar.bz2
d476f22db32e028cc30dda47fec81e5ba0e113f029c3ed7a30edf8fc1404819b  corba-2.5.1.tar.bz2
d13778e5bbf6cda22a40b9d5186d2a7d1a3f34d998b1ac4d65fe3abd12fffa25  jaxp-2.5.1.tar.bz2
29c39856af1153620023c3fa0313be2f23dc02208db1a8429ca80d1eebfce06f  jaxws-2.5.1.tar.bz2
76194344fca5db4c79e4a2af28efd9fbb2e38e879b5afc59042874519bb5f7fc  jdk-2.5.1.tar.bz2
374174ea3b7eb2bb81d9dfae4749d7b3c9037d07004aa59aaa5e8ed5fba922d3  langtools-2.5.1.tar.bz2
78d57f7c207d8f56bba2ee6aec232a836fd51830d352cfa4804d8077d9a7b32b  hotspot-2.5.1.tar.bz2
cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45  apache-ant-1.9.2-bin.tar.gz
885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1  rhino1_7R3.zip
2c515d2664a3792561bd635b6df0dd24918feb3095ed938b1ec807b005928e69  fix-paxctl-args.patch
b81a5e40ce9a93409e8226fe73a228d1c277343fc4f8a888277beb0d5bf0f551  icedtea-build-paxmark.patch
a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e  icedtea-hotspot-musl.patch
afed589db3dbd89513fc890d5b315ca2a5953e8915ff2f24d38448ec145266e9  icedtea-hotspot-noagent-musl.patch
0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745  icedtea-hotspot-uclibc-fixes.patch
33b18e827a13cc46be11a4491deefac171c8c2c4fbdd3e0cb4a5fdafa560f958  icedtea-jdk-fix-build.patch
6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9  icedtea-jdk-execinfo.patch
632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5  icedtea-jdk-fix-ipv6-init.patch
a36ff13d81a1f1415bedd595b77f2c43574c546938cce7882cb33bbe63464865  icedtea-jdk-iconv-uclibc.patch
b3f82269f69483d3fe137e369f9325003ce7872d886cdf67705b434ce949b5bc  icedtea-jdk-musl.patch
6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82  icedtea-jdk-no-soname.patch
77fba3032edf6cce549cd4e174d9296684b20f4589dc59179fcc8cba7426a4e9  icedtea-jdk-giflib51.patch"
sha512sums="c7565babca6072d10f4210ca2a50e714115a1167a5d97baf915c318fb77b3603e11ea178517b0bc9d593ba40b91b41bccfa8965d2d4c57f31df35074cc0968ab  icedtea-2.5.1.tar.gz
94fddea352e2e6bc6ce0099f0fc47cc33ed7b82acf11f96280b6a1b4e019602ebe9bc5f88d0164bdc9eb6aca43e5edf5eae417c6eade211172934e570c4ce6e1  openjdk-2.5.1.tar.bz2
525ebb207fcf85cb117513149a17f132a6c9f3ee1c2109c6e86377e08b45bb647df88363cb1a1a57248792e699468301232ecb1a92b7203b121f57feedf43806  corba-2.5.1.tar.bz2
91b8510519851859b72e6cfe3caf3fc27076de43ecc2fa874c37587ecae9d369ef8873d2a00a0d0ce246152bf9a11b226f7dac8789d81b180f12d8bccd274482  jaxp-2.5.1.tar.bz2
20e5e3fd5700c7000d4ccb5d4b851eccafaa7e4bbc90064884716dfddb32ef80491ef78a8d7ae04e3fac92f5b4fd52befbc58a0c6877cbea4fe7cddbd4458a4c  jaxws-2.5.1.tar.bz2
1a46764a323216c32ddd4a56f9e3ec3e8c8979a9117ef64540e8b44c14d9c5f2ea335d92e5cdcfa2a988259ff95725cbf709279b3b293a8723004755a664fe36  jdk-2.5.1.tar.bz2
6592f575d3e2353c54d862f7c2f08bf97b71a72fd2dbcbfaf6ed1de47461f8a104e2fc021b0f3cd812b96cbfc19c8d5e8c748052b390a3941d2e129420139883  langtools-2.5.1.tar.bz2
d92044eaac48155026c48f25799547aac90dde66f51a70f8a00a39089511572ae61c776714f2cc7b7e6b9f093991c1fb588443e57f483c3bfe1d3bc94b5f6da7  hotspot-2.5.1.tar.bz2
618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49  apache-ant-1.9.2-bin.tar.gz
77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36  rhino1_7R3.zip
f4be5689f72e333bda03d9e89aacfd7cd9bd79601d34bdd03fd2935b46efdc277168d8195e27d35c6dff814712a80c832cab2ff02b186c6cb701de3d2a89c6c8  fix-paxctl-args.patch
be5410260f05642d592ad16945041505277e3cda48e4693a74ab5d432e1c70976d873fa61510b03c6b5fa2b22178e234628a1c72bd568bb82b39c25fddc0ebec  icedtea-build-paxmark.patch
994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933  icedtea-hotspot-musl.patch
2b2cdf2c27f95ba5557748bcc49c27e498a1e2efb3526da8dea847f3b0a0776dfdd403e898c9bec9187135750183c89bde183c6fc6112109e39d984df77e9b44  icedtea-hotspot-noagent-musl.patch
822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a  icedtea-hotspot-uclibc-fixes.patch
213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458  icedtea-jdk-fix-build.patch
0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb  icedtea-jdk-execinfo.patch
48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774  icedtea-jdk-fix-ipv6-init.patch
a6ee1c63a171859ab1350481bc3e5d464354f1105d80fc72c1d58620672ca5c1a550b954b35917f89537f0aeb28c49470b27522ce53588e42dedff41e074774c  icedtea-jdk-iconv-uclibc.patch
44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5  icedtea-jdk-musl.patch
bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1  icedtea-jdk-no-soname.patch
b4a90ef63dbaec764569a671f850db42a2257b729858923a3831dafaa098c61a635462ee5c72e7fb3ddb2e54d6ee98ff69bf2b4b4f3ec9310f54caf7739e9e82  icedtea-jdk-giflib51.patch"