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 <[email protected]> + +_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 <[email protected]> + +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 <[email protected]> + +_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 <[email protected]> + +_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 <[email protected]> + +_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
