View Single Post
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#116
First testing of gcc-4.7.1. I don't have debs yet. I have only tested: 'gcc --version'.

Run on scratchbox1:
Code:
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/gcc-4.7_4.7.1-1.diff.gz
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/gcc-4.7_4.7.1.orig.tar.gz

gunzip gcc-4.7_4.7.1-1.diff.gz
tar xvf gcc-4.7_4.7.1.orig.tar.gz

mv gcc-4.7-4.7.1.orig gcc-4.7-4.7.1
patch -p 0 < gcc-4.7_4.7.1-1.diff
cd gcc-4.7-4.7.1/

---

#change distrelease
sed -i 's/:= sid/:= fremantle/g' debian/rules.defs

#no multiarch
sed -i 's/with_multiarch_lib := yes/with_multiarch_lib := no/g' debian/rules.defs 
sed -i 's/multiarch_stage1 := yes/multiarch_stage1 := no/g' debian/rules.defs 

#do not use gcc-4.4
sed -i 's/gcc-4.4/gcc/g' debian/rules2

#lower some build dependencies
sed -i 's/AUTO_BUILD_DEP += autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12),/AUTO_BUILD_DEP += autoconf, automake (>= 1:1.10), automake (<< 1:1.12),/g' debian/rules.conf

sed -i 's/make (>= 3.81)/make (>= 3.81) | make-3.81/g' debian/control.m4
sed -i 's/bison (>= 1:2.3)/bison (>= 1:2.3) | bison-2.4/g' debian/control.m4
sed -i 's/g++-4.4/g++/g' debian/control.m4

sed -i 's/autoconf2.64/autoconf/g' debian/control
sed -i 's/automake (>= 1:1.11)/automake/g' debian/control

#lower versions of documentation tools (and drop gsfonts-x11)
sed -i 's/doxygen (>= 1.7.2)/doxygen (>= 1.5.1)/g' debian/rules.conf
sed -i 's/gsfonts-x11, //g' debian/rules.conf
sed -i 's/doxygen (>= 1.7.2)/doxygen (>= 1.5.1)/g' debian/control
sed -i 's/gsfonts-x11, //g' debian/control

#lower some dependency-libraries
sed -i 's/GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),/GMP_BUILD_DEP = libgmp3-dev,/g' debian/rules.conf
sed -i 's/MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),/MPFR_BUILD_DEP = libmpfr-dev,/g' debian/rules.conf
sed -i 's/libelfg0-dev (>= 0.8.12),/libelfg0-dev,/g' debian/rules.conf

sed -i 's/libgmp-dev (>= 2:5.0.1~)/libgmp3-dev/g' debian/control
sed -i 's/libmpfr-dev (>= 3.0.0-9~)/libmpfr-dev/g' debian/control
sed -i 's/libelfg0-dev (>= 0.8.12)/libelfg0-dev/g' debian/control


#remove multilib
sed -i 's/GCC_MULTILIB_BUILD_DEP = g++-multilib \[\$(multilib_archs)\]/GCC_MULTILIB_BUILD_DEP =/g' debian/rules.conf


#lower dependencies on part2
sed -i 's/dpkg-dev (>= 1.16.0~ubuntu4)/dpkg-dev/g' debian/rules.conf
sed -i 's/dpkg-dev (>= 1.16.0~ubuntu4)/dpkg-dev/g' debian/control

sed -i 's/debhelper (>= 5.0.62)/debhelper/g' debian/control

#lower dependency of libc6
sed -i 's/libc6-dev (>= 2.13-5)/libc6-dev/g' debian/control
sed -i 's/libc_ver := 2.11/libc_ver := 2.5/g' debian/rules.conf
sed -i 's/libc6-dev (>= 2.13-31) \[armel armhf\]/libc6-dev [armel armhf]/g' debian/control
sed -i 's/libc6-dev (>= 2.13-31) \[armel armhf\]/libc6-dev [armel armhf]/g' debian/rules.conf

#do not use gnu-unique-object (GLIBC 2.11 or above)
sed -i 's/CONFARGS += --enable-gnu-unique-object/CONFARGS += --disable-gnu-unique-object/g' debian/rules2


#  This bug is marked invalid on upstream: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52218
#  and it is fixed on newer libc: http://sourceware.org/ml/libc-ports/2012-02/msg00079.htlibml

#add block to one existing/used patch-file 
echo "
--- a/src/libgo/runtime/proc.c  2012-06-20 14:03:10.721499031 +0300
+++ b/src/libgo/runtime/proc.c  2012-06-20 14:03:41.421651325 +0300
@@ -111,7 +111,15 @@
 
 # else
 
-#  error unknown case for SETCONTEXT_CLOBBERS_TLS
+static inline void
+initcontext(void)
+{
+}
+
+static inline void
+fixcontext(ucontext_t *c __attribute__ ((unused)))
+{
+}
 
 # endif
" >> debian/patches/libgo-fix-arm.diff


#build
fakeroot dpkg-buildpackage
 

The Following 7 Users Say Thank You to AapoRantalainen For This Useful Post: