From 99b94afd2731ece132c61543771de53c5be9022d Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Tue, 2 Sep 2014 00:44:51 +0200 Subject: [PATCH] New package: openjdk-8u20 --- common/shlibs | 7 +- .../files/001_adjust-mflags-for-gmake-4.patch | 46 ++++++++ srcpkgs/openjdk/files/002_gcc.make-4.9.patch | 12 ++ srcpkgs/openjdk/template | 107 ++++++++++++++++++ 4 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/openjdk/files/001_adjust-mflags-for-gmake-4.patch create mode 100644 srcpkgs/openjdk/files/002_gcc.make-4.9.patch create mode 100644 srcpkgs/openjdk/template diff --git a/common/shlibs b/common/shlibs index 6cd58afaf0c..3b2a7e1ecbf 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1451,7 +1451,6 @@ liblogging-stdlog.so.0 liblogging-1.0.2_1 libdom.so.0 libdom-0.0.1_1 libslang.so.2 slang-2.2.4_1 libtre.so.5 tre-0.8.0_1 -libjli.so jre-7u45_2 libktoblzcheck.so.1 ktoblzcheck-1.43_2 libgwenhywfar.so.60 gwenhywfar-4.10.0beta_1 libgwengui-gtk2.so.0 gwenhywfar-gtk-4.10.0beta_1 @@ -1728,4 +1727,8 @@ libslab.so.0 libmate-control-center-1.8.2_1 liblz4.so.1 lz4-122_1 libatrilview.so.3 libatril-1.8.0_1 libatrildocument.so.3 libatril-1.8.0_1 - +libawt.so openjdk-jre-8u20_1 +libawt_xawt.so openjdk-jre-8u20_1 +libjava.so openjdk-jre-8u20_1 +libjli.so openjdk-jre-8u20_1 +libjvm.so openjdk-jre-8u20_1 diff --git a/srcpkgs/openjdk/files/001_adjust-mflags-for-gmake-4.patch b/srcpkgs/openjdk/files/001_adjust-mflags-for-gmake-4.patch new file mode 100644 index 00000000000..d998d8aeecb --- /dev/null +++ b/srcpkgs/openjdk/files/001_adjust-mflags-for-gmake-4.patch @@ -0,0 +1,46 @@ + +# HG changeset patch +# User henryjen +# Date 1390363634 28800 +# Node ID e8d4d0db1f06c26defcbf68e6713afab632f3f30 +# Parent c4b78cbea876aa86112cfda16c0026796848d582 +8028407: adjust-mflags.sh failed build with GNU Make 4.0 with -I +Reviewed-by: erikj + +diff -r c4b78cbea876 -r e8d4d0db1f06 make/bsd/makefiles/adjust-mflags.sh +--- a/make/bsd/makefiles/adjust-mflags.sh Thu Dec 05 00:36:42 2013 -0800 ++++ b/make/bsd/makefiles/adjust-mflags.sh Tue Jan 21 20:07:14 2014 -0800 +@@ -64,7 +64,7 @@ + echo "$MFLAGS" \ + | sed ' + s/^-/ -/ +- s/ -\([^ ][^ ]*\)j/ -\1 -j/ ++ s/ -\([^ I][^ I]*\)j/ -\1 -j/ + s/ -j[0-9][0-9]*/ -j/ + s/ -j\([^ ]\)/ -j -\1/ + s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/ +diff -r c4b78cbea876 -r e8d4d0db1f06 make/linux/makefiles/adjust-mflags.sh +--- a/make/linux/makefiles/adjust-mflags.sh Thu Dec 05 00:36:42 2013 -0800 ++++ b/make/linux/makefiles/adjust-mflags.sh Tue Jan 21 20:07:14 2014 -0800 +@@ -64,7 +64,7 @@ + echo "$MFLAGS" \ + | sed ' + s/^-/ -/ +- s/ -\([^ ][^ ]*\)j/ -\1 -j/ ++ s/ -\([^ I][^ I]*\)j/ -\1 -j/ + s/ -j[0-9][0-9]*/ -j/ + s/ -j\([^ ]\)/ -j -\1/ + s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/ +diff -r c4b78cbea876 -r e8d4d0db1f06 make/solaris/makefiles/adjust-mflags.sh +--- a/make/solaris/makefiles/adjust-mflags.sh Thu Dec 05 00:36:42 2013 -0800 ++++ b/make/solaris/makefiles/adjust-mflags.sh Tue Jan 21 20:07:14 2014 -0800 +@@ -64,7 +64,7 @@ + echo "$MFLAGS" \ + | sed ' + s/^-/ -/ +- s/ -\([^ ][^ ]*\)j/ -\1 -j/ ++ s/ -\([^ I][^ I]*\)j/ -\1 -j/ + s/ -j[0-9][0-9]*/ -j/ + s/ -j\([^ ]\)/ -j -\1/ + s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/ + diff --git a/srcpkgs/openjdk/files/002_gcc.make-4.9.patch b/srcpkgs/openjdk/files/002_gcc.make-4.9.patch new file mode 100644 index 00000000000..13715a5d674 --- /dev/null +++ b/srcpkgs/openjdk/files/002_gcc.make-4.9.patch @@ -0,0 +1,12 @@ +--- old/make/linux/makefiles/gcc.make 2014-04-23 22:07:59.838205838 +0100 ++++ new/make/linux/makefiles/gcc.make 2014-04-23 22:07:59.754204533 +0100 +@@ -266,6 +266,9 @@ + ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 3), 1) + OPT_CFLAGS/mulnode.o += $(OPT_CFLAGS/NOOPT) + endif ++ ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 9), 1) ++ OPT_CFLAGS/macroAssembler_x86.o += -fno-devirtualize ++ endif + endif + + # Flags for generating make dependency flags. diff --git a/srcpkgs/openjdk/template b/srcpkgs/openjdk/template new file mode 100644 index 00000000000..049c53f4c96 --- /dev/null +++ b/srcpkgs/openjdk/template @@ -0,0 +1,107 @@ +# TODO: better places for bin and man? +# TODO: make -headless versions +# TODO: config files? +# TODO: find giflib patch for --with-giflib=system + +# Template file for 'openjdk' +pkgname=openjdk +_java_ver=8 +_jdk_update=20 +_jdk_build=23 +version=${_java_ver}u${_jdk_update} +_repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build} +_openjdk_version=openjdk-1.8.0_$(printf '%.2d' ${_jdk_update}) +revision=3 +wrksrc=jdk8u-jdk8u${_jdk_update}-b${_jdk_build}/ +build_style=gnu-configure +configure_args=" + --prefix=${XBPS_DESTDIR}/${sourcepkg}-${version}/usr/lib + --with-update-version=${_jdk_update} + --with-build-number=b${_jdk_build} + --with-milestone=fcs + --enable-unlimited-crypto + --with-zlib=system + $(vopt_if oracle_bootstrap --with-boot-jdk=/usr/share/java/oracle-jdk \ + --with-boot-jdk=/usr/lib/jvm/openjdk)" +make_build_args="DEBUG_BINARIES=true docs all" +hostmakedepends="pkg-config cpio unzip zip + $(vopt_if oracle_bootstrap oracle-jdk openjdk)" +makedepends="libXrender-devel libXtst-devel libXt-devel + libjpeg-turbo-devel cups-devel freetype-devel alsa-lib-devel" +depends="openjdk-jre-${version}_${revision}" +provides="java-environment-${version}_1" +replaces="java-environment>=0" +short_desc="OpenJDK Java Development Kit" +maintainer="Christian Neukirchen " +license="GPL-3" +homepage="http://openjdk.java.net/" +distfiles="http://hg.openjdk.java.net/jdk8u/jdk8u/archive/${_repo_ver}.tar.gz>jdk8u-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/corba/archive/${_repo_ver}.tar.gz>corba-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/archive/${_repo_ver}.tar.gz>hotspot-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/${_repo_ver}.tar.gz>jdk-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/archive/${_repo_ver}.tar.gz>jaxws-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/jaxp/archive/${_repo_ver}.tar.gz>jaxp-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/archive/${_repo_ver}.tar.gz>langtools-${_repo_ver}.tar.gz + http://hg.openjdk.java.net/jdk8u/jdk8u/nashorn/archive/${_repo_ver}.tar.gz>nashorn-${_repo_ver}.tar.gz" + +checksum="ec0b86c0a5883f769cb951a96a0b61734aa7e3c2b62e3b448f7bf6866a36c237 + e979396e3d64af94664932a28eb63d3048bdf3595f180bd4bd3fad91bc8b685c + ba0c359bb99b82fb2eca37ba5d2a7e775bd9f67749e41cbbf6a059677f20750a + 7f66b915b4ad378710cf1b8e52a3615105457d6a93aaf6183b76d7d6dfa14c14 + 3d19d5b7fd7a13ed2bf860491731ca6c928ed0d44e10910f2d43340f627714f7 + 046de26b27cf7f24b77c33af249aac7fa8d14269306ed2e1f9517cce279243c3 + 05177c5ba5ec95d041d46e871358692ff1e62f8568c8c9580688b39e5165d580 + 2499b19562e320eb304be8797c2a895f1fe2ab2d16fd7da68aeaed180b3f1899 + 0abc573312fb20998f42c815857cbba0696a98165237e12c7c0e23f37ee361ab" + +# Build is still parallel, but don't use -jN. +disable_parallel_build=yes + +build_options="oracle_bootstrap" +desc_option_oracle_bootstrap="Bootstrap using Oracle JDK" +build_options_default="oracle_bootstrap" + +post_extract() { + chmod +x configure + for subrepo in corba hotspot jdk jaxws jaxp langtools nashorn; do + ln -s ../${subrepo}-${_repo_ver} ${subrepo} + done + cd hotspot + # https://bugs.openjdk.java.net/browse/JDK-8028407 + patch -p1 < ${FILESDIR}/001_adjust-mflags-for-gmake-4.patch + # https://bugs.openjdk.java.net/browse/JDK-8041658 + patch -p1 < ${FILESDIR}/002_gcc.make-4.9.patch +} + +post_install() { + rm -rf ${DESTDIR}/usr/lib/bin + vlicense ASSEMBLY_EXCEPTION + vlicense LICENSE + vlicense THIRD_PARTY_README +} + +openjdk-jre_package() { + short_desc="OpenJDK Java Runtime Environment" + provides="java-runtime-${version}_1" + replaces="java-runtime>=0" + pkg_install() { + vmove "usr/lib/jvm/$_openjdk_version/jre" + ln -s $_openjdk_version ${PKGDESTDIR}/usr/lib/jvm/openjdk + } +} + +openjdk-src_package() { + short_desc+=" -- sources" + pkg_install() { + vmove "usr/lib/jvm/$_openjdk_version/src.zip" + } +} + +openjdk-doc_package() { + short_desc+=" -- documentation" + pkg_install() { + cd ${wrksrc} + vmkdir usr/share/doc + cp -a build/linux-*/docs/* ${PKGDESTDIR}/usr/share/doc + } +}