wok-next annotate gcc+gcj/receipt @ rev 21010

Small updates
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Oct 12 16:40:30 2018 +0300 (2018-10-12)
parents d958fec46c9f
children f48456621a9d
rev   line source
rcx@3325 1 # SliTaz package receipt.
rcx@3325 2
rcx@3325 3 PACKAGE="gcc+gcj"
rcx@3325 4 SOURCE="gcc"
pankso@12541 5 VERSION="4.6.3"
rcx@3325 6 CATEGORY="development"
rcx@3325 7 SHORT_DESC="The GNU Compiler Collection, including the gcj Compiler for Java."
rcx@3325 8 MAINTAINER="rcx@zoominternet.net"
pascal@15000 9 LICENSE="GPL2"
al@20882 10 WEB_SITE="http://gcc.gnu.org/java/"
al@20882 11 REPOLOGY="gcc"
al@20882 12
pankso@9964 13 TARBALL="$SOURCE-$VERSION.tar.bz2"
pankso@9964 14 WGET_URL="$GNU_MIRROR/$SOURCE/$SOURCE-$VERSION/$TARBALL"
al@20882 15
pascal@18931 16 ECJ_JAR="ecj-latest.jar"
pascal@18931 17 ECJ_URL="ftp://sourceware.org/pub/java/$ECJ_JAR"
pascal@18931 18 EXTRA_SOURCE_FILES="$ECJ_JAR"
pankso@9964 19 PROVIDE="$SOURCE jre jdk"
pascal@13033 20 TAGS="compiler C C++ objective-C java"
pankso@9964 21
al@19779 22 DEPENDS="glibc-base glib gcc-lib-base util-linux-uuid zlib libgomp gmp mpfr python \
al@20454 23 gtk+ atk cairo expat fontconfig freetype pango xorg-pixman libpng16 xorg-libxcb xorg-xcb-util \
rcx@3325 24 xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \
rcx@3325 25 xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \
pascal@5960 26 xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXtst alsa-lib elfutils"
pascal@5399 27 BUILD_DEPENDS="glibc-dev gawk flex python perl gmp gmp-dev mpfr mpfr-dev mpc-library \
al@20935 28 expat-dev zlib-dev fastjar gtk+-dev libart_lgpl-dev xorg-dev xorg-xorgproto \
al@20935 29 xorg-libXtst \
pascal@15643 30 elfutils elfutils-dev util-linux-uuid-dev"
rcx@3325 31
rcx@3325 32 # Rules to configure and make the package.
rcx@3325 33 compile_rules()
rcx@3325 34 {
pascal@15357 35 sed -i 's/@mkdir_p@/mkdir -p/' libjava/classpath/lib/copy-vmresources.sh.in
slaxemulator@10421 36 # Set HOST_SYSTEM if not defined in tazwok.conf as it should be
slaxemulator@10421 37 if [ -z "$HOST_SYSTEM" ] ; then
pascal@13878 38 HOST_SYSTEM="$ARCH-slitaz-linux"
rcx@3686 39 fi
slaxemulator@10421 40 GCC_TARGET=$HOST_SYSTEM
rcx@3686 41
pankso@9970 42 # Get ecj.jar needed to build gcj. We have to dl it each time from the
pankso@9970 43 # sources repository to ensure that we receive the latest JAR.
rcx@3325 44 # (See http://gcc.gnu.org/install/configure.html --with-ecj-jar)
pankso@9970 45 if [ ! -f "$ECJ_JAR" ] ; then
pankso@9970 46 echo "Downloading ECJ jar to: $(pwd)"
pankso@9970 47 wget -c $ECJ_URL
rcx@3325 48 # Exit if download failed to avoid errors.
pankso@9970 49 if [ ! -f "$ECJ_JAR" ] ; then
rcx@3325 50 echo -e "\nECJ jar download failed, exiting. Please check ECJ_URL variable.\n"
gokhlayeh@8504 51 return 1
rcx@3325 52 fi
al@20513 53 cp $ECJ_JAR $SRC
rcx@3325 54 fi
rcx@3325 55
rcx@3325 56 # Use libiberty.a from binutils.
rcx@3325 57 sed -i 's/install_to_$(INSTALL_DEST) //' \
gokhlayeh@8504 58 $src/libiberty/Makefile.in || return 1
al@18734 59 mkdir -p ../build && cd ../build
pankso@12541 60
al@18734 61 PYTHON_LIB=python$(grep ^VERSION= $WOK/python/receipt | sed 's/.*"\(...\).*/\1/')
al@18734 62 ../${src##*/}/configure --prefix=/usr --libexecdir=/usr/lib \
rcx@3325 63 --infodir=/usr/share/info --mandir=/usr/share/man --enable-nls \
pascal@6401 64 --enable-languages=c,c++,objc,java --enable-shared \
pascal@6401 65 --with-system-zlib \
rcx@3325 66 --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit \
pascal@13878 67 --enable-threads=posix --with-tune=$ARCH \
rcx@3325 68 --enable-java-home --with-arch-directory=i386 \
rcx@3686 69 --with-jvm-root-dir=/usr/lib/jvm/java-gcj \
rcx@3686 70 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-gcj \
pascal@6593 71 --with-python-dir=/usr/lib/$PYTHON_LIB/site-packages \
rcx@3325 72 --with-x --enable-java-awt=gtk \
rcx@3686 73 --enable-gtk-cairo \
slaxemulator@6751 74 --enable-lto \
pankso@9970 75 $CONFIGURE_ARGS $GCC_TARGET &&
al@18734 76 make bootstrap &&
al@18734 77 # Make install in the source tree to help creating derived pkgs
al@18734 78 # and keep $_pkg variable set for genpkg.
al@18734 79 make install
rcx@3325 80 }
rcx@3325 81
rcx@3325 82 # Rules to gen a SliTaz package suitable for Tazpkg.
rcx@3325 83 genpkg_rules()
rcx@3325 84 {
rcx@3325 85 mkdir -p $fs/usr/share
pascal@13878 86 cp -a $install/usr/share/java $fs/usr/share
al@18734 87 cp -a $install/usr/bin $fs/usr
al@18734 88 # Copy all libs. Remove libgcc_s.so and libstdc++.so
al@18734 89 # they goes in gcc-lib-base-$VERSION package.
al@18734 90 cp -a $install/usr/lib $fs/usr
al@18734 91 rm $fs/usr/lib/libgcc_s.so*
al@18734 92 rm $fs/usr/lib/libstdc++.so*
al@18734 93 rm $fs/usr/lib/libgomp.so*
al@18734 94 #rm $fs/usr/lib/gcj-$VERSION-11/*.la
al@18734 95 rm $fs/usr/lib/*.la
al@18734 96 # Include files.
al@18734 97 cp -a $install/usr/include $fs/usr
rcx@3325 98 }
rcx@3325 99
rcx@3325 100 # Post install commands for Tazpkg.
rcx@3325 101 post_install()
rcx@3325 102 {
pascal@18730 103 if [ ! -f "$1/lib/cpp" ] ; then
pascal@18730 104 ln -s ../usr/bin/cpp "$1/lib"
rcx@3325 105 fi
pascal@18730 106 if [ ! -f "$1/usr/bin/cc" ] ; then
pascal@18730 107 ln -s gcc "$1/usr/bin/cc"
rcx@3325 108 fi
rcx@3325 109 }