From b7ebc951da8800f711142f69d9d958bde67a112d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 28 Apr 2019 09:54:45 +0100 Subject: gentoo resync : 28.04.2019 --- sys-libs/Manifest.gz | Bin 15926 -> 15943 bytes sys-libs/argp-standalone/Manifest | 2 +- .../argp-standalone/argp-standalone-1.3-r2.ebuild | 4 +- sys-libs/binutils-libs/Manifest | 8 +- .../binutils-libs/binutils-libs-2.31.1-r4.ebuild | 2 +- .../binutils-libs/binutils-libs-2.31.1-r6.ebuild | 117 ++ .../binutils-libs/binutils-libs-2.32-r1.ebuild | 118 ++ sys-libs/binutils-libs/binutils-libs-2.32.ebuild | 118 -- sys-libs/compiler-rt-sanitizers/Manifest | 10 +- .../compiler-rt-sanitizers-7.0.1.ebuild | 4 +- .../compiler-rt-sanitizers-7.0.9999.ebuild | 177 --- .../compiler-rt-sanitizers-7.1.0.ebuild | 176 +++ ...itizer_common-Fix-using-libtirpc-on-Linux.patch | 67 - ...0002-test-Support-using-libtirpc-on-Linux.patch | 100 -- ...itizer_common-Fix-using-libtirpc-on-Linux.patch | 67 + ...0002-test-Support-using-libtirpc-on-Linux.patch | 100 ++ sys-libs/compiler-rt/Manifest | 3 +- sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild | 111 -- sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild | 109 ++ sys-libs/cracklib/Manifest | 4 +- sys-libs/cracklib/cracklib-2.9.6-r2.ebuild | 2 +- sys-libs/cracklib/cracklib-2.9.7.ebuild | 2 +- sys-libs/db/Manifest | 6 +- sys-libs/db/db-6.1.29-r1.ebuild | 238 ---- sys-libs/db/db-6.1.38.ebuild | 242 ++++ sys-libs/db/db-6.2.38.ebuild | 242 ++++ sys-libs/glibc/Manifest | 23 +- .../glibc/files/2.10/glibc-2.10-gentoo-chk_fail.c | 315 ----- .../glibc-2.10-hardened-configure-picdefault.patch | 30 - .../glibc-2.10-hardened-inittls-nosysenter.patch | 274 ---- .../glibc/files/2.17/glibc-2.17-hardened-pie.patch | 42 - .../glibc/files/2.18/glibc-2.18-gentoo-chk_fail.c | 314 ----- .../files/2.18/glibc-2.18-gentoo-stack_chk_fail.c | 322 ----- .../glibc-2.18-hardened-inittls-nosysenter.patch | 277 ---- .../glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c | 299 ---- .../files/2.20/glibc-2.20-gentoo-stack_chk_fail.c | 2 - .../glibc-2.20-hardened-inittls-nosysenter.patch | 306 ----- sys-libs/glibc/glibc-2.21-r2.ebuild | 149 -- sys-libs/glibc/glibc-2.28-r5.ebuild | 1418 ------------------- sys-libs/glibc/glibc-2.28-r6.ebuild | 1418 +++++++++++++++++++ sys-libs/glibc/glibc-2.29-r1.ebuild | 1418 ------------------- sys-libs/glibc/glibc-2.29-r2.ebuild | 1448 ++++++++++++++++++++ sys-libs/glibc/glibc-9999.ebuild | 40 +- sys-libs/ldb/Manifest | 6 +- sys-libs/ldb/ldb-1.5.4.ebuild | 4 +- sys-libs/ldb/ldb-1.6.2.ebuild | 2 +- sys-libs/ldb/ldb-1.6.3.ebuild | 2 +- sys-libs/libapparmor/Manifest | 4 +- sys-libs/libapparmor/libapparmor-2.13.1.ebuild | 2 +- sys-libs/libapparmor/libapparmor-2.13.2.ebuild | 4 +- sys-libs/libblockdev/Manifest | 7 +- sys-libs/libblockdev/libblockdev-2.14-r1.ebuild | 5 +- sys-libs/libblockdev/libblockdev-2.20-r2.ebuild | 7 +- sys-libs/libblockdev/libblockdev-2.21.ebuild | 5 +- sys-libs/libblockdev/libblockdev-9999.ebuild | 115 ++ sys-libs/libcap-ng/Manifest | 4 +- sys-libs/libcap-ng/libcap-ng-0.7.8.ebuild | 4 +- sys-libs/libcap-ng/libcap-ng-0.7.9.ebuild | 4 +- sys-libs/libcap/Manifest | 5 +- sys-libs/libcap/libcap-2.25-r1.ebuild | 76 - sys-libs/libcap/libcap-2.26-r2.ebuild | 4 +- sys-libs/libcap/libcap-2.27.ebuild | 81 ++ sys-libs/libcxx/Manifest | 3 +- sys-libs/libcxx/libcxx-7.0.9999.ebuild | 227 --- sys-libs/libcxx/libcxx-7.1.0.ebuild | 215 +++ sys-libs/libcxxabi/Manifest | 4 +- sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild | 122 -- sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild | 119 ++ sys-libs/libhx/Manifest | 5 +- sys-libs/libhx/libhx-3.16.ebuild | 30 - sys-libs/libhx/libhx-3.22.ebuild | 30 - sys-libs/libhx/libhx-3.24.ebuild | 2 +- sys-libs/libmath++/Manifest | 2 +- sys-libs/libmath++/metadata.xml | 5 +- sys-libs/libnih/Manifest | 2 +- sys-libs/libnih/libnih-1.0.3-r3.ebuild | 2 +- sys-libs/libomp/Manifest | 3 +- sys-libs/libomp/libomp-7.0.9999.ebuild | 116 -- sys-libs/libomp/libomp-7.1.0.ebuild | 115 ++ sys-libs/libosinfo/Manifest | 2 +- sys-libs/libosinfo/libosinfo-1.3.0.ebuild | 2 +- sys-libs/libseccomp/Manifest | 6 +- sys-libs/libseccomp/libseccomp-2.3.3.ebuild | 39 - sys-libs/libseccomp/libseccomp-2.4.0.ebuild | 2 +- sys-libs/libseccomp/libseccomp-2.4.1.ebuild | 41 + sys-libs/libselinux/Manifest | 11 +- sys-libs/libselinux/libselinux-2.7.ebuild | 149 -- sys-libs/libselinux/libselinux-2.8-r1.ebuild | 2 +- sys-libs/libselinux/libselinux-2.8.ebuild | 153 --- sys-libs/libselinux/libselinux-2.9.ebuild | 2 +- sys-libs/libselinux/libselinux-2.9_rc1.ebuild | 2 +- sys-libs/libselinux/libselinux-9999.ebuild | 2 +- sys-libs/libsemanage/Manifest | 10 +- sys-libs/libsemanage/libsemanage-2.7.ebuild | 4 +- sys-libs/libsemanage/libsemanage-2.8.ebuild | 4 +- sys-libs/libsemanage/libsemanage-2.9.ebuild | 2 +- sys-libs/libsemanage/libsemanage-2.9_rc1.ebuild | 2 +- sys-libs/libsemanage/libsemanage-9999.ebuild | 2 +- sys-libs/libsmbios/Manifest | 4 +- sys-libs/libsmbios/libsmbios-2.4.1.ebuild | 4 +- sys-libs/libsmbios/libsmbios-2.4.2.ebuild | 4 +- sys-libs/llvm-libunwind/Manifest | 15 +- .../llvm-libunwind/llvm-libunwind-6.0.1.ebuild | 2 +- .../llvm-libunwind/llvm-libunwind-7.0.1.ebuild | 2 +- .../llvm-libunwind/llvm-libunwind-7.0.9999.ebuild | 146 -- .../llvm-libunwind/llvm-libunwind-7.1.0.ebuild | 143 ++ .../llvm-libunwind/llvm-libunwind-8.0.0.ebuild | 2 +- .../llvm-libunwind/llvm-libunwind-8.0.9999.ebuild | 2 +- sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild | 2 +- sys-libs/musl/Manifest | 4 +- sys-libs/musl/musl-1.1.21.ebuild | 2 +- sys-libs/musl/musl-1.1.22.ebuild | 118 ++ sys-libs/obstack-standalone/Manifest | 2 +- .../obstack-standalone-1.1.ebuild | 4 +- sys-libs/talloc/Manifest | 6 +- sys-libs/talloc/talloc-2.1.15.ebuild | 2 +- sys-libs/talloc/talloc-2.1.16.ebuild | 2 +- sys-libs/talloc/talloc-2.2.0.ebuild | 4 +- sys-libs/tdb/Manifest | 6 +- sys-libs/tdb/tdb-1.3.17.ebuild | 2 +- sys-libs/tdb/tdb-1.3.18.ebuild | 2 +- sys-libs/tdb/tdb-1.4.0.ebuild | 4 +- sys-libs/tevent/Manifest | 6 +- sys-libs/tevent/tevent-0.10.0.ebuild | 4 +- sys-libs/tevent/tevent-0.9.38.ebuild | 2 +- sys-libs/tevent/tevent-0.9.39.ebuild | 2 +- sys-libs/zlib/Manifest | 2 - sys-libs/zlib/zlib-1.2.11-r1.ebuild | 122 -- sys-libs/zlib/zlib-1.2.11.ebuild | 120 -- 129 files changed, 5180 insertions(+), 7466 deletions(-) create mode 100644 sys-libs/binutils-libs/binutils-libs-2.31.1-r6.ebuild create mode 100644 sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild delete mode 100644 sys-libs/binutils-libs/binutils-libs-2.32.ebuild delete mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild delete mode 100644 sys-libs/compiler-rt-sanitizers/files/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch delete mode 100644 sys-libs/compiler-rt-sanitizers/files/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch create mode 100644 sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch create mode 100644 sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch delete mode 100644 sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild delete mode 100644 sys-libs/db/db-6.1.29-r1.ebuild create mode 100644 sys-libs/db/db-6.1.38.ebuild create mode 100644 sys-libs/db/db-6.2.38.ebuild delete mode 100644 sys-libs/glibc/files/2.10/glibc-2.10-gentoo-chk_fail.c delete mode 100644 sys-libs/glibc/files/2.10/glibc-2.10-hardened-configure-picdefault.patch delete mode 100644 sys-libs/glibc/files/2.10/glibc-2.10-hardened-inittls-nosysenter.patch delete mode 100644 sys-libs/glibc/files/2.17/glibc-2.17-hardened-pie.patch delete mode 100644 sys-libs/glibc/files/2.18/glibc-2.18-gentoo-chk_fail.c delete mode 100644 sys-libs/glibc/files/2.18/glibc-2.18-gentoo-stack_chk_fail.c delete mode 100644 sys-libs/glibc/files/2.18/glibc-2.18-hardened-inittls-nosysenter.patch delete mode 100644 sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c delete mode 100644 sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c delete mode 100644 sys-libs/glibc/files/2.20/glibc-2.20-hardened-inittls-nosysenter.patch delete mode 100644 sys-libs/glibc/glibc-2.21-r2.ebuild delete mode 100644 sys-libs/glibc/glibc-2.28-r5.ebuild create mode 100644 sys-libs/glibc/glibc-2.28-r6.ebuild delete mode 100644 sys-libs/glibc/glibc-2.29-r1.ebuild create mode 100644 sys-libs/glibc/glibc-2.29-r2.ebuild create mode 100644 sys-libs/libblockdev/libblockdev-9999.ebuild delete mode 100644 sys-libs/libcap/libcap-2.25-r1.ebuild create mode 100644 sys-libs/libcap/libcap-2.27.ebuild delete mode 100644 sys-libs/libcxx/libcxx-7.0.9999.ebuild create mode 100644 sys-libs/libcxx/libcxx-7.1.0.ebuild delete mode 100644 sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild delete mode 100644 sys-libs/libhx/libhx-3.16.ebuild delete mode 100644 sys-libs/libhx/libhx-3.22.ebuild delete mode 100644 sys-libs/libomp/libomp-7.0.9999.ebuild create mode 100644 sys-libs/libomp/libomp-7.1.0.ebuild delete mode 100644 sys-libs/libseccomp/libseccomp-2.3.3.ebuild create mode 100644 sys-libs/libseccomp/libseccomp-2.4.1.ebuild delete mode 100644 sys-libs/libselinux/libselinux-2.7.ebuild delete mode 100644 sys-libs/libselinux/libselinux-2.8.ebuild delete mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild create mode 100644 sys-libs/musl/musl-1.1.22.ebuild delete mode 100644 sys-libs/zlib/zlib-1.2.11-r1.ebuild delete mode 100644 sys-libs/zlib/zlib-1.2.11.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 01992219b304..949b23b2e238 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/argp-standalone/Manifest b/sys-libs/argp-standalone/Manifest index 5d8f6c2b679b..9344e117ef50 100644 --- a/sys-libs/argp-standalone/Manifest +++ b/sys-libs/argp-standalone/Manifest @@ -1,5 +1,5 @@ AUX argp-standalone-1.3-shared.patch 1407 BLAKE2B 6d838b7b65b38562eca560bf094a74bb671cc0e911aed8e858e37768f12756cb579d9d984fe9444dd9b78f33b28ab080a7f6d0160dfeaf3ca4f0758c2d732d4d SHA512 2ee3386b1f63d64abff6a6b58dd7d0a7724bc07fd20f3f9daf24de1abb39d1ef35e3c616926fe3e939ccd491e84a82373e9554566a78683c3622494be2071d72 AUX argp-standalone-1.3-throw-in-funcdef.patch 2500 BLAKE2B 050476f7dec2ff8d79e09f717eada121bc07ef26e0567c2d89ed18d44a4905741494d660ce82df8fb39f19020cf529b513d0e21b651197066d781250a921177e SHA512 5e4cdeeb16e6a4fb46a00ab95f3da9276ee554eec00bb2a05da7467961234ba3f9a630aafa7ceb5feb429a84ece8bf03b869fa996b86468f4716935a914c79a4 DIST argp-standalone-1.3.tar.gz 130255 BLAKE2B 0848a0e7a98cfa09de52fa152eb9a793a9bf25c1edfc7401851ef134b62c051ad6ef2134d6f528e167046be582be23f311e74614c5511d659060addc14de6b2f SHA512 58c3feb8852b90248fff39e49b5019bd0dcf646790c3eaf70c3262eb81dda31a61dc0a45963c7b4a010e80fc14b37288dcb3b3ef48d02f2d33dd72c1c62e62d9 -EBUILD argp-standalone-1.3-r2.ebuild 817 BLAKE2B 17091d6e15ab12c176d46c59231fffd524eb1d35f87637d941c76e2faa756304b5c7e54074943b2a48147952bd54e0c66b11e04ca36f49a1e5eca163a12ffe4b SHA512 a9f941d6e33206d050425c49683071a475db89edda137d293f71ccbc68aa204d17b6e9602a7031d3f1a4012f1d80ff253e1fbf106cbd1882604597a17d44c122 +EBUILD argp-standalone-1.3-r2.ebuild 812 BLAKE2B a7829fbc8a3f0df4419e1f51240972399e546ea0b4d8518c25b82d0c84c2d9ede6e2239890ea8aa0f9ae33c31a8ff3a095fd9574c663fb22d2f087b1f1d7f33b SHA512 3e3fef7bd309dab6edd38711fabbdc3fe93ad1d8c09b8276bbb76137e7e751a9a7347f25286ff7e26ddab034c78a15d57fc681c1ae464889c96e184a8e44def0 MISC metadata.xml 478 BLAKE2B 2efd4ceb79d98e1f267d1d72c7a21b86894a40fe8f29e0a81e39b063df1a00190cc8e6db442427113917f26b9a85e4f251231015057327aa7a5abcb26174fa1a SHA512 ee39a1ed0a46fcc737755bbe74f7390c9fe1606f8db738d7c9ebc9b99f43e162a7dc35c0c04dacbb967434eab186904cf67bbe773365a0457a7884157f332986 diff --git a/sys-libs/argp-standalone/argp-standalone-1.3-r2.ebuild b/sys-libs/argp-standalone/argp-standalone-1.3-r2.ebuild index e58529ad3df3..3ee5ef867208 100644 --- a/sys-libs/argp-standalone/argp-standalone-1.3-r2.ebuild +++ b/sys-libs/argp-standalone/argp-standalone-1.3-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ SRC_URI="http://www.lysator.liu.se/~nisse/misc/argp-standalone-1.3.tar.gz" LICENSE="public-domain GPL-2 GPL-3 XC" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~s390 ~sh x86" +KEYWORDS="amd64 arm arm64 ~m68k ~mips ~ppc ~s390 ~sh x86" IUSE="static-libs" DEPEND="!sys-libs/glibc" diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 1d4b4b79989f..173db0906f21 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -9,14 +9,16 @@ DIST binutils-2.29.1.tar.bz2 29123355 BLAKE2B 83de518a27bae0f13c57b1979493dd7f7c DIST binutils-2.30-patches-5.tar.xz 590864 BLAKE2B 71de4d08f92ab1898ad576a21763f955067cbbed543250888e0c5d51f4ef77d0d829049e9a835691cf2de03965fbcc9bcfa092eb304c03f9b885e7a3dadab286 SHA512 029b3be6ae9b8620f8580a35701bd4517b4e0232ff3cf9983b3808475c7443cbf500b6cace2c052df0bd1e47202838f4d2453238db28709a947117071d9ae804 DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f5916fb82ce95ceab424fd8dc19f6daa7ac32a149f222ccdcc603354165cc206fde070eaa44fe2cc5e57486efc7868 SHA512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 DIST binutils-2.31.1-patches-5.tar.xz 65896 BLAKE2B 7fb2c4c71336a77f3fef57a0430c511ef7326f8196d8f3a57a6d56aed464953172eeb0755f020387739cf27f709d0bc3de9c3c8b972a94f1480639465158e180 SHA512 c254f22b8ca662cf49cd5fc076d3e9b82d7f421420408c960c54310fc49462600325e7bc50f863cab7c8c49caebac3ac353dc24ab5947e8f01b98c11f43f57d2 +DIST binutils-2.31.1-patches-7.tar.xz 76828 BLAKE2B 354e7c3aa76c0cfe8fc6bb419a5b19294c0be09ebdff2fc4533dd16116fcd4f4a1b4c8db02233dabe33ca68347e0a30e542456988a4ead407edb47ed031e018c SHA512 c84ff9cd9f5b1e313e93d0f25bb4244950a73e0d97ec4dacb8763382219a08a01b16a8e93173032232ea4239098b29448331ed461f792e663e1117eb0811f85b DIST binutils-2.31.1.tar.xz 20467996 BLAKE2B 6b914df1fbb7cf54f2159f71b2c2b09f3f6a569b7a3cb4cf9790d0a3733a7548bc0ea32334a178ed3b56e8b97656ae99c7abaf212601beeaeae9a0884c0f6051 SHA512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30 -DIST binutils-2.32-patches-1.tar.xz 93252 BLAKE2B 80d229be60c3377fe52ff3e74ee911b5dcfb9456d3f42a57662fbda3184ac1c63e698e592f804ac05c459527d0cd4bae7d8c9ef8caef02fdf4f17aa783f4ff81 SHA512 69999f60d89589dcf9e3cb18e50f153ab4ce05bdf3f3758fa322b5c4cb468aeda46c416da540995ddff1ea5e96354c264fa5ff0156c53685816d35117eb481e0 +DIST binutils-2.32-patches-2.tar.xz 145672 BLAKE2B 8218e621f99cb4bcd1638c3011449b94480d207eaeb79cf75c0072e0f1a86bfd1603fc4515bc40d3ac1921a18b9a211b20568f59b11b13eb44e6cff1329c5af9 SHA512 55c25a603f6175af3ade6848e5c1faba06a147d72e9a4f53d44502d97db76499485a67b278a654d18884714a7bf7b360c77c9e42dba3cdc188f805bfe461f09f DIST binutils-2.32.tar.xz 20774880 BLAKE2B d1bdbd9c8487c091665c197974ce4bdf520b7a67ed6997a81b87e6a0af9514a091458244f583acec5ae580ac2ee5e908f67f483b8e5263cd18ced794cb235da6 SHA512 d326408f12a03d9a61a9de56584c2af12f81c2e50d2d7e835d51565df8314df01575724afa1e43bd0db45cfc9916b41519b67dfce03232aa4978704492a6994a EBUILD binutils-libs-2.25.1-r2.ebuild 2725 BLAKE2B a4fe58fe79272a65c7703b3be801bd8ef197119cbb06b964a107b80eb7c3f38a65e2bb5de69a12b1eb939e04334c7767898d9adf6b853f622dfbb843fc3b7039 SHA512 8c610d03d282e72507e055fac6a3edb9b0fea10dda1934099a7b9b6577d90ce808c803ffc3e6b7378071bfa6d3fd8e1d6919031448d0d12bf86bd37dcbe4e53e EBUILD binutils-libs-2.27.ebuild 2847 BLAKE2B 3d02dfccc46d3398646d338e01f096de36a74fdf6d224a8ae221120fe8105cc674ed09840b01d84994ff11c4f73c88b39737b3ff484d32dbfb1183f20eb3a1a4 SHA512 629aeca9ec392f957fbbe7f2a3d5564016d096b7cbe63ef9337351e599722bced4c3eb190d8dd0f091eb3ff816e839b03f7a7662f22f9e22b36ef3e8e5bb93ae EBUILD binutils-libs-2.28.1.ebuild 2872 BLAKE2B f0ef199dfc0025b06dbdab74f76f0a1775ca47030bd26cf2cf4ce4f6b7f3c5325d1629b3713aa40a1f85b9b0151555cf0a978c0390bef48846b3b1eb0c89b05d SHA512 b00d0080957824bf447035172b4941fecfd358f2cbbdeb82a578e11e0a8b4c712091344b904d8f74840164032d210834b30ed8a90ac3dddb47dc9632d66f8a9b EBUILD binutils-libs-2.29.1-r1.ebuild 2921 BLAKE2B f38060716462c9c51bc84b98348b82952b6bb47cd33136d7eaaca822ba6e40504fad2b0c778a4a02989ca9e20f812d928d718295376141dd02e519e541a605a3 SHA512 8fc849244e3cdb9b1a35e9bed1f2e57e8bba210e6ab9aa7408904b5a04cc532dfff52a9840e866df5985f6b1d05c96ce7549c7514389a8dae9a4d5d798d48c8e EBUILD binutils-libs-2.30-r4.ebuild 3594 BLAKE2B 60b602ed843164cceee4c490fba486e38b4fe8272ec94dafc652aa891a2a148f4e8f69d88c9fb6ca6fa154cd1365bf1473ea73ce2f9bab4d1a36d08259eb7f89 SHA512 fed6718f162b379e381900b1b4c7fcfa3bfe0710f8d489e3ba19ff1d3accb51dfde7d44df5c608d8c9cf6f5d5cc92e7e518b7719ccb832b89d285507507022ee -EBUILD binutils-libs-2.31.1-r4.ebuild 3584 BLAKE2B 3310d1b41e4bb7a64cfc2df1e8bbdd8ae728041a0f47a6121e7b7ecf87dd66eac37a2f51a2815f3667bcc2e46c7763ddb3a145aaa8e0a96b5f91dba903956eee SHA512 5e86fe083fbe086b3acfffb44e141fc9f78e2171b84c114be619e43531aeb832aaad976e7276bc0b2cd309f14dfc76c073e19cb7be436b3dc7fe4a27ba842371 -EBUILD binutils-libs-2.32.ebuild 3584 BLAKE2B a55f76a6133c38ffb220a9c938fbaf83647ffb3f5a4e46ea1b37ff69dc505f7d93beec5e278305571db2c1c8eb2eb74b55998fbaf79271cb4c0d3796231c5726 SHA512 b4a5bf245132c7366b38f8bb032398ba2d85ef45d64a8115ad5596cd9ba7b34855536e0f121ac392cb79e5cd66530884121d1ce0d3766fb2db98f9e11af99e21 +EBUILD binutils-libs-2.31.1-r4.ebuild 3574 BLAKE2B 1a4b424a28b2f261cd9365a8d66c431705eddab79ad9c471b29cecc1543de3237d64461b3de3913477c152c34fc789d9117bb26c357653085213d9f25b539cb7 SHA512 83c57811ee4fdce9ee92bafbbb945d5de3bd8fbf8e1cf31f7f94131e13d81dc43e2d410df2853dbbf0dcb8cbb117ab76b4c5deb7446886371733331cddb0696c +EBUILD binutils-libs-2.31.1-r6.ebuild 3585 BLAKE2B 5f2f5ac69b7dbaa0b71a81ec15109114019fda8f6e1b7ca1dfd1abd09def5ba68a66bd331aa4b2445869da9546b27d51f19e5d204572804066a69a13f2fb5aff SHA512 5d87f02bdea4d2ed7091e7be6607ee1ced4bd930902f56a50f22f9d9dcbb6f281b5aba31ae296171514456e262e6bb606495164b09bb10d69f19c44819e59389 +EBUILD binutils-libs-2.32-r1.ebuild 3587 BLAKE2B 34356e669cdc61639b4982f46a6097fa9a244cefb457d5c7b561e02bf120d47d089ea7a0cabb56c50408c1811278ab01de4979fb70c574865520bcea2fb19727 SHA512 cef837ca6003e18dce70963d43d270620dcb12a52229285d461c7eca7bdf19943c206fa925b01019601b39acd51f9bb7fd99a19ac79649cd774bc1ae1464eff7 MISC metadata.xml 524 BLAKE2B 6f00793b2dc155b19d816b8acfd49e6bfc2ae35418ecc97fbbd3f9d0ed08b5f95a299b28fe6edad1a66f4d64abe99dc8a62a974fd70e28b535cd366239bf1cca SHA512 9db7c7a3082ee848ec4963831da06cced596d543e53660747fb56ac33998c219e1d7252892ffc32132d7db3c99ce9746fb6d9e85f866c3cba97552c31948342c diff --git a/sys-libs/binutils-libs/binutils-libs-2.31.1-r4.ebuild b/sys-libs/binutils-libs/binutils-libs-2.31.1-r4.ebuild index 8de12b7f8387..f09ba566ec74 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.31.1-r4.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.31.1-r4.ebuild @@ -23,7 +23,7 @@ LICENSE="|| ( GPL-3 LGPL-3 )" # -r1 is a one-off subslot bump where SONAME changed for bug #666100 SLOT="0/${PV}-r1" IUSE="64-bit-bfd multitarget nls static-libs" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~amd64-fbsd ~x86-fbsd" COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" DEPEND="${COMMON_DEPEND} diff --git a/sys-libs/binutils-libs/binutils-libs-2.31.1-r6.ebuild b/sys-libs/binutils-libs/binutils-libs-2.31.1-r6.ebuild new file mode 100644 index 000000000000..2b958b998c76 --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.31.1-r6.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PATCH_VER=7 +PATCH_DEV=dilfridge + +inherit eutils libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-slyfox} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +# The shared lib SONAMEs use the ${PV} in them. +# -r1 is a one-off subslot bump where SONAME changed for bug #666100 +SLOT="0/${PV}-r1" +IUSE="64-bit-bfd multitarget nls static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" + +COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +DEPEND="${COMMON_DEPEND} + >=sys-apps/texinfo-4.7 + nls? ( sys-devel/gettext )" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${COMMON_DEPEND} + >=sys-devel/binutils-config-5 + nls? ( !=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" +} + +multilib_src_install() { + default + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild new file mode 100644 index 000000000000..a386ac24841e --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PATCH_VER=2 +PATCH_DEV=dilfridge + +inherit eutils libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-slyfox} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV}" +IUSE="64-bit-bfd multitarget nls static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" + +COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +DEPEND="${COMMON_DEPEND} + >=sys-apps/texinfo-4.7 + nls? ( sys-devel/gettext )" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${COMMON_DEPEND} + >=sys-devel/binutils-config-5 + nls? ( !=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" +} + +multilib_src_install() { + default + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sys-libs/binutils-libs/binutils-libs-2.32.ebuild b/sys-libs/binutils-libs/binutils-libs-2.32.ebuild deleted file mode 100644 index dcd0c1b37987..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.32.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PATCH_VER=1 -PATCH_DEV=slyfox - -inherit eutils libtool toolchain-funcs multilib-minimal - -MY_PN="binutils" -MY_P="${MY_PN}-${PV}" -PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} -PATCH_DEV=${PATCH_DEV:-slyfox} - -DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" -HOMEPAGE="https://sourceware.org/binutils/" -SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - -LICENSE="|| ( GPL-3 LGPL-3 )" -SLOT="0/${PV}" -IUSE="64-bit-bfd multitarget nls static-libs" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" - -COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" -DEPEND="${COMMON_DEPEND} - >=sys-apps/texinfo-4.7 - nls? ( sys-devel/gettext )" -# Need a newer binutils-config that'll reset include/lib symlinks for us. -RDEPEND="${COMMON_DEPEND} - >=sys-devel/binutils-config-5 - nls? ( !=2.24) make this an explicit option. #497268 - --enable-install-libiberty - --disable-werror - --with-bugurl="https://bugs.gentoo.org/" - --with-pkgversion="$(pkgversion)" - $(use_enable static-libs static) - # The binutils eclass enables this flag for all bi-arch builds, - # but other tools often don't care about that support. Put it - # beyond a flag if people really want it, but otherwise leave - # it disabled as it can slow things down on 32bit arches. #438522 - $(use_enable 64-bit-bfd) - # This only disables building in the zlib subdir. - # For binutils itself, it'll use the system version. #591516 - --without-zlib - --with-system-zlib - # We only care about the libs, so disable programs. #528088 - --disable-{binutils,etc,ld,gas,gold,gprof} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # We pull in all USE-flags that change ABI in an incompatible - # way. #666100 - # USE=multitarget change size of global arrays - # USE=64-bit-bfd changes data structures of exported API - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) - ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - use nls \ - && myconf+=( --without-included-gettext ) \ - || myconf+=( --disable-nls ) - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" -} - -multilib_src_install() { - default - # Provide libiberty.h directly. - dosym libiberty/libiberty.h /usr/include/libiberty.h -} - -multilib_src_install_all() { - use static-libs || find "${ED}"/usr -name '*.la' -delete -} diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 199b393f6368..34ea2de8b700 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,10 +1,11 @@ AUX 5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch 2336 BLAKE2B 501238f8bb3881b427ff4673933c4544596fcbd3e129876d17b8506498c0513aeec69acd2a38f1d009a7df9f8aecf3e10d88301281722f156a32f76fea131c53 SHA512 7b2b71bb5cb11d6f0d96d0f5f33f2f7da7b4c637e191248c83e27e536d277bb1dee92affa0ca2092c870648525ed7d7b97a29af71aef3631764f724b61118720 -AUX 7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch 2583 BLAKE2B be7e9a2cbab8b3bd110346f6c8bda30d104397601950c995b77388fcb91e53ca82f5d3574931c58244403eee698f01209ca9e704fd4c6b9b3ef08e68d41dbea7 SHA512 656a7bbdcf0f678814d0ad0ff56ce43b7fc48c7a549373a4ef77e74490437283c5834e86b1b4e8bcb85578953687d79474ef2bf494c7eed4cf7fa1f17003f385 -AUX 7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch 4161 BLAKE2B 3db2dcebf70ca3e7c399dfb22d8ae50d51863f7a8a15a10b0232f73d4fc2ee0b51ff67e8842b0e4d29dd41e60a326c90670f62a431ca593617f566e03bc7f90a SHA512 2f03f4d0232b600861de0c527d6bef26b0e3273865a7d7344e083a6a7de4033de6d30df3a6b22f4d23be74dfa8864ccaebd42c1f0d4474abc83a66f8997e19fb +AUX 7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch 2583 BLAKE2B be7e9a2cbab8b3bd110346f6c8bda30d104397601950c995b77388fcb91e53ca82f5d3574931c58244403eee698f01209ca9e704fd4c6b9b3ef08e68d41dbea7 SHA512 656a7bbdcf0f678814d0ad0ff56ce43b7fc48c7a549373a4ef77e74490437283c5834e86b1b4e8bcb85578953687d79474ef2bf494c7eed4cf7fa1f17003f385 +AUX 7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch 4161 BLAKE2B 3db2dcebf70ca3e7c399dfb22d8ae50d51863f7a8a15a10b0232f73d4fc2ee0b51ff67e8842b0e4d29dd41e60a326c90670f62a431ca593617f566e03bc7f90a SHA512 2f03f4d0232b600861de0c527d6bef26b0e3273865a7d7344e083a6a7de4033de6d30df3a6b22f4d23be74dfa8864ccaebd42c1f0d4474abc83a66f8997e19fb DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963 DIST compiler-rt-7.0.1.src.tar.xz 1864520 BLAKE2B 14f72aad4379387f4212fb5efef3456cb5e8a03c7a91f98de2368e9b5ff2d02aeaed05da4fba6978b9e4e8698eb34c9c0c4c2df8d43b8c11e8e9d65079c7fa41 SHA512 b94a2a1fb9a6d587cef59b04b951628747bb35bdbcb67de8825aad402a2ba875916a347eef7a9575ac27264e8372e2d67cd477fe2d750c0ed3ce7d67bbbc7dba +DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55 DIST compiler-rt-8.0.0.src.tar.xz 1903020 BLAKE2B dc42c4772132fee5e225bb94805cd6917214c1d830b8ba4f1c774e6e1726ec7846432d1d6881085676b6d094ec04060ec2a95749eb7d93be79268ee7de1bd828 SHA512 fe9f69fe2269fa3d560ae97fdacd462f855fb0b7a5f647f5b8595206ff7febca6496725adc953de411a827c761e2b3ca11a2149f25707d6c62af0722b68ba913 DIST compiler-rt-sanitizers-4.0.1-patchset.tar.xz 2384 BLAKE2B 6f9eee711c83570767f0bb634d0f91c18ee7f2af93a478938b8d5b6ce6f2c2fbaadb7bd5c7ee94a14dc1834359a046187db6bc7005b7c2efa539325dc0701ad9 SHA512 72d7357b4c27bbf8fa8b34803ddea905a9f1054e8fc7bf99a4ead9dc00408989ea2709f04be9cf45a27eeb4b9386c89feeb25b53a84f3cac9739196b89813887 DIST compiler-rt-sanitizers-6.0.1-patchset.tar.xz 8820 BLAKE2B d53ca357e060d058c7f20c51e74684f4c032fdf3ccec4c9f227dc7a5757206f331b9eda25a72c5c66faf4c44b2cc63eb439bd21bdd55d37a93918ab428fd7cd4 SHA512 782a34c56134bd061da30c1f598ddb9e90cb34a4e4ef058fa9634f6da372fd8693ff5e6cf98b59700942273240f83052b89ee2736b22f4e19bc8b519fbec8cad @@ -12,12 +13,13 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10 DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9 DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df +DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4942 BLAKE2B 384312216b7ec2d71928b22abbab61da0b6a09eca9c518b10a7be7416e12f53aa7160381eebb3c9ca070f5e432b10f7e248cd3380bd50a278758803c53c7cbfd SHA512 64142c2645ef2402f74ef4ee30ed5776f4629f1d0daa34683d50e3b45ce815682e00cb705a00014af524a25acd93fb41a7075f2402b3e73880823c258b01bb85 EBUILD compiler-rt-sanitizers-5.0.2.ebuild 5259 BLAKE2B d9fd342c98e1c7a9d124cd3149a4325625c8ab604cc9d3cbb01513b6ae2add2adbf246c616219f2fc0691d90aa26f5371e7cda8a18aec95243bd1d6ba7b25379 SHA512 8f82649dded359a5c6132b0b9cf211faefb3840850d71f43332cb8f1c250c830848aee7c5e7b1be2278f103420683b4e51bf493c563dead5a27781756a0c8015 EBUILD compiler-rt-sanitizers-6.0.1.ebuild 5453 BLAKE2B b643f95efc78b4aaa3ab4f05072397003d6e46793a763f91eb79f60c183d89e7265a53f6f96401dc87546bba5b8d21dd38dd0b8bceecdb652702685288465916 SHA512 c9b1dee74f1cbe7d6822589372389c2e3e6f3398211e26d83072dab290541797fa08c52c4c6ac581a59dac52fe5893a27812e5e46e175b9146f2c8348f170458 -EBUILD compiler-rt-sanitizers-7.0.1.ebuild 5410 BLAKE2B b93a8907f25f9a6864556787b0e0b86b2fad39c19136e93baa9d73df5b5001f9539c27b5227eb5ae40fd7c34ca343ed45de1c2cd71f1f9753953bff04ced8c5c SHA512 b70f6f3ad6764d9d6244ec51a07a1948864db899213d68947c904161312b4ea450c7eba8f2c1aa3f9b0ab25bb7a1ac3d5650551c37f48abf0bfafc232cc3a7ad -EBUILD compiler-rt-sanitizers-7.0.9999.ebuild 5335 BLAKE2B 2c1851ad178efe08bf96f342e1d2b02c269b395fd29a20532e54538060b09b6c9f7dda7a98f02bb50d309b57a69aff29ff06a5051a0aa28b24b40bba80cbf866 SHA512 7f3d61dfc5ac2087d6069d02cdd485367d0c8ec5b5e51384d1b1c6af4668548e5091ec05861569d4bbeb7bee149a5feb8621c8ba6370de5d250c59d37b8b81e5 +EBUILD compiler-rt-sanitizers-7.0.1.ebuild 5404 BLAKE2B 489ea30ac5898f61915cba9471a170753b2071ae3b1d545aefd186505e9aeaed243d5410349cd8d071b6b8223710f1277ca0d16ddeafb8564e16ce3cf502744b SHA512 f2b7b29894168e5ead5224e59e90d4ec6881ef13b638027f7faa8034579a2326cab8299af777c5c851c370a0a812d4007f8cd2b4c5cdfc1f03474a9dbe485ab1 +EBUILD compiler-rt-sanitizers-7.1.0.ebuild 5404 BLAKE2B 65f6ebfea540e9b1986c752804aef2ac1047bc09ce1c130f080ed5246d3e2a349337c42410d4ad167bdfdbf7ee64d48adcd9c2b332431f515b634deea27720b3 SHA512 f55ee76f83a1489648e325214c248d26834a7e95edbdf95fadbe54e7dac4efe8ede38661f205b4c74bb1ed3a8e737c29387b24daf3a545f05d5e108ca23a2dab EBUILD compiler-rt-sanitizers-8.0.0.ebuild 5137 BLAKE2B f155a3b8d1ea7c1ec3bd598784a0600c7c0050a7e25a17895d919a5d7d0b05b28548e42fce9ee66a7fbb9b328b5cc7f1a998cb110f1e20a1d0b55c564f33d91e SHA512 4ebfa01e7d110bee738b63c7b9129cfaff13aaa90e38f8e08bec256b7fa098eb79f8b92dacd21c0af3b717005207b0eb4c8c4ebec92da805b53c0052759f03e2 EBUILD compiler-rt-sanitizers-8.0.9999.ebuild 5081 BLAKE2B 69176c9ec0a06b4658811c52614ffe5198d42f831565d1dbdb4c13952a8e54c36537c434c80921779d50d74ef5e43891bf7475d3c18bf7c7b28a619a98cc0ae1 SHA512 61a03679952d056befaad253692635aadb1c8d4253f33d853d2ba85bea956348416eae9b120b545d7adfbedfaeb49d98fb0ddcbfaf68519cb02d2d5e7822c3ef EBUILD compiler-rt-sanitizers-9999.ebuild 5056 BLAKE2B ca4fe5a4e0c7312350bef6c59516a160e7d09b6a22e78271b4191cd2c333fad9acee63087a24ffaacdd8273d90f27a00c8fa88509c628d86f5dc17c7b33cfbe8 SHA512 052594371fe60aa93b71a848f9b964182fe631e96467958ee6897847f8684ae8d3297b88c05f6122f4d9975dee5ab5397cc5afa8d1158a885f7ce16af7a666a8 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.1.ebuild index de149ae7e0a9..4365238f16c2 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.1.ebuild @@ -78,8 +78,8 @@ src_prepare() { cmake-utils_src_prepare # apply the fixes for new glibc / split tirpc - eapply "${FILESDIR}/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" - eapply "${FILESDIR}/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch" + eapply "${FILESDIR}/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" + eapply "${FILESDIR}/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch" if use test; then # remove tests that are (still) broken by new glibc diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild deleted file mode 100644 index b15b2a7a43a2..000000000000 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.0.9999.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit check-reqs cmake-utils flag-o-matic git-r3 llvm \ - multiprocessing python-any-r1 - -DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" -HOMEPAGE="https://llvm.org/" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git - https://github.com/llvm-mirror/compiler-rt.git" -EGIT_BRANCH="release_70" - -LICENSE="|| ( UoI-NCSA MIT )" -# Note: this needs to be updated to match version of clang-9999 -SLOT="7.0.1" -KEYWORDS="" -IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc" -# FIXME: libfuzzer does not enable all its necessary dependencies -REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - clang? ( sys-devel/clang ) - elibc_glibc? ( net-libs/libtirpc ) - test? ( - !=dev-python/lit-5[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} - sys-libs/compiler-rt:${SLOT} ) - ${PYTHON_DEPS}" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -check_space() { - if use test; then - local CHECKREQS_DISK_BUILD=11G - check-reqs_pkg_pretend - fi -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space - llvm_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - if use test; then - # needed for patched gtest - git-r3_fetch "https://git.llvm.org/git/llvm.git - https://github.com/llvm-mirror/llvm.git" - fi - git-r3_fetch - - if use test; then - git-r3_checkout https://llvm.org/git/llvm.git \ - "${WORKDIR}"/llvm '' utils/unittest - fi - git-r3_checkout -} - -src_prepare() { - cmake-utils_src_prepare - - # apply the fixes for new glibc / split tirpc - eapply "${FILESDIR}/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" - eapply "${FILESDIR}/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch" - - if use test; then - # remove tests that are (still) broken by new glibc - # https://bugs.llvm.org/show_bug.cgi?id=36065 - if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then - rm test/lsan/TestCases/Linux/use_tls_dynamic.cc || die - rm test/msan/dtls_test.c || die - fi - fi -} - -src_configure() { - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/${P}_build - - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" - # use a build dir structure consistent with install - # this makes it possible to easily deploy test-friendly clang - -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - # built-ins installed by sys-libs/compiler-rt - -DCOMPILER_RT_BUILD_BUILTINS=OFF - -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) - -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) - -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize) - -DCOMPILER_RT_BUILD_XRAY=$(usex xray) - ) - if use test; then - mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - # they are created during src_test() - -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++" - ) - - # same flags are passed for build & tests, so we need to strip - # them down to a subset supported by clang - CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \ - CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \ - strip-unsupported-flags - fi - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # disable use of SDK for the system itself - -DDARWIN_macosx_CACHED_SYSROOT=/ - ) - fi - - cmake-utils_src_configure - - if use test; then - local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* ) - [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" - [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" - - # copy clang over since resource_dir is located relatively to binary - # therefore, we can put our new libraries in it - mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die - cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \ - "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die - cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ - "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die - cp "${sys_dir}"/*builtins*.a \ - "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die - # we also need LLVMgold.so for gold-based tests - if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then - ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \ - "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die - fi - fi -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - # disable sandbox to have it stop clobbering LD_PRELOAD - local -x SANDBOX_ON=0 - # wipe LD_PRELOAD to make ASAN happy - local -x LD_PRELOAD= - - cmake-utils_src_make check-all -} diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild new file mode 100644 index 000000000000..64095484294c --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit check-reqs cmake-utils flag-o-matic llvm \ + multiprocessing python-any-r1 + +MY_P=compiler-rt-${PV/_/}.src +LLVM_P=llvm-${PV/_/}.src + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz + test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="${PV%_*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc" +# FIXME: libfuzzer does not enable all its necessary dependencies +REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + !=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} + sys-libs/compiler-rt:${SLOT} ) + ${PYTHON_DEPS}" + +S=${WORKDIR}/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + einfo "Unpacking ${MY_P}.tar.xz ..." + tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + + if use test; then + einfo "Unpacking parts of ${LLVM_P}.tar.xz ..." + tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \ + "${LLVM_P}"/utils/{lit,unittest} || die + mv "${LLVM_P}" llvm || die + fi +} + +src_prepare() { + cmake-utils_src_prepare + + # apply the fixes for new glibc / split tirpc + eapply "${FILESDIR}/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" + eapply "${FILESDIR}/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch" + + if use test; then + # remove tests that are (still) broken by new glibc + # https://bugs.llvm.org/show_bug.cgi?id=36065 + if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then + rm test/lsan/TestCases/Linux/{fork_and_leak,use_tls_dynamic}.cc || die + rm test/msan/dtls_test.c || die + fi + fi +} + +src_configure() { + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # built-ins installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize) + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + ) + if use test; then + mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # disable use of SDK for the system itself + -DDARWIN_macosx_CACHED_SYSROOT=/ + ) + fi + + cmake-utils_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake-utils_src_make check-all +} diff --git a/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch deleted file mode 100644 index ca871c37b994..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,67 +0,0 @@ -From e198d21b9a5851dbc061f60911e3b3da910bca0a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Wed, 6 Jun 2018 12:16:38 +0200 -Subject: [PATCH 7/8] [sanitizer_common] Fix using libtirpc on Linux - -Fix using libtirpc on Linux by using pkg-config to detect it, and append -appropriate include directory. The libtirpc headers reference one -another via '#include ', so attempting to include it via -'#include ' just failed and resulted in RPC headers not being -detected at all. - -Additionally, perform the header check without -nodefaultlibs as that -apparently causes it to fail. ---- - lib/sanitizer_common/CMakeLists.txt | 11 ++++++++++- - .../sanitizer_platform_limits_posix.cc | 4 +--- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt -index e0226ae49..4071bc0e8 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -151,9 +151,18 @@ include_directories(..) - - set(SANITIZER_COMMON_DEFINITIONS) - -+include(FindPkgConfig) -+pkg_check_modules(TIRPC libtirpc) -+if (TIRPC_FOUND) -+ include_directories(${TIRPC_INCLUDE_DIRS}) -+ set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) -+endif() -+ - include(CheckIncludeFile) -+cmake_push_check_state() -+string(REPLACE "-nodefaultlibs" "" CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) - append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) --append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) -+cmake_pop_check_state() - - set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS}) - append_rtti_flag(OFF SANITIZER_CFLAGS) -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -index feb7bad6f..2e736ee26 100644 ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -146,8 +146,6 @@ typedef struct user_fpregs elf_fpregset_t; - #include - #if HAVE_RPC_XDR_H - # include --#elif HAVE_TIRPC_RPC_XDR_H --# include - #endif - #include - #include -@@ -1236,7 +1234,7 @@ CHECK_SIZE_AND_OFFSET(group, gr_passwd); - CHECK_SIZE_AND_OFFSET(group, gr_gid); - CHECK_SIZE_AND_OFFSET(group, gr_mem); - --#if HAVE_RPC_XDR_H || HAVE_TIRPC_RPC_XDR_H -+#if HAVE_RPC_XDR_H - CHECK_TYPE_SIZE(XDR); - CHECK_SIZE_AND_OFFSET(XDR, x_op); - CHECK_SIZE_AND_OFFSET(XDR, x_ops); --- -2.18.0 - diff --git a/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch deleted file mode 100644 index 880284775e22..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 4fc99ef388e2f110759dc774428fd194b65614c8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Wed, 6 Jun 2018 12:45:55 +0200 -Subject: [PATCH 8/8] [test] Support using libtirpc on Linux - -Add compiler flags necessary for using libtirpc on Linux (RPC headers -split out of glibc). The flags are obtained via pkg-config. This fixes -test failures due to tests being unable to find includes. ---- - cmake/base-config-ix.cmake | 4 ++++ - lib/sanitizer_common/CMakeLists.txt | 2 -- - test/msan/lit.cfg | 3 ++- - test/msan/lit.site.cfg.in | 1 + - test/tsan/lit.cfg | 3 ++- - test/tsan/lit.site.cfg.in | 1 + - 6 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index b208f0852..46b88f72b 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -8,6 +8,10 @@ include(CheckCXXSourceCompiles) - - check_include_file(unwind.h HAVE_UNWIND_H) - -+# used in sanitizer_common and tests -+include(FindPkgConfig) -+pkg_check_modules(TIRPC libtirpc) -+ - # Top level target used to build all compiler-rt libraries. - add_custom_target(compiler-rt ALL) - add_custom_target(install-compiler-rt) -diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt -index 4071bc0e8..08d1781a6 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -151,8 +151,6 @@ include_directories(..) - - set(SANITIZER_COMMON_DEFINITIONS) - --include(FindPkgConfig) --pkg_check_modules(TIRPC libtirpc) - if (TIRPC_FOUND) - include_directories(${TIRPC_INCLUDE_DIRS}) - set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) -diff --git a/test/msan/lit.cfg b/test/msan/lit.cfg -index cac260999..fe8525047 100644 ---- a/test/msan/lit.cfg -+++ b/test/msan/lit.cfg -@@ -14,7 +14,8 @@ clang_msan_cflags = (["-fsanitize=memory", - "-fno-omit-frame-pointer", - "-fno-optimize-sibling-calls"] + - [config.target_cflags] + -- config.debug_info_flags) -+ config.debug_info_flags + -+ [config.rpc_cflags]) - # Some Msan tests leverage backtrace() which requires libexecinfo on FreeBSD. - if config.host_os == 'FreeBSD': - clang_msan_cflags += ["-lexecinfo"] -diff --git a/test/msan/lit.site.cfg.in b/test/msan/lit.site.cfg.in -index f744d71fd..35634d324 100644 ---- a/test/msan/lit.site.cfg.in -+++ b/test/msan/lit.site.cfg.in -@@ -6,6 +6,7 @@ config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@" - config.target_arch = "@MSAN_TEST_TARGET_ARCH@" - config.use_lld = @MSAN_TEST_USE_LLD@ - config.use_thinlto = @MSAN_TEST_USE_THINLTO@ -+config.rpc_cflags = "@TIRPC_CFLAGS@" - - # Load common config for all compiler-rt lit tests. - lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") -diff --git a/test/tsan/lit.cfg b/test/tsan/lit.cfg -index fdbafefbc..82fd2f79d 100644 ---- a/test/tsan/lit.cfg -+++ b/test/tsan/lit.cfg -@@ -49,7 +49,8 @@ clang_tsan_cflags = (["-fsanitize=thread", - [config.target_cflags] + - config.debug_info_flags + - extra_cflags + -- ["-I%s" % tsan_incdir]) -+ ["-I%s" % tsan_incdir] + -+ [config.rpc_cflags]) - clang_tsan_cxxflags = config.cxx_mode_flags + clang_tsan_cflags + ["-std=c++11"] + ["-I%s" % tsan_incdir] - # Add additional flags if we're using instrumented libc++. - # Instrumented libcxx currently not supported on Darwin. -diff --git a/test/tsan/lit.site.cfg.in b/test/tsan/lit.site.cfg.in -index a215e664a..142d61bf2 100644 ---- a/test/tsan/lit.site.cfg.in -+++ b/test/tsan/lit.site.cfg.in -@@ -7,6 +7,7 @@ config.ios = @TSAN_TEST_IOS_PYBOOL@ - config.iossim = @TSAN_TEST_IOSSIM_PYBOOL@ - config.target_cflags = "@TSAN_TEST_TARGET_CFLAGS@" - config.target_arch = "@TSAN_TEST_TARGET_ARCH@" -+config.rpc_cflags = "@TIRPC_CFLAGS@" - - # Load common config for all compiler-rt lit tests. - lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") --- -2.18.0 - diff --git a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch new file mode 100644 index 000000000000..ca871c37b994 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch @@ -0,0 +1,67 @@ +From e198d21b9a5851dbc061f60911e3b3da910bca0a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Wed, 6 Jun 2018 12:16:38 +0200 +Subject: [PATCH 7/8] [sanitizer_common] Fix using libtirpc on Linux + +Fix using libtirpc on Linux by using pkg-config to detect it, and append +appropriate include directory. The libtirpc headers reference one +another via '#include ', so attempting to include it via +'#include ' just failed and resulted in RPC headers not being +detected at all. + +Additionally, perform the header check without -nodefaultlibs as that +apparently causes it to fail. +--- + lib/sanitizer_common/CMakeLists.txt | 11 ++++++++++- + .../sanitizer_platform_limits_posix.cc | 4 +--- + 2 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt +index e0226ae49..4071bc0e8 100644 +--- a/lib/sanitizer_common/CMakeLists.txt ++++ b/lib/sanitizer_common/CMakeLists.txt +@@ -151,9 +151,18 @@ include_directories(..) + + set(SANITIZER_COMMON_DEFINITIONS) + ++include(FindPkgConfig) ++pkg_check_modules(TIRPC libtirpc) ++if (TIRPC_FOUND) ++ include_directories(${TIRPC_INCLUDE_DIRS}) ++ set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) ++endif() ++ + include(CheckIncludeFile) ++cmake_push_check_state() ++string(REPLACE "-nodefaultlibs" "" CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) + append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) +-append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) ++cmake_pop_check_state() + + set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS}) + append_rtti_flag(OFF SANITIZER_CFLAGS) +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index feb7bad6f..2e736ee26 100644 +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -146,8 +146,6 @@ typedef struct user_fpregs elf_fpregset_t; + #include + #if HAVE_RPC_XDR_H + # include +-#elif HAVE_TIRPC_RPC_XDR_H +-# include + #endif + #include + #include +@@ -1236,7 +1234,7 @@ CHECK_SIZE_AND_OFFSET(group, gr_passwd); + CHECK_SIZE_AND_OFFSET(group, gr_gid); + CHECK_SIZE_AND_OFFSET(group, gr_mem); + +-#if HAVE_RPC_XDR_H || HAVE_TIRPC_RPC_XDR_H ++#if HAVE_RPC_XDR_H + CHECK_TYPE_SIZE(XDR); + CHECK_SIZE_AND_OFFSET(XDR, x_op); + CHECK_SIZE_AND_OFFSET(XDR, x_ops); +-- +2.18.0 + diff --git a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch new file mode 100644 index 000000000000..880284775e22 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch @@ -0,0 +1,100 @@ +From 4fc99ef388e2f110759dc774428fd194b65614c8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Wed, 6 Jun 2018 12:45:55 +0200 +Subject: [PATCH 8/8] [test] Support using libtirpc on Linux + +Add compiler flags necessary for using libtirpc on Linux (RPC headers +split out of glibc). The flags are obtained via pkg-config. This fixes +test failures due to tests being unable to find includes. +--- + cmake/base-config-ix.cmake | 4 ++++ + lib/sanitizer_common/CMakeLists.txt | 2 -- + test/msan/lit.cfg | 3 ++- + test/msan/lit.site.cfg.in | 1 + + test/tsan/lit.cfg | 3 ++- + test/tsan/lit.site.cfg.in | 1 + + 6 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake +index b208f0852..46b88f72b 100644 +--- a/cmake/base-config-ix.cmake ++++ b/cmake/base-config-ix.cmake +@@ -8,6 +8,10 @@ include(CheckCXXSourceCompiles) + + check_include_file(unwind.h HAVE_UNWIND_H) + ++# used in sanitizer_common and tests ++include(FindPkgConfig) ++pkg_check_modules(TIRPC libtirpc) ++ + # Top level target used to build all compiler-rt libraries. + add_custom_target(compiler-rt ALL) + add_custom_target(install-compiler-rt) +diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt +index 4071bc0e8..08d1781a6 100644 +--- a/lib/sanitizer_common/CMakeLists.txt ++++ b/lib/sanitizer_common/CMakeLists.txt +@@ -151,8 +151,6 @@ include_directories(..) + + set(SANITIZER_COMMON_DEFINITIONS) + +-include(FindPkgConfig) +-pkg_check_modules(TIRPC libtirpc) + if (TIRPC_FOUND) + include_directories(${TIRPC_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) +diff --git a/test/msan/lit.cfg b/test/msan/lit.cfg +index cac260999..fe8525047 100644 +--- a/test/msan/lit.cfg ++++ b/test/msan/lit.cfg +@@ -14,7 +14,8 @@ clang_msan_cflags = (["-fsanitize=memory", + "-fno-omit-frame-pointer", + "-fno-optimize-sibling-calls"] + + [config.target_cflags] + +- config.debug_info_flags) ++ config.debug_info_flags + ++ [config.rpc_cflags]) + # Some Msan tests leverage backtrace() which requires libexecinfo on FreeBSD. + if config.host_os == 'FreeBSD': + clang_msan_cflags += ["-lexecinfo"] +diff --git a/test/msan/lit.site.cfg.in b/test/msan/lit.site.cfg.in +index f744d71fd..35634d324 100644 +--- a/test/msan/lit.site.cfg.in ++++ b/test/msan/lit.site.cfg.in +@@ -6,6 +6,7 @@ config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@" + config.target_arch = "@MSAN_TEST_TARGET_ARCH@" + config.use_lld = @MSAN_TEST_USE_LLD@ + config.use_thinlto = @MSAN_TEST_USE_THINLTO@ ++config.rpc_cflags = "@TIRPC_CFLAGS@" + + # Load common config for all compiler-rt lit tests. + lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") +diff --git a/test/tsan/lit.cfg b/test/tsan/lit.cfg +index fdbafefbc..82fd2f79d 100644 +--- a/test/tsan/lit.cfg ++++ b/test/tsan/lit.cfg +@@ -49,7 +49,8 @@ clang_tsan_cflags = (["-fsanitize=thread", + [config.target_cflags] + + config.debug_info_flags + + extra_cflags + +- ["-I%s" % tsan_incdir]) ++ ["-I%s" % tsan_incdir] + ++ [config.rpc_cflags]) + clang_tsan_cxxflags = config.cxx_mode_flags + clang_tsan_cflags + ["-std=c++11"] + ["-I%s" % tsan_incdir] + # Add additional flags if we're using instrumented libc++. + # Instrumented libcxx currently not supported on Darwin. +diff --git a/test/tsan/lit.site.cfg.in b/test/tsan/lit.site.cfg.in +index a215e664a..142d61bf2 100644 +--- a/test/tsan/lit.site.cfg.in ++++ b/test/tsan/lit.site.cfg.in +@@ -7,6 +7,7 @@ config.ios = @TSAN_TEST_IOS_PYBOOL@ + config.iossim = @TSAN_TEST_IOSSIM_PYBOOL@ + config.target_cflags = "@TSAN_TEST_TARGET_CFLAGS@" + config.target_arch = "@TSAN_TEST_TARGET_ARCH@" ++config.rpc_cflags = "@TIRPC_CFLAGS@" + + # Load common config for all compiler-rt lit tests. + lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") +-- +2.18.0 + diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index e5a46ac4579f..e2121f23c29f 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -2,12 +2,13 @@ DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b0 DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963 DIST compiler-rt-7.0.1.src.tar.xz 1864520 BLAKE2B 14f72aad4379387f4212fb5efef3456cb5e8a03c7a91f98de2368e9b5ff2d02aeaed05da4fba6978b9e4e8698eb34c9c0c4c2df8d43b8c11e8e9d65079c7fa41 SHA512 b94a2a1fb9a6d587cef59b04b951628747bb35bdbcb67de8825aad402a2ba875916a347eef7a9575ac27264e8372e2d67cd477fe2d750c0ed3ce7d67bbbc7dba +DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55 DIST compiler-rt-8.0.0.src.tar.xz 1903020 BLAKE2B dc42c4772132fee5e225bb94805cd6917214c1d830b8ba4f1c774e6e1726ec7846432d1d6881085676b6d094ec04060ec2a95749eb7d93be79268ee7de1bd828 SHA512 fe9f69fe2269fa3d560ae97fdacd462f855fb0b7a5f647f5b8595206ff7febca6496725adc953de411a827c761e2b3ca11a2149f25707d6c62af0722b68ba913 EBUILD compiler-rt-4.0.1.ebuild 4144 BLAKE2B a89fa2681b1254b285aeab803103860efddb6990b33bbe725fe52f7ebba5652f4ba9ecebbced1f63adc84dac4dc7dd26b10a6e7863169bc08f8e95cc2ba868fa SHA512 f14a4a61cc42a37d62e6662aeb95c8d2c3534b0ffbee57cf788ce1df62ab1387af76e90a2d79708c50b8b70d073b00298b0d31c71e8d69e11f2e9204dcbaca4e EBUILD compiler-rt-5.0.2.ebuild 2840 BLAKE2B 4c6e6ca121bad66f69f272a1ddc8a5153196c8f2608da08b5326e264842fe60ae8a4cb1aa98e2907b141068e5af997fe81ae13708dfd148f8676bebf18b894d2 SHA512 3fcea6a7045c1dc666ad6cd9c575b1ba931719bf31457f7493bb7b9c7950bca8e1c5eb8ce4342c1098250d0c126e85ba86b56724b17a3f6bb43c2846fb765a1f EBUILD compiler-rt-6.0.1.ebuild 2911 BLAKE2B 9ee423b460c62366af5525ab3b32cd2980aff78331a65b5658a50e0f808c9cb694d2e5d85bd753d291e1b5f96ab9e6cbc6a6d9f0cddcd9f7f8521ed5280f8291 SHA512 ecce0303d9db8ec0c74b3d0b248547402c32b7bceef52a5bb999f076c8fa82e209d5d113e6c14a1511e99dbf04bfd4d79077da1c010d9069a1bd284a168b26e0 EBUILD compiler-rt-7.0.1.ebuild 2916 BLAKE2B 2ee4babc2459a1073c19b43831c1d51ed9a3a40a7a543c992999e9f9475bf20710e17eee8d860af65806038e93151b8449bffeb7352d2266e04728ab1fafaa2c SHA512 7d4ad62cc476d53c6bb0a6282e03b1809119cb0466e468095398151efa9097d177365abe51c454a5039e5c5550935b7ce8b745458e8d88e849760db936d36e2b -EBUILD compiler-rt-7.0.9999.ebuild 2949 BLAKE2B a5c0f6cf82f2bfcf79d0982f9f05a4c93931c5f4fcb05b0eab1a97d87ad542755dd7f56f5b327440cd9cef4926ef17dc0932fcc32e60a83a1634ac3622f64de2 SHA512 acf6fa98a75065222b89a1da36ffc1752ab920ddf521a9bdf55a4407c6d65e141c6c30117748c6e0ba41aa6f39df8a301d575aac455f6179695c4c9ef889ff3f +EBUILD compiler-rt-7.1.0.ebuild 2916 BLAKE2B cb63ba2b0e7a3f913fe58f2e53fb5deaa827c0fa7b10a89891a7da7fcf658fb6d9ab0fd50e501d35a788c9f53b3c267c85a03dbbb9722f4a3294aec4a1c0e4b8 SHA512 d11deefc294f5d99e4b92384a154dfebcb9ab5a7549aaefefbe791bf5cc319c1ea547eb076bb416702d8812d967e4721f7d51f18ec9d741a0347cd79b8172ad1 EBUILD compiler-rt-8.0.0.ebuild 2916 BLAKE2B cb63ba2b0e7a3f913fe58f2e53fb5deaa827c0fa7b10a89891a7da7fcf658fb6d9ab0fd50e501d35a788c9f53b3c267c85a03dbbb9722f4a3294aec4a1c0e4b8 SHA512 d11deefc294f5d99e4b92384a154dfebcb9ab5a7549aaefefbe791bf5cc319c1ea547eb076bb416702d8812d967e4721f7d51f18ec9d741a0347cd79b8172ad1 EBUILD compiler-rt-8.0.9999.ebuild 2946 BLAKE2B 3de0bf13d36b5918e8664bdcfe40e7b1f2f875f526bbaac36f5f1421f045cdff1d01bdcfabccfccb8f665aa068ad92eaa1b9ba800d688d3b8cb0bf306658f8a3 SHA512 af1b450b9bc9ae0e848c28fca2ee61365cb3613cfcb4eab2432121f54a7c5f4108dab5bfea7e84004039a487911dc6e67b1aedb0948fed7d27bb42dca4934b88 EBUILD compiler-rt-9999.ebuild 2921 BLAKE2B ab782d0000a7bbcfd022ea522694f6cab46320ebc1f64fd028990dce3fc6ba54efb816d2023118b730d84e1b6ec3ba44fafdf0410157d088e966e01125ba63b3 SHA512 32e3c1355f663c8301b5d9f9f2616f0679a3b7eb51f763973d1d4c62d2adecba0ea20b01608d34820dd2a2ba490acef85e2b6e50af3169c992ffbc3c315d7170 diff --git a/sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild deleted file mode 100644 index afb8bcf007a6..000000000000 --- a/sys-libs/compiler-rt/compiler-rt-7.0.9999.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-utils flag-o-matic git-r3 llvm multiprocessing \ - python-any-r1 toolchain-funcs - -DESCRIPTION="Compiler runtime library for clang (built-in part)" -HOMEPAGE="https://llvm.org/" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git - https://github.com/llvm-mirror/compiler-rt.git" -EGIT_BRANCH="release_70" - -LICENSE="|| ( UoI-NCSA MIT )" -# Note: this needs to be updated to match version of clang-9999 -SLOT="7.0.1" -KEYWORDS="" -IUSE="+clang test" -RESTRICT="!test? ( test ) !clang? ( test )" - -CLANG_SLOT=${SLOT%%.*} -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - clang? ( sys-devel/clang ) - test? ( - $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} ) - ${PYTHON_DEPS}" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -pkg_pretend() { - if ! use clang && ! tc-is-clang; then - ewarn "Building using a compiler other than clang may result in broken atomics" - ewarn "library. Enable USE=clang unless you have a very good reason not to." - fi -} - -pkg_setup() { - llvm_pkg_setup - python-any-r1_pkg_setup -} - -test_compiler() { - $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ - <<<'int main() { return 0; }' &>/dev/null -} - -src_configure() { - # pre-set since we need to pass it to cmake - BUILD_DIR=${WORKDIR}/${P}_build - - local nolib_flags=( -nodefaultlibs -lc ) - if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ - # ensure we can use clang before installing compiler-rt - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - strip-unsupported-flags - elif ! test_compiler; then - if test_compiler "${nolib_flags[@]}"; then - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" - fi - fi - - local mycmakeargs=( - -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" - - -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) - -DCOMPILER_RT_BUILD_LIBFUZZER=OFF - -DCOMPILER_RT_BUILD_PROFILE=OFF - -DCOMPILER_RT_BUILD_SANITIZERS=OFF - -DCOMPILER_RT_BUILD_XRAY=OFF - ) - - if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then - mycmakeargs+=( - # disable use of SDK for the system itself - -DDARWIN_macosx_CACHED_SYSROOT=/ - ) - fi - - if use test; then - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++" - ) - fi - - cmake-utils_src_configure -} - -src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - - cmake-utils_src_make check-builtins -} diff --git a/sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild b/sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild new file mode 100644 index 000000000000..6f7b07f58986 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils flag-o-matic llvm multiprocessing \ + python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="${PV%_*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} ) + ${PYTHON_DEPS}" + +S=${WORKDIR}/${P/_/}.src + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + llvm_pkg_setup + python-any-r1_pkg_setup +} + +test_compiler() { + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + local nolib_flags=( -nodefaultlibs -lc ) + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + # ensure we can use clang before installing compiler-rt + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + strip-unsupported-flags + elif ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + ) + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # disable use of SDK for the system itself + -DDARWIN_macosx_CACHED_SYSROOT=/ + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++" + ) + fi + + cmake-utils_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake-utils_src_make check-builtins +} diff --git a/sys-libs/cracklib/Manifest b/sys-libs/cracklib/Manifest index a5bcf70b0037..213bda13b3c8 100644 --- a/sys-libs/cracklib/Manifest +++ b/sys-libs/cracklib/Manifest @@ -2,6 +2,6 @@ AUX cracklib-2.9.6-CVE-2016-6318.patch 3288 BLAKE2B ed213c5d5228ded6ceed088bed2b AUX cracklib-2.9.6-fix-long-word-bufferoverflow.patch 1614 BLAKE2B 01add5ae4241f0200e8b3e35c376f176c137c8ab9a75e4364e4fd285ac85d1b2e59327eb34bb21f29e0b638199cf4f9c9603b8e747d52e62978fd392b13ce89d SHA512 e4a2f9f467d3f0ce8acd4c9ea6ca19787dca6bd2bfaa80ddbf9ec1214a5e2b519c088b07760349adac9bd6805a4b512c015181863d679643cc12c68104c29a6d DIST cracklib-2.9.6.tar.gz 642402 BLAKE2B 4d7a0d12d1e7101c82d03f76e073407481078747c283fe3251f947542017fff03fbc5e98505c6a7a8987a2bbcea99dab558c15b1eb8fd16755859ce5a4440ed2 SHA512 2b09672e5b412d670e7ed911ebf0c0023fe2901ea05c9c02eefb7a58a13cddbc27a65d75bb20be9f8cebf4c90a9a56dfe1a3b656dff62b1d6048f5376e671786 DIST cracklib-2.9.7.tar.bz2 603630 BLAKE2B 81a45b2fb9f34da84d4fb864e1a9f67a4b22c246f1e4db1c599a555f79d560a04d95afb01a89cd3a2e0936f0e8fc51ff5ada26098c24d7af0777a94f51b82bbd SHA512 f6bf65ac092ba46ff78ddbc115692260fb76dc71219cd679d2ea935ebfb9e709fbb30259a7406743ed00dbdc415335b3ac9d9fcba1d204ea36d5eb96bf1333a2 -EBUILD cracklib-2.9.6-r2.ebuild 2810 BLAKE2B f32fa0a1d090544507ddb38a7dcce74a57b11bc93d2cef7abb04ef4f2d29b7461d50808cd83a59ae81fd4b4e975c99a3abddd35ae41ac421f39c8a33be81a7cc SHA512 6835917366c92d1ecd06462707f5b3f0823f63277b9b34ad716bdbcc1a732c6a60dd6a83aef364e34611ed4d30d41daa9a824b972eba94e06ac5ef9ad3297b5a -EBUILD cracklib-2.9.7.ebuild 2538 BLAKE2B ee1afb247140a40459b107ad50a0b715e9317153759af0a27357a58cd6e039a6e75c5c0472f5474250dca78a0776f1f27f02a2ed17bb050c771dfacd96c42b6c SHA512 567955b65f21dadedda7527db6a997da808989aa68438a8e81afa00c16044b391d8958b573b291915d2c2dc155836f0712397e878d089f7783e80eed5f99fbc6 +EBUILD cracklib-2.9.6-r2.ebuild 2806 BLAKE2B 8dbd569ffc8931ef421d7c01bc2714dad3e5b90f5be132755fd807af8f9dcd0f655e9b59af459ebecfeb3ed3ead1b545efc682c9a8f57f01cdd4996026ae2e82 SHA512 19a32aaede33289b5a86155f0b3957c23481917ff2c24ea2a68dc5f6295991baa4d6a389fc28818c26a5a8fecfd460e14ac8d44d8ea13cb6f5b0b3b8ee3dd542 +EBUILD cracklib-2.9.7.ebuild 2536 BLAKE2B 1893088b8b114b722e89c1592ee36b7900eb803dff6c9d28080093cb962a1c6fd5ca4a8d919d42f7e7c90b32fe994ebc18a478ef975ecba8afbb5f65f271494d SHA512 e7e0cb076ad073448043bac6387ec0fde2aa78391af524cc69b3d17f5e8c204d3c56814dbf755145bcf2e1c18784b88846005b8354a79eb7215ec4f4f38c1c98 MISC metadata.xml 384 BLAKE2B 68827917aeea5af1cc1b3c9badfc420c3e9652f3c79fa22b925f4e317c722bf43420c5cb7e4060ed63d5b5319aad1d4cbe3b09f47422a1be06d07c598ea1cff5 SHA512 773287176f56f1a0f11edc6cd1ca85453f998ad8e58b1e608562335f814aab18124bfb850063dd4fa35aba525b776bf2c202d8afa6d4b51e354276678f324bd1 diff --git a/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild b/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild index 34d81481f3b1..6e376b8e318d 100644 --- a/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild +++ b/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) DISTUTILS_OPTIONAL=1 inherit distutils-r1 libtool multilib-minimal toolchain-funcs diff --git a/sys-libs/cracklib/cracklib-2.9.7.ebuild b/sys-libs/cracklib/cracklib-2.9.7.ebuild index d436f1694d5f..391b1994a7b1 100644 --- a/sys-libs/cracklib/cracklib-2.9.7.ebuild +++ b/sys-libs/cracklib/cracklib-2.9.7.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) DISTUTILS_OPTIONAL=1 inherit distutils-r1 libtool multilib-minimal toolchain-funcs diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest index 844749599a98..272b3fa0a28e 100644 --- a/sys-libs/db/Manifest +++ b/sys-libs/db/Manifest @@ -41,9 +41,10 @@ DIST db-4.8.30.tar.gz 22887305 BLAKE2B 10487580a371fa97ef5e468e1fcc4af68490934a8 DIST db-5.1.29.tar.gz 32188074 BLAKE2B 6af9e6afc0ebd06a43c0e96fd0b2b3c8e17476507996605aea0c1519b9120140ff410829118a59ea8eff1ab220762131cfab8cf574ffddfa6348128a57721b37 SHA512 b3487161cc09dd0aee6117d685d0bc0a58854cf5e96f9e778969a51d3a61b66f8e007b76e584e4ef73f84e07d4418b89c2f6697e34c1ad4072609b11b7b4c5b0 DIST db-5.3.28.tar.gz 35090431 BLAKE2B 5b77a4ec0945fa96ce6c2b452fb4b029295e037fa64d5ff8dcb3b5e01ee3501fd75d9a73b8f5fa54d8907717d93546fbb5348ee70119e877fa2f17d301ecf50d SHA512 e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090 DIST db-6.0.35.tar.gz 36532251 BLAKE2B 22fbe557ccc13e4b936db8ca7d6ba11ce42e477bbf39f7e472067e06fb5910b1147fa58a44ac944c24a51ea839f1c61edda6bd8f3c450acac0c13d7fdba11e89 SHA512 002db1553def44efa715095b04b2bac2de7450cdc7142586d1d8b5d8ce79ee5e98f824b3bd276cd586ca932dc51ed35a9ffbed95b2b9847264f262cfa092479d -DIST db-6.1.29.tar.gz 37521943 BLAKE2B 3f036647337a36cb5f8cf5cc8774bd49d4cdff2d57750f21488183de67e426ab0863ee97d972751adc10b294f6c23e1e5e3f2c7b3fc02616463f971b10f3b15e SHA512 ced40e357acd1214f8b5800ddcf084c65c0ab77ca045a4504ac1a4c864035bd50aa8993cd1232174ff81071a36806314807330aa53dcb18de548c886c2a99e73 DIST db-6.1.36.tar.gz 37526795 BLAKE2B 9334dc66501465acf99f2675dc838a979c03a29b526b1d22fc9f811c6e76c5ecab4fafad4aa7efbc658c0bc64218f22ac4189c34bce866b0a4ffa052525607a6 SHA512 5f63eaaf75cad12c2a9b9f960bf39cb4ba6f8636609472f5909e38dccb65322a20104f0a8641b968c195c1b9a3ac5456c8bdaf3253995c9a4ace222a2e0d6811 +DIST db-6.1.38.tar.gz 37644337 BLAKE2B 32b3f65bef04bb18e45c3c0c9110d5d0bf58f4761bee5bf07949e192f4b9f5fa28117b1696c17863da0affe408bd6c81eeee32c472c46d31c17693519959ff03 SHA512 5760d1e441bea11c371825ac47203b1eb9f188f9cb2ea0e3d547b3d3b15620d27cb0b3333d617eb7b89c53407fb7ed79cad27477d714b5b797869f8bf4b1808b DIST db-6.2.32.tar.gz 45342417 BLAKE2B d3254fba1300d6c7dda5d872c5fa349e8704d71be9c4d37ccf3357782adeb879ce30e066cf083bd97554405c2e94071a96cee16090ad9f797a4fa657ff7e8c46 SHA512 83bdbf18a7b9782409cf4563f8d5f11322d5e564a39946c890604a60440a6ea6361e0236bbc30bd4e8e1de1fa9196b8e815fd126baa035f55c5826c2c6aa3401 +DIST db-6.2.38.tar.gz 41298311 BLAKE2B a04a3344058b1d9982f39628c1114aded8f8c860753853c8b487e9ea14bd69a0391301620396d22204b3c8f25945c3f5485ea4792567e2d903a657541204d297 SHA512 b357932e4a5856b9cf8cf42050a307977eee8483d24a32ad938611545178fb1e6be597c1542a11466b1fb31ef4ef47b519deea1c5310a6460495281539083a19 DIST db.1.85.tar.gz 270953 BLAKE2B 7862979b6fe21a67eac7eb5e0d05093f33fa71fa92f9717a65bd39b366727e6928109c821b86ede85d6d2a8013199f3927e760bed19001a5cfd2270819a3b904 SHA512 03bf3a2b0947efdca4e38719542e96378b5eeb57da64d5030dd23ab710773c1826f1c867032d0bea658b7fdd8272db253e97bbc490d198b9437025ffdf9e880e DIST patch.3.2.9.1 2139 BLAKE2B 7c442311499244d3432a1648294f3b610da827f7d940777de01f98816d6dc8bc50b68cb45900bcc1acf1672207a86009dbc33b6226f8a4fcbefc1bee51961138 SHA512 f410c43ea4af28a39d8ea47f774d38b53bf1183a34abfcf1f27e253eb61b42f4b5e9f0a3a500e174eb796ea342e6dd50a8bb95ff3eb8ee188461489cc994b8f9 DIST patch.3.2.9.2 495 BLAKE2B a29338b8fd1cdd75833fd4dabcca17106a75e4cc49e7f5198ac723422e0b0ed553969109293d5e83517f2e5bf6478ddcc7e0cdf371e721fb3784dc7d8165e4b6 SHA512 cc75fef11a641d480beaa2b62201177c72d10c4eb20376b5f15769db6e9e1a0da41c0365d79772af19b4cacdaa9f91dad049c735de9f95b98dcfc4f0b611b557 @@ -83,7 +84,8 @@ EBUILD db-5.3.28-r2.ebuild 6808 BLAKE2B 77c145773b1497bc59edc6aad63047f70ea98726 EBUILD db-5.3.28-r3.ebuild 6914 BLAKE2B e7ef8755621376253f4009eb38fc7b8021702f0d356c825b4e6c50112434c733dccc7b028409e361300d1d6c35743dacf87ea9a828d12c974c35ad8b5c46fb79 SHA512 529c7710722df83879cedad52ae0f20c58575e2a2e03943cafcf7813c3e80b5b9b8da97ae4345e0fb6e6262a9f5dea8c65b715a4745525b015fa0c1a0a03a992 EBUILD db-6.0.35-r1.ebuild 6919 BLAKE2B aee72ced7f38b0f2da59ab92a506ac99505b2ee2f88e9fda5f07392d3c7b87b0623c016e26e4d299a70c286890464edad1b7a9db6669df3e5b4d083727eff0f4 SHA512 259bdcab39f5bfaf74f8b9fba6edfe20433003398b2ba2b347dd4d1bd20fbbb242413b15236f5a0f75c7bc00a8875974d49a08ddec15811b19f89ea81dab381d EBUILD db-6.0.35.ebuild 6823 BLAKE2B 73dbef05a3b91c77cecf49de9221c60270b1bfb21c0088130b60c639acaaece2b8610a1da27a1f2ea529ecf61889573cb41ca8f7dffa14571627011e660ebd13 SHA512 2ade05fa85cd41c48d885a817e17b3c7adcc2b586c0dd92c10a340eb5304f59762562009613fce72ccdbfed9813206216cc08319362c01d4aa4dcb5a92eb7220 -EBUILD db-6.1.29-r1.ebuild 6919 BLAKE2B bb82b012927ab0e9503ef52deedf980044be143086296f54d5cadd43ec294f3e15dd42d731c5c3e9f112a4d2a022803bd264b379c28bb7ed832aaa80cf25cf45 SHA512 5613105b8e6a0e89a6bc26e249d4f6e31b0a281b1f8296c4e75f9131cc50e2130f6b6267c9747d89e3be94a490d498807c6674350f81cc813bfc204984e32032 EBUILD db-6.1.36.ebuild 6883 BLAKE2B 2648468a68e6078e68aeb401ae5a8d25e5cbdc8c591ffa5533bff87c85deb5f5061e4c0611e3b27f79c804a37e4586597c2320cc869f123ebca44223d710a568 SHA512 b09f06b0d12a6a6b41a78eef88927c07b314c677f49538180f30b2758973425f2f95050d2e37cb6c9c6ce6c940d007e619c7f0d3f7b69e27dba290da52f0df5d +EBUILD db-6.1.38.ebuild 6883 BLAKE2B 2648468a68e6078e68aeb401ae5a8d25e5cbdc8c591ffa5533bff87c85deb5f5061e4c0611e3b27f79c804a37e4586597c2320cc869f123ebca44223d710a568 SHA512 b09f06b0d12a6a6b41a78eef88927c07b314c677f49538180f30b2758973425f2f95050d2e37cb6c9c6ce6c940d007e619c7f0d3f7b69e27dba290da52f0df5d EBUILD db-6.2.32-r1.ebuild 6937 BLAKE2B d5df63055e7d8ee528bf8c7425b08cf2dd8f2044ac2a9c5dc7e600dcea47fd44791c687adee9504f4084ceacfe558c9364319c3c33e9582bdebabdd414d66f80 SHA512 cd49a5a95b7b686d0a96d0cd416c9676b0158e9511b1ab7c8d56f1b88d78d2de288beabc04396ac4de9f8a544d831e3f98a5e9b6ef14bfd22f56f57bec02fb8c +EBUILD db-6.2.38.ebuild 6886 BLAKE2B 0ea0ada8973fe01177796b381f662799dbcf72da3b97b9c582b59e989fb4e79ac18b9126bf88b8032036a960507ea9ec4cba7a387ac8702937d01edb9f19aa9f SHA512 5b90d628c567c3d777a9f634b8c01bb46e92cff964ffc66b9bf0da626753cd7700ce9dc1f62dac3b3f5dd96b752e32878f4f15ec0a92a5394b6b6802d04eaa40 MISC metadata.xml 1323 BLAKE2B f954567067cc1490d6804dd9d7b612dd90733c7ab84546cbedc0075f8f3ef1faf6f1bb70bae31e83b0aa17666bd6711999b67ce4fe6c15bcffc3ba5bd8d004b7 SHA512 36f8b6db241ef960b2ac0f7bd19738066e3daadd90efbf7edc54a4774e491506d69a2207738f53643a3e52f1f35a900e4717747744bd30ca682265f50cb8884c diff --git a/sys-libs/db/db-6.1.29-r1.ebuild b/sys-libs/db/db-6.1.29-r1.ebuild deleted file mode 100644 index 4f3570a788d8..000000000000 --- a/sys-libs/db/db-6.1.29-r1.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal versionator toolchain-funcs - -#Number of official patches -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` -PATCHNO=${PV/*.*.*_p} -if [[ ${PATCHNO} == "${PV}" ]] ; then - MY_PV=${PV} - MY_P=${P} - PATCHNO=0 -else - MY_PV=${PV/_p${PATCHNO}} - MY_P=${PN}-${MY_PV} -fi - -S_BASE="${WORKDIR}/${MY_P}" -S="${S_BASE}/build_unix" -DESCRIPTION="Oracle Berkeley DB" -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz" -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" -done - -LICENSE="AGPL-3" -SLOT="$(get_version_component_range 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE="doc java cxx tcl test" - -REQUIRED_USE="test? ( tcl )" - -# the entire testsuite needs the TCL functionality -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jdk-1.5 ) - >=sys-devel/binutils-2.16.1" -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) - java? ( >=virtual/jre-1.5 )" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/db$(get_version_component_range 1-2)/db.h -) - -src_prepare() { - cd "${WORKDIR}"/"${MY_P}" - for (( i=1 ; i<=${PATCHNO} ; i++ )) - do - epatch "${DISTDIR}"/patch."${MY_PV}"."${i}" - done - - # bug #510506 - epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch - - # use the includes from the prefix - epatch "${FILESDIR}"/${PN}-6.2-jni-check-prefix-first.patch - epatch "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch - - # sqlite configure call has an extra leading .. - # upstreamed:5.2.36, missing in 5.3.x/6.x - # still needs to be patched in 6.0.20 - epatch "${FILESDIR}"/${PN}-6.1.19-sqlite-configure-path.patch - - # The upstream testsuite copies .lib and the binaries for each parallel test - # core, ~300MB each. This patch uses links instead, saves a lot of space. - epatch "${FILESDIR}"/${PN}-6.0.20-test-link.patch - - # Upstream release script grabs the dates when the script was run, so lets - # end-run them to keep the date the same. - export REAL_DB_RELEASE_DATE="$(awk \ - '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ - "${S_BASE}"/dist/configure)" - sed -r -i \ - -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ - "${S_BASE}"/dist/RELEASE || die - - # Include the SLOT for Java JAR files - # This supersedes the unused jarlocation patches. - sed -r -i \ - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ - "${S_BASE}"/dist/Makefile.in || die - - cd "${S_BASE}"/dist || die - rm -f aclocal/libtool.m4 - sed -i \ - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ - configure.ac || die - sed -i \ - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ - aclocal/programs.m4 || die - AT_M4DIR="aclocal aclocal_java" eautoreconf - # Upstream sucks - they do autoconf and THEN replace the version variables. - . ./RELEASE - for v in \ - DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ - DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ - DB_VERSION \ - DB_RELEASE_DATE ; do - local ev="__EDIT_${v}__" - sed -i -e "s/${ev}/${!v}/g" configure || die - done - - # This is a false positive skip in the tests as the test-reviewer code - # looks for 'Skipping\s' - sed -i \ - -e '/db_repsite/s,Skipping:,Skipping,g' \ - "${S_BASE}"/test/tcl/reputils.tcl || die -} - -multilib_src_configure() { - local myconf=() - - tc-ld-disable-gold #470634 - - # compilation with -O0 fails on amd64, see bug #171231 - if [[ ${ABI} == amd64 ]]; then - local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} - replace-flags -O0 -O2 - is-flagq -O[s123] || append-flags -O2 - fi - - # Add linker versions to the symbols. Easier to do, and safer than header file - # mumbo jumbo. - if use userland_GNU ; then - append-ldflags -Wl,--default-symver - fi - - # use `set` here since the java opts will contain whitespace - if multilib_is_native_abi && use java ; then - myconf+=( - --with-java-prefix="${JAVA_HOME}" - --with-javac-flags="$(java-pkg_javac-args)" - ) - fi - - # Bug #270851: test needs TCL support - if use tcl || use test ; then - myconf+=( - --enable-tcl - --with-tcl="${EPREFIX}/usr/$(get_libdir)" - ) - else - myconf+=(--disable-tcl ) - fi - - # sql_compat will cause a collision with sqlite3 - # --enable-sql_compat - # Don't --enable-sql* because we don't want to use bundled sqlite. - # See Gentoo bug #605688 - ECONF_SOURCE="${S_BASE}"/dist \ - STRIP="true" \ - econf \ - --enable-compat185 \ - --enable-dbm \ - --enable-o_direct \ - --without-uniquename \ - --disable-sql \ - --disable-sql_codegen \ - --disable-sql_compat \ - $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) \ - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \ - $(use_enable cxx) \ - $(use_enable cxx stl) \ - $(multilib_native_use_enable java) \ - "${myconf[@]}" \ - $(use_enable test) -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - db_src_install_headerslot - - db_src_install_usrlibcleanup - - if multilib_is_native_abi && use java; then - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar - fi -} - -multilib_src_install_all() { - db_src_install_usrbinslot - - db_src_install_doc - - dodir /usr/sbin - # This file is not always built, and no longer exists as of db-4.8 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then - mv "${ED}"/usr/bin/berkeley_db_svc \ - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die - fi -} - -pkg_postinst() { - multilib_foreach_abi db_fix_so -} - -pkg_postrm() { - multilib_foreach_abi db_fix_so -} - -src_test() { - # db_repsite is impossible to build, as upstream strips those sources. - # db_repsite is used directly in the setup_site_prog, - # setup_site_prog is called from open_site_prog - # which is called only from tests in the multi_repmgr group. - #sed -ri \ - # -e '/set subs/s,multi_repmgr,,g' \ - # "${S_BASE}/test/testparams.tcl" - sed -ri \ - -e '/multi_repmgr/d' \ - "${S_BASE}/test/tcl/test.tcl" || die - - # This is the only failure in 5.2.28 so far, and looks like a false positive. - # Repmgr018 (btree): Test of repmgr stats. - # Repmgr018.a: Start a master. - # Repmgr018.b: Start a client. - # Repmgr018.c: Run some transactions at master. - # Rep_test: btree 20 key/data pairs starting at 0 - # Rep_test.a: put/get loop - # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 - sed -ri \ - -e '/set parms.*repmgr018/d' \ - -e 's/repmgr018//g' \ - "${S_BASE}/test/tcl/test.tcl" || die - - multilib-minimal_src_test -} - -multilib_src_test() { - multilib_is_native_abi || return - - S=${BUILD_DIR} db_src_test -} diff --git a/sys-libs/db/db-6.1.38.ebuild b/sys-libs/db/db-6.1.38.ebuild new file mode 100644 index 000000000000..4f1b84ebf020 --- /dev/null +++ b/sys-libs/db/db-6.1.38.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs + +#Number of official patches +#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` +PATCHNO=${PV/*.*.*_p} +if [[ ${PATCHNO} == "${PV}" ]] ; then + MY_PV=${PV} + MY_P=${P} + PATCHNO=0 +else + MY_PV=${PV/_p${PATCHNO}} + MY_P=${PN}-${MY_PV} +fi + +S_BASE="${WORKDIR}/${MY_P}" +S="${S_BASE}/build_unix" +DESCRIPTION="Oracle Berkeley DB" +HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" +SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz" +for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do + export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" +done + +LICENSE="AGPL-3" +SLOT="$(get_version_component_range 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="doc java cxx tcl test" + +REQUIRED_USE="test? ( tcl )" + +# the entire testsuite needs the TCL functionality +DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jdk-1.5 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.5 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db$(ver_cut 1-2)/db.h +) + +PATCHES=( + # bug #510506 + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch + + # use the includes from the prefix + "${FILESDIR}"/${PN}-6.2-jni-check-prefix-first.patch + "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch + + # sqlite configure call has an extra leading .. + # upstreamed:5.2.36, missing in 5.3.x/6.x + # still needs to be patched in 6.0.20 + "${FILESDIR}"/${PN}-6.1.19-sqlite-configure-path.patch + + # The upstream testsuite copies .lib and the binaries for each parallel test + # core, ~300MB each. This patch uses links instead, saves a lot of space. + "${FILESDIR}"/${PN}-6.0.20-test-link.patch +) + +src_prepare() { + cd "${WORKDIR}"/"${MY_P}" + for (( i=1 ; i<=${PATCHNO} ; i++ )) + do + eapply "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + default + + # Upstream release script grabs the dates when the script was run, so lets + # end-run them to keep the date the same. + export REAL_DB_RELEASE_DATE="$(awk \ + '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ + "${S_BASE}"/dist/configure)" + sed -r -i \ + -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ + "${S_BASE}"/dist/RELEASE || die + + # Include the SLOT for Java JAR files + # This supersedes the unused jarlocation patches. + sed -r -i \ + -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ + "${S_BASE}"/dist/Makefile.in || die + + cd "${S_BASE}"/dist || die + rm -f aclocal/libtool.m4 + sed -i \ + -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ + configure.ac || die + sed -i \ + -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ + aclocal/programs.m4 || die + AT_M4DIR="aclocal aclocal_java" eautoreconf + # Upstream sucks - they do autoconf and THEN replace the version variables. + . ./RELEASE + for v in \ + DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ + DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ + DB_VERSION \ + DB_RELEASE_DATE ; do + local ev="__EDIT_${v}__" + sed -i -e "s/${ev}/${!v}/g" configure || die + done + + # This is a false positive skip in the tests as the test-reviewer code + # looks for 'Skipping\s' + sed -i \ + -e '/db_repsite/s,Skipping:,Skipping,g' \ + "${S_BASE}"/test/tcl/reputils.tcl || die +} + +multilib_src_configure() { + # sql_compat will cause a collision with sqlite3 + # --enable-sql_compat + # Don't --enable-sql* because we don't want to use bundled sqlite. + # See Gentoo bug #605688 + local myeconfargs=( + --enable-compat185 + --enable-dbm + --enable-o_direct + --without-uniquename + --disable-sql + --disable-sql_codegen + --disable-sql_compat + $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) + $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) + $(use_enable cxx) + $(use_enable cxx stl) + $(multilib_native_use_enable java) + $(use_enable test) + ) + + tc-ld-disable-gold #470634 + + # compilation with -O0 fails on amd64, see bug #171231 + if [[ ${ABI} == amd64 ]]; then + local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} + replace-flags -O0 -O2 + is-flagq -O[s123] || append-flags -O2 + fi + + # Add linker versions to the symbols. Easier to do, and safer than header file + # mumbo jumbo. + if use userland_GNU ; then + append-ldflags -Wl,--default-symver + fi + + # use `set` here since the java opts will contain whitespace + if multilib_is_native_abi && use java ; then + myeconfargs+=( + --with-java-prefix="${JAVA_HOME}" + --with-javac-flags="$(java-pkg_javac-args)" + ) + fi + + # Bug #270851: test needs TCL support + if use tcl || use test ; then + myeconfargs+=( + --enable-tcl + --with-tcl="${EPREFIX}/usr/$(get_libdir)" + ) + else + myeconfargs+=(--disable-tcl ) + fi + + ECONF_SOURCE="${S_BASE}"/dist \ + STRIP="true" \ + econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + db_src_install_headerslot + + db_src_install_usrlibcleanup + + if multilib_is_native_abi && use java; then + java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so + java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar + rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar + fi +} + +multilib_src_install_all() { + db_src_install_usrbinslot + + db_src_install_doc + + dodir /usr/sbin + # This file is not always built, and no longer exists as of db-4.8 + if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then + mv "${ED%/}"/usr/bin/berkeley_db_svc \ + "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die + fi +} + +pkg_postinst() { + multilib_foreach_abi db_fix_so +} + +pkg_postrm() { + multilib_foreach_abi db_fix_so +} + +src_test() { + # db_repsite is impossible to build, as upstream strips those sources. + # db_repsite is used directly in the setup_site_prog, + # setup_site_prog is called from open_site_prog + # which is called only from tests in the multi_repmgr group. + #sed -ri \ + # -e '/set subs/s,multi_repmgr,,g' \ + # "${S_BASE}/test/testparams.tcl" + sed -ri \ + -e '/multi_repmgr/d' \ + "${S_BASE}/test/tcl/test.tcl" || die + + # This is the only failure in 5.2.28 so far, and looks like a false positive. + # Repmgr018 (btree): Test of repmgr stats. + # Repmgr018.a: Start a master. + # Repmgr018.b: Start a client. + # Repmgr018.c: Run some transactions at master. + # Rep_test: btree 20 key/data pairs starting at 0 + # Rep_test.a: put/get loop + # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 + sed -ri \ + -e '/set parms.*repmgr018/d' \ + -e 's/repmgr018//g' \ + "${S_BASE}/test/tcl/test.tcl" || die + + multilib-minimal_src_test +} + +multilib_src_test() { + multilib_is_native_abi || return + + S=${BUILD_DIR} db_src_test +} diff --git a/sys-libs/db/db-6.2.38.ebuild b/sys-libs/db/db-6.2.38.ebuild new file mode 100644 index 000000000000..5552d65746e1 --- /dev/null +++ b/sys-libs/db/db-6.2.38.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs + +#Number of official patches +#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"` +PATCHNO=${PV/*.*.*_p} +if [[ ${PATCHNO} == "${PV}" ]] ; then + MY_PV=${PV} + MY_P=${P} + PATCHNO=0 +else + MY_PV=${PV/_p${PATCHNO}} + MY_P=${PN}-${MY_PV} +fi + +S_BASE="${WORKDIR}/${MY_P}" +S="${S_BASE}/build_unix" +DESCRIPTION="Oracle Berkeley DB" +HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html" +SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz" +for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do + export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}" +done + +LICENSE="AGPL-3" +SLOT="$(get_version_component_range 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="doc java cxx tcl test" + +REQUIRED_USE="test? ( tcl )" + +# the entire testsuite needs the TCL functionality +DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jdk-1.5 ) + >=sys-devel/binutils-2.16.1" +RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.5 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/db$(ver_cut 1-2)/db.h +) + +PATCHES=( + # bug #510506 + "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch + + # use the includes from the prefix + "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch + "${FILESDIR}"/${PN}-4.3-listen-to-java-options.patch + + # sqlite configure call has an extra leading .. + # upstreamed:5.2.36, missing in 5.3.x/6.x + # still needs to be patched in 6.0.20 + "${FILESDIR}"/${PN}-6.1.19-sqlite-configure-path.patch + + # The upstream testsuite copies .lib and the binaries for each parallel test + # core, ~300MB each. This patch uses links instead, saves a lot of space. + "${FILESDIR}"/${PN}-6.0.20-test-link.patch +) + +src_prepare() { + cd "${WORKDIR}"/"${MY_P}" + for (( i=1 ; i<=${PATCHNO} ; i++ )) + do + eapply "${DISTDIR}"/patch."${MY_PV}"."${i}" + done + + default + + # Upstream release script grabs the dates when the script was run, so lets + # end-run them to keep the date the same. + export REAL_DB_RELEASE_DATE="$(awk \ + '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \ + "${S_BASE}"/dist/configure)" + sed -r -i \ + -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \ + "${S_BASE}"/dist/RELEASE || die + + # Include the SLOT for Java JAR files + # This supersedes the unused jarlocation patches. + sed -r -i \ + -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \ + "${S_BASE}"/dist/Makefile.in || die + + cd "${S_BASE}"/dist || die + rm -f aclocal/libtool.m4 + sed -i \ + -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \ + configure.ac || die + sed -i \ + -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \ + aclocal/programs.m4 || die + AT_M4DIR="aclocal aclocal_java" eautoreconf + # Upstream sucks - they do autoconf and THEN replace the version variables. + . ./RELEASE + for v in \ + DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \ + DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \ + DB_VERSION \ + DB_RELEASE_DATE ; do + local ev="__EDIT_${v}__" + sed -i -e "s/${ev}/${!v}/g" configure || die + done + + # This is a false positive skip in the tests as the test-reviewer code + # looks for 'Skipping\s' + sed -i \ + -e '/db_repsite/s,Skipping:,Skipping,g' \ + "${S_BASE}"/test/tcl/reputils.tcl || die +} + +multilib_src_configure() { + # sql_compat will cause a collision with sqlite3 + # --enable-sql_compat + # Don't --enable-sql* because we don't want to use bundled sqlite. + # See Gentoo bug #605688 + local myeconfargs=( + --enable-compat185 + --enable-dbm + --enable-o_direct + --without-uniquename + --disable-sql + --disable-sql_codegen + --disable-sql_compat + $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly) + $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) + $(use_enable cxx) + $(use_enable cxx stl) + $(multilib_native_use_enable java) + $(use_enable test) + ) + + tc-ld-disable-gold #470634 + + # compilation with -O0 fails on amd64, see bug #171231 + if [[ ${ABI} == amd64 ]]; then + local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS} + replace-flags -O0 -O2 + is-flagq -O[s123] || append-flags -O2 + fi + + # Add linker versions to the symbols. Easier to do, and safer than header file + # mumbo jumbo. + if use userland_GNU ; then + append-ldflags -Wl,--default-symver + fi + + # use `set` here since the java opts will contain whitespace + if multilib_is_native_abi && use java ; then + myeconfargs+=( + --with-java-prefix="${JAVA_HOME}" + --with-javac-flags="$(java-pkg_javac-args)" + ) + fi + + # Bug #270851: test needs TCL support + if use tcl || use test ; then + myeconfargs+=( + --enable-tcl + --with-tcl="${EPREFIX}/usr/$(get_libdir)" + ) + else + myeconfargs+=(--disable-tcl ) + fi + + ECONF_SOURCE="${S_BASE}"/dist \ + STRIP="true" \ + econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + db_src_install_headerslot + + db_src_install_usrlibcleanup + + if multilib_is_native_abi && use java; then + java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so + java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar + rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar + fi +} + +multilib_src_install_all() { + db_src_install_usrbinslot + + db_src_install_doc + + dodir /usr/sbin + # This file is not always built, and no longer exists as of db-4.8 + if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then + mv "${ED%/}"/usr/bin/berkeley_db_svc \ + "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die + fi +} + +pkg_postinst() { + multilib_foreach_abi db_fix_so +} + +pkg_postrm() { + multilib_foreach_abi db_fix_so +} + +src_test() { + # db_repsite is impossible to build, as upstream strips those sources. + # db_repsite is used directly in the setup_site_prog, + # setup_site_prog is called from open_site_prog + # which is called only from tests in the multi_repmgr group. + #sed -ri \ + # -e '/set subs/s,multi_repmgr,,g' \ + # "${S_BASE}/test/testparams.tcl" + sed -ri \ + -e '/multi_repmgr/d' \ + "${S_BASE}/test/tcl/test.tcl" || die + + # This is the only failure in 5.2.28 so far, and looks like a false positive. + # Repmgr018 (btree): Test of repmgr stats. + # Repmgr018.a: Start a master. + # Repmgr018.b: Start a client. + # Repmgr018.c: Run some transactions at master. + # Rep_test: btree 20 key/data pairs starting at 0 + # Rep_test.a: put/get loop + # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1 + sed -ri \ + -e '/set parms.*repmgr018/d' \ + -e 's/repmgr018//g' \ + "${S_BASE}/test/tcl/test.tcl" || die + + multilib-minimal_src_test +} + +multilib_src_test() { + multilib_is_native_abi || return + + S=${BUILD_DIR} db_src_test +} diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 728343fa443f..d042a6095bf1 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -1,15 +1,5 @@ -AUX 2.10/glibc-2.10-gentoo-chk_fail.c 9407 BLAKE2B 66451cdde9aa221d437762d81066a2400574f26b7cf8613826c72f953a757ff09765727bec95f2fa4b3873724ca061dab6110e801f39a929f3b5b218a74b0589 SHA512 d1c51c573353b3b8ae6ab1bcc8c10eda5cad8b98fc7ab4848e4fbd8a8736174f3c3fd1b72dd80c72b1e54be78f1cae4dc1ab8130df25aa6d1495e5cbbaf3b9f6 -AUX 2.10/glibc-2.10-hardened-configure-picdefault.patch 865 BLAKE2B 8526ed453dc40716ebbe7e9acf9406db17b030d75505360b5e5d1e4d51d02c8558fc3e9539bc57077a7cdb5c82e91313fb168773e2d573f810938c4e851dc374 SHA512 e0a09f77b209a72ab577fe1e62126609fdddedf3fba0eec749c4b506cdf793779b48390f055a3594892120f694291f8340c0b6f51862e94c03fd516897138be7 -AUX 2.10/glibc-2.10-hardened-inittls-nosysenter.patch 8823 BLAKE2B c52120d9a60860d7c5abe46ebeee1f3b09a8ff9da8dda372c789f319ea711e170d69c0d5d04daa187d7b4936c49eef5841add4cd7c68be6a351c0ef98856ba15 SHA512 0605b7964af87d1d6bdccea5c4d1bfe6267d4401b8bbf0c8bb689663e6bb3ef92eebad8be6c23ffdf6632a4d5e6098d8a403c3e84ffb21b5e87b5b1d1ec3512d -AUX 2.17/glibc-2.17-hardened-pie.patch 1784 BLAKE2B 2f550fb8b5beb6063b77969da7ed179e23445fb76c67d8f463348a8bdb29e9987763ec2226ccb4bb2ef91e2968afb36f091606ff95bf533266b05fa7321556dc SHA512 9ecfe2b6c8c982a42786181d6507d5fa588a6868109065451f58a779848837bd5e69c32a24e43a186c2ff63a9784015c51487e342c87982ac074139e36c169fc -AUX 2.18/glibc-2.18-gentoo-chk_fail.c 9384 BLAKE2B 81094d8c8d1274f0f106277805b550b6e85169e951d54ca43777603bca33a454414f69cd2fba39131266e5cc9b6b48e6b5a80e87ae5604228b55c24aead64377 SHA512 f7106e36fa49b0000192c281edfcd49338c825b8b8663ac9d7304e8fe8b2f44b39c6c82a741b8e8abce4cbe2fd72f64e3cfe7a18ff504a4b2b2d63e5c75d62b7 -AUX 2.18/glibc-2.18-gentoo-stack_chk_fail.c 9599 BLAKE2B 2ec9f78f2c5617c1ef38ee579ee329fa6b561eaea2e3966e04de132b31ca8da1f12ab27d36dc3bd9cfb25f05bd358bf9dca17478088716fc025967e10395df90 SHA512 97acbdb8aa87dd7e197a1577bd053374b1c8c30d6c82f4a71ef04409bf87b36a60322237cb79896ebdb49960fcaae4c4f2333497f5c255f67717b01d6d62c2d5 -AUX 2.18/glibc-2.18-hardened-inittls-nosysenter.patch 8981 BLAKE2B c830477eb0aeb8e5ddbc81eb5bda6710dd91f67433b87ed0df03ac31b8183008db47abdaaa944d3947e800872c7af39226881ebf3734d455d14f942199469e49 SHA512 98feb8f12dc5d2bb030ec7c6c77f3f9389ebc208fafc96496f316e577457dd991294d59735b013b17e1d10d5c7b63471d5b857d2334be78239a8ceb1ad62b1fc AUX 2.19/glibc-2.19-hardened-configure-picdefault.patch 865 BLAKE2B 81431d341d389f5401bdcbc162a52d0419d97afedaee71ab417780bbc273579fa9ccd8966a7afd172325460e1010f50843ce37574390b17a6156e7751093e0bd SHA512 d8e6fea72e240f1fde8a487958463140a84e8bd6bb5b176f8ce84a34df3137943db9016300884f3efdd4da130e342448e57ed0c0dc6eb2956d647286ce1d00ce AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c526838600d0393de47a0e59ca3e05651bd28becb401021ddd2f6ef77b8740ca4e400f094ab5fd196f092cf25b20729eb4d42e2a200b9e03 SHA512 79876b12871b3e7693340bfdf99276ac0dfd6ff30bc977a9526af9e681fcbab2f25d3ac9e2b33f027c968b38a4b670237de54ffd08edc418423ecd82dddd1d67 -AUX 2.20/glibc-2.20-gentoo-chk_fail.c 8978 BLAKE2B 5a41728d29fb7b7d5cbde47ad53db71a6563ddcf07c9da63642cd8616284f29c5d47f377292428bb3a9993b89ea32e6d7420b2d9ad8b3342ab4bb3c985a3c0e3 SHA512 5cb529ac9d18a315f25fd48a3a80a529924bee0588074c97e6df7dbe8568a67f786363c41da6300ea55818369e3609ed4315b2e2104f8a8b4f1266ba43076eda -AUX 2.20/glibc-2.20-gentoo-stack_chk_fail.c 55 BLAKE2B a7b99997627b8fa110802d9427494487c5d3084312d892532c5aa263cadfbb35c58bc358161bbbdf74cc2c6629b616d3a78c9cff1d18e63aedd1445dbe43d773 SHA512 4dfec1bd17007b826110dcb73d09331a58b7a892c87de55b94480b14c28686442c567725b610082813411cf9911e180835a400a54ea704fe80f81cfba966a989 -AUX 2.20/glibc-2.20-hardened-inittls-nosysenter.patch 9951 BLAKE2B 107afc99f6862109d31828cb85f2ee2958b107055e04feb5aadca869cb5838ef7f6246f010388315c5bc071b34339f5241fd5d7b7935e8d096277fc48eded253 SHA512 a8302ee2963bd791be859233223b17cd154afbf04c13c046956bb1140d748272d7bcb3a6167ce8b61573ebcffe906dff064308374d2910656b8fad18480fe422 AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea AUX nscd.tmpfilesd 111 BLAKE2B 4abb7220564e248fc7eeeced41077f186f42594facbfac9a4c0ff36209baac529c219ad6ead8d8aa53ab2b092002f1006a4479459b9e9a7c5a0294cb7d822100 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340 @@ -17,8 +7,6 @@ DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d DIST gcc-multilib-bootstrap-20180511.tar.xz 2392908 BLAKE2B f3cf614399368acd8908f60d894c6344a2fa09383b30c1633a0682bc668367c8a2f8c6fec2d41b6e2178d709a2bd8db57e8b2ab56ba263c7d56f819c15acd061 SHA512 98c766e913693ab42ff790557acde2a36a8001e2648046a685b21964200df8d4d52d8452d499c0068c6648284d086ce062c2d36e2c6c2fd8aacd232d193f2853 DIST glibc-2.19-patches-9.tar.bz2 24584 BLAKE2B a96e930a5bd20fa75d9f259cc2117fa5ce98072274a24a5823bf877e3739fa4c001a94d7865e065ee0527f3974430d27da8038e042340a451ad2052c62724f26 SHA512 a95b3063ade974a3556480b798b317d33c7423a8cb9e69f67249ffb8b3d3c671d70d2d5f782c1efadc0bec4cc49a96d4fe89911f3dfcd85b459f69f3b4f38f0e DIST glibc-2.19.tar.xz 12083312 BLAKE2B 9dc03346e0f0df4bf009a92d894b0a9f964ff92b7f4c9663cedf1cb6cf90435f28a15539d33791ecf43ee578fa4e26f916af0367651312ef8f9c1c38ce0dafa2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d -DIST glibc-2.21-patches-7.tar.bz2 46894 BLAKE2B 5a15a3a5ca515351d5d41baaa59ae6b6d1c353f1500c3b8dcd6da895119c89afee9ef6afaa1e7d617f2cf7b7504635e5733429f65847acaa63c0a7bf8233ee9c SHA512 e4cca3d753c0b9d213c0ed85e3d08cbbf6517862b3a48af987e010abaf5a022b47330040ced183d30b5b934de7587e97b4342e51a6df3d5cfa768bdd8b43b756 -DIST glibc-2.21.tar.xz 12322092 BLAKE2B 1ce2be09787138262b59b56235e20777459e99861c65694b96f63d7faf24da8655882dd23b39c28a8a2d338c50710f76e1e4dc39a3f4ce9736ef2cbf7f99ed5b SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d DIST glibc-2.22-patches-13.tar.bz2 74479 BLAKE2B 1ab31614e8334508a63c842f503a395ff3ebeaa33d1890eab1d9e2985cb39064960053f2bbf99ec3bdec0ba5a80d259ca6b964fcaed9d99dcb6da84ddb8dd364 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897 DIST glibc-2.22.tar.xz 12969072 BLAKE2B 36a2e08cf4c5c9396c414fcf5cf5f32d0a78a61e06a1309fbc5f560bed7a7f25a084f5f5c1097014d0911239c710ac9c06f6b6d603238b9c928dd286ebd05bbf SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b DIST glibc-2.23-patches-8.tar.bz2 304199 BLAKE2B 693e40090dbe43f0e9c1faa0bce75e43d5d3924b40c141f9d00ef147fd285b03e2c3bab6a32d1bf6978ca139c3f071f685d5caf1bffb1cce7e1d1f3c346e5c50 SHA512 470814bbbd9d4ee5fa2dd7570a2e14b0229723e373e801472856fd6c2f089499eddc300f69b49af8ba0edbdca583ee3ca521fdb5c642509717cafea0ad925fd2 @@ -31,20 +19,19 @@ DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b DIST glibc-2.26.tar.xz 14682748 BLAKE2B c1c9dbec110dd4e25b2f463a96d8afc43b8e3ebfe3c958107032beaa879710252be3bc4122bb62166408725d43785f233544df6159d29cce0fc5b2c08f45adbe SHA512 6ed368523bc55f00976f96c5177f114e3f714b27273d7bffc252812c8b98fb81970403c1f5b5f0a61da678811532fb446530745492d2b49bfefc0d5bd71ce8c0 DIST glibc-2.27-patches-3.tar.bz2 166511 BLAKE2B 1dc54bef6e82112935c7411f7a5cd07c1edb24c3edaa1e0243b846b3832a40af1ba3a7b77aef04c54a173388156b464ea442fa8310a02e6f44e2ed5b78994286 SHA512 12496e9b0c60630dbec4c2febdd6d20df1f3d7a2c243cc55b595202b27f682b9208e16cd8c387687c0cc9e18b36c3caeef8d1b1148eb3ee8081431997270db5e DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea06a6c151c4971a8df059949ffe5632b42a67ab0ffcd7c4d7ce1ec02ac48815dac4dade1c4dd41eaee8a6ed33 SHA512 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147 -DIST glibc-2.28-patches-8.tar.xz 97384 BLAKE2B 036ab39103aa30be61fcbb46a7103cf83c1dd490eeff526444d4701b92e06a428133de2d005d65a296f14f28145f143a2386f8b17df721174a0a0b5303e99931 SHA512 29695212d8ca9c4b6d4787f4919b75cb0828ddecce65d65683b746ed23acb50e4e18419a13bb6ee4a234f44f63b38a2eebf1f1ce3d350435c2bf21d6076a97a6 +DIST glibc-2.28-patches-9.tar.xz 98588 BLAKE2B 4ab583be712994f949dee2512da6e12fd7f7ad73e96393f21678552b43da98f49321b53b5b009551300cdb09ca135e7f6adc636ff750c251a1d6d7f262dbc410 SHA512 e3f40ae6e9d06471c1a11bd2bce7b5161d07c3d0a81791505a72aec4817e7faf9ef09841e98c6dcf62a0a00754dff87dd194d97ac6b6354aeb2497cf60900b96 DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3 -DIST glibc-2.29-patches-2.tar.xz 35176 BLAKE2B a98d309686068dac5ae7eceac102610f9058e620f62661d9cd7fdbdb31608844cb254e15311ff2ac85be97bdf3d953fde625e3b088e4833c0356f6f4472f52d7 SHA512 69bbd090886942595cf47e2bdf01fc7ed8c0b8f2b7a4f8a6749b74a392a12d9cc601212cce09db434841f3740ff1a81642b8019afbdbfa8903ae4ebc5a71c801 +DIST glibc-2.29-patches-3.tar.xz 35812 BLAKE2B 90b8bc57b7a63f03617795c368b92e525eccfec462d638dbc25c581e5b7a2a72ffd5191842f5ac443a868cbc950838d7e5120e866d343a14b80c55dcbfa48f30 SHA512 4c9b78d9d1a8aa629418f2d758ef800857780b8a1fd8d3582b88348a513ca26ca7f6ac9110a8c6bae16949b360ba36840d184f42293cd4324760273592d1b438 DIST glibc-2.29.tar.xz 16515488 BLAKE2B b754e6825176538a2b8ca03fce014f0d87d333dc4d038bf0cda5ee8a2f484cd3ce93ad78ec126737e093ab64b55ceedf04cd08aecb4f8041daaa329e99717afa SHA512 146bc0769fe853d9edbf93cea7f74c5b3d84d69cb7614c62588e7acdecd1ec789a9d8949f3e8b99f8f36f2ccac740a003bed94f32b07817baf780b06cfeb6ed0 DIST glibc-9999-patches-11.tar.xz 17804 BLAKE2B cb4ef9fbaf0da3e2307c468d2a6731ff2475f6ebc490f0ca43d375b59aa669bec1ad0580775306adb95e249e9641bed910310185e5dced66a491c1491b99a747 SHA512 d2fced779807c7f492c17958cf4f95273d1bdcfe062bd71546f2360f3d4742a696ec8d04d984ec560c0fcccea332446834ae2c9d28cfd9009ffd091c1084edc9 EBUILD glibc-2.19-r2.ebuild 40484 BLAKE2B 9e78b3fcbf40c7c32fd9a7ba0f4c9d31277aa0d5465342b5af1a8115d4dbb9bc34e4dd0be6fe6abca2497306ef84018b62969ff2a2d28eeb092e204a60972714 SHA512 6ee461bd816a33b5eb37e3d7c107e09ebb912ce9cb26620e7bedadf31a5a874c822148859973d4e60931a46b668ce743b7ff04fa3df99f0089251ae653021750 -EBUILD glibc-2.21-r2.ebuild 4899 BLAKE2B 4097f29160b437edb96e6f731c797cba43bfb65fe164c1ffc3af0025d52c18a286b9a75d56d3e371e33e87f99a71a2115ba2eba7cb174dd2787a9b6a6d84b674 SHA512 68cc49c310ff816b2433b4f9e389e992d64f623809d4a4c3391dcce7ee4c385365ef4278de79bf4b6b9a4ed969e10b94bebabe86e560295bd1c0a9652aec12ec EBUILD glibc-2.22-r4.ebuild 4950 BLAKE2B 8d048dafaf8eec034d2ed2f3a8f400b3f4aedab39d7fe11795376a135ed9a42843f9cc6888e721ef242f78bc4230188d53cdccaf7686186d43201101519cc60b SHA512 64387259f921dc26d91d5d4e86bbbbfd740bb4b2e1337c121f799370abc9c6298745f9686e6aa501b10c05150ac1129ef8bd37d140e9c83c41ac3c0f54ee052f EBUILD glibc-2.23-r4.ebuild 4949 BLAKE2B 99db0ec4a452f04a2aef9b347a5ddec03cc88fbb1460c4f3f14b37efe5651b5db374e93a26b32b7918eb05f702d5355c5abcfcdf1228c24c4529218ecdd4017b SHA512 4384f936e1b88edc6639e4d7f31cc4641d287afda7e16f9cbd6a9fef68f04501213d9f2a84314cfb18d9da9b404a1452eba44fb49db8cf2cd1cd6012a659eb38 EBUILD glibc-2.24-r4.ebuild 4988 BLAKE2B 8e08345c96e176984b73a073efca21f771d41af1af75106ec88a22bd55d7f69f28d9c01989026a3e58f3df4fac2a59db68d5ac8a8bbb0f411c75da8792f3402a SHA512 dd1d996eaf35197f7b7b6c111957eb98ef776d0a76a949b95f9bb17075dca43b2a354f8d15be133b9f3ff6c40a5b1f4ec28bd8d41c5cfc51da006eda8b005a05 EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff8fca6b64c083c3e05d07533e445a6139939710b9284f7587bbf3977ca556caeb964e73ac21a382d942423d886a SHA512 f26645acc02f16209ec068641a800ef0a4ad2a422c9473e14a273fdece9b53074b837907d635a8585cf9dbb1acea14178166a4a3410aa4c70a745b89a764b6f1 EBUILD glibc-2.26-r7.ebuild 25496 BLAKE2B 3edbb2f56d81869f86bd357772c27eb9516a1a0fbbda024412c8588df0b7938c77afc46430ea8b01bfe012eb5097f58b989411d4953d09d9202c33eeea562708 SHA512 e28a2cf8f692e6526fcbee2d9317dbb4cb8a4c249e4b60ed5b3522dc8c4627248b4a4bad0c32192adf0f650f3f002b8e25ebc7038fe0daf959f0dcde0bfe1bc4 EBUILD glibc-2.27-r6.ebuild 41551 BLAKE2B 9b55701da5b61f4b095108f0042181961fc67a9b8a40d7ed70ca5effd8114a9d1769f2e9ed178fcf49069cb63c0ad9bdc53cf6f4526f98c3a7d41609d9e7574c SHA512 1d06a20e0a2dc7deee567a0e2545cea87cfbdf5f0d1037b85e2a6afa829b5106880d3b44f44adb7e790820eaa873aac442208f77f1e5c48411af8c1c94a16ce9 -EBUILD glibc-2.28-r5.ebuild 41328 BLAKE2B ea4e9b1025358a9e38c965825493664886577178223d26dd1abdacd079b3d67ee40419ff931a1c365b32f0710ca2cf62d47c4f9ef8d903a15c77316d6689db01 SHA512 2826e064bb4c2e399bc72fd65eddbe5b54ce7a079dac47b8991d8c86121dfdb74b776fe84e56a236e30dde98eb54cb4e5b85538da6be5c1698c07a66bbe4ebdd -EBUILD glibc-2.29-r1.ebuild 41332 BLAKE2B 6c4881a7d4595fa09fd63ee777e718f003e936c17fe34c8b496bf83094573db1d7afdfb16c2d45347e1040d362aeb736fd17d62e8a4990b87d61dd70b8b23e68 SHA512 a2ce0ca3c343c9c52c382516e8caf166b8e1704b888d2cd30c9281eb377362c7b1f1ec2002b9b849d1142639308eac8a3d0665f7e6fa8f63107058c8f5f2d9e0 -EBUILD glibc-9999.ebuild 41344 BLAKE2B 3a6cf234179c02ae4c68f8ca83e5123e1e464e1886c53ec2d3ea0e47447cc235926f3ceb4f950d20a91d54319a3f8551c7866d27e78df2d761a1fe12a6e18b3c SHA512 dd18c4d46a77ac92aa2537759287a90f7349e7a58ade218c57566192d46bfa5e4f0d5630216b46371a40792554c80fa6c3c70bdcd4dab0670435c1d7d935fc4a +EBUILD glibc-2.28-r6.ebuild 41324 BLAKE2B 835545f2370ee728677c28deb2f9a8e482b7dd714ce467e256aec1b09f1736975279eb7810fdfa495bb3e9281acd4212285c0ef25526cbc0080304021570a17c SHA512 3e978b5fe8a380a7f4c0e2df0cf14166b95d851fc8b9bb3bd218e5c63542b92273dc9e829146975dd2243610acbe716d09618d67d8893f0f65cf3c2eb92a3409 +EBUILD glibc-2.29-r2.ebuild 42180 BLAKE2B af13909bc9e2861882bbb250176dcc069f41ba21c69d0db4df1a24637fec4049ba0f1ca3c3c1f434b6b86b85521cf884147f7b72c574013f7f6c4e5dae4bd775 SHA512 6cf1b0bcd3af1ab76c6fb54abdecb1ff137b45e5e99af33b9781b440d167a9626f1fc3d649e6af0ba7b2cc77112005a5366e0491caf8bdb793b48c558107e980 +EBUILD glibc-9999.ebuild 42354 BLAKE2B 310466b39e6ea8b9290b911d73d6e4046d9073c52adbb7ec3e40899af667d998870812e16c9ec06d79d7b06e529b991afb3b602e9db139a93c219b21f1ee7d03 SHA512 737f454524395815293d576baef64de1a401f7e9bb03c800f70f95d7fd6b84ab6c8b205542210624c900126e626364a945e2553ec9084fd869d1df85fa42e3c1 MISC metadata.xml 1323 BLAKE2B 6a19ccbf9f068c6c3d3b945d3011dce3d7712dd74a2daeaa8244eef73fd86723b275ce018ec5557862278c23883fabfb27e91e0b88ff62c34fffdadd4b024411 SHA512 848adbf531103d69b8b0e7017c25de730daecccae220e337e475ba8dbcaa95c6d5e440330be56367974607050dfa1964026ed90bc699ab5f12fef35c88d67505 diff --git a/sys-libs/glibc/files/2.10/glibc-2.10-gentoo-chk_fail.c b/sys-libs/glibc/files/2.10/glibc-2.10-gentoo-chk_fail.c deleted file mode 100644 index 37711e8aacbf..000000000000 --- a/sys-libs/glibc/files/2.10/glibc-2.10-gentoo-chk_fail.c +++ /dev/null @@ -1,315 +0,0 @@ -/* Copyright (C) 2004, 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Copyright (C) 2006-2008 Gentoo Foundation Inc. - * License terms as above. - * - * Hardened Gentoo SSP and FORTIFY handler - * - * An SSP failure handler that does not use functions from the rest of - * glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures - * no possibility of recursion into the handler. - * - * Direct all bug reports to http://bugs.gentoo.org/ - * - * Re-written from the glibc-2.3 Hardened Gentoo SSP handler - * by Kevin F. Quinn - - * - * The following people contributed to the glibc-2.3 Hardened - * Gentoo SSP and FORTIFY handler, from which this implementation draws much: - * - * Ned Ludd - - * Alexander Gabert - - * The PaX Team - - * Peter S. Mazinger - - * Yoann Vandoorselaere - - * Robert Connolly - - * Cory Visi - * Mike Frysinger - * Magnus Granberg - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include - -#include -/* from sysdeps */ -#include -/* for the stuff in bits/socket.h */ -#include -#include - -/* Sanity check on SYSCALL macro names - force compilation - * failure if the names used here do not exist - */ -#if !defined __NR_socketcall && !defined __NR_socket -# error Cannot do syscall socket or socketcall -#endif -#if !defined __NR_socketcall && !defined __NR_connect -# error Cannot do syscall connect or socketcall -#endif -#ifndef __NR_write -# error Cannot do syscall write -#endif -#ifndef __NR_close -# error Cannot do syscall close -#endif -#ifndef __NR_getpid -# error Cannot do syscall getpid -#endif -#ifndef __NR_kill -# error Cannot do syscall kill -#endif -#ifndef __NR_exit -# error Cannot do syscall exit -#endif -#ifdef SSP_SMASH_DUMPS_CORE -# define ENABLE_SSP_SMASH_DUMPS_CORE 1 -# if !defined _KERNEL_NSIG && !defined _NSIG -# error No _NSIG or _KERNEL_NSIG for rt_sigaction -# endif -# if !defined __NR_sigaction && !defined __NR_rt_sigaction -# error Cannot do syscall sigaction or rt_sigaction -# endif -/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size - * of the _kernel_ sigset_t which is not the same as the user sigset_t. - * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for - * some reason. - */ -# ifdef _KERNEL_NSIG -# define _SSP_NSIG _KERNEL_NSIG -# else -# define _SSP_NSIG _NSIG -# endif -#else -# define _SSP_NSIG 0 -# define ENABLE_SSP_SMASH_DUMPS_CORE 0 -#endif - -/* Define DO_SIGACTION - default to newer rt signal interface but - * fallback to old as needed. - */ -#ifdef __NR_rt_sigaction -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8) -#else -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(sigaction, 3, signum, act, oldact) -#endif - -/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */ -#if defined(__NR_socket) && defined(__NR_connect) -# define USE_OLD_SOCKETCALL 0 -#else -# define USE_OLD_SOCKETCALL 1 -#endif - -/* stub out the __NR_'s so we can let gcc optimize away dead code */ -#ifndef __NR_socketcall -# define __NR_socketcall 0 -#endif -#ifndef __NR_socket -# define __NR_socket 0 -#endif -#ifndef __NR_connect -# define __NR_connect 0 -#endif -#define DO_SOCKET(result, domain, type, protocol) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = domain; \ - socketargs[1] = type; \ - socketargs[2] = protocol; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \ - } else \ - result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \ - } while (0) -#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = sockfd; \ - socketargs[1] = (unsigned long int)serv_addr; \ - socketargs[2] = addrlen; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \ - } else \ - result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \ - } while (0) - -#ifndef _PATH_LOG -# define _PATH_LOG "/dev/log" -#endif - -static const char path_log[] = _PATH_LOG; - -/* For building glibc with SSP switched on, define __progname to a - * constant if building for the run-time loader, to avoid pulling - * in more of libc.so into ld.so - */ -#ifdef IS_IN_rtld -static char *__progname = ""; -#else -extern char *__progname; -#endif - -/* Common handler code, used by chk_fail - * Inlined to ensure no self-references to the handler within itself. - * Data static to avoid putting more than necessary on the stack, - * to aid core debugging. - */ -__attribute__ ((__noreturn__ , __always_inline__)) -static inline void -__hardened_gentoo_chk_fail(char func[], int damaged) -{ -#define MESSAGE_BUFSIZ 256 - static pid_t pid; - static int plen, i; - static char message[MESSAGE_BUFSIZ]; - static const char msg_ssa[] = ": buffer overflow attack"; - static const char msg_inf[] = " in function "; - static const char msg_ssd[] = "*** buffer overflow detected ***: "; - static const char msg_terminated[] = " - terminated\n"; - static const char msg_report[] = "Report to http://bugs.gentoo.org/\n"; - static const char msg_unknown[] = ""; - static int log_socket, connect_result; - static struct sockaddr_un sock; - static unsigned long int socketargs[4]; - - /* Build socket address - */ - sock.sun_family = AF_UNIX; - i = 0; - while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) { - sock.sun_path[i] = path_log[i]; - i++; - } - sock.sun_path[i] = '\0'; - - /* Try SOCK_DGRAM connection to syslog */ - connect_result = -1; - DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - if (connect_result == -1) { - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - /* Try SOCK_STREAM connection to syslog */ - DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - } - - /* Build message. Messages are generated both in the old style and new style, - * so that log watchers that are configured for the old-style message continue - * to work. - */ -#define strconcat(str) \ - {i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \ - {\ - message[plen+i]=str[i];\ - i++;\ - }\ - plen+=i;} - - /* R.Henderson post-gcc-4 style message */ - plen = 0; - strconcat(msg_ssd); - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Dr. Etoh pre-gcc-4 style message */ - plen = 0; - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_ssa); - strconcat(msg_inf); - if (func != NULL) - strconcat(func) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Direct reports to bugs.gentoo.org */ - plen=0; - strconcat(msg_report); - message[plen++]='\0'; - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - - /* Suicide */ - pid = INLINE_SYSCALL(getpid, 0); - - if (ENABLE_SSP_SMASH_DUMPS_CORE) { - static struct sigaction default_abort_act; - /* Remove any user-supplied handler for SIGABRT, before using it */ - default_abort_act.sa_handler = SIG_DFL; - default_abort_act.sa_sigaction = NULL; - __sigfillset(&default_abort_act.sa_mask); - default_abort_act.sa_flags = 0; - if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0) - INLINE_SYSCALL(kill, 2, pid, SIGABRT); - } - - /* Note; actions cannot be added to SIGKILL */ - INLINE_SYSCALL(kill, 2, pid, SIGKILL); - - /* In case the kill didn't work, exit anyway - * The loop prevents gcc thinking this routine returns - */ - while (1) - INLINE_SYSCALL(exit, 0); -} - -__attribute__ ((__noreturn__)) -void __chk_fail(void) -{ - __hardened_gentoo_chk_fail(NULL, 0); -} - diff --git a/sys-libs/glibc/files/2.10/glibc-2.10-hardened-configure-picdefault.patch b/sys-libs/glibc/files/2.10/glibc-2.10-hardened-configure-picdefault.patch deleted file mode 100644 index e75ccc788c89..000000000000 --- a/sys-libs/glibc/files/2.10/glibc-2.10-hardened-configure-picdefault.patch +++ /dev/null @@ -1,30 +0,0 @@ -Prevent default-fPIE from confusing configure into thinking -PIC code is default. This causes glibc to build both PIC and -non-PIC code as normal, which on the hardened compiler generates -PIC and PIE. - -Patch by Kevin F. Quinn -Fixed for glibc 2.10 by Magnus Granberg - ---- configure.in -+++ configure.in -@@ -2145,7 +2145,7 @@ - # error PIC is default. - #endif - EOF --if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then -+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then - libc_cv_pic_default=no - fi - rm -f conftest.*]) ---- configure -+++ configure -@@ -7698,7 +7698,7 @@ - # error PIC is default. - #endif - EOF --if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then -+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&5 1>&5"; then - libc_cv_pic_default=no - fi - rm -f conftest.* diff --git a/sys-libs/glibc/files/2.10/glibc-2.10-hardened-inittls-nosysenter.patch b/sys-libs/glibc/files/2.10/glibc-2.10-hardened-inittls-nosysenter.patch deleted file mode 100644 index cb6d8e3c78ba..000000000000 --- a/sys-libs/glibc/files/2.10/glibc-2.10-hardened-inittls-nosysenter.patch +++ /dev/null @@ -1,274 +0,0 @@ -When building glibc PIE (which is not something upstream support), -several modifications are necessary to the glibc build process. - -First, any syscalls in PIEs must be of the PIC variant, otherwise -textrels ensue. Then, any syscalls made before the initialisation -of the TLS will fail on i386, as the sysenter variant on i386 uses -the TLS, giving rise to a chicken-and-egg situation. This patch -defines a PIC syscall variant that doesn't use sysenter, even when the sysenter -version is normally used, and uses the non-sysenter version for the brk -syscall that is performed by the TLS initialisation. Further, the TLS -initialisation is moved in this case prior to the initialisation of -dl_osversion, as that requires further syscalls. - -csu/libc-start.c: Move initial TLS initialization to before the -initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined - -csu/libc-tls.c: Use the no-sysenter version of sbrk when -INTERNAL_SYSCALL_NOSYSENTER is defined. - -misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter -version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined. - -misc/brk.c: Define a no-sysenter version of brk if -INTERNAL_SYSCALL_NOSYSENTER is defined. - -sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER -Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED. - -Patch by Kevin F. Quinn -Fixed for 2.10 by Magnus Granberg - ---- csu/libc-start.c -+++ csu/libc-start.c -@@ -28,6 +28,7 @@ - extern int __libc_multiple_libcs; - - #include -+#include - #ifndef SHARED - # include - extern void __pthread_initialize_minimal (void); -@@ -129,6 +130,11 @@ - # endif - _dl_aux_init (auxvec); - # endif -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ /* Do the initial TLS initialization before _dl_osversion, -+ since the latter uses the uname syscall. */ -+ __pthread_initialize_minimal (); -+# endif - # ifdef DL_SYSDEP_OSCHECK - if (!__libc_multiple_libcs) - { -@@ -138,10 +144,12 @@ - } - # endif - -+# ifndef INTERNAL_SYSCALL_NOSYSENTER - /* Initialize the thread library at least a bit since the libgcc - functions are using thread functions if these are available and - we need to setup errno. */ - __pthread_initialize_minimal (); -+# endif - - /* Set up the stack checker's canary. */ - uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (); ---- csu/libc-tls.c -+++ csu/libc-tls.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - - #ifdef SHARED -@@ -29,6 +30,9 @@ - #error makefile bug, this file is for static only - #endif - -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+extern void *__sbrk_nosysenter (intptr_t __delta); -+#endif - extern ElfW(Phdr) *_dl_phdr; - extern size_t _dl_phnum; - -@@ -141,14 +145,26 @@ - - The initialized value of _dl_tls_static_size is provided by dl-open.c - to request some surplus that permits dynamic loading of modules with -- IE-model TLS. */ -+ IE-model TLS. -+ -+ Where the normal sbrk would use a syscall that needs the TLS (i386) -+ use the special non-sysenter version instead. */ - #if TLS_TCB_AT_TP - tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign); -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align); -+# else - tlsblock = __sbrk (tcb_offset + tcbsize + max_align); -+# endif - #elif TLS_DTV_AT_TP - tcb_offset = roundup (tcbsize, align ?: 1); -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align -+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); -+# else - tlsblock = __sbrk (tcb_offset + memsz + max_align - + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); -+# endif - tlsblock += TLS_PRE_TCB_SIZE; - #else - /* In case a model with a different layout for the TCB and DTV ---- misc/sbrk.c -+++ misc/sbrk.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - /* Defined in brk.c. */ - extern void *__curbrk; -@@ -29,6 +30,35 @@ - /* Extend the process's data space by INCREMENT. - If INCREMENT is negative, shrink data space by - INCREMENT. - Return start of new space allocated, or -1 for errors. */ -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ if the SYSENTER version requires the TLS (which it does on i386). -+ Obviously using the TLS before it is initialised is broken. */ -+extern int __brk_nosysenter (void *addr); -+void * -+__sbrk_nosysenter (intptr_t increment) -+{ -+ void *oldbrk; -+ -+ /* If this is not part of the dynamic library or the library is used -+ via dynamic loading in a statically linked program update -+ __curbrk from the kernel's brk value. That way two separate -+ instances of __brk and __sbrk can share the heap, returning -+ interleaved pieces of it. */ -+ if (__curbrk == NULL || __libc_multiple_libcs) -+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */ -+ return (void *) -1; -+ -+ if (increment == 0) -+ return __curbrk; -+ -+ oldbrk = __curbrk; -+ if (__brk_nosysenter (oldbrk + increment) < 0) -+ return (void *) -1; -+ -+ return oldbrk; -+} -+#endif - void * - __sbrk (intptr_t increment) - { ---- sysdeps/unix/sysv/linux/i386/brk.c -+++ sysdeps/unix/sysv/linux/i386/brk.c -@@ -31,6 +31,30 @@ - linker. */ - weak_alias (__curbrk, ___brk_addr) - -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ * if the SYSENTER version requires the TLS (which it does on i386). -+ * Obviously using the TLS before it is initialised is broken. */ -+int -+__brk_nosysenter (void *addr) -+{ -+ void *__unbounded newbrk; -+ -+ INTERNAL_SYSCALL_DECL (err); -+ newbrk = (void *__unbounded) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1, -+ __ptrvalue (addr)); -+ -+ __curbrk = newbrk; -+ -+ if (newbrk < addr) -+ { -+ __set_errno (ENOMEM); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif - int - __brk (void *addr) - { ---- sysdeps/unix/sysv/linux/i386/sysdep.h -+++ sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -187,7 +187,7 @@ - /* The original calling convention for system calls on Linux/i386 is - to use int $0x80. */ - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# if defined SHARED || defined __PIC__ - # define ENTER_KERNEL call *%gs:SYSINFO_OFFSET - # else - # define ENTER_KERNEL call *_dl_sysinfo -@@ -358,7 +358,7 @@ - possible to use more than four parameters. */ - #undef INTERNAL_SYSCALL - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# if defined SHARED || defined __PIC__ - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ -@@ -384,6 +384,18 @@ - : "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \ -+ ({ \ -+ register unsigned int resultvar; \ -+ EXTRAVAR_##nr \ -+ asm volatile ( \ -+ LOADARGS_NOSYSENTER_##nr \ -+ "movl %1, %%eax\n\t" \ -+ "int $0x80\n\t" \ -+ RESTOREARGS_NOSYSENTER_##nr \ -+ : "=a" (resultvar) \ -+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \ -+ (int) resultvar; }) - # else - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ -@@ -447,12 +459,20 @@ - - #define LOADARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ ) - # define LOADARGS_1 \ - "bpushl .L__X'%k3, %k3\n\t" - # define LOADARGS_5 \ - "movl %%ebx, %4\n\t" \ - "movl %3, %%ebx\n\t" -+# define LOADARGS_NOSYSENTER_1 \ -+ "bpushl .L__X'%k2, %k2\n\t" -+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1 -+# define LOADARGS_NOSYSENTER_3 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_4 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_5 \ -+ "movl %%ebx, %3\n\t" \ -+ "movl %2, %%ebx\n\t" - # else - # define LOADARGS_1 \ - "bpushl .L__X'%k2, %k2\n\t" -@@ -474,11 +495,18 @@ - - #define RESTOREARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ ) - # define RESTOREARGS_1 \ - "bpopl .L__X'%k3, %k3\n\t" - # define RESTOREARGS_5 \ - "movl %4, %%ebx" -+# define RESTOREARGS_NOSYSENTER_1 \ -+ "bpopl .L__X'%k2, %k2\n\t" -+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1 -+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_5 \ -+ "movl %3, %%ebx" - # else - # define RESTOREARGS_1 \ - "bpopl .L__X'%k2, %k2\n\t" diff --git a/sys-libs/glibc/files/2.17/glibc-2.17-hardened-pie.patch b/sys-libs/glibc/files/2.17/glibc-2.17-hardened-pie.patch deleted file mode 100644 index da4fb82539cf..000000000000 --- a/sys-libs/glibc/files/2.17/glibc-2.17-hardened-pie.patch +++ /dev/null @@ -1,42 +0,0 @@ -2012-11-11 Magnus Granberg - - #442712 - * Makeconfig (+link): Set to +link-pie. - (+link-static-before-libc): Change $(static-start-installed-name) to - S$(static-start-installed-name). - (+prector): Set to +prectorS. - (+postctor): Set to +postctorS. - ---- libc/Makeconfig -+++ libc/Makeconfig -@@ -447,11 +447,12 @@ - $(common-objpfx)libc% $(+postinit),$^) \ - $(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit) - endif -++link = $(+link-pie) - # Command for statically linking programs with the C library. - ifndef +link-static - +link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \ - $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ -- $(addprefix $(csu-objpfx),$(static-start-installed-name)) \ -+ $(addprefix $(csu-objpfx),S$(static-start-installed-name)) \ - $(+preinit) $(+prectorT) \ - $(filter-out $(addprefix $(csu-objpfx),start.o \ - $(start-installed-name))\ -@@ -549,11 +550,10 @@ - ifeq ($(elf),yes) - +preinit = $(addprefix $(csu-objpfx),crti.o) - +postinit = $(addprefix $(csu-objpfx),crtn.o) --+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o` --+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o` --# Variants of the two previous definitions for linking PIE programs. - +prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o` - +postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o` -++prector = $(+prectorS) -++postctor = $(+postctorS) - # Variants of the two previous definitions for statically linking programs. - +prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o` - +postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o` - +interp = $(addprefix $(elf-objpfx),interp.os) - endif - csu-objpfx = $(common-objpfx)csu/ diff --git a/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-chk_fail.c b/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-chk_fail.c deleted file mode 100644 index c1934362f628..000000000000 --- a/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-chk_fail.c +++ /dev/null @@ -1,314 +0,0 @@ -/* Copyright (C) 2004, 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Copyright (C) 2006-2013 Gentoo Foundation Inc. - * License terms as above. - * - * Hardened Gentoo SSP and FORTIFY handler - * - * An SSP failure handler that does not use functions from the rest of - * glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures - * no possibility of recursion into the handler. - * - * Direct all bug reports to http://bugs.gentoo.org/ - * - * Re-written from the glibc-2.3 Hardened Gentoo SSP handler - * by Kevin F. Quinn - - * - * The following people contributed to the glibc-2.3 Hardened - * Gentoo SSP and FORTIFY handler, from which this implementation draws much: - * - * Ned Ludd - - * Alexander Gabert - - * The PaX Team - - * Peter S. Mazinger - - * Yoann Vandoorselaere - - * Robert Connolly - - * Cory Visi - * Mike Frysinger - * Magnus Granberg - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include -/* from sysdeps */ -#include -/* for the stuff in bits/socket.h */ -#include -#include - -/* Sanity check on SYSCALL macro names - force compilation - * failure if the names used here do not exist - */ -#if !defined __NR_socketcall && !defined __NR_socket -# error Cannot do syscall socket or socketcall -#endif -#if !defined __NR_socketcall && !defined __NR_connect -# error Cannot do syscall connect or socketcall -#endif -#ifndef __NR_write -# error Cannot do syscall write -#endif -#ifndef __NR_close -# error Cannot do syscall close -#endif -#ifndef __NR_getpid -# error Cannot do syscall getpid -#endif -#ifndef __NR_kill -# error Cannot do syscall kill -#endif -#ifndef __NR_exit -# error Cannot do syscall exit -#endif -#ifdef SSP_SMASH_DUMPS_CORE -# define ENABLE_SSP_SMASH_DUMPS_CORE 1 -# if !defined _KERNEL_NSIG && !defined _NSIG -# error No _NSIG or _KERNEL_NSIG for rt_sigaction -# endif -# if !defined __NR_sigaction && !defined __NR_rt_sigaction -# error Cannot do syscall sigaction or rt_sigaction -# endif -/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size - * of the _kernel_ sigset_t which is not the same as the user sigset_t. - * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for - * some reason. - */ -# ifdef _KERNEL_NSIG -# define _SSP_NSIG _KERNEL_NSIG -# else -# define _SSP_NSIG _NSIG -# endif -#else -# define _SSP_NSIG 0 -# define ENABLE_SSP_SMASH_DUMPS_CORE 0 -#endif - -/* Define DO_SIGACTION - default to newer rt signal interface but - * fallback to old as needed. - */ -#ifdef __NR_rt_sigaction -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8) -#else -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(sigaction, 3, signum, act, oldact) -#endif - -/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */ -#if defined(__NR_socket) && defined(__NR_connect) -# define USE_OLD_SOCKETCALL 0 -#else -# define USE_OLD_SOCKETCALL 1 -#endif - -/* stub out the __NR_'s so we can let gcc optimize away dead code */ -#ifndef __NR_socketcall -# define __NR_socketcall 0 -#endif -#ifndef __NR_socket -# define __NR_socket 0 -#endif -#ifndef __NR_connect -# define __NR_connect 0 -#endif -#define DO_SOCKET(result, domain, type, protocol) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = domain; \ - socketargs[1] = type; \ - socketargs[2] = protocol; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \ - } else \ - result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \ - } while (0) -#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = sockfd; \ - socketargs[1] = (unsigned long int)serv_addr; \ - socketargs[2] = addrlen; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \ - } else \ - result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \ - } while (0) - -#ifndef _PATH_LOG -# define _PATH_LOG "/dev/log" -#endif - -static const char path_log[] = _PATH_LOG; - -/* For building glibc with SSP switched on, define __progname to a - * constant if building for the run-time loader, to avoid pulling - * in more of libc.so into ld.so - */ -#ifdef IS_IN_rtld -static char *__progname = ""; -#else -extern char *__progname; -#endif - -/* Common handler code, used by chk_fail - * Inlined to ensure no self-references to the handler within itself. - * Data static to avoid putting more than necessary on the stack, - * to aid core debugging. - */ -__attribute__ ((__noreturn__ , __always_inline__)) -static inline void -__hardened_gentoo_chk_fail(char func[], int damaged) -{ -#define MESSAGE_BUFSIZ 256 - static pid_t pid; - static int plen, i; - static char message[MESSAGE_BUFSIZ]; - static const char msg_ssa[] = ": buffer overflow attack"; - static const char msg_inf[] = " in function "; - static const char msg_ssd[] = "*** buffer overflow detected ***: "; - static const char msg_terminated[] = " - terminated\n"; - static const char msg_report[] = "Report to http://bugs.gentoo.org/\n"; - static const char msg_unknown[] = ""; - static int log_socket, connect_result; - static struct sockaddr_un sock; - static unsigned long int socketargs[4]; - - /* Build socket address - */ - sock.sun_family = AF_UNIX; - i = 0; - while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) { - sock.sun_path[i] = path_log[i]; - i++; - } - sock.sun_path[i] = '\0'; - - /* Try SOCK_DGRAM connection to syslog */ - connect_result = -1; - DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - if (connect_result == -1) { - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - /* Try SOCK_STREAM connection to syslog */ - DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - } - - /* Build message. Messages are generated both in the old style and new style, - * so that log watchers that are configured for the old-style message continue - * to work. - */ -#define strconcat(str) \ - {i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \ - {\ - message[plen+i]=str[i];\ - i++;\ - }\ - plen+=i;} - - /* R.Henderson post-gcc-4 style message */ - plen = 0; - strconcat(msg_ssd); - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Dr. Etoh pre-gcc-4 style message */ - plen = 0; - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_ssa); - strconcat(msg_inf); - if (func != NULL) - strconcat(func) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Direct reports to bugs.gentoo.org */ - plen=0; - strconcat(msg_report); - message[plen++]='\0'; - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - - /* Suicide */ - pid = INLINE_SYSCALL(getpid, 0); - - if (ENABLE_SSP_SMASH_DUMPS_CORE) { - static struct sigaction default_abort_act; - /* Remove any user-supplied handler for SIGABRT, before using it */ - default_abort_act.sa_handler = SIG_DFL; - default_abort_act.sa_sigaction = NULL; - __sigfillset(&default_abort_act.sa_mask); - default_abort_act.sa_flags = 0; - if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0) - INLINE_SYSCALL(kill, 2, pid, SIGABRT); - } - - /* Note; actions cannot be added to SIGKILL */ - INLINE_SYSCALL(kill, 2, pid, SIGKILL); - - /* In case the kill didn't work, exit anyway - * The loop prevents gcc thinking this routine returns - */ - while (1) - INLINE_SYSCALL(exit, 0); -} - -__attribute__ ((__noreturn__)) -void __chk_fail(void) -{ - __hardened_gentoo_chk_fail(NULL, 0); -} - diff --git a/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-stack_chk_fail.c b/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-stack_chk_fail.c deleted file mode 100644 index 9535c2157895..000000000000 --- a/sys-libs/glibc/files/2.18/glibc-2.18-gentoo-stack_chk_fail.c +++ /dev/null @@ -1,322 +0,0 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Copyright (C) 2006-2013 Gentoo Foundation Inc. - * License terms as above. - * - * Hardened Gentoo SSP handler - * - * An SSP failure handler that does not use functions from the rest of - * glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures - * no possibility of recursion into the handler. - * - * Direct all bug reports to http://bugs.gentoo.org/ - * - * Re-written from the glibc-2.3 Hardened Gentoo SSP handler - * by Kevin F. Quinn - - * - * Fixed to support glibc-2.18 by Magnus Granberg - - * - * The following people contributed to the glibc-2.3 Hardened - * Gentoo SSP handler, from which this implementation draws much: - * - * Ned Ludd - - * Alexander Gabert - - * The PaX Team - - * Peter S. Mazinger - - * Yoann Vandoorselaere - - * Robert Connolly - - * Cory Visi - * Mike Frysinger - */ - -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include -/* from sysdeps */ -#include -/* for the stuff in bits/socket.h */ -#include -#include - - -/* Sanity check on SYSCALL macro names - force compilation - * failure if the names used here do not exist - */ -#if !defined __NR_socketcall && !defined __NR_socket -# error Cannot do syscall socket or socketcall -#endif -#if !defined __NR_socketcall && !defined __NR_connect -# error Cannot do syscall connect or socketcall -#endif -#ifndef __NR_write -# error Cannot do syscall write -#endif -#ifndef __NR_close -# error Cannot do syscall close -#endif -#ifndef __NR_getpid -# error Cannot do syscall getpid -#endif -#ifndef __NR_kill -# error Cannot do syscall kill -#endif -#ifndef __NR_exit -# error Cannot do syscall exit -#endif -#ifdef SSP_SMASH_DUMPS_CORE -# define ENABLE_SSP_SMASH_DUMPS_CORE 1 -# if !defined _KERNEL_NSIG && !defined _NSIG -# error No _NSIG or _KERNEL_NSIG for rt_sigaction -# endif -# if !defined __NR_sigaction && !defined __NR_rt_sigaction -# error Cannot do syscall sigaction or rt_sigaction -# endif -/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size - * of the _kernel_ sigset_t which is not the same as the user sigset_t. - * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for - * some reason. - */ -# ifdef _KERNEL_NSIG -# define _SSP_NSIG _KERNEL_NSIG -# else -# define _SSP_NSIG _NSIG -# endif -#else -# define _SSP_NSIG 0 -# define ENABLE_SSP_SMASH_DUMPS_CORE 0 -#endif - -/* Define DO_SIGACTION - default to newer rt signal interface but - * fallback to old as needed. - */ -#ifdef __NR_rt_sigaction -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8) -#else -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(sigaction, 3, signum, act, oldact) -#endif - -/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */ -#if defined(__NR_socket) && defined(__NR_connect) -# define USE_OLD_SOCKETCALL 0 -#else -# define USE_OLD_SOCKETCALL 1 -#endif -/* stub out the __NR_'s so we can let gcc optimize away dead code */ -#ifndef __NR_socketcall -# define __NR_socketcall 0 -#endif -#ifndef __NR_socket -# define __NR_socket 0 -#endif -#ifndef __NR_connect -# define __NR_connect 0 -#endif -#define DO_SOCKET(result, domain, type, protocol) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = domain; \ - socketargs[1] = type; \ - socketargs[2] = protocol; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \ - } else \ - result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \ - } while (0) -#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = sockfd; \ - socketargs[1] = (unsigned long int)serv_addr; \ - socketargs[2] = addrlen; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \ - } else \ - result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \ - } while (0) - -#ifndef _PATH_LOG -# define _PATH_LOG "/dev/log" -#endif - -static const char path_log[] = _PATH_LOG; - -/* For building glibc with SSP switched on, define __progname to a - * constant if building for the run-time loader, to avoid pulling - * in more of libc.so into ld.so - */ -#ifdef IS_IN_rtld -static char *__progname = ""; -#else -extern char *__progname; -#endif - - -/* Common handler code, used by stack_chk_fail and __stack_smash_handler - * Inlined to ensure no self-references to the handler within itself. - * Data static to avoid putting more than necessary on the stack, - * to aid core debugging. - */ -__attribute__ ((__noreturn__ , __always_inline__)) -static inline void -__hardened_gentoo_stack_chk_fail(char func[], int damaged) -{ -#define MESSAGE_BUFSIZ 256 - static pid_t pid; - static int plen, i; - static char message[MESSAGE_BUFSIZ]; - static const char msg_ssa[] = ": stack smashing attack"; - static const char msg_inf[] = " in function "; - static const char msg_ssd[] = "*** stack smashing detected ***: "; - static const char msg_terminated[] = " - terminated\n"; - static const char msg_report[] = "Report to http://bugs.gentoo.org/\n"; - static const char msg_unknown[] = ""; - static int log_socket, connect_result; - static struct sockaddr_un sock; - static unsigned long int socketargs[4]; - - /* Build socket address - */ - sock.sun_family = AF_UNIX; - i = 0; - while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) { - sock.sun_path[i] = path_log[i]; - i++; - } - sock.sun_path[i] = '\0'; - - /* Try SOCK_DGRAM connection to syslog */ - connect_result = -1; - DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - if (connect_result == -1) { - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - /* Try SOCK_STREAM connection to syslog */ - DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - } - - /* Build message. Messages are generated both in the old style and new style, - * so that log watchers that are configured for the old-style message continue - * to work. - */ -#define strconcat(str) \ - {i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \ - {\ - message[plen+i]=str[i];\ - i++;\ - }\ - plen+=i;} - - /* R.Henderson post-gcc-4 style message */ - plen = 0; - strconcat(msg_ssd); - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Dr. Etoh pre-gcc-4 style message */ - plen = 0; - if (__progname != (char *)0) - strconcat(__progname) - else - strconcat(msg_unknown); - strconcat(msg_ssa); - strconcat(msg_inf); - if (func != NULL) - strconcat(func) - else - strconcat(msg_unknown); - strconcat(msg_terminated); - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - /* Direct reports to bugs.gentoo.org */ - plen=0; - strconcat(msg_report); - message[plen++]='\0'; - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen); - if (connect_result != -1) - INLINE_SYSCALL(write, 3, log_socket, message, plen); - - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - - /* Suicide */ - pid = INLINE_SYSCALL(getpid, 0); - - if (ENABLE_SSP_SMASH_DUMPS_CORE) { - static struct sigaction default_abort_act; - /* Remove any user-supplied handler for SIGABRT, before using it */ - default_abort_act.sa_handler = SIG_DFL; - default_abort_act.sa_sigaction = NULL; - __sigfillset(&default_abort_act.sa_mask); - default_abort_act.sa_flags = 0; - if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0) - INLINE_SYSCALL(kill, 2, pid, SIGABRT); - } - - /* Note; actions cannot be added to SIGKILL */ - INLINE_SYSCALL(kill, 2, pid, SIGKILL); - - /* In case the kill didn't work, exit anyway - * The loop prevents gcc thinking this routine returns - */ - while (1) - INLINE_SYSCALL(exit, 0); -} - -__attribute__ ((__noreturn__)) -void __stack_chk_fail(void) -{ - __hardened_gentoo_stack_chk_fail(NULL, 0); -} - -#ifdef ENABLE_OLD_SSP_COMPAT -__attribute__ ((__noreturn__)) -void __stack_smash_handler(char func[], int damaged) -{ - __hardened_gentoo_stack_chk_fail(func, damaged); -} -#endif diff --git a/sys-libs/glibc/files/2.18/glibc-2.18-hardened-inittls-nosysenter.patch b/sys-libs/glibc/files/2.18/glibc-2.18-hardened-inittls-nosysenter.patch deleted file mode 100644 index 8907ab2c6a34..000000000000 --- a/sys-libs/glibc/files/2.18/glibc-2.18-hardened-inittls-nosysenter.patch +++ /dev/null @@ -1,277 +0,0 @@ -When building glibc PIE (which is not something upstream support), -several modifications are necessary to the glibc build process. - -First, any syscalls in PIEs must be of the PIC variant, otherwise -textrels ensue. Then, any syscalls made before the initialisation -of the TLS will fail on i386, as the sysenter variant on i386 uses -the TLS, giving rise to a chicken-and-egg situation. This patch -defines a PIC syscall variant that doesn't use sysenter, even when the sysenter -version is normally used, and uses the non-sysenter version for the brk -syscall that is performed by the TLS initialisation. Further, the TLS -initialisation is moved in this case prior to the initialisation of -dl_osversion, as that requires further syscalls. - -csu/libc-start.c: Move initial TLS initialization to before the -initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined - -csu/libc-tls.c: Use the no-sysenter version of sbrk when -INTERNAL_SYSCALL_NOSYSENTER is defined. - -misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter -version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined. - -misc/brk.c: Define a no-sysenter version of brk if -INTERNAL_SYSCALL_NOSYSENTER is defined. - -sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER -Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED. - -Patch by Kevin F. Quinn -Fixed for 2.10 by Magnus Granberg -Fixed for 2.18 by Magnus Granberg - ---- csu/libc-start.c -+++ csu/libc-start.c -@@ -28,6 +28,7 @@ - extern int __libc_multiple_libcs; - - #include -+#include - #ifndef SHARED - # include - extern void __pthread_initialize_minimal (void); -@@ -170,7 +170,11 @@ LIBC_START_MAIN (int (*main) (int, char - GL(dl_phnum) = __ehdr_start.e_phnum; - } - } -- -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ /* Do the initial TLS initialization before _dl_osversion, -+ since the latter uses the uname syscall. */ -+ __pthread_initialize_minimal (); -+# endif - # ifdef DL_SYSDEP_OSCHECK - if (!__libc_multiple_libcs) - { -@@ -138,10 +144,12 @@ - } - # endif - -+# ifndef INTERNAL_SYSCALL_NOSYSENTER - /* Initialize the thread library at least a bit since the libgcc - functions are using thread functions if these are available and - we need to setup errno. */ - __pthread_initialize_minimal (); -+# endif - - /* Set up the stack checker's canary. */ - uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (); ---- csu/libc-tls.c -+++ csu/libc-tls.c -@@ -22,14 +22,17 @@ - #include - #include - #include -- -+#include - - #ifdef SHARED - #error makefile bug, this file is for static only - #endif - --dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS]; -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+extern void *__sbrk_nosysenter (intptr_t __delta); -+#endif - -+dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS]; - - static struct - { -@@ -139,14 +142,26 @@ __libc_setup_tls (size_t tcbsize, size_t - - The initialized value of _dl_tls_static_size is provided by dl-open.c - to request some surplus that permits dynamic loading of modules with -- IE-model TLS. */ -+ IE-model TLS. -+ -+ Where the normal sbrk would use a syscall that needs the TLS (i386) -+ use the special non-sysenter version instead. */ - #if TLS_TCB_AT_TP - tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign); -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align); -+# else - tlsblock = __sbrk (tcb_offset + tcbsize + max_align); -+#endif - #elif TLS_DTV_AT_TP - tcb_offset = roundup (tcbsize, align ?: 1); -+# ifdef INTERNAL_SYSCALL_NOSYSENTER -+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align -+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); -+# else - tlsblock = __sbrk (tcb_offset + memsz + max_align - + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); -+#endif - tlsblock += TLS_PRE_TCB_SIZE; - #else - /* In case a model with a different layout for the TCB and DTV ---- misc/sbrk.c -+++ misc/sbrk.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - /* Defined in brk.c. */ - extern void *__curbrk; -@@ -29,6 +30,35 @@ - /* Extend the process's data space by INCREMENT. - If INCREMENT is negative, shrink data space by - INCREMENT. - Return start of new space allocated, or -1 for errors. */ -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ if the SYSENTER version requires the TLS (which it does on i386). -+ Obviously using the TLS before it is initialised is broken. */ -+extern int __brk_nosysenter (void *addr); -+void * -+__sbrk_nosysenter (intptr_t increment) -+{ -+ void *oldbrk; -+ -+ /* If this is not part of the dynamic library or the library is used -+ via dynamic loading in a statically linked program update -+ __curbrk from the kernel's brk value. That way two separate -+ instances of __brk and __sbrk can share the heap, returning -+ interleaved pieces of it. */ -+ if (__curbrk == NULL || __libc_multiple_libcs) -+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */ -+ return (void *) -1; -+ -+ if (increment == 0) -+ return __curbrk; -+ -+ oldbrk = __curbrk; -+ if (__brk_nosysenter (oldbrk + increment) < 0) -+ return (void *) -1; -+ -+ return oldbrk; -+} -+#endif - void * - __sbrk (intptr_t increment) - { ---- sysdeps/unix/sysv/linux/i386/brk.c -+++ sysdeps/unix/sysv/linux/i386/brk.c -@@ -31,6 +31,29 @@ - linker. */ - weak_alias (__curbrk, ___brk_addr) - -+#ifdef INTERNAL_SYSCALL_NOSYSENTER -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ * if the SYSENTER version requires the TLS (which it does on i386). -+ * Obviously using the TLS before it is initialised is broken. */ -+int -+__brk_nosysenter (void *addr) -+{ -+ void * newbrk; -+ -+ INTERNAL_SYSCALL_DECL (err); -+ newbrk = (void *) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1, addr); -+ -+ __curbrk = newbrk; -+ -+ if (newbrk < addr) -+ { -+ __set_errno (ENOMEM); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif - int - __brk (void *addr) - { ---- sysdeps/unix/sysv/linux/i386/sysdep.h -+++ sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -187,7 +187,7 @@ - /* The original calling convention for system calls on Linux/i386 is - to use int $0x80. */ - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# if defined SHARED || defined __PIC__ - # define ENTER_KERNEL call *%gs:SYSINFO_OFFSET - # else - # define ENTER_KERNEL call *_dl_sysinfo -@@ -358,7 +358,7 @@ - possible to use more than four parameters. */ - #undef INTERNAL_SYSCALL - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# if defined SHARED || defined __PIC__ - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ -@@ -384,6 +384,18 @@ - : "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \ -+ ({ \ -+ register unsigned int resultvar; \ -+ EXTRAVAR_##nr \ -+ asm volatile ( \ -+ LOADARGS_NOSYSENTER_##nr \ -+ "movl %1, %%eax\n\t" \ -+ "int $0x80\n\t" \ -+ RESTOREARGS_NOSYSENTER_##nr \ -+ : "=a" (resultvar) \ -+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \ -+ (int) resultvar; }) - # else - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ -@@ -447,12 +459,20 @@ - - #define LOADARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ ) - # define LOADARGS_1 \ - "bpushl .L__X'%k3, %k3\n\t" - # define LOADARGS_5 \ - "movl %%ebx, %4\n\t" \ - "movl %3, %%ebx\n\t" -+# define LOADARGS_NOSYSENTER_1 \ -+ "bpushl .L__X'%k2, %k2\n\t" -+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1 -+# define LOADARGS_NOSYSENTER_3 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_4 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_5 \ -+ "movl %%ebx, %3\n\t" \ -+ "movl %2, %%ebx\n\t" - # else - # define LOADARGS_1 \ - "bpushl .L__X'%k2, %k2\n\t" -@@ -474,11 +495,18 @@ - - #define RESTOREARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ ) - # define RESTOREARGS_1 \ - "bpopl .L__X'%k3, %k3\n\t" - # define RESTOREARGS_5 \ - "movl %4, %%ebx" -+# define RESTOREARGS_NOSYSENTER_1 \ -+ "bpopl .L__X'%k2, %k2\n\t" -+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1 -+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_5 \ -+ "movl %3, %%ebx" - # else - # define RESTOREARGS_1 \ - "bpopl .L__X'%k2, %k2\n\t" diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c deleted file mode 100644 index a8ab9d8a3e29..000000000000 --- a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-chk_fail.c +++ /dev/null @@ -1,299 +0,0 @@ -/* Copyright (C) 2004-2014 Free Software Foundation, Inc. - Copyright (C) 2006-2014 Gentoo Foundation Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Hardened Gentoo SSP and FORTIFY handler - - A failure handler that does not use functions from the rest of glibc; - it uses the INTERNAL_SYSCALL methods directly. This helps ensure no - possibility of recursion into the handler. - - Direct all bug reports to http://bugs.gentoo.org/ - - People who have contributed significantly to the evolution of this file: - Ned Ludd - - Alexander Gabert - - The PaX Team - - Peter S. Mazinger - - Yoann Vandoorselaere - - Robert Connolly - - Cory Visi - Mike Frysinger - Magnus Granberg - Kevin F. Quinn - - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include -/* from sysdeps */ -#include -/* for the stuff in bits/socket.h */ -#include -#include - -/* Sanity check on SYSCALL macro names - force compilation - * failure if the names used here do not exist - */ -#if !defined __NR_socketcall && !defined __NR_socket -# error Cannot do syscall socket or socketcall -#endif -#if !defined __NR_socketcall && !defined __NR_connect -# error Cannot do syscall connect or socketcall -#endif -#ifndef __NR_write -# error Cannot do syscall write -#endif -#ifndef __NR_close -# error Cannot do syscall close -#endif -#ifndef __NR_getpid -# error Cannot do syscall getpid -#endif -#ifndef __NR_kill -# error Cannot do syscall kill -#endif -#ifndef __NR_exit -# error Cannot do syscall exit -#endif -#ifdef SSP_SMASH_DUMPS_CORE -# define ENABLE_SSP_SMASH_DUMPS_CORE 1 -# if !defined _KERNEL_NSIG && !defined _NSIG -# error No _NSIG or _KERNEL_NSIG for rt_sigaction -# endif -# if !defined __NR_sigaction && !defined __NR_rt_sigaction -# error Cannot do syscall sigaction or rt_sigaction -# endif -/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size - * of the _kernel_ sigset_t which is not the same as the user sigset_t. - * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for - * some reason. - */ -# ifdef _KERNEL_NSIG -# define _SSP_NSIG _KERNEL_NSIG -# else -# define _SSP_NSIG _NSIG -# endif -#else -# define _SSP_NSIG 0 -# define ENABLE_SSP_SMASH_DUMPS_CORE 0 -#endif - -/* Define DO_SIGACTION - default to newer rt signal interface but - * fallback to old as needed. - */ -#ifdef __NR_rt_sigaction -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8) -#else -# define DO_SIGACTION(signum, act, oldact) \ - INLINE_SYSCALL(sigaction, 3, signum, act, oldact) -#endif - -/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */ -#if defined(__NR_socket) && defined(__NR_connect) -# define USE_OLD_SOCKETCALL 0 -#else -# define USE_OLD_SOCKETCALL 1 -#endif - -/* stub out the __NR_'s so we can let gcc optimize away dead code */ -#ifndef __NR_socketcall -# define __NR_socketcall 0 -#endif -#ifndef __NR_socket -# define __NR_socket 0 -#endif -#ifndef __NR_connect -# define __NR_connect 0 -#endif -#define DO_SOCKET(result, domain, type, protocol) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = domain; \ - socketargs[1] = type; \ - socketargs[2] = protocol; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \ - } else \ - result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \ - } while (0) -#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \ - do { \ - if (USE_OLD_SOCKETCALL) { \ - socketargs[0] = sockfd; \ - socketargs[1] = (unsigned long int)serv_addr; \ - socketargs[2] = addrlen; \ - socketargs[3] = 0; \ - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \ - } else \ - result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \ - } while (0) - -#ifndef _PATH_LOG -# define _PATH_LOG "/dev/log" -#endif - -static const char path_log[] = _PATH_LOG; - -/* For building glibc with SSP switched on, define __progname to a - * constant if building for the run-time loader, to avoid pulling - * in more of libc.so into ld.so - */ -#ifdef IS_IN_rtld -static const char *__progname = ""; -#else -extern const char *__progname; -#endif - -#ifdef GENTOO_SSP_HANDLER -# define ERROR_MSG "stack smashing" -#else -# define ERROR_MSG "buffer overflow" -#endif - -/* Common handler code, used by chk_fail - * Inlined to ensure no self-references to the handler within itself. - * Data static to avoid putting more than necessary on the stack, - * to aid core debugging. - */ -__attribute__ ((__noreturn__, __always_inline__)) -static inline void -__hardened_gentoo_fail(void) -{ -#define MESSAGE_BUFSIZ 512 - static pid_t pid; - static int plen, i, hlen; - static char message[MESSAGE_BUFSIZ]; - /* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */ - static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: "; - static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: "; - static const char msg_terminated[] = " terminated; "; - static const char msg_report[] = "report to " REPORT_BUGS_TO "\n"; - static const char msg_unknown[] = ""; - static int log_socket, connect_result; - static struct sockaddr_un sock; - static unsigned long int socketargs[4]; - - /* Build socket address */ - sock.sun_family = AF_UNIX; - i = 0; - while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) { - sock.sun_path[i] = path_log[i]; - ++i; - } - sock.sun_path[i] = '\0'; - - /* Try SOCK_DGRAM connection to syslog */ - connect_result = -1; - DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - if (connect_result == -1) { - if (log_socket != -1) - INLINE_SYSCALL(close, 1, log_socket); - /* Try SOCK_STREAM connection to syslog */ - DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0); - if (log_socket != -1) - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock)); - } - - /* Build message. Messages are generated both in the old style and new style, - * so that log watchers that are configured for the old-style message continue - * to work. - */ -#define strconcat(str) \ - ({ \ - i = 0; \ - while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \ - message[plen + i] = str[i]; \ - ++i; \ - } \ - plen += i; \ - }) - - /* Tersely log the failure */ - plen = 0; - strconcat(msg_header); - hlen = plen; - strconcat(msg_ssd); - if (__progname != NULL) - strconcat(__progname); - else - strconcat(msg_unknown); - strconcat(msg_terminated); - strconcat(msg_report); - - /* Write out error message to STDERR, to syslog if open */ - INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen); - if (connect_result != -1) { - INLINE_SYSCALL(write, 3, log_socket, message, plen); - INLINE_SYSCALL(close, 1, log_socket); - } - - /* Time to kill self since we have no idea what is going on */ - pid = INLINE_SYSCALL(getpid, 0); - - if (ENABLE_SSP_SMASH_DUMPS_CORE) { - /* Remove any user-supplied handler for SIGABRT, before using it. */ -#if 0 - /* - * Note: Disabled because some programs catch & process their - * own crashes. We've already enabled this code path which - * means we want to let core dumps happen. - */ - static struct sigaction default_abort_act; - default_abort_act.sa_handler = SIG_DFL; - default_abort_act.sa_sigaction = NULL; - __sigfillset(&default_abort_act.sa_mask); - default_abort_act.sa_flags = 0; - if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0) -#endif - INLINE_SYSCALL(kill, 2, pid, SIGABRT); - } - - /* SIGKILL is only signal which cannot be caught */ - INLINE_SYSCALL(kill, 2, pid, SIGKILL); - - /* In case the kill didn't work, exit anyway. - * The loop prevents gcc thinking this routine returns. - */ - while (1) - INLINE_SYSCALL(exit, 1, 137); -} - -__attribute__ ((__noreturn__)) -#ifdef GENTOO_SSP_HANDLER -void __stack_chk_fail(void) -#else -void __chk_fail(void) -#endif -{ - __hardened_gentoo_fail(); -} diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c b/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c deleted file mode 100644 index 4a537bb52c5f..000000000000 --- a/sys-libs/glibc/files/2.20/glibc-2.20-gentoo-stack_chk_fail.c +++ /dev/null @@ -1,2 +0,0 @@ -#define GENTOO_SSP_HANDLER -#include diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-hardened-inittls-nosysenter.patch b/sys-libs/glibc/files/2.20/glibc-2.20-hardened-inittls-nosysenter.patch deleted file mode 100644 index 35eabe94014a..000000000000 --- a/sys-libs/glibc/files/2.20/glibc-2.20-hardened-inittls-nosysenter.patch +++ /dev/null @@ -1,306 +0,0 @@ -When building glibc PIE (which is not something upstream support), -several modifications are necessary to the glibc build process. - -First, any syscalls in PIEs must be of the PIC variant, otherwise -textrels ensue. Then, any syscalls made before the initialisation -of the TLS will fail on i386, as the sysenter variant on i386 uses -the TLS, giving rise to a chicken-and-egg situation. This patch -defines a PIC syscall variant that doesn't use sysenter, even when the sysenter -version is normally used, and uses the non-sysenter version for the brk -syscall that is performed by the TLS initialisation. Further, the TLS -initialisation is moved in this case prior to the initialisation of -dl_osversion, as that requires further syscalls. - -csu/libc-start.c: Move initial TLS initialization to before the -initialisation of dl_osversion, when INTERNAL_SYSCALL_PRE_TLS is defined - -csu/libc-tls.c: Use the no-sysenter version of sbrk when -INTERNAL_SYSCALL_PRE_TLS is defined. - -misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter -version of brk - if INTERNAL_SYSCALL_PRE_TLS is defined. - -misc/brk.c: Define a no-sysenter version of brk if -INTERNAL_SYSCALL_PRE_TLS is defined. - -sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_PRE_TLS -Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED. - -Patch by Kevin F. Quinn -Fixed for 2.10 by Magnus Granberg -Fixed for 2.18 by Magnus Granberg -Fixed for 2.20 by Francisco Blas Izquierdo Riera - ---- a/csu/libc-start.c -+++ b/csu/libc-start.c -@@ -28,6 +28,7 @@ - extern int __libc_multiple_libcs; - - #include -+#include - #ifndef SHARED - # include - extern void __pthread_initialize_minimal (void); -@@ -170,6 +171,11 @@ LIBC_START_MAIN (int (*main) (int, char - } - } - -+# ifdef INTERNAL_SYSCALL_PRE_TLS -+ /* Do the initial TLS initialization before _dl_osversion, -+ since the latter uses the uname syscall. */ -+ __pthread_initialize_minimal (); -+# endif - # ifdef DL_SYSDEP_OSCHECK - if (!__libc_multiple_libcs) - { -@@ -138,10 +144,12 @@ - } - # endif - -+# ifndef INTERNAL_SYSCALL_PRE_TLS - /* Initialize the thread library at least a bit since the libgcc - functions are using thread functions if these are available and - we need to setup errno. */ - __pthread_initialize_minimal (); -+# endif - - /* Set up the stack checker's canary. */ - uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (); ---- a/csu/libc-tls.c -+++ b/csu/libc-tls.c -@@ -22,12 +22,17 @@ - #include - #include - #include -+#include - - - #ifdef SHARED - #error makefile bug, this file is for static only - #endif - -+#ifdef INTERNAL_SYSCALL_PRE_TLS -+extern void *__sbrk_nosysenter (intptr_t __delta); -+#endif -+ - dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS]; - - -@@ -139,20 +144,29 @@ __libc_setup_tls (size_t tcbsize, size_t - - The initialized value of _dl_tls_static_size is provided by dl-open.c - to request some surplus that permits dynamic loading of modules with -- IE-model TLS. */ -+ IE-model TLS. -+ -+ Where the normal sbrk would use a syscall that needs the TLS (i386) -+ use the special non-sysenter version instead. */ -+#ifdef INTERNAL_SYSCALL_PRE_TLS -+# define __sbrk __sbrk_nosysenter -+#endif - #if TLS_TCB_AT_TP - tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign); - tlsblock = __sbrk (tcb_offset + tcbsize + max_align); - #elif TLS_DTV_AT_TP - tcb_offset = roundup (tcbsize, align ?: 1); - tlsblock = __sbrk (tcb_offset + memsz + max_align - + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size)); - tlsblock += TLS_PRE_TCB_SIZE; - #else - /* In case a model with a different layout for the TCB and DTV - is defined add another #elif here and in the following #ifs. */ - # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" - #endif -+#ifdef INTERNAL_SYSCALL_PRE_TLS -+# undef __sbrk -+#endif - - /* Align the TLS block. */ - tlsblock = (void *) (((uintptr_t) tlsblock + max_align - 1) ---- a/misc/sbrk.c -+++ b/misc/sbrk.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - /* Defined in brk.c. */ - extern void *__curbrk; -@@ -29,6 +30,35 @@ - /* Extend the process's data space by INCREMENT. - If INCREMENT is negative, shrink data space by - INCREMENT. - Return start of new space allocated, or -1 for errors. */ -+#ifdef INTERNAL_SYSCALL_PRE_TLS -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ if the SYSENTER version requires the TLS (which it does on i386). -+ Obviously using the TLS before it is initialised is broken. */ -+extern int __brk_nosysenter (void *addr); -+void * -+__sbrk_nosysenter (intptr_t increment) -+{ -+ void *oldbrk; -+ -+ /* If this is not part of the dynamic library or the library is used via -+ dynamic loading in a statically linked program update __curbrk from the -+ kernel's brk value. That way two separate instances of __brk and __sbrk -+ can share the heap, returning interleaved pieces of it. */ -+ if (__curbrk == NULL || __libc_multiple_libcs) -+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */ -+ return (void *) -1; -+ -+ if (increment == 0) -+ return __curbrk; -+ -+ oldbrk = __curbrk; -+ if (__brk_nosysenter (oldbrk + increment) < 0) -+ return (void *) -1; -+ -+ return oldbrk; -+} -+#endif -+ - void * - __sbrk (intptr_t increment) - { ---- a/sysdeps/unix/sysv/linux/i386/brk.c -+++ b/sysdeps/unix/sysv/linux/i386/brk.c -@@ -31,6 +31,30 @@ - linker. */ - weak_alias (__curbrk, ___brk_addr) - -+#ifdef INTERNAL_SYSCALL_PRE_TLS -+/* This version is used by csu/libc-tls.c whem initialising the TLS -+ if the SYSENTER version requires the TLS (which it does on i386). -+ Obviously using the TLS before it is initialised is broken. */ -+int -+__brk_nosysenter (void *addr) -+{ -+ void *newbrk; -+ -+ INTERNAL_SYSCALL_DECL (err); -+ newbrk = (void *) INTERNAL_SYSCALL_PRE_TLS (brk, err, 1, addr); -+ -+ __curbrk = newbrk; -+ -+ if (newbrk < addr) -+ { -+ __set_errno (ENOMEM); -+ return -1; -+ } -+ -+ return 0; -+} -+#endif -+ - int - __brk (void *addr) - { ---- a/sysdeps/unix/sysv/linux/i386/sysdep.h -+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -187,7 +187,7 @@ - /* The original calling convention for system calls on Linux/i386 is - to use int $0x80. */ - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# ifdef __PIC__ - # define ENTER_KERNEL call *%gs:SYSINFO_OFFSET - # else - # define ENTER_KERNEL call *_dl_sysinfo -@@ -358,7 +358,7 @@ - possible to use more than four parameters. */ - #undef INTERNAL_SYSCALL - #ifdef I386_USE_SYSENTER --# ifdef SHARED -+# ifdef __PIC__ - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ -@@ -384,6 +384,18 @@ - : "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -+# define INTERNAL_SYSCALL_PRE_TLS(name, err, nr, args...) \ -+ ({ \ -+ register unsigned int resultvar; \ -+ EXTRAVAR_##nr \ -+ asm volatile ( \ -+ LOADARGS_NOSYSENTER_##nr \ -+ "movl %1, %%eax\n\t" \ -+ "int $0x80\n\t" \ -+ RESTOREARGS_NOSYSENTER_##nr \ -+ : "=a" (resultvar) \ -+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \ -+ (int) resultvar; }) - # else - # define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ -@@ -447,12 +459,20 @@ - - #define LOADARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && defined __PIC__ - # define LOADARGS_1 \ - "bpushl .L__X'%k3, %k3\n\t" - # define LOADARGS_5 \ - "movl %%ebx, %4\n\t" \ - "movl %3, %%ebx\n\t" -+# define LOADARGS_NOSYSENTER_1 \ -+ "bpushl .L__X'%k2, %k2\n\t" -+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1 -+# define LOADARGS_NOSYSENTER_3 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_4 LOADARGS_3 -+# define LOADARGS_NOSYSENTER_5 \ -+ "movl %%ebx, %3\n\t" \ -+ "movl %2, %%ebx\n\t" - # else - # define LOADARGS_1 \ - "bpushl .L__X'%k2, %k2\n\t" -@@ -474,11 +494,18 @@ - - #define RESTOREARGS_0 - #ifdef __PIC__ --# if defined I386_USE_SYSENTER && defined SHARED -+# if defined I386_USE_SYSENTER && defined __PIC__ - # define RESTOREARGS_1 \ - "bpopl .L__X'%k3, %k3\n\t" - # define RESTOREARGS_5 \ - "movl %4, %%ebx" -+# define RESTOREARGS_NOSYSENTER_1 \ -+ "bpopl .L__X'%k2, %k2\n\t" -+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1 -+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3 -+# define RESTOREARGS_NOSYSENTER_5 \ -+ "movl %3, %%ebx" - # else - # define RESTOREARGS_1 \ - "bpopl .L__X'%k2, %k2\n\t" ---- a/sysdeps/i386/nptl/tls.h -+++ b/sysdeps/i386/nptl/tls.h -@@ -189,6 +189,15 @@ - desc->vals[3] = 0x51; - } - -+/* We have no sysenter until the tls is initialized which is a -+ problem for PIC. Thus we need to do the right call depending -+ on the situation. */ -+#ifndef INTERNAL_SYSCALL_PRE_TLS -+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL -+#else -+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL_PRE_TLS -+#endif -+ - /* Code to initially initialize the thread pointer. This might need - special attention since 'errno' is not yet available and if the - operation can cause a failure 'errno' must not be touched. */ -@@ -209,7 +218,7 @@ - \ - /* Install the TLS. */ \ - INTERNAL_SYSCALL_DECL (err); \ -- _result = INTERNAL_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \ -+ _result = TLS_INIT_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \ - \ - if (_result == 0) \ - /* We know the index in the GDT, now load the segment register. \ diff --git a/sys-libs/glibc/glibc-2.21-r2.ebuild b/sys-libs/glibc/glibc-2.21-r2.ebuild deleted file mode 100644 index accbd33c95a3..000000000000 --- a/sys-libs/glibc/glibc-2.21-r2.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="4" - -inherit toolchain-glibc - -DESCRIPTION="GNU libc6 (also called glibc2) C library" -HOMEPAGE="https://www.gnu.org/software/libc/libc.html" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" -RESTRICT="strip" # strip ourself #46186 -EMULTILIB_PKG="true" - -# Configuration variables -RELEASE_VER="" -case ${PV} in -9999*) - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git" - inherit git-r3 - ;; -*) - RELEASE_VER=${PV} - ;; -esac -GCC_BOOTSTRAP_VER="4.7.3-r1" -PATCH_VER="7" # Gentoo patchset -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires - -IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla headers-only" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -# Why SLOT 2.2 you ask yourself while sippin your tea ? -# Everyone knows 2.2 > 0, duh. -SLOT="2.2" - -# General: We need a new-enough binutils/gcc to match upstream baseline. -# arch: we need to make sure our binutils/gcc supports TLS. -DEPEND=">=app-misc/pax-utils-0.1.10 - !' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') - ALT_BUILD_HEADERS=${header_path%/linux/version.h} - fi - fi - fi - echo "${ALT_BUILD_HEADERS}" -} - -alt_libdir() { - echo $(alt_prefix)/$(get_libdir) -} -alt_usrlibdir() { - echo $(alt_prefix)/usr/$(get_libdir) -} - -builddir() { - echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" -} - -do_compile_test() { - local ret save_cflags=${CFLAGS} - CFLAGS+=" $1" - shift - - pushd "${T}" >/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - nonfatal emake -s glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - return 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - ;; - amd64) - # -march needed for #185404 #199334 - # Note: This test only matters when the x86 ABI is enabled, so we could - # optimize a bit and elide it. - # TODO: See cross-compile issues listed above for x86. - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - # If the CHOST is the basic one (e.g. not sparcv9-xxx already), - # try to pick a better one so glibc can use cpu-specific .S files. - # We key off the CFLAGS to get a good value. Also need to handle - # version skew. - # We can't force users to set their CHOST to their exact machine - # as many of these are not recognized by config.sub/gcc and such :(. - # Note: If the mcpu values don't scale, we might try probing CPP defines. - # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? - - local cpu - case ${CTARGET} in - sparc64-*) - case $(get-flag mcpu) in - niagara[234]) - if ver_test -ge 2.8 ; then - cpu="sparc64v2" - elif ver_test -ge 2.4 ; then - cpu="sparc64v" - elif ver_test -ge 2.2.3 ; then - cpu="sparc64b" - fi - ;; - niagara) - if ver_test -ge 2.4 ; then - cpu="sparc64v" - elif ver_test -ge 2.2.3 ; then - cpu="sparc64b" - fi - ;; - ultrasparc3) - cpu="sparc64b" - ;; - *) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - niagara[234]) - if ver_test -ge 2.8 ; then - cpu="sparcv9v2" - elif ver_test -ge 2.4 ; then - cpu="sparcv9v" - elif ver_test -ge 2.2.3 ; then - cpu="sparcv9b" - else - cpu="sparcv9" - fi - ;; - niagara) - if ver_test -ge 2.4 ; then - cpu="sparcv9v" - elif ver_test -ge 2.2.3 ; then - cpu="sparcv9b" - else - cpu="sparcv9" - fi - ;; - ultrasparc3) - cpu="sparcv9b" - ;; - v9|ultrasparc) - cpu="sparcv9" - ;; - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - strip-unsupported-flags - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # #492892 - filter-flags -frecord-gcc-switches - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # Lock glibc at -O2; we want to be conservative here. - # -fno-strict-aliasing is to work around #155906. - filter-flags '-O?' - append-flags -O2 -fno-strict-aliasing - - filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - local VAR=CFLAGS_${ABI} - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" - echo "${b}" -} - -check_devpts() { - # Make sure devpts is mounted correctly for use w/out setuid pt_chown. - - # If merely building the binary package, then there's nothing to verify. - [[ ${MERGE_TYPE} == "buildonly" ]] && return - - # Only sanity check when installing the native glibc. - [[ ${ROOT} != "/" ]] && return - - # If they're opting in to the old suid code, then no need to check. - use suid && return - - if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then - eerror "In order to use glibc with USE=-suid, you must make sure that" - eerror "you have devpts mounted at /dev/pts with the gid=5 option." - eerror "Openrc should do this for you, so you should check /etc/fstab" - eerror "and make sure you do not have any invalid settings there." - die "mount & fix your /dev/pts settings" - fi -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Make sure devpts is mounted correctly for use w/out setuid pt_chown - check_devpts - - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ ${ROOT} == "/" ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - # Users have had a chance to phase themselves, time to give em the boot - if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then - eerror "You still haven't deleted ${EROOT}/etc/locales.build." - eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." - die "Lazy upgrader detected" - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # Check for sanity of /etc/nsswitch.conf - if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then - local entry - for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then - eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." - eerror "Please make sure you have 'files' entries for" - eerror "'passwd:', 'group:' and 'shadow:' databases." - eerror "For more details see:" - eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" - die "nsswitch.conf has no 'files' provider in '${entry}'." - fi - done - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking that IA32 emulation is enabled in the running kernel" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." - fi - - fi - - # When we actually have to compile something... - if ! just_headers ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks -} - -# src_unpack - -src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... - sanity_prechecks - - use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - setup_env - - if [[ -n ${EGIT_REPO_URI} ]] ; then - git-r3_src_unpack - else - unpack ${P}.tar.xz - fi - - cd "${S}" || die - touch locale/C-translit.h || die #185476 #218003 - - cd "${WORKDIR}" || die - unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz -} - -src_prepare() { - if ! use vanilla ; then - elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" - find . -name configure -exec touch {} + - - eprefixify extra/locale/locale-gen - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" -} - -glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do - einfo " $(printf '%15s' ${v}:) ${!v}" - done - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - echo - - local myconf=() - - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - powerpc-*) - # Currently gcc on powerpc32 generates invalid code for - # __builtin_return_address(0) calls. Normally programs - # don't do that but malloc hooks in glibc do: - # https://gcc.gnu.org/PR81996 - # https://bugs.gentoo.org/629054 - myconf+=( --enable-stack-protector=no ) - ;; - *) - myconf+=( --enable-stack-protector=$(usex ssp all no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) - - # Keep a whitelist of targets supporing IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - # Enable Intel Control-flow Enforcement Technology on amd64 if requested - case ${CTARGET} in - x86_64-*) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --without-cvs - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers=$(alt_build_headers) - --prefix="${EPREFIX}/usr" - --sysconfdir="${EPREFIX}/etc" - --localstatedir="${EPREFIX}/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="${EPREFIX}/sbin" - export libc_cv_slibdir="${EPREFIX}/$(get_libdir)" - - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # ia64 static cross-compilers are a pita in so much that they - # can't produce static ELFs (as the libgcc.a is broken). so - # disable building of the programs for those targets if it - # doesn't work. - # XXX: We could turn this into a compiler test, but ia64 is - # the only one that matters, so this should be fine for now. - if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then - sed -i '1i+link-static = touch $@' config.make - fi - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then - echo 'main(){}' > "${T}"/test.c - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - case ${CTARGET} in - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - local myconf=() - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --without-cvs - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers=$(alt_build_headers) - --prefix="${EPREFIX}/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -do_src_compile() { - emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -glibc_src_test() { - cd "$(builddir nptl)" - emake check -} - -do_src_test() { - local ret=0 - - glibc_src_test - : $(( ret |= $? )) - - return ${ret} -} - -src_test() { - if just_headers ; then - return - fi - - # Give tests more time to complete. - export TIMEOUTFACTOR=5 - - foreach_abi do_src_test || die "tests failed" -} - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local locale_list="${root}/etc/locale.gen" - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root}/usr/share/i18n/SUPPORTED" - fi - - locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \ - --destdir "${root}" -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}$(alt_prefix)" install || die - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - ppc64 /lib64/ld64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - cd "${WORKDIR}"/extra/locale - dosbin locale-gen - doman *.[0-8] - insinto /etc - doins locale.gen - - # Make sure all the ABI's can find the locales and so we only - # have to generate one set - local a - keepdir /usr/$(get_libdir)/locale - for a in $(get_install_abis) ; do - if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then - dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale - fi - done - - cd "${S}" - - # Install misc network config files - insinto /etc - doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf - doins "${WORKDIR}"/extra/etc/*.conf - - if use nscd ; then - doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - systemd_dounit nscd/nscd.service - systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf - else - # Do this since extra/etc/*.conf above might have nscd.conf. - rm -f "${ED}"/etc/nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen "${ED}" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_strip() { - # gdb is lame and requires some debugging information to remain in - # libpthread, so we need to strip it by hand. libthread_db makes no - # sense stripped as it is only used when debugging. - local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") - env \ - -uRESTRICT \ - CHOST=${CTARGET} \ - STRIP_MASK="/*/{,tls/}${pthread}*" \ - prepallstrip - # if user has stripping enabled and does not have split debug turned on, - # then leave the debugging sections in libpthread. - if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then - ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so - fi -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - src_strip -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ./ld-*.so --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ ${ROOT} != "/" ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" - fi - - if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then - # Reload init ... if in a chroot or a diff init package, ignore - # errors from this step #253697 - /sbin/telinit U 2>/dev/null - - use compile-locales || run_locale_gen "${EROOT}" - fi - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi -} diff --git a/sys-libs/glibc/glibc-2.28-r6.ebuild b/sys-libs/glibc/glibc-2.28-r6.ebuild new file mode 100644 index 000000000000..601386fafaf0 --- /dev/null +++ b/sys-libs/glibc/glibc-2.28-r6.ebuild @@ -0,0 +1,1418 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +RESTRICT="strip" # Strip ourself #46186 +SLOT="2.2" + +EMULTILIB_PKG="true" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://sourceware.org/git/glibc.git" + inherit git-r3 +else + KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ~ppc ~ppc64 s390 sh sparc x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" +fi + +RELEASE_VER=${PV} + +GCC_BOOTSTRAP_VER=20180511 + +# Gentoo patchset +PATCH_VER=9 + +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.xz" +SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" + +IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla" + +# Minimum kernel version that glibc requires +MIN_KERN_VER="3.2.0" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +COMMON_DEPEND=" + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-util/systemtap ) +" +DEPEND="${COMMON_DEPEND} + >=app-misc/pax-utils-0.1.10 + sys-devel/bison + !=net-dns/libidn2-2.0.5 ) +" +RDEPEND="${COMMON_DEPEND} + sys-apps/gentoo-functions + !sys-kernel/ps3-sources + !sys-libs/nss-db +" + +if [[ ${CATEGORY} == cross-* ]] ; then + DEPEND+=" !headers-only? ( + >=${CATEGORY}/binutils-2.24 + >=${CATEGORY}/gcc-6 + )" + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" +else + DEPEND+=" + >=sys-devel/binutils-2.24 + >=sys-devel/gcc-6 + virtual/os-headers + " + RDEPEND+=" + >=net-dns/libidn2-2.0.5 + vanilla? ( !sys-libs/timezone-data ) + " + PDEPEND+=" !vanilla? ( sys-libs/timezone-data )" +fi + +# +# Small helper functions +# + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + is_crosscompile && use headers-only +} + +alt_prefix() { + is_crosscompile && echo /usr/${CTARGET} +} + +# We need to be able to set alternative headers for compiling for non-native +# platform. Will also become useful for testing kernel-headers without screwing +# up the whole system. +alt_headers() { + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} +} + +alt_build_headers() { + if [[ -z ${ALT_BUILD_HEADERS} ]] ; then + ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)" + if tc-is-cross-compiler ; then + ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then + local header_path=$(echo '#include ' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') + ALT_BUILD_HEADERS=${header_path%/linux/version.h} + fi + fi + fi + echo "${ALT_BUILD_HEADERS}" +} + +alt_libdir() { + echo $(alt_prefix)/$(get_libdir) +} +alt_usrlibdir() { + echo $(alt_prefix)/usr/$(get_libdir) +} + +builddir() { + echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" +} + +do_compile_test() { + local ret save_cflags=${CFLAGS} + CFLAGS+=" $1" + shift + + pushd "${T}" >/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + nonfatal emake -s glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + do_compile_test "" "$@" 2>/dev/null || return 0 + else + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + return 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + ;; + amd64) + # -march needed for #185404 #199334 + # Note: This test only matters when the x86 ABI is enabled, so we could + # optimize a bit and elide it. + # TODO: See cross-compile issues listed above for x86. + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + # If the CHOST is the basic one (e.g. not sparcv9-xxx already), + # try to pick a better one so glibc can use cpu-specific .S files. + # We key off the CFLAGS to get a good value. Also need to handle + # version skew. + # We can't force users to set their CHOST to their exact machine + # as many of these are not recognized by config.sub/gcc and such :(. + # Note: If the mcpu values don't scale, we might try probing CPP defines. + # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? + + local cpu + case ${CTARGET} in + sparc64-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparc64v2" + elif ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + ultrasparc3) + cpu="sparc64b" + ;; + *) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparcv9v2" + elif ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + ultrasparc3) + cpu="sparcv9b" + ;; + v9|ultrasparc) + cpu="sparcv9" + ;; + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + strip-unsupported-flags + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # #492892 + filter-flags -frecord-gcc-switches + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # Lock glibc at -O2; we want to be conservative here. + # -fno-strict-aliasing is to work around #155906. + filter-flags '-O?' + append-flags -O2 -fno-strict-aliasing + + filter-flags '-fstack-protector*' +} + +want_tls() { + # Archs that can use TLS (Thread Local Storage) + case $(tc-arch) in + x86) + # requires i486 or better #106556 + [[ ${CTARGET} == i[4567]86* ]] && return 0 + return 1 + ;; + esac + return 0 +} + +want__thread() { + want_tls || return 1 + + # For some reason --with-tls --with__thread is causing segfaults on sparc32. + [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 + + [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} + + # only test gcc -- can't test linking yet + tc-has-tls -c ${CTARGET} + WANT__THREAD=$? + + return ${WANT__THREAD} +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if just_headers ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + local VAR=CFLAGS_${ABI} + # We need to export CFLAGS with abi information in them because glibc's + # configure script checks CFLAGS for some targets (like mips). Keep + # around the original clean value to avoid appending multiple ABIs on + # top of each other. + : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} + export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" + echo "${b}" +} + +check_devpts() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown. + + # If merely building the binary package, then there's nothing to verify. + [[ ${MERGE_TYPE} == "buildonly" ]] && return + + # Only sanity check when installing the native glibc. + [[ ${ROOT} != "/" ]] && return + + # If they're opting in to the old suid code, then no need to check. + use suid && return + + if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then + eerror "In order to use glibc with USE=-suid, you must make sure that" + eerror "you have devpts mounted at /dev/pts with the gid=5 option." + eerror "Openrc should do this for you, so you should check /etc/fstab" + eerror "and make sure you do not have any invalid settings there." + die "mount & fix your /dev/pts settings" + fi +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +eend_KV() { + [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] + eend $? +} + +get_kheader_version() { + printf '#include \nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown + check_devpts + + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ ${ROOT} == "/" ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + die "Aborting to save your system." + fi + + if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall() will break. See bug 279260." + die "Old and broken kernel." + fi + fi + + # Users have had a chance to phase themselves, time to give em the boot + if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then + eerror "You still haven't deleted ${EROOT}/etc/locales.build." + eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." + die "Lazy upgrader detected" + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # Check for sanity of /etc/nsswitch.conf + if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then + local entry + for entry in passwd group shadow; do + if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." + eerror "Please make sure you have 'files' entries for" + eerror "'passwd:', 'group:' and 'shadow:' databases." + eerror "For more details see:" + eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" + die "nsswitch.conf has no 'files' provider in '${entry}'." + fi + done + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking that IA32 emulation is enabled in the running kernel" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." + fi + + fi + + # When we actually have to compile something... + if ! just_headers ; then + ebegin "Checking gcc for __thread support" + if ! eend $(want__thread ; echo $?) ; then + echo + eerror "Could not find a gcc that supports the __thread directive!" + eerror "Please update your binutils/gcc and try again." + die "No __thread support in gcc!" + fi + + if [[ ${CTARGET} == *-linux* ]] ; then + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! eend_KV ${run_kv} ${want_kv} ; then + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low!" + fi + fi + + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! eend_KV ${build_kv} ${want_kv} ; then + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + # All the checks... + einfo "Checking general environment sanity." + sanity_prechecks +} + +# src_unpack + +src_unpack() { + # Consistency is not guaranteed between pkg_ and src_ ... + sanity_prechecks + + use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + setup_env + + if [[ -n ${EGIT_REPO_URI} ]] ; then + git-r3_src_unpack + else + unpack ${P}.tar.xz + fi + + cd "${S}" || die + touch locale/C-translit.h || die #185476 #218003 + + cd "${WORKDIR}" || die + unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz +} + +src_prepare() { + if ! use vanilla ; then + elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" + eapply "${WORKDIR}"/patches + einfo "Done." + fi + + default + + gnuconfig_update + + cd "${WORKDIR}" + find . -name configure -exec touch {} + + + eprefixify extra/locale/locale-gen + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" +} + +glibc_do_configure() { + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + # CXX isnt handled by the multilib system, so if we dont unset here + # we accumulate crap across abis + unset CXX + + einfo "Configuring glibc for nptl" + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" + einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" + + echo + + local myconf=() + + case ${CTARGET} in + m68k*) + # setjmp() is not compatible with stack protection: + # https://sourceware.org/PR24202 + myconf+=( --enable-stack-protector=no ) + ;; + powerpc-*) + # Currently gcc on powerpc32 generates invalid code for + # __builtin_return_address(0) calls. Normally programs + # don't do that but malloc hooks in glibc do: + # https://gcc.gnu.org/PR81996 + # https://bugs.gentoo.org/629054 + myconf+=( --enable-stack-protector=no ) + ;; + *) + myconf+=( --enable-stack-protector=$(usex ssp all no) ) + ;; + esac + myconf+=( --enable-stackguard-randomization ) + + # Keep a whitelist of targets supporing IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + # Enable Intel Control-flow Enforcement Technology on amd64 if requested + case ${CTARGET} in + x86_64-*) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_multiarch || echo --disable-multi-arch) + $(use_enable systemtap) + $(use_enable nscd) + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="${EPREFIX}/sbin" + export libc_cv_slibdir="${EPREFIX}/$(get_libdir)" + + # We take care of patching our binutils to use both hash styles, + # and many people like to force gnu hash style only, so disable + # this overriding check. #347761 + export libc_cv_hashstyle=no + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # ia64 static cross-compilers are a pita in so much that they + # can't produce static ELFs (as the libgcc.a is broken). so + # disable building of the programs for those targets if it + # doesn't work. + # XXX: We could turn this into a compiler test, but ia64 is + # the only one that matters, so this should be fine for now. + if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then + sed -i '1i+link-static = touch $@' config.make + fi + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then + echo 'main(){}' > "${T}"/test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + case ${CTARGET} in + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + local myconf=() + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +do_src_compile() { + emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +glibc_src_test() { + cd "$(builddir nptl)" + emake check +} + +do_src_test() { + local ret=0 + + glibc_src_test + : $(( ret |= $? )) + + return ${ret} +} + +src_test() { + if just_headers ; then + return + fi + + # Give tests more time to complete. + export TIMEOUTFACTOR=5 + + foreach_abi do_src_test || die "tests failed" +} + +run_locale_gen() { + # if the host locales.gen contains no entries, we'll install everything + local root="$1" + local locale_list="${root}/etc/locale.gen" + if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then + ewarn "Generating all locales; edit /etc/locale.gen to save time/space" + locale_list="${root}/usr/share/i18n/SUPPORTED" + fi + + locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \ + --destdir "${root}" +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}$(alt_prefix)" install || die + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + ppc64 /lib64/ld64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + ) + ;; + esac + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen + doman *.[0-8] + insinto /etc + doins locale.gen + + # Make sure all the ABI's can find the locales and so we only + # have to generate one set + local a + keepdir /usr/$(get_libdir)/locale + for a in $(get_install_abis) ; do + if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then + dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale + fi + done + + cd "${S}" + + # Install misc network config files + insinto /etc + doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf + doins "${WORKDIR}"/extra/etc/*.conf + + if use nscd ; then + doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + systemd_dounit nscd/nscd.service + systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf + else + # Do this since extra/etc/*.conf above might have nscd.conf. + rm -f "${ED}"/etc/nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile ; then + run_locale_gen "${ED}" + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_strip() { + # gdb is lame and requires some debugging information to remain in + # libpthread, so we need to strip it by hand. libthread_db makes no + # sense stripped as it is only used when debugging. + local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") + env \ + -uRESTRICT \ + CHOST=${CTARGET} \ + STRIP_MASK="/*/{,tls/}${pthread}*" \ + prepallstrip + # if user has stripping enabled and does not have split debug turned on, + # then leave the debugging sections in libpthread. + if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then + ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so + fi +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + src_strip +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ./ld-*.so --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ ${ROOT} != "/" ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" + fi + + if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then + # Reload init ... if in a chroot or a diff init package, ignore + # errors from this step #253697 + /sbin/telinit U 2>/dev/null + + use compile-locales || run_locale_gen "${EROOT}" + fi + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi +} diff --git a/sys-libs/glibc/glibc-2.29-r1.ebuild b/sys-libs/glibc/glibc-2.29-r1.ebuild deleted file mode 100644 index 34fad50ec4fa..000000000000 --- a/sys-libs/glibc/glibc-2.29-r1.ebuild +++ /dev/null @@ -1,1418 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{4,5,6,7} ) - -inherit python-any-r1 prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig \ - multilib systemd multiprocessing - -DESCRIPTION="GNU libc C library" -HOMEPAGE="https://www.gnu.org/software/libc/" -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -RESTRICT="strip" # Strip ourself #46186 -SLOT="2.2" - -EMULTILIB_PKG="true" - -if [[ ${PV} == 9999* ]]; then - EGIT_REPO_URI="https://sourceware.org/git/glibc.git" - inherit git-r3 -else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" -fi - -RELEASE_VER=${PV} - -GCC_BOOTSTRAP_VER=20180511 - -# Gentoo patchset -PATCH_VER=2 - -SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.xz" -SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" - -IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla" - -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ -# -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -# We need a new-enough binutils/gcc to match upstream baseline. -# Also we need to make sure our binutils/gcc supports TLS, -# and that gcc already contains the hardened patches. -COMMON_DEPEND=" - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-util/systemtap ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - >=app-misc/pax-utils-0.1.10 - sys-devel/bison - !=net-dns/libidn2-2.0.5 ) -" -RDEPEND="${COMMON_DEPEND} - sys-apps/gentoo-functions - !sys-kernel/ps3-sources - !sys-libs/nss-db -" - -if [[ ${CATEGORY} == cross-* ]] ; then - DEPEND+=" !headers-only? ( - >=${CATEGORY}/binutils-2.24 - >=${CATEGORY}/gcc-6 - )" - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" -else - DEPEND+=" - >=sys-devel/binutils-2.24 - >=sys-devel/gcc-6 - virtual/os-headers - " - RDEPEND+=" - >=net-dns/libidn2-2.0.5 - vanilla? ( !sys-libs/timezone-data ) - " - PDEPEND+=" !vanilla? ( sys-libs/timezone-data )" -fi - -# -# Small helper functions -# - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -just_headers() { - is_crosscompile && use headers-only -} - -alt_prefix() { - is_crosscompile && echo /usr/${CTARGET} -} - -# We need to be able to set alternative headers for compiling for non-native -# platform. Will also become useful for testing kernel-headers without screwing -# up the whole system. -alt_headers() { - echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} -} - -alt_build_headers() { - if [[ -z ${ALT_BUILD_HEADERS} ]] ; then - ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)" - if tc-is-cross-compiler ; then - ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) - if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then - local header_path=$(echo '#include ' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') - ALT_BUILD_HEADERS=${header_path%/linux/version.h} - fi - fi - fi - echo "${ALT_BUILD_HEADERS}" -} - -alt_libdir() { - echo $(alt_prefix)/$(get_libdir) -} -alt_usrlibdir() { - echo $(alt_prefix)/usr/$(get_libdir) -} - -builddir() { - echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" -} - -do_compile_test() { - local ret save_cflags=${CFLAGS} - CFLAGS+=" $1" - shift - - pushd "${T}" >/dev/null - - rm -f glibc-test* - printf '%b' "$*" > glibc-test.c - - nonfatal emake -s glibc-test - ret=$? - - popd >/dev/null - - CFLAGS=${save_cflags} - return ${ret} -} - -do_run_test() { - local ret - - if [[ ${MERGE_TYPE} == "binary" ]] ; then - # ignore build failures when installing a binary package #324685 - do_compile_test "" "$@" 2>/dev/null || return 0 - else - if ! do_compile_test "" "$@" ; then - ewarn "Simple build failed ... assuming this is desired #324685" - return 0 - fi - fi - - pushd "${T}" >/dev/null - - ./glibc-test - ret=$? - rm -f glibc-test* - - popd >/dev/null - - return ${ret} -} - -setup_target_flags() { - # This largely mucks with compiler flags. None of which should matter - # when building up just the headers. - just_headers && return 0 - - case $(tc-arch) in - x86) - # -march needed for #185404 #199334 - # TODO: When creating the first glibc cross-compile, this test will - # always fail as it does a full link which in turn requires glibc. - # Probably also applies when changing multilib profile settings (e.g. - # enabling x86 when the profile was amd64-only previously). - # We could change main to _start and pass -nostdlib here so that we - # only test the gcc code compilation. Or we could do a compile and - # then look for the symbol via scanelf. - if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - filter-flags '-march=*' - export CFLAGS="-march=${t} ${CFLAGS}" - einfo "Auto adding -march=${t} to CFLAGS #185404" - fi - ;; - amd64) - # -march needed for #185404 #199334 - # Note: This test only matters when the x86 ABI is enabled, so we could - # optimize a bit and elide it. - # TODO: See cross-compile issues listed above for x86. - if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then - local t=${CTARGET_OPT:-${CTARGET}} - t=${t%%-*} - # Normally the target is x86_64-xxx, so turn that into the -march that - # gcc actually accepts. #528708 - [[ ${t} == "x86_64" ]] && t="x86-64" - filter-flags '-march=*' - # ugly, ugly, ugly. ugly. - CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") - export CFLAGS_x86="${CFLAGS_x86} -march=${t}" - einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" - fi - ;; - mips) - # The mips abi cannot support the GNU style hashes. #233233 - filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both - ;; - sparc) - # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. - filter-flags "-fcall-used-g7" - append-flags "-fcall-used-g6" - - # If the CHOST is the basic one (e.g. not sparcv9-xxx already), - # try to pick a better one so glibc can use cpu-specific .S files. - # We key off the CFLAGS to get a good value. Also need to handle - # version skew. - # We can't force users to set their CHOST to their exact machine - # as many of these are not recognized by config.sub/gcc and such :(. - # Note: If the mcpu values don't scale, we might try probing CPP defines. - # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? - - local cpu - case ${CTARGET} in - sparc64-*) - case $(get-flag mcpu) in - niagara[234]) - if ver_test -ge 2.8 ; then - cpu="sparc64v2" - elif ver_test -ge 2.4 ; then - cpu="sparc64v" - elif ver_test -ge 2.2.3 ; then - cpu="sparc64b" - fi - ;; - niagara) - if ver_test -ge 2.4 ; then - cpu="sparc64v" - elif ver_test -ge 2.2.3 ; then - cpu="sparc64b" - fi - ;; - ultrasparc3) - cpu="sparc64b" - ;; - *) - # We need to force at least v9a because the base build doesn't - # work with just v9. - # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 - [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" - ;; - esac - ;; - sparc-*) - case $(get-flag mcpu) in - niagara[234]) - if ver_test -ge 2.8 ; then - cpu="sparcv9v2" - elif ver_test -ge 2.4 ; then - cpu="sparcv9v" - elif ver_test -ge 2.2.3 ; then - cpu="sparcv9b" - else - cpu="sparcv9" - fi - ;; - niagara) - if ver_test -ge 2.4 ; then - cpu="sparcv9v" - elif ver_test -ge 2.2.3 ; then - cpu="sparcv9b" - else - cpu="sparcv9" - fi - ;; - ultrasparc3) - cpu="sparcv9b" - ;; - v9|ultrasparc) - cpu="sparcv9" - ;; - v8|supersparc|hypersparc|leon|leon3) - cpu="sparcv8" - ;; - esac - ;; - esac - [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" - ;; - esac -} - -setup_flags() { - # Make sure host make.conf doesn't pollute us - if is_crosscompile || tc-is-cross-compiler ; then - CHOST=${CTARGET} strip-unsupported-flags - fi - - # Store our CFLAGS because it's changed depending on which CTARGET - # we are building when pulling glibc on a multilib profile - CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} - CFLAGS=${CFLAGS_BASE} - CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} - CXXFLAGS=${CXXFLAGS_BASE} - ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} - ASFLAGS=${ASFLAGS_BASE} - - # Over-zealous CFLAGS can often cause problems. What may work for one - # person may not work for another. To avoid a large influx of bugs - # relating to failed builds, we strip most CFLAGS out to ensure as few - # problems as possible. - strip-flags - strip-unsupported-flags - filter-flags -m32 -m64 '-mabi=*' - - # glibc aborts if rpath is set by LDFLAGS - filter-ldflags '-Wl,-rpath=*' - - # #492892 - filter-flags -frecord-gcc-switches - - unset CBUILD_OPT CTARGET_OPT - if use multilib ; then - CTARGET_OPT=$(get_abi_CTARGET) - [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) - fi - - setup_target_flags - - if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then - CBUILD_OPT=${CTARGET_OPT} - fi - - # Lock glibc at -O2; we want to be conservative here. - # -fno-strict-aliasing is to work around #155906. - filter-flags '-O?' - append-flags -O2 -fno-strict-aliasing - - filter-flags '-fstack-protector*' -} - -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} -} - -use_multiarch() { - # Allow user to disable runtime arch detection in multilib. - use multiarch || return 1 - # Make sure binutils is new enough to support indirect functions, - # #336792. This funky sed supports gold and bfd linkers. - local bver nver - bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') - case $(tc-arch ${CTARGET}) in - amd64|x86) nver="2.20" ;; - arm) nver="2.22" ;; - hppa) nver="2.23" ;; - ppc|ppc64) nver="2.20" ;; - # ifunc support was added in 2.23, but glibc also needs - # machinemode which is in 2.24. - s390) nver="2.24" ;; - sparc) nver="2.21" ;; - *) return 1 ;; - esac - ver_test ${bver} -ge ${nver} -} - -# Setup toolchain variables that had historically been defined in the -# profiles for these archs. -setup_env() { - # silly users - unset LD_RUN_PATH - unset LD_ASSUME_KERNEL - - if is_crosscompile || tc-is-cross-compiler ; then - multilib_env ${CTARGET_OPT:-${CTARGET}} - - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else - MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} - fi - - # If the user has CFLAGS_ in their make.conf, use that, - # and fall back on CFLAGS. - local VAR=CFLAGS_${CTARGET//[-.]/_} - CFLAGS=${!VAR-${CFLAGS}} - einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" - fi - - setup_flags - - export ABI=${ABI:-${DEFAULT_ABI:-default}} - - if just_headers ; then - # Avoid mixing host's CC and target's CFLAGS_${ABI}: - # At this bootstrap stage we have only binutils for - # target but not compiler yet. - einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." - return 0 - fi - local VAR=CFLAGS_${ABI} - # We need to export CFLAGS with abi information in them because glibc's - # configure script checks CFLAGS for some targets (like mips). Keep - # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" -} - -foreach_abi() { - setup_env - - local ret=0 - local abilist="" - if use multilib ; then - abilist=$(get_install_abis) - else - abilist=${DEFAULT_ABI} - fi - local -x ABI - for ABI in ${abilist:-default} ; do - setup_env - einfo "Running $1 for ABI ${ABI}" - $1 - : $(( ret |= $? )) - done - return ${ret} -} - -glibc_banner() { - local b="Gentoo ${PVR}" - [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" - echo "${b}" -} - -check_devpts() { - # Make sure devpts is mounted correctly for use w/out setuid pt_chown. - - # If merely building the binary package, then there's nothing to verify. - [[ ${MERGE_TYPE} == "buildonly" ]] && return - - # Only sanity check when installing the native glibc. - [[ ${ROOT} != "/" ]] && return - - # If they're opting in to the old suid code, then no need to check. - use suid && return - - if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then - eerror "In order to use glibc with USE=-suid, you must make sure that" - eerror "you have devpts mounted at /dev/pts with the gid=5 option." - eerror "Openrc should do this for you, so you should check /etc/fstab" - eerror "and make sure you do not have any invalid settings there." - die "mount & fix your /dev/pts settings" - fi -} - -# The following Kernel version handling functions are mostly copied from portage -# source. It's better not to use linux-info.eclass here since a) it adds too -# much magic, see bug 326693 for some of the arguments, and b) some of the -# functions are just not provided. - -g_get_running_KV() { - uname -r - return $? -} - -g_KV_major() { - [[ -z $1 ]] && return 1 - local KV=$@ - echo "${KV%%.*}" -} - -g_KV_minor() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.} - echo "${KV%%.*}" -} - -g_KV_micro() { - [[ -z $1 ]] && return 1 - local KV=$@ - KV=${KV#*.*.} - echo "${KV%%[^[:digit:]]*}" -} - -g_KV_to_int() { - [[ -z $1 ]] && return 1 - local KV_MAJOR=$(g_KV_major "$1") - local KV_MINOR=$(g_KV_minor "$1") - local KV_MICRO=$(g_KV_micro "$1") - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [[ ${KV_int} -ge 131584 ]] ; then - echo "${KV_int}" - return 0 - fi - return 1 -} - -g_int_to_KV() { - local version=$1 major minor micro - major=$((version / 65536)) - minor=$(((version % 65536) / 256)) - micro=$((version % 256)) - echo ${major}.${minor}.${micro} -} - -eend_KV() { - [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] - eend $? -} - -get_kheader_version() { - printf '#include \nLINUX_VERSION_CODE\n' | \ - $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ - tail -n 1 -} - -# We collect all sanity checks here. Consistency is not guranteed between -# pkg_ and src_ phases, so we call this function both in pkg_pretend and in -# src_unpack. -sanity_prechecks() { - # Make sure devpts is mounted correctly for use w/out setuid pt_chown - check_devpts - - # Prevent native builds from downgrading - if [[ ${MERGE_TYPE} != "buildonly" ]] && \ - [[ ${ROOT} == "/" ]] && \ - [[ ${CBUILD} == ${CHOST} ]] && \ - [[ ${CHOST} == ${CTARGET} ]] ; then - - # The high rev # is to allow people to downgrade between -r# - # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 - # should be fine. Hopefully we never actually use a r# this - # high. - if has_version ">${CATEGORY}/${P}-r10000" ; then - eerror "Sanity check to keep you from breaking your system:" - eerror " Downgrading glibc is not supported and a sure way to destruction." - die "Aborting to save your system." - fi - - if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then - eerror "Your old kernel is broken. You need to update it to a newer" - eerror "version as syscall() will break. See bug 279260." - die "Old and broken kernel." - fi - fi - - # Users have had a chance to phase themselves, time to give em the boot - if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then - eerror "You still haven't deleted ${EROOT}/etc/locales.build." - eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." - die "Lazy upgrader detected" - fi - - if [[ ${CTARGET} == i386-* ]] ; then - eerror "i386 CHOSTs are no longer supported." - eerror "Chances are you don't actually want/need i386." - eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" - die "Please fix your CHOST" - fi - - if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then - ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." - ewarn "This will result in a 50% performance penalty when running with a 32bit" - ewarn "hypervisor, which is probably not what you want." - fi - - # Check for sanity of /etc/nsswitch.conf - if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then - local entry - for entry in passwd group shadow; do - if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then - eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." - eerror "Please make sure you have 'files' entries for" - eerror "'passwd:', 'group:' and 'shadow:' databases." - eerror "For more details see:" - eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" - die "nsswitch.conf has no 'files' provider in '${entry}'." - fi - done - fi - - # ABI-specific checks follow here. Hey, we have a lot more specific conditions that - # we test for... - if ! is_crosscompile ; then - if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking that IA32 emulation is enabled in the running kernel" - echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" - local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then - "${T}/check-ia32-emulation.elf32" - STAT=$? - else - # Don't fail here to allow single->multi ABI switch - # or recover from breakage like bug #646424 - ewarn "Failed to compile the ABI test. Broken host glibc?" - STAT=0 - fi - rm -f "${T}/check-ia32-emulation.elf32" - eend $STAT - [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." - fi - - fi - - # When we actually have to compile something... - if ! just_headers ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" - fi - - if [[ ${CTARGET} == *-linux* ]] ; then - local run_kv build_kv want_kv - - run_kv=$(g_get_running_KV) - build_kv=$(g_int_to_KV $(get_kheader_version)) - want_kv=${MIN_KERN_VER} - - if ! is_crosscompile && ! tc-is-cross-compiler ; then - # Building fails on an non-supporting kernel - ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" - if ! eend_KV ${run_kv} ${want_kv} ; then - echo - eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" - fi - fi - - ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" - if ! eend_KV ${build_kv} ${want_kv} ; then - echo - eerror "You need linux-headers of at least ${want_kv}!" - die "linux-headers version too low!" - fi - fi - fi -} - -# -# the phases -# - -# pkg_pretend - -pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks -} - -# src_unpack - -src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... - sanity_prechecks - - use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - - setup_env - - if [[ -n ${EGIT_REPO_URI} ]] ; then - git-r3_src_unpack - else - unpack ${P}.tar.xz - fi - - cd "${WORKDIR}" || die - unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz -} - -src_prepare() { - if ! use vanilla ; then - elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" - eapply "${WORKDIR}"/patches - einfo "Done." - fi - - default - - gnuconfig_update - - cd "${WORKDIR}" - find . -name configure -exec touch {} + - - eprefixify extra/locale/locale-gen - - # Fix permissions on some of the scripts. - chmod u+x "${S}"/scripts/*.sh - - cd "${S}" -} - -glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi - - local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do - einfo " $(printf '%15s' ${v}:) ${!v}" - done - - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - echo - - local myconf=() - - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - powerpc-*) - # Currently gcc on powerpc32 generates invalid code for - # __builtin_return_address(0) calls. Normally programs - # don't do that but malloc hooks in glibc do: - # https://gcc.gnu.org/PR81996 - # https://bugs.gentoo.org/629054 - myconf+=( --enable-stack-protector=no ) - ;; - *) - myconf+=( --enable-stack-protector=$(usex ssp all no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) - - # Keep a whitelist of targets supporing IFUNC. glibc's ./configure - # is not robust enough to detect proper support: - # https://bugs.gentoo.org/641216 - # https://sourceware.org/PR22634#c0 - case $(tc-arch ${CTARGET}) in - # Keep whitelist of targets where autodetection mostly works. - amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; - # Blacklist everywhere else - *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; - esac - - # Enable Intel Control-flow Enforcement Technology on amd64 if requested - case ${CTARGET} in - x86_64-*) myconf+=( $(use_enable cet) ) ;; - *) ;; - esac - - [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) - - myconf+=( --enable-kernel=${MIN_KERN_VER} ) - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - # Force a few tests where we always know the answer but - # configure is incapable of finding it. - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - myconf+=( - --without-cvs - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers=$(alt_build_headers) - --prefix="${EPREFIX}/usr" - --sysconfdir="${EPREFIX}/etc" - --localstatedir="${EPREFIX}/var" - --libdir='$(prefix)'/$(get_libdir) - --mandir='$(prefix)'/share/man - --infodir='$(prefix)'/share/info - --libexecdir='$(libdir)'/misc/glibc - --with-bugurl=https://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) - $(use_enable nscd) - ${EXTRA_ECONF} - ) - - # We rely on sys-libs/timezone-data for timezone tools normally. - myconf+=( $(use_enable vanilla timezone-tools) ) - - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) - ac_cv_lib_cap_cap_init=$(usex caps || echo no) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_rootsbindir="${EPREFIX}/sbin" - export libc_cv_slibdir="${EPREFIX}/$(get_libdir)" - - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - - local builddir=$(builddir nptl) - mkdir -p "${builddir}" - cd "${builddir}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # ia64 static cross-compilers are a pita in so much that they - # can't produce static ELFs (as the libgcc.a is broken). so - # disable building of the programs for those targets if it - # doesn't work. - # XXX: We could turn this into a compiler test, but ia64 is - # the only one that matters, so this should be fine for now. - if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then - sed -i '1i+link-static = touch $@' config.make - fi - - # If we're trying to migrate between ABI sets, we need - # to lie and use a local copy of gcc. Like if the system - # is built with MULTILIB_ABIS="amd64 x86" but we want to - # add x32 to it, gcc/glibc don't yet support x32. - # - if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then - echo 'main(){}' > "${T}"/test.c - if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then - sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die - fi - fi -} - -glibc_headers_configure() { - export ABI=default - - local builddir=$(builddir "headers") - mkdir -p "${builddir}" - cd "${builddir}" - - # if we don't have a compiler yet, we can't really test it now ... - # hopefully they don't affect header generation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_c_cleanup=yes - libc_cv_compiler_powerpc64le_binary128_ok=yes - libc_cv_forced_unwind=yes - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_fortify_source=no - libc_cv_target_power8_ok=yes - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - # These libs don't have configure flags. - ac_cv_lib_audit_audit_log_user_avc_message=no - ac_cv_lib_cap_cap_init=no - ) - - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - local headers_only_arch_CPPFLAGS=() - - # Blow away some random CC settings that screw things up. #550192 - if [[ -d ${S}/sysdeps/mips ]]; then - pushd "${S}"/sysdeps/mips >/dev/null - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die - sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die - - # Force the mips ABI to the default. This is OK because the set of - # installed headers in this phase is the same between the 3 ABIs. - # If this ever changes, this hack will break, but that's unlikely - # as glibc discourages that behavior. - # https://crbug.com/647033 - sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die - - popd >/dev/null - fi - - case ${CTARGET} in - riscv*) - # RISC-V interrogates the compiler to determine which target to - # build. If building the headers then we don't strictly need a - # RISC-V compiler, so the built-in definitions that are provided - # along with all RISC-V compiler might not exist. This causes - # glibc's RISC-V preconfigure script to blow up. Since we're just - # building the headers any value will actually work here, so just - # pick the standard one (rv64g/lp64d) to make the build scripts - # happy for now -- the headers are all the same anyway so it - # doesn't matter. - headers_only_arch_CPPFLAGS+=( - -D__riscv_xlen=64 - -D__riscv_flen=64 - -D__riscv_float_abi_double=1 - -D__riscv_atomic=1 - ) ;; - esac - - local myconf=() - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --without-cvs - --disable-werror - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers=$(alt_build_headers) - --prefix="${EPREFIX}/usr" - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # So forcing CC/CFLAGS is sane. - local headers_only_CC=$(tc-getBUILD_CC) - local headers_only_CFLAGS="-O1 -pipe" - local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" - local headers_only_LDFLAGS="" - set -- "${S}"/configure "${myconf[@]}" - echo \ - "CC=${headers_only_CC}" \ - "CFLAGS=${headers_only_CFLAGS}" \ - "CPPFLAGS=${headers_only_CPPFLAGS}" \ - "LDFLAGS=${headers_only_LDFLAGS}" \ - "$@" - CC=${headers_only_CC} \ - CFLAGS=${headers_only_CFLAGS} \ - CPPFLAGS=${headers_only_CPPFLAGS} \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -do_src_configure() { - if just_headers ; then - glibc_headers_configure - else - glibc_do_configure nptl - fi -} - -src_configure() { - foreach_abi do_src_configure -} - -do_src_compile() { - emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed" -} - -src_compile() { - if just_headers ; then - return - fi - - foreach_abi do_src_compile -} - -glibc_src_test() { - cd "$(builddir nptl)" - emake check -} - -do_src_test() { - local ret=0 - - glibc_src_test - : $(( ret |= $? )) - - return ${ret} -} - -src_test() { - if just_headers ; then - return - fi - - # Give tests more time to complete. - export TIMEOUTFACTOR=5 - - foreach_abi do_src_test || die "tests failed" -} - -run_locale_gen() { - # if the host locales.gen contains no entries, we'll install everything - local root="$1" - local locale_list="${root}/etc/locale.gen" - if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then - ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root}/usr/share/i18n/SUPPORTED" - fi - - locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \ - --destdir "${root}" -} - -glibc_do_src_install() { - local builddir=$(builddir nptl) - cd "${builddir}" - - emake install_root="${D}$(alt_prefix)" install || die - - # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support - # which come without headers etc. Only needed for binary packages since the - # external net-libs/libnsl has increased soversion. Keep only versioned libraries. - find "${D}" -name "libnsl.a" -delete - find "${D}" -name "libnsl.so" -delete - - # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need - # to infer upstream version: - # '#define VERSION "2.26.90"' -> '2.26.90' - local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) - - if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then - # Move versioned .a file out of libdir to evade portage QA checks - # instead of using gen_usr_ldscript(). We fix ldscript as: - # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." - sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die - dodir $(alt_usrlibdir)/${P} - mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - ppc64 /lib64/ld64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - case $(tc-endian) in - little) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64.so.1 - ) - ;; - big) - ldso_abi_list+=( - # arm - arm64 /lib/ld-linux-aarch64_be.so.1 - ) - ;; - esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib - fi - for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do - ldso_abi=${ldso_abi_list[i]} - has ${ldso_abi} $(get_install_abis) || continue - - ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" - if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # binary to be setuid. This is because the default owners/perms will be - # exactly what we want. - if ! use suid ; then - find "${ED}" -name pt_chown -exec chmod -s {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # gcc likes to use relative paths to get to its multilibs like - # /usr/lib/../lib64/. So while we don't install any files into - # /usr/lib/, we do need it to exist. - keepdir $(alt_prefix)/lib - keepdir $(alt_prefix)/usr/lib - - dosym usr/include $(alt_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - cd "${WORKDIR}"/extra/locale - dosbin locale-gen - doman *.[0-8] - insinto /etc - doins locale.gen - - # Make sure all the ABI's can find the locales and so we only - # have to generate one set - local a - keepdir /usr/$(get_libdir)/locale - for a in $(get_install_abis) ; do - if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then - dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale - fi - done - - cd "${S}" - - # Install misc network config files - insinto /etc - doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf - doins "${WORKDIR}"/extra/etc/*.conf - - if use nscd ; then - doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - - systemd_dounit nscd/nscd.service - systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf - else - # Do this since extra/etc/*.conf above might have nscd.conf. - rm -f "${ED}"/etc/nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc - - for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - dodoc -r ChangeLog.old - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime - - # Generate all locales if this is a native build as locale generation - if use compile-locales && ! is_crosscompile ; then - run_locale_gen "${ED}" - fi -} - -glibc_headers_install() { - local builddir=$(builddir "headers") - cd "${builddir}" - emake install_root="${D}$(alt_prefix)" install-headers - - insinto $(alt_headers)/gnu - doins "${S}"/include/gnu/stubs.h - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include $(alt_prefix)/sys-include -} - -src_strip() { - # gdb is lame and requires some debugging information to remain in - # libpthread, so we need to strip it by hand. libthread_db makes no - # sense stripped as it is only used when debugging. - local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") - env \ - -uRESTRICT \ - CHOST=${CTARGET} \ - STRIP_MASK="/*/{,tls/}${pthread}*" \ - prepallstrip - # if user has stripping enabled and does not have split debug turned on, - # then leave the debugging sections in libpthread. - if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then - ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so - fi -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - src_strip -} - -# Simple test to make sure our new glibc isn't completely broken. -# Make sure we don't test with statically built binaries since -# they will fail. Also, skip if this glibc is a cross compiler. -# -# If coreutils is built with USE=multicall, some of these files -# will just be wrapper scripts, not actual ELFs we can test. -glibc_sanity_check() { - cd / #228809 - - # We enter ${ED} so to avoid trouble if the path contains - # special characters; for instance if the path contains the - # colon character (:), then the linker will try to split it - # and look for the libraries in an unexpected place. This can - # lead to unsafe code execution if the generated prefix is - # within a world-writable directory. - # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${ED}"/$(get_libdir) >/dev/null - - local x striptest - for x in cal date env free ls true uname uptime ; do - x=$(type -p ${x}) - [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue - case ${striptest} in - *"statically linked"*) continue;; - *"ASCII text"*) continue;; - esac - # We need to clear the locale settings as the upgrade might want - # incompatible locale data. This test is not for verifying that. - LC_ALL=C \ - ./ld-*.so --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - done - - popd >/dev/null -} - -pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${EROOT}"/etc/ld.so.conf.d - - # Default /etc/hosts.conf:multi to on for systems with small dbs. - if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then - sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf - einfo "Defaulting /etc/host.conf:multi to on" - fi - - [[ ${ROOT} != "/" ]] && return 0 - [[ -d ${ED}/$(get_libdir) ]] || return 0 - [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check -} - -pkg_postinst() { - # nothing to do if just installing headers - just_headers && return - - if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then - # Generate fastloading iconv module configuration file. - "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" - fi - - if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then - # Reload init ... if in a chroot or a diff init package, ignore - # errors from this step #253697 - /sbin/telinit U 2>/dev/null - - use compile-locales || run_locale_gen "${EROOT}" - fi - - # Check for sanity of /etc/nsswitch.conf, take 2 - if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then - local entry - for entry in passwd group shadow; do - if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then - ewarn "" - ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" - ewarn "removed from glibc and is now provided by the package" - ewarn " sys-auth/libnss-nis" - ewarn "Install it now to keep your NIS setup working." - ewarn "" - fi - done - fi -} diff --git a/sys-libs/glibc/glibc-2.29-r2.ebuild b/sys-libs/glibc/glibc-2.29-r2.ebuild new file mode 100644 index 000000000000..60641cf7a5d0 --- /dev/null +++ b/sys-libs/glibc/glibc-2.29-r2.ebuild @@ -0,0 +1,1448 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{5,6,7} ) + +inherit python-any-r1 prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +RESTRICT="strip" # Strip ourself #46186 +SLOT="2.2" + +EMULTILIB_PKG="true" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://sourceware.org/git/glibc.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" +fi + +RELEASE_VER=${PV} + +GCC_BOOTSTRAP_VER=20180511 + +# Gentoo patchset +PATCH_VER=3 + +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.xz" +SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" + +IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla" + +# Minimum kernel version that glibc requires +MIN_KERN_VER="3.2.0" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +COMMON_DEPEND=" + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-util/systemtap ) +" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + >=app-misc/pax-utils-0.1.10 + sys-devel/bison + !=net-dns/libidn2-2.0.5 ) +" +RDEPEND="${COMMON_DEPEND} + sys-apps/gentoo-functions + !sys-kernel/ps3-sources + !sys-libs/nss-db +" + +if [[ ${CATEGORY} == cross-* ]] ; then + DEPEND+=" !headers-only? ( + >=${CATEGORY}/binutils-2.24 + >=${CATEGORY}/gcc-6 + )" + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" +else + DEPEND+=" + >=sys-devel/binutils-2.24 + >=sys-devel/gcc-6 + virtual/os-headers + " + RDEPEND+=" + >=net-dns/libidn2-2.0.5 + vanilla? ( !sys-libs/timezone-data ) + " + PDEPEND+=" !vanilla? ( sys-libs/timezone-data )" +fi + +# +# Small helper functions +# + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + is_crosscompile && use headers-only +} + +alt_prefix() { + is_crosscompile && echo /usr/${CTARGET} +} + +# We need to be able to set alternative headers for compiling for non-native +# platform. Will also become useful for testing kernel-headers without screwing +# up the whole system. +alt_headers() { + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} +} + +alt_build_headers() { + if [[ -z ${ALT_BUILD_HEADERS} ]] ; then + ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)" + if tc-is-cross-compiler ; then + ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then + local header_path=$(echo '#include ' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') + ALT_BUILD_HEADERS=${header_path%/linux/version.h} + fi + fi + fi + echo "${ALT_BUILD_HEADERS}" +} + +alt_libdir() { + echo $(alt_prefix)/$(get_libdir) +} +alt_usrlibdir() { + echo $(alt_prefix)/usr/$(get_libdir) +} + +builddir() { + echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" +} + +do_compile_test() { + local ret save_cflags=${CFLAGS} + CFLAGS+=" $1" + shift + + pushd "${T}" >/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + nonfatal emake -s glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + do_compile_test "" "$@" 2>/dev/null || return 0 + else + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + return 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + ;; + amd64) + # -march needed for #185404 #199334 + # Note: This test only matters when the x86 ABI is enabled, so we could + # optimize a bit and elide it. + # TODO: See cross-compile issues listed above for x86. + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + # If the CHOST is the basic one (e.g. not sparcv9-xxx already), + # try to pick a better one so glibc can use cpu-specific .S files. + # We key off the CFLAGS to get a good value. Also need to handle + # version skew. + # We can't force users to set their CHOST to their exact machine + # as many of these are not recognized by config.sub/gcc and such :(. + # Note: If the mcpu values don't scale, we might try probing CPP defines. + # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? + + local cpu + case ${CTARGET} in + sparc64-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparc64v2" + elif ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparc64v" + elif ver_test -ge 2.2.3 ; then + cpu="sparc64b" + fi + ;; + ultrasparc3) + cpu="sparc64b" + ;; + *) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + niagara[234]) + if ver_test -ge 2.8 ; then + cpu="sparcv9v2" + elif ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + niagara) + if ver_test -ge 2.4 ; then + cpu="sparcv9v" + elif ver_test -ge 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + ultrasparc3) + cpu="sparcv9b" + ;; + v9|ultrasparc) + cpu="sparcv9" + ;; + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + strip-unsupported-flags + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # #492892 + filter-flags -frecord-gcc-switches + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # Lock glibc at -O2; we want to be conservative here. + # -fno-strict-aliasing is to work around #155906. + filter-flags '-O?' + append-flags -O2 -fno-strict-aliasing + + filter-flags '-fstack-protector*' +} + +want_tls() { + # Archs that can use TLS (Thread Local Storage) + case $(tc-arch) in + x86) + # requires i486 or better #106556 + [[ ${CTARGET} == i[4567]86* ]] && return 0 + return 1 + ;; + esac + return 0 +} + +want__thread() { + want_tls || return 1 + + # For some reason --with-tls --with__thread is causing segfaults on sparc32. + [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 + + [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} + + # only test gcc -- can't test linking yet + tc-has-tls -c ${CTARGET} + WANT__THREAD=$? + + return ${WANT__THREAD} +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if just_headers ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + local VAR=CFLAGS_${ABI} + # We need to export CFLAGS with abi information in them because glibc's + # configure script checks CFLAGS for some targets (like mips). Keep + # around the original clean value to avoid appending multiple ABIs on + # top of each other. + : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} + export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" + echo "${b}" +} + +check_devpts() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown. + + # If merely building the binary package, then there's nothing to verify. + [[ ${MERGE_TYPE} == "buildonly" ]] && return + + # Only sanity check when installing the native glibc. + [[ ${ROOT} != "/" ]] && return + + # If they're opting in to the old suid code, then no need to check. + use suid && return + + if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then + eerror "In order to use glibc with USE=-suid, you must make sure that" + eerror "you have devpts mounted at /dev/pts with the gid=5 option." + eerror "Openrc should do this for you, so you should check /etc/fstab" + eerror "and make sure you do not have any invalid settings there." + die "mount & fix your /dev/pts settings" + fi +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +eend_KV() { + [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]] + eend $? +} + +get_kheader_version() { + printf '#include \nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown + check_devpts + + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ ${ROOT} == "/" ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + die "Aborting to save your system." + fi + + if ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall() will break. See bug 279260." + die "Old and broken kernel." + fi + fi + + # Users have had a chance to phase themselves, time to give em the boot + if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then + eerror "You still haven't deleted ${EROOT}/etc/locales.build." + eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." + die "Lazy upgrader detected" + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # Check for sanity of /etc/nsswitch.conf + if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then + local entry + for entry in passwd group shadow; do + if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then + eerror "Your ${EROOT}/etc/nsswitch.conf is out of date." + eerror "Please make sure you have 'files' entries for" + eerror "'passwd:', 'group:' and 'shadow:' databases." + eerror "For more details see:" + eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26" + die "nsswitch.conf has no 'files' provider in '${entry}'." + fi + done + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking that IA32 emulation is enabled in the running kernel" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." + fi + + fi + + # When we actually have to compile something... + if ! just_headers ; then + ebegin "Checking gcc for __thread support" + if ! eend $(want__thread ; echo $?) ; then + echo + eerror "Could not find a gcc that supports the __thread directive!" + eerror "Please update your binutils/gcc and try again." + die "No __thread support in gcc!" + fi + + if [[ ${CTARGET} == *-linux* ]] ; then + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! eend_KV ${run_kv} ${want_kv} ; then + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low!" + fi + fi + + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! eend_KV ${build_kv} ${want_kv} ; then + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + # All the checks... + einfo "Checking general environment sanity." + sanity_prechecks +} + +pkg_setup() { + # see bug 682570 + [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup +} + +# src_unpack + +src_unpack() { + # Consistency is not guaranteed between pkg_ and src_ ... + sanity_prechecks + + use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + setup_env + + if [[ -n ${EGIT_REPO_URI} ]] ; then + git-r3_src_unpack + else + unpack ${P}.tar.xz + fi + + cd "${WORKDIR}" || die + unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz +} + +src_prepare() { + if ! use vanilla ; then + elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" + eapply "${WORKDIR}"/patches + einfo "Done." + fi + + default + + gnuconfig_update + + cd "${WORKDIR}" + find . -name configure -exec touch {} + + + eprefixify extra/locale/locale-gen + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" +} + +glibc_do_configure() { + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + # CXX isnt handled by the multilib system, so if we dont unset here + # we accumulate crap across abis + unset CXX + + einfo "Configuring glibc for nptl" + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi + einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" + + echo + + local myconf=() + + case ${CTARGET} in + m68k*) + # setjmp() is not compatible with stack protection: + # https://sourceware.org/PR24202 + myconf+=( --enable-stack-protector=no ) + ;; + powerpc-*) + # Currently gcc on powerpc32 generates invalid code for + # __builtin_return_address(0) calls. Normally programs + # don't do that but malloc hooks in glibc do: + # https://gcc.gnu.org/PR81996 + # https://bugs.gentoo.org/629054 + myconf+=( --enable-stack-protector=no ) + ;; + *) + myconf+=( --enable-stack-protector=$(usex ssp all no) ) + ;; + esac + myconf+=( --enable-stackguard-randomization ) + + # Keep a whitelist of targets supporing IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + # Enable Intel Control-flow Enforcement Technology on amd64 if requested + case ${CTARGET} in + x86_64-*) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_multiarch || echo --disable-multi-arch) + $(use_enable systemtap) + $(use_enable nscd) + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="${EPREFIX}/sbin" + export libc_cv_slibdir="${EPREFIX}/$(get_libdir)" + + # We take care of patching our binutils to use both hash styles, + # and many people like to force gnu hash style only, so disable + # this overriding check. #347761 + export libc_cv_hashstyle=no + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # ia64 static cross-compilers are a pita in so much that they + # can't produce static ELFs (as the libgcc.a is broken). so + # disable building of the programs for those targets if it + # doesn't work. + # XXX: We could turn this into a compiler test, but ia64 is + # the only one that matters, so this should be fine for now. + if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then + sed -i '1i+link-static = touch $@' config.make + fi + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then + echo 'main(){}' > "${T}"/test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + case ${CTARGET} in + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + local myconf=() + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +do_src_compile() { + emake -C "$(builddir nptl)" || die "make nptl for ${ABI} failed" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +glibc_src_test() { + cd "$(builddir nptl)" + emake check +} + +do_src_test() { + local ret=0 + + glibc_src_test + : $(( ret |= $? )) + + return ${ret} +} + +src_test() { + if just_headers ; then + return + fi + + # Give tests more time to complete. + export TIMEOUTFACTOR=5 + + foreach_abi do_src_test || die "tests failed" +} + +run_locale_gen() { + # if the host locales.gen contains no entries, we'll install everything + local root="$1" + local locale_list="${root}/etc/locale.gen" + if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then + ewarn "Generating all locales; edit /etc/locale.gen to save time/space" + locale_list="${root}/usr/share/i18n/SUPPORTED" + fi + + locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \ + --destdir "${root}" +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}$(alt_prefix)" install || die + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + ppc64 /lib64/ld64.so.1 + # riscv + lp64d /lib/ld-linux-riscv64-lp64d.so.1 + lp64 /lib/ld-linux-riscv64-lp64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + ) + ;; + esac + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen + doman *.[0-8] + insinto /etc + doins locale.gen + + # Make sure all the ABI's can find the locales and so we only + # have to generate one set + local a + keepdir /usr/$(get_libdir)/locale + for a in $(get_install_abis) ; do + if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then + dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale + fi + done + + # HACK: If we're building for riscv, we need to additionally make sure that + # we can find the locale archive afterwards + case ${CTARGET} in + riscv*) + if [[ ! -e ${ED}/usr/lib/locale ]] ; then + dosym ../$(get_libdir)/locale /usr/lib/locale + fi + ;; + *) ;; + esac + + cd "${S}" + + # Install misc network config files + insinto /etc + doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf + doins "${WORKDIR}"/extra/etc/*.conf + + if use nscd ; then + doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)" + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + systemd_dounit nscd/nscd.service + systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf + else + # Do this since extra/etc/*.conf above might have nscd.conf. + rm -f "${ED}"/etc/nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile ; then + run_locale_gen "${ED}" + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_strip() { + # gdb is lame and requires some debugging information to remain in + # libpthread, so we need to strip it by hand. libthread_db makes no + # sense stripped as it is only used when debugging. + local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") + env \ + -uRESTRICT \ + CHOST=${CTARGET} \ + STRIP_MASK="/*/{,tls/}${pthread}*" \ + prepallstrip + # if user has stripping enabled and does not have split debug turned on, + # then leave the debugging sections in libpthread. + if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then + ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so + fi +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + src_strip +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ./ld-*.so --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ ${ROOT} != "/" ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" + fi + + if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then + # Reload init ... if in a chroot or a diff init package, ignore + # errors from this step #253697 + /sbin/telinit U 2>/dev/null + + use compile-locales || run_locale_gen "${EROOT}" + fi + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi +} diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 478b5e5c9dc6..3655b03320f1 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) inherit python-any-r1 prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig \ multilib systemd multiprocessing @@ -35,7 +35,7 @@ PATCH_VER=11 SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-patches-${PATCH_VER}.tar.xz" SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla" +IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs suid systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -720,6 +720,11 @@ pkg_pretend() { sanity_prechecks } +pkg_setup() { + # see bug 682570 + [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup +} + # src_unpack src_unpack() { @@ -795,6 +800,17 @@ glibc_do_configure() { # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" echo @@ -1165,6 +1181,9 @@ glibc_do_src_install() { # powerpc ppc /lib/ld.so.1 ppc64 /lib64/ld64.so.1 + # riscv + lp64d /lib/ld-linux-riscv64-lp64d.so.1 + lp64 /lib/ld-linux-riscv64-lp64.so.1 # s390 s390 /lib/ld.so.1 s390x /lib/ld64.so.1 @@ -1247,6 +1266,17 @@ glibc_do_src_install() { fi done + # HACK: If we're building for riscv, we need to additionally make sure that + # we can find the locale archive afterwards + case ${CTARGET} in + riscv*) + if [[ ! -e ${ED}/usr/lib/locale ]] ; then + dosym ../$(get_libdir)/locale /usr/lib/locale + fi + ;; + *) ;; + esac + cd "${S}" # Install misc network config files @@ -1327,6 +1357,12 @@ src_install() { fi foreach_abi glibc_do_src_install + + if ! use static-libs ; then + elog "Not installing static glibc libraries" + find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete + fi + src_strip } diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest index e9729144c076..b5b7591b0420 100644 --- a/sys-libs/ldb/Manifest +++ b/sys-libs/ldb/Manifest @@ -26,7 +26,7 @@ EBUILD ldb-1.2.4.ebuild 2615 BLAKE2B 00c6367deafa557c937672d501cb815bab81a48fe2a EBUILD ldb-1.3.6.ebuild 2564 BLAKE2B b0844ae4705dac2537fecd15f6c11bf407e7a1b1f99843c2ddd6c53e07c6b99944a98f8eba9a97617dfa644c43b5243d8e9304bb91cf7ba201911c1fd1397b1d SHA512 d88c0c9416d24a940f5804c204c2348374d405585dd0841ea7b47242043aa7f8226231a4f71bbf0a1deef70870191ce6c9a24d3b193955da8c328c4788a745c9 EBUILD ldb-1.3.8.ebuild 2568 BLAKE2B 70a6e2fbe4a120c37e97f724b308b051f4ff6affbf5b5800491e0e21e5f1bfdd864b9e0822830d9b9846e40201abd9ff1298bc3874a2c6fc127f7145d9d0aaef SHA512 53d06ad156952198db0a10472a4a78c910fda0fe4e7a9caf1f5938be916a41f5e4f242e865f0fd5df72ceab084ae75687b813597338a9509a54c3ea4f8c1f428 EBUILD ldb-1.4.6.ebuild 2662 BLAKE2B 0ac8736523b19c57bae4ce81f2bf49aa6f5a0afc9a4698c96bf5ed240feddb0323dc1214525aba6171582bfdabf988c55861150c78be0834c514a157adae4b4d SHA512 dddb70565ce98942ecbdffa9114effa9ba9547d9517f893ddfdd63498e1b0728fe9725a1f622b9580da4323b14f0a72c8e77e0014b94b54bf54c6ffce069eb07 -EBUILD ldb-1.5.4.ebuild 2673 BLAKE2B fe47a0327918d79edfaaf5c1b5d24257015a1465f129c18e2e9d41dea07d90e17aa13d6d6895499c899cee5fa4eeb2a910b3c8ae754353a340a7ba2950a2760f SHA512 600ec128e00ef313d0758a091343d0beacef04721acf4d7b5d6a655ed623df6e52e9965eba60054b3ea3a0864b3f667b999d4e84a114356df3ea039efdf2ddcd -EBUILD ldb-1.6.2.ebuild 2673 BLAKE2B fe47a0327918d79edfaaf5c1b5d24257015a1465f129c18e2e9d41dea07d90e17aa13d6d6895499c899cee5fa4eeb2a910b3c8ae754353a340a7ba2950a2760f SHA512 600ec128e00ef313d0758a091343d0beacef04721acf4d7b5d6a655ed623df6e52e9965eba60054b3ea3a0864b3f667b999d4e84a114356df3ea039efdf2ddcd -EBUILD ldb-1.6.3.ebuild 2673 BLAKE2B fe47a0327918d79edfaaf5c1b5d24257015a1465f129c18e2e9d41dea07d90e17aa13d6d6895499c899cee5fa4eeb2a910b3c8ae754353a340a7ba2950a2760f SHA512 600ec128e00ef313d0758a091343d0beacef04721acf4d7b5d6a655ed623df6e52e9965eba60054b3ea3a0864b3f667b999d4e84a114356df3ea039efdf2ddcd +EBUILD ldb-1.5.4.ebuild 2670 BLAKE2B 92adb14f3d666618f7e47eac844db836fb3af68ddb4c979d8dc6fcaa092df30686447e153584cc6ff6f25274c2243fe00de14539ad438f82b425a8b890b11b1f SHA512 10ff985fb74cb70b1ac96882d13e2697dd1eddee2f4c60a54929d5188ed5c5cac28c6dc4e23dc37b357a8e5e757ea82be0b582bca716c34e50d8dfb096cad996 +EBUILD ldb-1.6.2.ebuild 2671 BLAKE2B fa05fba1b86166a83019bbf6d09595ab6210803d63e91718beab283106a0c21c6f9fee6bc399a8bb4ac9c4947c540e3cdfb8ce02a7dfa51e6acfb79c9def65f7 SHA512 9b39921c760d1c73a4fd3aa96fe94765728844b438b0ee9d6c42e87330667eb017f346b57e7679bcdd8daa2c91e0584502922792d45e5e81a547539fd14c0643 +EBUILD ldb-1.6.3.ebuild 2671 BLAKE2B fa05fba1b86166a83019bbf6d09595ab6210803d63e91718beab283106a0c21c6f9fee6bc399a8bb4ac9c4947c540e3cdfb8ce02a7dfa51e6acfb79c9def65f7 SHA512 9b39921c760d1c73a4fd3aa96fe94765728844b438b0ee9d6c42e87330667eb017f346b57e7679bcdd8daa2c91e0584502922792d45e5e81a547539fd14c0643 MISC metadata.xml 445 BLAKE2B 959f0dc450ab8518bcbdbaf2802a3660c180e0eb95028e7b13fb0c0c0b47c8e68a81a1c970ca023ac441a1c43027b4b567c3643519b7c33ac6c0d1e11dcd0ff3 SHA512 b701ef9375735fb561c2e7c46ad13d30b62739fbf780e4343882898ecf13961e4f8381997109290e70a79993692aec2adc602bbc4bb9c881780349bebc75e4e1 diff --git a/sys-libs/ldb/ldb-1.5.4.ebuild b/sys-libs/ldb/ldb-1.5.4.ebuild index a004ed3f1c6d..48861f54ad11 100644 --- a/sys-libs/ldb/ldb-1.5.4.ebuild +++ b/sys-libs/ldb/ldb-1.5.4.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit python-single-r1 waf-utils multilib-minimal eutils @@ -13,7 +13,7 @@ SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz" LICENSE="LGPL-3" SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" IUSE="doc +ldap +lmdb python" RDEPEND=" diff --git a/sys-libs/ldb/ldb-1.6.2.ebuild b/sys-libs/ldb/ldb-1.6.2.ebuild index a004ed3f1c6d..102b52891a13 100644 --- a/sys-libs/ldb/ldb-1.6.2.ebuild +++ b/sys-libs/ldb/ldb-1.6.2.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit python-single-r1 waf-utils multilib-minimal eutils diff --git a/sys-libs/ldb/ldb-1.6.3.ebuild b/sys-libs/ldb/ldb-1.6.3.ebuild index a004ed3f1c6d..102b52891a13 100644 --- a/sys-libs/ldb/ldb-1.6.3.ebuild +++ b/sys-libs/ldb/ldb-1.6.3.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit python-single-r1 waf-utils multilib-minimal eutils diff --git a/sys-libs/libapparmor/Manifest b/sys-libs/libapparmor/Manifest index 780936c89557..8d7545095d63 100644 --- a/sys-libs/libapparmor/Manifest +++ b/sys-libs/libapparmor/Manifest @@ -1,6 +1,6 @@ AUX libapparmor-2.10-symbol_visibility.patch 219 BLAKE2B 37bb9ceabfedde6f21e313fcc6a85563fdeca86863e681fa40689b5ce8cb5bdf87947c19b176d7f96edac562b6420a0ae6aae717967782e1bd1bb6ffd4782671 SHA512 93c5e19a6cdfce232a71f9b33b1e96dff44b947c06fc6e348a31038ef78bec7b90e49698681a4010bffd4274ff17a304542b549a8840458b3ab17d4ef1b53d36 DIST apparmor-2.13.1.tar.gz 7367615 BLAKE2B 34a5f42b32bd4790f1075b76dfa17dd5b5cedfde7074eb0c57a3982a47e7b4dd2570bc056a4f4a8064c6a126a4727829cf5dcc04a4912f009338206faa887017 SHA512 e4b9788ecc0b59285f17d5e87669f507bf849c15d0ac3833e8d1d6aa2ece7add15814c75f257cea9d71a709c1af4990d8b76773e59fd42dbf5cfa2de0f9495a7 DIST apparmor-2.13.2.tar.gz 7369240 BLAKE2B 1e2a559375c02c7ab8e79cc2e9275a9f271490ef003a8da3e544bfdd80b47ddef7a7da0bf73b41e6fe9bff219a6e4fda7d04e6df71bb127530828160704cb7fe SHA512 2e5f84ced12c9de1a862e1a3258e8424f1f0d3c986947aec9d88a9258729a584953d00591c8902aa41e664acf9a639dab96d025c3a1ed3f91f0edce8d028b58f -EBUILD libapparmor-2.13.1.ebuild 2110 BLAKE2B 681c3db4ce5392941600301e2ec506e4314295e28dc177c08dc94e7baa39e503dbd08f897ddc24327b766b31d12170bf7e0ea6f28abe5a2f071edb182d86419a SHA512 36b5442b2c352e993c3c87f6f6398ebb7c8212680058b92dbe09f32053c38e5b6607cf6ce1982a766f7cea797bc9c31af32c0f4ff0fa189a5f1732fcfee2535a -EBUILD libapparmor-2.13.2.ebuild 2072 BLAKE2B 253db03a4eb4c1f65c678d58b9dea13759f013d4ce71756c0a14bc292a2c7d0a71f4512b40a40fc707a7b96a3d44d63ad5f6bc52bf75db22baa6b4626ed40a38 SHA512 483719e140443d2b0b58bcbaea4cc15e94024b272eddb03f34c48d7919a8805a3a5219c49abf3da4dac4cb47088ed5a35e70de3f6050f614f972f1d995d9816c +EBUILD libapparmor-2.13.1.ebuild 2106 BLAKE2B 98238a6f8787762cd172b4fd6f9cd004eb315582998d27402e16aa827bc195bc84d525820cf72608d4636649347fc50202d29e1058466e833015d4b90d590a7f SHA512 0b57ff90302560c94b1e9560f62d81e0b1d3da9224b4b42ced97c57f3cdb79e8197c053466bcda90c40d13dbf9a9cfd5123f731ffc3d696a037bd2add0882097 +EBUILD libapparmor-2.13.2.ebuild 2075 BLAKE2B 9d6a8fef9013b17aa46e1af3e10a66b3fe1d545164714da9954e3e55f790623cbf6b051558458b2c24b8285eeaaff6e7775bcc82d35781d26e2979cf8167dedd SHA512 959fd25204b36aaef4a48f31a956ab1fb8a7df85d45b3864379ca6fe99c8ba1ed3c88083db9c99674652e2346f6d6d2ba37b0ddaef57607432ceb72d90bbafb7 MISC metadata.xml 409 BLAKE2B 63cb1726a015cf118e8ffcc8cf9d49795a75d367e36b0332fbf23faad8b3eed41e2ae090cc92757e12248d831e0ea1782b6f275ef02b7d2d2022bf2b79f69042 SHA512 a66647c5e40f2593017942c12786dc30995e7980fdb58c1de0b9ae34069434cb5a4c70b2bd268a239df82edfcc1e7288e8033bf57609f757a321639afd5e78b8 diff --git a/sys-libs/libapparmor/libapparmor-2.13.1.ebuild b/sys-libs/libapparmor/libapparmor-2.13.1.ebuild index 76587f57c1d1..81551b20fa1d 100644 --- a/sys-libs/libapparmor/libapparmor-2.13.1.ebuild +++ b/sys-libs/libapparmor/libapparmor-2.13.1.ebuild @@ -5,7 +5,7 @@ EAPI=6 ###############AUTOTOOLS_AUTORECONF=1 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) GENTOO_DEPEND_ON_PERL="no" inherit autotools distutils-r1 eapi7-ver perl-functions diff --git a/sys-libs/libapparmor/libapparmor-2.13.2.ebuild b/sys-libs/libapparmor/libapparmor-2.13.2.ebuild index bf0107144e10..23bb73d7272e 100644 --- a/sys-libs/libapparmor/libapparmor-2.13.2.ebuild +++ b/sys-libs/libapparmor/libapparmor-2.13.2.ebuild @@ -4,7 +4,7 @@ EAPI=6 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) GENTOO_DEPEND_ON_PERL="no" inherit autotools distutils-r1 eapi7-ver perl-functions @@ -17,7 +17,7 @@ SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}. LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="doc +perl +python static-libs" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest index 874dad8eb644..4a354fd4937c 100644 --- a/sys-libs/libblockdev/Manifest +++ b/sys-libs/libblockdev/Manifest @@ -1,7 +1,8 @@ DIST libblockdev-2.14-1.tar.gz 274241 BLAKE2B 64c4c2a298ed95ed24a79716ccef5930f4276faaca02acf883c386b85a662d3fa1dc6f30e00d99bd835832e3c65acb89b445eff6fb35f9090dc949efde737d1a SHA512 fb80e840ed2f247912da93a6cc0cb1846be73dcc16b917f5231f5d7a87eaa7b43d07d5b2110038dd783fefa7ef7df0893785a60079ed02567f1e08bfcbd82343 DIST libblockdev-2.20-1.tar.gz 338039 BLAKE2B 77923e52b10e7853ae9433bf811d3a08f1c18da81d4f148b220d7e4101535f245612f0c82c96c6c3bc3e4c0631ada153c59c4587a86efdc5669a0b9f69e764be SHA512 4cb6b18d5de63461f35e0b6f6896599aa41da2c995839c2e88661dacdf07522842b612820fb1d83edbde72092cc62295d5411e8607f52c611db7f02aa16c9ab3 DIST libblockdev-2.21-1.tar.gz 342121 BLAKE2B a0a1958303d38760a49eb2aca11ee84dfc16ebecac37d0b8322f88e078931737695e4a600efef42511bad4e027799ca38d0e3b42527a0b9189035f7a02a10f35 SHA512 9991e5b776b4fe62b7f703753630e8ec4769c043047452d63de08d93f823b778179e4568b8b78c3963daf6219422afc9eb82bcc5b07b7f0a422162037b569e41 -EBUILD libblockdev-2.14-r1.ebuild 1514 BLAKE2B 1d27d975055e90cd84a20d070bac7ea1ae91235c3512aae87e6341f2d286db97570b8790e587321f3608f33e3fd1f8e1c67c50588edc56dca879f79d527060a0 SHA512 f054ded1e078677718e35797d6cbd5cf920d79696cc60203cccd5181c675824a65fb8769ac2ed92d7da26a7e11d68a5ada315a68eaddd17db15b9baf5c6ee799 -EBUILD libblockdev-2.20-r2.ebuild 1957 BLAKE2B dbaa9fac7c0843a1229cc04b3709b594f0f78e87d78a388325d27de2d5ea9e74955c8503a707b4ae6841c3c69572ff85a653b2cbd71d92299ebd0a0879a7ced5 SHA512 2aeec7ee012887345d81951718908a082bc7fa29b6aeb4a1ff9903c8c81ab062cae2b10dfbdf7e442a9085b3b2637f96376f5803b8d2abe3321eb7d8a7a87cbe -EBUILD libblockdev-2.21.ebuild 1991 BLAKE2B 3a9f8b1c8838db043f83a37a5cf874e7a035fc4947add97b35b13743f7b52bce3d48a7519732648ada171f1f16deb1432513d5fe4c9ce31cda0f2297b969b770 SHA512 0c8addd53fea9af46ae598c3aa8e2b9e969d1e870fe8b6c3b570a868263f5dc7c88e72acd09e7fd7c1d2396bde695c7f7e502467f08af0ed09730f0434386fb0 +EBUILD libblockdev-2.14-r1.ebuild 1537 BLAKE2B a6ce9968bca2768d16271b6a5e9370a4e152b41fa9e0972514ee9d429b8f0f1892abac4ba3eb1b15e3124728a9b5202f4952f480d6c71a1de953ea6c3361e29b SHA512 e75550dbc8da06d286e0b20b7bd80105f8b49e315e6f91ac3bb83d54db49b3232ce15a849d268ba55f306ded63660ad6ca15509b0344a279f604c3b13f62d4db +EBUILD libblockdev-2.20-r2.ebuild 1994 BLAKE2B 7e557e13b90501f90bcb91514742b670ddc7bd94361bdf591dc897153f001a4585c06caeb985d210478800ea73db193865624b7eefd7155b1a8f980899821c9f SHA512 2d7915d7e9b5f0fb8933b8201bac25d0816aae804575da9c166c81d11090ea1c13cfe773c67cbd8201983de5944a940e59c0a13c2c8536ef12ca0ef577111155 +EBUILD libblockdev-2.21.ebuild 2029 BLAKE2B 52b4450eee896acef06c19b4ce5565739139ded79438b9a3ebbbe4c9e4d6cc37d02410b0d1c39533ff81427479efbdddb97855550a13e5aa8a5437163be3ad8b SHA512 d2b6dd2c454a83be8b2733ee215a24b4d21f200ef4c65aeb7bca293d47b92eb0ca4a69b520b623c1165b18287fefd5d9afdc37bebf75e0b994d91903285df4d8 +EBUILD libblockdev-9999.ebuild 2322 BLAKE2B 200f9a8add28b684a6ac4d8548da5e8887ea827d07bcf8ba3860bfdb2fbcd1ea7eaef1ad3d69b4265a06b051cd061515fef970330bdd3012b02a5aedc7697452 SHA512 27110783c35352612e9d26802ea5113a250ab11425e553099689351278fdd435a7ca22bdcd20423f791326c952ee34e4802e7924eeee1ab15d159c9c4ba4f849 MISC metadata.xml 1079 BLAKE2B 927991dfdfefd599210651f76fa8bffbd5a54700791b57847a9ecf85cd1aa04a449eea84c4e1ee3e9eb50e541eab3d97a6218c814a018439aa6f520970a8acca SHA512 492cabe5b464c0bae48e8def1e771a27f28bcd03a47276be26a4351367bcd53e198358f8c0cbf25cd0c6c8e841ee67435b22fbe669bde1a6aa74668e70fa8fc9 diff --git a/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild b/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild index 97bf88c573e6..8fc7844782e0 100644 --- a/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.14-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6} ) +PYTHON_COMPAT=( python3_{5,6} ) inherit autotools python-single-r1 MY_PV="${PV}-1" @@ -42,6 +42,7 @@ CDEPEND=" DEPEND=" ${CDEPEND} >=dev-libs/gobject-introspection-1.3.0 + sys-devel/autoconf-archive doc? ( dev-util/gtk-doc ) " diff --git a/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild b/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild index 61c34fcd500c..c89adc247d3c 100644 --- a/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) inherit autotools python-single-r1 xdg-utils MY_PV="${PV}-1" @@ -14,7 +14,7 @@ HOMEPAGE="https://github.com/storaged-project/libblockdev" SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 ~ia64 ~mips ppc ppc64 sparc x86" +KEYWORDS="alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86" IUSE="bcache +cryptsetup device-mapper dmraid doc escrow lvm kbd test vdo" RDEPEND=" @@ -45,7 +45,10 @@ RDEPEND=" DEPEND=" ${RDEPEND} +" +BDEPEND=" >=dev-libs/gobject-introspection-1.3.0 + sys-devel/autoconf-archive doc? ( dev-util/gtk-doc ) " diff --git a/sys-libs/libblockdev/libblockdev-2.21.ebuild b/sys-libs/libblockdev/libblockdev-2.21.ebuild index 8d96728862cc..896f932d1c63 100644 --- a/sys-libs/libblockdev/libblockdev-2.21.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.21.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) inherit autotools python-single-r1 xdg-utils MY_PV="${PV}-1" @@ -45,7 +45,10 @@ RDEPEND=" DEPEND=" ${RDEPEND} +" +BDEPEND=" >=dev-libs/gobject-introspection-1.3.0 + sys-devel/autoconf-archive doc? ( dev-util/gtk-doc ) " diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-9999.ebuild new file mode 100644 index 000000000000..007d840b53e8 --- /dev/null +++ b/sys-libs/libblockdev/libblockdev-9999.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) +inherit python-single-r1 xdg-utils + +DESCRIPTION="A library for manipulating block devices" +HOMEPAGE="https://github.com/storaged-project/libblockdev" +if [[ "${PV}" == *9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" + BDEPEND=" + sys-devel/autoconf-archive + gtk-doc? ( dev-util/gtk-doc ) + " +else + MY_PV="${PV}-1" + #MY_P="${PN}-${MY_PV}" + #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" + SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" + #S="${WORKDIR}/${MY_P}" +fi +LICENSE="LGPL-2+" +SLOT="0" +IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc lvm kbd test +tools vdo" + +RDEPEND=" + >=dev-libs/glib-2.42.2 + dev-libs/libbytesize + >=sys-apps/kmod-19 + >=sys-apps/util-linux-2.27 + >=sys-block/parted-3.1 + cryptsetup? ( + escrow? ( + >=dev-libs/nss-3.18.0 + dev-libs/volume_key + ) + >=sys-fs/cryptsetup-1.6.7:= + ) + device-mapper? ( sys-fs/lvm2 ) + dmraid? ( + sys-fs/dmraid + sys-fs/lvm2 + ) + lvm? ( + sys-fs/lvm2 + virtual/udev + ) + vdo? ( dev-libs/libyaml ) + ${PYTHON_DEPS} +" + +DEPEND=" + ${RDEPEND} +" + +BDEPEND+=" + >=dev-libs/gobject-introspection-1.3.0 + dev-util/gtk-doc-am +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + escrow? ( cryptsetup )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + xdg_environment_reset #623992 + default + [[ "${PV}" == *9999 ]] && eautoreconf +} + +src_configure() { + local myeconfargs=( + --with-btrfs + --with-fs + --with-part + --without-mpath + --without-nvdimm + $(use_enable test tests) + $(use_with bcache) + $(use_with cryptsetup crypto) + $(use_with device-mapper dm) + $(use_with dmraid) + $(use_with escrow) + $(use_with gtk-doc) + $(use_with kbd) + $(use_with lvm lvm) + $(use_with lvm lvm-dbus) + $(use_with tools) + $(use_with vdo) + ) + if python_is_python3 ; then + myeconfargs+=( + --without-python2 + --with-python3 + ) + else + myeconfargs+=( + --with-python2 + --without-python3 + ) + fi + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name "*.la" -delete || die +} diff --git a/sys-libs/libcap-ng/Manifest b/sys-libs/libcap-ng/Manifest index 49a7c7b553e5..6349dc272a31 100644 --- a/sys-libs/libcap-ng/Manifest +++ b/sys-libs/libcap-ng/Manifest @@ -1,5 +1,5 @@ DIST libcap-ng-0.7.8.tar.gz 447946 BLAKE2B a26af2dcdd1af26cf03ca668dc95eed7bc1d0344729031497f46bba865bcb23ded2f1ea2ca5cb500b9419bbbd7ed75501921485257a3c8930d156a94e0a2c1c1 SHA512 c32a4c5780c183b13611615abe9061221fd8987188b08828d1617cdaee338ad8de67b3430aa83bde60128efc76449a688546bfbf697f0847b6a835cb1a868756 DIST libcap-ng-0.7.9.tar.gz 449038 BLAKE2B 3f84e5078d5d443cb61358c49405e4f16ff82a56e1c96d5127b522613b1b5c56a566a01b14b40055eca85f13b37f3d795248a506c54ac4612ab184a94addc365 SHA512 095edabaf76a943aab0645b843b14e20b1733ba1d47a8e34d82f6586ca9a1512ba2677d232b13dd3900b913837401bb58bf74481970e967ba19041959dc43259 -EBUILD libcap-ng-0.7.8.ebuild 2299 BLAKE2B bc477123b519ff1156d1a16a03e4e8dcddc2c0e5ee2b2a14e47a95b76d6cfdeceff3b34fa929e4766397ed392fdad30c90d65a9652cec0a8f825f3e1a24a1a35 SHA512 5c0d35841195de32a67327b3e67243ed2e1c0281a7d0943e11a69a4a4e63b6ffdfa30cfeabce48d1ad9c0a0a2b7329a7f85e559c52c6d79f95ee8d0da4020648 -EBUILD libcap-ng-0.7.9.ebuild 2204 BLAKE2B 076903a9bad16d5d1f1f94c3195cda98cb3d99bc6fb7b3fb5b8b12de02241b5e135f61a315b40fe2f99437c7c255e8efebd2d444a574403abcd9286bc3240b97 SHA512 2ed96aad46aced9dea0ad140aea68f43287733906fbd9cd325fae4d27177d59b25b3d33a697a1abf3d8ab7631802fd6639df93434a8fdc7c421ada1d025a0bed +EBUILD libcap-ng-0.7.8.ebuild 2292 BLAKE2B 8ee760e4d10a5ae652d30cb824852d60228c4ce7cd8e9339cd223527bb73b5348f2178597c9daf6e30620090e76ea13f539c44b78434acb5db8db909f0773ce4 SHA512 fd1f7e43556763f0512464c2a03e33815df1d4517f2558ab84cf4aeaeefc0ed6f92fb771f121656b9e62ab461d74355311bb1e6a49b166862fa87f6a8edc3b3a +EBUILD libcap-ng-0.7.9.ebuild 2202 BLAKE2B 994d98c4d1fe6c19e57875b061dc7eb4343bea74c72b05ab6b67a479a4fb25927f2fe87ceec2b23ad9bc0461099d0045ae28b8362319992b26eebb2141d68a3f SHA512 f4a695443c97f677ddf0f4b96dbd6c3eb34d174dc2755343125854081b1d73f374442027a56968770ca95e8df2a7bb0e4376706607842f4a3bfb068411209c74 MISC metadata.xml 580 BLAKE2B 488341de9440c9cb0679acda14073496a0a1294380aa421496e4c622fa22a1c143b8bbce742214459fccf1825b9c1ef0004c9fec0fc3076b92a88bf557a63361 SHA512 51d670d97a94c8c668a4580bf6106a5b027b4d8d0c2f27ca88a508e60ece5a5390b619f0368c8111f2b843748a9ad31f1804c2a60df91ae1717a2c8b2a7aedc3 diff --git a/sys-libs/libcap-ng/libcap-ng-0.7.8.ebuild b/sys-libs/libcap-ng/libcap-ng-0.7.8.ebuild index cf7a0255dbee..3199969040a8 100644 --- a/sys-libs/libcap-ng/libcap-ng-0.7.8.ebuild +++ b/sys-libs/libcap-ng/libcap-ng-0.7.8.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 AUTOTOOLS_AUTORECONF=1 AUTOTOOLS_PRUNE_LIBTOOL_FILES=all -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit autotools-utils flag-o-matic python-r1 diff --git a/sys-libs/libcap-ng/libcap-ng-0.7.9.ebuild b/sys-libs/libcap-ng/libcap-ng-0.7.9.ebuild index 6b134492aa9d..94a945149ac8 100644 --- a/sys-libs/libcap-ng/libcap-ng-0.7.9.ebuild +++ b/sys-libs/libcap-ng/libcap-ng-0.7.9.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) inherit autotools flag-o-matic python-r1 diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest index 64f7ba03a7d9..ff4f3d6a9c19 100644 --- a/sys-libs/libcap/Manifest +++ b/sys-libs/libcap/Manifest @@ -6,7 +6,8 @@ AUX libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch 988 BLAKE2B 63417032 AUX libcap-2.26-no-perl.patch 2483 BLAKE2B 34d20ca017119a40e31e2da64786a93c1d5468558e8dfcfb15f3758b6648aaad38bf333c11b35a2c8c4cb66d823e4daefed93b7073a0a65225fe9ef3494ff9ef SHA512 750a64c7b45fd145a043f29b8262c9f972aa4dcfb76afed9e440365c0e55d67d0103491e67a34f0f24ee580656e2fffd589b46b0c5a04b4c9e05b5dac6bbe994 DIST libcap-2.25.tar.xz 63672 BLAKE2B 205790dea83f15b585e5151814ea520ab1545661d18fa57f36e8c8e597a7c0f0ff1d7b5ccffc36e313eb28606f1e71678233a06896e29cb28e5559b190dd47ed SHA512 c3ab491885292adc171cde542b96f1295e84132febb50112a46575c3bde3a3eb6fcf733f7a756b4b656e013c0abb5ed6571db24799f8c0b23d8f759f992864f9 DIST libcap-2.26.tar.xz 67172 BLAKE2B 9d1952bd03e1bba5ffa225a5088b8d841c2007219bbb9524f979ac65e472bf932db496acf93984fa77fe42e71d45b85cd603ca461a071fb4742526dfbc5f66eb SHA512 1c2d59f007226405a924950b2c2090393527e06f0692a84e6463e33915a070df61a9070b8f30a624d5630ddd39290eac117e5d440577d1edd48510195b9d12f0 -EBUILD libcap-2.25-r1.ebuild 2014 BLAKE2B 4f3f2bf0f68703594aec5d4eccc4e0847deabf68c5d80437b7f99a0a61d7e63c7421d376b23258d9365bb783e7cbf5f703dd8161093969f20bef66accf74b77d SHA512 7858b3d5ac0aedbf9c973c535fa1c36d003a782b6c93e88310dab1f25fe7bd11105a418dc4e0ea0551fa2253a626dbc56bab09f8d08824a076579f9022d7bae7 +DIST libcap-2.27.tar.xz 67780 BLAKE2B 7b58d7afdd90281771a302cd9554f067b9e3636b0c052935973d8a0d890490c3933b3513874b788a8c10e37ab5ad9cfa766408c9629b7c8562cb17bfdef87747 SHA512 e32335fd3e0d1564574acc73df7030b5b0fd98875217bffabd76f2765f1a7a6f1369f03df2ee22a1782776838784e342378c10613ea1163d53ae5055ab6a62b6 EBUILD libcap-2.25.ebuild 1985 BLAKE2B 9b54adaecef1a90ec278fca89520259164c42cf119a40472d24a000c6123010c561d73ca5bcac50005187cb79a89fe4c480a6b49960eaee4eb120915ff886351 SHA512 8fa3587c008e1acf25283186f49a78484ab70cd41bc2d87161241688ee8b9640623abda097f66d9527f498b030cb113afb1babb3f07041d9b2230fd4ade0c8ad -EBUILD libcap-2.26-r2.ebuild 2024 BLAKE2B c97af87bad088092a8c0c62f4404e97ab31399e841d2102692e4aae0991e8f24dc46f1add51f65eeff0ab6666ce224c84d3851b97dfa0879d71f2854802c2807 SHA512 119f7b245d448a7da0bcad134534c6c8b79f148d6420940637d00a321fb44ee872f1c0191d4a6578df4c71f07dd39118ab24be911052a0d6090e54f70f9a20b4 +EBUILD libcap-2.26-r2.ebuild 2015 BLAKE2B 75d8068b7a5ceec20066643ca8e9785c08aa3f4b0c08f62dbb67b024ef8646a6b5a049bce12fbdd2ba38e51d0e322a013ce221c11884ee6e489cd43c098c829c SHA512 b4f9c15b6814c152c49bddbac3609d7e362448c3d1fd8094bd04431762dd3106f342b2b172f024d597ed7fd00de22497d75a9605ed78b25c6a536730238f1c57 +EBUILD libcap-2.27.ebuild 2024 BLAKE2B e56f3fdd4867d85ce22ccab9fea80529b665725d0ba9eed53df430fa45b07b29fac6d0925a26de9db2b96b5f6e55ea85a3f3ecef4a203ce08236b1f24f333c12 SHA512 4b4468e008443167b44a351e8ea423c22ad37d49bea729a42e5fecb7bf9cab9bbc5cab9899749f83550929289c64f3d01956b0b1abbfe42a7cf5199de1d028c1 MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 diff --git a/sys-libs/libcap/libcap-2.25-r1.ebuild b/sys-libs/libcap/libcap-2.25-r1.ebuild deleted file mode 100644 index 0a107305526d..000000000000 --- a/sys-libs/libcap/libcap-2.25-r1.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit multilib multilib-minimal toolchain-funcs pam - -DESCRIPTION="POSIX 1003.1e capabilities" -HOMEPAGE="http://www.friedhoff.org/posixfilecaps.html" -SRC_URI="mirror://kernel/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - -# it's available under either of the licenses -LICENSE="|| ( GPL-2 BSD )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="pam static-libs" - -# While the build system optionally uses gperf, we don't DEPEND on it because -# the build automatically falls back when it's unavailable. #604802 -RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] - pam? ( virtual/pam )" -DEPEND="${RDEPEND} - sys-kernel/linux-headers" - -PATCHES=( - "${FILESDIR}"/${PN}-2.25-build-system-fixes.patch - "${FILESDIR}"/${PN}-2.22-no-perl.patch - "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch - "${FILESDIR}"/${PN}-2.21-include.patch - "${FILESDIR}"/${PN}-2.25-gperf.patch -) - -src_prepare() { - default - multilib_copy_sources -} - -multilib_src_configure() { - sed -i \ - -e "/^PAM_CAP/s:=.*:=$(multilib_native_usex pam yes no):" \ - -e '/^DYNAMIC/s:=.*:=yes:' \ - -e '/^lib_prefix=/s:=.*:=$(prefix):' \ - -e "/^lib=/s:=.*:=$(get_libdir):" \ - Make.Rules -} - -multilib_src_compile() { - tc-export AR CC RANLIB - local BUILD_CC - tc-export_build_env BUILD_CC - - default -} - -multilib_src_install() { - # no configure, needs explicit install line #444724#c3 - emake install DESTDIR="${ED}" - - gen_usr_ldscript -a cap - if ! use static-libs ; then - rm "${ED%/}"/usr/$(get_libdir)/libcap.a || die - fi - - if [[ -d "${ED%/}"/usr/$(get_libdir)/security ]] ; then - rm -r "${ED%/}"/usr/$(get_libdir)/security || die - fi - - if multilib_is_native_abi && use pam; then - dopammod pam_cap/pam_cap.so - dopamsecurity '' pam_cap/capability.conf - fi -} - -multilib_src_install_all() { - dodoc CHANGELOG README doc/capability.notes -} diff --git a/sys-libs/libcap/libcap-2.26-r2.ebuild b/sys-libs/libcap/libcap-2.26-r2.ebuild index 27c8f7ee0891..696ef6a15500 100644 --- a/sys-libs/libcap/libcap-2.26-r2.ebuild +++ b/sys-libs/libcap/libcap-2.26-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,7 +12,7 @@ SRC_URI="mirror://kernel/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" # it's available under either of the licenses LICENSE="|| ( GPL-2 BSD )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux" IUSE="pam static-libs" # While the build system optionally uses gperf, we don't DEPEND on it because diff --git a/sys-libs/libcap/libcap-2.27.ebuild b/sys-libs/libcap/libcap-2.27.ebuild new file mode 100644 index 000000000000..c5f72abafbf2 --- /dev/null +++ b/sys-libs/libcap/libcap-2.27.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib multilib-minimal toolchain-funcs pam + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="http://www.friedhoff.org/posixfilecaps.html" +SRC_URI="mirror://kernel/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + +# it's available under either of the licenses +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="pam static-libs" + +# While the build system optionally uses gperf, we don't DEPEND on it because +# the build automatically falls back when it's unavailable. #604802 +RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] + pam? ( virtual/pam[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + sys-kernel/linux-headers" + +# Requires test suite being run as root (via sudo) +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-2.25-build-system-fixes.patch + "${FILESDIR}"/${PN}-2.26-no-perl.patch + "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch + "${FILESDIR}"/${PN}-2.21-include.patch +) + +src_prepare() { + default + multilib_copy_sources +} + +run_emake() { + local args=( + exec_prefix="${EPREFIX}" + lib_prefix="${EPREFIX}/usr" + lib="$(get_libdir)" + prefix="${EPREFIX}/usr" + PAM_CAP="$(usex pam yes no)" + DYNAMIC=yes + ) + emake "${args[@]}" "$@" +} + +multilib_src_compile() { + tc-export AR CC RANLIB + local BUILD_CC + tc-export_build_env BUILD_CC + + run_emake +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + run_emake DESTDIR="${D}" install + + gen_usr_ldscript -a cap + if ! use static-libs ; then + rm "${ED%/}"/usr/$(get_libdir)/libcap.a || die + fi + + if [[ -d "${ED%/}"/usr/$(get_libdir)/security ]] ; then + rm -r "${ED%/}"/usr/$(get_libdir)/security || die + fi + + if use pam; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.notes +} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 24a2108742a9..8330441640c2 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -1,10 +1,11 @@ AUX libcxx-3.9-cmake-link-flags.patch 1014 BLAKE2B 8e86059e00a5ebcd7a1528882876607c80ab14bcd0ebf2c8dbec87f71a48761e6433ff94db92b41192edb6e3cc74972cd9fb518f18a657229bd30afa3a65bdf8 SHA512 5df85c66bf865900197effe3905976bf165b4c4d79b8d14352753f6baca93ab5dc26bf735fd9478a0c13df489b860d8b629240134b7e26be6233138ea95dbab3 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8 +DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03 EBUILD libcxx-6.0.1.ebuild 6746 BLAKE2B 616128b9d49049ac6de90b84f89a48c7033f5927edc5e15674df5e3a2225630f59a99c8047c71d9128304d726241ceaa1cefabf8d44e4b2d6a491611f63bee88 SHA512 3df9e7e79b62893441212fe7baa51190ac69f0bf64332718ae53596a043dc3583b8125bbcf7339cca7cf9937aa870ea0d8b12670700962c1cb22892f706e3129 EBUILD libcxx-7.0.1.ebuild 6750 BLAKE2B 0052def7166376e81fdc4126220bc6749113e43b2fd66f6e447e020f6bbb6b63b7519e3656c79793837c5b105e2606f34b1d23e78bf4dcd2c892f79cc32b2101 SHA512 f16905c20b669428f1378185072563f855ed03520057039ba794fc717f0ca2cc44bc1c1a78aa24bca688946d5a32e2843163198e4085396e668f4c695f5e61e7 -EBUILD libcxx-7.0.9999.ebuild 7047 BLAKE2B eb80753b38042cdb3ae3f01db2c4dc9bc7a588e00bcf1d7da85d3c30c73e941bbc1096d9b6be67c21dd47874354f909255a843371cb0fe9f479ee09d3439b292 SHA512 ae81c9c856f39dfef3dec1e66decab8b20987eb82c4093b6bfda2937c5111bc6a24058f95a92b3a3beb0b91df6f5bb83216ff4997a0be8fd7d28b8f29f91290f +EBUILD libcxx-7.1.0.ebuild 6750 BLAKE2B 6e03588334d2af0c0ce2e02ff2e7a8f9f9817a494fc6445a4fecfb1381884eb4a92921d7b06d5c12f36795acac5f2ee90a3794665419e9bc6ed2bde99a4f7259 SHA512 4bc27a7e3974d83a661887ca32f414b1697f0470ba8d9505f1ea795537d252cd336feb8a8db71f456821b2d9f38613458af888f530663df78a371f7e1391d897 EBUILD libcxx-8.0.0.ebuild 6750 BLAKE2B 6e03588334d2af0c0ce2e02ff2e7a8f9f9817a494fc6445a4fecfb1381884eb4a92921d7b06d5c12f36795acac5f2ee90a3794665419e9bc6ed2bde99a4f7259 SHA512 4bc27a7e3974d83a661887ca32f414b1697f0470ba8d9505f1ea795537d252cd336feb8a8db71f456821b2d9f38613458af888f530663df78a371f7e1391d897 EBUILD libcxx-8.0.9999.ebuild 7044 BLAKE2B 12185d3065a0cdecf4b6eb2c7eca5f70a2a1732214c77c4e695418ffe5bb39273342088fa4cba2504a411db8ecc8543d219a932d5f022383197df7d4b84b1e1e SHA512 57f565cb1652c53e08ba21776dcf1707061697937533c5e447bcff37cdf274f54525ff59112a1bf54a25d39477e20f0dc7dbdf4ad71846266c06a0002d1c0980 EBUILD libcxx-9999.ebuild 7019 BLAKE2B ea929ac8759c5b70e48fe32ade6ef24c2ce8830be6bb5a35411a654212c7b2d127ecaa2a94bebbbb01807ff57c7d814379f23047c206d265d917958478df54b6 SHA512 5dddc6b30accff0ad414953ec2cd177ee5b151106282113687a2977c00b1a85e7151f772000118d341d0074ae91875b8ef1bd0e03de1816875bcd289b03d14ef diff --git a/sys-libs/libcxx/libcxx-7.0.9999.ebuild b/sys-libs/libcxx/libcxx-7.0.9999.ebuild deleted file mode 100644 index 536457a13802..000000000000 --- a/sys-libs/libcxx/libcxx-7.0.9999.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# Ninja provides better scalability and cleaner verbose output, and is used -# throughout all LLVM projects. -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git - https://github.com/llvm-mirror/libcxx.git" -EGIT_BRANCH="release_70" -PYTHON_COMPAT=( python2_7 ) - -[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM="" - -inherit ${SCM} cmake-multilib llvm multiprocessing python-any-r1 \ - toolchain-funcs - -DESCRIPTION="New implementation of the C++ standard library, targeting C++11" -HOMEPAGE="https://libcxx.llvm.org/" -if [[ ${PV} != *9999 ]] ; then - SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz" - S="${WORKDIR}/${P}.src" -else - SRC_URI="" -fi - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -if [[ ${PV} != *9999 ]] ; then - KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" -else - KEYWORDS="" -fi -IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test" -REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) ) - ?? ( libcxxabi libcxxrt )" -RESTRICT="!test? ( test )" - -RDEPEND=" - libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) - libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) - !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )" -# llvm-6 for new lit options -# clang-3.9.0 installs necessary target symlinks unconditionally -# which removes the need for MULTILIB_USEDEP -DEPEND="${RDEPEND} - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') ) - app-arch/xz-utils - >=sys-devel/llvm-6" - -DOCS=( CREDITS.TXT ) - -PATCHES=( - # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a - # out-of-tree build. - "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch" -) - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm_pkg_setup - use test && python-any-r1_pkg_setup - - if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then - eerror "To build ${PN} against libsupc++, you have to use gcc. Other" - eerror "compilers are not supported. Please set CC=gcc and CXX=g++" - eerror "and try again." - die - fi - if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later (or other" - eerror "conformant compilers). Please use gcc-config to switch to" - eerror "gcc-4.7 or later version." - die - fi -} - -test_compiler() { - $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ - <<<'int main() { return 0; }' &>/dev/null -} - -src_configure() { - # note: we need to do this before multilib kicks in since it will - # alter the CHOST - local cxxabi cxxabi_incs - if use libcxxabi; then - cxxabi=libcxxabi - cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" - elif use libcxxrt; then - cxxabi=libcxxrt - cxxabi_incs="${EPREFIX}/usr/include/libcxxrt" - else - local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" - cxxabi=libsupc++ - cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - # we want -lgcc_s for unwinder, and for compiler runtime when using - # gcc, clang with gcc runtime (or any unknown compiler) - local extra_libs=() want_gcc_s=ON - if use libunwind; then - # work-around missing -lunwind upstream - extra_libs+=( -lunwind ) - # if we're using libunwind and clang with compiler-rt, we want - # to link to compiler-rt instead of -lgcc_s - if tc-is-clang; then - local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ - ${LDFLAGS} -print-libgcc-file-name) - if [[ ${compiler_rt} == *libclang_rt* ]]; then - want_gcc_s=OFF - extra_libs+=( "${compiler_rt}" ) - fi - fi - fi - - # bootstrap: cmake is unhappy if compiler can't link to stdlib - local nolib_flags=( -nodefaultlibs -lc ) - if ! test_compiler; then - if test_compiler "${nolib_flags[@]}"; then - local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" - ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" - fi - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXX_ENABLE_SHARED=ON - -DLIBCXX_ENABLE_STATIC=$(usex static-libs) - -DLIBCXX_CXX_ABI=${cxxabi} - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} - # we're using our own mechanism for generating linker scripts - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} - -DLIBCXX_INCLUDE_TESTS=$(usex test) - -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}" - ) - - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - fi - cmake-utils_src_configure -} - -multilib_src_test() { - cmake-utils_src_make check-libcxx -} - -# Usage: deps -gen_ldscript() { - local output_format - output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') - [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" - - cat <<-END_LDSCRIPT -/* GNU ld script - Include missing dependencies -*/ -${output_format} -GROUP ( $@ ) -END_LDSCRIPT -} - -gen_static_ldscript() { - local libdir=$(get_libdir) - local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")") - - # Move it first. - mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die - # Generate libc++.a ldscript for inclusion of its dependencies so that - # clang++ -stdlib=libc++ -static works out of the box. - local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" - # On Linux/glibc it does not link without libpthread or libdl. It is - # fine on FreeBSD. - use elibc_glibc && deps+=" libpthread.a libdl.a" - - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die -} - -gen_shared_ldscript() { - local libdir=$(get_libdir) - # libsupc++ doesn't have a shared version - local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") - - mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die - local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" - - gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die -} - -multilib_src_install() { - cmake-utils_src_install - gen_shared_ldscript - use static-libs && gen_static_ldscript -} - -pkg_postinst() { - elog "This package (${PN}) is mainly intended as a replacement for the C++" - elog "standard library when using clang." - elog "To use it, instead of libstdc++, use:" - elog " clang++ -stdlib=libc++" - elog "to compile your C++ programs." -} diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild new file mode 100644 index 000000000000..29aa632a979e --- /dev/null +++ b/sys-libs/libcxx/libcxx-7.1.0.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# Ninja provides better scalability and cleaner verbose output, and is used +# throughout all LLVM projects. +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-multilib llvm multiprocessing python-any-r1 \ + toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd" +IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test" +REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) ) + ?? ( libcxxabi libcxxrt )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) + libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] ) + !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )" +# llvm-6 for new lit options +# clang-3.9.0 installs necessary target symlinks unconditionally +# which removes the need for MULTILIB_USEDEP +DEPEND="${RDEPEND} + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') ) + app-arch/xz-utils + >=sys-devel/llvm-6" + +S=${WORKDIR}/${P/_/}.src + +DOCS=( CREDITS.TXT ) + +PATCHES=( + # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a + # out-of-tree build. + "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch" +) + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup + + if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then + eerror "To build ${PN} against libsupc++, you have to use gcc. Other" + eerror "compilers are not supported. Please set CC=gcc and CXX=g++" + eerror "and try again." + die + fi + if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later (or other" + eerror "conformant compilers). Please use gcc-config to switch to" + eerror "gcc-4.7 or later version." + die + fi +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # note: we need to do this before multilib kicks in since it will + # alter the CHOST + local cxxabi cxxabi_incs + if use libcxxabi; then + cxxabi=libcxxabi + cxxabi_incs="${EPREFIX}/usr/include/libcxxabi" + elif use libcxxrt; then + cxxabi=libcxxrt + cxxabi_incs="${EPREFIX}/usr/include/libcxxrt" + else + local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" + cxxabi=libsupc++ + cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + # we want -lgcc_s for unwinder, and for compiler runtime when using + # gcc, clang with gcc runtime (or any unknown compiler) + local extra_libs=() want_gcc_s=ON + if use libunwind; then + # work-around missing -lunwind upstream + extra_libs+=( -lunwind ) + # if we're using libunwind and clang with compiler-rt, we want + # to link to compiler-rt instead of -lgcc_s + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LDFLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + want_gcc_s=OFF + extra_libs+=( "${compiler_rt}" ) + fi + fi + fi + + # bootstrap: cmake is unhappy if compiler can't link to stdlib + local nolib_flags=( -nodefaultlibs -lc ) + if ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=$(usex static-libs) + -DLIBCXX_CXX_ABI=${cxxabi} + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} + # we're using our own mechanism for generating linker scripts + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s} + -DLIBCXX_INCLUDE_TESTS=$(usex test) + -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}" + ) + + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +multilib_src_test() { + cmake-utils_src_make check-libcxx +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +gen_static_ldscript() { + local libdir=$(get_libdir) + local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")") + + # Move it first. + mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die + # Generate libc++.a ldscript for inclusion of its dependencies so that + # clang++ -stdlib=libc++ -static works out of the box. + local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" + # On Linux/glibc it does not link without libpthread or libdl. It is + # fine on FreeBSD. + use elibc_glibc && deps+=" libpthread.a libdl.a" + + gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die +} + +gen_shared_ldscript() { + local libdir=$(get_libdir) + # libsupc++ doesn't have a shared version + local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") + + mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die + local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" + + gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die +} + +multilib_src_install() { + cmake-utils_src_install + gen_shared_ldscript + use static-libs && gen_static_ldscript +} + +pkg_postinst() { + elog "This package (${PN}) is mainly intended as a replacement for the C++" + elog "standard library when using clang." + elog "To use it, instead of libstdc++, use:" + elog " clang++ -stdlib=libc++" + elog "to compile your C++ programs." +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index b05897707bfa..769a1f7ca631 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -1,12 +1,14 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8 +DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03 DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2 DIST libcxxabi-7.0.1.src.tar.xz 535096 BLAKE2B 212330e8dbde98280b1bcd4f36ea3f30b69af9816e6c252bd9640c45501536ce38e8b57f3e82195d2a33cb1286651f7cad82713c71e8012e512e04c4ff7bad64 SHA512 92e8d28f329e9a8cce296f0fddd88324198f722db3a748bb2164b28ae8eca6047c89ed1e70af00bbedd93ce4285b2ab1e0307a65b88dc60e581eebfd6cbd2038 +DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102 DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055 EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133 EBUILD libcxxabi-7.0.1.ebuild 3176 BLAKE2B c2993747161a2232090de704000d4002cd335c51404d580ab9787cd256b73eb487d19d3579ed22b46f9634c0dca8a20576a27e283d0843ba99cab0bc235b9908 SHA512 338dc004836e27f78f4956bcdbb8ba3d53327f59d2d3ac47290413a462a2752fe9d2b33ef3c7677e749004ff58b5526e7042ac9ccb1b56d92cc0e67511b83346 -EBUILD libcxxabi-7.0.9999.ebuild 3288 BLAKE2B 1c2f5f25a232d6e9a34fbb2b93a3d447542d770938fe8e8052a6e4e5e499e95e78033c259c674a1ebb3538577452c709c760f8a258d86c139a3b02857a63ec05 SHA512 add8b1705623bf5e4e6e504995f88cad05d1dbe57d5d803a45c13e49f77e8e45cd2c85e821d27ffc59d1ef8d7a216767f33019c6e8cb13e20f0075b0430f9e1d +EBUILD libcxxabi-7.1.0.ebuild 3176 BLAKE2B 709c55c2aedd2490ef6a982f41fa0b3977c1109ef480aba56cbfd248c40027349daa0dd477adefd5c37b8dbac8485cb8ab3c470e440b4be050ff52c0815bd59c SHA512 76237682c5e3d09cd259a03184fc35def96a90ac2bf42efe869be7d2f2ebdde05dca1e9f2efb5a08a41e7b461d4bbcb5dacd2d1ff8d3128ae65a1dfb2683f92f EBUILD libcxxabi-8.0.0.ebuild 3176 BLAKE2B 709c55c2aedd2490ef6a982f41fa0b3977c1109ef480aba56cbfd248c40027349daa0dd477adefd5c37b8dbac8485cb8ab3c470e440b4be050ff52c0815bd59c SHA512 76237682c5e3d09cd259a03184fc35def96a90ac2bf42efe869be7d2f2ebdde05dca1e9f2efb5a08a41e7b461d4bbcb5dacd2d1ff8d3128ae65a1dfb2683f92f EBUILD libcxxabi-8.0.9999.ebuild 3285 BLAKE2B 3b5ee2037761fcb1a9c90ca11f7e4d371622ec95e468b0fba6545df8c6eb6482f5ca2c5a8d46671ee7219fd99c2a729e0667939170f26ee5f4735cdf59010b66 SHA512 c45db120d7713fe9763da17cdaf2401da3c7d639bb2041fe9b5802667ae240e444c971b9914712be5eff740729b47d65b8d8f7079e4d12ec98eb8a0203220a05 EBUILD libcxxabi-9999.ebuild 3263 BLAKE2B 26e1877ef423b0f869b6033601c584599c00f6f46b7296ba213ff080bb060c81995a2be2693b16b73e94c979c46fa5632b0fcf110ba2bc86c1b8f30bb548f74d SHA512 28ee56c5c823aa82e02e7fa680455e425d2ec5c4ae4c98c82a18f7afa1d0a663d22f4a85299fb44c3c10d5367bf33637f68a70516b02c6c206293038a65e22ef diff --git a/sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild deleted file mode 100644 index 9d5908494f0d..000000000000 --- a/sys-libs/libcxxabi/libcxxabi-7.0.9999.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 - -DESCRIPTION="Low level support for a standard C++ library" -HOMEPAGE="https://libcxxabi.llvm.org/" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git - https://github.com/llvm-mirror/libcxxabi.git" -EGIT_BRANCH="release_70" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="+libunwind +static-libs test elibc_musl" -RESTRICT="!test? ( test )" - -RDEPEND=" - libunwind? ( - || ( - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] - ) - )" -# llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6 - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_unpack() { - # we need the headers - git-r3_fetch "https://git.llvm.org/git/libcxx.git - https://github.com/llvm-mirror/libcxx.git" - git-r3_fetch - - git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' - git-r3_checkout -} - -multilib_src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) - -DLIBCXXABI_INCLUDE_TESTS=$(usex test) - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - # upstream is omitting standard search path for this - # probably because gcc & clang are bundling their own unwind.h - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - fi - cmake-utils_src_configure -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=ON - -DLIBCXX_ENABLE_STATIC=OFF - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -multilib_src_test() { - # build a local copy of libc++ for testing to avoid circular dep - build_libcxx - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - cmake-utils_src_make check-libcxxabi -} - -multilib_src_install_all() { - insinto /usr/include/libcxxabi - doins -r include/. -} diff --git a/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild b/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild new file mode 100644 index 000000000000..e366f2ae0e75 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-multilib llvm multiprocessing python-any-r1 + +MY_P=${P/_/}.src +LIBCXX_P=libcxx-${PV/_/}.src + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz + https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +S=${WORKDIR}/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + default + mv "${LIBCXX_P}" libcxx || die +} + +multilib_src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + cmake-utils_src_make check-libcxxabi +} + +multilib_src_install_all() { + insinto /usr/include/libcxxabi + doins -r include/. +} diff --git a/sys-libs/libhx/Manifest b/sys-libs/libhx/Manifest index 5aaaf3ea80d1..c0d7828e0aff 100644 --- a/sys-libs/libhx/Manifest +++ b/sys-libs/libhx/Manifest @@ -1,9 +1,6 @@ AUX libhx-3.22-no-lyx.patch 495 BLAKE2B ae31b2ada8230a223413e4f7470b7743592191e829800b05124781660888bca1f153e287af5e79e106cd590539a64880e6d111054fb0ee31e9cd02cf65d59f01 SHA512 f4299755b65c7e3b64937df81feed58851bfe7e4938c4b47cd94f818bb7d5c80eecac34b7e80b1c051b07490b3730cc74d6f38cd47a7c4321882a8715ff4b802 -DIST libHX-3.16.tar.xz 867336 BLAKE2B 2c70e792b8257081c587e983810c4e94170f0e035359ec29b526692cf49b415362301dbe3f00de9947962fc874439c6a10497fc8a2c48d6ea8ffc489189867dd SHA512 d5c6f4ac889f4d1043d58742305632c78143c683be09ddd4288c3911747d4c5c6b33b4c1517813066f7933d87dcb7b8cd1dfb015f08c7e7afccc718899cdd259 DIST libHX-3.22.tar.xz 875516 BLAKE2B 1a782834bb792898275ed549eff1b70b3356f9efe7b58e6aa48e34492b3ad8b5e8a66a142643ad6c13163e5eab6762fdcebd3fe4897d8b0d3f75c80f7ef60b6c SHA512 4a50b7171be9f60e1a1bfefb0641f74fa8879c0edb258533ee04ec89617802c48358dc244497fb18d02dc37f828f79f7c52dd5ce2a07d8a2f5e6e6f7b4e97646 DIST libHX-3.24.tar.xz 876992 BLAKE2B 518b99e78acc0cb412f444c0dacaae830a853294a0ee549facfbe65a423a9f32d0388e30e255c87c3f5325102bea45e5e9d72d3fce5b89139b689fddcb299f93 SHA512 faf7af53b628efe1531568ccb2b7e9910db833b14583ab1487eb6a554b407a7546bc75348f7d2344c29ab53fd2df061f6f8de8db634bbd62c3672dc4347d27e4 -EBUILD libhx-3.16.ebuild 562 BLAKE2B 4dee90b98349e676eecd4a5eaeb84e2740b1174588042c9d43d27e9ce66916e09eb6b2b108e50e6984a083954a66ca9f4149f4b78d8c6e3c375a0ae011761295 SHA512 54cb5f94b0da5796bd84d6f9ed825dcbce7b2c453107a2353514cbc0260299194c02d2bdd6f37543c875c11472d3f3f2f32bd04ddd28e1bce6e5c894b44a1649 EBUILD libhx-3.22-r1.ebuild 704 BLAKE2B 38a5567fb37d56a55c47d64667324fc4ea78d585247922ee2d1128f801e80911fc2e0704f154add5331b3c0bcc0c5363475a4adcb4f3e17bbc04fe0628bf52eb SHA512 b02728cf4b52e6739de5ac0aa232c43e020fbbcb38fe995033fdbee48ee3b606b2006a23c1bfd0401736d23aeb030209c1fdd69bf971a17062a11501782a2a84 -EBUILD libhx-3.22.ebuild 565 BLAKE2B a78d16fbb551a64786290a61d492d630fb6fa7a5c27396c69924334080c39b3ddfcff11cfb4d89191a49d830bc3bcac8684aeb3a0d5aaf064742197c0b241fc5 SHA512 4c6e03bf3fc8fbb16ae64c02ae3f3293828ea0409aab2ec6f730a06b5131fdf5b5f9908b62c60ca6fc72e35cfc63c61d36987b8d28def5343977c84904ca923e -EBUILD libhx-3.24.ebuild 718 BLAKE2B 1fb5c07cb86d7fa58289a89eadc5e58a1557963b0361b82c448c99bf6fcff077dd6921933bd2854eed0ec7d8edea2b36b20b70a1d960c6b9bfb85e9ad6edaf95 SHA512 95e4296c181df331058d72bf29febf7dfb0d4d165d5154ca89977f2d7f6663dd5d0223e8ed8d69142b30eb8986d054a9a58871a8fa8b773bde061347d42d5077 +EBUILD libhx-3.24.ebuild 717 BLAKE2B 7e1fe97ca9d55e316515a1726e2ada842db30087ced54cb272ab17fb352c5470cb8fef626c0d48927f47e0dde9844679690e36568f1989871c2561dc1a5f97c9 SHA512 aec3f99b530a79b3dbc8cc13bbe3de57ce7def62b0c29e6f8c9d5be7a434f16a1aa3ebdd40509de96171c412ee506e6a965d4218c0b7b54dd66d43d198b6a395 MISC metadata.xml 398 BLAKE2B f72cf11453ffa182e00a8c32e0f1160e2d0ad9f5659ebc76e4139e5494eb3f7e4f5256a7a92e70ebe5b82912a57dd45ca02317557c789958091d2b68a28d884f SHA512 74a2fb87430a3e105fcfdacdbd594f9f64710749760ec4b49f6c7c3fec64f59641c5204b72481d436ae8abd46438b27d04d392ce7d93be68613608909c772fd0 diff --git a/sys-libs/libhx/libhx-3.16.ebuild b/sys-libs/libhx/libhx-3.16.ebuild deleted file mode 100644 index f089d0738420..000000000000 --- a/sys-libs/libhx/libhx-3.16.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="Platform independent library providing basic system functions" -HOMEPAGE="http://libhx.sourceforge.net" -SRC_URI="mirror://sourceforge/${PN}/libHX-${PV}.tar.xz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 ppc x86" -IUSE="" - -DEPEND="app-arch/xz-utils" -RDEPEND="" - -S="${WORKDIR}/libHX-${PV}" - -src_configure() { - econf --docdir="/usr/share/doc/${PF}" -} - -src_install() { - default - dodoc doc/*.txt - prune_libtool_files --all -} diff --git a/sys-libs/libhx/libhx-3.22.ebuild b/sys-libs/libhx/libhx-3.22.ebuild deleted file mode 100644 index 2790a6dacad8..000000000000 --- a/sys-libs/libhx/libhx-3.22.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit eutils - -DESCRIPTION="Platform independent library providing basic system functions" -HOMEPAGE="http://libhx.sourceforge.net" -SRC_URI="mirror://sourceforge/${PN}/libHX-${PV}.tar.xz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -DEPEND="app-arch/xz-utils" -RDEPEND="" - -S="${WORKDIR}/libHX-${PV}" - -src_configure() { - econf --docdir="/usr/share/doc/${PF}" -} - -src_install() { - default - dodoc doc/*.txt - prune_libtool_files --all -} diff --git a/sys-libs/libhx/libhx-3.24.ebuild b/sys-libs/libhx/libhx-3.24.ebuild index c1cf2e00fd1d..6360828e2bdb 100644 --- a/sys-libs/libhx/libhx-3.24.ebuild +++ b/sys-libs/libhx/libhx-3.24.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/libHX-${PV}.tar.xz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="~amd64 ppc ~x86" IUSE="doc" DEPEND="app-arch/xz-utils" diff --git a/sys-libs/libmath++/Manifest b/sys-libs/libmath++/Manifest index 3551c75afd1c..ec48871ddce6 100644 --- a/sys-libs/libmath++/Manifest +++ b/sys-libs/libmath++/Manifest @@ -1,3 +1,3 @@ DIST libmath++-0.0.4.tar.gz 51107 BLAKE2B 7aa9656129a0f1106f6a08f4e9747e93a67ed67e5cda27c3aedf2aa893de169f366755144a9155c156c185faf6eded2434bcb53dbed250d1c8fd88349fd9a3d4 SHA512 4ee86f365f9eb4f8a122beef430041b5133da1b780a595627ec43c53bb45a6b5a5836a1f2453d2c93f6771ff45683b1143a1d1432f3904ba5b6317c50f010bbc EBUILD libmath++-0.0.4-r1.ebuild 1050 BLAKE2B a46477d2c5c108356db10d9b816563b4793b42003de3df577db7ea624e68edd12bd00835501b61ef2bc0065cb83fea840a2a184451810e5a86fe532299c16225 SHA512 8fc750078987c8c48149981b93166efd71a0b7e8655496e2912f6272d73ead783daa7975392a29204b929c22a0a278a4b70d3c9c49eb80004caeb3e7850f1545 -MISC metadata.xml 245 BLAKE2B 61823ae735b381c891f5cae47974d3b1ea6136d6f5f5d449a26dfcdf26472282d760b4ee8a605b8a7b75b9c97443cbc0db309ada118ce186030f276ed7c88963 SHA512 b098db4fb4d9ea116f6246bc6caf0f49e80e236d2fad78d287b638dbd5add7bfaf7feb1ca081ca557b23dde9227ce42fa808f3f6fd8eaba6a7e9cae93342f9c6 +MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 diff --git a/sys-libs/libmath++/metadata.xml b/sys-libs/libmath++/metadata.xml index 41cd682e0ecf..6f49eba8f496 100644 --- a/sys-libs/libmath++/metadata.xml +++ b/sys-libs/libmath++/metadata.xml @@ -1,8 +1,5 @@ - - cpp@gentoo.org - Gentoo C++ Project - + diff --git a/sys-libs/libnih/Manifest b/sys-libs/libnih/Manifest index 793c5ffb97ab..31d2927e3e60 100644 --- a/sys-libs/libnih/Manifest +++ b/sys-libs/libnih/Manifest @@ -2,5 +2,5 @@ AUX libnih-1.0.3-optional-dbus.patch 1162 BLAKE2B 5c9178bdd193a7d3c2eb2e068712a6 AUX libnih-1.0.3-pkg-config.patch 2491 BLAKE2B 6308443ce8ee8c77564a0c9a64b6f0a31258db08faf926bda603faf372bd73b57b00a0b75111fc07bedce0ed40080cb66d9ababadb99f9d8c4d753bce48963a5 SHA512 b99d580f4487cf3d25fa37f3f7b62ce32d9df80c6c0b01ad04b6850215ec0cc24cfea48aaf8ff89afe28db239b5ed212f139e86353d9991152d488c6edce5017 AUX libnih-1.0.3-signal-race.patch 2081 BLAKE2B c11b900289e5fbb53b3d7e7f6a90d302bbb06a7d041b1b9b502ff585e440697f77b2ae5e2eb7ae40ff3817a052bd34da02766efd1ea021ce3ad78c4542307edd SHA512 5367cb0c6382004cc2a829b9b71f0c02a09e4983940afac90c4c5c0bfbda53fb36a6cc7e38ede7a895ce28f99a4f69e89392ebaadefdc536eb7efa90c2426ff8 DIST libnih-1.0.3.tar.gz 1187624 BLAKE2B f8f9fcdda86eabff39de0b0f92cd1f8c1c0eeb0c86ec4970e5bef1cc0dff0fda83db64975ece93d5d8ede5d0613d5f363dd7456c59fe966feb5e61e5b8913627 SHA512 fce40d2445b28c27b8838631681ca3206a4f053b2dd4fc488fc9ef98bbd3d933e3d62b82cf346be2ef1677f6457f692cf5544cd915a6bb1e5c618f98ffa101b4 -EBUILD libnih-1.0.3-r3.ebuild 1485 BLAKE2B 414fb49275584fc99bf8cab0c44d59376c923ae5de73992e89c8c24cf0e4b678e4c16872f1296590039929306b6a682876cf60dc50b2d6adaa9759abce1a3b7f SHA512 cdf7a42d65ddeb397fa3e7639f506ff70627df3ff8b036171a5f32033bc6d101bae1292c9ca5687f1034d95d3683707b4b0757aa0424b7d79c665be9a2188177 +EBUILD libnih-1.0.3-r3.ebuild 1484 BLAKE2B f7dfcdd5d35304386694384d52a373be8bf057dbad9cf1368175448deb3e87de38b436d6a3cb6c141e595ef8ad365b444f574daffdfe0838b5115a9aa9b3282a SHA512 869d65e3ac94f035891707c7362b211ed19bb8b8e3c37f957e2edb6108b003a871066e1433ae49ec911d0dbb9bab3b7ca1d4f7d34f40d1b8feb277550495f791 MISC metadata.xml 241 BLAKE2B 02f7c7b912751df8725055416a093647e79dfdbf7f06c9f56246c67f6a1176997454dd3aaaa493ecf7d00d8ae295066e2861ac10bee860a94eef6085437561af SHA512 31e21c0bed310c4a025385f24c5b76f2e588999912fa548ca343947d95ad448b3a1232211cd4427607550c0f5de2e562e2b4e492415b6d207c954a516b811a84 diff --git a/sys-libs/libnih/libnih-1.0.3-r3.ebuild b/sys-libs/libnih/libnih-1.0.3-r3.ebuild index 32d0d66bcd16..0aafd332a1b5 100644 --- a/sys-libs/libnih/libnih-1.0.3-r3.ebuild +++ b/sys-libs/libnih/libnih-1.0.3-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/${PN}/$(get_version_component_range 1-2)/${PV}/+d LICENSE="GPL-2" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86" IUSE="+dbus nls static-libs +threads" # The configure phase will check for valgrind headers, and the tests will use diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 205dce24817e..21bd8858b5c7 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,9 +1,10 @@ DIST openmp-6.0.1.src.tar.xz 2048320 BLAKE2B 08b3a7051c985903f78331f55a1c6e928399b87c862c43c991e9bf78b66b6e412fc96f202b82c051176dbbe02422f8ceb7414f44ea8f3522f418e515c0f70c62 SHA512 abb956583e5d11d0c6f6d97183c081d658616a74933be884a591eaa3d8c4bb04f08f02016d2c86d7384c7ff1aa44fb949b0d967fc0ff50e3132aaba412e9add8 DIST openmp-7.0.1.src.tar.xz 909316 BLAKE2B b8adbf67738b8d2d2d42b45b24aabd2f5e65a7b9cdda0d4a62511808c2101d9bb925b4904a9ecb98f77a1b7f38f13408fea6f724748183f9d5f5419c3fdeac54 SHA512 2062db8b87bce2c130bab528a6d654cb05b3de7641737552fc263724ceaa5e322afc2787796a0bddcda8d1bdf913a49f5a0180abcc57f8842b7e8ea8df4d6f51 +DIST openmp-7.1.0.src.tar.xz 909320 BLAKE2B 7a5fd4374992b7c440ff27917c0af6a2ec64aaeb2fda645f75b5affd4981e3ceef7f15cba61c37934c5b35be543af315cc4bff2937545fbf5eaa6593f1aa8b83 SHA512 57f18beede401c1c39766e13a03b52083a0f7b437758069f66b73d6d1388dc51e48c34b0a7ecd3552244fd35e2db57388642588febef413c161f5c5411ab1e5d DIST openmp-8.0.0.src.tar.xz 934384 BLAKE2B f473fad9e8bcab1ad0c6ffab7cee471065d615947964177194f829847d41e726fb435562f1637f2a65d3ae84e01a8077662de047443f33d089948e2efb58906c SHA512 0fff071c9dbf118bc1908e433d6ce571f47a4f2dbc5bf2d843151889e3414473bb5a9c97dc0b6dc6d1bd9ab0c6e365cae625f97d1b11d5d6ae059fa5a0496cb3 EBUILD libomp-6.0.1-r1.ebuild 3261 BLAKE2B dc43e11cbd716285018a3857b33378715338350269cbfee3292c44ebb0d10584ea1f505962c34fc9c5a58771d6abb52f444467e79834e9a04d594c914af46a2f SHA512 eb901f8810fa552cad6d6510f54f30824a1d7f7931ccc1cf6bb02a2ed22a9e9af3d924bfbc09921510d2972ac4ca36fb1df4d6b7d52342a346fb8b5cfa0ac436 EBUILD libomp-7.0.1-r1.ebuild 3266 BLAKE2B 681ff89caa0f7997fa4feb86abf40c426d57f3b912e07547f97629af7b0780eb82e5e1a05cb1ce833b4532c40ed4f9dad85109853a82ee26ae85e91e8988ec99 SHA512 f551fb44e415ead648924a82bd95827c2a9210a4750001d52d6359b1ea1c8ffe387b5cecb1ace507c4919ca61de5e537ee5014c8f478eff858797613cbb8823f -EBUILD libomp-7.0.9999.ebuild 3234 BLAKE2B f5fb4323e9f8e137c22d792ac2659a3a9aced9ec7b0c6a598d33b7d7f0e96a2820e933a5856f5f95b5dc8da8d8e10b4d9143da732249527ae3af27246a320149 SHA512 9ff37762fe7c5708220ded27c9cab89c92c7451e7019dfc8aa85e5f977ee26b5b67902eee5b79e9da820506aee2f710d518cd73c99a1e7e42ff487f30fc86c76 +EBUILD libomp-7.1.0.ebuild 3266 BLAKE2B 8cd6a5dfac53b82e0a92d647ae9b453a664f5b5fa8156c8185ccecf394f313ae826e29634b14126a53ce36498c485b658b36141ddd5895635437b59beabea001 SHA512 6fb36d649ce586f638f0846e26d7346ae9faeae571b1e61b2509b810a04e899b63293653d6b3af51924cbd2c1477f359b8e004f57cedf20385698eb8657caef5 EBUILD libomp-8.0.0.ebuild 3266 BLAKE2B 8cd6a5dfac53b82e0a92d647ae9b453a664f5b5fa8156c8185ccecf394f313ae826e29634b14126a53ce36498c485b658b36141ddd5895635437b59beabea001 SHA512 6fb36d649ce586f638f0846e26d7346ae9faeae571b1e61b2509b810a04e899b63293653d6b3af51924cbd2c1477f359b8e004f57cedf20385698eb8657caef5 EBUILD libomp-8.0.9999.ebuild 3231 BLAKE2B a859927c6a87bcba74998bbaf785965b2cbd269fa27a7cca32bb6abb0114151a02643321ce4bea7480020e115c94344c1e2552eb2d3ec50756b2b2e8c225ae08 SHA512 ce6d9b9552894b4e639f2f065dc22741d13faf0f4426fca1d7fe74a13702a677adf8795f4e3da059b8bb703bd1d8114f6b60245a20928d83f4332102c144f8c9 EBUILD libomp-9999.ebuild 3209 BLAKE2B 6543c8c95b56a73aef5196ec81cc9662caa1d0ba0cafa72f4f99905522427c829d3c7d2c9b329e927543a48c01dab160444409324f9d4d689548e10346b2c52e SHA512 96f0583a74d08e58dac970c5b4f836208be2e92b42685b967bd7c4ebb65368f9406585d69d295db1a1b1952fdd3acdcb0a7a595fe25795e9cfee01055c72e705 diff --git a/sys-libs/libomp/libomp-7.0.9999.ebuild b/sys-libs/libomp/libomp-7.0.9999.ebuild deleted file mode 100644 index 4e8766e7c458..000000000000 --- a/sys-libs/libomp/libomp-7.0.9999.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/openmp.git - https://github.com/llvm-mirror/openmp.git" -EGIT_BRANCH="release_70" - -# Additional licenses: -# - MIT-licensed Intel code, -# - LLVM Software Grant from Intel. - -LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" -SLOT="0" -KEYWORDS="" -IUSE="cuda hwloc kernel_linux offload ompt test" -# CUDA works only with the x86_64 ABI -REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" -RESTRICT="!test? ( test )" - -RDEPEND=" - hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) - offload? ( - virtual/libelf:=[${MULTILIB_USEDEP}] - virtual/libffi:=[${MULTILIB_USEDEP}] - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - )" -# tests: -# - dev-python/lit provides the test runner -# - sys-devel/llvm provide test utils (e.g. FileCheck) -# - sys-devel/clang provides the compiler to run tests -DEPEND="${RDEPEND} - dev-lang/perl - offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) - test? ( - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') - >=sys-devel/clang-6 - )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -kernel_pds_check() { - if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then - local CONFIG_CHECK="~!SCHED_PDS" - local ERROR_SCHED_PDS="\ -PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11 -< 4.14-pf9) do not implement sched_yield() call which may result in horrible -performance problems with libomp. If you are using one of the specified -kernel versions, you may want to disable the PDS scheduler." - - check_extra_config - fi -} - -pkg_pretend() { - kernel_pds_check -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - local libdir="$(get_libdir)" - local mycmakeargs=( - -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" - - -DLIBOMP_USE_HWLOC=$(usex hwloc) - -DLIBOMP_OMPT_SUPPORT=$(usex ompt) - - -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) - - # do not install libgomp.so & libiomp5.so aliases - -DLIBOMP_INSTALL_ALIASES=OFF - # disable unnecessary hack copying stuff back to srcdir - -DLIBOMP_COPY_EXPORTS=OFF - ) - use offload && mycmakeargs+=( - # this is non-fatal and libomp checks for CUDA conditionally - # to ABI, so we can just ignore passing the wrong value - # on non-amd64 ABIs - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) - ) - use test && mycmakeargs+=( - # this project does not use standard LLVM cmake macros - -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" - -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" - - -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" - -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" - ) - cmake-utils_src_configure -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - - cmake-utils_src_make check-libomp -} diff --git a/sys-libs/libomp/libomp-7.1.0.ebuild b/sys-libs/libomp/libomp-7.1.0.ebuild new file mode 100644 index 000000000000..d472c4f23795 --- /dev/null +++ b/sys-libs/libomp/libomp-7.1.0.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-multilib linux-info multiprocessing python-any-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" +SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" + +# Additional licenses: +# - MIT-licensed Intel code, +# - LLVM Software Grant from Intel. + +LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos" +IUSE="cuda hwloc kernel_linux offload ompt test" +# CUDA works only with the x86_64 ABI +REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" +RESTRICT="!test? ( test )" + +RDEPEND=" + hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] + virtual/libffi:=[${MULTILIB_USEDEP}] + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + )" +# tests: +# - dev-python/lit provides the test runner +# - sys-devel/llvm provide test utils (e.g. FileCheck) +# - sys-devel/clang provides the compiler to run tests +DEPEND="${RDEPEND} + dev-lang/perl + offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + >=sys-devel/clang-6 + )" + +S=${WORKDIR}/openmp-${PV/_/}.src + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +kernel_pds_check() { + if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then + local CONFIG_CHECK="~!SCHED_PDS" + local ERROR_SCHED_PDS="\ +PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11 +< 4.14-pf9) do not implement sched_yield() call which may result in horrible +performance problems with libomp. If you are using one of the specified +kernel versions, you may want to disable the PDS scheduler." + + check_extra_config + fi +} + +pkg_pretend() { + kernel_pds_check +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + use offload && mycmakeargs+=( + # this is non-fatal and libomp checks for CUDA conditionally + # to ABI, so we can just ignore passing the wrong value + # on non-amd64 ABIs + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda) + ) + use test && mycmakeargs+=( + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" + ) + cmake-utils_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake-utils_src_make check-libomp +} diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest index 3c0cd185308e..aeb438e9e08b 100644 --- a/sys-libs/libosinfo/Manifest +++ b/sys-libs/libosinfo/Manifest @@ -2,6 +2,6 @@ DIST libosinfo-1.2.0.tar.gz 916787 BLAKE2B 652910ca1e70071d88adb771e458f0c19159a DIST libosinfo-1.3.0.tar.gz 977090 BLAKE2B fdfe29dbf01e00608374baf2fb6b5257dff5eb8870375769c572b4dacf2bd7f6e1907083e6c36bfb1a76e9e994bb19b093c6fc63ce8e7170ab8073f6d53c573b SHA512 652f2927e901afe9772d4f28be5bb59802cf149c6c8eea4256a999f5012bfaaac81b51c56a94b32c82ef3462ff1f26baf84bf9329e5b1136e2b49ed4a0658982 DIST libosinfo-1.4.0.tar.gz 1075852 BLAKE2B 93129a29ea3a1a3aa69fdceabcf6f41393c8e1dd3f92872d97dcc23a3316b0e4d16ede104da9a3ea0c49d352ba88e05ba5a38806c8c039fe92217e4b6e3140ab SHA512 531b7acf811add53252e52917f8b13b409dbe7a4bc5837dcbe34e729b0f294e760d5a57c5c1c56f1f65217b7fc6e285a56a6fa49d36f02cf696b7cc181db1fe5 EBUILD libosinfo-1.2.0.ebuild 1733 BLAKE2B 6d8f39bfe7139b5a9103922b61768f458a8ac5db914bb4b7cd4a13b897d5fb1b062adfd81a6aca778a97475ec95835a386904f2bf70a413a992bc3fa3f7c5b67 SHA512 331e01a546b7b81c1d88d2bec8984e15747924d40b6caac719680dae5af709d9816c06bc7eea9c19a9202648c3245191b107390a5097af7323e3c3910fb33dd2 -EBUILD libosinfo-1.3.0.ebuild 1864 BLAKE2B cbaf1bf8031759cbe9041adf046e501a5de1e1b02961460c23fa5d3e9e83a61121abd5cd2b6c40972ed7af6f2af5870e23ee3de445c8d1e9507999f2896edb6e SHA512 609846d142484dafc2b5c4d9dc3a066fe2aa70226795a6a9e345bf7d080ec798ab61ad7a8530564613a16cc4102669ce89538c94537cf1abf207c8dddea09e0c +EBUILD libosinfo-1.3.0.ebuild 1863 BLAKE2B 856b4a5d7d71436c05a23c7e40c7330e21f442ab7ddf2ede8374100fe3a57ed28f50dd1f48fb0820ff18798cf9fb910ed7ccfe1534dba437f9ab4ccb426fcce2 SHA512 1dcdeed50ab0fb3316cd712853f916f87df2e65c35db607863d3ea6544a86227061c8a10ab13c2c6c41cbd46dd60d1b142472676278691ddd9701a71583b0975 EBUILD libosinfo-1.4.0.ebuild 1865 BLAKE2B 99659c78f76076d2338c619d381d924f9c2a80d2bba736dbc803d0cee94f4a69379e0a6781cc0776a923200827b4ec908c1692f06d254ddb4b7276eb502f27c6 SHA512 b288b846e4348094d53e072fc2c1ff2a4b5c9bd0cb37005a24a31b7c8f1acd8edcb019da1587a861df6581d2a98103efcdc2cb047cdc975191f92483cf2c3457 MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506 diff --git a/sys-libs/libosinfo/libosinfo-1.3.0.ebuild b/sys-libs/libosinfo/libosinfo-1.3.0.ebuild index f954b5610c25..2e2afe76c62b 100644 --- a/sys-libs/libosinfo/libosinfo-1.3.0.ebuild +++ b/sys-libs/libosinfo/libosinfo-1.3.0.ebuild @@ -16,7 +16,7 @@ SLOT="0" IUSE="+introspection +vala test" REQUIRED_USE="vala? ( introspection )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" # Unsure about osinfo-db-tools rdep, but at least fedora does it too RDEPEND=" diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest index eb835e1c8bc6..4e864e53eaf7 100644 --- a/sys-libs/libseccomp/Manifest +++ b/sys-libs/libseccomp/Manifest @@ -1,5 +1,5 @@ -DIST libseccomp-2.3.3.tar.gz 564546 BLAKE2B b5249379baf07ab2fef8a8659a30c9e87cbf05f99c38a07c1516948d2ede27d505f6670426f46422d2a927d7bfe97a33d8f871899ae9c30a26fbd10fba609df8 SHA512 845c7e0e916b5f5ad74da446ceff3250148b745c909185f6d5059e807d1b42fa6b74f356cce2a396bff0d4c7a3120e7cdad98d490a97d549327c7693fe1918be DIST libseccomp-2.4.0.tar.gz 604987 BLAKE2B 2dd84f2c08d40a61dfe4fdc47a9dcdad2701e2918cdcdeae2d15a66eb114221866121bab11a8292f3bd31493b6cd7b370d0728976cb1bbfd0dbb9e32127b9045 SHA512 daa4a32c6c2b2f39aa9db1a4606619f9faeffcd2fca00c25ac5cf95d0405639ec21203293be7c8341317a05b18fd9f603a201544457cac91bf034a0bbd4dfc88 -EBUILD libseccomp-2.3.3.ebuild 979 BLAKE2B b3935778c40d639b3d1bdb0f253965587791c157b4d74236da6810f00ee26f5f7e00446094bfcf8da0118797d726420fa14c9cc84f32a0bc3b7d0c1871395723 SHA512 75adb4d610acc82a22ec39b346e5f45c070eedf08d87f7a92fad08d21265e743c5b0b8f6e9351bc851ea71b2d84580122dd31c45d9891730fdc14f1606a6e19f -EBUILD libseccomp-2.4.0.ebuild 1022 BLAKE2B b1101f0371e70472a5eb6fff9e308edcc93f806af4b2328c847b51f228e48e9423aab4448ecdc77515376e96899d0550cafc614b302cb3dba952886afcd9fa08 SHA512 14c83abb14635bda3f4afd1ce6d4e2f0c05aee7a54a560c2afb6cb6132d17f5401241e7cc3f096646f371c12b40de1824da5aea88c7740a137c6028f5b5dbcda +DIST libseccomp-2.4.1.tar.gz 606860 BLAKE2B f80f11ef4e03fc9f59fdd38466e32b081e9858473266942b22a1bd1afbd480d21e9c72f9c33e197349fcd2658361f84ee1ee371f73aa5dfe19561472fec8c1ed SHA512 1fe47ebb032635ba1b1cbefb505a0c103bae659844d1bf106d03e7f28b3c470726f7b0dbbe76d10ab89501630dc4f20b162c2eeefa22394eb632f803ae62ccc5 +EBUILD libseccomp-2.4.0.ebuild 1021 BLAKE2B 074c5338a42ab2fc31182d94dc3268e10348c97c4aa1cb42139b926dddead8f7c630b0481f24b42ada7160215611b4238f4d64ab9c2fa9ea7908ff01edff4606 SHA512 7d97edbe6d0248cf1339381e5e6f24478cf38f7c48781c36f143dd78a607918c1c35e14cc9d206e405872d05bdeae9d4f0881151031738a249c7863e878da10b +EBUILD libseccomp-2.4.1.ebuild 1028 BLAKE2B e5bb28b41e63a74c7a51fbd9bddc65a6cd2ea558ac0d32381862c62ba3554150311718d5f9aa83c95d6aefc551e29c085b885007f49e25597f02411808818ea4 SHA512 0a59b16b9056a1d16be91ef066ba17958465d7cc5646e2bf5de54ccbee74bb5ffc88b9fddc1557c385ff1fe58947a0347b8b5e8eff643917d9bb9933478f344a MISC metadata.xml 395 BLAKE2B a375d336aa4cdc973bc6edefa50745bdc67753e53988718a804b9dfab02d8c8324fd998c9c17dfac0f1c57a7068d2c036ad37194a46c3aec208314171c357367 SHA512 db1f67e65f149ce7122b9c845d1305cdca95428267590d7261af489493dd34518c178ce8ce402bea290c0ee441fdece5006c62803ed587281dc7d84a25a3c3e4 diff --git a/sys-libs/libseccomp/libseccomp-2.3.3.ebuild b/sys-libs/libseccomp/libseccomp-2.3.3.ebuild deleted file mode 100644 index 64821467e36f..000000000000 --- a/sys-libs/libseccomp/libseccomp-2.3.3.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# TODO: Add python support. - -EAPI="5" - -inherit eutils multilib-minimal - -DESCRIPTION="high level interface to Linux seccomp filter" -HOMEPAGE="https://github.com/seccomp/libseccomp" -SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 s390 x86 ~amd64-linux ~x86-linux" -IUSE="static-libs" - -# We need newer kernel headers; we don't keep strict control of the exact -# version here, just be safe and pull in the latest stable ones. #551248 -DEPEND=">=sys-kernel/linux-headers-4.3" - -src_prepare() { - sed -i \ - -e '/_LDFLAGS/s:-static::' \ - tools/Makefile.in || die -} - -multilib_src_configure() { - ECONF_SOURCE=${S} \ - econf \ - $(use_enable static-libs static) \ - --disable-python -} - -multilib_src_install_all() { - find "${ED}" -name libseccomp.la -delete - einstalldocs -} diff --git a/sys-libs/libseccomp/libseccomp-2.4.0.ebuild b/sys-libs/libseccomp/libseccomp-2.4.0.ebuild index f4ccc0dec168..ed16699636f3 100644 --- a/sys-libs/libseccomp/libseccomp-2.4.0.ebuild +++ b/sys-libs/libseccomp/libseccomp-2.4.0.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="-* amd64 arm ~arm64 ~hppa ~mips ppc ppc64 s390 x86 ~amd64-linux ~x86-linux" +KEYWORDS="-* amd64 arm arm64 ~hppa ~mips ppc ppc64 s390 x86 ~amd64-linux ~x86-linux" IUSE="static-libs" # We need newer kernel headers; we don't keep strict control of the exact diff --git a/sys-libs/libseccomp/libseccomp-2.4.1.ebuild b/sys-libs/libseccomp/libseccomp-2.4.1.ebuild new file mode 100644 index 000000000000..96b995d7b0db --- /dev/null +++ b/sys-libs/libseccomp/libseccomp-2.4.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# TODO: Add python support. + +EAPI=6 + +inherit multilib-minimal + +DESCRIPTION="high level interface to Linux seccomp filter" +HOMEPAGE="https://github.com/seccomp/libseccomp" +SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux" +IUSE="static-libs" + +# We need newer kernel headers; we don't keep strict control of the exact +# version here, just be safe and pull in the latest stable ones. #551248 +DEPEND=">=sys-kernel/linux-headers-4.3" + +src_prepare() { + default + sed -i \ + -e '/_LDFLAGS/s:-static::' \ + tools/Makefile.in || die +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + --disable-python + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + find "${ED}" -name libseccomp.la -delete + einstalldocs +} diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest index 693df935d501..74a621b21632 100644 --- a/sys-libs/libselinux/Manifest +++ b/sys-libs/libselinux/Manifest @@ -1,11 +1,8 @@ -DIST libselinux-2.7.tar.gz 187574 BLAKE2B cc6ee51d5015943dd73fe16efb2ce2478616f43eaf7da55655de50502010e69973c2de13c8a562c8814a31211a8dbd7200fa2f22761f3d0f81fa3a1d3cd1e998 SHA512 415d10306692d4323455b61fb61d7e56e53b9144276ff206d72760e1df9b04ab07c62a4d6f04bf4e5fa708f9f14b21a9801069b16ece0a0aade886950941ab8d DIST libselinux-2.8.tar.gz 187759 BLAKE2B 1e0e1a5aa2230fd6080e921efe871e97fa9412176b72a0c9721f60c6190459e508644fa3370f3b5f513f088428844c7c615cda4567990ddee91c13e1ee88f9ed SHA512 2f15d08888fbef9b0cf7bf01893b513edc6738974e2d0eab7e3f79cef9be79cf966742b0d2693b5d2ec7defddb5f4d6c6f6280be9d4158ed41f7a18d50b9f019 DIST libselinux-2.9-rc1.tar.gz 187984 BLAKE2B e1940ca839d73477593c5e530124f856db518ba682495889e9aac595d8bb0b4e5bff714c654ce896111648159e79cca7f449e94b05fe8cc40bf73180a2c03efd SHA512 15c068b7ad2852a3b6db9a5e192981de8f8257ae4e7f8b57c92755e74c0b5b03ad5489505a84d483fda16b879a20839914eb6a2ee563e37f01f6b3a9ac9c596d DIST libselinux-2.9.tar.gz 211546 BLAKE2B 5b06b922690e48924865c98ed34ebfc1ce5e30e78dbeaccb6b9c931a35bed113c030f8f8575084429fe13b91aeafc73abaa24fe609a17ba54c8472d783f6ac61 SHA512 727b211d09f374d45aa3fa4dec7fd5463dfdcf5aaa47f7fcaccee51fb74896c3aa1a6f0bac9cdd47ebe4929effff13f66f5f70447b27b783dca5f7b1576d30d0 -EBUILD libselinux-2.7.ebuild 4019 BLAKE2B f5dfa22a258e893e7b084196a45e45ee3a9b8ceb2da5ebef5b7d329c4e37149197d0cbdf31e569dfaaf4881120a2ec80d25911bf47c1ec4f8ee9ffa55edf48ea SHA512 62ef94ea79e87533e38a9b98128f65dc8cc7179ba4993f2d346d543db0aa3658fc1741028f7e75a645d6e514fd41ea724ed55cf5a094c71c290f6117235dc677 -EBUILD libselinux-2.8-r1.ebuild 4195 BLAKE2B 112a17e373c8c62e2308823284ac04508b6b1e39992e8e8bb09f91c857a881e4f51480ecca7d2d442dfc7e2b0f1b7578daffd8f33d6498165fdf0917cc729df3 SHA512 3294bfdf9b27ab636a0eaa9b4314a6191b745ed324ea8b69efabf0ddf9143ae064b8c8d1197be34f81dc6cb4fe3bbe5ea338fab95e0b2b6cd77e0f58478c8aca -EBUILD libselinux-2.8.ebuild 4126 BLAKE2B b73296f76f807bbf7e881474f554c6597c36c1d61eec06c477d3177bf67d506298d866c180b9f1094147750842359887bddde2e8c561fb60c3d1ef99f61a8230 SHA512 5980c8ac1b1c1e497bd38ff99b3ff78eceda88ae246d95d4e4a9da5325461b1f10572b0c9bfbc530775c2109ffa3b533e4581eabaea56a7dc0d4844697edc603 -EBUILD libselinux-2.9.ebuild 4180 BLAKE2B 0738b804ddc8c5d6cf63d3c1d42b04ba61a74817d71f0ec2b542e819dcb4d7a514fd3ac48dc4082dd77b7175680000b2b16eb32a86edc1d14a1fddede8f86542 SHA512 3ca0e1ba21792f53243af5aef2c85ab2b0616c1e26c0d7679d9b5c36a3f9f7b50e8a3caa53c4f9046e7764a6002b7f09b6a50e8cdc3e03dd7f99790bf876b1fe -EBUILD libselinux-2.9_rc1.ebuild 4180 BLAKE2B afa1a2f12363e7082f1dab978fcafcc82ced930398663a8c6d2b50e351fbf998ac6e33bebcb83adb3c469ecefd9f33545ec79bff22e0af578abb60453b8499c0 SHA512 74649a35c1b3152977d3d575940839f73d16482f950b73d7de609c6e194a48844201bd4824745f52d75458c07c19f641b4da2823c4fc6da531690b35b46110a0 -EBUILD libselinux-9999.ebuild 4180 BLAKE2B 0738b804ddc8c5d6cf63d3c1d42b04ba61a74817d71f0ec2b542e819dcb4d7a514fd3ac48dc4082dd77b7175680000b2b16eb32a86edc1d14a1fddede8f86542 SHA512 3ca0e1ba21792f53243af5aef2c85ab2b0616c1e26c0d7679d9b5c36a3f9f7b50e8a3caa53c4f9046e7764a6002b7f09b6a50e8cdc3e03dd7f99790bf876b1fe +EBUILD libselinux-2.8-r1.ebuild 4185 BLAKE2B 215867146c515772f63c579ac9d3cb5e65b6493da8bcc5abf641aa1fb5e63d966c4c59ac0ed1e27c92834983bce308fa8c032f4da395c1857bbb317e0cce20ff SHA512 979454cea09f81e3b63ff62672deebb8b3dce3192ff27c6abb3382058182994c9de90e8660b421d1c671b87366588163f6b507de24b7ee5a8db4b78d6bc4a289 +EBUILD libselinux-2.9.ebuild 4170 BLAKE2B e23a62ba8d06085e9bc2b5ea42e84637a503b243332c78d0429d407a49a482dc966b669ff061dc9f58895efe54ec423f175312d9081c5ccbe2760cf0e529f434 SHA512 c100b626adec06317ecefe13954a846f4d8d7c537e48bd39c7945231d0f5041a9db63d543e341b2ef7fbe751049856c64a2f8a398d1ed6ea099b73a4935ed711 +EBUILD libselinux-2.9_rc1.ebuild 4170 BLAKE2B 62b058fd98fad18bce30146ecc7e5ff930dd3e09a662717566dabf8c91506dfee5d43110f681ec51c440c9a396a8d195af2c96f9f927a0a654d8ce0420bff4b9 SHA512 a476600a0603c2047cb03d7c46afa60001518c5a2b2ebf4559a5ef823a8c02e50ddc164f2a2b81bfc048f847c9becb1cfbd88ac9ee1f69a56a961f628f5c47b5 +EBUILD libselinux-9999.ebuild 4170 BLAKE2B e23a62ba8d06085e9bc2b5ea42e84637a503b243332c78d0429d407a49a482dc966b669ff061dc9f58895efe54ec423f175312d9081c5ccbe2760cf0e529f434 SHA512 c100b626adec06317ecefe13954a846f4d8d7c537e48bd39c7945231d0f5041a9db63d543e341b2ef7fbe751049856c64a2f8a398d1ed6ea099b73a4935ed711 MISC metadata.xml 676 BLAKE2B 530269a4d717ef305f4b15fe02c54e26f6acb9d73d6c7ac6ecd1f947712912f98120820a362e7cdc8e17019e88bc9c30162d54002bdea6facb2c41931e9c54f2 SHA512 7b33e0d113637a129a7894d8720feb9024d67466b86d475fbc3398f514b2ecc28c70dc759952376208d2022a00658eb120fc3561edbb9c7ecdc4404bed5f57a7 diff --git a/sys-libs/libselinux/libselinux-2.7.ebuild b/sys-libs/libselinux/libselinux-2.7.ebuild deleted file mode 100644 index 569190768a03..000000000000 --- a/sys-libs/libselinux/libselinux-2.7.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 ) -USE_RUBY="ruby23" - -# No, I am not calling ruby-ng -inherit multilib python-r1 toolchain-funcs multilib-minimal - -MY_P="${P//_/-}" -SEPOL_VER="${PV}" -MY_RELEASEDATE="20170804" - -DESCRIPTION="SELinux userland library" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" -else - SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~mips x86" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="public-domain" -SLOT="0" -IUSE="pcre2 python ruby static-libs ruby_targets_ruby23" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=">=sys-libs/libsepol-${SEPOL_VER}:=[${MULTILIB_USEDEP}] - !pcre2? ( >=dev-libs/libpcre-8.33-r1:=[static-libs?,${MULTILIB_USEDEP}] ) - pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - ruby? ( - ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - python? ( >=dev-lang/swig-2.0.9 )" - -src_prepare() { - eapply_user - - multilib_copy_sources -} - -multilib_src_compile() { - tc-export AR CC PKG_CONFIG RANLIB - - emake \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \ - LDFLAGS="-fPIC ${LDFLAGS} -pthread" \ - USE_PCRE2="$(usex pcre2 y n)" \ - all - - if multilib_is_native_abi && use python; then - building() { - emake \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - pywrap - } - python_foreach_impl building - fi - - if multilib_is_native_abi && use ruby; then - building() { - einfo "Calling rubywrap for ${1}" - # Clean up .lo file to force rebuild - rm -f src/selinuxswig_ruby_wrap.lo || die - emake \ - RUBY=${1} \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - building ${RUBYTARGET} - done - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \ - LIBSEPOLA="/usr/$(get_libdir)/libsepol.a" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install - - if multilib_is_native_abi && use python; then - installation() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - LIBSEPOLA="/usr/$(get_libdir)/libsepol.a" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation - fi - - if multilib_is_native_abi && use ruby; then - installation() { - einfo "Calling install-rubywrap for ${1}" - # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions - rm src/selinuxswig_ruby_wrap.lo - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - LIBSEPOLA="/usr/$(get_libdir)/libsepol.a" \ - RUBY=${1} \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - installation ${RUBYTARGET} - done - fi - - use static-libs || rm "${D}"/usr/lib*/*.a || die -} - -pkg_postinst() { - # Fix bug 473502 - for POLTYPE in ${POLICY_TYPES}; - do - mkdir -p /etc/selinux/${POLTYPE}/contexts/files || die - touch /etc/selinux/${POLTYPE}/contexts/files/file_contexts.local || die - # Fix bug 516608 - for EXPRFILE in file_contexts file_contexts.homedirs file_contexts.local ; do - if [[ -f "/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" ]]; then - sefcontext_compile /etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE} \ - || die "Failed to recompile contexts" - fi - done - done -} diff --git a/sys-libs/libselinux/libselinux-2.8-r1.ebuild b/sys-libs/libselinux/libselinux-2.8-r1.ebuild index 10c723c47044..be77fe9aed83 100644 --- a/sys-libs/libselinux/libselinux-2.8-r1.ebuild +++ b/sys-libs/libselinux/libselinux-2.8-r1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 python3_7 ) +PYTHON_COMPAT=( python2_7 python3_5 python3_6 python3_7 ) USE_RUBY="ruby24 ruby25" # No, I am not calling ruby-ng diff --git a/sys-libs/libselinux/libselinux-2.8.ebuild b/sys-libs/libselinux/libselinux-2.8.ebuild deleted file mode 100644 index 12ccf11dfba9..000000000000 --- a/sys-libs/libselinux/libselinux-2.8.ebuild +++ /dev/null @@ -1,153 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 python3_7 ) -USE_RUBY="ruby23" - -# No, I am not calling ruby-ng -inherit multilib python-r1 toolchain-funcs multilib-minimal - -MY_P="${P//_/-}" -SEPOL_VER="${PV}" -MY_RELEASEDATE="20180524" - -DESCRIPTION="SELinux userland library" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - S="${WORKDIR}/${MY_P}/${PN}" -else - SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${MY_RELEASEDATE}/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~mips x86" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="public-domain" -SLOT="0" -IUSE="pcre2 python ruby static-libs ruby_targets_ruby23" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=">=sys-libs/libsepol-${SEPOL_VER}:=[${MULTILIB_USEDEP}] - !pcre2? ( >=dev-libs/libpcre-8.33-r1:=[static-libs?,${MULTILIB_USEDEP}] ) - pcre2? ( dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}] ) - python? ( ${PYTHON_DEPS} ) - ruby? ( - ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) - ) - elibc_musl? ( sys-libs/fts-standalone )" -DEPEND="${RDEPEND} - virtual/pkgconfig - python? ( >=dev-lang/swig-2.0.9 ) - ruby? ( >=dev-lang/swig-2.0.9 )" - -src_prepare() { - eapply_user - - multilib_copy_sources -} - -multilib_src_compile() { - tc-export AR CC PKG_CONFIG RANLIB - - emake \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - LDFLAGS="-fPIC ${LDFLAGS} -pthread" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - all - - if multilib_is_native_abi && use python; then - building() { - emake \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - pywrap - } - python_foreach_impl building - fi - - if multilib_is_native_abi && use ruby; then - building() { - einfo "Calling rubywrap for ${1}" - # Clean up .lo file to force rebuild - rm -f src/selinuxswig_ruby_wrap.lo || die - emake \ - RUBY=${1} \ - LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \ - rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - building ${RUBYTARGET} - done - fi -} - -multilib_src_install() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install - - if multilib_is_native_abi && use python; then - installation() { - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-pywrap - python_optimize # bug 531638 - } - python_foreach_impl installation - fi - - if multilib_is_native_abi && use ruby; then - installation() { - einfo "Calling install-rubywrap for ${1}" - # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions - rm src/selinuxswig_ruby_wrap.lo - emake DESTDIR="${D}" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - SHLIBDIR="/$(get_libdir)" \ - RUBY=${1} \ - USE_PCRE2="$(usex pcre2 y n)" \ - install-rubywrap - } - for RUBYTARGET in ${USE_RUBY}; do - use ruby_targets_${RUBYTARGET} || continue - - installation ${RUBYTARGET} - done - fi - - use static-libs || rm "${D}"/usr/lib*/*.a || die -} - -pkg_postinst() { - # Fix bug 473502 - for POLTYPE in ${POLICY_TYPES}; - do - mkdir -p /etc/selinux/${POLTYPE}/contexts/files || die - touch /etc/selinux/${POLTYPE}/contexts/files/file_contexts.local || die - # Fix bug 516608 - for EXPRFILE in file_contexts file_contexts.homedirs file_contexts.local ; do - if [[ -f "/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" ]]; then - sefcontext_compile /etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE} \ - || die "Failed to recompile contexts" - fi - done - done -} diff --git a/sys-libs/libselinux/libselinux-2.9.ebuild b/sys-libs/libselinux/libselinux-2.9.ebuild index 31602e8c25d1..ee1da650b46e 100644 --- a/sys-libs/libselinux/libselinux-2.9.ebuild +++ b/sys-libs/libselinux/libselinux-2.9.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 python3_7 ) +PYTHON_COMPAT=( python2_7 python3_5 python3_6 python3_7 ) USE_RUBY="ruby24 ruby25" # No, I am not calling ruby-ng diff --git a/sys-libs/libselinux/libselinux-2.9_rc1.ebuild b/sys-libs/libselinux/libselinux-2.9_rc1.ebuild index 6387e1921bb5..a92de2e4de92 100644 --- a/sys-libs/libselinux/libselinux-2.9_rc1.ebuild +++ b/sys-libs/libselinux/libselinux-2.9_rc1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 python3_7 ) +PYTHON_COMPAT=( python2_7 python3_5 python3_6 python3_7 ) USE_RUBY="ruby24 ruby25" # No, I am not calling ruby-ng diff --git a/sys-libs/libselinux/libselinux-9999.ebuild b/sys-libs/libselinux/libselinux-9999.ebuild index 31602e8c25d1..ee1da650b46e 100644 --- a/sys-libs/libselinux/libselinux-9999.ebuild +++ b/sys-libs/libselinux/libselinux-9999.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 python3_7 ) +PYTHON_COMPAT=( python2_7 python3_5 python3_6 python3_7 ) USE_RUBY="ruby24 ruby25" # No, I am not calling ruby-ng diff --git a/sys-libs/libsemanage/Manifest b/sys-libs/libsemanage/Manifest index ac9e87f6e5f9..756c0137da57 100644 --- a/sys-libs/libsemanage/Manifest +++ b/sys-libs/libsemanage/Manifest @@ -2,9 +2,9 @@ DIST libsemanage-2.7.tar.gz 153465 BLAKE2B fb585b8caba394757dbabb7c0825086059578 DIST libsemanage-2.8.tar.gz 154200 BLAKE2B db987e42aed7177cd9b3d1e495c97878a816fe78d7c73631f475649d0ab4182e5966a9ee691f2d59863eab2b7a62f608bc00f0789f22401a54f18b41f6ebfb68 SHA512 53f09c79da168a79b853f55e0f1c20a96229df9d82929c514bcaf72697446ae836f7f0457fc0056d2418cc6d0712157faf0152881518fe84a1b1b9b9af17e7ef DIST libsemanage-2.9-rc1.tar.gz 154592 BLAKE2B 380a0435ca00352e7f1aaed879e72cc011bea500d40abb77a3a25a999edf9ca37a4a9f60697fda75527c7069bb3d0d1a412c673b9f81e91cafb16d4b47846118 SHA512 ad17c450d32c50a65b09cdbde49a7a54708f3e50dc7f4fb1a90cd717448b5d4f7e231fd5742e5ee273b13dd07c702d69a724937c8147f74d271aceb7cd9f9748 DIST libsemanage-2.9.tar.gz 157690 BLAKE2B 98a7800a4f4a5b6eeaad8be9870a49bc697cec6cd053cb44bcd618d22146ed1adc32b432667f8fd245ac073a458e048894cbaf68903b79577bc8596b1c255f56 SHA512 ea2924e8ce97d376519d40d499145b3db413cf9cc1eb995ed338b95c131e043d8c43b87b2012cee2bb6354a6e3161ebf5ce4a1200278d3ecd4294b43d177a5c2 -EBUILD libsemanage-2.7.ebuild 4758 BLAKE2B 3d5c1366e85a5be7ce44394eafc7a698d1721b4a242a03450c16f8cfaae2587c604741b1326123821330b63addcae5343be44dae489663251f0f855567fe7d40 SHA512 38217988193c9c0afe87497548e2d4239337f763a937025b7648435a8bfb1451ba2a2596349afd5acb768bf605f52967694af1f56b964e5ca0f3234cd3f0c1ac -EBUILD libsemanage-2.8.ebuild 4680 BLAKE2B 01ece33238e770293b189239908860f2c094bdf98bfad225c809844214aa12e8c3bd83e73d322055b01f8208c7c0d686bb15cf002829b6cae7910ff8d65eab84 SHA512 2202e6ef7aa9172e89c6a8aa27aad48c6fc720846606b386d5230396d5c20109b56e64b696c9b298934c400be704ec9b85a394c3396d81d43ca21fd5f8620508 -EBUILD libsemanage-2.9.ebuild 4662 BLAKE2B b6cedc11d75825a2d76e94210585340fca37332e33bbf8bcf6715b33e9153d8013afe920554025e27d0ccd1d40a6ab355b07d9d9ddc8bb0578b105c80579bba7 SHA512 b91d19ad8c0f2fe88747925305136ef3bde7c8b6fd2854481cd9b2ab5c510f7db37ea4c3daca9adda207ffb448c053b165ca881f1056788ad18aec785586d54d -EBUILD libsemanage-2.9_rc1.ebuild 4662 BLAKE2B 5741fbf49378f7b9555684918950248dff44fc10054562ea7c06bfb2bb228d3b59599374b8eae3e3326c43bb724b4dd196bf10a50a00e7f1836accf1135a0658 SHA512 9bcce6b81509f52e94ccfc87b20649e01dc87089cfd0745c292d863b5fa82a81135a45d3a43eca58225a64838738488a4425ae9e8c6b3b4bf38f19f801b4e572 -EBUILD libsemanage-9999.ebuild 4662 BLAKE2B b6cedc11d75825a2d76e94210585340fca37332e33bbf8bcf6715b33e9153d8013afe920554025e27d0ccd1d40a6ab355b07d9d9ddc8bb0578b105c80579bba7 SHA512 b91d19ad8c0f2fe88747925305136ef3bde7c8b6fd2854481cd9b2ab5c510f7db37ea4c3daca9adda207ffb448c053b165ca881f1056788ad18aec785586d54d +EBUILD libsemanage-2.7.ebuild 4751 BLAKE2B 5d5b5453b09a13bb43d3d07c013fd633723f5438b5cbe0b05d2a3726cc70a2c8f228ad45e2340ff85ba3cd2bc977da93355507576f014f791596e21130a880f3 SHA512 99da15dfe20fa33f83a301e4ee3b91163d28e8f19b66e567cf24443b77906b7724fb2e8efb123f815f3614defdaaf930cb70ee7bc4ffab98f7ab18da50e00d72 +EBUILD libsemanage-2.8.ebuild 4673 BLAKE2B 02956f6f4384787808ffbcc34184cb802ce968ef1c3942c71b0d4df8b1c926eb5150d18af6ab88b0d450dad0d3126ba3fff536e62546007ead1c8cfb8298874c SHA512 7ee8eb32b2fb8ffd530f7866b34e052d6f07b4bdfd2611f88952ad3a97e827daddb7b580cc057a49a49ab2ddfe8bd61725a5189d7967ffe85753c569340b25c6 +EBUILD libsemanage-2.9.ebuild 4658 BLAKE2B ea77b29d1c8dd72a6455f1742be6fc9ecf3d5cfc9c855417d1e8950b20237e5ac9b090eb759a75ccf78255ef2be597251350847635fe7907b9dbb975b09824eb SHA512 7d8b32361ccb58e00d9a4942a20937d0da23f889b522f768b6b2a0f1e2378288232e0a104c9f59cff49a9f076aa6af6b3b2747fa7fdd14b828270c20c154e04d +EBUILD libsemanage-2.9_rc1.ebuild 4658 BLAKE2B 11c45762b118515a4d9184b673680d061a5e241aec83374a85698e13903a54899a9c41c7f921f3de0129252278fc9147149b7091ca6eb9d54cf551bdd4f9a88e SHA512 c787149c44d1ea51f46a5cf3c812792b3c05ed9a6b68bcb4642926d67fb14475dd40fcb9d7213cf044d9f7a9c888e8fb226cd3a0fe25e69ae50a3210dba91d23 +EBUILD libsemanage-9999.ebuild 4658 BLAKE2B ea77b29d1c8dd72a6455f1742be6fc9ecf3d5cfc9c855417d1e8950b20237e5ac9b090eb759a75ccf78255ef2be597251350847635fe7907b9dbb975b09824eb SHA512 7d8b32361ccb58e00d9a4942a20937d0da23f889b522f768b6b2a0f1e2378288232e0a104c9f59cff49a9f076aa6af6b3b2747fa7fdd14b828270c20c154e04d MISC metadata.xml 406 BLAKE2B c9f83aef9f66b26a895bad604ab829ba1d6b6865cb519ac23be395cfb9b81f06d35a3ac4602d5a0b53f0ca58e50a8ca71efba8dc8d70740294cee2a49ed0e777 SHA512 742aba47cdd9ad8f97fcb03a01cc2552c6e1d715f6b717c9dff2ae86ab34b850745888e4f2e3963ec2c258cf16a33cb161205f4ea72563446eada82f6c298479 diff --git a/sys-libs/libsemanage/libsemanage-2.7.ebuild b/sys-libs/libsemanage/libsemanage-2.7.ebuild index 793f84bdf7d7..c2f195c1e591 100644 --- a/sys-libs/libsemanage/libsemanage-2.7.ebuild +++ b/sys-libs/libsemanage/libsemanage-2.7.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit multilib python-r1 toolchain-funcs multilib-minimal diff --git a/sys-libs/libsemanage/libsemanage-2.8.ebuild b/sys-libs/libsemanage/libsemanage-2.8.ebuild index a11f05ee794b..53e09e311690 100644 --- a/sys-libs/libsemanage/libsemanage-2.8.ebuild +++ b/sys-libs/libsemanage/libsemanage-2.8.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit multilib python-r1 toolchain-funcs multilib-minimal diff --git a/sys-libs/libsemanage/libsemanage-2.9.ebuild b/sys-libs/libsemanage/libsemanage-2.9.ebuild index 7512abf53bba..3c459af181c2 100644 --- a/sys-libs/libsemanage/libsemanage-2.9.ebuild +++ b/sys-libs/libsemanage/libsemanage-2.9.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit multilib python-r1 toolchain-funcs multilib-minimal diff --git a/sys-libs/libsemanage/libsemanage-2.9_rc1.ebuild b/sys-libs/libsemanage/libsemanage-2.9_rc1.ebuild index 0eed18ff390a..72d6d8d5a1f9 100644 --- a/sys-libs/libsemanage/libsemanage-2.9_rc1.ebuild +++ b/sys-libs/libsemanage/libsemanage-2.9_rc1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit multilib python-r1 toolchain-funcs multilib-minimal diff --git a/sys-libs/libsemanage/libsemanage-9999.ebuild b/sys-libs/libsemanage/libsemanage-9999.ebuild index 7512abf53bba..3c459af181c2 100644 --- a/sys-libs/libsemanage/libsemanage-9999.ebuild +++ b/sys-libs/libsemanage/libsemanage-9999.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit multilib python-r1 toolchain-funcs multilib-minimal diff --git a/sys-libs/libsmbios/Manifest b/sys-libs/libsmbios/Manifest index 160d53c9f059..a3e94ceae195 100644 --- a/sys-libs/libsmbios/Manifest +++ b/sys-libs/libsmbios/Manifest @@ -8,6 +8,6 @@ DIST libsmbios-2.4.1.tar.gz 667796 BLAKE2B 119198783004215c269ae0846aad58fafcdd0 DIST libsmbios-2.4.2.tar.gz 668042 BLAKE2B 2106206dce95e481ae36e033d2abe9f39402368a09686b92fd1de7d85e87ea494514e85bdf1267adb6b52060a4e6bb6001714c5d891a4c0342c814942c0458af SHA512 51d1b11447d50b768658473d01bcb6cc7f9dd5c96c26ec343f222115ffb5047ca1f035a0bfb67f94f53165eaea7a0d9b70cf01f03333a30885bbac153bf761bd EBUILD libsmbios-2.3.2.ebuild 1894 BLAKE2B 1c42418d45133004c8c47570541794f74fcb07f336db9142f9ac88d814e571ac86a0af316ed9ebb68a96503d0e0a5ea3cfa1855bf1845fd62d9deb5ccbe48c57 SHA512 2b3faf9733451392aaacb4e6859b64673b41d1aa19e5a4cad815a67dfce39bac07aa3c4f7ab20104024312d830320ba1dda9d372475be7c2055b0042554a85a8 EBUILD libsmbios-2.3.3.ebuild 1788 BLAKE2B b2798a0e24b8ca2b3d9d2125632a2286371a382417bb2ae12db5e167bd6cb2167cd7b20f20f4701d927819c739fda5b482657c81ffdb9999774ff38a9caacc9c SHA512 be969d82ec9f0d5f18b0b9c397bde36ee5eea184c1a41320cce25427f2d6eafa2d9565ad14c029222b978e20038d17071e345065cb6c2c9cf3e72f3639f4b354 -EBUILD libsmbios-2.4.1.ebuild 1721 BLAKE2B 9283623af15e10736a53b0916159e80bc4539a838a0c352353a2e3d47797641a9dbfe0afa5750f3d550d571a219deaa4bba142193d1fd5d35b079efa33e5ce30 SHA512 92d3f1ff5b9ba0fb79321ba675689928a01f1fb97b8834f0360d4c34a7d305f5650f4947d64965c3936ea1fa307ad822bdb50710dbbfdaa10e550139cb725848 -EBUILD libsmbios-2.4.2.ebuild 1709 BLAKE2B 7ff457eea26d9910d155d7107e9db8afe46330af9d9543ccf5fb51d36c3fe437d3fcda72e6ce9131dcc07aac99d7550660b9fed337963cb5d77268a31bb6ac07 SHA512 5b2d13ff22e32fb18ba821e1f2e8e090fa695145be4e2c330d05fe562b6918145cb5084dde5e31811be21aaa771509a54a56189c8ce701022c8d2e7d78d613a6 +EBUILD libsmbios-2.4.1.ebuild 1716 BLAKE2B f30f7e7cf6c28b86f6340da66f566f788d9f25bbff53658ab7b5ffdfd7b36082daee2d27f8cd5990a610e9c9e989a1a369711461ac190c3377410587fe2da2e4 SHA512 aeadb26492b8710afc3151b1a1af199a33fb1a9e66b12aa5955501b1e3db1b75d98a552065b7376d038bc19ea246cef1b8af53a2245b0017c21b32dd2910f7f3 +EBUILD libsmbios-2.4.2.ebuild 1704 BLAKE2B 6e43d54d225176839c50738f06ed78aac5682a007623dfdb7c1243cd41c8a29e7498e508ee4160f081730ea25f8e3629929ba1102be08a64646eeec773bee988 SHA512 292708a36fc2744aca74cebe04b7a2965ba830145d2e8997bb28a57871b2f31c92fcca2c92c3829a7d8de5aec47801b1a3ac1a3a2b0a2c88bcae6be3f7c1d1f4 MISC metadata.xml 564 BLAKE2B bc9809af663bd6abb97b0fd1e91b520e3827f8d6656f774093944217907c2246bcaf55cb123dca43b2acdcee5aa24657dda9384d3f081c45e82d3c4f5e05e61e SHA512 d32499f8dc915da23ef8ce3b0f799d213d5cf700da8b80c83a94770d7fef72bc22ddbfbecf92e49c8ea0f56c4c2b718e53563a450870a77d7cdd3d3c5f610b1a diff --git a/sys-libs/libsmbios/libsmbios-2.4.1.ebuild b/sys-libs/libsmbios/libsmbios-2.4.1.ebuild index b69287953702..158c4534ba3c 100644 --- a/sys-libs/libsmbios/libsmbios-2.4.1.ebuild +++ b/sys-libs/libsmbios/libsmbios-2.4.1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6}} ) inherit autotools flag-o-matic python-single-r1 versionator diff --git a/sys-libs/libsmbios/libsmbios-2.4.2.ebuild b/sys-libs/libsmbios/libsmbios-2.4.2.ebuild index 3293aedcc967..bedad6f331f7 100644 --- a/sys-libs/libsmbios/libsmbios-2.4.2.ebuild +++ b/sys-libs/libsmbios/libsmbios-2.4.2.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) +PYTHON_COMPAT=( python{2_7,3_{5,6}} ) inherit autotools flag-o-matic python-single-r1 diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index b454426d8454..394e968a34e4 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,16 +1,19 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 DIST libcxx-7.0.1.src.tar.xz 1638188 BLAKE2B 541d27c3801895d59ad06b15de5fe9ff0d9b5b3ef393a5fad05a12a52dd6453ecc530b0ce3129624a27e959d3c9c5f7066ebb57fd85caca538ebf4f990aa6967 SHA512 b3ad7ad95bdcf2d902b29de8a0b757d4dbc220bc1a22a813d6bcec15a34b3aa42e85c59f4cecbb318c799ca611550b44c328b37278f4349b984016ad4556c1d8 +DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03 DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2 DIST libcxxabi-7.0.1.src.tar.xz 535096 BLAKE2B 212330e8dbde98280b1bcd4f36ea3f30b69af9816e6c252bd9640c45501536ce38e8b57f3e82195d2a33cb1286651f7cad82713c71e8012e512e04c4ff7bad64 SHA512 92e8d28f329e9a8cce296f0fddd88324198f722db3a748bb2164b28ae8eca6047c89ed1e70af00bbedd93ce4285b2ab1e0307a65b88dc60e581eebfd6cbd2038 +DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102 DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055 DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f DIST libunwind-7.0.1.src.tar.xz 79784 BLAKE2B c426ef661d1c5ba8abfdb7c155b44d8c9301e2254031cff9fcb0634f61d7374779095be3118c0a29c69e60c63a32405334242413625ece8c5c9130d58bedd865 SHA512 e6203e77691c7039496da09e55d27a994a0e273ab0ef10df2f0b9345fead11d855413342a7ccc7b641c3f06053210a8822ba39e9f5b8624384bf1fa456deb969 +DIST libunwind-7.1.0.src.tar.xz 79780 BLAKE2B 8f15dcf4a9c8cb45f17c72bf058eed13a6cd52842ee8630781c3104be77d9a868e241eafd34a31b23aeff18dc49743dd5a566ce4cb866a170f1d09899584e2dd SHA512 8ebfeb821013167e866986a2f9cc6459e43d82f73560a15ee7e0d604a974e1c656f824c9f7ccb47da4b4830ad9a99c663961bdf7642cd105e666b8a8fdf7d03c DIST libunwind-8.0.0.src.tar.xz 86484 BLAKE2B 74f52fbda056b98cb8a2af652270dc4404177be4fd24a3d030f43e908ef912b875f6471819d364d2ee00c6edbec78d25647f023830c6ddc1c032added1059582 SHA512 8c10e986b4123b6db9f010f053d9c67786fd739d0990146c481f7eaf69ae44fdbcb99dfad9b240b369c3f93be05dfeaf0bd977685360be94e2872ddb04019380 -EBUILD llvm-libunwind-6.0.1.ebuild 3742 BLAKE2B a2e7fc30c8084cf48c4fd795c78351081cd58408eb8f60fe8c09bf8b87196c9e4fbb471da223f36369a25eecd8cdd6d92abae5cd7544729c50c47c55f0232c6a SHA512 6367327da3e0fae97282370e2762382588daf6e59d9f8ec882d52b974cb9bcd5209dd1f37a7c9e94d15cc411f4212b94b332aac5dd3d652ebb38893f74df8391 -EBUILD llvm-libunwind-7.0.1.ebuild 3746 BLAKE2B 5f063fb9affa4730b2310d4c79d04699744a18cf0470e4a7463372f94933df9604727ad0e6d68097d830b48f0bb66228a5601a30655004e3cf648c00684cbaad SHA512 87766c87aaa2fa5c186fae3aa97692448da5cfca29510b428c8d69e0803e37a8d41b03dba68b8cf734f7229bb023e444fe6e3f26966909dfd2857068351b9205 -EBUILD llvm-libunwind-7.0.9999.ebuild 3885 BLAKE2B b4b67285b574900596fe96caaa7733569686e2ddf898eb506b509de25895798e5521377c06503c8206517016a11060913399584072758114b9f0ce9c9f00cf66 SHA512 0e47757fb33b1b59cd8d989953b34ec22f01f993ce5e91d3390551a6b8b83df7678c4e747f297dbd1c76a21f99d1a1309b024b754d60e9b8fe8b3e606bc3cec0 -EBUILD llvm-libunwind-8.0.0.ebuild 3746 BLAKE2B 7839e1cb833735d4c1a694e8c4fc9712ee820d432d771a317d50440473123d3de7cbe90b4556158d9fe9240f74003073d1f6c40177d086713c69070fef1e9869 SHA512 34a241aa073c3a9b1d39ad8f7efafc0b4debba955d909b4b79e427709bfee57376c4ff3fa4a6f05493539e51cba718b497d1d4fb76ed20ada539424f969c959c -EBUILD llvm-libunwind-8.0.9999.ebuild 3882 BLAKE2B d779794a7428fc30151b688c0f207812a7919f2b6ccac4d424af11f4976d664e3fc9cc8eda569678f6ae7bc5bbf45a60489dc39d4798f43c3b60e18ae20e7b1a SHA512 8fbf23c4669f8078e6ed91a232ef4e86cbffacd9081a728659d2ce40204af425bff456a45c8b411752e318ad7a6903c8228e53383d2495538cf0384d270b5684 -EBUILD llvm-libunwind-9999.ebuild 3860 BLAKE2B 177f9e223b61e3bd3a6fec78ff0b3d2efa1220228d55f78eb41a200518441d8b617998f13642338e91ff3f56dd224c1e1382df5031060c1783440ad20223d069 SHA512 b0cdcbe531188ffa9f7e294136a9238a79441b0768144116784fbf3e647b3fef11eb6a4e5569f08e7e7092d4aec46843c15a1c2b3b96ec63ee64028a0fb29c83 +EBUILD llvm-libunwind-6.0.1.ebuild 3738 BLAKE2B 5c58eb49bac3d30643ea2d82f5e59add83fff5154ab335180778b3c7c9e7cf87b2423ee76401dd25a2fc89f5a492440236ad47328dcf05af87d4961c2c2f1761 SHA512 712fc6d98152c397f7436ffbccf62646ee53e14a5b9fc2c491b3c0d8dcfa40e81b16a4d9b7d5b1d81769282ead75d93994606fe6cf3ee08d80eaa5707f182d8e +EBUILD llvm-libunwind-7.0.1.ebuild 3742 BLAKE2B 9a05742fd2cfead08fed6c06530f7f5ce7a09bd2e0f56113163899269886c00a33a0ea107be746363ccd2c3da2d32fa7518c73bef042f21770e5be0b3b85b05f SHA512 51ccfa368d4cca106ea5b3045d012ac0548a270ba97c2c2d945c972ca9fe0de19b0f3df8fcdfdde2a5444f6d84a4bbcfdc3db9b5f2075ad3295302acf72bd9cc +EBUILD llvm-libunwind-7.1.0.ebuild 3742 BLAKE2B 2284e1919e3a6dfacafc424dd0c7cf43f1eb5810ca061096801867397b40989989c4ededb3aa60261046313df3064cece909a2f9343d2225e9e7e273c7a693e9 SHA512 69d4b2bcc157f2851a1b88ac0db3a18391b1e1bc8867f7725804133fd8b91cd128299c182c7d718c98cfb062d456d14181f9fd2885cb2c32e32bb3b96843728d +EBUILD llvm-libunwind-8.0.0.ebuild 3742 BLAKE2B 2284e1919e3a6dfacafc424dd0c7cf43f1eb5810ca061096801867397b40989989c4ededb3aa60261046313df3064cece909a2f9343d2225e9e7e273c7a693e9 SHA512 69d4b2bcc157f2851a1b88ac0db3a18391b1e1bc8867f7725804133fd8b91cd128299c182c7d718c98cfb062d456d14181f9fd2885cb2c32e32bb3b96843728d +EBUILD llvm-libunwind-8.0.9999.ebuild 3878 BLAKE2B 1bb015cb550d1f63792424ff5e95d7d1ebd56063fa33bf959b6be28ccacc6cd04e3a18c503abd907c155c025c6456feffc946c64287df0b7f8003114e7cad788 SHA512 016df29600c1e700add6affa95c803e1dc2dbd2ba4cb086b3ae84251be82e3611251fc8d917c666ab43618b40a3a8424aea319a452481af6965745d3b37b3b86 +EBUILD llvm-libunwind-9999.ebuild 3856 BLAKE2B d2bd4acbb1c9dcd2a775a7b72f1ee482dbadf940d7bd0e17de246b4de549b40fa05aa16d03997f9417206b2ae92306fb32c105f1f896b504d7af4d4a70fe5d71 SHA512 b2c8cb47c5ff85424b9e27bbc9075e357e585df6a767e4ccee53dc8921064a88f529a19305f81c40d6183c481e01ccbcff651b2bc02a34752b5780f028e0a971 MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild index ad6cf07f0b7e..2ac9e687d9ae 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.1.ebuild @@ -6,7 +6,7 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit cmake-multilib llvm multiprocessing python-any-r1 MY_P=libunwind-${PV/_/}.src diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.1.ebuild index a0c7316b8bb5..b088f1f679fc 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.1.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.1.ebuild @@ -6,7 +6,7 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit cmake-multilib llvm multiprocessing python-any-r1 MY_P=libunwind-${PV/_/}.src diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild deleted file mode 100644 index 377bafe2462b..000000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.9999.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) -inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/libunwind.git - https://github.com/llvm-mirror/libunwind.git" -EGIT_BRANCH="release_70" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="debug +static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-libs/libunwind" -# llvm-6 for new lit options -DEPEND=" - >=sys-devel/llvm-6 - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_unpack() { - if use test; then - git-r3_fetch "https://git.llvm.org/git/libcxx.git - https://github.com/llvm-mirror/libcxx.git" - git-r3_fetch "https://git.llvm.org/git/libcxxabi.git - https://github.com/llvm-mirror/libcxxabi.git" - fi - git-r3_fetch - - if use test; then - git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx - git-r3_checkout https://llvm.org/git/libcxxabi.git \ - "${WORKDIR}"/libcxxabi - fi - git-r3_checkout -} - -multilib_src_configure() { - local libdir=$(get_libdir) - - local mycmakeargs=( - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) - -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) - -DLLVM_INCLUDE_TESTS=$(usex test) - - # support non-native unwinding; given it's small enough, - # enable it unconditionally - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx - ) - fi - - cmake-utils_src_configure -} - -build_libcxxabi() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxxabi - local BUILD_DIR=${BUILD_DIR}/libcxxabi - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX= - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXXABI_INCLUDE_TESTS=OFF - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=ON - -DLIBCXX_ENABLE_STATIC=OFF - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=ON - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -multilib_src_test() { - # build local copies of libc++ & libc++abi for testing to avoid - # circular deps - build_libcxxabi - build_libcxx - mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - cmake-utils_src_make check-unwind -} - -multilib_src_install() { - cmake-utils_src_install - - # install headers like sys-libs/libunwind - doheader "${S}"/include/*.h -} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild new file mode 100644 index 000000000000..09e5e125f4eb --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) +inherit cmake-multilib llvm multiprocessing python-any-r1 + +MY_P=libunwind-${PV/_/}.src +LIBCXX_P=libcxx-${PV/_/}.src +LIBCXXABI_P=libcxxabi-${PV/_/}.src + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz + test? ( + https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz + https://releases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="!sys-libs/libunwind" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +S=${WORKDIR}/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_unpack() { + default + + if use test; then + mv "${LIBCXX_P}" libcxx || die + mv "${LIBCXXABI_P}" libcxxabi || die + fi +} + +multilib_src_configure() { + local libdir=$(get_libdir) + + local mycmakeargs=( + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLLVM_INCLUDE_TESTS=$(usex test) + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx + ) + fi + + cmake-utils_src_configure +} + +build_libcxxabi() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi + local BUILD_DIR=${BUILD_DIR}/libcxxabi + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build local copies of libc++ & libc++abi for testing to avoid + # circular deps + build_libcxxabi + build_libcxx + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + cmake-utils_src_make check-unwind +} + +multilib_src_install() { + cmake-utils_src_install + + # install headers like sys-libs/libunwind + doheader "${S}"/include/*.h +} diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.0.ebuild index 352989d548dd..09e5e125f4eb 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.0.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.0.ebuild @@ -6,7 +6,7 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit cmake-multilib llvm multiprocessing python-any-r1 MY_P=libunwind-${PV/_/}.src diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild index ccd4e8e6c89c..2b6d844f64be 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild @@ -6,7 +6,7 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild index 366cb0231027..213561afe7ce 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild @@ -6,7 +6,7 @@ EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python{2_7,3_5,3_6} ) inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 41993ec49fc2..b4e7e225a98a 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -5,7 +5,9 @@ DIST getent.c 9438 BLAKE2B dc20353583c10a001bd8fe8474f32b70254dc56da186d1cdbaf40 DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b2146979c551f714954dbd465462a171837c59b6ea027e0206458a2df0f977e45f01be3ce48 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf DIST musl-1.1.20.tar.gz 977827 BLAKE2B c8ce3cc1885e8103e1cf9d67183d89e5e222fd317158b20f25a8e1855a3cd5d16c79b4d95ff896fe7262f233141c3f3ca4dfc6a26a2373ab1d29a3c66b904e61 SHA512 d3a7a30aa375ca50d7dcfbd618581d59e1aa5378417f50a0ca5510099336fd74cc9db468e05c93dda3067abd890f6bd47af226c3446bb833adf0a5054bff2e5d DIST musl-1.1.21.tar.gz 987341 BLAKE2B e080ee040ad5b7901f72d27a7e269ae4173eed8774510546abc8e53727a7443ed3590a802e6d750e2841313efb23e0c4097e3bf6232f4b84a777317e9b8260e7 SHA512 fa6c4cc012626c5e517e0e10926fc845e3aa5f863ffaceeb38ac5b9ce0af631a37f6b94f470997db09aa0d5e03f4f28a2db83484b0f98481bea2239c1989d363 +DIST musl-1.1.22.tar.gz 987296 BLAKE2B 0326751e1d1bd5b909938159e709daa1ca0b2e51a3f3dc1fc80caa3e7fc0e9fe0fa64d6dfe7d870057fa8e97100a3a89bfe4449fd4c04fe3af17d0f105dfb9cd SHA512 08a40d722672504427238e71c9e52a723c6a14735abe9581d6d4bb3f86662d5d51a3f32a6aed6420c1f9680e22a3a554a9b87ae342635be971e2db49cc9fdb87 EBUILD musl-1.1.20-r1.ebuild 3131 BLAKE2B aa772ac4c028022eb5bebffeb746b8f9393376966f1b1feaa2d6c10d58d0cabf91bbafd9d70aa37fdf00e458141da01498d9e4c90d28c92538ea5f12ca0fe7ea SHA512 7312e4ed0a7d7de47e8ccaba7d5e752f8afac2d4c2e128500f93101e4cd02702ecf96acf0107e0359df8e96228fc276540541146cc4d062f5687ec26b10dc2ad -EBUILD musl-1.1.21.ebuild 3051 BLAKE2B cff68e4c9c05f1b25d7e66c525a115d858b7ff29c0edf287191d737ef177d7087676e9586f692a2ea73df98bb992c6ba40f6e56326cd64a1d97383f72bc8f135 SHA512 790c0a8905be17c8b0ec59b1f35a239ee84723170b7b986f0aa4ca211e22ea2c77e9b814db9de832ea6453d0ac29f713c112e4bcf59e29c7ab42562882c5d91d +EBUILD musl-1.1.21.ebuild 3050 BLAKE2B bec489a792cf8793c8a1ce14041f8210eb96a9159fb3a93ae52d810e878fb9a29e3a0fc5fcbc466a4756fdf73d45b4c28a154df2887067898430ef1f29a372d2 SHA512 40ca12c1c2e65b0f598f91ea0fbc2ddf374e7d6797d5fea19c5c33d4f68882da9e69f333a34e26bb54bef4741920f964e4a5941704d675963f8c10c36af79816 +EBUILD musl-1.1.22.ebuild 3051 BLAKE2B b2bb447e473f1c0c305b40270a35381ae28e7db0de3e45c8cbac7adf67f1824eea8e25ae44dfcbab9764b4063394fb10ea58bd78d1cbef774e9ce0f6d0db7dbf SHA512 b2394c8fded1a507e02acccd3e4c48627e60e7bf59990c6a4385c53a2e26eb166d0deecc22f7260ba572fc0125c8ae9df7b80958088bdff05dff7dd5b383899f EBUILD musl-9999.ebuild 3054 BLAKE2B a7fab7e588b3dc356ebcae705ba9eecd5656fdeb01a0fb76b7d7815642e33b356cb655cfefa98c4a471c0b2c7bc40073b8b36ecde8e331ae6585ba059a9b54eb SHA512 1251eab79c1aeb716912d350cef661fe67bc1c030f57e5922d7b534d03c2d0de3e8b3d2c61bedef6160fcceeefd62524d987d067de443cde048e598a5c8f0346 MISC metadata.xml 453 BLAKE2B d7b2840a6b0bb2ede2124f22bde34a9f77ac258792a9fbf9d9e3f552a85d6ee539a98c8704729efb75dec627db62b33759fc0cfdfd01614abbc4960a163c5019 SHA512 5d8bebce119ed34a6a6b8cb07b3ce056db5efc91db80709fc8031c955b16e29965f3741f75e9afbe9f428bbac1e39e7c30278cd63f04479e3a1493b006195e0a diff --git a/sys-libs/musl/musl-1.1.21.ebuild b/sys-libs/musl/musl-1.1.21.ebuild index 5c38c07f18a8..7ce0d5e96bc4 100644 --- a/sys-libs/musl/musl-1.1.21.ebuild +++ b/sys-libs/musl/musl-1.1.21.ebuild @@ -17,7 +17,7 @@ else https://dev.gentoo.org/~blueness/musl-misc/getconf.c https://dev.gentoo.org/~blueness/musl-misc/getent.c https://dev.gentoo.org/~blueness/musl-misc/iconv.c" - KEYWORDS="-* amd64 arm ~arm64 ~mips ~ppc x86" + KEYWORDS="-* amd64 arm arm64 ~mips ~ppc x86" fi export CBUILD=${CBUILD:-${CHOST}} diff --git a/sys-libs/musl/musl-1.1.22.ebuild b/sys-libs/musl/musl-1.1.22.ebuild new file mode 100644 index 000000000000..38bdb951f6fe --- /dev/null +++ b/sys-libs/musl/musl-1.1.22.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib toolchain-funcs +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.musl-libc.org/musl" + inherit git-r3 + SRC_URI=" + https://dev.gentoo.org/~blueness/musl-misc/getconf.c + https://dev.gentoo.org/~blueness/musl-misc/getent.c + https://dev.gentoo.org/~blueness/musl-misc/iconv.c" + KEYWORDS="" +else + SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz + https://dev.gentoo.org/~blueness/musl-misc/getconf.c + https://dev.gentoo.org/~blueness/musl-misc/getent.c + https://dev.gentoo.org/~blueness/musl-misc/iconv.c" + KEYWORDS="-* amd64 ~arm arm64 ~mips ~ppc x86" +fi + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety" +HOMEPAGE="http://www.musl-libc.org/" +LICENSE="MIT LGPL-2 GPL-2" +SLOT="0" +IUSE="headers-only" + +QA_SONAME="/usr/lib/libc.so" +QA_DT_NEEDED="/usr/lib/libc.so" + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + use headers-only && is_crosscompile +} + +pkg_setup() { + if [ ${CTARGET} == ${CHOST} ] ; then + case ${CHOST} in + *-musl*) ;; + *) die "Use sys-devel/crossdev to build a musl toolchain" ;; + esac + fi +} + +src_configure() { + tc-getCC ${CTARGET} + just_headers && export CC=true + + local sysroot + is_crosscompile && sysroot=/usr/${CTARGET} + ./configure \ + --target=${CTARGET} \ + --prefix=${sysroot}/usr \ + --syslibdir=${sysroot}/lib \ + --disable-gcc-wrapper || die +} + +src_compile() { + emake obj/include/bits/alltypes.h + just_headers && return 0 + + emake + if [[ ${CATEGORY} != cross-* ]] ; then + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getconf.c -o "${T}"/getconf || die + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getent.c -o "${T}"/getent || die + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/iconv.c -o "${T}"/iconv || die + fi +} + +src_install() { + local target="install" + just_headers && target="install-headers" + emake DESTDIR="${D}" ${target} + just_headers && return 0 + + # musl provides ldd via a sym link to its ld.so + local sysroot + is_crosscompile && sysroot=/usr/${CTARGET} + local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) + dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd + + if [[ ${CATEGORY} != cross-* ]] ; then + local arch=$("${D}"usr/lib/libc.so 2>&1 | sed -n '1s/^musl libc (\(.*\))$/\1/p') + [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die + cp "${FILESDIR}"/ldconfig.in "${T}" || die + sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die + into / + dosbin "${T}"/ldconfig + into /usr + dobin "${T}"/getconf + dobin "${T}"/getent + dobin "${T}"/iconv + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die + doenvd "${T}"/00musl || die + fi +} + +pkg_postinst() { + is_crosscompile && return 0 + + [ "${ROOT}" != "/" ] && return 0 + + ldconfig || die + # reload init ... + /sbin/telinit U 2>/dev/null +} diff --git a/sys-libs/obstack-standalone/Manifest b/sys-libs/obstack-standalone/Manifest index 6d74dfb0687b..a25352126fd7 100644 --- a/sys-libs/obstack-standalone/Manifest +++ b/sys-libs/obstack-standalone/Manifest @@ -1,3 +1,3 @@ DIST obstack-standalone-1.1.tar.gz 11561 BLAKE2B c6eba8ed7e235dcdefcfa7244d6318c6ac4d4b6d12a8f4778753bbc762ec98439724e1e8bbba4b1a04fbbafe56a1634bbb1c604c4d5f30574da39c82d52ca1c1 SHA512 e3a9956133d72a00663cf8d9720e62002142e113e7d67e2338a2bce1bdfac9eefd4290db8add15eabafdf01065f7fe9bb6754faa36b88df819c53d44fa140757 -EBUILD obstack-standalone-1.1.ebuild 765 BLAKE2B ced2f92e65ac03be6118ff6061f1a5b6c84b391015af8f47c3d00a60a2ec5162bb9b63bff9c84f007a1ef954afaf7051d85b6e8ed61bde62ef03cbe158ea10f3 SHA512 c2ce1847c1f8188646320c5d544ecf3f913ff4a3adb9ffb7210ad9a50e7db05cafd510c1175f1350fa173a6dcf51c416d6d5b68f944a4db7359e46516b601fc1 +EBUILD obstack-standalone-1.1.ebuild 768 BLAKE2B 649eb3b4fa5d5f72743b173c529a691078d6003a4cf4442de424f6d45b70c260deff7be13c8e0c0471a1c78b1293440ef37adccf73c1a32843633cb64fee65ad SHA512 62923c33708a70140ee00f9bb7749c50200a154499654898d1fd96c8d681574e22928b06eae4ab7e461a5119f888673f0290e38070cc1363e1a255778ccf8a00 MISC metadata.xml 338 BLAKE2B 7bcad55fd6a890dfba57ca1939daf33f3c2ccaeb892534a737bedc18b2737111e448ff29d2e3e3df68c9ec33447bb5b636a7d89d000b782e16bcbbb3db76e89d SHA512 6f45a428f15b9409ed7870393cc691f816484c47852dc76dfe64a46e4261beaf3a88ecabf0e42679265fdaad5c5b7321ae19df762e213d0102dcead5d1ab0797 diff --git a/sys-libs/obstack-standalone/obstack-standalone-1.1.ebuild b/sys-libs/obstack-standalone/obstack-standalone-1.1.ebuild index 8a82593f24b2..c8c0ab0c8e2a 100644 --- a/sys-libs/obstack-standalone/obstack-standalone-1.1.ebuild +++ b/sys-libs/obstack-standalone/obstack-standalone-1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/pullmoll/musl-obstack/archive/v${PV}.tar.gz -> ${P}. LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm ~mips ppc x86" +KEYWORDS="amd64 arm arm64 ~mips ppc x86" IUSE="static-libs" DEPEND=" diff --git a/sys-libs/talloc/Manifest b/sys-libs/talloc/Manifest index a9616d2d17c2..44046cca4662 100644 --- a/sys-libs/talloc/Manifest +++ b/sys-libs/talloc/Manifest @@ -5,9 +5,9 @@ DIST talloc-2.1.5.tar.gz 436193 BLAKE2B 88a9ca32b6c6ae869e1761cb027847797e4ef3bb DIST talloc-2.1.9.tar.gz 440335 BLAKE2B dde37d99b3cfb63209cdb832444f0416b7c05151cec537e220e13b1148d59b89fb712b4211e078b23f1c6608c8be6df6055d5f394b091ccdea3966c04cbb73be SHA512 a8f051bb15aba769ca286acad0946605d0053b0d149b4da2e6ecc333345f3e603d13a7f062452ae0f165615a4170ebdd7f41fc1b46c7a360000d5308bc304cbb DIST talloc-2.2.0.tar.gz 633467 BLAKE2B efdb53dbd4d43ce5d682faec01fb53d9c4b5dd7e97cf125e12661e7432bb968f577416cccbd8ee5003811bdd03dcc949b2e7a06312c497fb9eef54667209a653 SHA512 e762c6443ff2c0c35a9dbf7ac6e64a9182c04a218ad0f26fd67ac9620d9ae26d68b8dd2b21ff37e1df0e53748c84bece27890c5c4939eaeb61c502a698802388 EBUILD talloc-2.1.14.ebuild 2430 BLAKE2B 5e2ca4140dfcc1945ea82cef4b82b93d1a4b1ec3940f6e3dca2008ad74d44dbd3feec75382eb7466fbd91a35d8651e096b47f172dd64fed418bb534183d31595 SHA512 c30e991c5e6807d8e068af531976247d958b5754183ed73679fba4bfcf4d0e6ae49c6a2bea16ac1b63d58f64f6e3957af915017d2f81e22d2f932ff73d5fdeb1 -EBUILD talloc-2.1.15.ebuild 2515 BLAKE2B eaa84b32abf9632a2ce0d1f9ea9707644a88e38843278a2094050c7a148465e79dae22a856caeb5340f367f7b6e1a36f23c4b3637ad3ee95ce9ec66518c4641e SHA512 8798ac4e1b8effbedae426aa04a0a890da2abb3a51800da7971a4fa848836e1b55f432938da77ebda42a4e114a55229c831976d917cd1f08b626007e02d0d796 -EBUILD talloc-2.1.16.ebuild 2515 BLAKE2B eaa84b32abf9632a2ce0d1f9ea9707644a88e38843278a2094050c7a148465e79dae22a856caeb5340f367f7b6e1a36f23c4b3637ad3ee95ce9ec66518c4641e SHA512 8798ac4e1b8effbedae426aa04a0a890da2abb3a51800da7971a4fa848836e1b55f432938da77ebda42a4e114a55229c831976d917cd1f08b626007e02d0d796 +EBUILD talloc-2.1.15.ebuild 2513 BLAKE2B e964cab897cdb8c81026453b5e93be852bfbc18bd905e1cc33d8fb6ce385cf9d29792f373da0158e54812a100e4c501d46115dedf59dc6f13be1792387fa279a SHA512 c3cfa0e4680e6d6c34d79e4e569f92fc719cbff4763ccaeafd31f495308a1f2849b0fcf4dde853089dbd7850236fccf164d91d647cccadf07dd620d164298400 +EBUILD talloc-2.1.16.ebuild 2513 BLAKE2B e964cab897cdb8c81026453b5e93be852bfbc18bd905e1cc33d8fb6ce385cf9d29792f373da0158e54812a100e4c501d46115dedf59dc6f13be1792387fa279a SHA512 c3cfa0e4680e6d6c34d79e4e569f92fc719cbff4763ccaeafd31f495308a1f2849b0fcf4dde853089dbd7850236fccf164d91d647cccadf07dd620d164298400 EBUILD talloc-2.1.5.ebuild 2282 BLAKE2B 9e895c62d6c90cf1556167492fdf5b3b4c08c138d7ee587ab8bedbeca5b5d01058022ed1c3eefc501dfb1a73bfb08757c6fdd199093f23be56f27c6ec44cb46e SHA512 8fbcffaa4ed36ae6dc507344f67dccbcf971baafdc71bde8b374ee60db36d7f5798a3278f62454bc15bee84f0505b336272b2823cd3002a74d185cefb5037806 EBUILD talloc-2.1.9.ebuild 2464 BLAKE2B 45c4b0941d72cca82bc5b1ed376cdc55268b064ea5de412e19aff23c7c230b00997ed8673637025a4377283de06646e02bcd5df1047018a493f8ba10d4a42eb5 SHA512 2cfcbe1828a508e6e0c4ea0136f1896e7767c2e8a7493c28c269cfe7ce52e24c97e238946ded2aafbc43a36520010bd7351e5b98a693ca411d0dd6d686337138 -EBUILD talloc-2.2.0.ebuild 2515 BLAKE2B eaa84b32abf9632a2ce0d1f9ea9707644a88e38843278a2094050c7a148465e79dae22a856caeb5340f367f7b6e1a36f23c4b3637ad3ee95ce9ec66518c4641e SHA512 8798ac4e1b8effbedae426aa04a0a890da2abb3a51800da7971a4fa848836e1b55f432938da77ebda42a4e114a55229c831976d917cd1f08b626007e02d0d796 +EBUILD talloc-2.2.0.ebuild 2512 BLAKE2B f1763de75a80391aca00a0e5638a2fa7a8b68f0ed0f6fddf4964b77c1b60070771bd9dbfe1837d9599c41c8bff902980114e039c981823351a8415ca1e3526d9 SHA512 bdad6f5dd0eab73a5cbb8a4ce28bec3a83cc71d2702de6b1a44c6ba1a4fdf095cc7c5a4d9b9b3cbc69d366f2ac5f4d870f7dec11337e967a9ff9b94a3e3ff1a5 MISC metadata.xml 439 BLAKE2B 06eae26083fdab237958e15ac7e59ae728e1741eef080e2dbd47a9725a88f9120bfd03bcd98ec32a84bf8ee69d5721c7f3978c2c11d018136647d8f1778a1ab8 SHA512 e583aa7aa9a641067b3b38bf398ad6266980ee961e11d81b5d7c6d32cb8948879e27777a33a72376f79beca6f71aa79613db65049e6a1221922869239de9ccf3 diff --git a/sys-libs/talloc/talloc-2.1.15.ebuild b/sys-libs/talloc/talloc-2.1.15.ebuild index a25601605357..077f0c05371a 100644 --- a/sys-libs/talloc/talloc-2.1.15.ebuild +++ b/sys-libs/talloc/talloc-2.1.15.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils python-single-r1 multilib multilib-minimal diff --git a/sys-libs/talloc/talloc-2.1.16.ebuild b/sys-libs/talloc/talloc-2.1.16.ebuild index a25601605357..077f0c05371a 100644 --- a/sys-libs/talloc/talloc-2.1.16.ebuild +++ b/sys-libs/talloc/talloc-2.1.16.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils python-single-r1 multilib multilib-minimal diff --git a/sys-libs/talloc/talloc-2.2.0.ebuild b/sys-libs/talloc/talloc-2.2.0.ebuild index a25601605357..655eba6669f0 100644 --- a/sys-libs/talloc/talloc-2.2.0.ebuild +++ b/sys-libs/talloc/talloc-2.2.0.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils python-single-r1 multilib multilib-minimal @@ -14,7 +14,7 @@ SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz" LICENSE="GPL-3 LGPL-3+ LGPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris" IUSE="compat +python" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sys-libs/tdb/Manifest b/sys-libs/tdb/Manifest index 380b8e2c6c0e..1c79addd1c83 100644 --- a/sys-libs/tdb/Manifest +++ b/sys-libs/tdb/Manifest @@ -6,8 +6,8 @@ DIST tdb-1.3.8.tar.gz 494106 BLAKE2B 3ac4418b642472859c37c20477ffcc255be6e435b84 DIST tdb-1.4.0.tar.gz 696994 BLAKE2B f1dc29d3a66bd898f0e69f195879aea56235c1b6f542c532b4335d87482a5a2d8a8bc9bd5b463a0a110431535a2b0ccebb779449536696e0b5aa7ea5f3bce02c SHA512 3c5e17f8011e61e855a745dbff18ba9f778534f34e1538a68c8854d8d1022494bcc3bf7a19f2b79c478e091b1b6b183723fe27b935c4cc6d058b6b147b6a325e EBUILD tdb-1.3.13.ebuild 1391 BLAKE2B 4be42a42cdd19e1d7dd1daae48a4267deb895ef0063d17f8676be06cb107215bfcc8623096e3b3e27d100723c58941f24c8d53c4b377f14b7e39592c5b6ffe69 SHA512 313984b1ffbdd4a200b5de2af741d4fd11e3bf31f9410776e704b5d3bbf4bbc36fe68fb32d2fd713967d74668f3f92eed5b0754780e319232e117cb18d611d1e EBUILD tdb-1.3.16.ebuild 1389 BLAKE2B 5f6494bd3e56a9c96dc447edfbec6206787fc7eb52864936b2b75129e4979da5ed69f9d8d6fd6a9d7e2d8c74d582914f8cdb4994a692e41088f2346e77946362 SHA512 9ccbb9835ae04502d62ed3a36d397ef903938564a05bf83a9bb2ad564b45739076504ec17ba63053567c012d04beec1602f3c53a2d48438f3d82b55ab6014df4 -EBUILD tdb-1.3.17.ebuild 1417 BLAKE2B 68ebca665743d15a411bf80d902963f9bfa41b2ac37f0e76498364eddc7ffaa68bae1a454d8dc1bb60652256592b4ed38fe7bb2ee7797754ef71df089b896856 SHA512 9ed23c46fa1052e58865233247ff480f311fb817442abfe7b8289612a0532dc3c8dc468b72cc383c7520946fe530354c2b48c4a1f4e6dcd4e48d372597a792b0 -EBUILD tdb-1.3.18.ebuild 1417 BLAKE2B 68ebca665743d15a411bf80d902963f9bfa41b2ac37f0e76498364eddc7ffaa68bae1a454d8dc1bb60652256592b4ed38fe7bb2ee7797754ef71df089b896856 SHA512 9ed23c46fa1052e58865233247ff480f311fb817442abfe7b8289612a0532dc3c8dc468b72cc383c7520946fe530354c2b48c4a1f4e6dcd4e48d372597a792b0 +EBUILD tdb-1.3.17.ebuild 1415 BLAKE2B 6d8e4445727e2fc2cdb1fecc26d3812a6597bb4653d3f0d644d598c55ee259783c21b4eb219634b109f3c8ad47faf61c29a54e016daa7d31ee33a800166202f7 SHA512 cd39f0acdf6398778682ece69c604a91560a0145cb3a4048791df21987c635489cb1698d96e8f12954dcd3e5549edb6ee2f6df9b0f4722c79a469ccb91877693 +EBUILD tdb-1.3.18.ebuild 1415 BLAKE2B 6d8e4445727e2fc2cdb1fecc26d3812a6597bb4653d3f0d644d598c55ee259783c21b4eb219634b109f3c8ad47faf61c29a54e016daa7d31ee33a800166202f7 SHA512 cd39f0acdf6398778682ece69c604a91560a0145cb3a4048791df21987c635489cb1698d96e8f12954dcd3e5549edb6ee2f6df9b0f4722c79a469ccb91877693 EBUILD tdb-1.3.8.ebuild 1388 BLAKE2B 0367256f62c3f53f3e48ca2368290308a5aa08ab3868ac865364aa7c3d65395c2e3afe7f865797e41559fd76b77d310b5ed983ba87cb7b78ab87101f12dca16a SHA512 205a7f0fd792057f9c6777b3efc43e6f5afbc5f0a6a33613353eaa7398fd43a12e471952128abfe05df7523b45327e5cea8c42c211d3700091685bd4f900b5cb -EBUILD tdb-1.4.0.ebuild 1417 BLAKE2B 68ebca665743d15a411bf80d902963f9bfa41b2ac37f0e76498364eddc7ffaa68bae1a454d8dc1bb60652256592b4ed38fe7bb2ee7797754ef71df089b896856 SHA512 9ed23c46fa1052e58865233247ff480f311fb817442abfe7b8289612a0532dc3c8dc468b72cc383c7520946fe530354c2b48c4a1f4e6dcd4e48d372597a792b0 +EBUILD tdb-1.4.0.ebuild 1414 BLAKE2B ea602298422a15bb79a67d5306994aaf621f79e82e21bbe8ae8ac166b58c6ab18df90d5284ba67bffd65c9c291dfb585c54829db36eb533056a8cfc4aed2438c SHA512 81488f28112855b8c341b9331b95f2c63f19bc7ceb7541640682b404e129b70067dba293461ff5425d0d5a343cc155949b21f0409500ec2e9f71976775f38785 MISC metadata.xml 356 BLAKE2B 89cee65fc3e653bd568f34339d7d5e4ca0486ea124b175c88a966dde42a4128789669f2e0179e8d3ee2e4eb3df90f9de95441c3f2d61f3bdf47c1d87c95e1248 SHA512 59095952e57315232ef95494f2c30f520f13538f279df25f17a923a836194c4df78e11a03ff6fab814c1db1fe5a81cae2cf20988d77ef30e0c0d47f9a74f01cb diff --git a/sys-libs/tdb/tdb-1.3.17.ebuild b/sys-libs/tdb/tdb-1.3.17.ebuild index 3d563d7d956e..8e8d3ce12a4b 100644 --- a/sys-libs/tdb/tdb-1.3.17.ebuild +++ b/sys-libs/tdb/tdb-1.3.17.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 diff --git a/sys-libs/tdb/tdb-1.3.18.ebuild b/sys-libs/tdb/tdb-1.3.18.ebuild index 3d563d7d956e..8e8d3ce12a4b 100644 --- a/sys-libs/tdb/tdb-1.3.18.ebuild +++ b/sys-libs/tdb/tdb-1.3.18.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 diff --git a/sys-libs/tdb/tdb-1.4.0.ebuild b/sys-libs/tdb/tdb-1.4.0.ebuild index 3d563d7d956e..34fec6070bec 100644 --- a/sys-libs/tdb/tdb-1.4.0.ebuild +++ b/sys-libs/tdb/tdb-1.4.0.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 @@ -14,7 +14,7 @@ SRC_URI="http://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" IUSE="python" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sys-libs/tevent/Manifest b/sys-libs/tevent/Manifest index 699058479b2c..f89e5d51bc99 100644 --- a/sys-libs/tevent/Manifest +++ b/sys-libs/tevent/Manifest @@ -4,10 +4,10 @@ DIST tevent-0.9.31.tar.gz 587784 BLAKE2B 0e562600ae8ba4dae194b1a28a020f5618b1566 DIST tevent-0.9.37.tar.gz 603859 BLAKE2B 2210416b09c3f83cf68a9f686d1d582891cd22b4547eb0e5237288dca6a0b94619769060c541e0cfc3ccce79246b1140875109934e009015b8e04a31a94d6792 SHA512 5d4833403e1c2f2749f00a389e4757261a4f22cd3a67c906001b36a8b622cc68a38e86d4eb475848a2121ebba054a7e7dac7f486d9f2906a401c3cc97fb447f4 DIST tevent-0.9.38.tar.gz 794856 BLAKE2B 1198de5e68cec39bac3931aa5c26ee26aa5fd713d9cbc72bd90d5dd9c787d617d17c57d8393a845800168452cd8092d38ddc480d3bbe176dfe364d6c9a211094 SHA512 f475a7b7c261368bd641992c8f657c081bbbe783535ff435a7b68f7749d0e5873d57d05cf6ce80a28ccc9f11033022d28e9ae357b03854109c2c279a003d2035 DIST tevent-0.9.39.tar.gz 795796 BLAKE2B a352d2730f4d480f18559ac01b82354914ebf3ced0438bc6813e8cddc8e2ac1a5bcd867a00441cf243753daa299b6e61ad6328d5e3f7370483f01d468d7e2621 SHA512 72f48493aa3ef2efb78fa4e8cbeca8a66871e6835b51307ce08864ed0a778ccfd5f62d6768099f06680915375ee78c3b889514e247bcfe797889f16388c321b0 -EBUILD tevent-0.10.0.ebuild 1661 BLAKE2B dfcbdde5dc018cbb0d7cfb918370707c80811ad183d5272dfd44e10e9939b4ac261d963789dc1c3b0c394380a357a0a966f8261434eb43c25996dd1de6bba4d1 SHA512 28a79bcadbe4ca57c2fa1eb11ffa37d4de9e3d228223d22d9dcd35a97d2f21fe276f57f960578a3fc75179916d580ebe1b1b5d7c755be1b3bffa623469d1cd49 +EBUILD tevent-0.10.0.ebuild 1658 BLAKE2B c629f184dc7b7a3211e24ce6589a54629f9937c25e26d54d914af5b1e82e8407ecbe5dda54479c9f463a58e1a6bf7d7d34e9860367a0c5b52c16234acede7b1a SHA512 83611a0f9ce82f0843acb806c81c20b2a020ecb7a7ccf9767d3408913aff576e2f2e4a3babbe40e77451af8015427263feb7dc2ddbe3f2b16ad8615e587e843d EBUILD tevent-0.9.28.ebuild 1351 BLAKE2B 5f8842ad3a96cf6b876ac5eaff3db571a3f3618a52086ec40ed2f0ffec40d2a75a9e2407a168439b3889ba33398c6d614d81733e4623802e061f40ad8b4523b1 SHA512 f5ff723d46ca75a3f422130b67b1ae2c5012a976719e91ef3067de9d12ebb88a868a179ca8733db40860b0673a9813d693ee0d5dc48b137d7956ebb821cc74d1 EBUILD tevent-0.9.31-r1.ebuild 1430 BLAKE2B 3a523b7520a21ca164cd29e6da78eaae0fbeb16258674d465ace09a1be0a0b30c25489f34257e4ca69a54568c411ec05fc6569921b0bc119f04f8a6b96a6c745 SHA512 335b5b67361f7013b33fbc1283e370b25c6efaa1c24c07be06165e98c74cdc16aed85351f11333bd64d4600ab639b3a3a89125ba5e8210b27ef90988a5f5ce9a EBUILD tevent-0.9.37.ebuild 1633 BLAKE2B 29c029aa6ad7e9749c29039a134187be86ec11368cc91866b4b1964757f86db30cfa11e71587e895b74ce5a3e81b876372ca5ed4ea9507fae09076313813614e SHA512 65bed6bcf4d39181d92b2a13f10dc6ad3ae153e824a4542483d49d8efac618ff9b9b3049a22981e25fdc62e70ff12a4ca10fc379bcccf9ddc676a17c4271f328 -EBUILD tevent-0.9.38.ebuild 1662 BLAKE2B c7b6f0510acc7ab6795584b05143411f973637abca053d459924fb6669676bfa346ad85c586c8f051c0fbc7221307b479b2d8606fe725ea62f692fe5f7c71588 SHA512 8fabc50bc4bf75b863bc1cc54207be51beb28880173d5a0aeab7144f6b820de1c6ce863c9b70399b910118d297e41554e8b500fd45a4e504b4e44e5fcc1cc863 -EBUILD tevent-0.9.39.ebuild 1662 BLAKE2B 96d85e7ebb39f85fcee9fd6dfc9541eeb2d41e6a9ff23bde3cb56ba31c595eda9555456ae9bf2bd9f22dbdfff2df655680ec0612bf5e5f7d3b886d27e5b75652 SHA512 f26a716da4b39958eff7ee4d819908871217483931cd777e47f6542266f23106f82366733eacf16daf2e17a3573ccbcd8f28ead3707204ea542e997efe04569a +EBUILD tevent-0.9.38.ebuild 1660 BLAKE2B 860ef27adcf90e99752891df2d3f465f3c8aaf9258e9d257c8c114416c2913d0b814786937207957f7042464db277d689e8ae56a0accf7fb557f537cc23c2f0b SHA512 0ebe4a9647977d8a0ac7aa7b85ec475465d04388fb3b189affb6c1d046d1b92a66104454c28372fdc8e4cdb831eca8fb5c731498f07adbf523891e06a1510606 +EBUILD tevent-0.9.39.ebuild 1660 BLAKE2B d1755e17c2b4e8fc27c9d12c9833912c4045d1bf74d4b9217856bf309d656e5028c08b1f2cf4b9328c98524cb8f6dfa3b126449778eadd2a8d301362f9e155b8 SHA512 6e2fd65bec0f7f9e2f81a1ea4ccbf0c5a0cab215937d6da56d3be2a387d6ca742a5210a5e68d6d51581c8af51ec2fa597a4961754f9fc16aac699d6ed4e869c4 MISC metadata.xml 345 BLAKE2B 2b19478c92e6a2e49d4421494986bf139e3e130ee9486f8ee2a208ac91db84662fee1b5ced560b29c926e6ab1c07752a4d6679582f220c50713c3b1dc2aa2e6b SHA512 35515a1369eeb1e4949415f8571fc54e7546ac83a59b506e04dc795f0a9b4cb06d7c8e1785577c20ca398fd87543f1742d9d4267fc09320503835bad1fc36cf5 diff --git a/sys-libs/tevent/tevent-0.10.0.ebuild b/sys-libs/tevent/tevent-0.10.0.ebuild index 1dbde59bc7a5..4dfc6c59d638 100644 --- a/sys-libs/tevent/tevent-0.10.0.ebuild +++ b/sys-libs/tevent/tevent-0.10.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 @@ -13,7 +13,7 @@ SRC_URI="https://www.samba.org/ftp/tevent/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" IUSE="elibc_glibc python" RDEPEND="!elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) diff --git a/sys-libs/tevent/tevent-0.9.38.ebuild b/sys-libs/tevent/tevent-0.9.38.ebuild index 5f1718624ce4..d5dee6633a53 100644 --- a/sys-libs/tevent/tevent-0.9.38.ebuild +++ b/sys-libs/tevent/tevent-0.9.38.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 diff --git a/sys-libs/tevent/tevent-0.9.39.ebuild b/sys-libs/tevent/tevent-0.9.39.ebuild index c49c0a7b4721..cc643307f670 100644 --- a/sys-libs/tevent/tevent-0.9.39.ebuild +++ b/sys-libs/tevent/tevent-0.9.39.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_COMPAT=( python3_{5,6,7} ) PYTHON_REQ_USE="threads(+)" inherit waf-utils multilib-minimal python-single-r1 diff --git a/sys-libs/zlib/Manifest b/sys-libs/zlib/Manifest index fb4f79c56276..9e4d73138ed0 100644 --- a/sys-libs/zlib/Manifest +++ b/sys-libs/zlib/Manifest @@ -1,7 +1,5 @@ AUX zlib-1.2.11-fix-deflateParams-usage.patch 2937 BLAKE2B 42fcb91b99b004921dce12b4e71c12c62e80d50243a1cec97522dbaa1cf5fb09cf701e9f988bddd0470c3dafe743d42e60b9ac6903afb2185859d62b1fdf78bc SHA512 9b949d894be2bbb60d687820e79d7a02e733e8426e6602482f3a3902fca3571bbfba38ddd84a88f5a093fdb25ac90e4076905d19b86ab70ebce6e250fd118286 AUX zlib-1.2.11-minizip-drop-crypt-header.patch 997 BLAKE2B a964dfb26d05045507cb2ebf1154b890782d9952288627dd5093eeeaed9265a6041922e9fef378333ad3b9ac2333d692b06db1d6425df25d6062b9fc42ec8c50 SHA512 158c4b711e8afc248cbd55f2057dede18540ad35ec1a47d0cfb0fe9bf10b1507bb1b4525badcc0a8b6505062d838ee4fb2d4ebfbf9c9d1694336a704bc0b690e DIST zlib-1.2.11.tar.gz 607698 BLAKE2B 6bfc4bca5dcadba8a0d4121a2b3ed0bfe440c261003521862c8e6381f1a6f0a72d3fc037351d30afd7ef321e8e8d2ec817c046ac749f2ca0c97fbdc2f7e840b7 SHA512 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae -EBUILD zlib-1.2.11-r1.ebuild 3029 BLAKE2B 7264674176992d231b0e70a7511de1e44f29f57b4facf4c6774854235c0fa0c1a29b11aa8ca7dde025c1990a88489a620d1d012a9634d82d9b75353fd19b5845 SHA512 be364c4b76bbbfe15de428a72bad82575078e1e4ebbfbaecafe7c409bcaece2e03d85415364abc5e4cd959ef602189dc21433196ed94c301f47306afddb67af2 EBUILD zlib-1.2.11-r2.ebuild 3106 BLAKE2B e7dad456bf69ec2819455a83f2e04cd59c380beee4de2259e2475c0dbd6bed88e983c7b6804a29e22ccfe75ddf148fe29623ed2a6b15670e9ff30aae52641b08 SHA512 779c50acda9bb5e5257d539025753eaa9a6d4489e69720ee4ebfe37a3307e7e2b953d04f8fe9f9c7b4e99ffb58e9dfa1032d77a1002782172b821cca5e4edfc3 -EBUILD zlib-1.2.11.ebuild 2963 BLAKE2B 73b5a86f22babd1b34c8f4a4941114094c948e52ea0e31b092878a5c566e931ecaada4344ba8f038fe7808f9949da32bd9bd5710025195343a650f36d2b0b912 SHA512 851835307c49a56e87c1b741b00a2c69d904978cccf0f236cf09c58169b7ee638e2694797a867825096f94eb77d96f400d6bdd01d78d767e3ec41e91ba3521e5 MISC metadata.xml 432 BLAKE2B 80b2aa4dbc687fa23b3e64f12af789d2b1f308ccba611de152efde3008a5b6f66ee56121c2c4846a482e426c78e5f921ee7cf9b196c28504ee0de420725a6239 SHA512 947d4b2035ab49c42f6141f14553f1e8f4796b4ddc24c6a4f071ac2300eb120648dd03eef49773295d3e3f30cd9d3cbb391bde798dacf1187b46ff75abd59420 diff --git a/sys-libs/zlib/zlib-1.2.11-r1.ebuild b/sys-libs/zlib/zlib-1.2.11-r1.ebuild deleted file mode 100644 index aeddd1a694db..000000000000 --- a/sys-libs/zlib/zlib-1.2.11-r1.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -AUTOTOOLS_AUTO_DEPEND="no" - -inherit autotools toolchain-funcs multilib multilib-minimal - -DESCRIPTION="Standard (de)compression library" -HOMEPAGE="https://zlib.net/" -SRC_URI="https://zlib.net/${P}.tar.gz - http://www.gzip.org/zlib/${P}.tar.gz - http://www.zlib.net/current/beta/${P}.tar.gz" - -LICENSE="ZLIB" -SLOT="0/1" # subslot = SONAME -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd" -IUSE="minizip static-libs" - -DEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )" -RDEPEND="! zlib.pc || die - ;; - *) - emake - ;; - esac - use minizip && emake -C contrib/minizip -} - -sed_macros() { - # clean up namespace a little #383179 - # we do it here so we only have to tweak 2 files - sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die -} - -multilib_src_install() { - case ${CHOST} in - *-mingw*|mingw*) - emake -f win32/Makefile.gcc install \ - BINARY_PATH="${ED}/usr/bin" \ - LIBRARY_PATH="${ED}/usr/$(get_libdir)" \ - INCLUDE_PATH="${ED}/usr/include" \ - SHARED_MODE=1 - # overwrites zlib.pc created from win32/Makefile.gcc #620136 - insinto /usr/$(get_libdir)/pkgconfig - doins zlib.pc - ;; - - *) - emake install DESTDIR="${D}" LDCONFIG=: - gen_usr_ldscript -a z - ;; - esac - sed_macros "${ED}"/usr/include/*.h - - if use minizip ; then - emake -C contrib/minizip install DESTDIR="${D}" - sed_macros "${ED}"/usr/include/minizip/*.h - fi - - use static-libs || rm -f "${ED}"/usr/$(get_libdir)/lib{z,minizip}.{a,la} #419645 -} - -multilib_src_install_all() { - dodoc FAQ README ChangeLog doc/*.txt - use minizip && dodoc contrib/minizip/*.txt -} diff --git a/sys-libs/zlib/zlib-1.2.11.ebuild b/sys-libs/zlib/zlib-1.2.11.ebuild deleted file mode 100644 index a7d2cb8d2a9b..000000000000 --- a/sys-libs/zlib/zlib-1.2.11.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -AUTOTOOLS_AUTO_DEPEND="no" - -inherit autotools toolchain-funcs multilib multilib-minimal - -DESCRIPTION="Standard (de)compression library" -HOMEPAGE="https://zlib.net/" -SRC_URI="https://zlib.net/${P}.tar.gz - http://www.gzip.org/zlib/${P}.tar.gz - http://www.zlib.net/current/beta/${P}.tar.gz" - -LICENSE="ZLIB" -SLOT="0/1" # subslot = SONAME -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd" -IUSE="minizip static-libs" - -DEPEND="minizip? ( ${AUTOTOOLS_DEPEND} )" -RDEPEND="! zlib.pc || die - ;; - *) - emake - ;; - esac - use minizip && emake -C contrib/minizip -} - -sed_macros() { - # clean up namespace a little #383179 - # we do it here so we only have to tweak 2 files - sed -i -r 's:\<(O[FN])\>:_Z_\1:g' "$@" || die -} - -multilib_src_install() { - case ${CHOST} in - *-mingw*|mingw*) - emake -f win32/Makefile.gcc install \ - BINARY_PATH="${ED}/usr/bin" \ - LIBRARY_PATH="${ED}/usr/$(get_libdir)" \ - INCLUDE_PATH="${ED}/usr/include" \ - SHARED_MODE=1 - # overwrites zlib.pc created from win32/Makefile.gcc #620136 - insinto /usr/$(get_libdir)/pkgconfig - doins zlib.pc - ;; - - *) - emake install DESTDIR="${D}" LDCONFIG=: - gen_usr_ldscript -a z - ;; - esac - sed_macros "${ED}"/usr/include/*.h - - if use minizip ; then - emake -C contrib/minizip install DESTDIR="${D}" - sed_macros "${ED}"/usr/include/minizip/*.h - fi - - use static-libs || rm -f "${ED}"/usr/$(get_libdir)/lib{z,minizip}.{a,la} #419645 -} - -multilib_src_install_all() { - dodoc FAQ README ChangeLog doc/*.txt - use minizip && dodoc contrib/minizip/*.txt -} -- cgit v1.2.3