wok-next annotate mingw32-gcc/receipt @ rev 14337

Add EXTRA_SOURCE_FILES variable to track sources files for the mirrors
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Apr 13 19:32:46 2013 +0200 (2013-04-13)
parents 4c16797dce28
children ed5dd1053ab1
rev   line source
pascal@12905 1 # SliTaz package receipt.
pascal@12905 2
pascal@12905 3 PACKAGE="mingw32-gcc"
pascal@12905 4 SOURCE="gcc-core"
pascal@12905 5 VERSION="3.4.5-20060117-2"
pascal@12905 6 CATEGORY="development"
pascal@12905 7 SHORT_DESC="MinGW32 gcc, for C, C++, and Ada."
pascal@12905 8 MAINTAINER="rcx@zoominternet.net"
pascal@12905 9 DEPENDS="glibc-base mingw32-binutils mingw32-w32api-headers \
pascal@12905 10 mingw32-runtime-headers mingw32-w32api mingw32-runtime"
pascal@12905 11 BUILD_DEPENDS="slitaz-toolchain bison flex mingw32-binutils \
pascal@12905 12 mingw32-runtime-headers mingw32-w32api-headers mingw32-gcc-c \
pascal@12905 13 mingw32-w32api mingw32-runtime"
pascal@12905 14 PROVIDE="mingw32-gcc-c"
pascal@12905 15 TARBALL="$SOURCE-$VERSION-src.tar.gz"
pascal@14337 16 EXTRA_SOURCE_FILES="gcc-g++-$VERSION-src.tar.gz gcc-ada-$VERSION-src.tar.gz"
pascal@12905 17 WEB_SITE="http://www.mingw.org/"
pascal@12905 18 MINGW32_URL="$SF_MIRROR/mingw"
pascal@12905 19 WGET_URL="$MINGW32_URL/$TARBALL"
pascal@12905 20 MINGW32_ID="i586-pc-mingw32"
pascal@13033 21 TAGS="compiler C C++ ada"
pascal@12905 22
pascal@12905 23 # Configuration only needs included if we're in the build/wok environment
pascal@12905 24 if [ -e $WOK/mingw32-toolchain/stuff/mingw32.conf ] ; then
pascal@12905 25 . $WOK/mingw32-toolchain/stuff/mingw32.conf
pascal@12905 26 fi
pascal@12905 27
pascal@12905 28 # Rules to configure and make the package.
pascal@12905 29 compile_rules()
pascal@12905 30 {
pascal@12905 31 if [ "$MINGW32_ID" != "$MINGW32_TARGET" ] ; then
pascal@12905 32 echo "ERROR: Conf 'TARGET' string differs from Receipt 'ID' string"
pascal@12905 33 return 1
pascal@12905 34 fi
pascal@12905 35
pascal@12905 36 ln -s . gcc-$VERSION
pascal@14337 37 for tgz in $EXTRA_SOURCE_FILES; do
pascal@12905 38 [ -s $SOURCES_REPOSITORY/$tgz ] ||
pascal@12905 39 wget -P $SOURCES_REPOSITORY $MINGW32_URL/$tgz
pascal@12905 40 [ -s $SOURCES_REPOSITORY/$tgz ] &&
pascal@12905 41 tar xzf $SOURCES_REPOSITORY/$tgz && continue
pascal@12905 42 echo "Can't download $MINGW32_URL/$tgz abort."
pascal@12905 43 return 1
pascal@12905 44 done
pascal@12905 45
pascal@12905 46 rm -f -r $src/binutils
pascal@12905 47 mkdir -p $SOURCE-$VERSION-build
pascal@12905 48 cd $SOURCE-$VERSION-build
pascal@12905 49 $src/configure \
pascal@12905 50 --prefix=/usr \
pascal@12905 51 --libexecdir=/usr/lib \
pascal@12905 52 --infodir=/usr/share/info \
pascal@12905 53 --mandir=/usr/share/man \
pascal@12905 54 --with-sysroot=$MINGW32_ROOT \
pascal@12905 55 --disable-shared \
pascal@12905 56 --disable-debug \
pascal@12905 57 --target=$MINGW32_TARGET \
pascal@12905 58 --enable-languages=c,c++,ada \
pascal@12905 59 --enable-threads=win32 \
pascal@12905 60 --disable-win32-registry \
pascal@12905 61 --enable-sjlj-exceptions \
pascal@12905 62 $CONFIGURE_ARGS &&
pascal@12905 63 make -j 4 CFLAGS="-O2 -fomit-frame-pointer" LDFLAGS="-s" &&
pascal@12905 64 make DESTDIR=$DESTDIR install
pascal@12905 65 }
pascal@12905 66
pascal@12905 67 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@12905 68 genpkg_rules()
pascal@12905 69 {
pascal@12905 70 mkdir -p $fs/usr/lib $fs$MINGW32_ROOT
pascal@12905 71 cp -a $_pkg$MINGW32_ROOT/* $fs$MINGW32_ROOT
pascal@12905 72 rm $fs$MINGW32_ROOT/lib/*.la
pascal@12905 73 cp -a $_pkg/usr/bin $fs/usr
pascal@12905 74 cp -a $_pkg/usr/include $fs/usr
pascal@12905 75 # do not need to copy lib/libiberty.a
pascal@12905 76 mkdir -p $fs/usr/lib
pascal@12905 77 cp -a $_pkg/usr/lib/gcc $fs/usr/lib
pascal@12905 78 }
pascal@12905 79
pascal@12905 80 # Rules to setup after installation
pascal@12905 81 post_install()
pascal@12905 82 {
pascal@12905 83 # Archives get stripped during packaging; need to run ranlib
pascal@12905 84 local root
pascal@12905 85 root=$1
pascal@12905 86 find $root/usr/lib/gcc/$MINGW32_ID/ -name *.a -exec $MINGW32_ID-ranlib {} \;
pascal@12905 87 find $root/usr/$MINGW32_ID/lib/ -name *.a -exec $MINGW32_ID-ranlib {} \;
pascal@12905 88 }
pascal@12905 89
pascal@12905 90 # Rules to clean the package
pascal@12905 91 clean_wok()
pascal@12905 92 {
pascal@12905 93 rm -rf $SOURCE-$VERSION-build
pascal@12905 94 }