wok-current annotate gcc+gcj/receipt @ rev 3758
Update: gcc+gcj (added package check)
author | Matthew Sheets <rcx@zoominternet.net> |
---|---|
date | Fri Jul 24 10:58:22 2009 +0000 (2009-07-24) |
parents | e81980da2c9e |
children | 7fe791e8b986 |
rev | line source |
---|---|
rcx@3325 | 1 # SliTaz package receipt. |
rcx@3325 | 2 |
rcx@3325 | 3 PACKAGE="gcc+gcj" |
rcx@3325 | 4 SOURCE="gcc" |
rcx@3325 | 5 VERSION="4.4.0" |
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" |
rcx@3686 | 9 DEPENDS="glibc-base glib gcc-lib-base libgio libuuid zlib libgomp gmp mpfr python \ |
rcx@3686 | 10 gtk+ atk cairo expat fontconfig freetype pango pixman libpng libxcb xcb-util \ |
rcx@3325 | 11 xorg-libICE xorg-libSM xorg-libX11 xorg-libXau xorg-libXcomposite \ |
rcx@3325 | 12 xorg-libXcursor xorg-libXdamage xorg-libXdmcp xorg-libXext xorg-libXfixes \ |
rcx@3325 | 13 xorg-libXinerama xorg-libXrandr xorg-libXrender xorg-libXtst" |
rcx@3686 | 14 BUILD_DEPENDS="glibc-dev gawk flex python perl gmp gmp-dev mpfr mpfr-dev \ |
rcx@3708 | 15 expat-dev zlib-dev zip unzip gtk+-dev libart_lgpl-dev xorg-dev xorg-inputproto \ |
rcx@3758 | 16 xorg-kbproto xorg-libXtst xorg-randrproto xorg-renderproto xorg-xextproto xorg-xproto" |
rcx@3325 | 17 TARBALL="$SOURCE-$VERSION.tar.bz2" |
rcx@3325 | 18 WEB_SITE="http://gcc.gnu.org/" |
rcx@3325 | 19 WGET_URL="$GNU_MIRROR/$SOURCE/$SOURCE-$VERSION/$TARBALL" |
rcx@3325 | 20 PROVIDE="$SOURCE" |
rcx@3325 | 21 |
rcx@3325 | 22 # Rules to configure and make the package. |
rcx@3325 | 23 compile_rules() |
rcx@3325 | 24 { |
rcx@3758 | 25 # NOTE: gcj/libjava doesn't seem to build successfully when fastjar is installed |
rcx@3758 | 26 if [ -n "$(tazpkg list | grep '^fastjar\>')" ] ; then |
rcx@3758 | 27 echo "ERROR: Package 'fastjar' must be removed before compiling $PACKAGE" |
rcx@3758 | 28 exit 1 |
rcx@3758 | 29 fi |
rcx@3758 | 30 |
rcx@3686 | 31 # Set BUILD_HOST if not defined in tazwok.conf as it should be |
rcx@3686 | 32 if [ -z "$BUILD_HOST" ] ; then |
rcx@3686 | 33 BUILD_HOST="i486-pc-linux-gnu" |
rcx@3686 | 34 fi |
rcx@3686 | 35 GCC_TARGET=$BUILD_HOST |
rcx@3686 | 36 |
rcx@3325 | 37 # Get ecj.jar needed to build gcj |
rcx@3325 | 38 # (See http://gcc.gnu.org/install/configure.html --with-ecj-jar) |
rcx@3325 | 39 ECJ_PRE_PATH=`pwd` |
rcx@3482 | 40 ECJ_JAR="ecj-latest.jar" |
rcx@3482 | 41 ECJ_URL="ftp://sourceware.org/pub/java/$ECJ_JAR" |
rcx@3325 | 42 if [ ! -f "$SOURCES_REPOSITORY/$ECJ_JAR" ] ; then |
rcx@3325 | 43 cd $SOURCES_REPOSITORY |
rcx@3325 | 44 download $ECJ_URL |
rcx@3325 | 45 # Exit if download failed to avoid errors. |
rcx@3325 | 46 if [ ! -f "$SOURCES_REPOSITORY/$ECJ_JAR" ] ; then |
rcx@3325 | 47 echo -e "\nECJ jar download failed, exiting. Please check ECJ_URL variable.\n" |
rcx@3325 | 48 exit 1 |
rcx@3325 | 49 fi |
rcx@3325 | 50 else |
rcx@3325 | 51 echo -n "ECJ jar exit... " |
rcx@3325 | 52 status |
rcx@3325 | 53 fi |
rcx@3325 | 54 |
rcx@3325 | 55 # Copy the ecj jar to the root of the gcc source directory |
rcx@3325 | 56 # The file name isn't versioned, so we have to remove it from the |
rcx@3325 | 57 # sources repository to ensure that we receive updated files |
rcx@3325 | 58 mv -f $SOURCES_REPOSITORY/$ECJ_JAR $src/ecj.jar |
rcx@3325 | 59 |
rcx@3325 | 60 # Pop back to the pre-download directory |
rcx@3325 | 61 cd $ECJ_PRE_PATH |
rcx@3325 | 62 |
rcx@3325 | 63 # Use libiberty.a from binutils. |
rcx@3325 | 64 sed -i 's/install_to_$(INSTALL_DEST) //' \ |
rcx@3325 | 65 $SOURCE-$VERSION/libiberty/Makefile.in || exit 1 |
rcx@3325 | 66 mkdir -p $SOURCE-$VERSION-build |
rcx@3325 | 67 cd $SOURCE-$VERSION-build |
rcx@3686 | 68 |
rcx@3325 | 69 ../$SOURCE-$VERSION/configure --prefix=/usr --libexecdir=/usr/lib \ |
rcx@3325 | 70 --infodir=/usr/share/info --mandir=/usr/share/man --enable-nls \ |
rcx@3325 | 71 --enable-languages=c,c++,java --enable-shared --with-system-zlib \ |
rcx@3325 | 72 --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit \ |
rcx@3686 | 73 --enable-threads=posix --with-tune=i486 \ |
rcx@3325 | 74 --enable-java-home --with-arch-directory=i386 \ |
rcx@3686 | 75 --with-jvm-root-dir=/usr/lib/jvm/java-gcj \ |
rcx@3686 | 76 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-gcj \ |
rcx@3325 | 77 --with-python-dir=/lib/python2.5/site-packages \ |
rcx@3325 | 78 --with-x --enable-java-awt=gtk \ |
rcx@3686 | 79 --enable-gtk-cairo \ |
rcx@3686 | 80 $CONFIGURE_ARGS $GCC_TARGET && |
rcx@3325 | 81 make bootstrap && |
rcx@3686 | 82 # Make install in the source tree to help creating derived pkgs |
rcx@3325 | 83 # and keep $_pkg variable set for genpkg. |
rcx@3325 | 84 make DESTDIR=$src/_pkg install |
rcx@3325 | 85 } |
rcx@3325 | 86 |
rcx@3325 | 87 # Rules to gen a SliTaz package suitable for Tazpkg. |
rcx@3325 | 88 genpkg_rules() |
rcx@3325 | 89 { |
rcx@3325 | 90 mkdir -p $fs/usr/share |
rcx@3325 | 91 cp -a $_pkg/usr/share/java $fs/usr/share |
rcx@3325 | 92 cp -a $_pkg/usr/bin $fs/usr |
rcx@3325 | 93 # Copy all libs. Remove libgcc_s.so and libstdc++.so |
rcx@3325 | 94 # they goes in gcc-lib-base-$VERSION package. |
rcx@3325 | 95 cp -a $_pkg/usr/lib $fs/usr |
rcx@3325 | 96 rm $fs/usr/lib/libgcc_s.so* |
rcx@3325 | 97 rm $fs/usr/lib/libstdc++.so* |
rcx@3325 | 98 rm $fs/usr/lib/libgomp.so* |
rcx@3325 | 99 # Include files. |
rcx@3325 | 100 cp -a $_pkg/usr/include $fs/usr |
rcx@3325 | 101 } |
rcx@3325 | 102 |
rcx@3325 | 103 # Post install commands for Tazpkg. |
rcx@3325 | 104 post_install() |
rcx@3325 | 105 { |
rcx@3325 | 106 local root |
rcx@3325 | 107 root=$1 |
rcx@3325 | 108 echo "Processing post-install commands..." |
rcx@3325 | 109 if [ ! -f "$root/lib/cpp" ] ; then |
rcx@3325 | 110 ln -s ../usr/bin/cpp $root/lib |
rcx@3325 | 111 fi |
rcx@3325 | 112 if [ ! -f "$root/usr/bin/cc" ] ; then |
rcx@3325 | 113 ln -s gcc $root/usr/bin/cc |
rcx@3325 | 114 fi |
rcx@3325 | 115 } |
rcx@3325 | 116 |
rcx@3325 | 117 # Rules to clean the package |
rcx@3325 | 118 clean_wok() |
rcx@3325 | 119 { |
rcx@3325 | 120 rm -r $SOURCE-$VERSION-build |
rcx@3325 | 121 } |