[arch-commits] Commit in (20 files)

Anatol Pomozov anatolik at archlinux.org
Thu Nov 17 02:40:40 UTC 2016


    Date: Thursday, November 17, 2016 @ 02:40:39
  Author: anatolik
Revision: 196081

Move ARM64 cross compiler from AUR

Added:
  aarch64-linux-gnu-binutils/
  aarch64-linux-gnu-binutils/repos/
  aarch64-linux-gnu-binutils/trunk/
  aarch64-linux-gnu-binutils/trunk/PKGBUILD
  aarch64-linux-gnu-gcc/
  aarch64-linux-gnu-gcc/repos/
  aarch64-linux-gnu-gcc/trunk/
  aarch64-linux-gnu-gcc/trunk/PKGBUILD
  aarch64-linux-gnu-gdb/
  aarch64-linux-gnu-gdb/repos/
  aarch64-linux-gnu-gdb/trunk/
  aarch64-linux-gnu-gdb/trunk/PKGBUILD
  aarch64-linux-gnu-glibc/
  aarch64-linux-gnu-glibc/repos/
  aarch64-linux-gnu-glibc/trunk/
  aarch64-linux-gnu-glibc/trunk/PKGBUILD
  aarch64-linux-gnu-linux-api-headers/
  aarch64-linux-gnu-linux-api-headers/repos/
  aarch64-linux-gnu-linux-api-headers/trunk/
  aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD

----------------------------------------------------+
 aarch64-linux-gnu-binutils/trunk/PKGBUILD          |   57 +++++++++++
 aarch64-linux-gnu-gcc/trunk/PKGBUILD               |   98 +++++++++++++++++++
 aarch64-linux-gnu-gdb/trunk/PKGBUILD               |   51 +++++++++
 aarch64-linux-gnu-glibc/trunk/PKGBUILD             |   80 +++++++++++++++
 aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD |   29 +++++
 5 files changed, 315 insertions(+)

Added: aarch64-linux-gnu-binutils/trunk/PKGBUILD
===================================================================
--- aarch64-linux-gnu-binutils/trunk/PKGBUILD	                        (rev 0)
+++ aarch64-linux-gnu-binutils/trunk/PKGBUILD	2016-11-17 02:40:39 UTC (rev 196081)
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+
+_target=aarch64-linux-gnu
+pkgname=$_target-binutils
+pkgver=2.27
+pkgrel=1
+#_commit=2bd25930
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the ARM64 target'
+arch=(i686 x86_64)
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+depends=(zlib)
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2{,.sig})
+sha1sums=('6e472ddae565a2b1447e6f2393809bb8799982cf'
+          'SKIP')
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93')  # Tristan Gingold <gingold at adacore.com>
+
+prepare() {
+  cd binutils-$pkgver
+  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
+
+build() {
+  cd binutils-$pkgver
+
+  ./configure --target=$_target \
+              --with-sysroot=/usr/$_target \
+              --prefix=/usr \
+              --disable-multilib \
+              --with-gnu-as \
+              --with-gnu-ld \
+              --disable-nls \
+              --enable-plugins
+
+  make
+}
+
+check() {
+  cd binutils-$pkgver
+  
+  # unset LDFLAGS as testsuite makes assumptions about which ones are active
+  # do not abort on errors - manually check log files
+  make LDFLAGS="" -k check
+}
+
+package() {
+  cd binutils-$pkgver
+
+  make DESTDIR="$pkgdir" install
+
+  # Remove file conflicting with host binutils and manpages for MS Windows tools
+  rm "$pkgdir"/usr/share/man/man1/$_target-{dlltool,nlmconv,windres,windmc}*
+
+  # Remove info documents that conflict with host version
+  rm -r "$pkgdir"/usr/share/info
+}


Property changes on: aarch64-linux-gnu-binutils/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: aarch64-linux-gnu-gcc/trunk/PKGBUILD
===================================================================
--- aarch64-linux-gnu-gcc/trunk/PKGBUILD	                        (rev 0)
+++ aarch64-linux-gnu-gcc/trunk/PKGBUILD	2016-11-17 02:40:39 UTC (rev 196081)
@@ -0,0 +1,98 @@
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+
+_target=aarch64-linux-gnu
+pkgname=$_target-gcc
+pkgver=6.1.1
+_islver=0.17.1
+pkgrel=3
+_snapshot=6-20161110
+pkgdesc='The GNU Compiler Collection - cross compiler for ARM64 target'
+arch=(i686 x86_64)
+url='http://gcc.gnu.org/'
+license=(GPL LGPL FDL)
+depends=($_target-binutils $_target-glibc libmpc zlib)
+makedepends=(gmp mpfr)
+options=(!emptydirs !strip staticlibs)
+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
+        http://isl.gforge.inria.fr/isl-$_islver.tar.bz2)
+sha256sums=('3ba28d28dc5d66c14313b16ddcf6e9d1c52cde5945d4b8931053ca836077adf7'
+            'd6307bf9a59514087abac3cbaab3d99393a0abb519354f7e7834a8c842310daa')
+
+if [ -n "$_snapshot" ]; then
+  _basedir=gcc-$_snapshot
+else
+  _basedir=gcc-$pkgver
+fi
+
+prepare() {
+  cd $_basedir
+
+  # link isl for in-tree builds
+  ln -sf ../isl-$_islver isl
+
+  echo $pkgver > gcc/BASE-VER
+
+  # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$srcdir"/$_basedir/{libiberty,gcc}/configure
+
+  rm -rf $srcdir/gcc-build
+  mkdir $srcdir/gcc-build
+}
+
+build() {
+  cd gcc-build
+
+  export CFLAGS_FOR_TARGET='-O2 -pipe'
+
+  # unfortunately CXXFLAGS_FOR_TARGET is not honored https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53579
+  #export CXXFLAGS_FOR_TARGET='-O2 -pipe'
+  export CXXFLAGS='-O2 -pipe'
+
+  $srcdir/$_basedir/configure \
+    --prefix=/usr \
+    --libexecdir=/usr/lib \
+    --target=$_target \
+    --enable-shared \
+    --disable-nls \
+    --enable-threads=posix \
+    --enable-languages=c,c++ \
+    --enable-multilib \
+    --disable-libssp \
+    --disable-libquadmath \
+    --with-system-zlib \
+    --with-sysroot=/usr/$_target \
+    --with-build-sysroot=/usr/$_target \
+    --with-as=/usr/bin/$_target-as \
+    --with-ld=/usr/bin/$_target-ld \
+    --disable-libgomp \
+    --enable-__cxa_atexit \
+    --enable-addons \
+    --with-libelf \
+    --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \
+    --with-gmp \
+    --with-mpfr \
+    --with-mpc \
+    --with-isl \
+    --enable-gnu-indirect-function
+
+  make
+}
+
+package() {
+  cd gcc-build
+
+  make DESTDIR="$pkgdir" install
+
+  # strip target binaries
+  find "$pkgdir"/usr/lib/gcc/$_target/ "$pkgdir"/usr/$_target/lib -type f -and \( -name \*.a -or -name \*.o \) -exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \;
+
+  # strip host binaries
+  find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc/$_target/ -type f -and \( -executable \) -exec strip '{}' \;
+
+  # Remove files that conflict with host gcc package
+  rm -r "$pkgdir"/usr/share/man/man7
+  rm -r "$pkgdir"/usr/share/info
+  rm -r "$pkgdir"/usr/share/gcc-$pkgver
+  rm "$pkgdir"/usr/lib/libcc1.*
+}


Property changes on: aarch64-linux-gnu-gcc/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: aarch64-linux-gnu-gdb/trunk/PKGBUILD
===================================================================
--- aarch64-linux-gnu-gdb/trunk/PKGBUILD	                        (rev 0)
+++ aarch64-linux-gnu-gdb/trunk/PKGBUILD	2016-11-17 02:40:39 UTC (rev 196081)
@@ -0,0 +1,51 @@
+# $Id$
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+
+_target=aarch64-linux-gnu
+pkgname=$_target-gdb
+pkgver=7.12
+pkgrel=1
+pkgdesc='The GNU Debugger for the ARM64 target'
+arch=(i686 x86_64)
+url='http://www.gnu.org/software/gdb/'
+license=(GPL3)
+depends=(xz ncurses expat python guile gdb-common)
+options=(!emptydirs)
+source=(ftp://ftp.gnu.org/gnu/gdb/gdb-$pkgver.tar.xz{,.sig})
+validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
+sha256sums=('834ff3c5948b30718343ea57b11cbc3235d7995c6a4f3a5cecec8c8114164f94'
+            'SKIP')
+
+prepare() {
+  cd gdb-$pkgver
+  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
+
+build() {
+  cd gdb-$pkgver
+
+  ./configure \
+    --target=$_target \
+    --prefix=/usr \
+    --enable-languages=c,c++ \
+    --disable-multilib \
+    --enable-interwork \
+    --with-system-readline \
+    --disable-nls \
+    --with-python=/usr/bin/python3 \
+    --with-system-gdbinit=/etc/gdb/gdbinit
+
+  make
+}
+
+package() {
+  cd gdb-$pkgver
+
+  make DESTDIR="$pkgdir" install
+
+  # Following files conflict with 'gdb' package
+  rm -r "$pkgdir"/usr/share/info
+  rm -r "$pkgdir"/usr/share/gdb
+  rm -r "$pkgdir"/usr/include/gdb
+  rm -r "$pkgdir"/usr/share/man/man5
+}


Property changes on: aarch64-linux-gnu-gdb/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: aarch64-linux-gnu-glibc/trunk/PKGBUILD
===================================================================
--- aarch64-linux-gnu-glibc/trunk/PKGBUILD	                        (rev 0)
+++ aarch64-linux-gnu-glibc/trunk/PKGBUILD	2016-11-17 02:40:39 UTC (rev 196081)
@@ -0,0 +1,80 @@
+# Maintainer: Anatol Pomozov
+
+_target=aarch64-linux-gnu
+pkgname=$_target-glibc
+pkgver=2.24
+pkgrel=1
+_commit=fdfc9260
+pkgdesc="GNU C Library ARM64 target"
+arch=(any)
+url='http://www.gnu.org/software/libc/'
+license=('GPL' 'LGPL')
+depends=($_target-linux-api-headers)
+makedepends=(git)
+options=(!buildflags !strip staticlibs)
+source=(git://sourceware.org/git/glibc.git#commit=$_commit)
+sha1sums=('SKIP')
+
+prepare() {
+  mkdir -p glibc-build
+}
+
+build() {
+  cd glibc-build
+
+  echo "slibdir=/lib" >> configparms
+  echo "rtlddir=/lib" >> configparms
+  echo "sbindir=/bin" >> configparms
+  echo "rootsbindir=/bin" >> configparms
+
+  # remove hardening options for building libraries
+#  CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+#  CFLAGS=${CFLAGS/-fstack-protector-strong/}
+  # this is handled properly by --enable-bind-now
+#  LDFLAGS=${LDFLAGS/,-z,now/}
+  # remove hardening options for building libraries
+  export CFLAGS="-U_FORTIFY_SOURCE -mlittle-endian -O2"
+  export CPPFLAGS="-U_FORTIFY_SOURCE -O2"
+  unset LD_LIBRARY_PATH
+
+#  export BUILD_CC=gcc
+#  export CC=${_target}-gcc
+#  export CXX=${_target}-g++
+#  export AR=${_target}-ar
+#  export RANLIB=${_target}-ranlib
+
+  ../glibc/configure \
+      --prefix=/usr \
+      --target=$_target \
+      --host=$_target \
+      --libdir=/usr/lib \
+      --libexecdir=/usr/lib \
+      --with-headers=/usr/$_target/include \
+      --with-bugurl=https://bugs.archlinux.org/ \
+      --enable-add-ons \
+      --enable-obsolete-rpc \
+      --enable-kernel=2.6.32 \
+      --enable-bind-now \
+      --disable-profile \
+      --enable-stackguard-randomization \
+      --enable-lock-elision \
+      --enable-multi-arch \
+      --disable-werror
+
+  echo "build-programs=no" >> configparms
+  make
+
+  # re-enable hardening for programs
+  sed -i "/build-programs=/s#no#yes#" configparms
+
+  echo "CC += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
+  echo "CXX += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
+}
+
+package() {
+  cd glibc-build
+
+  make install_root=$pkgdir/usr/$_target install
+
+  rm -rf $pkgdir/usr/$_target/{bin,sbin,etc,share,var}
+}


Property changes on: aarch64-linux-gnu-glibc/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD
===================================================================
--- aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD	                        (rev 0)
+++ aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD	2016-11-17 02:40:39 UTC (rev 196081)
@@ -0,0 +1,29 @@
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+
+_target_arch=arm64
+_target=aarch64-linux-gnu
+pkgname=$_target-linux-api-headers
+pkgver=4.8
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace ($_target)"
+arch=(any)
+url='http://www.kernel.org'
+license=(GPL2)
+source=(http://www.kernel.org/pub/linux/kernel/v4.x/linux-$pkgver.tar.xz)
+sha1sums=('e375f93600a7b96191498af39e5a2416b6666e59')
+
+build() {
+  cd linux-$pkgver
+
+  make ARCH=$_target_arch mrproper
+  make ARCH=$_target_arch headers_check
+}
+
+package() {
+  cd linux-$pkgver
+
+  make INSTALL_HDR_PATH="$pkgdir/usr/$_target/" ARCH=$_target_arch V=0 headers_install
+
+  # clean-up unnecessary files generated during install
+  find "$pkgdir" \( -name .install -or -name ..install.cmd \) -delete
+}


Property changes on: aarch64-linux-gnu-linux-api-headers/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property



More information about the arch-commits mailing list