[arch-commits] Commit in (gcc6 gcc6/repos gcc6/trunk gcc6/trunk/PKGBUILD)

Sven-Hendrik Haase svenstaro at archlinux.org
Tue Oct 3 02:11:37 UTC 2017


    Date: Tuesday, October 3, 2017 @ 02:11:36
  Author: svenstaro
Revision: 261342

Moving gcc6 from AUR for cuda 9

Added:
  gcc6/
  gcc6/repos/
  gcc6/trunk/
  gcc6/trunk/PKGBUILD

----------+
 PKGBUILD |  401 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 401 insertions(+)

Added: gcc6/trunk/PKGBUILD
===================================================================
--- gcc6/trunk/PKGBUILD	                        (rev 0)
+++ gcc6/trunk/PKGBUILD	2017-10-03 02:11:36 UTC (rev 261342)
@@ -0,0 +1,401 @@
+# Contributor: frankspace
+# Contributor: Renan Manola <rmanola at gmail.com>
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Based on a modified version of the gcc PKGBUILD
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: Joey Dumont <joey.dumont at gmail.com>
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+pkgbase=gcc6
+_ver=6
+pkgname=('gcc6' 'gcc6-libs' 'gcc6-fortran' 'gcc6-objc' 'gcc6-ada' 'gcc6-go' 'gcc6-gcj')
+pkgver=6.4.1
+pkgrel=1
+_islver=0.17
+_cloogver=0.18.4
+_snapshot=6-20170927
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.28' 'libmpc'  'doxygen' 'gcc-ada' 'java-environment-common' 'zip' 'jdk8-openjdk' 'gtk2' 'libart-lgpl' 'libxtst')
+checkdepends=('dejagnu' 'inetutils')
+options=(!emptydirs)
+source=("http://gcc.skazkaforyou.com/snapshots/LATEST-6/gcc-${_snapshot}.tar.xz"
+        http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+        http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz)
+sha1sums=('cda991c759c02c9f714099036e9338a788bd61f5'
+          '6243384d1b1d4b3043037698485a468a485b111a'
+          '8f7568ca1873f8d55bb694c8b9b83f7f4c6c1aa5')
+
+_libdir="/usr/lib/gcc/$CHOST/$pkgver"
+
+prepare() {
+  cd "$srcdir"/gcc-${_snapshot}/
+
+  # Link isl/cloog for in-tree builds
+  ln -sf ../isl-${_islver} isl
+  ln -sf ../cloog-${_cloogver} cloog
+
+  # Do not run fixincludes
+  sed -i 's@\./fixinc\.sh at -c true@' gcc/Makefile.in
+
+  # Arch Linux installs x86_64 libraries /lib
+  [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+
+  # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+
+  # Arch uses python version 3 as default python (for gcc6-gcj).
+  sed -i '1s+python+python2+' libjava/contrib/aot-compile.in
+
+  mkdir -p ${srcdir}/gcc-${_snapshot}/gcc-build
+
+}
+
+build() {
+
+  # Configure and build gcc.
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+
+  # using -pipe causes spurious test-suite failures
+  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
+  CFLAGS=${CFLAGS/-pipe/}
+  CXXFLAGS=${CXXFLAGS/-pipe/}
+
+  ../configure                          \
+      --prefix=/usr                     \
+      --libdir=/usr/lib                 \
+      --libexecdir=/usr/lib             \
+      --mandir=/usr/share/man           \
+      --infodir=/usr/share/info         \
+      --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,java \
+      --enable-shared                   \
+      --enable-threads=posix            \
+      --enable-libmpx                   \
+      --with-system-zlib                \
+      --with-isl                        \
+      --enable-__cxa_atexit             \
+      --disable-libunwind-exceptions    \
+      --enable-clocale=gnu              \
+      --disable-libstdcxx-pch           \
+      --disable-libssp                  \
+      --enable-gnu-unique-object        \
+      --enable-linker-build-id          \
+      --enable-lto                      \
+      --enable-plugin                   \
+      --with-linker-hash-style=gnu      \
+      --enable-gnu-indirect-function    \
+      --disable-multilib                \
+      --disable-werror                  \
+      --enable-checking=release         \
+      --enable-java-awt=gtk             \
+      --with-java-home="$JAVA_HOME"     \
+      --enable-libgcj-multifile         \
+      --enable-version-specific-runtime-libs \
+      --program-suffix=-${_ver}         \
+      --build="${CHOST}"
+
+  make
+
+  # make documentation
+  make -C ${CHOST}/libstdc++-v3/doc doc-man-doxygen
+}
+
+#check() {
+#  cd ${srcdir}/gcc-${_snapshot}/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
+#  ${srcdir}/gcc/contrib/test_summary
+#}
+
+
+package_gcc6-libs() {
+
+  pkgdesc="Runtime libraries shipped by GCC"
+  depends=('glibc>=2.25')
+  options=('!emptydirs' '!strip')
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+
+  make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+  rm ${pkgdir}/${_libdir}/libgcc_eh.a
+
+  for lib in libatomic                \
+             libcilkrts               \
+	           libjava                  \
+             libgfortran              \
+             libgo                    \
+             libgomp                  \
+             libitm                   \
+             libquadmath              \
+             libsanitizer/{a,l,ub}san \
+             libstdc++-v3/src         \
+             libvtv; do
+     make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+   done
+
+   [[ $CARCH == "x86_64" ]] && \
+     make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+
+   make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
+
+   make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+
+   make -C $CHOST/libmpx DESTDIR=${pkgdir} install
+   rm ${pkgdir}/${_libdir}/libmpx.spec
+
+   for lib in libgomp     \
+              libitm      \
+              libquadmath; do
+     make -C $CHOST/$lib DESTDIR=${pkgdir} install-info
+   done
+
+   # Lazy way of dealing with conflicting files...
+   rm -rf ${pkgdir}/usr/share/{info,locale,man}
+
+   # Remove libs that conflict with gcc6_go.
+   rm -rf ${pkgdir}/${_libdir}/libgo*
+
+   # Install Runtime Library Exception
+   install -Dm644 ${srcdir}/gcc-${_snapshot}/COPYING.RUNTIME \
+    ${pkgdir}/usr/share/licenses/$pkgname/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc6()
+{
+  pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+  depends=("gcc6-libs=${pkgver}-${pkgrel}" 'binutils>=2.28' 'libmpc')
+  options=('staticlibs')
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+
+  make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \
+    c++.install-common install-headers install-plugin install-lto-wrapper
+
+  for _i in gcov gcov-dump gcov-tool collect2 collect-ld lto1
+  do
+    install -Dm755 gcc/$_i $pkgdir/usr/bin/${_i}-${_ver}
+  done
+
+  make -C $CHOST/libgcc DESTDIR=${pkgdir} install
+  rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/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 DESTDIR=${pkgdir} install-libcc1
+  install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
+  #mv ${pkgdir}/${_libdir}/libstdc++.so.6.*-gdb.py \
+  #  ${pkgdir}/usr/share/gdb/auto-load/{_libdir}/
+  rm ${pkgdir}/${_libdir}/libstdc++.so*
+
+  make DESTDIR=${pkgdir} install-fixincludes
+  make -C gcc DESTDIR=${pkgdir} install-mkheaders
+
+  make -C lto-plugin DESTDIR=${pkgdir} install
+  install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
+  ln -s ${_libdir}/liblto_plugin.so \
+    ${pkgdir}/usr/lib/bfd-plugins/
+
+  make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
+    install-nodist_cilkincludeHEADERS
+  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 libiberty DESTDIR=${pkgdir} install
+  # install PIC version of libiberty
+  #install -m644 ${srcdir}/gcc-${_snapshot}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/${_libdir}/
+
+  make -C gcc DESTDIR=${pkgdir} install-man install-info
+  rm ${pkgdir}/usr/share/man/man1/{gccgo-${_ver},gfortran-${_ver}}.1
+  rm ${pkgdir}/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+  make -C libcpp DESTDIR=${pkgdir} install
+  make -C gcc DESTDIR=${pkgdir} install-po
+
+  # many packages expect this symlink
+  ln -s gcc-${_ver} ${pkgdir}/usr/bin/cc-${_ver}
+
+  # POSIX conformance launcher scripts for c89 and c99
+  cat > $pkgdir/usr/bin/c89-${_ver} <<"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-${_ver} $fl ${1+"$@"}
+EOF
+
+  cat > $pkgdir/usr/bin/c99-${_ver} <<"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-${_ver} $fl ${1+"$@"}
+EOF
+
+  chmod 755 $pkgdir/usr/bin/c{8,9}9-${_ver}
+
+  # Install Runtime Library Exception
+  install -d ${pkgdir}/usr/share/licenses/$pkgname/
+  ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname
+
+  # Lazy way of dealing with conflicting files...
+  rm -rf ${pkgdir}/usr/share/{info,locale,man}
+
+  # Move potentially conflicting stuff to version specific subdirectory
+  #[[ -d ${pkgdir}/usr/lib/gcc/${CHOST}/lib/ ]] && mv ${pkgdir}/usr/lib/gcc/${CHOST}/lib/lib* \
+  #               ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
+  mv $pkgdir/usr/lib/bfd-plugins/liblto_plugin.so ${pkgdir}/usr/lib/bfd-plugins/liblto_plugin-${_ver}.so
+  mv ${pkgdir}/usr/lib/*.so* ${pkgdir}/${_libdir}/
+  install -Dm755 gcc/cc1     ${pkgdir}/${_libdir}/cc1
+  install -Dm755 gcc/cc1plus ${pkgdir}/${_libdir}/cc1plus
+}
+
+package_gcc6-fortran()
+{
+  pkgdesc="Fortran front-end for GCC"
+  depends=("gcc6=$pkgver-$pkgrel")
+  options=('!emptydirs')
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+  make -C $CHOST/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+    install-{toolexeclibDATA,nodist_fincludeHEADERS}
+  make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+  make -C gcc DESTDIR=$pkgdir fortran.install-common
+  install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951-${_ver}
+
+  ln -s gfortran-6 ${pkgdir}/usr/bin/f95-${_ver}
+
+  # Install Runtime Library Exception
+  install -d ${pkgdir}/usr/share/licenses/$pkgname
+  ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
+}
+
+package_gcc6-objc()
+{
+  pkgdesc="Objective-C front-end for GCC"
+  depends=("gcc6=$pkgver-$pkgrel")
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+  make DESTDIR=$pkgdir -C $CHOST/libobjc install-headers
+  install -dm755 $pkgdir/${_libdir}
+  install -m755 gcc/cc1obj     $pkgdir/${_libdir}/cc1obj-${_ver}
+  install -m755 gcc/cc1objplus $pkgdir/${_libdir}/cc1objplus-${_ver}
+
+  # Install Runtime Library Exception
+  install -d ${pkgdir}/usr/share/licenses/$pkgname/
+  ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
+}
+
+package_gcc6-ada()
+{
+  pkgdesc="Ada front-end for GCC (GNAT)"
+  depends=("gcc6=$pkgver-$pkgrel")
+  options=('staticlibs' '!emptydirs')
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build/gcc
+  make DESTDIR=$pkgdir ada.install-common
+  install -m755 gnat1 $pkgdir/${_libdir}/gnat1-${_ver}
+
+  ln -s gcc-${_ver} ${pkgdir}/usr/bin/gnatgcc-${_ver}
+
+  # insist on dynamic linking, but keep static libraries because gnatmake complains
+  mv ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_ver}.so ${pkgdir}/usr/lib
+  ln -s libgnarl-${_ver}.so ${pkgdir}/${_libdir}/libgnarl.so
+  ln -s libgnat-${_ver}.so  ${pkgdir}/${_libdir}/libgnat.so
+  #rm ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_ver}.so
+
+  # Install Runtime Library Exception
+  install -d ${pkgdir}/usr/share/licenses/$pkgname/
+  ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
+}
+
+package_gcc6-go()
+{
+  pkgdesc="Go front-end for GCC"
+  depends=("gcc6=$pkgver-$pkgrel")
+  conflicts=('go')
+  options=('!emptydirs')
+
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build/
+
+  make -C $CHOST/libgo DESTDIR=$pkgdir install-exec-am
+  rm ${pkgdir}/${_libdir}/libgo.so*
+  make -C gcc DESTDIR=$pkgdir go.install-common
+  install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1-${_ver}
+
+  make DESTDIR=${pkgdir} install-gotools
+
+  # Install Runtime Library Exception
+  install -d ${pkgdir}/usr/share/licenses/$pkgname/
+  ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
+}
+
+package_gcc6-gcj() {
+  pkgdesc="Java front-end for GCC"
+  depends=("gcc6=$pkgver-$pkgrel")
+  replaces=('gcc-gcj')
+  options=('!emptydirs')
+
+  # Install libjava.
+  cd ${srcdir}/gcc-${_snapshot}/gcc-build
+  make -j1 DESTDIR=${pkgdir} install-target-libjava
+
+  # Install java-common.
+  cd gcc
+  make -j1 DESTDIR=${pkgdir} java.install-common java.install-man
+
+  install -m755 jc1       ${pkgdir}/${_libdir}/
+  install -m755 jvgenmain ${pkgdir}/${_libdir}/
+
+  # Remove conflicting files.
+  rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/lib/libgcc_s.so*
+  rm ${pkgdir}/${_libdir}/libg{cj,ij}*.so*
+
+  # Rename two files to not conflict to classpath
+  mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info
+
+  linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*`
+  ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?}
+  ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar
+  ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar
+  ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar
+  ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar
+
+  rm ${pkgdir}/${_libdir}/libgcc_eh.a
+  rm ${pkgdir}/${_libdir}/crtbegin.o
+  rm ${pkgdir}/${_libdir}/crtbeginS.o
+  rm ${pkgdir}/${_libdir}/crtbeginT.o
+  rm ${pkgdir}/${_libdir}/crtend.o
+  rm ${pkgdir}/${_libdir}/crtendS.o
+  rm ${pkgdir}/${_libdir}/crtfastmath.o
+  rm ${pkgdir}/${_libdir}/crtprec32.o
+  rm ${pkgdir}/${_libdir}/crtprec64.o
+  rm ${pkgdir}/${_libdir}/crtprec80.o
+  rm ${pkgdir}/${_libdir}/include/unwind.h
+  rm ${pkgdir}/${_libdir}/libgcc.a
+  rm ${pkgdir}/${_libdir}/libgcov.a
+}



More information about the arch-commits mailing list