X-Git-Url: http://git.pld-linux.org/?p=packages%2Fopenjdk9.git;a=blobdiff_plain;f=openjdk8.spec;h=76348d0ce561914eb710dee1dd3afcf0862e0671;hp=f9e11205dc93a5b478d56446d6ef03e31232200a;hb=20284ad89df7f9386d281227017d5a26452a04cd;hpb=5b4e4f2029cedce6ca6797d0e14efcf5ab23545e diff --git a/openjdk8.spec b/openjdk8.spec index f9e1120..76348d0 100644 --- a/openjdk8.spec +++ b/openjdk8.spec @@ -1,11 +1,12 @@ # +# NOTE: versioning and release status might not be clear +# http://openjdk.java.net/projects/jdk8u/ gives some information +# about current status of the 'updates' +# # TODO: -# - use the release snapshots (the jdk8u repo?) instead of latest 'b' tag -# - make it build -# - make it install -# - fix BuildRequires -# - fix build with system giflib -# +# - use other system libs (libsctp?) +# - include icedtea-sound? +# - consider zeroshark (LLVM-based JIT) for x32 %bcond_with bootstrap # build a bootstrap version, using icedtea6 %bcond_without cacerts # don't include the default CA certificates @@ -17,51 +18,64 @@ %endif # class data version seen with file(1) that this jvm is able to load -%define _classdataversion 51.0 +%define _classdataversion 52.0 +# JDK/JRE version, as returned with `java -version`, '_' replaced with '.' +%define _jdkversion 1.8.0.internal +%define ver_u 66 +%define ver_b 02 Summary: Open-source implementation of the Java Platform, Standard Edition Summary(pl.UTF-8): Wolnoźródłowa implementacja Java 8 SE Name: openjdk8 -%define minor 132 -Version: 1.8.0.%{minor} +Version: 8u%{ver_u}.b%{ver_b} Release: 0.1 License: GPL v2 Group: Development/Languages/Java -Source0: openjdk8-b%{minor}.tar.bz2 -# Source0-md5: 7ae143bc2b840f1bfbfa15a1dcbcc371 -Source1: openjdk8-corba-b%{minor}.tar.bz2 -# Source1-md5: a54c4b046d4f9b7dc0e64b79b734d2f3 -Source2: openjdk8-hotspot-b%{minor}.tar.bz2 -# Source2-md5: 1368abb3e02079bb7cd802d2bef136b4 -Source3: openjdk8-jaxp-b%{minor}.tar.bz2 -# Source3-md5: dccca275bad921fc036221ba36f9596e -Source4: openjdk8-jaxws-b%{minor}.tar.bz2 -# Source5-md5: faf2d077d9c41a8c11a2b038fb5d2e50 -Source5: openjdk8-jdk-b%{minor}.tar.bz2 -# Source5-md5: a14e4f9a26a229fdc59dc77cf9754fee -Source6: openjdk8-langtools-b%{minor}.tar.bz2 -# Source6-md5: 6f6dd27e4ca48a49c0c2ec16310c44f3 -Source7: openjdk8-nashorn-b%{minor}.tar.bz2 -# Source7-md5: 19581a68b0ffa30d8a23f384fcb8c91d +Source0: %{name}-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source0-md5: 1d115662e175470270e89a4da8e0fce2 +Source1: %{name}-corba-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source1-md5: e14d8f51b9ca30d798094a2867f3f5d0 +Source2: %{name}-hotspot-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source2-md5: b49a7b7f2db5b07306b7b5739e87ccc0 +Source3: %{name}-jaxp-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source3-md5: 6bd5ae187272a209439d1a95ac6c9025 +Source4: %{name}-jaxws-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source4-md5: 15e6a93009bdc73194e7118988d5ab8d +Source5: %{name}-jdk-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source5-md5: 74f2cf3815659b83993c4187e7fc4f6b +Source6: %{name}-langtools-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source6-md5: de5c9b5fdbcd75028b71ed667d4b99d2 +Source7: %{name}-nashorn-jdk8u%{ver_u}-b%{ver_b}.tar.bz2 +# Source7-md5: 7da4e88349cfc45ee9726eaa4386be03 Source10: make-cacerts.sh Patch0: adjust-mflags.patch Patch1: format_strings.patch +Patch2: CompileDemos.patch +Patch3: libpath.patch +Patch4: system-libjpeg.patch +Patch5: system-libpng.patch +Patch6: system-lcms.patch +Patch7: system-pcsclite.patch +Patch8: x32.patch +Patch9: current_stack_pointer.patch URL: http://openjdk.java.net/ +BuildRequires: /usr/bin/jar BuildRequires: alsa-lib-devel BuildRequires: ant BuildRequires: autoconf -BuildRequires: automake BuildRequires: bash %{?with_cacerts:BuildRequires: ca-certificates-update} BuildRequires: cups-devel -BuildRequires: /usr/bin/jar BuildRequires: freetype-devel >= 2.3 BuildRequires: gawk -#BuildRequires: giflib-devel >= 5.1 +BuildRequires: giflib-devel >= 5.1 BuildRequires: glibc-misc -%buildrequires_jdk +%{?buildrequires_jdk} +BuildRequires: lcms2-devel BuildRequires: libjpeg-devel +BuildRequires: libpng-devel BuildRequires: lsb-release +BuildRequires: pcsc-lite-devel BuildRequires: pkgconfig BuildRequires: rpmbuild(macros) >= 1.557 BuildRequires: unzip @@ -82,25 +96,25 @@ Suggests: %{name}-jre-X11 Suggests: icedtea-web Obsoletes: icedtea6 Obsoletes: icedtea7 -Obsoletes: java5-sun -Obsoletes: java5-sun-jre -Obsoletes: java5-sun-jre-jdbc -Obsoletes: java5-sun-jre-X11 -Obsoletes: java5-sun-tools Obsoletes: java-gcj-compat Obsoletes: java-gcj-compat-devel Obsoletes: java-sun Obsoletes: java-sun-demos Obsoletes: java-sun-jre +Obsoletes: java-sun-jre-X11 Obsoletes: java-sun-jre-alsa Obsoletes: java-sun-jre-jdbc -Obsoletes: java-sun-jre-X11 Obsoletes: java-sun-tools +Obsoletes: java5-sun +Obsoletes: java5-sun-jre +Obsoletes: java5-sun-jre-X11 +Obsoletes: java5-sun-jre-jdbc +Obsoletes: java5-sun-tools Obsoletes: oracle-java7 Obsoletes: oracle-java7-jre +Obsoletes: oracle-java7-jre-X11 Obsoletes: oracle-java7-jre-alsa Obsoletes: oracle-java7-jre-jdbc -Obsoletes: oracle-java7-jre-X11 Obsoletes: oracle-java7-tools BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -144,8 +158,8 @@ Group: Development/Languages/Java Requires: %{name}-jar = %{version}-%{release} Requires: %{name}-jdk-base = %{version}-%{release} Requires: %{name}-jre = %{version}-%{release} -Provides: j2sdk = %{_version} -Provides: jdk = %{_version} +Provides: j2sdk = %{_jdkversion} +Provides: jdk = %{_jdkversion} Obsoletes: blackdown-java-sdk Obsoletes: ibm-java Obsoletes: icedtea6-jdk @@ -154,9 +168,9 @@ Obsoletes: java-blackdown Obsoletes: java-gcj-compat-devel Obsoletes: java-sun Obsoletes: java5-sun -Obsoletes: oracle-java7 Obsoletes: jdk Obsoletes: kaffe +Obsoletes: oracle-java7 %description jdk This package symlinks OpenJDK development tools provided by @@ -204,7 +218,7 @@ Provides: java(jmx) = 1.4 Provides: java(jndi) = %{version} Provides: java(jsse) = %{version} Provides: java1.4 -Provides: jre = %{_version} +Provides: jre = %{_jdkversion} Obsoletes: icedtea6-jre Obsoletes: icedtea7-jre Obsoletes: java(jaas) @@ -219,8 +233,8 @@ Obsoletes: java(jsse) Obsoletes: java-gcj-compat Obsoletes: java-sun-jre Obsoletes: java5-sun-jre -Obsoletes: oracle-java7-jre Obsoletes: jre +Obsoletes: oracle-java7-jre %description jre This package symlinks OpenJDK runtime environment tools provided by @@ -239,7 +253,7 @@ Summary(pl.UTF-8): OpenJDK - środowisko uruchomieniowe - obsługa X11 Group: Development/Languages/Java Requires: %{name}-jre = %{version}-%{release} Requires: %{name}-jre-base-X11 = %{version}-%{release} -Provides: jre-X11 = %{_version} +Provides: jre-X11 = %{_jdkversion} Obsoletes: icedtea6-jre-X11 Obsoletes: icedtea7-jre-X11 Obsoletes: java-sun-jre-X11 @@ -395,14 +409,22 @@ Code examples for OpenJDK. Przykłady dla OpenJDK. %prep -%setup -qn jdk8-jdk8-b%{minor} -a1 -a2 -a3 -a4 -a5 -a6 -a7 +%setup -qn jdk8u-jdk8u%{ver_u}-b%{ver_b} -a1 -a2 -a3 -a4 -a5 -a6 -a7 -for d in *-jdk8-b* ; do - ln -s "$d" "${d%%-jdk8-b*}" +for d in *-jdk8u*-b* ; do + mv "$d" "${d%%-jdk8u*-b*}" done %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build # Make sure we have /proc mounted - otherwise idlc will fail later. @@ -411,30 +433,56 @@ if [ ! -f /proc/self/stat ]; then exit 1 fi -unset JAVA_HOME -export SHELL=/bin/bash +cd common/autoconf +rm generated-configure.sh +%{__autoconf} -o generated-configure.sh +cd ../.. mkdir -p build-bin -export PATH="$(pwd)/build-bin:$PATH" + +# use the specified %%use_jdk +export JAVA_HOME=%{java_home} +export PATH="$JAVA_HOME/bin:$PATH" + +# unset CLASSPATH to be safe, gnustep puts garbage there, which openjdk hates +unset CLASSPATH + +export SHELL=/bin/bash chmod a+x configure +# disable-debug-symbols so openjdk debuginfo handling won't conflict with ours %configure \ +%ifarch x32 + --with-jvm-variants=zero \ +%endif --with-extra-cflags="%{rpmcflags}" \ --with-extra-cxxflags="%{rpmcxxflags}" \ --with-extra-ldflags="%{rpmldflags}" \ - --with-giflib=bundled \ + --disable-debug-symbols \ + --with-giflib=system \ + --with-libjpeg=system \ + --with-libpng=system \ + --with-lcms=system \ + --with-libpcsclite=system \ --with-zlib=system specdir="$(dirname build/*-release/spec.gmk)" cat > $specdir/custom-spec.gmk <