summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Veness2015-06-08 01:54:41 -0700
committerTyler Veness2015-06-08 01:54:41 -0700
commitb4518329d96accbac2fa7aec93b5d795dfda81c0 (patch)
treeb981d1ce5a12a5d339d8b77d3e7441a54d79207d
downloadaur-b4518329d96accbac2fa7aec93b5d795dfda81c0.tar.gz
Initial commit
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD78
-rw-r--r--minorSOname.patch49
3 files changed, 155 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2971eccabd2c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = arm-frc-linux-gnueabi-gcc
+ pkgdesc = The GNU Compiler Collection (arm-frc-linux-gnueabi)
+ pkgver = 4.9.1
+ pkgrel = 2
+ url = http://gcc.gnu.org
+ arch = i686
+ arch = x86_64
+ groups = frc-2015
+ license = GPL
+ license = LGPL
+ depends = arm-frc-linux-gnueabi-binutils
+ depends = arm-frc-linux-gnueabi-eglibc
+ depends = libmpc
+ depends = elfutils
+ options = !buildflags
+ options = !libtool
+ options = !emptydirs
+ options = zipman
+ options = docs
+ options = !strip
+ options = staticlibs
+ source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.1/gcc-4.9.1.tar.bz2
+ source = minorSOname.patch
+ md5sums = fddf71348546af523353bd43d34919c1
+ md5sums = eac80070a6324fc67ed5b3ac85551789
+
+pkgname = arm-frc-linux-gnueabi-gcc
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b36c1e3a7150
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,78 @@
+# Maintainer: Tyler Veness <calcmogul at gmail dot com>
+
+_target="arm-frc-linux-gnueabi"
+pkgname=${_target}-gcc
+pkgver=4.9.1
+pkgrel=2
+pkgdesc="The GNU Compiler Collection (${_target})"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://gcc.gnu.org"
+groups=('frc-2015')
+depends=("${_target}-binutils" "${_target}-eglibc" 'libmpc' 'elfutils')
+options=('!buildflags' '!libtool' '!emptydirs' 'zipman' 'docs'
+ '!strip' 'staticlibs')
+source=("ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2"
+ "minorSOname.patch")
+md5sums=('fddf71348546af523353bd43d34919c1'
+ 'eac80070a6324fc67ed5b3ac85551789')
+
+build() {
+ cd "${srcdir}/gcc-${pkgver}"
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ patch -p1 < ${srcdir}/minorSOname.patch
+
+ [[ -d gcc-build ]] || mkdir gcc-build
+ cd gcc-build
+
+ [ $NOEXTRACT -eq 1 ] || ../configure \
+ --prefix=/usr \
+ --program-prefix=${_target}- \
+ --target=${_target} \
+ --host=$CHOST \
+ --build=$CHOST \
+ --enable-shared \
+ --disable-nls \
+ --enable-threads=posix \
+ --enable-languages=c,c++ \
+ --disable-multilib \
+ --disable-multiarch \
+ --with-sysroot=/usr/${_target} \
+ --with-build-sysroot=/usr/${_target} \
+ --with-as=/usr/bin/${_target}-as \
+ --with-ld=/usr/bin/${_target}-ld \
+ --with-cpu=cortex-a9 \
+ --with-float=softfp \
+ --with-fpu=vfp \
+ --with-specs='%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' \
+ --enable-lto \
+ --with-pkgversion='GCC for FRC' \
+ --with-cloog \
+ --enable-poison-system-directories \
+ --enable-plugin \
+ --with-system-zlib \
+ --disable-libmudflap
+
+ make all-gcc all-target-libgcc all-target-libstdc++-v3
+}
+
+package() {
+ cd "${srcdir}/gcc-${pkgver}"/gcc-build
+
+ make "DESTDIR=$pkgdir" install-gcc install-target-libgcc \
+ install-target-libstdc++-v3
+
+ rm -rf "$pkgdir"/usr/share/{man/man7,info}/
+
+ cp -r "$pkgdir"/usr/libexec/* "$pkgdir/usr/lib/"
+ rm -rf "$pkgdir/usr/libexec"
+
+ rm -rf "$pkgdir/usr/share/gcc-${pkgver}/python"
+
+ # strip it manually
+ strip "$pkgdir"/usr/bin/* 2>/dev/null || true
+ find "$pkgdir"/usr/lib -type f -exec /usr/bin/${_target}-strip \
+ --strip-unneeded {} \; 2>/dev/null || true
+}
diff --git a/minorSOname.patch b/minorSOname.patch
new file mode 100644
index 000000000000..5e8cec2088dd
--- /dev/null
+++ b/minorSOname.patch
@@ -0,0 +1,49 @@
+Description: Make the default SONAME include minor numbers (c++)
+ This patch adds .0.20 to the end of the SONAME for libstdc++ to support
+ independent side-by-side usage of .17 and .20.
+ .
+ gcc-armel (4.9.1-0frc2) trusty; urgency=low
+ .
+ * Fixing dependency ambiguity yet again...
+Author: Patrick Plenefisch <phplenefisch@wpi.edu>
+
+---
+
+--- gcc-armel-4.9.1.orig/libstdc++-v3/configure
++++ gcc-armel-4.9.1/libstdc++-v3/configure
+@@ -10698,7 +10698,7 @@ gnu*)
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
++ soname_spec='${libname}${release}${shared_ext}$versuffix'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+@@ -10824,7 +10824,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
++ soname_spec='${libname}${release}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+@@ -14382,7 +14382,7 @@ gnu*)
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
++ soname_spec='${libname}${release}${shared_ext}$versuffix'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+@@ -14508,7 +14508,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
++ soname_spec='${libname}${release}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no