# Maintainer: Daryl Ronningen _llvmver=17.0.6 pkgname=musl pkgver=1.2.4 pkgrel=1 pkgdesc="Lightweight implementation of C standard library" arch=("x86_64") url="https://musl.libc.org/" license=("MIT") depends=("nsss" "utmps") optdepends=( "argp-standalone: Port of argp from Glibc" "musl-fts: adds fts(3) functions" "musl-obstack: add obstack from Glibc" ) backup=("etc/ld-musl-$CARCH.path") source=( "https://musl.libc.org/releases/musl-$pkgver.tar.gz" "https://github.com/llvm/llvm-project/releases/download/llvmorg-$_llvmver/compiler-rt-$_llvmver.src.tar.xz" "0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch" "0002-scudo-add-necessary-plumbing.patch" "0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch" "0004-do-not-rely-on-system-headers-for-cpu-info.patch" "0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch" "0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch" "wrappers.cpp" "ld-musl.path" ) sha256sums=( "7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039" "11b8d09dcf92a0f91c5c82defb5ad9ff4acf5cf073a80c317204baa922d136b4" "1eed14011716974fcc7d9ff6cbfd46e3bf247e43152c69fd4d0e68a26129277f" "416dac6bdbd19e65e6c8717e573a424e0efb61e26b28ed5a161a0a2420df8f3b" "5c84f0cea68f9cc04356b75193d16d31852e468d06182163783997f8eced6574" "9b119297d5d1550d57d98ad0c3a6f87e654c852430db44e1df53afacae1fc141" "017751764328d3c4fc3bd5873b0cee446df470432c6464e0cb663ba12dae808d" "0c6c89c7b0c4e3918de323d0015f28ec6e8f7d27301f56a95bb55e1bb31e5d54" "55b485a26ec69a4fdb44169b12e09d239ad2eea922a2de8d56caf76fd8355e12" "de2f97888ddbaca502e0e7417c6ab7be1123c8d1d33a18aa7df7fa95887be11b" ) prepare() { cd $pkgname-$pkgver # Add scudo mkdir -p src/malloc/scudo/scudo/ cp -r $srcdir/compiler-rt-$_llvmver.src/lib/scudo/standalone/*.{cpp,h,inc} src/malloc/scudo/ cp -r $srcdir/compiler-rt-$_llvmver.src/lib/scudo/standalone/include/scudo/*.h src/malloc/scudo/scudo/ # Add wrappers from chimera linux rm src/malloc/scudo/wrappers* cp -r $srcdir/wrappers.cpp src/malloc/scudo/ patch -p1 <$srcdir/0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch patch -p1 <$srcdir/0002-scudo-add-necessary-plumbing.patch patch -p1 <$srcdir/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch patch -p1 <$srcdir/0004-do-not-rely-on-system-headers-for-cpu-info.patch patch -p1 <$srcdir/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch patch -p1 <$srcdir/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch } build() { cd $pkgname-$pkgver ./configure --prefix=/usr --with-malloc=scudo make } package() { cd $pkgname-$pkgver make DESTDIR="$pkgdir" install mv $pkgdir/lib/* $pkgdir/usr/lib/ rm -rf $pkgdir/lib mkdir $pkgdir/usr/bin ln -s ../lib/ld-musl-$CARCH.so.1 $pkgdir/usr/bin/ldd install -Dm644 $srcdir/ld-musl.path $pkgdir/etc/ld-musl-$CARCH.path install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT # utmps & nsss replacements rm -rf $pkgdir/usr/include/{grp,pwd,shadow,utmpx}.h }