diff options
author | Christer Solskogen | 2021-02-10 13:48:18 +0100 |
---|---|---|
committer | Christer Solskogen | 2021-02-10 13:48:18 +0100 |
commit | cff9adfd7d5fa37a4c9d79ee9c087085cb7eddfa (patch) | |
tree | 30156b8402119b9b9ca678578433853c7751d51a | |
download | aur-cff9adfd7d5fa37a4c9d79ee9c087085cb7eddfa.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 70 |
2 files changed, 91 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..56384a5f7760 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = aarch64-glibc + pkgdesc = GNU C Library ARM64 target + pkgver = 2.33 + pkgrel = 1 + url = https://www.gnu.org/software/libc/ + arch = any + license = GPL + license = LGPL + makedepends = aarch64-gcc + makedepends = aarch64-linux-api-headers + options = !strip + options = staticlibs + source = https://ftp.gnu.org/gnu/libc/glibc-2.33.tar.xz + source = https://ftp.gnu.org/gnu/libc/glibc-2.33.tar.xz.sig + validpgpkeys = 7273542B39962DF7B299931416792B4EA25340F8 + validpgpkeys = BC7C7372637EC10C57D7AA6579C43DFBF1CF2187 + sha256sums = 2e2556000e105dbd57f0b6b2a32ff2cf173bde4f0d85dffccfd8b7e51a0677ff + sha256sums = SKIP + +pkgname = aarch64-glibc + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7c7e2c6e9405 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Anatol Pomozov +# Maintainer: Eli Schwartz <eschwartz@archlinux.org> +# Contributor: Christer Solskogen <christer.solskogen@gmail.com> +# Build order: aarch64-binutils -> aarch64-linux-api-headers -> aarch64-gcc-bootstrap -> aarch64-glibc -> aarch64-gcc -> aarch64-glibc (again) + +_arch=aarch64 +_target=$_arch-unknown-linux-gnu +pkgname=$_arch-glibc +pkgver=2.33 +pkgrel=1 +_commit=be176490b818b65b5162c332eb6b581690b16e5c +pkgdesc="GNU C Library ARM64 target" +arch=(any) +url='https://www.gnu.org/software/libc/' +license=('GPL' 'LGPL') +depends=() +makedepends=($_arch-gcc $_arch-linux-api-headers) +options=(!strip staticlibs) +source=(https://ftp.gnu.org/gnu/libc/glibc-$pkgver.tar.xz{,.sig}) +sha256sums=('2e2556000e105dbd57f0b6b2a32ff2cf173bde4f0d85dffccfd8b7e51a0677ff' + 'SKIP') +validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # "Carlos O'Donell <carlos@systemhalted.org>" + BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar + +prepare() { + mkdir -p glibc-build +} + +build() { + cd glibc-build + echo "build-programs=no" > configparms + echo "cross-compiling=yes" >> configparms + echo "slibdir=/usr/lib" >> configparms + echo "rtlddir=/usr/lib" >> configparms + + #hack - Having CPPFLAGS defined makes the build barf. Workaround it like this: + _cppflags=$CPPFLAGS + unset LD_LIBRARY_PATH CFLAGS CPPFLAGS + + ../glibc-$pkgver/configure \ + --prefix=/usr \ + --host=$_target \ + --libdir=/usr/lib \ + --with-bugurl=https://bugs.archlinux.org \ + --enable-kernel=4.4 \ + --enable-bind-now \ + --enable-stack-protector=strong \ + --enable-stackguard-randomization \ + --disable-timezone-tools \ + --enable-multi-arch CFLAGS="$_cppflags -O2 -pipe -fno-plt" + + make +} + +package() { + cd glibc-build + make DESTDIR="$pkgdir"/usr/$_target/sys-root install + + #we don't want static libraries. Only keep the one that we really need. + find "$pkgdir"/usr/$_target/sys-root -name '*.a' -and -not -name libc_nonshared.a -delete + + #Remove files we don't need in a cross compilation environment + rm -r "$pkgdir"/usr/$_target/sys-root/{etc,usr/share,var} + + #strip manually + find "$pkgdir"/usr/$_target/sys-root -name '*.so' -and ! -name 'libc.so' -print0 | xargs -0 $_target-strip --strip-all + + #workaround for fakeroot bug + chown -R root:root "$pkgdir"/usr +} |