Gitlab has successfully been upgraded to 14.0.10 🎉. Enjoy!

APKBUILD 11.7 KB
Newer Older
Timo Teräs's avatar
Timo Teräs committed
1
# Contributor: Timo Teras <timo.teras@iki.fi>
2
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
Timo Teräs's avatar
Timo Teräs committed
3 4 5
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk8
_java_ver=8
6 7
_jdk_update=92
_jdk_build=14
Timo Teräs's avatar
Timo Teräs committed
8
pkgver=$_java_ver.$_jdk_update.$_jdk_build
9
pkgrel=1
Timo Teräs's avatar
Timo Teräs committed
10 11
pkgdesc="Sun OpenJDK 8"
url="http://openjdk.java.net"
12
arch="x86_64 x86"
Timo Teräs's avatar
Timo Teräs committed
13
license="custom"
14
depends="$pkgname-jre java-cacerts"
Timo Teräs's avatar
Timo Teräs committed
15 16
options="sover-namecheck"
makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt
17 18 19 20 21 22
	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"
Timo Teräs's avatar
Timo Teräs committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
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"
38
sonameprefix="$pkgname:"
Timo Teräs's avatar
Timo Teräs committed
39 40

subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
41
	$pkgname-doc:doc $pkgname-demos:demos"
Timo Teräs's avatar
Timo Teräs committed
42 43 44 45

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

46 47 48 49 50 51 52 53
source="jdk8u-$_dropsver.tar.bz2::$_dropsurl/archive/${_dropsver}.tar.bz2
	corba-$_dropsver.tar.bz2::$_dropsurl/corba/archive/${_dropsver}.tar.bz2
	jaxp-$_dropsver.tar.bz2::$_dropsurl/jaxp/archive/${_dropsver}.tar.bz2
	jaxws-$_dropsver.tar.bz2::$_dropsurl/jaxws/archive/${_dropsver}.tar.bz2
	jdk-$_dropsver.tar.bz2::$_dropsurl/jdk/archive/${_dropsver}.tar.bz2
	langtools-$_dropsver.tar.bz2::$_dropsurl/langtools/archive/${_dropsver}.tar.bz2
	nashorn-$_dropsver.tar.bz2::$_dropsurl/nashorn/archive/${_dropsver}.tar.bz2
	hotspot-$_dropsver.tar.bz2::$_dropsurl/hotspot/archive/${_dropsver}.tar.bz2
Timo Teräs's avatar
Timo Teräs committed
54 55 56 57 58 59 60 61 62

	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
63
	build-demo-ldflags.patch
Timo Teräs's avatar
Timo Teräs committed
64 65
	"

66
builddir="$srcdir/jdk8u-$_dropsver"
Timo Teräs's avatar
Timo Teräs committed
67 68

prepare() {
69
	cd "$builddir"
Timo Teräs's avatar
Timo Teräs committed
70 71 72 73
	update_config_sub || return 1

	local module
	for module in corba hotspot jdk jaxws jaxp langtools nashorn; do
74
		ln -s ../${module}-${_dropsver} $module || return 1
Timo Teräs's avatar
Timo Teräs committed
75 76
	done

77 78 79 80 81 82 83 84
	for patch in $source; do
		case $patch in
		*.patch)
			msg "Applying patch $patch"
			busybox patch -p1 < "$srcdir"/$patch || return 1
			;;
		esac
	done
Timo Teräs's avatar
Timo Teräs committed
85 86 87
}

build() {
88
	cd "$builddir"
Timo Teräs's avatar
Timo Teräs committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
	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 \
105 106 107 108
		--with-giflib=system \
		--with-extra-cflags="$CFLAGS" \
		--with-extra-cxxflags="$CXXFLAGS" \
		--with-extra-ldflags="$LDFLAGS" \
Timo Teräs's avatar
Timo Teräs committed
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
		--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() {
125 126
	file "$@" 2> /dev/null \
		| grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//'
Timo Teräs's avatar
Timo Teräs committed
127 128 129 130
}

pax_mark_vm() {
	local paxflags="-mp"
131
	[ "$CARCH" = "x86" ] && paxflags="-msp"
Timo Teräs's avatar
Timo Teräs committed
132

133
	local paxable
Timo Teräs's avatar
Timo Teräs committed
134
	for paxable in $(list_paxables "${1}"/bin/* "${1}"/jre/bin/*); do
135 136 137
		echo "PaX mark $paxflags ${paxable}"
		paxmark $paxflags "${paxable}"
	done
Timo Teräs's avatar
Timo Teräs committed
138 139 140 141
}

package() {
	mkdir -p "$pkgdir"/$INSTALL_BASE
142
	cp -a "$builddir"/build/*/images/j2sdk-image/* "$pkgdir"/$INSTALL_BASE || return 1
143
	rm "$pkgdir"/$INSTALL_BASE/src.zip
Timo Teräs's avatar
Timo Teräs committed
144

145 146 147 148
	find "$pkgdir"/$INSTALL_BASE -iname "*.diz" -delete || return 1
	find "$pkgdir"/$INSTALL_BASE -iname "*.debuginfo" -delete || return 1
	find "$pkgdir"/$INSTALL_BASE \( -name "*.jar" -o -name "*.sym" \) \
		\! -perm /006 | xargs chmod go+r || return 1
Timo Teräs's avatar
Timo Teräs committed
149 150

	pax_mark_vm "$pkgdir"/$INSTALL_BASE
151 152 153 154 155

	# 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
Timo Teräs's avatar
Timo Teräs committed
156 157 158 159 160 161 162
}

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

163 164 165 166 167
	local A; 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

		local dirname=${A%/*}
Timo Teräs's avatar
Timo Teräs committed
168
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
169
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname || return 1
Timo Teräs's avatar
Timo Teräs committed
170 171 172 173 174
	done
}

jrebase() {
	pkgdesc="OpenJDK 8 Java Runtime (no GUI support)"
175
	depends="$pkgname-jre-lib java-common java-cacerts"
Timo Teräs's avatar
Timo Teräs committed
176

177 178
	mkdir -p "$subpkgdir"/$INSTALL_BASE/bin \
		"$subpkgdir"/$INSTALL_BASE/lib/$_jarch
Timo Teräs's avatar
Timo Teräs committed
179

180 181
	mv "$pkgdir"/$INSTALL_BASE/lib/$_jarch/jli \
		"$subpkgdir"/$INSTALL_BASE/lib/$_jarch/ || return 1
182 183 184
	local A; for A in java orbd rmid servertool unpack200 keytool \
			pack200 rmiregistry tnameserv; do
		mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin || return 1
Timo Teräs's avatar
Timo Teräs committed
185 186 187
	done

	# rest of the jre subdir (which were not taken by -jre subpkg)
188
	mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE || return 1
Timo Teräs's avatar
Timo Teräs committed
189 190 191 192 193 194 195 196

	pax_mark_vm "$subpkgdir"/$INSTALL_BASE
}

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

	mkdir -p "$subpkgdir"
197 198 199 200 201 202 203 204 205
	local A; for A in jre/bin/policytool \
			bin/appletviewer \
			bin/policytool \
			jre/lib/$_jarch/libawt_xawt.so \
			jre/lib/$_jarch/libfontmanager.so \
			jre/lib/$_jarch/libjawt.so \
			jre/lib/$_jarch/libsplashscreen.so; do

		local dirname=${A%/*}
Timo Teräs's avatar
Timo Teräs committed
206
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
207
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname || return 1
Timo Teräs's avatar
Timo Teräs committed
208 209 210 211 212 213 214 215 216 217 218 219
	done

	pax_mark_vm "$subpkgdir"/$INSTALL_BASE
}

doc() {
	default_doc

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

220 221 222 223 224 225 226 227 228
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/
}

229 230 231 232 233 234 235 236
md5sums="226f9051e34b70fbff031ec9d959773d  jdk8u-jdk8u92-b14.tar.bz2
9619e84a600aaf81737f7ed71430d3aa  corba-jdk8u92-b14.tar.bz2
567189edafbe0aabaff2d75d86c05456  jaxp-jdk8u92-b14.tar.bz2
3e7db7d843ebbcd5eb2ba0a9e7e275d7  jaxws-jdk8u92-b14.tar.bz2
b06f2e3504357820bb3dd29e19ccfc0d  jdk-jdk8u92-b14.tar.bz2
afbe0e3a8c0e9e2beac5567e1084f3ee  langtools-jdk8u92-b14.tar.bz2
e3641526c2875b5d4d1414980769f6ea  nashorn-jdk8u92-b14.tar.bz2
21e8fdc20ab17e7399752ef74c8e03e2  hotspot-jdk8u92-b14.tar.bz2
Timo Teräs's avatar
Timo Teräs committed
237 238 239 240 241 242 243
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
244
9b95183ae088ac2520ac66ae587619e4  fix-libjvm-load.patch
245 246 247 248 249 250 251 252 253
34fd6af2160e062b9f4b434a9a350b79  build-demo-ldflags.patch"
sha256sums="948b651e542618ced3f27395f75f0cca8dc0cb69577fdac94c1bb0445b56ca32  jdk8u-jdk8u92-b14.tar.bz2
a0cde75df26176b9f0c75bc77ad2649e42bbbc321fb9bdca19ab339f4d9f949e  corba-jdk8u92-b14.tar.bz2
f72662de92ecdae80cbed04d5af6d72530f34631bfb15a73fef58bbb95faf4e2  jaxp-jdk8u92-b14.tar.bz2
0d3e59432bebcd2d8353250e746ed6f59cf73f521471edbfca7392339d1bd264  jaxws-jdk8u92-b14.tar.bz2
4eb3b4823f91c10da9cc5358946643b54f4e66ba499f9ae13904554ef45bbe85  jdk-jdk8u92-b14.tar.bz2
27afacfefd7af8afcc47284fbdc6ac8377c8677f8e542a75b26228309c452b0c  langtools-jdk8u92-b14.tar.bz2
5a63849ebafe07c6f0fe13bdcf4f00f5b40a2966ccdf9f5c89d6f7bde62aa718  nashorn-jdk8u92-b14.tar.bz2
251f1c684c951a94fed3af5cb4084e08b0448b564363a590d57fd648db634433  hotspot-jdk8u92-b14.tar.bz2
Timo Teräs's avatar
Timo Teräs committed
254 255 256 257 258 259 260
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
261
47028d87c9a65df8d0103b39bf54b2b22de7db7c52a5de1058f88f4c5ea24f0d  fix-libjvm-load.patch
262 263 264 265 266 267 268 269 270
606a08d7b986ab4dd52bbf03f0ea2e652b5687d9c929924046373ce0afef479a  build-demo-ldflags.patch"
sha512sums="aaea06ba72b2bda8c6f6426ca62ff698c00b73f1acae83f5531ffe9908a03547ce34a683d8af51d7e6d848e3a2c1e699f6f684d8969e602aa4ce0395f307cff9  jdk8u-jdk8u92-b14.tar.bz2
361406d6911edeecb0928f28f53f029e107df4d31eb544a3a32417533b28eb90a4b7ab6c8322514cc14c9da09d523af514e5a7f48de120a908c8f74e0f0e9823  corba-jdk8u92-b14.tar.bz2
df0dfa57aea9a368947e750a2ecfee8dd5d250d6a3fd41655cc589d2026bf5be53e69079d2067e2a5d0c3390257cc9708e77e3ef4e1d951c38fea6b5e5ed62c3  jaxp-jdk8u92-b14.tar.bz2
c3bd6bdd10d01596c00224227c2026210384cca80959a416d9b99618028f0a2da5a1d9439d33e8f729a527b74c63749d19bb8b8424cce4b617e9e6ebdb424b0d  jaxws-jdk8u92-b14.tar.bz2
aa424052ccd37b545e014d28ea0a15dfd76499007b86a0b23ba49daabcd204dda34fd39d27ff832854eeb006a0484c58c4149a36dce1b5d0f6aa90ff53b4d100  jdk-jdk8u92-b14.tar.bz2
177080c1b4bc1347ace8e0626a5ee778857e35158a165e1aaf4742d13d77ae9216504f827aa201679049b34e389ec5dcb4925d8e24e98534046f3afc62d06d43  langtools-jdk8u92-b14.tar.bz2
f1cffe2135bdf4eac020fefaeb532fee7ed22805d49407c5b68aba45b5e0793aae7d9cc760e1458a3261a9118bf987e885e5d9d12bb735c4dc1019436469c2f6  nashorn-jdk8u92-b14.tar.bz2
967c9e3ca1881d208daf7683f3093594a0919d71a7897b4332bb7d78488616e831bdd50cc899ab2aa104871c9d3c19f04609ec5f765b0abdce419b90327965b8  hotspot-jdk8u92-b14.tar.bz2
Timo Teräs's avatar
Timo Teräs committed
271 272 273 274 275 276 277
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
278
978539ba0b1f1694cda6a3a1542a4373861cbfb4dc414a3b796cd8841ecf6e12248c746b5efe2c031c85a3b0684101b29e8a5f4ff70e77c1a3f3cd7f5cb148ce  fix-libjvm-load.patch
279
d3f21cfa958d458624c7b1be807d9f4c0028bc83c5d0f55b72ceb05f0cbad71f9e98dfa5248382828cf7c8ed4678cc76c573aeb8c56476dd4709e4f5a841c028  build-demo-ldflags.patch"