# SliTaz package receipt. PACKAGE="gcc+gcj" SOURCE="gcc" VERSION="4.9.2" CATEGORY="development" SHORT_DESC="The GNU Compiler Collection, including the gcj Compiler for Java." MAINTAINER="rcx@zoominternet.net" TARBALL="$SOURCE-$VERSION.tar.bz2" WEB_SITE="http://gcc.gnu.org/java/" WGET_URL="$GNU_MIRROR/$SOURCE/$SOURCE-$VERSION/$TARBALL" PROVIDE="$SOURCE jre jdk" DEPENDS="glibc-base glib gcc-lib-base libgio util-linux-ng-uuid zlib libgomp gmp mpfr python \ gtk+ atk cairo expat fontconfig freetype pango pixman libpng libxcb xcb-util \ xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \ xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \ xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXtst alsa-lib elfutils" BUILD_DEPENDS="glibc-dev gawk flex python perl gmp gmp-dev mpfr mpfr-dev mpc-library \ expat-dev zlib-dev fastjar gtk+-dev libart_lgpl-dev xorg-dev xorg-inputproto \ xorg-kbproto xorg-libXtst xorg-randrproto xorg-renderproto xorg-xextproto xorg-xproto \ elfutils elfutils-dev" # Rules to configure and make the package. compile_rules() { cd $src # Set HOST_SYSTEM if not defined in tazwok.conf as it should be if [ -z "$HOST_SYSTEM" ] ; then HOST_SYSTEM="i486-slitaz-linux" fi GCC_TARGET=$HOST_SYSTEM # Get ecj.jar needed to build gcj. We have to dl it each time from the # sources repository to ensure that we receive the latest JAR. # (See http://gcc.gnu.org/install/configure.html --with-ecj-jar) ECJ_JAR="ecj-latest.jar" ECJ_URL="ftp://sourceware.org/pub/java/$ECJ_JAR" if [ ! -f "$ECJ_JAR" ] ; then echo "Downloading ECJ jar to: $(pwd)" wget -c $ECJ_URL # Exit if download failed to avoid errors. if [ ! -f "$ECJ_JAR" ] ; then echo -e "\nECJ jar download failed, exiting. Please check ECJ_URL variable.\n" return 1 fi fi # Use libiberty.a from binutils. sed -i 's/install_to_$(INSTALL_DEST) //' \ $src/libiberty/Makefile.in || return 1 mkdir -p ../build && cd ../build PYTHON_LIB=python$(grep ^VERSION= $WOK/python/receipt | sed 's/.*"\(...\).*/\1/') ../${src##*/}/configure --prefix=/usr --libexecdir=/usr/lib \ --infodir=/usr/share/info --mandir=/usr/share/man --enable-nls \ --enable-languages=c,c++,objc,java --enable-shared \ --with-system-zlib \ --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit \ --enable-threads=posix --with-tune=i486 \ --enable-java-home --with-arch-directory=i386 \ --with-jvm-root-dir=/usr/lib/jvm/java-gcj \ --with-jvm-jar-dir=/usr/lib/jvm-exports/java-gcj \ --with-python-dir=/usr/lib/$PYTHON_LIB/site-packages \ --with-x --enable-java-awt=gtk \ --enable-gtk-cairo \ --enable-lto \ $CONFIGURE_ARGS $GCC_TARGET && make bootstrap && # Make install in the source tree to help creating derived pkgs # and keep $_pkg variable set for genpkg. make install } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { mkdir -p $fs/usr/share cp -a $_pkg/usr/share/java $fs/usr/share cp -a $_pkg/usr/bin $fs/usr # Copy all libs. Remove libgcc_s.so and libstdc++.so # they goes in gcc-lib-base-$VERSION package. cp -a $_pkg/usr/lib $fs/usr rm $fs/usr/lib/libgcc_s.so* rm $fs/usr/lib/libstdc++.so* rm $fs/usr/lib/libgomp.so* rm $fs/usr/lib/gcj-$VERSION-11/*.la rm $fs/usr/lib/*.la # Include files. cp -a $_pkg/usr/include $fs/usr } # Post install commands for Tazpkg. post_install() { local root root=$1 echo "Processing post-install commands..." if [ ! -f "$root/lib/cpp" ] ; then ln -s ../usr/bin/cpp $root/lib fi if [ ! -f "$root/usr/bin/cc" ] ; then ln -s gcc $root/usr/bin/cc fi }