aboutsummaryrefslogtreecommitdiffstats
path: root/main/openjdk7/APKBUILD
blob: 31e84420aa1b728f3a5978b502ffafe44c9f7181 (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
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk7
_icedteaver=2.6.1
# pkgver is <JDK version>.<JDK update>
# check icedtea JDK when updating
pkgver=7.85.$_icedteaver
pkgrel=0
pkgdesc="Sun OpenJDK 7 via IcedTea"
url="http://icedtea.classpath.org/"
arch="all"
license="GPL2 with Classpath"
depends="$pkgname-jre"
options="sover-namecheck"
makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt
	     autoconf automake linux-headers
	     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=""

# 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
	# openjdk has quite a bit of arm assembly producing textrels
	# and it's non trivial to fix. allow it that for now.
	options="$options textrels";;
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

	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-musl.patch
	icedtea-jdk-no-soname.patch
	"

# icedtea6-1.9.7-generate_cacerts-1.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=paxmark \
		--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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$pkgdir"/$INSTALL_BASE
}

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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE
}

doc() {
	default_doc

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

md5sums="efac44117a94b9d3278988959e336e05  icedtea-2.6.1.tar.gz
d330560d5e9f443aa0e26130ca111a3f  openjdk-2.6.1.tar.bz2
0de3ec4198c437e3cbc58420c65146e1  corba-2.6.1.tar.bz2
8fa2bf64a4c27fea33f5fa60df6bcce6  jaxp-2.6.1.tar.bz2
ebb952f8d77498fd8e5f0a1f27e2a6a2  jaxws-2.6.1.tar.bz2
e242c40b5d7f4cfa52a0071c2836ba34  jdk-2.6.1.tar.bz2
1bf69ee4265e49516283aa9126ceb80d  langtools-2.6.1.tar.bz2
1a2fae086d50fc1ad69b72b4cf5baa3a  hotspot-2.6.1.tar.bz2
9a2826a1819aa128629778217af36c55  apache-ant-1.9.2-bin.tar.gz
99d94103662a8d0b571e247a77432ac5  rhino1_7R3.zip
f87dd2c4c3c97fc3ac33080a65ca9e14  icedtea-hotspot-musl.patch
bf8b50e157d80a8b884c1aa4f8124812  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
66f6e66eb135f0d88847910f6581d323  icedtea-jdk-musl.patch
d014431e70cdabb82a75e4b9ae4c28a9  icedtea-jdk-no-soname.patch"
sha256sums="491866e57199b0bc99d716be3eabaab97d9f6a698d1a652d748baeddeedfe963  icedtea-2.6.1.tar.gz
0168a0174ee47407139ee32458c4d2a298ba4f44260343b209250156e4da463f  openjdk-2.6.1.tar.bz2
cd03d97c171a2d45ca94c1642265e09c09a459b1d4ac1191f82af88ca171f6f8  corba-2.6.1.tar.bz2
c00c4c2889f77c4615fd655415067e14840764f52e503f220ed324720117faeb  jaxp-2.6.1.tar.bz2
2d5ff95dc62ab7986973e15e9cf91d5596d2cf486ee52beab9eab62f70f2ae9f  jaxws-2.6.1.tar.bz2
a8083e75e14ddb4575bf2cd733e80a0074201b45d8debbe04f84564b32875363  jdk-2.6.1.tar.bz2
6db9bd16658fa8460e0afa4b05f28bd47148528d7581a403bea1e70f56cedd43  langtools-2.6.1.tar.bz2
00043b0c09aa06ce1766c2973d18b0283bd2128a44c94cde97b626a4856b68b3  hotspot-2.6.1.tar.bz2
cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45  apache-ant-1.9.2-bin.tar.gz
885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1  rhino1_7R3.zip
a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e  icedtea-hotspot-musl.patch
1d937de95323094294c33dd490fc460f78502259eee3bf4b352ac7c7c6cf626f  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
b3f82269f69483d3fe137e369f9325003ce7872d886cdf67705b434ce949b5bc  icedtea-jdk-musl.patch
6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82  icedtea-jdk-no-soname.patch"
sha512sums="6e3df56f605fa026cf028cd3e2ff22215b78b86fea6231e9e5229d43b04f82d91103506c4ca572d953ab0d52fab8b8846077244f3be32b9be5bd9ccdf848fc40  icedtea-2.6.1.tar.gz
b17315b58d6662953f7a6d73eb222a5a81165f55bed2f48f3d3915a169e8c8e503b5f22c59fce5cd3202ed2392f946f8701d9cff92d235ae44696d370f2efd28  openjdk-2.6.1.tar.bz2
16a0bd71db484cd948ef3e941566af5b63d657f4d946caed0cef2fb104680beb21bd8633a6f48501c987cedb7949d7228ca7957e5fae3f4adc9ec48050193a12  corba-2.6.1.tar.bz2
1d8e68f0118f0e8465e333a8edd8aa9fdc16591c62bf4cc5c7791fb7f9acb97b9c6290fa4879a13138a68cb8b4fa93534cef3ebaee7bb8f3c0565595a3228493  jaxp-2.6.1.tar.bz2
0d5fc0001571381d151033b4e8ca98658bed3943c34faafc73ffea2d537d44b433ad49e246fc00335828418fc6e1c40d75fd1ee2280ebf0bf4014b4551f80bb0  jaxws-2.6.1.tar.bz2
d5921683a63cca12fb73224ddd248ae37a986af1f9df131a130fb6f2f808631730298770382a90468b136c2bedb699985d129acb7e0fa2de662ab7543bcfba4c  jdk-2.6.1.tar.bz2
38136bba4d52b8de60e9a38f6ad47253d7513e46d82830ebb8f2f8659f66f99b7e3d7c4ad31c604cc5c516f1de331f2cdaf0ab0b37cff1dfd327c25ccc0f246f  langtools-2.6.1.tar.bz2
ce9d1ee654e9c25bb2cb8953aab838b206e96fe27804acaa0ed652d8b1bc6dffb138c90ea7e188b189c3ec743dc594c6c49d7217d14cd88ecb6bb9314c74f44c  hotspot-2.6.1.tar.bz2
618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49  apache-ant-1.9.2-bin.tar.gz
77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36  rhino1_7R3.zip
994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933  icedtea-hotspot-musl.patch
e7a2c1771bb582d427041f8d22e48c0daf8f20d7c0926cbce3549d49c4e949359ee25a35682b486e82f3e390535c950c5beee3bd8d06fb5a717b50f2d9b2a6bc  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
44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5  icedtea-jdk-musl.patch
bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1  icedtea-jdk-no-soname.patch"