# Contributor: William Pitcock # Maintainer: Timo Teräs pkgname=musl pkgver=1.1.14 pkgrel=16 pkgdesc="the musl c library (libc) implementation" url="http://www.musl-libc.org/" arch="all" license="MIT" depends="" depends_dev="!uclibc-dev" makedepends="$depends_dev" subpackages="$pkgname-dev $pkgname-utils $pkgname-dbg libc6-compat:compat" source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz 0001-handle-non-matching-address-family-entries-in-hosts-.patch 0002-fix-at-the-start-of-a-BRE-subexpression.patch 0003-fix-at-the-start-of-a-complete-BRE.patch 0004-math-fix-expf-NAN-and-exp2f-NAN-to-return-NAN-instea.patch 0005-env-avoid-leaving-dangling-pointers-in-__env_map.patch 0006-fix-padding-string-formats-to-width-in-wide-printf-v.patch 0007-fix-gethostbyaddr_r-to-fill-struct-hostent.h_length-.patch 0008-fix-undefined-pointer-comparison-in-stdio-internal-_.patch 0009-fix-regression-disabling-use-of-pause-instruction-fo.patch 0010-fix-read-past-end-of-haystack-buffer-for-short-needl.patch 0011-fix-FILE-buffer-underflow-in-ungetwc.patch 0012-fix-incorrect-protocol-name-and-number-for-egp.patch 0013-fix-the-use-of-uninitialized-value-in-regcomp.patch 0014-fix-undefined-pointer-arithmetic-in-CMSG_NXTHDR-macr.patch 0015-avoid-padding-gaps-in-struct-sockaddr_storage.patch 0016-fix-failure-to-obtain-EOWNERDEAD-status-for-process-.patch 0017-fix-misaligned-address-buffers-in-gethostbyname-2-_r.patch 0018-in-performing-dns-lookups-check-result-from-res_mkqu.patch 0019-fix-misordered-syscall-arguments-for-posix_fadvise-o.patch 0020-improve-abort-fallback-behavior-when-raising-SIGABRT.patch 0021-fix-asctime-day-month-names-not-to-vary-by-locale.patch 0001-use-dynamic-buffer-for-getmntent.patch 0001-fix-missing-integer-overflow-checks-in-regexec-buffe.patch 1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch 2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch CVE-2017-15650.patch ldconfig __stack_chk_fail_local.c getconf.c getent.c iconv.c " # secfixes: # 1.1.14-r13: # - CVE-2016-8859 # 1.1.14-r16: # - CVE-2017-15650 _builddir="$srcdir"/musl-$pkgver install_sysroot_headers() { cd "$_builddir" if [ -z "${CBUILDROOT}" ]; then echo "CBUILDROOT not must be set!" return 1 fi case "$CARCH" in arm*) ARCH="arm" ;; x86) ARCH="i386" ;; x86_64) ARCH="x86_64" ;; mips*) ARCH="mips" ;; esac make ARCH="$ARCH" prefix=/usr DESTDIR="${CBUILDROOT}" install-headers || return 1 } build() { cd "$_builddir" # provide minimal libssp_nonshared.a so we don't need libssp from gcc ${CROSS_COMPILE}gcc $CPPFLAGS $CFLAGS -c "$srcdir"/__stack_chk_fail_local.c -o __stack_chk_fail_local.o || return 1 ${CROSS_COMPILE}ar r libssp_nonshared.a __stack_chk_fail_local.o || return 1 # getconf/getent/iconv local i for i in getconf getent iconv ; do ${CROSS_COMPILE}gcc $CPPFLAGS $CFLAGS "$srcdir"/$i.c -o $i || return 1 done # note: not autotools LDFLAGS="$LDFLAGS -Wl,-soname,libc.musl-${CARCH}.so.1" \ ./configure \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ || return 1 make || return 1 } package() { cd "$_builddir" make DESTDIR="$pkgdir" install || return 1 cp libssp_nonshared.a "$pkgdir"/usr/lib || return 1 # make LDSO the be the real file, and libc the symlink local LDSO=$(make -f Makefile --eval "$(echo -e 'print-ldso:\n\t@echo $$(basename $(LDSO_PATHNAME))')" print-ldso) mv -f "$pkgdir"/usr/lib/libc.so "$pkgdir"/lib/"$LDSO" || return 1 ln -sf "$LDSO" "$pkgdir"/lib/libc.musl-${CARCH}.so.1 || return 1 ln -sf ../../lib/"$LDSO" "$pkgdir"/usr/lib/libc.so || return 1 mkdir -p "$pkgdir"/usr/bin ln -sf ../../lib/"$LDSO" "$pkgdir"/usr/bin/ldd || return 1 # remove libintl.h, currently we don't want by default any NLS # and use GNU gettext where needed. the plan is to migrate to # musl gettext() later on as fully as possible. rm "$pkgdir"/usr/include/libintl.h || return 1 } utils() { depends="!uclibc-utils scanelf" replaces="libiconv uclibc-utils" license="MIT BSD GPL2+" mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/sbin mv "$pkgdir"/usr/bin/ldd "$subpkgdir"/usr/bin find "$pkgdir" -type d -delete 2>/dev/null install -D \ "$_builddir"/getent \ "$_builddir"/getconf \ "$_builddir"/iconv \ "$subpkgdir"/usr/bin install -D -m755 "$srcdir"/ldconfig "$subpkgdir"/sbin } compat() { pkgdesc="compatibility libraries for glibc" case "$CARCH" in arm*) _ld="ld-linux-armhf.so.3" ;; x86) _ld="ld-linux.so.2" ;; x86_64) _ld="ld-linux-x86-64.so.2" ;; mips*) _ld="ld.so.1" ;; esac mkdir -p "$subpkgdir"/lib ln -sf "/lib/libc.musl-${CARCH}.so.1" "$subpkgdir/lib/$_ld" for i in libc.so.6 libcrypt.so.1 libm.so.6 libpthread.so.0 librt.so.1 libutil.so.1; do ln -sf "/lib/libc.musl-${CARCH}.so.1" "$subpkgdir/lib/$i" done } md5sums="d529ce4a2f7f79d8c3fd4b8329417b57 musl-1.1.14.tar.gz c683094384c5726a99d1047f01aeb331 0001-handle-non-matching-address-family-entries-in-hosts-.patch 3b9089a017ac90b303fad94a6aa71219 0002-fix-at-the-start-of-a-BRE-subexpression.patch 6cee220f293754cd1e7126f3d4db5b43 0003-fix-at-the-start-of-a-complete-BRE.patch 476dc9157a7ac6de5bb6f7c5a5ef7a2d 0004-math-fix-expf-NAN-and-exp2f-NAN-to-return-NAN-instea.patch a372031134c17cefb9aad3c9c0e6bb19 0005-env-avoid-leaving-dangling-pointers-in-__env_map.patch d85fdb4d80c8372d8e63cf4382e4012a 0006-fix-padding-string-formats-to-width-in-wide-printf-v.patch 882309436377613d8b65a1fed573f125 0007-fix-gethostbyaddr_r-to-fill-struct-hostent.h_length-.patch 4701e50c55b520e644c9e9a94e851d7f 0008-fix-undefined-pointer-comparison-in-stdio-internal-_.patch a2457ce90f3e4d5ef04005b6f42e9bc3 0009-fix-regression-disabling-use-of-pause-instruction-fo.patch 5cbd4551e71b317e1125e9cbe08e9a6d 0010-fix-read-past-end-of-haystack-buffer-for-short-needl.patch 1a54c766a86a56946ee53f9515410670 0011-fix-FILE-buffer-underflow-in-ungetwc.patch 67ca785b787c53316397f96d21afab31 0012-fix-incorrect-protocol-name-and-number-for-egp.patch bac89aa68a0e073f1b1381cd8e2eba97 0013-fix-the-use-of-uninitialized-value-in-regcomp.patch 67c4d9999bcd88fc2f7b0129382ee06d 0014-fix-undefined-pointer-arithmetic-in-CMSG_NXTHDR-macr.patch 03b711d7036ab6806f1ab95b6c06b507 0015-avoid-padding-gaps-in-struct-sockaddr_storage.patch 539d29beee156fd98b0554e05df04030 0016-fix-failure-to-obtain-EOWNERDEAD-status-for-process-.patch 75534c4bef706e018d0117f7e6061a80 0017-fix-misaligned-address-buffers-in-gethostbyname-2-_r.patch f34ce9786c13ae945a4dff0c6f3436af 0018-in-performing-dns-lookups-check-result-from-res_mkqu.patch 1220568cdbac3e61faf6d6104029aefb 0019-fix-misordered-syscall-arguments-for-posix_fadvise-o.patch 252d72f8100f0661e7f335da4ac195e6 0020-improve-abort-fallback-behavior-when-raising-SIGABRT.patch c08825383e41e5dbcd3ffdfd2062dd47 0021-fix-asctime-day-month-names-not-to-vary-by-locale.patch c6b8732eea4642112c56f45ff00e356a 0001-use-dynamic-buffer-for-getmntent.patch fe6de41e930775994f64b772f1fdc45c 0001-fix-missing-integer-overflow-checks-in-regexec-buffe.patch 2e3d961d3d50438f42683d2dbf6f2b91 1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch 4f1e65b27b3e88a9a99fc91d737baf9a 2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch d4ca72c487880e6389ee5638ec00f0c5 CVE-2017-15650.patch 830d01f7821b978df770b06db3790921 ldconfig 0df687757221bbb0fc1aa67f1bd646f9 __stack_chk_fail_local.c 57ef2c63b9ec6a2041694ace97d4ffa2 getconf.c 2b941c4251cac44988a4abfc50e21267 getent.c 45f92f8d59cf84d765de698a9578dbf4 iconv.c" sha256sums="35f6c00c84a6091bd5dab29eedde7508dae755ead92dcc0239f3677d1055b9b5 musl-1.1.14.tar.gz 87d3161c69b347c1cb826a886d098bc03a17a00172c5839c4e30ed1745fb92ec 0001-handle-non-matching-address-family-entries-in-hosts-.patch 0bd21cab29a7a2f6644d1046e7bd91dd5aadf6748e207ddda3ff99e353548775 0002-fix-at-the-start-of-a-BRE-subexpression.patch 13d285aba7e5e33dca32e6adbb5ada69f0f88f0320968b201d03fe02f1a70d4c 0003-fix-at-the-start-of-a-complete-BRE.patch e4e36277864e1445295be1397c930c649905ddfa32f1ed65c6defb67f78dd0e8 0004-math-fix-expf-NAN-and-exp2f-NAN-to-return-NAN-instea.patch 02cd2b0c92ab04a7e39ab4bf53687bc3354b8fffe3cb4aba9cb630532ce43d4a 0005-env-avoid-leaving-dangling-pointers-in-__env_map.patch 6037fa5aee8dba3d3b01ded5752d876954c23da3a53ed5a734f0816a2ef1d4bd 0006-fix-padding-string-formats-to-width-in-wide-printf-v.patch 7cec62c7a4ee9d1fa5cd79391aabe9363006ccc6c942fd09924b038e7224f144 0007-fix-gethostbyaddr_r-to-fill-struct-hostent.h_length-.patch b937311664b96b6272e4e62e1aa0d44edd58c825cbb95746c82fab85a6390968 0008-fix-undefined-pointer-comparison-in-stdio-internal-_.patch 4eefc6e8e95da425a519e093e6f9e15390d498070759256de4d86a89679236b9 0009-fix-regression-disabling-use-of-pause-instruction-fo.patch 3cfd4b886b5aa99d48a4bc814e3ac11690fdd166a9fc02da13274cd9acb2260b 0010-fix-read-past-end-of-haystack-buffer-for-short-needl.patch b19de98d4c4051c2ff89b5f4b2705444f6f4c44a639692bedfa30a71b965fd04 0011-fix-FILE-buffer-underflow-in-ungetwc.patch 8721a088af8aa388c771174eb8e9b19cc96c47fe07d2fa8c70a640cdb7d52221 0012-fix-incorrect-protocol-name-and-number-for-egp.patch c92156ebce917add43f18c89841a8ac221cc9312cc3a5eaa2c4a670f43675da5 0013-fix-the-use-of-uninitialized-value-in-regcomp.patch 1faddca64e2c9e26d9726353441ba68a5031ff07bb7b74bf73aed6c5b93787cc 0014-fix-undefined-pointer-arithmetic-in-CMSG_NXTHDR-macr.patch dbfd13e45d919c151fe361bd547b67697c835ab9a0099bfdd96b64c56cf9f701 0015-avoid-padding-gaps-in-struct-sockaddr_storage.patch 3ed6726f17d7736b2b8301fcf12b563b91acfa317f608e339617b92c2af7f5b5 0016-fix-failure-to-obtain-EOWNERDEAD-status-for-process-.patch da4935744d9d6b60f06a9e6af9badd3c239d13cba204c9a10007b23fd10d6275 0017-fix-misaligned-address-buffers-in-gethostbyname-2-_r.patch 4369e64590ce6d70a6b04dbe66d5f7fb30c798a4ccf1519acc66ff55792a34d9 0018-in-performing-dns-lookups-check-result-from-res_mkqu.patch 54454457d7e25e01624a2ebd96b01d8c53448e410f69106d3d62bafacfddcc48 0019-fix-misordered-syscall-arguments-for-posix_fadvise-o.patch 03c776222b65ab374c8659d61f905a9618c460994d70bb9b80655ba6a668c1d4 0020-improve-abort-fallback-behavior-when-raising-SIGABRT.patch d157100aeed5b0866eb6d50288f63f26ea9900f1d4c7b8a1492294c912b5cc19 0021-fix-asctime-day-month-names-not-to-vary-by-locale.patch e1671e2436954f2eec0d2f49dd53e9e66ff0106c9c017a7ff69d35bdb7051055 0001-use-dynamic-buffer-for-getmntent.patch cec3fdd3a90f153a2c5a5d22ffd7429c14ecb105259a9c2540e46db6cfe71b55 0001-fix-missing-integer-overflow-checks-in-regexec-buffe.patch 31700cb0c3bdbeebb78aafbce4cee7d058c9c8d1a37d576ee95c5c598c488912 1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch 8de95cd975ae5529d8866c5d0f41bc4923b12a7444b0ae671ac1a87988e74df2 2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch a25e35436a6ac67c01add006327068a210636ddbbdaffd7be364bd08bdf41a11 CVE-2017-15650.patch b4a2c06db38742e8c42c3c9838b285a7d8cdac6c091ff3df5ff9a15f1e41b9c7 ldconfig 299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da __stack_chk_fail_local.c d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c getconf.c 68373a55e89ce85c562d941ccf588337d6cc6c9c17689d695f65cd7607134bbe getent.c f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c" sha512sums="9016246b44a7e6ef51477f0a246373c79f3e796c70031c3323be1b6c4c0518a2d4578f1aa712adfd9a80cdc1d71918bd7a35855052a0452b854755bf0cc2424e musl-1.1.14.tar.gz 8546b31b04effe8d863e26ecd1677890e925b0f65f46e09f03804024c36595c944c3d7e758160f57862b9e6c85e431139ff8b2412a29c57eb9773cce327647a5 0001-handle-non-matching-address-family-entries-in-hosts-.patch 18b2f436de9e1c3b8720c93d4a013f069f1f7bb8d71203c157a4670b4fa5749347fd2eba74b47e527f9bb7d98442eaf69837ee69ea1840bf6d1577f14029f089 0002-fix-at-the-start-of-a-BRE-subexpression.patch 51a16e88f602d1db175d82d8276273006b74dc7e87340207e26db80820bab368c50f4d1539175bf3b5b3b23ae6da2e452e81f858029bfef49c54f548bc1a4674 0003-fix-at-the-start-of-a-complete-BRE.patch bae8e0f4a1f73be42450945058c1106957da56dc7fa087515dd51bcac3c7099c4cfe4e8c44fb8efc059944d0675858b747396d60c884b031663983912262e992 0004-math-fix-expf-NAN-and-exp2f-NAN-to-return-NAN-instea.patch 202f21518ca75373712430fb547662e7a4936c6947cb61fe97fd5dbd9f48217ca38f90439d51b03cafce9a2bfd90e360182a454f3b941abae033d90f2bffe50c 0005-env-avoid-leaving-dangling-pointers-in-__env_map.patch fb30c3d1113e3cdaf575b37257b1184f2d5cc7cea0eb0ee94a71e861f9c72fe924de5f63826701584f68c9e1c9c4c1357a967ebe00f637312193e268f7a7cf94 0006-fix-padding-string-formats-to-width-in-wide-printf-v.patch ffb52c8a24bfa5fcad0561c6c4f6f265b0b3666f0c6e8c0a12b1f11c9aeb1c51b17f4f0fccdd70a3e94dccb17650efaf24635cd12b64d12c09469ca1399d99d7 0007-fix-gethostbyaddr_r-to-fill-struct-hostent.h_length-.patch afa17d63f3de02661709d3712d1586b3173518476d314ca2b1e72a3814536538c81aefa5a4ec0cee3470af7177dd4842ab6e62e891ae85a88102bb703ba09c59 0008-fix-undefined-pointer-comparison-in-stdio-internal-_.patch 5818f2563a7a335aec2cbaaeb4acb80d1380206dd03110331adb09fd1279c84f09883e2f92e0d8964079acf3d4fc173c1b5073091c874c492f2f5a966e1cccb7 0009-fix-regression-disabling-use-of-pause-instruction-fo.patch c0cf860bc7c6259dc626a1178258010e4ea6588f1ecd6c6c69ed85f11c5f0f6c502f59af3d9655bb92f05263ffd06c8fe4aed3939e105c00f783b9c7975ac9ff 0010-fix-read-past-end-of-haystack-buffer-for-short-needl.patch 93a696ef060f4a7c9efe32589e3f8e0bb08cbbae6d0f9852aef8555f2f095f0d50431f55647ee8b59599916b0c90bb4aa251be495d3d2697b36c7cad5c9375a4 0011-fix-FILE-buffer-underflow-in-ungetwc.patch 78f1952b786cd4c31d956e169a6362d0f3007d68cb95308f88ae556dac88689cfa0e94856e5e8f727b1f27a9df5b35dab0fec8f3df4d925207c4980eb4e9f80f 0012-fix-incorrect-protocol-name-and-number-for-egp.patch 192aa0433f324745e739f12c0900625a59c2a63c17c7f41faeac537b531f2fb93176a92c447e9a16ffd011c7da4460ea9a71374d7aa0d7da676caea43c0c7fc2 0013-fix-the-use-of-uninitialized-value-in-regcomp.patch 461d889d7de5cc5e7074b722a4f87066528dd0e46aea3b999a10cf21ab96b0bd5c61380d1c11b7a805d30b2f2bd591009a32d0df1750c1ef3ff592d4913e6a5f 0014-fix-undefined-pointer-arithmetic-in-CMSG_NXTHDR-macr.patch fdeae163ce2ead5fe28ffb5eae3d061222acb13ade2bed8a777a549d57b4630517aa7636cc906ce7be76d5372858b7b04fc865b576ca619b5ff6fcc44ad5c05c 0015-avoid-padding-gaps-in-struct-sockaddr_storage.patch 0d7015029e36abfaf6b323f83dd2d93ea7a16e49842968177e86328b2bf23de97d7ae982d28b8c894aa7def803a5118c0d1d1e0fc00cebd011fab64c833d72c4 0016-fix-failure-to-obtain-EOWNERDEAD-status-for-process-.patch b7bf4d812ed96f3dedc489a0a9ad882081e709f2f2e29793c43d4e73a3b47d6910425d601c400c1c484c16babb2f56f91e5f903175737ca9e78cdedfb1fd3968 0017-fix-misaligned-address-buffers-in-gethostbyname-2-_r.patch a497943a0bc3752027467e21988e402eeab9ad2a7f37bc43cdbd05f6b45677e9cc72a200143f0b4fc88a42bde4eb09b606cc4890a72abf563a1788fec82ca79d 0018-in-performing-dns-lookups-check-result-from-res_mkqu.patch 99857974627729664d0f4c3427e0d5e8843a07deb77c7ef7381e060eacb629fab926ab18d966a1d55ab4b032ef812363e74d549c03941c0982bd950e27294a18 0019-fix-misordered-syscall-arguments-for-posix_fadvise-o.patch b8c50dbb33fa9cd8ae40b97f9662bedfc6fce4272e1e34b11daf14847b99e9a2bdc2dd9916329c0a407945e21d0070e8306e3ed2d1f857fc83ca64d430e4623a 0020-improve-abort-fallback-behavior-when-raising-SIGABRT.patch 1a74d5f5e0f6f2fe6029ed0f18b4603f80c990f19aa13d83c5d1f40f032b2ffb3819aae13ae1f96415bb08571774eec164e71d09028f2a5db4ae9b77e48cafe7 0021-fix-asctime-day-month-names-not-to-vary-by-locale.patch a25ff6c640fed110c124f2b12920111befa832202b906649e1d21613dda32b55bada0d59b310f4af2d4ae27c9ce2c92079ba1c919b4898c002f271c7a0c04878 0001-use-dynamic-buffer-for-getmntent.patch 6376167c67fdd22c0c4476fc38ff89ae3ce46435f72d7c506460944dd8f7d9153eed9696738dff5b320f09b474964f2a57394530eb40197ad58a6956e87e68ff 0001-fix-missing-integer-overflow-checks-in-regexec-buffe.patch 99f4c7e09860978f5a15fdfc6b8786e24bf763b838c623cbb91dbc27ebcdfa4fd0ed9fd02ad38cff1c903b0e2dc0a021d8786c938e990e8cc8d4475a13bf3c57 1001-add-support-for-pthread_-get-set-attr_default_np-GNU.patch 4449f68a08655ee9b0441213e125441cc2fca1693c38dc57fa9f9f015c793545a966418952612a891e0760ca5e25e8f07358750818f4feea09b2920bb00465be 2000-pthread-internals-increase-DEFAULT_GUARD_SIZE-to-2-p.patch ff3bbaf43e2202db570377836782c8b2f95db39bbf2b09ef0891d9f1b25b3160e0ff6b16e055745b72357b1cf99a486b70a689b4928ed1cc6b78b4d4f0bbea32 CVE-2017-15650.patch 8d3a2d5315fc56fee7da9abb8b89bb38c6046c33d154c10d168fb35bfde6b0cf9f13042a3bceee34daf091bc409d699223735dcf19f382eeee1f6be34154f26f ldconfig 062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b __stack_chk_fail_local.c 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d getconf.c b35de9847353b273516162ed4828a810c6130fc5b7de44ee4433003b3f99647b25792d9b1c40dfc67069add11f3fb850e5c35d4f1912dccac108059bbbdfd5a2 getent.c 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf iconv.c"