SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "gcc+gcj"

# SliTaz package receipt.

PACKAGE="gcc+gcj"
SOURCE="gcc"
VERSION="4.5.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
}
3382 packages and 430813 files in stable database (Mon Mar 4 17:53:49 2019)