summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD103
1 files changed, 48 insertions, 55 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 8a6f8d4754c2..ec8c1f0f0ec2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,15 +6,11 @@
# Modifications to Use Git Master Source
# ======================================
# Maintainer: James Harvey <jamespharvey20@gmail.com>
-# * This PKGBUILD as closely as possible matches core's gcc 5.1.0-5
-# * The many test suite failures ("UNRESOLVED:", "FAIL:") occur during building core's 5.1.0-5, so the problem is upstream from here
-# * Core's 5.1.0-5 pr65882.patch is omitted, because it is git commit 1774df35
-# * Core's 5.1.0-5 pr66647.patch is omitted, because it is git commit fa4f365b
-# * Core's 5.1.0-5 pr66035.patch is omitted, because it is git commit 635e1b2f, slightly modified
-# * gcc.libstdc++-v3.python.dot.fix.patch is added, to fix an accidentical misnaming of gdb.py
-# * All namcap warnings are identical, as of 6.0.0.r140049.cab0d20, except:
+# * This PKGBUILD as closely as possible matches core's gcc 5.3.0-2
+# * All namcap warnings are essentially identical, as of 6.0.0.r143486.3afbcf4, except:
# * Error of a missing custom license directory of /usr/share/licenses/gcc*-git
-# * Symlink /usr/lib/bfd-plugins/liblto_plugin.so points to non-existing /usr/lib/gcc/x86_64-unknown-linux-gnu/6.0.0.r140049.cab0d20/liblto_plugin.so
+# * Symlink /usr/lib/bfd-plugins/liblto_plugin.so points to non-existing /usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0.r140049.cab0d20/liblto_plugin.so -- will be fixing this
+# * gcc-go-git gives a "Referenced library 'libgo.so.8' is an uninstalled dependency -- will be looking into this
# * _pkgver_base is hard coded at the moment to 6.0.0; can't parse from source at that point
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -36,19 +32,26 @@ makedepends=('binutils>=2.25' 'libmpc' 'gcc-ada' 'doxygen' 'git')
checkdepends=('dejagnu' 'inetutils')
options=('!emptydirs')
source=(git://gcc.gnu.org/git/gcc.git
- http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- gcc.libstdc++-v3.python.dot.fix.patch
- gcc.isl.0.15.patch
- gcc.isl.0.15.includes.patch)
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2)
md5sums=('SKIP'
- '8428efbbc6f6e2810ce5c1ba73ecf98c'
- '7de06deb9ee0c10454219a319e62e4dc'
- '7069b4d1f9413a04ce4cfba039b1b0ba'
- '6daf2d3f9365a0e768bdaaa1595b18f6')
+ '8428efbbc6f6e2810ce5c1ba73ecf98c')
_basedir=${_pkgname}
-_libdir="usr/lib/gcc/$CHOST/$_pkgver_base"
+# CHOST is in the form <architecture>-<vendor>-<operatingSystem>-<cLibrary>
+# Arch currently reports CHOST with vendor "unknown". GCC expected this until recently, and on my machine is expecting "pc".
+# Core's gcc and this package define arch to only be 'i686' or 'x86_64', so this workaround should work for whatever architecture is expected to be given.
+# It is unknown to me if gcc will see everyone running arch as vendor "pc", or if it will see "softfloat", "hardfloat", or "unknown" here.
+# (You may have to change the value of _CHOST.)
+# Rather than having an else cause an error, I'm letting it go through, on the hopes that whatever is defined might work.
+_CHOST=${CHOST}
+if [[ "${CHOST}" == 'x86_64-unknown-linux-gnu' ]]; then
+ _CHOST='x86_64-pc-linux-gnu'
+elif [[ "${CHOST}" == 'i686-unknown-linux-gnu' ]]; then
+ _CHOST='i686-pc-linux-gnu'
+fi
+
+_libdir="usr/lib/gcc/$_CHOST/$_pkgver_base"
pkgver() {
cd ${srcdir}/gcc
@@ -70,15 +73,6 @@ prepare() {
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
- # Submitted upstream - Fixes misnaming of gdb.py file due to addition of libstdc++fs library
- patch -p0 -i ${srcdir}/gcc.libstdc++-v3.python.dot.fix.patch
-
- # https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01162.html
- patch -p1 -i ${srcdir}/gcc.isl.0.15.patch
-
- # https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01507.html
- patch -p1 -i ${srcdir}/gcc.isl.0.15.includes.patch
-
mkdir ${srcdir}/gcc-build
}
@@ -103,13 +97,12 @@ build() {
--enable-lto --enable-plugin --enable-install-libiberty \
--with-linker-hash-style=gnu --enable-gnu-indirect-function \
--disable-multilib --disable-werror \
- --enable-checking=release \
- --with-default-libstdcxx-abi=gcc4-compatible
+ --enable-checking=release
make
# make documentation
- make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
+ make -C $_CHOST/libstdc++-v3/doc doc-man-doxygen
}
check() {
@@ -128,7 +121,7 @@ package_gcc-libs-git()
{
pkgdesc="Runtime libraries shipped by GCC (developmental version)"
groups=('base')
- depends=('glibc>=2.21')
+ depends=('glibc>=2.22')
provides=('gcc-libs')
conflicts=('gcc-libs')
options=('!emptydirs' '!strip')
@@ -136,7 +129,7 @@ package_gcc-libs-git()
cd ${srcdir}/gcc-build
- make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ make -C $_CHOST/libgcc DESTDIR=${pkgdir} install-shared
rm ${pkgdir}/${_libdir}/libgcc_eh.a
for lib in libatomic \
@@ -148,23 +141,23 @@ package_gcc-libs-git()
libsanitizer/{a,l,ub}san \
libstdc++-v3/src \
libvtv; do
- make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ make -C $_CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
done
[[ $CARCH == "x86_64" ]] && \
- make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ make -C $_CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
- make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
+ make -C $_CHOST/libobjc DESTDIR=${pkgdir} install-libs
- make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -C $_CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
- make -C $CHOST/libmpx DESTDIR=${pkgdir} install
+ make -C $_CHOST/libmpx DESTDIR=${pkgdir} install
rm ${pkgdir}/usr/lib/libmpx.spec
for lib in libgomp \
libitm \
libquadmath; do
- make -C $CHOST/$lib DESTDIR=${pkgdir} install-info
+ make -C $_CHOST/$lib DESTDIR=${pkgdir} install-info
done
# Install Runtime Library Exception
@@ -190,13 +183,13 @@ package_gcc-git()
install -m755 -t $pkgdir/usr/bin/ gcc/gcov{,-tool}
install -m755 -t $pkgdir/${_libdir}/ gcc/{cc1,cc1plus,collect2,lto1}
- make -C $CHOST/libgcc DESTDIR=${pkgdir} install
+ make -C $_CHOST/libgcc DESTDIR=${pkgdir} install
rm ${pkgdir}/usr/lib/libgcc_s.so*
- make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install
+ make -C $_CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
+ make -C $_CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
+ make -C $_CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
+ make -C $_CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install
make DESTDIR=${pkgdir} install-libcc1
install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
@@ -209,18 +202,18 @@ package_gcc-git()
make -C lto-plugin DESTDIR=${pkgdir} install
install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
- ln -s /usr/lib/gcc/$CHOST/${pkgver}/liblto_plugin.so \
+ ln -s /usr/lib/gcc/$_CHOST/${pkgver}/liblto_plugin.so \
${pkgdir}/usr/lib/bfd-plugins/
- make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+ make -C $_CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
install-nodist_cilkincludeHEADERS
- make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+ make -C $_CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
install-nodist_libsubincludeHEADERS
- make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
- make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
- make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
- make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
- make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $_CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $_CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
+ make -C $_CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
+ make -C $_CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
+ make -C $_CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
make -C libiberty DESTDIR=${pkgdir} install
# install PIC version of libiberty
@@ -266,7 +259,7 @@ EOF
chmod 755 $pkgdir/usr/bin/c{8,9}9
# install the libstdc++ man pages
- make -C $CHOST/libstdc++-v3/doc DESTDIR=$pkgdir doc-install-man
+ make -C $_CHOST/libstdc++-v3/doc DESTDIR=$pkgdir doc-install-man
# Install Runtime Library Exception
install -d ${pkgdir}/usr/share/licenses/gcc/
@@ -286,9 +279,9 @@ package_gcc-fortran-git()
cd ${srcdir}/gcc-build
# install-myexeclibLTLIBRARIES omitted because it was removed upstream
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40267
- make -C $CHOST/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+ make -C $_CHOST/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
install-{toolexeclibDATA,nodist_fincludeHEADERS}
- make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -C $_CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951
@@ -308,7 +301,7 @@ package_gcc-objc-git()
conflicts=('gcc-objc')
cd ${srcdir}/gcc-build
- make DESTDIR=$pkgdir -C $CHOST/libobjc install-headers
+ make DESTDIR=$pkgdir -C $_CHOST/libobjc install-headers
install -dm755 $pkgdir/${_libdir}
install -m755 gcc/cc1obj{,plus} $pkgdir/${_libdir}/
@@ -355,7 +348,7 @@ package_gcc-go-git()
install=gcc-go.install
cd ${srcdir}/gcc-build
- make -C $CHOST/libgo DESTDIR=$pkgdir install-exec-am
+ make -C $_CHOST/libgo DESTDIR=$pkgdir install-exec-am
make -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1