# Maintainer: Natanael Copa _abiver=0.9.32 pkgname=libc$_abiver _gitver= pkgver=0.9.33.2 _ver=${pkgver/_/-} pkgrel=2 pkgdesc="C library for developing embedded Linux systems" url=http://uclibc.org license="LGPL-2" arch="all" options= makedepends="linux-headers" subpackages="uclibc-dev:dev uclibc-utils:utils libthread_db" depends_dev="linux-headers=>2.6.32" replaces=uclibc options="!strip" triggers="uclibc-utils.trigger=/lib:/usr/lib" _snapurl="http://git.uclibc.org/uClibc/snapshot/master.tar.bz2" _snapfile="$pkgname-$pkgver.tar.bz2" # patches are tracked in http://git.alpinelinux.org/cgit/uClibc-alpine/ # branch 0.9.32-alpine source="http://uclibc.org/downloads/uClibc-${_ver}.tar.xz 0001-Compatible-stack-protector-for-non-Thread-Local-stor.patch 0002-resolv-res_query-for-CNAMEs.patch 0003-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch 0004-libm-x86_64-implement-some-fenv-functions.patch 0005-stdlib-fix-arc4random-return-type-to-u_int32_t.patch 0006-malloc-standard-synchronize-on-fork.patch 0007-libc-x86-fix-stack-unwinding-and-backtrace-informati.patch 0008-ldso-limited-support-for-ORIGIN-in-rpath.patch eventfd.patch uClibc-0.9.33-avahi.patch uclibcconfig.x86 uclibcconfig.x86_64 uclibcconfig.i486 uclibcconfig.arm uclibcconfig.powerpc uclibc-utils.trigger " _config="$srcdir"/uclibcconfig.${CARCH} _builddir="$srcdir"/uClibc-${_ver} snapshot() { local _date=$(date +%y%m%d%H%M) _gitver=$_date pkgver=${_abiver}_alpha0_git$_gitver _snapfile="$pkgname-$pkgver.tar.bz2" rm -f "$SRCDEST"/$_snapfile msg "snapfile=$_snapfile" wget -O "$SRCDEST"/$_snapfile $_snapurl pkgrel=0 sed -i -e "s/^_gitver=.*/_gitver=$_gitver/" \ -e "s/^pkgrel=.*/pkgrel=$pkgrel/" \ APKBUILD checksum } prepare() { local i cd "$_builddir" # patches goes here for i in $source; do case $i in *.patch|*.diff) msg "Applying $i..." patch -p1 -i "$srcdir"/$i || return 1 ;; esac done # set abi version and remove unsupported warnings c flag sed -i -e "s/^ABI_VERSION.*/ABI_VERSION := $_abiver/" \ -e "s/-Wold-style-declaration//g" \ Rules.mak } build() { local _kh= cd "$_builddir" if [ -n "$SYSROOT" ]; then _kh=KERNEL_HEADERS="$SYSROOT/include" fi cp "$_config" .config if [ -n "$DEBUG" ]; then sed -i -e 's/# DODEBUG is not set/DODEBUG=y/' \ -e 's/DOSTRIP=y/# DOSTRIP is not set/' \ .config fi make silentoldconfig make -j1 pregen KERNEL_HEADERS="$SYSROOT"/usr/include \ CROSS="$CROSS" || return 1 make all KERNEL_HEADERS="$SYSROOT/usr/include" CROSS="$CROSS" || return 1 make utils CROSS="$CROSS" || return 1 } package() { cd "$_builddir" make DESTDIR="$pkgdir" KERNEL_HEADERS="$SYSROOT/usr/include" \ CROSS="$CROSS" install install_utils install -Dm755 extra/scripts/getent "$pkgdir"/usr/bin/getent } dev() { default_dev replaces="uclibc linux-headers fts-dev" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/ } utils() { pkgdesc="uClibc utility programs" replaces="uclibc $pkgname" mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/sbin mv "$pkgdir"/sbin/* "$subpkgdir"/sbin/ mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/ } libthread_db() { pkgdesc="uClibc thread debugging library" mkdir -p "$subpkgdir"/lib mv "$pkgdir"/lib/libthread_db* "$subpkgdir"/lib/ } md5sums="73e6fe215648d02246f4d195b25fb17e uClibc-0.9.33.2.tar.xz d4c8fb190eb4327453ed924159ca432e 0001-Compatible-stack-protector-for-non-Thread-Local-stor.patch f9c9de09da5eade2fb9dff8f9f8b3fc9 0002-resolv-res_query-for-CNAMEs.patch 96e5deaa662695a56571f47c7ac2fc94 0003-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch e726ab363c0f8aed8dc31b8c54495b5d 0004-libm-x86_64-implement-some-fenv-functions.patch d8e62f8016274fc8605e6f77d4def79e 0005-stdlib-fix-arc4random-return-type-to-u_int32_t.patch 235ca36ca8c10878d63d68ba61f76634 0006-malloc-standard-synchronize-on-fork.patch d9611de57fb72b74c0b9e243b8e9165b 0007-libc-x86-fix-stack-unwinding-and-backtrace-informati.patch 12cf5330b092ee7e00d14909737abc70 0008-ldso-limited-support-for-ORIGIN-in-rpath.patch a86eb40e8aca531a1cfee5faff3c53d4 eventfd.patch d91fcb785ae14632a4ea8fa03ba0236f uClibc-0.9.33-avahi.patch ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.x86 e861a17baa541accf4d4d39a98d74c32 uclibcconfig.x86_64 ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.i486 3f1e788cfa922c5a39d22a509bf49b60 uclibcconfig.arm 820d5176004ccfa2baa3607ba576360f uclibcconfig.powerpc f3be4f2bc54d7561d252937e10abf0d2 uclibc-utils.trigger"