]> git.pld-linux.org Git - packages/openjdk9.git/blobdiff - openjdk8.spec
Release: 1
[packages/openjdk9.git] / openjdk8.spec
index 72d422e2fbc6fc97f5e4b495c39505282fca5d39..69a34defdd27e8f26ef1096194e29a2cf41e0421 100644 (file)
@@ -1,12 +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:
-#      - fix BuildRequires
-#      - fix build with system giflib
-#      - use other system libs (libjpeg, liblcms, libsctp)
-#      - build alternative VM for x32
+#      - use other system libs (libsctp?)
 #      - include icedtea-sound?
-#      - port PLD-specific changes from icedtea7?
-#      - '*** WARNING: no sources found for ...'
+#      - 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
 # 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        ver_u   66
-%define        ver_b   02
 Version:       8u%{ver_u}.b%{ver_b}
-Release:       0.1
+Release:       1
 License:       GPL v2
 Group:         Development/Languages/Java
-Source0:       openjdk8-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+Source0:       %{name}-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
 # Source0-md5: 1d115662e175470270e89a4da8e0fce2
-Source1:       openjdk8-corba-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+Source1:       %{name}-corba-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
 # Source1-md5: e14d8f51b9ca30d798094a2867f3f5d0
-Source2:       openjdk8-hotspot-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+Source2:       %{name}-hotspot-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
 # Source2-md5: b49a7b7f2db5b07306b7b5739e87ccc0
-Source3:       openjdk8-jaxp-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+Source3:       %{name}-jaxp-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
 # Source3-md5: 6bd5ae187272a209439d1a95ac6c9025
-Source4:       openjdk8-jaxws-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
-Source5:       openjdk8-jdk-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+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:       openjdk8-langtools-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+Source6:       %{name}-langtools-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
 # Source6-md5: de5c9b5fdbcd75028b71ed667d4b99d2
-Source7:       openjdk8-nashorn-jdk8u%{ver_u}-b%{ver_b}.tar.bz2
+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
@@ -87,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)
 
@@ -159,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
@@ -224,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
@@ -410,6 +419,12 @@ done
 %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.
@@ -418,28 +433,54 @@ if [ ! -f /proc/self/stat ]; then
        exit 1
 fi
 
+cd common/autoconf
+rm generated-configure.sh
+%{__autoconf} -o generated-configure.sh
+cd ../..
+
 mkdir -p build-bin
+
+# 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 <<EOF
+# OpenJDK build system depends on bash
 SHELL=/bin/bash
 EOF
-[ -d tmp-bin ] || ln -s "$specdir/jdk/bin" tmp-bin
+[ -L tmp-bin ] || ln -s "$specdir/jdk/bin" tmp-bin
 
 %{__make} all \
-       LOG=debug
+       -j1 JOBS=%{__jobs} \
+       LOG=debug \
+       # these are normally set when --disable-debug-symbols is not used \
+       LIBMANAGEMENT_OPTIMIZATION=LOW \
+       LIBHPROF_OPTIMIZATION=LOW \
+       LIBVERIFY_OPTIMIZATION=LOW
 
 export PATH="$(pwd)/build-bin:$PATH"
 %{?with_cacerts:%{__sh} %{SOURCE10}}
@@ -459,7 +500,7 @@ ln -s %{jrereldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}-jre
 
 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/java
 
-# move JDK sources and demo to /usr/src
+# move JDK sources and demo to %{_prefix}/src
 mv $RPM_BUILD_ROOT%{dstdir}/demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 mv $RPM_BUILD_ROOT%{dstdir}/sample $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 mv $RPM_BUILD_ROOT%{dstdir}/src.zip $RPM_BUILD_ROOT%{_javasrcdir}/%{name}-jdk.zip
@@ -483,7 +524,7 @@ for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
 done
 ln -sf ../jre/lib/jexec $RPM_BUILD_ROOT%{dstdir}/lib/jexec
 
-# keep configuration in /etc (not all *.properties go there)
+# keep configuration in %{_sysconfdir} (not all *.properties go there)
 for config in management security content-types.properties \
                logging.properties net.properties sound.properties; do
 
@@ -688,8 +729,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %files jre-base
 %defattr(644,root,root,755)
-%doc openjdk.build/j2sdk-image/THIRD_PARTY_README
-%doc openjdk.build/j2sdk-image/ASSEMBLY_EXCEPTION
+%doc THIRD_PARTY_README
+%doc ASSEMBLY_EXCEPTION
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
 %dir %{dstdir}
@@ -723,18 +764,11 @@ rm -rf $RPM_BUILD_ROOT
 %{jredir}/lib/cmm
 %{jredir}/lib/ext
 %dir %{jredir}/lib/%{jre_arch}
-%ifnarch %{x8664} x32
-%dir %{jredir}/lib/%{jre_arch}/client
-%{jredir}/lib/%{jre_arch}/client/Xusage.txt
-%attr(755,root,root) %{jredir}/lib/%{jre_arch}/client/*.so
-%endif
 %dir %{jredir}/lib/%{jre_arch}/jli
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/jli/*.so
-%{jredir}/lib/%{jre_arch}/jli/*.diz
 %dir %{jredir}/lib/%{jre_arch}/server
 %{jredir}/lib/%{jre_arch}/server/Xusage.txt
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/server/*.so
-%{jredir}/lib/%{jre_arch}/server/*.diz
 %{jredir}/lib/%{jre_arch}/jvm.cfg
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libattach.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt.so
@@ -747,11 +781,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pkcs11.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjaas_unix.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava.so
-%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjpeg.so
-%attr(755,root,root) %{jredir}/lib/%{jre_arch}/liblcms.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsctp.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsunec.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava_crw_demo.so
+%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavajpeg.so
+%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavalcms.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjawt.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjdwp.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsdt.so
@@ -770,7 +804,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libunpack.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libverify.so
 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libzip.so
-%{jredir}/lib/%{jre_arch}/*.diz
 %{jredir}/lib/images
 %{jredir}/lib/management
 %{jredir}/lib/security
@@ -799,7 +832,6 @@ rm -rf $RPM_BUILD_ROOT
 %{jredir}/lib/rt.jar
 %{jredir}/lib/sound.properties
 %{jredir}/lib/tzdb.dat
-%{jredir}/lib/*.diz
 %{jvmjardir}
 
 %files jre-X11
This page took 0.07176 seconds and 4 git commands to generate.