diff options
author | Fantix King | 2012-09-22 17:43:17 +0800 |
---|---|---|
committer | Fantix King | 2015-11-08 20:36:27 +0800 |
commit | d075d963a7f9eb1d10d8a76dbeaae94a376cadd1 (patch) | |
tree | b7cb65eda42d6cc08ef0690cf9493d6494c55c08 | |
download | aur-d075d963a7f9eb1d10d8a76dbeaae94a376cadd1.tar.gz |
4.7.1-4.1
-rw-r--r-- | .SRCINFO | 84 | ||||
-rw-r--r-- | PKGBUILD | 326 | ||||
-rw-r--r-- | gcc-4.7.1-libada-pic.patch | 12 | ||||
-rw-r--r-- | gcc-4.7.1-libgo-mksysinfo.patch | 15 | ||||
-rw-r--r-- | gcc-4.7.1-libgo-write.patch | 13 | ||||
-rw-r--r-- | gcc-ada.install | 20 | ||||
-rw-r--r-- | gcc-fortran.install | 16 | ||||
-rw-r--r-- | gcc-go.install | 20 | ||||
-rw-r--r-- | gcc-libs.install | 16 | ||||
-rw-r--r-- | gcc.install | 20 | ||||
-rw-r--r-- | gcc_pure64-multilib.patch | 22 |
11 files changed, 564 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e572ca2b3eb8 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,84 @@ +pkgbase = gcc-multilib + pkgdesc = The GNU Compiler Collection for multilib + pkgver = 4.7.1 + pkgrel = 4.1 + url = http://gcc.gnu.org + arch = x86_64 + license = GPL + license = LGPL + license = FDL + license = custom + checkdepends = dejagnu + makedepends = binutils-multilib>=2.22 + makedepends = libmpc + makedepends = cloog + makedepends = ppl + makedepends = gcc-ada-multilib + makedepends = lib32-glibc>=2.16 + options = !libtool + options = !emptydirs + source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.1/gcc-4.7.1.tar.bz2 + source = ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.20120605.man.tar.bz2 + source = gcc_pure64-multilib.patch + source = gcc-4.7.1-libada-pic.patch + source = gcc-4.7.1-libgo-write.patch + source = gcc-4.7.1-libgo-mksysinfo.patch + md5sums = 933e6f15f51c031060af64a9e14149ff + md5sums = 767c62f9a047c4434f2345decf1d0819 + md5sums = ec24c32d3d1030c2bc8cb2ad2d1dc629 + md5sums = 2acbc9d35cc9d72329dc71d6b1f162ef + md5sums = df82dd175ac566c8a6d46b11ac21f14c + md5sums = 8e847244dba042d0aa3297713edaf70c + +pkgname = gcc-multilib + pkgdesc = The GNU Compiler Collection - C and C++ frontends for multilib + install = gcc.install + groups = multilib-devel + depends = gcc-libs-multilib=4.7.1-4.1 + depends = binutils-multilib>=2.22 + depends = libmpc + depends = cloog + depends = ppl + provides = gcc=4.7.1-4.1 + conflicts = gcc + +pkgname = gcc-libs-multilib + pkgdesc = Runtime libraries shipped by GCC for multilib + install = gcc-libs.install + depends = glibc>=2.16 + depends = lib32-gcc-libs=4.7.1-4.1 + provides = gcc-libs=4.7.1-4.1 + conflicts = gcc-libs + +pkgname = lib32-gcc-libs + pkgdesc = Runtime libraries shipped by GCC (32-bit) + depends = lib32-glibc>=2.16 + depends = gcc-libs>=4.7.1 + +pkgname = gcc-fortran-multilib + pkgdesc = Fortran front-end for GCC for multilib + install = gcc-fortran.install + depends = gcc-multilib=4.7.1-4.1 + provides = gcc-fortran=4.7.1-4.1 + conflicts = gcc-fortran + +pkgname = gcc-objc-multilib + pkgdesc = Objective-C front-end for GCC for multilib + depends = gcc-multilib=4.7.1-4.1 + provides = gcc-objc=4.7.1-4.1 + conflicts = gcc-objc + +pkgname = gcc-ada-multilib + pkgdesc = Ada front-end for GCC (GNAT) for multilib + install = gcc-ada.install + depends = gcc-multilib=4.7.1-4.1 + provides = gcc-ada=4.7.1-4.1 + conflicts = gcc-ada + +pkgname = gcc-go-multilib + pkgdesc = Go front-end for GCC for multilib + install = gcc-go.install + depends = gcc-multilib=4.7.1-4.1 + provides = gcc-go=4.7.1-4.1 + conflicts = gcc-go + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..cda37866d3ab --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,326 @@ +# $Id: PKGBUILD 73407 2012-07-07 09:50:53Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgbase='gcc-multilib' +pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') +pkgver=4.7.1 +pkgrel=4.1 +#_snapshot=4.7-20120505 +_libstdcppmanver=20120605 # Note: check source directory name when updating this +pkgdesc="The GNU Compiler Collection for multilib" +arch=('x86_64') +license=('GPL' 'LGPL' 'FDL' 'custom') +url="http://gcc.gnu.org" +makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' + 'lib32-glibc>=2.16') +checkdepends=('dejagnu') +options=('!libtool' '!emptydirs') +source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 + #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 + gcc_pure64-multilib.patch + gcc-4.7.1-libada-pic.patch + gcc-4.7.1-libgo-write.patch + gcc-4.7.1-libgo-mksysinfo.patch) +md5sums=('933e6f15f51c031060af64a9e14149ff' + '767c62f9a047c4434f2345decf1d0819' + 'ec24c32d3d1030c2bc8cb2ad2d1dc629' + '2acbc9d35cc9d72329dc71d6b1f162ef' + 'df82dd175ac566c8a6d46b11ac21f14c' + '8e847244dba042d0aa3297713edaf70c') + + +if [ -n "${_snapshot}" ]; then + _basedir="${srcdir}/gcc-${_snapshot}" +else + _basedir="${srcdir}/gcc-${pkgver}" +fi + +build() { + cd ${_basedir} + + # Do not install libiberty + sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch + + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 + patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch + + # bug to file... + patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch + + # http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01946.html + patch -p0 -i ${srcdir}/gcc-4.7.1-libgo-mksysinfo.patch + + echo ${pkgver} > gcc/BASE-VER + + cd ${srcdir} + mkdir gcc-build && cd gcc-build + + ${_basedir}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --mandir=/usr/share/man --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ + --enable-shared --enable-threads=posix \ + --with-system-zlib --enable-__cxa_atexit \ + --disable-libunwind-exceptions --enable-clocale=gnu \ + --disable-libstdcxx-pch --enable-libstdcxx-time \ + --enable-gnu-unique-object --enable-linker-build-id \ + --with-ppl --enable-cloog-backend=isl \ + --disable-ppl-version-check --disable-cloog-version-check \ + --enable-lto --enable-gold --enable-ld=default \ + --enable-plugin --with-plugin-ld=ld.gold \ + --with-linker-hash-style=gnu \ + --enable-multilib --disable-libssp \ + --disable-build-with-cxx --disable-build-poststage1-with-cxx \ + --enable-checking=release + make +} + +check() { + cd gcc-build + + # increase stack size to prevent test failures + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 + ulimit -s 32768 + + # do not abort on error as some are "expected" + make -k check || true + ${_basedir}/contrib/test_summary +} + +package_gcc-libs-multilib() +{ + pkgdesc="Runtime libraries shipped by GCC for multilib" + depends=('glibc>=2.16' "lib32-gcc-libs=$pkgver-$pkgrel") + provides=("gcc-libs=$pkgver-$pkgrel") + conflicts=('gcc-libs') + install=gcc-libs.install + + cd gcc-build + make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src libitm; do + make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install + make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info + make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} + + # remove stuff in lib32-gcc-libs + rm -r ${pkgdir}/usr/lib32 + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_lib32-gcc-libs() +{ + pkgdesc="Runtime libraries shipped by GCC (32-bit)" + depends=('lib32-glibc>=2.16' "gcc-libs>=$pkgver") + + cd gcc-build + make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src libitm; do + make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm ${pkgdir}/usr/lib32/libgfortran.spec + + # remove stuff in gcc-libs-multilib + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/info + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-multilib() +{ + pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib" + depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl') + groups=('multilib-devel') + provides=("gcc=$pkgver-$pkgrel") + conflicts=('gcc') + install=gcc.install + + cd gcc-build + + make -j1 DESTDIR=${pkgdir} install + + install -d $pkgdir/usr/share/gdb/auto-load/usr/lib + mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py + + # unfortunately it is much, much easier to install the lot and clean-up the mess... + rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} + rm $pkgdir/usr/lib{,32}/*.so* + rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a + rm $pkgdir/usr/lib{,32}/libgfortran.spec + rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{,32/}{libcaf_single,libgfortranbegin}.a + rm -r $pkgdir/usr/lib{,32}/go + rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info + rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo + rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 + rm $pkgdir/usr/share/man/man3/ffi* + + # many packages require these symlinks + #install -dm755 ${pkgdir}/lib + #ln -s /usr/bin/cpp ${pkgdir}/lib/cpp + ln -s gcc ${pkgdir}/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + cat > $pkgdir/usr/bin/c89 <<"EOF" +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + cat > $pkgdir/usr/bin/c99 <<"EOF" +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + chmod 755 $pkgdir/usr/bin/c{8,9}9 + + # install the libstdc++ man pages + install -dm755 ${pkgdir}/usr/share/man/man3 + install -m644 ${srcdir}/libstdc++-api.${_libstdcppmanver}.man/man3/* \ + ${pkgdir}/usr/share/man/man3/ + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-fortran-multilib() +{ + pkgdesc="Fortran front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-fortran=$pkgver-$pkgrel") + conflicts=('gcc-fortran') + install=gcc-fortran.install + + cd gcc-build + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=$pkgdir install-target-libgfortran + make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS + make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} + install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so* + rm ${pkgdir}/usr/share/info/libquadmath.info + + ln -s gfortran ${pkgdir}/usr/bin/f95 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-objc-multilib() +{ + pkgdesc="Objective-C front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-objc=$pkgver-$pkgrel") + conflicts=('gcc-objc') + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libobjc + install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib{,32}/libobjc.so* + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-ada-multilib() +{ + pkgdesc="Ada front-end for GCC (GNAT) for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-ada=$pkgver-$pkgrel") + conflicts=('gcc-ada') + install=gcc-ada.install + + cd gcc-build/gcc + make -j1 DESTDIR=$pkgdir ada.install-{common,info} + install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver + + cd ../$CHOST/32/libada + make -j1 DESTDIR=${pkgdir} INSTALL="install" \ + INSTALL_DATA="install -m644" install-gnatlib + + ln -s gcc ${pkgdir}/usr/bin/gnatgcc + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-go-multilib() +{ + pkgdesc="Go front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-go=$pkgver-$pkgrel") + conflicts=('gcc-go') + install=gcc-go.install + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libgo + make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} + install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION +} diff --git a/gcc-4.7.1-libada-pic.patch b/gcc-4.7.1-libada-pic.patch new file mode 100644 index 000000000000..591da1e4a472 --- /dev/null +++ b/gcc-4.7.1-libada-pic.patch @@ -0,0 +1,12 @@ +diff -Naur gcc-4.7.1-orig/libada/Makefile.in gcc-4.7.1/libada/Makefile.in +--- gcc-4.7.1-orig/libada/Makefile.in 2012-06-13 01:12:37.000000000 +1000 ++++ gcc-4.7.1/libada/Makefile.in 2012-06-16 15:04:32.179911023 +1000 +@@ -54,7 +54,7 @@ + PICFLAG = @PICFLAG@ + GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc + GNATLIBCFLAGS= -g -O2 +-GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \ ++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG) \ + -fexceptions -DIN_RTS @have_getipinfo@ + + host_subdir = @host_subdir@ diff --git a/gcc-4.7.1-libgo-mksysinfo.patch b/gcc-4.7.1-libgo-mksysinfo.patch new file mode 100644 index 000000000000..427efe8a6e0e --- /dev/null +++ b/gcc-4.7.1-libgo-mksysinfo.patch @@ -0,0 +1,15 @@ +--- libgo/mksysinfo.sh 2012-06-29 14:23:30.684708901 +0200 ++++ libgo/mksysinfo.sh 2012-06-29 14:23:20.782761973 +0200 +@@ -522,10 +522,10 @@ grep '^const _DT_' gen-sysinfo.go | + # The rusage struct. + rusage=`grep '^type _rusage struct' gen-sysinfo.go` + if test "$rusage" != ""; then +- rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` +- rusage=`echo $rusage | sed -e 's/^ *//'` + # Remove anonymous unions from GNU/Linux <bits/resource.h>. + rusage=`echo $rusage | sed -e 's/Godump_[0-9]* struct {\([^}]*\)};/\1/g'` ++ rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'` ++ rusage=`echo $rusage | sed -e 's/^ *//'` + nrusage= + while test -n "$rusage"; do + field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'` diff --git a/gcc-4.7.1-libgo-write.patch b/gcc-4.7.1-libgo-write.patch new file mode 100644 index 000000000000..a7be83fdad81 --- /dev/null +++ b/gcc-4.7.1-libgo-write.patch @@ -0,0 +1,13 @@ +diff -Naur gcc-4.7.1-orig/libgo/runtime/print.c gcc-4.7.1/libgo/runtime/print.c +--- gcc-4.7.1-orig/libgo/runtime/print.c 2012-05-26 04:22:14.000000000 +1000 ++++ gcc-4.7.1/libgo/runtime/print.c 2012-06-16 15:06:28.553138502 +1000 +@@ -17,7 +17,8 @@ + G* g = runtime_g(); + + if(g == nil || g->writebuf == nil) { +- runtime_write(2, v, n); ++ ssize_t bytesWritten = runtime_write(2, v, n); ++ (void)bytesWritten; + return; + } + diff --git a/gcc-ada.install b/gcc-ada.install new file mode 100644 index 000000000000..df0553a4f4b7 --- /dev/null +++ b/gcc-ada.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/gcc-fortran.install b/gcc-fortran.install new file mode 100644 index 000000000000..b15d89a97668 --- /dev/null +++ b/gcc-fortran.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file="gfortran.info" + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file.gz $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null +} diff --git a/gcc-go.install b/gcc-go.install new file mode 100644 index 000000000000..7dc50dee5a92 --- /dev/null +++ b/gcc-go.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gccgo.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/gcc-libs.install b/gcc-libs.install new file mode 100644 index 000000000000..23553b8f0b10 --- /dev/null +++ b/gcc-libs.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +filelist=(libgomp.info libquadmath.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/gcc.install b/gcc.install new file mode 100644 index 000000000000..3407a5e1f37c --- /dev/null +++ b/gcc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/gcc_pure64-multilib.patch b/gcc_pure64-multilib.patch new file mode 100644 index 000000000000..b5576ae0e2f8 --- /dev/null +++ b/gcc_pure64-multilib.patch @@ -0,0 +1,22 @@ +diff -u -r gcc-4.7.0/gcc/config/i386/linux64.h gcc-4.7.0-pure64/gcc/config/i386/linux64.h +--- gcc-4.7.0/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200 ++++ gcc-4.7.0-pure64/gcc/config/i386/linux64.h 2012-03-24 11:52:58.926204014 +0100 +@@ -29,5 +29,5 @@ + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" +diff -u -r gcc-4.7.0/gcc/config/i386/t-linux64 gcc-4.7.0-pure64/gcc/config/i386/t-linux64 +--- gcc-4.7.0/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100 ++++ gcc-4.7.0-pure64/gcc/config/i386/t-linux64 2012-03-24 11:52:44.119651885 +0100 +@@ -34,6 +34,6 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) +-MULTILIB_OSDIRNAMES = m64=../lib64 +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 + MULTILIB_OSDIRNAMES+= mx32=../libx32 |