wok-undigest rev 1024

Testing newer gcc version
author Brenton Scott <admin@trixarian.net>
date Wed Jun 19 22:41:21 2013 +0200 (2013-06-19)
parents ab02140b97f9
children 5c38d4d4720d
files gcc-lib-base/description.txt gcc-lib-base/receipt gcc/description.txt gcc/receipt gcc/stuff/gcc-4.5.2-startfiles_fix-1.patch gdb-dev/receipt gdb/receipt
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gcc-lib-base/description.txt	Wed Jun 19 22:41:21 2013 +0200
     1.3 @@ -0,0 +1,3 @@
     1.4 +The GNU Compiler Collection includes front ends for C, C++, Objective-C,
     1.5 +Fortran, Java, Ada, and Go, as well as libraries for these languages
     1.6 +(libstdc++, libgcj,...).
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/gcc-lib-base/receipt	Wed Jun 19 22:41:21 2013 +0200
     2.3 @@ -0,0 +1,29 @@
     2.4 +# SliTaz package receipt.
     2.5 +
     2.6 +PACKAGE="gcc-lib-base"
     2.7 +VERSION="4.8.1"
     2.8 +CATEGORY="development"
     2.9 +SHORT_DESC="GCC base libraries, libgcc_s and libstdc++."
    2.10 +WEB_SITE="http://gcc.gnu.org/"
    2.11 +MAINTAINER="pankso@slitaz.org"
    2.12 +WANTED="gcc"
    2.13 +HOST_ARCH="i486 arm"
    2.14 +
    2.15 +# Handle multiarch compilation.
    2.16 +case "$ARCH" in
    2.17 +	arm) WANTED="" ;;
    2.18 +esac
    2.19 +
    2.20 +# Rules to gen a SliTaz package suitable for Tazpkg.
    2.21 +genpkg_rules()
    2.22 +{
    2.23 +	mkdir -p $fs/usr/lib
    2.24 +	case "$ARCH" in
    2.25 +		arm) libdir=$CROSS_TREE/tools/arm-slitaz-linux-gnueabi/lib ;;
    2.26 +		i?86) libdir=$install/usr/lib ;;
    2.27 +	esac
    2.28 +	cp -a $libdir/libgcc_s.so* $fs/usr/lib
    2.29 +	cp -a $libdir/libstdc++.so* $fs/usr/lib
    2.30 +	rm -f $fs/usr/lib/*-gdb.py
    2.31 +}
    2.32 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/gcc/description.txt	Wed Jun 19 22:41:21 2013 +0200
     3.3 @@ -0,0 +1,3 @@
     3.4 +The GNU Compiler Collection includes front ends for C, C++, Objective-C, 
     3.5 +Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++,
     3.6 +libgcj,...). 
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/gcc/receipt	Wed Jun 19 22:41:21 2013 +0200
     4.3 @@ -0,0 +1,229 @@
     4.4 +# SliTaz package receipt.
     4.5 +
     4.6 +PACKAGE="gcc"
     4.7 +VERSION="4.8.1"
     4.8 +CATEGORY="development"
     4.9 +SHORT_DESC="The the GNU Compiler Collection."
    4.10 +MAINTAINER="pankso@slitaz.org"
    4.11 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
    4.12 +WEB_SITE="http://gcc.gnu.org/"
    4.13 +WGET_URL="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$TARBALL"
    4.14 +TAGS="compiler C"
    4.15 +
    4.16 +# We need gawk since busybox awk is not sufficient. We have BUILD_DEPENDS
    4.17 +# for cookutils that are not used by tazwok/cook-toolchain since it install
    4.18 +# and use it's own copy.
    4.19 +DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils"
    4.20 +BUILD_DEPENDS="elfutils mpc-library mpfr mpfr-dev gmp gmp-dev \
    4.21 +elfutils-dev"
    4.22 +
    4.23 +# Rules to compile & install the temporary toolchain.
    4.24 +precook_tmp_toolchain()
    4.25 +{
    4.26 +	report open-bloc
    4.27 +	cd $src
    4.28 +
    4.29 +	# GCC requires the GMP, MPFR and MPC packages.
    4.30 +	tazwok get-src mpfr --target=$PWD/mpfr || { report close-bloc; return 1; }
    4.31 +	tazwok get-src gmp --target=$PWD/gmp || { report close-bloc; return 1; }
    4.32 +	tazwok get-src mpc-library --target=$PWD/mpc || { report close-bloc; return 1; }
    4.33 +
    4.34 +	report step "Running compilation"
    4.35 +
    4.36 +	# Use libiberty.a from binutils.
    4.37 +	sed -i 's/install_to_$(INSTALL_DEST) //' \
    4.38 +		libiberty/Makefile.in || return 1
    4.39 +
    4.40 +	# Build it in a separate directory.
    4.41 +	mkdir ../gcc-build
    4.42 +	cd ../gcc-build
    4.43 +
    4.44 +	{ $src/configure \
    4.45 +		--target=$HOST_SYSTEM \
    4.46 +		--disable-nls --disable-shared --disable-multilib \
    4.47 +		--disable-decimal-float --disable-threads \
    4.48 +		--disable-libmudflap --disable-libssp \
    4.49 +		--disable-libgomp --enable-languages=c \
    4.50 +		--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
    4.51 +		--without-ppl --without-cloog &&
    4.52 +	make &&
    4.53 +	make install
    4.54 +	} || { report close-bloc; return 1; }
    4.55 +
    4.56 +	# See LFS for more detais about this.
    4.57 +	ln -s libgcc.a `$HOST_SYSTEM-gcc -print-libgcc-file-name | \
    4.58 +    		sed 's/libgcc/&_eh/'`
    4.59 +	report close-bloc
    4.60 +}
    4.61 +
    4.62 +cook_tmp_toolchain()
    4.63 +{
    4.64 +	report open-bloc
    4.65 +	cd $src
    4.66 +	patch -Np1 -i $stuff/gcc-$VERSION-startfiles_fix-1.patch || { report close-bloc; return 1; }
    4.67 +
    4.68 +	# Details about theses lines are in LFS book.
    4.69 +	sed 's@\./fixinc\.sh@-c true@' -i gcc/Makefile.in
    4.70 +	sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' -i gcc/Makefile.in
    4.71 +	for file in \
    4.72 +		$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
    4.73 +	do
    4.74 +		sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
    4.75 +			-e 's@/usr@/tools@g' -i $file
    4.76 +		echo '
    4.77 +#undef STANDARD_INCLUDE_DIR
    4.78 +#define STANDARD_INCLUDE_DIR 0
    4.79 +#define STANDARD_STARTFILE_PREFIX_1 ""
    4.80 +#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
    4.81 +	done
    4.82 +
    4.83 +	if [ "$ARCH" = x86_64 ]; then
    4.84 +		for file in $(find gcc/config -name t-linux64) ; do
    4.85 +			sed '/MULTILIB_OSDIRNAMES/d' -i $file
    4.86 +		done
    4.87 +	fi
    4.88 +
    4.89 +	# GCC requires the GMP, MPFR and MPC packages.
    4.90 +	tazwok get-src mpfr --target=$PWD/mpfr || { report close-bloc; return 1; }
    4.91 +	tazwok get-src gmp --target=$PWD/gmp || { report close-bloc; return 1; }
    4.92 +	tazwok get-src mpc-library --target=$PWD/mpc || { report close-bloc; return 1; }
    4.93 +
    4.94 +	report step "Running compilation"
    4.95 +
    4.96 +	# Use libiberty.a from binutils.
    4.97 +	sed -i 's/install_to_$(INSTALL_DEST) //' \
    4.98 +		libiberty/Makefile.in || return 1
    4.99 +
   4.100 +	# Build it in a separate directory.
   4.101 +	mkdir ../gcc-build
   4.102 +	cd ../gcc-build
   4.103 +
   4.104 +	{ CC="$HOST_SYSTEM-gcc -B/tools/lib/" \
   4.105 +		AR=$HOST_SYSTEM-ar RANLIB=$HOST_SYSTEM-ranlib \
   4.106 +		$src/configure \
   4.107 +		--with-local-prefix=/tools --enable-clocale=gnu \
   4.108 +		--enable-shared --enable-threads=posix \
   4.109 +		--enable-__cxa_atexit --enable-languages=c,c++ \
   4.110 +		--disable-libstdcxx-pch --disable-multilib \
   4.111 +		--disable-bootstrap --disable-libgomp \
   4.112 +		--with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
   4.113 +		--without-ppl --without-cloog &&
   4.114 +	make &&
   4.115 +	make install
   4.116 +	} || { report close-bloc; return 1; }
   4.117 +	ln -s gcc /tools/bin/cc
   4.118 +	report close-bloc
   4.119 +}
   4.120 +
   4.121 +# Rules to configure and make the package.
   4.122 +compile_rules()
   4.123 +{
   4.124 +	cd $src
   4.125 +
   4.126 +	# SliTaz is a Busybox based OS, why we so small and fast. Using gawk by
   4.127 +	# default to build package will not ensure package work with Busybox awk
   4.128 +	# and so should NOT be use to cook.
   4.129 +	if [ -x /usr/bin/cook ]; then
   4.130 +		[ -d "/var/lib/tazpkg/installed/gawk" ] || tazpkg get-install gawk
   4.131 +	fi
   4.132 +
   4.133 +	# Package slitaz-toolchain use 'cook --options' when rebuilding
   4.134 +	# the full SliTaz toolchain.
   4.135 +	[ "$2" == "--first-pass" ] && opt=$2
   4.136 +	[ "$3" == "--first-pass" ] && opt=$3
   4.137 +
   4.138 +	# Use libiberty.a from binutils.
   4.139 +	sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || return 1
   4.140 +
   4.141 +	case $ARCH in
   4.142 +		i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' \
   4.143 +			gcc/Makefile.in ;;
   4.144 +	esac
   4.145 +
   4.146 +	#sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
   4.147 +
   4.148 +	mkdir -p ../gcc-build && cd ../gcc-build
   4.149 +
   4.150 +	# This is the default GCC and we want a native build to cross compile after.
   4.151 +	# SliTaz target i486 host so we need a native i486 build for GCC.
   4.152 +	case "$opt" in
   4.153 +		--first-pass)
   4.154 +			# Used by slitaz-toolchain when rebuilding the full toolchain.
   4.155 +			echo "cook: configure GCC for: toolchain first pass"
   4.156 +			$src/configure \
   4.157 +				--libexecdir=/usr/lib \
   4.158 +				--disable-nls \
   4.159 +				--enable-shared \
   4.160 +				--enable-languages=c,c++ \
   4.161 +				--disable-libstdcxx-pch \
   4.162 +				--enable-__cxa_atexit \
   4.163 +				--enable-clocale=gnu \
   4.164 +				--enable-threads=posix \
   4.165 +				--disable-bootstrap \
   4.166 +				--build=$HOST_SYSTEM \
   4.167 +				--host=$HOST_SYSTEM &&
   4.168 +			make && make install ;;
   4.169 +		*)
   4.170 +			# Used by default to produce a full featured X86 GCC compiler.
   4.171 +			echo "cook: configure GCC for: final/full build"
   4.172 +			$src/configure \
   4.173 +				--libexecdir=/usr/lib \
   4.174 +				--enable-nls \
   4.175 +				--enable-languages=c,c++,objc,fortran \
   4.176 +				--enable-shared \
   4.177 +				--with-system-zlib \
   4.178 +				--enable-clocale=gnu \
   4.179 +				--enable-objc-gc \
   4.180 +				--enable-__cxa_atexit \
   4.181 +				--enable-lto \
   4.182 +				--enable-threads=posix \
   4.183 +				--disable-bootstrap \
   4.184 +				--with-pkgversion="SliTaz" \
   4.185 +				--with-tune=$ARCH \
   4.186 +				--build=$HOST_SYSTEM \
   4.187 +				--host=$HOST_SYSTEM &&
   4.188 +			make && make install ;;
   4.189 +	esac
   4.190 +}
   4.191 +
   4.192 +# Rules to gen a SliTaz package suitable for Tazpkg.
   4.193 +genpkg_rules()
   4.194 +{
   4.195 +	mkdir -p  $fs/usr/share
   4.196 +	cp -a $install/usr/bin $fs/usr
   4.197 +
   4.198 +	# Copy all libs. Remove libgcc_s.so and libstdc++.so they goes in
   4.199 +	# the gcc-lib-base package.
   4.200 +	cp -a $install/usr/lib $fs/usr
   4.201 +	rm -f $fs/usr/lib/libgcc_s.so*
   4.202 +	rm -f $fs/usr/lib/libstdc++.so*
   4.203 +	rm -f $fs/usr/lib/libgomp.so*
   4.204 +	rm -f $fs/usr/lib/libobjc.so*
   4.205 +
   4.206 +	# Include files.
   4.207 +	cp -a $install/usr/include $fs/usr
   4.208 +
   4.209 +	# Gfortran goes in gfortran package.
   4.210 +	rm -f $fs/usr/bin/*gfortran
   4.211 +	rm -f $fs/usr/lib/libgfortran*
   4.212 +	rm -f $fs/usr/lib/gcc/*/$VERSION/libgfortran*
   4.213 +	rm -rf $fs/usr/lib/gcc/*/$VERSION/f*
   4.214 +
   4.215 +	# Remove build directory.
   4.216 +	rm -rf $WOK/$PACKAGE/source/$PACKAGE-build
   4.217 +	rm -rf $WOK/$PACKAGE/$PACKAGE-build
   4.218 +}
   4.219 +
   4.220 +# Post install commands for Tazpkg.
   4.221 +post_install()
   4.222 +{
   4.223 +	local root
   4.224 +	root=$1
   4.225 +	echo "Processing post-install commands..."
   4.226 +	if [ ! -f "$root/lib/cpp" ]; then
   4.227 +		ln -s ../usr/bin/cpp $root/lib
   4.228 +	fi
   4.229 +	if [ ! -f "$root/usr/bin/cc" ]; then
   4.230 +		ln -s gcc $root/usr/bin/cc
   4.231 +	fi
   4.232 +}
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/gcc/stuff/gcc-4.5.2-startfiles_fix-1.patch	Wed Jun 19 22:41:21 2013 +0200
     5.3 @@ -0,0 +1,33 @@
     5.4 +Submitted By: Jeremy Huntwork (jhuntwork AT linuxfromscratch DOT org)
     5.5 +Date: 2008-12-05
     5.6 +Initial Package Version: 4.3.2
     5.7 +Upstream Status: See below.
     5.8 +Origin: DIY Linux, See below.
     5.9 +Description: Original patch follows:
    5.10 +
    5.11 +# DIY Linux Patch
    5.12 +Date: 2008-09-09
    5.13 +Author: Refer Origin.
    5.14 +Origin: Partial revert of http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00416.html
    5.15 +Maker: Greg Schafer <gschafer@zip.com.au>
    5.16 +Upstream Status: Not applicable. Tweak only for Temptools phase GCC-Pass2.
    5.17 +Description: Partially revert GCC driver to pre-GCC-4.3 state to allow startfiles to be
    5.18 +  found in $prefix when GCC is configured for a non-standard prefix eg: /temptools. Full
    5.19 +  background info in thread starting here: http://gcc.gnu.org/ml/gcc/2008-03/msg00095.html
    5.20 +  and GCC bugzilla here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35532
    5.21 +
    5.22 +diff -Naur gcc-4.3.0-RC-20080222.orig/gcc/gcc.c gcc-4.3.0-RC-20080222/gcc/gcc.c
    5.23 +--- gcc-4.3.0-RC-20080222.orig/gcc/gcc.c	2008-01-24 18:57:12.000000000 +0000
    5.24 ++++ gcc-4.3.0-RC-20080222/gcc/gcc.c	2008-03-02 06:07:36.000000000 +0000
    5.25 +@@ -6370,6 +6370,11 @@
    5.26 + 			      machine_suffix, 
    5.27 + 			      standard_startfile_prefix, NULL),
    5.28 + 		      NULL, PREFIX_PRIORITY_LAST, 0, 1);
    5.29 ++	  add_prefix (&startfile_prefixes,
    5.30 ++		      concat (standard_exec_prefix,
    5.31 ++			      machine_suffix,
    5.32 ++			      standard_startfile_prefix, NULL),
    5.33 ++		      NULL, PREFIX_PRIORITY_LAST, 0, 1);
    5.34 + 	}
    5.35 + 
    5.36 +       /* Sysrooted prefixes are relocated because target_system_root is
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/gdb-dev/receipt	Wed Jun 19 22:41:21 2013 +0200
     6.3 @@ -0,0 +1,34 @@
     6.4 +# SliTaz package receipt."
     6.5 +
     6.6 +PACKAGE="gdb-dev"
     6.7 +VERSION="7.6"
     6.8 +CATEGORY="development"
     6.9 +SHORT_DESC="The GNU Project Debugger dev files."
    6.10 +MAINTAINER="erjo@slitaz.org"
    6.11 +DEPENDS="gdb"
    6.12 +WANTED="gdb"
    6.13 +WEB_SITE="http://www.gnu.org/software/gdb/"
    6.14 +
    6.15 +genpkg_rules()
    6.16 +{
    6.17 +	mkdir -p $fs/usr
    6.18 +	
    6.19 +	# Copying include dir if exists
    6.20 +	if [ -d "$install/usr/include" ]; then
    6.21 +		cp -a $install/usr/include $fs/usr
    6.22 +	fi
    6.23 +	
    6.24 +	# Copying pkgconfig dir if exists
    6.25 +	if [ -d "$install/usr/lib/pkgconfig" ]; then
    6.26 +		test -d $fs/usr/lib/ || mkdir -p $fs/usr/lib/
    6.27 +		cp -a $install/usr/lib/pkgconfig $fs/usr/lib
    6.28 +	fi
    6.29 +	
    6.30 +	# Do not copy static libs, as they are all part of binutils
    6.31 +	# binutils includes libbdf.*a, libiberty.a, and libopcodes.*a
    6.32 +	# Copying static libs if exists
    6.33 +	#if ( find $_pkg/usr/lib -name "*.*a" > /dev/null ); then
    6.34 +	#	test -d $fs/usr/lib || mkdir -p $fs/usr/lib
    6.35 +	#	cp -a $_pkg/usr/lib/*.*a $fs/usr/lib
    6.36 +	#fi
    6.37 +}
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/gdb/receipt	Wed Jun 19 22:41:21 2013 +0200
     7.3 @@ -0,0 +1,30 @@
     7.4 +# SliTaz package receipt.
     7.5 +
     7.6 +PACKAGE="gdb"
     7.7 +VERSION="7.6"
     7.8 +CATEGORY="development"
     7.9 +SHORT_DESC="The GNU Project Debugger."
    7.10 +MAINTAINER="erjo@slitaz.org"
    7.11 +DEPENDS="ncurses expat glibc-dev"
    7.12 +BUILD_DEPENDS="ncurses-dev readline-dev"
    7.13 +TARBALL="$PACKAGE-$VERSION.tar.bz2"
    7.14 +WEB_SITE="http://www.gnu.org/software/gdb/"
    7.15 +WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
    7.16 +
    7.17 +# Rules to configure and make the package.
    7.18 +compile_rules()
    7.19 +{
    7.20 +	cd $src
    7.21 +	./configure --prefix=/usr \
    7.22 +		--with-python=no \
    7.23 +		--disable-werror $CONFIGURE_ARGS && \
    7.24 +	make $MAKEFLAGS && make DESTDIR=$DESTDIR install
    7.25 +}
    7.26 +
    7.27 +# Rules to gen a SliTaz package suitable for Tazpkg.
    7.28 +genpkg_rules()
    7.29 +{
    7.30 +	mkdir -p $fs/usr
    7.31 +	cp -a $install/usr/bin $fs/usr
    7.32 +}
    7.33 +