From 044fe101f73b3a13df8d674eb5ef7b330607d20c Mon Sep 17 00:00:00 2001 From: milisbir Date: Sat, 9 Sep 2017 09:28:55 +0300 Subject: [PATCH] openjdk8 --- talimatname/genel/openjdk8/talimat | 155 +++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 talimatname/genel/openjdk8/talimat diff --git a/talimatname/genel/openjdk8/talimat b/talimatname/genel/openjdk8/talimat new file mode 100644 index 000000000..aec7e8f16 --- /dev/null +++ b/talimatname/genel/openjdk8/talimat @@ -0,0 +1,155 @@ +# Description: Java Development Kit (JDK) adı verilen bir dizi program. +# URL: http://openjdk.java.net/ +# Packager: milisarge@gmail.com +# Depends on: openjdk alsa-lib cups xorg-fontconfig freetype giflib gtk2 krb5 lcms2 libjpeg-turbo libpng libxslt nss unzip xorg-libxt xorg-libxtst xorg-libxinerama zip + +name=openjdk8 +openjdk_release=8 +openjdk_update=u144 +openjdk_build=b01 +openjdk_version=$openjdk_release$openjdk_update$openjdk_build +version=8u144-b01 +icedtea_version=3.5.1 +certdata_rev=e5e2984f44c5 +release=1 +source=(http://icedtea.wildebeest.org/download/source/icedtea-$icedtea_version.tar.xz + http://stygian.me/crux/distfiles/$name/corba-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/hotspot-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/jaxp-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/jaxws-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/jdk-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/langtools-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/nashorn-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name/openjdk-$openjdk_version.tar.xz + http://stygian.me/crux/distfiles/$name-boot.pkg.tar.xz + http://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2017Q2/pkgsrc/security/mozilla-rootcerts/files/mozilla-rootcerts.sh + http://hg.mozilla.org/releases/mozilla-release/raw-file/$certdata_rev/security/nss/lib/ckfw/builtins/certdata.txt) + +unpack_source() { + for file in ${source[@]}; do + case ${file##*/} in + icedtea-$icedtea_version.tar.xz|\ + $name-boot.pkg.tar.xz) + bsdtar -p -o -C $SRC -xf $(get_filename $file) ;; + *) + cp $(get_filename $file) $SRC ;; + esac + done +} + +build() { + JAVA_DIR=/opt/OpenJDK-8u60-bin + + mkdir $SRC/build + cd $SRC/build + + LC_ALL=C \ + CFLAGS="$CFLAGS -fno-delete-null-pointer-checks -fno-omit-frame-pointer -fno-lifetime-dse" \ + CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks -fno-omit-frame-pointer -fno-lifetime-dse" \ + JAVA_HOME=$JAVA_DIR \ + PATH=$JAVA_DIR/bin:$PATH \ + CONFIG_SHELL=/bin/bash \ + ../icedtea-$icedtea_version/configure \ + --prefix=/usr/lib/java/$name \ + --disable-docs \ + --disable-downloading \ + --disable-precompiled-headers \ + --disable-tests \ + --disable-system-pcsc \ + --disable-system-sctp \ + --enable-system-cups \ + --enable-system-fontconfig \ + --enable-system-gconf \ + --enable-system-gio \ + --enable-system-gtk \ + --enable-system-jpeg \ + --enable-system-kerberos \ + --enable-system-lcms \ + --enable-system-png \ + --enable-system-zlib \ + --enable-nss \ + --enable-sunec \ + --enable-non-nss-curves \ + --enable-improved-font-rendering \ + --with-openjdk-src-zip=$SRC/openjdk-$openjdk_version.tar.xz \ + --with-hotspot-src-zip=$SRC/hotspot-$openjdk_version.tar.xz \ + --with-corba-src-zip=$SRC/corba-$openjdk_version.tar.xz \ + --with-jaxp-src-zip=$SRC/jaxp-$openjdk_version.tar.xz \ + --with-jaxws-src-zip=$SRC/jaxws-$openjdk_version.tar.xz \ + --with-jdk-src-zip=$SRC/jdk-$openjdk_version.tar.xz \ + --with-langtools-src-zip=$SRC/langtools-$openjdk_version.tar.xz \ + --with-nashorn-src-zip=$SRC/nashorn-$openjdk_version.tar.xz \ + --with-pkgversion=MILIS \ + --with-jdk-home=$JAVA_DIR + + LC_ALL=C \ + CFLAGS="$CFLAGS -fno-delete-null-pointer-checks -fno-omit-frame-pointer -fno-lifetime-dse" \ + CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks -fno-omit-frame-pointer -fno-lifetime-dse" \ + JAVA_HOME=$JAVA_DIR \ + PATH=$JAVA_DIR/bin:$PATH \ + make + + mkdir -p $PKG/usr/lib/java/$name + cp -r openjdk.build/images/j2sdk-image/* $PKG/usr/lib/java/$name + + mkdir -p $PKG/etc/revdep.d + echo "/usr/lib/java/$name/jre/lib/amd64" > $PKG/etc/revdep.d/$name + echo "/usr/lib/java/$name/jre/lib/amd64/jli" >> $PKG/etc/revdep.d/$name + echo "/usr/lib/java/$name/jre/lib/amd64/server" >> $PKG/etc/revdep.d/$name + + # remove unneeded files + rm -f $PKG/usr/lib/java/$name/src.zip + rm -rf $PKG/usr/lib/java/$name/{demo,sample} + rm -f $PKG/usr/lib/java/$name/man/ja + rm -rf $PKG/usr/lib/java/$name/man/ja_JP.UTF-8 + find $PKG/usr/lib/java/$name -name '*.ja' -delete + + # deduplicate + rm $PKG/usr/lib/java/$name/jre/lib/amd64/libjawt.so + ln -s ../../../../lib/amd64/libjawt.so \ + $PKG/usr/lib/java/$name/jre/lib/amd64/libjawt.so + rm $PKG/usr/lib/java/$name/jre/lib/amd64/jli/libjli.so + ln -s ../../../../lib/amd64/jli/libjli.so \ + $PKG/usr/lib/java/$name/jre/lib/amd64/jli/libjli.so + for f in $PKG/usr/lib/java/$name/jre/bin/* ; do + if [ -f $PKG/usr/lib/java/$name/bin/${f##*/} ]; then + rm $f + ln -s ../../bin/${f##*/} $f + fi + done + + sed -e "/# cd \/etc\/openssl\/certs/s//# cd \/usr\/share\/$name\/certs/" \ + -e '/@AWK@/s//\/usr\/bin\/awk/' \ + -e '/@ECHO@/s//\/bin\/echo/' \ + -e '/@EXPR@/s//\/usr\/bin\/expr/' \ + -e '/@LN@/s//\/bin\/ln/' \ + -e '/@LS@/s//\/bin\/ls/' \ + -e '/@MKDIR@/s//\/bin\/mkdir/' \ + -e '/@OPENSSL@/s//\/usr\/bin\/openssl/' \ + -e "/@SSLDIR@/s//\/usr\/share\/$name/" \ + -e '/@PREFIX@/s//\/usr/' \ + -e '/@RM@/s//\/bin\/rm/' \ + -e '/@LOCALBASE@/s//\/usr/' \ + -e "/@DATADIR@/s//\/usr\/share\/$name/" \ + -e 's/self extract/self -f $certfile extract/' \ + -e 's/self rehash/self -f $certfile rehash/' \ + $SRC/mozilla-rootcerts.sh > $SRC/mozilla-rootcerts + + # generate java's cacerts + # big thanks to pkgsrc's mozilla-rootcerts and openjdk pkg's for this part + rm -f $PKG/usr/lib/java/$name/jre/lib/security/cacerts + mkdir $SRC/cacerts + cd $SRC/cacerts + sh $SRC/mozilla-rootcerts -f $SRC/certdata.txt extract + for cert in *.pem; do + JAVA_HOME=$PKG/usr/lib/java/$name \ + PATH=$JAVA_HOME/bin:$PATH \ + keytool \ + -noprompt \ + -importcert \ + -keystore $PKG/usr/lib/java/$name/jre/lib/security/cacerts \ + -alias $(echo $cert | sed 's,.*/\([^/]*\)\.pem,\1,') \ + -file $cert \ + -storepass changeit + done +}