From 80208fb578cf92cc308906660ca6d7860c6b2a1f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 9 Mar 2018 16:53:27 +0000 Subject: gentoo resync : 09.03.2018 --- sys-libs/Manifest.gz | Bin 15611 -> 15590 bytes sys-libs/binutils-libs/Manifest | 2 +- .../binutils-libs/binutils-libs-2.29.1-r1.ebuild | 4 +- sys-libs/compiler-rt-sanitizers/Manifest | 10 +- .../compiler-rt-sanitizers-6.0.0.ebuild | 156 +++ .../compiler-rt-sanitizers-6.0.0_rc3.ebuild | 155 --- .../compiler-rt-sanitizers-6.0.9999.ebuild | 5 +- .../compiler-rt-sanitizers-9999.ebuild | 5 +- sys-libs/compiler-rt/Manifest | 8 +- sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild | 109 ++ sys-libs/compiler-rt/compiler-rt-6.0.0_rc3.ebuild | 108 -- sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild | 5 +- sys-libs/compiler-rt/compiler-rt-9999.ebuild | 5 +- sys-libs/db/Manifest | 22 +- sys-libs/db/db-5.1.29-r1.ebuild | 6 + sys-libs/db/db-5.3.28-r2.ebuild | 6 + sys-libs/db/db-5.3.28-r3.ebuild | 6 + sys-libs/db/db-6.0.35-r1.ebuild | 6 + sys-libs/db/db-6.0.35.ebuild | 6 + sys-libs/db/db-6.1.29-r1.ebuild | 6 + sys-libs/db/db-6.1.29.ebuild | 6 + sys-libs/db/db-6.2.23-r1.ebuild | 6 + sys-libs/db/db-6.2.23.ebuild | 6 + sys-libs/db/db-6.2.32-r1.ebuild | 6 + sys-libs/db/db-6.2.32.ebuild | 6 + sys-libs/e2fsprogs-libs/Manifest | 4 +- .../e2fsprogs-libs/e2fsprogs-libs-1.43.8.ebuild | 70 - .../e2fsprogs-libs/e2fsprogs-libs-1.44.0.ebuild | 70 + sys-libs/fts-standalone/Manifest | 2 +- .../fts-standalone/fts-standalone-1.2.7.ebuild | 4 +- sys-libs/gdbm/Manifest | 2 +- sys-libs/gdbm/gdbm-1.13-r2.ebuild | 2 +- sys-libs/glibc/Manifest | 6 +- sys-libs/glibc/glibc-2.19-r2.ebuild | 1393 ++++++++++++++++++++ sys-libs/glibc/glibc-2.25-r10.ebuild | 2 +- sys-libs/glibc/glibc-2.25-r11.ebuild | 154 +++ sys-libs/libcxx/Manifest | 8 +- sys-libs/libcxx/libcxx-6.0.0.ebuild | 199 +++ sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild | 198 --- sys-libs/libcxx/libcxx-6.0.9999.ebuild | 5 +- sys-libs/libcxx/libcxx-9999.ebuild | 5 +- sys-libs/libcxxabi/Manifest | 10 +- sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild | 100 ++ sys-libs/libcxxabi/libcxxabi-6.0.0_rc3.ebuild | 100 -- sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild | 4 +- sys-libs/libcxxabi/libcxxabi-9999.ebuild | 4 +- sys-libs/libomp/Manifest | 10 +- sys-libs/libomp/libomp-5.0.1.ebuild | 2 +- sys-libs/libomp/libomp-6.0.0.ebuild | 115 ++ sys-libs/libomp/libomp-6.0.0_rc3.ebuild | 115 -- sys-libs/libomp/libomp-6.0.9999.ebuild | 4 +- sys-libs/libomp/libomp-9999.ebuild | 4 +- sys-libs/libsmbios/Manifest | 4 +- sys-libs/libsmbios/libsmbios-2.3.0-r1.ebuild | 76 -- sys-libs/libsmbios/libsmbios-2.4.1.ebuild | 77 ++ sys-libs/llvm-libunwind/Manifest | 10 +- .../llvm-libunwind/llvm-libunwind-6.0.0.ebuild | 92 ++ .../llvm-libunwind/llvm-libunwind-6.0.0_rc3.ebuild | 92 -- .../llvm-libunwind/llvm-libunwind-6.0.9999.ebuild | 4 +- sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild | 4 +- sys-libs/musl/Manifest | 2 +- sys-libs/musl/musl-1.1.19.ebuild | 2 +- sys-libs/readline/Manifest | 2 +- sys-libs/readline/readline-7.0_p3.ebuild | 2 +- sys-libs/slang/Manifest | 4 +- sys-libs/slang/slang-2.3.2.ebuild | 81 ++ sys-libs/slang/slang-2.3.2_pre23.ebuild | 81 -- sys-libs/uclibc-ng/Manifest | 10 +- sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild | 410 ------ sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild | 2 +- sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild | 410 ------ sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 2 +- sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild | 401 ++++++ 73 files changed, 3113 insertions(+), 1907 deletions(-) create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild delete mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0_rc3.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-6.0.0.ebuild delete mode 100644 sys-libs/compiler-rt/compiler-rt-6.0.0_rc3.ebuild delete mode 100644 sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.43.8.ebuild create mode 100644 sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.0.ebuild create mode 100644 sys-libs/glibc/glibc-2.19-r2.ebuild create mode 100644 sys-libs/glibc/glibc-2.25-r11.ebuild create mode 100644 sys-libs/libcxx/libcxx-6.0.0.ebuild delete mode 100644 sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild delete mode 100644 sys-libs/libcxxabi/libcxxabi-6.0.0_rc3.ebuild create mode 100644 sys-libs/libomp/libomp-6.0.0.ebuild delete mode 100644 sys-libs/libomp/libomp-6.0.0_rc3.ebuild delete mode 100644 sys-libs/libsmbios/libsmbios-2.3.0-r1.ebuild create mode 100644 sys-libs/libsmbios/libsmbios-2.4.1.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild delete mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-6.0.0_rc3.ebuild create mode 100644 sys-libs/slang/slang-2.3.2.ebuild delete mode 100644 sys-libs/slang/slang-2.3.2_pre23.ebuild delete mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild delete mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild create mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 281d48eb1f1e..5d4286586de2 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index b5942adcbc26..7359601a5e7d 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -11,6 +11,6 @@ DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f59 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 2922 BLAKE2B e7f2af611c5ad814d7d56d5e634a0742792e888f2b25766e0232942577346dbae715f0d1de4b201e0985fa96d601bf4830a9a41095c0b17c364b9b708deeb6fb SHA512 9a0f10ca491064805bebaa87a1f9a4808ed57da3b1aa0729e20b4a0fa143d535b9d3b6c58a882cfb7d0039ed36439b6bf8603cc140bbcd583a4a7c5ba7e7d73d +EBUILD binutils-libs-2.29.1-r1.ebuild 2921 BLAKE2B f38060716462c9c51bc84b98348b82952b6bb47cd33136d7eaaca822ba6e40504fad2b0c778a4a02989ca9e20f812d928d718295376141dd02e519e541a605a3 SHA512 8fc849244e3cdb9b1a35e9bed1f2e57e8bba210e6ab9aa7408904b5a04cc532dfff52a9840e866df5985f6b1d05c96ce7549c7514389a8dae9a4d5d798d48c8e EBUILD binutils-libs-2.30-r1.ebuild 3211 BLAKE2B 904a3ea6dcb1f24da2e2bcb8b586d41a7b9040eb6be9271ab8818737d231ea3626b812e69eb2bb5e97bb186624c88af132742c81a5bed1483980d69f434c72e9 SHA512 60ceaef881e24019d7785cd36d10f5983f0d3043d44c85d8a113237478ac6559beac59e57b9aed3765f68c6b3d381969214112d2ee1602bff11d9c35f5df517c MISC metadata.xml 524 BLAKE2B 6f00793b2dc155b19d816b8acfd49e6bfc2ae35418ecc97fbbd3f9d0ed08b5f95a299b28fe6edad1a66f4d64abe99dc8a62a974fd70e28b535cd366239bf1cca SHA512 9db7c7a3082ee848ec4963831da06cced596d543e53660747fb56ac33998c219e1d7252892ffc32132d7db3c99ce9746fb6d9e85f866c3cba97552c31948342c diff --git a/sys-libs/binutils-libs/binutils-libs-2.29.1-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.29.1-r1.ebuild index f458ff2ca5d6..c984fa829dc6 100644 --- a/sys-libs/binutils-libs/binutils-libs-2.29.1-r1.ebuild +++ b/sys-libs/binutils-libs/binutils-libs-2.29.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="5" @@ -19,7 +19,7 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.bz2 LICENSE="|| ( GPL-3 LGPL-3 )" # The shared lib SONAMEs use the ${PV} in them. SLOT="0/${PV}" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="64-bit-bfd multitarget nls static-libs" COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 7dcbaa6e7cb7..71e7f41435c9 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,13 +1,13 @@ DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.1.src.tar.xz 1498220 BLAKE2B 61503df8a4075c2fe1e42d480753b861321b5de127e340f48d648fc38d81c7967cead17e136beaa5235cc92540f158915fccec77cf39aa7c336d106c9d265222 SHA512 61e23775db78bdeed3003a509b45ae609287db31302fed186f3210d481ecf062d1828571e63482215ab00ff732df8f3fa6c77334dfb677e4b76eb555d476b8c4 -DIST compiler-rt-6.0.0rc3.src.tar.xz 1631896 BLAKE2B 888be613dab863d8c6918e668ad3cfdf1ee4282777a63bbecee8be6dd85c47e643ed1992299410d8920e6814a9ec2b71d4eb7dc79b91ec7aab3660e83cf98f2c SHA512 f2897fbf4b9f27c4ddd1dbdcd0720874e85eeb861d31422208308e6fe2142ae92dc081c06e5cc795fde6066e9a9c03e4e10373517810ca89e110ededc49c77ad +DIST compiler-rt-6.0.0.src.tar.xz 1633096 BLAKE2B d5df9b16ad474f687507013fb6eda8c7c3bbe479c85aab6ce428b93bbef2467538c0ba59c54dd9266b978da53c8c312a59e3b7abac843702048900f5cdbc1011 SHA512 717bed116ef43ebb2e18daf6fb737472edf57564947f53fe6368d3bbb080f63e986c0d1b94dbd087be998196ad7be54f4361854f8eb5214600b82449ba02c9c1 DIST compiler-rt-sanitizers-4.0.1-patchset.tar.xz 2384 BLAKE2B 6f9eee711c83570767f0bb634d0f91c18ee7f2af93a478938b8d5b6ce6f2c2fbaadb7bd5c7ee94a14dc1834359a046187db6bc7005b7c2efa539325dc0701ad9 SHA512 72d7357b4c27bbf8fa8b34803ddea905a9f1054e8fc7bf99a4ead9dc00408989ea2709f04be9cf45a27eeb4b9386c89feeb25b53a84f3cac9739196b89813887 DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10a10c29793538d8d899c7e2dc83d3f7b147d3fd4bcce2bd2bf57c071b08c624aeafe40a3e7a3914506e7751727e6c SHA512 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d DIST llvm-5.0.1.src.tar.xz 23428720 BLAKE2B 3db4d33df21018d17eef0042c0d8d82a8412bd5daa99cfb5405a6ec83c5774178fa76b220e8731c2a9a64dabf898aa90fe29c685327bd63a4f078e8e94a9a77e SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb -DIST llvm-6.0.0rc3.src.tar.xz 25295644 BLAKE2B 5832b3daefbbf043caaac38791eb95a321cbee82bfa12710e332ea14b8ee6d1fe81c4fcea19cdbabd24b89e338575e367bab481c47eb6a6bfbd6a926f02fe5b2 SHA512 9932debae40ced0137c1e1675fb91b996326c7eed1b67d1280bd2b0f5bd62e15d47c87d0e215fe29680cb628853c6a446587623a6f3312ce42612b2ac865e3cd +DIST llvm-6.0.0.src.tar.xz 25296048 BLAKE2B 7ea90bb63d6f26cfbc1c1ed2f243b0fcd8ad2ceb7963cf768d262cd55e9a0c71a9cfdea0333fb220faacf4540d924d2512532774dcfb52b52490ad74e38c09e0 SHA512 a71fdd5ddc46f01327ad891cfcc198febdbe10769c57f14d8a4fb7d514621ee4080e1a641200d3353c16a16731d390270499ec6cd3dc98fadc570f3eb6b52b8c EBUILD compiler-rt-sanitizers-4.0.1.ebuild 3840 BLAKE2B 72c9943e4bafed115dabfa2fa33a035af9259bc764e8ac6797a9fc7c62aa60110feba43305b25595b6819e7fab261edc2619113deb5ef5629d0b433fc788717a SHA512 1d0d63f67b71a718bf7ed8bb422659a1b83f7c5dddd7d5cf436d5e7c266eb5ffd9096a2653c18b5272c79d659b898ec9fe489ba94d8786cce7823acea11724a9 EBUILD compiler-rt-sanitizers-5.0.1.ebuild 4079 BLAKE2B 87863e4d0c754f6dacaa9a633c6fa97da803aabcad8be1ffa98c27e06e71d03c132fff3c34bbfda2b963f35ad8c9e9315dc08a8a63c489c0bb3a16b3b3646f7f SHA512 01f6dc8700713833961b223a82e9b0035701ef4a291b8ffb483e2b784ec345b5d58ccf84cd168dace95888260dd882a75b09e66b9c0f3001b826a91058a4508b -EBUILD compiler-rt-sanitizers-6.0.0_rc3.ebuild 4422 BLAKE2B 20f17d908c4a3b9aca0c3fa1a01724ea60e485cfd387bce169e848a2305bf231ecebae09cfa6c372038f93ef6e0014d5b88761e61325869e2efbe00fb18dad65 SHA512 03f1b2b2f1fe706773444ee186eba1a7c10d722ba8f321a81154d74e248652ca0aa095194d0843e317f6834fd0b9941234b70d51300a16db6c15aa52fd5bb372 -EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4444 BLAKE2B d06667426ca648d616ff3e856c55e470c134507e50b067c3b10e0e8da33ad223af1507c8f69c01185fdb22e061d2e23baffc8ae6661afc78b8ccd79c16c4ced1 SHA512 cd4eb04eed5e9e8bb01284760df56320df90f8a4bf806b88c7c8e6689a8b9d171bf32f3a92bda2f23483d50fde56159c283c2ffd6f11bb63fb433a350bdf945e -EBUILD compiler-rt-sanitizers-9999.ebuild 4419 BLAKE2B a57ae45b316c41c3ebf85eec81d270999d6049b27cc389a29979989993ef037176547b1422fcf763a074e738bac1f10b6f566fcecad55920b25a0611c71065d1 SHA512 9aad13ba98c021b47446831396ea2f6addf7b3d92d879f7cfbb645ca86fd9390ea343435ca9c62e49b03e224d7d09aa07dcb05da8deffa2296f927638863f742 +EBUILD compiler-rt-sanitizers-6.0.0.ebuild 4556 BLAKE2B 52a4400781968ab0514a66946eb1d5c86834f3f68aa30f611a2efc2f1cd1bf267163437a8647e17f6ddd65f03131916f61fdda1ae236d250be54be44aeb9fc0c SHA512 288b22337302c8552a739ba0d1f148a493d609cf4a418f9c70072359050e303a0448a22097c53f668670487950e58db58f50159136d1dd9f85f652ce36a6a75c +EBUILD compiler-rt-sanitizers-6.0.9999.ebuild 4525 BLAKE2B f54b68d42e59efab9a1858c554bf8daa442d42e88c96ad004849b681229f3d8e8c2bfc78118b067644ecf21007893d41b46551984571e1bcdca88a79579d344f SHA512 63ec60e8e5b26f4b12e7309f77660b7b7d5643699da76af6c7f27af72ef637e7c284ff4010e175788703e0a1629dbc27fcb260950331563dfb17539edf5e12bb +EBUILD compiler-rt-sanitizers-9999.ebuild 4500 BLAKE2B f5718fbbe6b9a10698fdfd230583a5fad1cc56ddbd66ce2f266c091b6cd71c57f787f6baf5ff3245d1743777f20ea5e581e98f68451a4dd05ae400215474f99a SHA512 267fe64aca0396391bdd0c047f5ca22af421586a472187f16973c4fc9b8e14b326ea46df21390e86cff352a8b43d1382dac50f4caa6ea7f189aee4ce6a28f20a MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild new file mode 100644 index 000000000000..6055414b29dc --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-6.0.0.ebuild @@ -0,0 +1,156 @@ +# 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 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 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="+clang test" +RESTRICT="!test? ( test ) !clang? ( test )" + +LLVM_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + clang? ( sys-devel/clang ) + test? ( + !/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/${LLVM_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_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-6.0.0_rc3.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.0_rc3.ebuild deleted file mode 100644 index 8a3c3d0bdf15..000000000000 --- a/sys-libs/compiler-rt/compiler-rt-6.0.0_rc3.ebuild +++ /dev/null @@ -1,108 +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 llvm python-any-r1 toolchain-funcs - -DESCRIPTION="Compiler runtime library for clang (built-in part)" -HOMEPAGE="https://llvm.org/" -SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="${PV%_*}" -KEYWORDS="" -IUSE="+clang test" -RESTRICT="!test? ( test ) !clang? ( test )" - -LLVM_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-${PV}[\${PYTHON_USEDEP}]") - =sys-devel/clang-${PV%_*}*:${LLVM_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" - - -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" - -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_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-6.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild index 712fe0ab6fd0..7a1bf830fe7d 100644 --- a/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-6.0.9999.ebuild @@ -8,7 +8,8 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-utils flag-o-matic git-r3 llvm python-any-r1 toolchain-funcs +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/" @@ -92,7 +93,7 @@ src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild index 13a501b66836..d843a8f3e3eb 100644 --- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild @@ -8,7 +8,8 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-utils flag-o-matic git-r3 llvm python-any-r1 toolchain-funcs +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/" @@ -91,7 +92,7 @@ src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang" -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/bin/clang++" diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest index 23b3cca5e2a7..53458eefb0b0 100644 --- a/sys-libs/db/Manifest +++ b/sys-libs/db/Manifest @@ -72,15 +72,15 @@ EBUILD db-4.5.20_p2-r1.ebuild 5100 BLAKE2B 8306f6d5c563d782347d5ddc1c2405404cb83 EBUILD db-4.6.21_p4.ebuild 4829 BLAKE2B 669e22398bcf581b01e2d2d049e55949ddf58e17da9c8ae5e03898f4c72c7d563a044ea439c27eebf6472064d4207ffc44f99e69c23f4b7032a27162e9624861 SHA512 bea9f25513d3496abf35199c1749ab3262688f43dd9f71043ac6c3011e4c4dcd673616942c58fcee063ea8db28efcf215674a12c521a72e94495bf4b77e722ea EBUILD db-4.7.25_p4.ebuild 4279 BLAKE2B 217822eb27f4c99d19797ece71587b2cf963638aaa9a29f53cf93a4c8454f6a00ea64c99253f0094a7bb050ea6bc7739ba4d38efba1b7a586894f60d8748bf06 SHA512 236c9cbff1c703a66ad785a6542337853a7fcc11db3b2fc89a607b761175e1e03ad69b1f9db542804ade020e68dd254fb1a7071c8605223b82bd7024c57d5a58 EBUILD db-4.8.30-r2.ebuild 5045 BLAKE2B f2abed6d90ee517f6beaaf564aa5f3e1407fe4b51c8322806a6f4fa4693dab860feead37883df48f923a33013fdc72f7bd1179958812e7b94f7ef810ea5c51fe SHA512 0e74b6db501a68c5ebd51a953cdd46a506a76816e2825a98315101db272ee5f36d5be8cf8ba6f317f92e6b21bd8f1815ca6ab4ca8e9c53524c8711ded70b995c -EBUILD db-5.1.29-r1.ebuild 5455 BLAKE2B de1dc56b313f6b4e896e0c159225295d3f6e43e7d0037db1d99a9e9dbccbc58128bebe9b2d7db466b821afc74c3a40e366ab8e1aff2f541493aa353c31de2546 SHA512 339062eaaf7a7aab1f940622d5d51169698fe40b0db1b45af40a3217dc0d46ba9466244a814c7d59985594358ae56165602dca46b0924af1b60f814f40942a58 -EBUILD db-5.3.28-r2.ebuild 6613 BLAKE2B 924488bfd7a060f726c6a29a750d3e0d4b8ce37112a49df72ef5bb4801b9d40d2e41f63e4f74d1c663a44fa69f9563a476f45386d6f0b8ab37d4dbd2a1f8eaad SHA512 afa7530823330c870b3dba4a0f02a7e1d7451d7b3ef5bc07b446f80f272d1db19103b806270a6a1b15f1afc4eba15450ac8c9240c9b23eb5c2abcd400d3b2169 -EBUILD db-5.3.28-r3.ebuild 6718 BLAKE2B c734b962cb5efe7c2732e5c995515635c3d002d7623dbdba71d8aca21bec4c009b572f9d94ab00a8554bbef30a9b18ee02cc777cefd3a73c138b5c0aa671310f SHA512 91b650cf78b2df6f4392095bc5e31128876c393b79b6767e30f2fd4c31ab0e686e0d47b96b92ad7f874bbcb489cdab815685a8449efb1cc0749a9c89babc6380 -EBUILD db-6.0.35-r1.ebuild 6723 BLAKE2B 17910c7f395dec78a10bf0895d2d4719aa9910ff88cc76b879b048755671a8e33ac5f170b6a08122e11b7c09cd79a76f738a444a967c481bbcd5f6ed52892e21 SHA512 078cf4e67c8e4568a221fa4a5731f803aa92a95b283d811f3ec70da8dec85ad949f2602191713cadcc4ca43af0dada9f3d92107fce4007c87a83bc1935a9d071 -EBUILD db-6.0.35.ebuild 6627 BLAKE2B 1d55909a3c360bba43f2a6ddfacb643c0d3ad4f0c6d8df1a488b26fdd7529724330ee1477c31d32a7601785b4e94af9db1bd1eafc0a3777e8d0e5fd4fca3e5e5 SHA512 9b9588cc4b4df9b7edfa81bf66f73bcb41eb640f915595c0c6d99406245bc5e413dfdd6c626d26365d81adfd7231d1fd07fd90abcb1c3adfdae7d7b17664ead5 -EBUILD db-6.1.29-r1.ebuild 6723 BLAKE2B f2b2821bf924c6c1ca9da548800c256a02da558ef9b9696215bc9eb83edc2dcda040248a82dcf8daeff0fe802f55e74f5d50cd44f612befc3868bcf5633fae9a SHA512 8f2002dbb102436a187047b6dafd7eea64936152c755b5dbc67a65bda80740a891660162679efd413e2d4047aa37cc77818820d311bbdd803ebf2ac3248d695f -EBUILD db-6.1.29.ebuild 6627 BLAKE2B 26e9ec779a3e24d85436904364c657b55b9352f2ed0466d9da48cd4886a81933a0c9b0eae9c84d213ece2dabdfe14a62bbdcfab44687dd9af53447f71f62bb2a SHA512 c1534e27e7c0fbc94e2c55ffe721fb2e8754228447ef65950b88ceb095653bcf69bb70d6eeaa2de76c7c4f535eb902552afe2219f8953fadd4f24e278a0cfb34 -EBUILD db-6.2.23-r1.ebuild 6738 BLAKE2B 996aa674b541d5881a1d68d420154cbcc219b13f2b5e4ef1b4ec13653a766c91e99937c4645c63e12d43b778348981ebca75b3dc7f0d3be2838048994c60b404 SHA512 e3acd982dcffe370fc7324d4ae2bb8b973eb08c22379f70cfe708588982e568e23d2473844d532ed027c719de2924bd0fcd9854ac9984d7681e67debddff5d5f -EBUILD db-6.2.23.ebuild 6642 BLAKE2B e491865da9186b92e80e21eb30bb6713776f97695287638ae80ac0dc1ccc98ebe8ac06d83533afcf0c55e7a0cb23469653d98a40ea977ae6a389234fd616a164 SHA512 627dea1e5bcb9eb8e120996f8b15e8b0eba3bbbfd19771d5882824a27a32cfaf09f96f083adef5091ace6f1572bb96224c9a47df720f78944530949c9b4acbbc -EBUILD db-6.2.32-r1.ebuild 6741 BLAKE2B deb43b6c21c904abba2cd2c6e21e959994726038e6c46f57326bc74db1cd5a4b5603a0c0ffb1ffa6f18e256e08ec0ae2c6af168cc465195f731859cedd154db0 SHA512 aae7b1543883d91311fae58906be0080f03fee7c7e42f7c245a06f1287b900e7b1f6e6cad44fa11adc163d06a6157b88d9bf70673ff62e1507ac005bb4955499 -EBUILD db-6.2.32.ebuild 6645 BLAKE2B d2f1a53bd602033e53f27611a825349e3bfa3c09eb62fb5faf153858e2f10f1a112450c992593cd340072b98147850e6bac97280c4781ad4027ea26b48e471d1 SHA512 78bd6a8f1cc0f13af9bac055963f17dca151df3b80a2be4189ad950a254fc6e467b23e5072a824eb1c93be5b2a9e2bef92619a5246be9693d7574017dd11ef18 +EBUILD db-5.1.29-r1.ebuild 5651 BLAKE2B 77c87e5eb5ceff56dd7cb5ba779d9f51ea91bbbacd02d8200de03fa6d8c35a5dd8286a7146833d16fa2d7e4b0b335037ac0654371e97692d4add9a1c596f0aec SHA512 c8aaa4bf390f607e5d10dab041d4d99593a59b602312a3cdad118de8c1f505e592faa136bd9ce6e7d1e78eef6a15d6073767c703d465b251509e3eb73593267c +EBUILD db-5.3.28-r2.ebuild 6809 BLAKE2B dbeb45916d9def31e13c60849442ea55651ab9f9afb2ac8e095e7773da7bf0ab710bb16becf0e90996288645a17abea9438ca09ce3f1c9a3f15d66fd750d48b0 SHA512 af41a98f236eea0e8b0670be903b4a3eb73b039bbac904f096925d6293a220442aa288182e1e05da6f74a172861d2b2b6785ea4568e04e37fee2b0a4fd41efb6 +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.29.ebuild 6823 BLAKE2B 0ab1607502d4cf614ad2a8726d5c9f7376915a46a86dade83ee8db4bb1291a32e7dbc7b24eb4610ee99515b615c08a0b89d6b0636bc4b6582429aa6794b95988 SHA512 5ba0a00a132365eb37493b868e095c75a20bdf116f9c624158b5229a9bbadfcbe8be9222b1a2dcb632927e89a2974c1d52b2bf3927511d108761b8da6d8b7c46 +EBUILD db-6.2.23-r1.ebuild 6934 BLAKE2B 378826f3740601b8b928d7777c7a17ed8f0db353e49b565f0310f7fa5545c93b9e4f9d57567bd44c72ea4bfd0d8143d83c9305a4c22a13c344ecc2020ded8087 SHA512 ea61d76938196841eb13a2a4cef4932937d38fecdcb3f7006063b38f17e9a134e2f1382cd1bd1303d669cf45918577787cae4cb316657efc632896f361e4e854 +EBUILD db-6.2.23.ebuild 6838 BLAKE2B ef5fc8f68050b2101380a9c9cf9f37e240bb8abbce41a078a4bce4de99c1801510b0ada26f440d56b5d60af0fdbd533c4d7e3609766da16f28bd72b447f2a46a SHA512 a8aed19eb3ce017c90adf4eed3e1622519d3ce52457a1272f8d53888214e12af274ad1c938a16750f919fac19eb2b941f2aa596fcee8a313ad69c15a144e255d +EBUILD db-6.2.32-r1.ebuild 6937 BLAKE2B d5df63055e7d8ee528bf8c7425b08cf2dd8f2044ac2a9c5dc7e600dcea47fd44791c687adee9504f4084ceacfe558c9364319c3c33e9582bdebabdd414d66f80 SHA512 cd49a5a95b7b686d0a96d0cd416c9676b0158e9511b1ab7c8d56f1b88d78d2de288beabc04396ac4de9f8a544d831e3f98a5e9b6ef14bfd22f56f57bec02fb8c +EBUILD db-6.2.32.ebuild 6841 BLAKE2B 620590f12ad2a8c93431a7c1a8b9fca6987ef44c03f78903e52200d3256197b2908558ddfc59d630f285ccf8a3c87036cc9516bc1f5c5b4ab43b47654b035d0a SHA512 48987bb9ecf7df0ffd43f29e699c2078545cff08aa277d98a6dd6b59127060b949d3a67412845257b78ceaae1e9b388ba7b1f5869fcbe2ee5aa7d63186252806 MISC metadata.xml 1323 BLAKE2B f954567067cc1490d6804dd9d7b612dd90733c7ab84546cbedc0075f8f3ef1faf6f1bb70bae31e83b0aa17666bd6711999b67ce4fe6c15bcffc3ba5bd8d004b7 SHA512 36f8b6db241ef960b2ac0f7bd19738066e3daadd90efbf7edc54a4774e491506d69a2207738f53643a3e52f1f35a900e4717747744bd30ca682265f50cb8884c diff --git a/sys-libs/db/db-5.1.29-r1.ebuild b/sys-libs/db/db-5.1.29-r1.ebuild index 815bcac9ef94..a00e96a4a1b2 100644 --- a/sys-libs/db/db-5.1.29-r1.ebuild +++ b/sys-libs/db/db-5.1.29-r1.ebuild @@ -94,6 +94,12 @@ src_prepare() { local ev="__EDIT_${v}__" sed -i -e "s/${ev}/${!v}/g" configure 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 } src_configure() { diff --git a/sys-libs/db/db-5.3.28-r2.ebuild b/sys-libs/db/db-5.3.28-r2.ebuild index a4ef2e665c3a..90433d195b8b 100644 --- a/sys-libs/db/db-5.3.28-r2.ebuild +++ b/sys-libs/db/db-5.3.28-r2.ebuild @@ -103,6 +103,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-5.3.28-r3.ebuild b/sys-libs/db/db-5.3.28-r3.ebuild index 6906ac2db5a6..757a78b281ed 100644 --- a/sys-libs/db/db-5.3.28-r3.ebuild +++ b/sys-libs/db/db-5.3.28-r3.ebuild @@ -103,6 +103,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.0.35-r1.ebuild b/sys-libs/db/db-6.0.35-r1.ebuild index d3d38fabd1a2..8a69554b06a9 100644 --- a/sys-libs/db/db-6.0.35-r1.ebuild +++ b/sys-libs/db/db-6.0.35-r1.ebuild @@ -101,6 +101,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.0.35.ebuild b/sys-libs/db/db-6.0.35.ebuild index 9b9497e4426f..0797982c6614 100644 --- a/sys-libs/db/db-6.0.35.ebuild +++ b/sys-libs/db/db-6.0.35.ebuild @@ -101,6 +101,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.1.29-r1.ebuild b/sys-libs/db/db-6.1.29-r1.ebuild index 97730d015517..4f3570a788d8 100644 --- a/sys-libs/db/db-6.1.29-r1.ebuild +++ b/sys-libs/db/db-6.1.29-r1.ebuild @@ -101,6 +101,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.1.29.ebuild b/sys-libs/db/db-6.1.29.ebuild index c993478412f2..5a93fb270c1c 100644 --- a/sys-libs/db/db-6.1.29.ebuild +++ b/sys-libs/db/db-6.1.29.ebuild @@ -101,6 +101,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.2.23-r1.ebuild b/sys-libs/db/db-6.2.23-r1.ebuild index e79ae1d3d07c..eb10afdca6a0 100644 --- a/sys-libs/db/db-6.2.23-r1.ebuild +++ b/sys-libs/db/db-6.2.23-r1.ebuild @@ -106,6 +106,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.2.23.ebuild b/sys-libs/db/db-6.2.23.ebuild index 9d99d958c710..8189e375cba1 100644 --- a/sys-libs/db/db-6.2.23.ebuild +++ b/sys-libs/db/db-6.2.23.ebuild @@ -106,6 +106,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.2.32-r1.ebuild b/sys-libs/db/db-6.2.32-r1.ebuild index 9682a4394c9d..59706d362b93 100644 --- a/sys-libs/db/db-6.2.32-r1.ebuild +++ b/sys-libs/db/db-6.2.32-r1.ebuild @@ -106,6 +106,12 @@ src_prepare() { 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() { diff --git a/sys-libs/db/db-6.2.32.ebuild b/sys-libs/db/db-6.2.32.ebuild index 8fa1fd1ece68..4c2b280e1fc6 100644 --- a/sys-libs/db/db-6.2.32.ebuild +++ b/sys-libs/db/db-6.2.32.ebuild @@ -106,6 +106,12 @@ src_prepare() { 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() { diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest index 55e22629f0c5..d373b35f1523 100644 --- a/sys-libs/e2fsprogs-libs/Manifest +++ b/sys-libs/e2fsprogs-libs/Manifest @@ -1,10 +1,10 @@ AUX e2fsprogs-libs-1.42.13-fix-build-cflags.patch 300 BLAKE2B a6cfc44d27991cb98b1cf94854dabb4bfefd0d44d7605cbca6353b27730dcc37ed65c1d4b35f2b7e5386a607056f7397afbf4e3dadc57efb0e3172a94287f5b7 SHA512 0c0a39a7cdf1930c2c8da0072f935eb02e15ce7a5202990b4ee5458a4ba7a5c1848a7b759e91e32c76f38ea419059179b04ff94fa336cbf77e4ecde55f9dc1d3 DIST e2fsprogs-libs-1.43.3.tar.gz 599387 BLAKE2B decdb20114ad7b00754ecfe5658de6446cac8f2861a131cde71b6440934f5e66cbef7e5ef9945a15c6bccb3da0ca49d8f7bc04be59ee3565a03a16f850cdfbd1 SHA512 a1a5c01be1d020d858b958694747ba4f35032cd55bff71078cfddc31a818790ce4ead25fcf5e2aceca42c0faaf1635b6d8e3a2c7b87caac7f6fbbe5a44ceb411 DIST e2fsprogs-libs-1.43.6.tar.gz 595409 BLAKE2B a5edf65b637b7f3fab16174a695baa232b8aeab6e8d28140a3a68ed63eee309949ca85a28f33d15199068fffe9174ef76b28f403ec09118296a458611592a36e SHA512 80a643ba349aac79c88548e9692066f777c5f9e82e309b348606a8078de456171535e6e5df91f73ca3db9d03bb539b1a19883cf74615357bdf77f3bd20cc0b11 -DIST e2fsprogs-libs-1.43.8.tar.gz 596246 BLAKE2B 6847f177ccfdb06b49f58951b258647ec11b1237e3d33e44c2f7c6b93569445010914921d9447c842eba141c31a9982c72558dc6eb62fb2b24d1574a3204b1a8 SHA512 3127351310542326102dbbe84dade4043ff7f3046fb84e3364036a0975103a0aa146ba02400400e73affa658b93a69d0cb14855c2ab8f6da5b88d9ea0f17c9e8 DIST e2fsprogs-libs-1.43.9.tar.gz 595452 BLAKE2B 2f4c8b07abe343f304f3217984ec03a38dca2d69765d7e9edef184c5b478fb0aa860fb0338a41e9d2d47c55780b0e44450efbe2528110403a77696af9e0c9d7c SHA512 c4b78000ace629a7e6f12d7c63f5ff36885bc7ba69a22654f95fd384bb347f0f28ba544644b40cdcbf14ec211e724901fbe44cc2b730f2dafba77632b3e2d0b1 +DIST e2fsprogs-libs-1.44.0.tar.gz 714451 BLAKE2B 30db99eb22814c36ce55ec3bbcdf2c81faaf1708625ca06ab62a96eed89371ca996e31da52ef0045899d0d5289c3a918bd3743c72ebce778960084c19133f18a SHA512 7b4db8c7e07c3915f1e92d832044d1dfb61a38220e19ba8ba62dce7db532ffb04d9dfc89b5ab509e75023d64dfdfa5e9271249a5436ee9758dcfcd14221f6f75 EBUILD e2fsprogs-libs-1.43.3.ebuild 1866 BLAKE2B 85c2912077fb0b2d9673a17ea16880a8b3f3b481134dd7c7057261811095bfe2bb72510338b0cd817363b319b5dee3f1848143f931bf5b98940dbc1af40b587e SHA512 d3b5cd55e334010d636fe72f5ec54b8ef4383327b242bb4be9bb496107c96d0cf83f47886dae2f915b4f7b6d9f53595b0effe7911a74770e18a20321c272dc60 EBUILD e2fsprogs-libs-1.43.6.ebuild 1855 BLAKE2B 54e3174ce5891be2774b6921eaf9cf790d28f78f532ecbf214607877b95d6e294535231278ddd4748727d6a66e8805201b12b4d87047f26be0a2cd4c6e6d35b8 SHA512 629a6b920429ea98277618a32d7145ee5ed4a5b7fb98f2ad610ce9f9f13f877b4b99264900417d4341f4a411532fbc1218a529d288c3ceb405508bfa5f308c44 -EBUILD e2fsprogs-libs-1.43.8.ebuild 1878 BLAKE2B 8abd48e95d66949bf5451ae3820f2da81eee7a0fb662c7da1a46a013a87da3858ba245c8ae84ca9e1d443ec79dcfdc97bb61b55c943b816c7f9f927174a868b7 SHA512 96e1d98877c800cafc48065584c92711b64af5531cfb70a97fedfabc3cd5c5126ac8923582456eda24ca655dd119206929e6171c453e146ed8cf1c332ba252fa EBUILD e2fsprogs-libs-1.43.9.ebuild 1878 BLAKE2B 8abd48e95d66949bf5451ae3820f2da81eee7a0fb662c7da1a46a013a87da3858ba245c8ae84ca9e1d443ec79dcfdc97bb61b55c943b816c7f9f927174a868b7 SHA512 96e1d98877c800cafc48065584c92711b64af5531cfb70a97fedfabc3cd5c5126ac8923582456eda24ca655dd119206929e6171c453e146ed8cf1c332ba252fa +EBUILD e2fsprogs-libs-1.44.0.ebuild 1878 BLAKE2B 8abd48e95d66949bf5451ae3820f2da81eee7a0fb662c7da1a46a013a87da3858ba245c8ae84ca9e1d443ec79dcfdc97bb61b55c943b816c7f9f927174a868b7 SHA512 96e1d98877c800cafc48065584c92711b64af5531cfb70a97fedfabc3cd5c5126ac8923582456eda24ca655dd119206929e6171c453e146ed8cf1c332ba252fa MISC metadata.xml 329 BLAKE2B 03dc6edded63d4d10b064515402e963a4770ffc36e17de351d5617849ea138796e4bf20c7feb383cc8ca3a88fba1caaf68b5411241a2558db832f9b659193644 SHA512 39e1ddf508b648594e45cd4e72a41997ab4ae7b5cfdefa136a18a1e68ac5a2bfb1f6a12328f1faee5501fbeff0c61cd91417de717c4869f530a18a05ea5d4c71 diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.43.8.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.43.8.ebuild deleted file mode 100644 index 68c23f47263a..000000000000 --- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.43.8.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -case ${PV} in -*_pre*) UP_PV="${PV%_pre*}-WIP-${PV#*_pre}" ;; -*) UP_PV=${PV} ;; -esac - -inherit toolchain-funcs eutils multilib-minimal - -DESCRIPTION="e2fsprogs libraries (common error and subsystem)" -HOMEPAGE="http://e2fsprogs.sourceforge.net/" -SRC_URI="mirror://sourceforge/e2fsprogs/${PN}-${UP_PV}.tar.gz - mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${UP_PV}/${PN}-${UP_PV}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint ~x86-solaris" -IUSE="nls static-libs" - -RDEPEND="!sys-libs/com_err - !sys-libs/ss - ! doc/Makefile.in # don't bother with docs #305613 - default -} - -multilib_src_configure() { - local myconf=( - $(tc-is-static-only || echo --enable-elf-shlibs) - $(tc-has-tls || echo --disable-tls) - $(use_enable nls) - ) - # we use blkid/uuid from util-linux now - if use kernel_linux ; then - export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes - myconf+=( --disable-lib{blkid,uuid} ) - fi - ac_cv_path_LDCONFIG=: \ - ECONF_SOURCE="${S}" \ - CC="$(tc-getCC)" \ - BUILD_CC="$(tc-getBUILD_CC)" \ - BUILD_LD="$(tc-getBUILD_LD)" \ - econf "${myconf[@]}" -} - -multilib_src_compile() { - emake V=1 -} - -multilib_src_install() { - emake V=1 STRIP=: DESTDIR="${D}" install || die - gen_usr_ldscript -a com_err ss $(usex kernel_linux '' 'uuid blkid') - # configure doesn't have an option to disable static libs :/ - if ! use static-libs ; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.0.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.0.ebuild new file mode 100644 index 000000000000..68c23f47263a --- /dev/null +++ b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +case ${PV} in +*_pre*) UP_PV="${PV%_pre*}-WIP-${PV#*_pre}" ;; +*) UP_PV=${PV} ;; +esac + +inherit toolchain-funcs eutils multilib-minimal + +DESCRIPTION="e2fsprogs libraries (common error and subsystem)" +HOMEPAGE="http://e2fsprogs.sourceforge.net/" +SRC_URI="mirror://sourceforge/e2fsprogs/${PN}-${UP_PV}.tar.gz + mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${UP_PV}/${PN}-${UP_PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~m68k-mint ~x86-solaris" +IUSE="nls static-libs" + +RDEPEND="!sys-libs/com_err + !sys-libs/ss + ! doc/Makefile.in # don't bother with docs #305613 + default +} + +multilib_src_configure() { + local myconf=( + $(tc-is-static-only || echo --enable-elf-shlibs) + $(tc-has-tls || echo --disable-tls) + $(use_enable nls) + ) + # we use blkid/uuid from util-linux now + if use kernel_linux ; then + export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes + myconf+=( --disable-lib{blkid,uuid} ) + fi + ac_cv_path_LDCONFIG=: \ + ECONF_SOURCE="${S}" \ + CC="$(tc-getCC)" \ + BUILD_CC="$(tc-getBUILD_CC)" \ + BUILD_LD="$(tc-getBUILD_LD)" \ + econf "${myconf[@]}" +} + +multilib_src_compile() { + emake V=1 +} + +multilib_src_install() { + emake V=1 STRIP=: DESTDIR="${D}" install || die + gen_usr_ldscript -a com_err ss $(usex kernel_linux '' 'uuid blkid') + # configure doesn't have an option to disable static libs :/ + if ! use static-libs ; then + find "${ED}" -name '*.a' -delete || die + fi +} diff --git a/sys-libs/fts-standalone/Manifest b/sys-libs/fts-standalone/Manifest index 74a74bb32555..ab6518268232 100644 --- a/sys-libs/fts-standalone/Manifest +++ b/sys-libs/fts-standalone/Manifest @@ -1,5 +1,5 @@ DIST fts-0.2.tar.gz 339498 BLAKE2B 3800196fd67d03c5e732dec1cf6aeee85d417720c3e89f650f2c7238f60d57e4e51a69eb11dc67fdb8ca19093726d0f3f8b48e60c20ceb08b9173767ab895586 SHA512 4f31182f4ebce7f663db893def0e2380b87ef1a262a021837fc6fc9965803a829217142df140c67b1cd83b292eb8862fa0a470cf795a312494674e6e94f02f79 DIST fts-standalone-1.2.7.tar.gz 19336 BLAKE2B 045cfc32dffd18b58093dfe578a029ca15083eec98812ea2849acf37fd2c8e7272840b15b4966201421624d96ba69208a36b58d5420cef2563c107cfae98ea93 SHA512 949f73b9406b06bd8712c721b4ec89afcb37d4eaef5666cccf3712242d3a57fc0acf3ca994934e0f57c1e92f40521a9370132a21eb6d1957415a83c76bf20feb EBUILD fts-standalone-0.2-r1.ebuild 525 BLAKE2B 69878ba35048a77fc19dd2d93877d6d4bd35175b0953a8e77ebaf8a4dae9ce0996db1310ba3ca1ac086e3f02176de2b26391d14ea1e0f8419d2a9284c7d31c51 SHA512 063e7e8c5505871d0340145f31197227d0aa724d1ffb55fbe4b5637e56673bf749406528164c82196094c5d91065658ad431406eca54bc6d3d1bf76d260c0f98 -EBUILD fts-standalone-1.2.7.ebuild 734 BLAKE2B 7b667e4c1e9362a26b239cda6f9c575f91f6acab44fa612def34edeee615e94697d884c3d429adf97f6cb6d70b0b7b3d13f045f94b509166a0ed2446220873e1 SHA512 f2acd6088724b4676061014a3ea4cc8a12c2239d818eeb46c7e0dc2bfdc01c4c3dde1f32af61cec41583461493d5f6d1ad4ba6438ec573878d04dd7646ffb24e +EBUILD fts-standalone-1.2.7.ebuild 730 BLAKE2B b61d7241e915951ffc808a58de99094e5c14dcd19478b7c410bd6f900d9876caae5dc6fcb21bccae456d2b7cd4f3edb3f0992d41a90a34dcd05d5c0afd5f6db0 SHA512 e0b99fe23f471c82b8bb2766e281fa50b58bcf65a7489d90c9dbd20a9048bf5fa0befbdab411afb0a14bb0373ef9b3c4ce5e3f9762a06b1eee3ac92ed433605e MISC metadata.xml 334 BLAKE2B b0cf07fe22c503cef4450546f0825c6e72df4e7b6fb85de9bc7d6e206e96efbb0f2d50391aa1fc3d5ffb6376aa290481253ca2ff8762bc1686b6057df9401d76 SHA512 f42362781a8bd718ddb3cc00aba96d8f7c5104a3dd0722cb189e827d2c0f7e78cec8d7dffbf3cf9ee82b5fba00330427486ae48247e3a2b3c0308e68d45702ab diff --git a/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild b/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild index f651d8caee05..d724eebce1d9 100644 --- a/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild +++ b/sys-libs/fts-standalone/fts-standalone-1.2.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/pullmoll/musl-fts/archive/v${PV}.tar.gz -> ${P}.tar. LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86" +KEYWORDS="amd64 arm ~mips ppc x86" IUSE="static-libs" DEPEND=" diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest index 787df21a17e9..04c48996ec63 100644 --- a/sys-libs/gdbm/Manifest +++ b/sys-libs/gdbm/Manifest @@ -5,6 +5,6 @@ DIST gdbm-1.13.tar.gz 891987 BLAKE2B f73cb89aeed140a584c5a8bce9c2324cc39a7647ee2 DIST gdbm-1.14.1.tar.gz 894412 BLAKE2B e519af45d670ec4285ece01edc17770dcb0d77f12edcf2d3d4cb9580c6d2bb6d6dddb57d4f33490e11dc9df7cd08fd44ab7737b62271c5cfdc9485b90d0d4888 SHA512 a15d7acb0ebf459f4f7d262e5a05393a9a7c8e9ae906d12ccb3b38715de15a41c9254e7814555e2f9af306ef63b2dc68b5f9f6c7b75dd0db77e07a58831ff603 DIST gdbm-1.8.3.tar.gz 228695 BLAKE2B 21b5833facb97fe937020d80b038c7b09e55eea6bdb9ec323d185a0980f235ff6a225d180d86d984469ce04a3f0266d20881f317f4339915bc6f61ab150ac2ac SHA512 2a01751ee8f730db563b4f52185c72f1c7a4f66530d6736f05f7446153be685ea0bb6ea1d2bad16ce31547fea879dc48507ff65ad35b0973df9aa385713b10d7 EBUILD gdbm-1.11.ebuild 1875 BLAKE2B b3541731e9c3836ff85ec96c59a3e147a127ec383349367afa2ed7990bf5a942ca4cb47773542eede4d30232c2c484a64def0f07e347192c02d74558d0447e21 SHA512 e29b2fedc10762734e8b18b704c70210315acb00d7c1098d19671145b11c7d032496808cc5dd88c9da838ecbd20b5fc4ff7664c1cae1535f3d6401ae5fe53485 -EBUILD gdbm-1.13-r2.ebuild 1881 BLAKE2B 956325f68f45cb2eead743cd17f90e8f1397e3384b1f55a92c0d719d24f2731a5b2b5f5aa5b11ca4872968f732f623a8138faf93c31d55ff5a683be23ef3a055 SHA512 b43dbcd90a622769162fc478e8a0deb1719c164b22f052734d0c98bd51f761c359f5ef6d907868736b84599b2a2668cfe89be991e9e266ed409f8d9d3a649a57 +EBUILD gdbm-1.13-r2.ebuild 1880 BLAKE2B 93488b07da9e466dfd1ba72283a73285ad99400af89edd57e3f1af0f17a797cadbe819dd7eae9bee06cbbc85f7381460c1caa7d8a3c3e2ce194c492fea8092f4 SHA512 4ff430d01e7f803c4783cb143da5b988533331fe40887870142aa11501ec1a1d12bda68021ca888dfd19019ee8b85f1275da9c290faf4ba5156c26ebff767af6 EBUILD gdbm-1.14.1.ebuild 1802 BLAKE2B a9872ffcb3aa6c7b0656095b30a4ea5e71fe6c7967244b59c84a0e59a739976ed08b89318a22e35548d00904bb7c51aacaaffe7f0f21c9ff059252d37a08ca38 SHA512 b0d3430a85a19106aea0e6a57c7334ca99e008bdb3f83e5413cfb19e9c9ab75d3cd54714bfdb2e172ed4edcc74f5c732ad4c9ca6e37fa806c76f25ceb6f8c244 MISC metadata.xml 471 BLAKE2B d73a0a1493a17d9990451e721b5bccddbdc3cfb59af544b1cdd927e31c65795888b13c7e42274a454d7dd8762ba92c5ab94dae5af7389a67688e6b06840ebad5 SHA512 05f989aa1f1d2ca29d4084741af8465c3daa0713881130aeb8ba8ac65f89a8874d668a0ea32184ec404e19777aa1df9e8d2526fe2ce9a22cae8c08c608501d41 diff --git a/sys-libs/gdbm/gdbm-1.13-r2.ebuild b/sys-libs/gdbm/gdbm-1.13-r2.ebuild index a60a6fb3f34b..59ebd51954e0 100644 --- a/sys-libs/gdbm/gdbm-1.13-r2.ebuild +++ b/sys-libs/gdbm/gdbm-1.13-r2.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/gdbm/${P}.tar.gz LICENSE="GPL-3" SLOT="0/1.13" -KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+berkdb exporter nls +readline static-libs" DEPEND=" diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index f6359250414d..8b666adcc85a 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -17,6 +17,7 @@ DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d DIST glibc-2.18-patches-4.tar.bz2 95165 BLAKE2B 70280e0f5fd0b1ee13cd0464aafaa9c9324528d0bee8024e6529d67d908991012066db6d8257b66983a1f52e32b3aad7718612fdab9ea199fef845db93347168 SHA512 d881c9c5fe32b967694d4ca5185ff5ffc964449f2ed49fd062e5d57a3c6d9f16eef2f591d2d8e98a1a95a6487f3436ef031839ed8766fd085404b288340b7933 DIST glibc-2.18.tar.xz 11150148 BLAKE2B 7848a5a50abedbd17085e05b6f6835959adb5e55a424d95fa8a49eeec999a6dd81a9382db85ef7e852ef1d7743c5d312dccbf42024e95edf0e802eb32928dfe5 SHA512 27218d2e7dd3bf3908d7af171c490933680e958c579ebd27b43b661e223fd5de2219cc1cf699170405280808c84de476d0ad86dbba35a488ef404e9438552327 DIST glibc-2.19-patches-3.tar.bz2 80664 BLAKE2B fb348c711941c1bd4dadd905e172dc4f239d8b63af1a1d14dcf4ec45c504bd47e10e9b24b38f9e01796016f2e97caeeb693213ae08147274ed0a4d9501293be0 SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 +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.20-patches-5.tar.bz2 55986 BLAKE2B bad714bd088fb8759ee84d33f22c0bba01a78a401c54828dc413c7ac2a08ae53fba9b07280996e54091f2c918658bb502aeb45f734022c1ab36e1be215381324 SHA512 409f59a028127e02f0c9f91107715b540d8d234475830adc17108a02664be232098d119b43bcc8df9b328ab50c1fffb0868d510e6487ce1c34ec2c7c7a78375b DIST glibc-2.20.tar.xz 12283992 BLAKE2B f2db06a06e47942e9f5aaad5c4b603d63bb9a3ba624dc1c973e864d65cf893adb7568a18516c0b915b772d2ca30e95899a4d5c03ff9b3ad23e1e276a1d535f39 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa @@ -30,6 +31,7 @@ DIST glibc-2.24-patches-10.tar.bz2 73586 BLAKE2B f42cc78b907e7cb5c8ba1672c845cdc DIST glibc-2.24.tar.xz 13554048 BLAKE2B 9f93ac00f68eb88e3a2272752624163fac25dd064170e336143aa697908fba2b27ed926582f978da99c6c2489c0ce34d3eb266b5d00be69d27b36126bc2c8efb SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb DIST glibc-2.25-patches-12.tar.bz2 65396 BLAKE2B b23d5d681314c03b8dd5ad20516324c1ce5b24deb4d9ce03970dce97b524ee9d3f5d5463f2d6b7693e4c9ef25d006847f960993f55ca082fc961268d05f937ca SHA512 6af8c304ba70b42dfda294873d9a138d6c98e7a46496e305b2cac99a085d1ad3d00315162d1e1458e651de95e158bd35be74406a3f44fde13182e30baa663fcb DIST glibc-2.25-patches-13.tar.bz2 71481 BLAKE2B bf5691afabf03b579b8d634da30a2a967ab62d5e470a23b0946ff3354aa974b3b65821aca2f33dd30dd864a82459f4750178bf6ae01a5117ccfde62efd8f594e SHA512 7c80e4aba9edf0310e1707b03a6945f657d71267a4d0d67c24b979c841544a6a623d7c2dbb0a0d55863e25831439d717d096ecf377f936b731baeb04f21704a7 +DIST glibc-2.25-patches-15.tar.bz2 78320 BLAKE2B 70c62cc10db13e2844de4d8a18972e0f4d01ba52fbd40db57c11d7b1c2c0d571b894f01e762bb26632fd696a77c299ef0766e2f129d2eda896f58325a754a13c SHA512 7204218ea82b677e0f278c4752ddb90aa0c08ac2349d061de81ec91dac204b0f10fe223d7b1055b9e0c21dac97c835f913a90c0168a5000d3be00dd20027c185 DIST glibc-2.25.tar.xz 13873900 BLAKE2B 73ef792fff059f6ad154c9af2155ea15b7869ec1b93e557b6c58129bfb50f863c06f8b49425d75fd2df537dd9c4a68bad790cff770c50a6889732d66f507d349 SHA512 5b7a2418d5b8a1b6a907c6c7fb6477ee2a473151cb45e03d0d4cdd9a33497c90b1ee39e2e7e885e2b25743dcd3747336ef114b4a73eb001da1fd79f29e0f9a6e DIST glibc-2.26-patches-5.tar.bz2 357699 BLAKE2B 98a0cb231bf35a132747f1fa6e654a9ad2eff8b445f002a0239c9a45f5a896ad490570aedee2b43e6cfa94794ae5c8b5e312e369838c3770823f28b61b51b592 SHA512 0040469e4a85f5c2aac972e42aeb06b0adfc3a132b32b19306be9f1877339fe6651a2fbd4d90d502b07ae4460f74efbd1cd103d38a2038df9402b0a380f03c2a DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b217391156f897a8db50f65a69627d8f8cceded78414168986ee98eba038364a6b2f3599b23f95e7b0ad2643481c399718 SHA512 0c812a343fcc68c10d92117cb2a0cf1c255470e81f0a7a04d6db2fe35445e410ef37f15162f145c2eb772b08ab55af246f5b52f5e57c2e91038181f6f027abc3 @@ -39,12 +41,14 @@ DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea DIST glibc-9999-patches-5.tar.bz2 15979 BLAKE2B f59b4d7096fd876c9176f6ebdd9a4a510f3c6c90dd69a1fbb092a18f296767759d8d73dc7a81e29e3f6152043a4179056d5e224896c7bb96cc09ede2e2dd16e1 SHA512 c29ad59977b2c4dfd58ee16d0898a1c16e6cde974d5c29c3a7a55e0dee4ade7f1a3d45c9481c1d35df7fcedbdb67267f5d61759cacab677b6288b5ece3871a4b EBUILD glibc-2.18-r1.ebuild 5514 BLAKE2B 2b007c0f935df77d35d74adceab874eeab55306c1fc69eee3c0f45a5d9cd02e6b4dcf7ab25d2bb450fd07fe7f20a827a774a6e15322f7b8a447726acdf31a3f7 SHA512 b306c31227f15cbf0dbf518195736856f30949544dac12fb4b5b0aabd3e421f040663aacea159181b61f92777a19519241f5c05f6e65576b26f6406df85ef83b EBUILD glibc-2.19-r1.ebuild 5471 BLAKE2B 8531139c723de6358daa971e96f98db628eec14c696b004a4e8a4a7efc8a0c610d713625655c55293c94898d13ac9aea5ae1a58134aedb30b1b695859748a964 SHA512 aae5bcdaa10cf6a3026e28b406046bd7297fdacfa8d0ace60f76177aa2efed6b0f82b639f5e6db6bd42d99440d12644d62e9b14cf49ced7284f011cb3c406775 +EBUILD glibc-2.19-r2.ebuild 40701 BLAKE2B 3b2f97f43f5585b934f9dbe1acceec3a80c222371a3b9cfa308c0de91995934154e16c41d5bf85dd8ba0cc87c6068de103e2682420a705fb891ec964a2dc7c6d SHA512 3578ec2fc4b34008d4e44140c5d4fb867e7c3c4449aac3430cf731c0098fb8ea776392b2175ce65eabe5d004912dfe982d7777640ce6eb68487d29ccb4ec4669 EBUILD glibc-2.20-r2.ebuild 4947 BLAKE2B 24062f002678df912ced724a3d919bc2f07476c98000092cb3fa3f2be1836db57348c88b6fc1da7a9364103136eecbe687fe365d131f10c82de3cb0edd3eb8c5 SHA512 ff76e9173ab6bfccb1c659f79cefb93f6fa6266adab40a3816f56acddb7866cee67ba6bfa8d1b9988eff755e9d1a879e62973fc332566c185f019af5e17a9f1d EBUILD glibc-2.21-r2.ebuild 4922 BLAKE2B 99bd1be39a3643f845c0daff4f7b19a0abb37de95a8494b4dc9d29aaee74281d4a252792010ff4935e5d661a7240cf4d5944907267e9059ce208b59891528085 SHA512 ff896f5bb20502db03f00d1438a06a026e0940106e368b4bb27abb72bb927fb235371a5a6b01130e35906f17c478e79e44bec6dda02bd5fedb30552bf4a6cc86 EBUILD glibc-2.22-r4.ebuild 4973 BLAKE2B 6f4f632413cacf34a2a011d8cc83d0a92deaa0980aa9b6fe0d11cf45850a7bec482b77c8a0aa00b66a2103d4ff03ca16b0b7d38cd089b8f010039faaaf26d76b SHA512 1a056e465dc38dc4956b4707ff9fc9da8df4046d95edeb3dd6ae36fc229545acefdd317c50961a153ec83f21cba3d645d1e45b526157f8209a932242c2b08c33 EBUILD glibc-2.23-r4.ebuild 4975 BLAKE2B 9a0d3a3689896fab9f71fa20a83be5f2563f023040563f85385f8d28d32d6eee7f144acbdf4a35d6c1a65d56289ae72813b1d7f561f514e391e95dd4e43a4902 SHA512 9662308abee890c1eeaa45a49c4238448c62400d8b8661fc7588cd78aa58cbe044a0c15f46a6e8d161a203f3645600385fc2200d4d6434c24e496781aa06b04a EBUILD glibc-2.24-r4.ebuild 5011 BLAKE2B 71050f0449074652d4fabc709326025b4de2e6642fdde87898acfde6f99cce95f4d7b9e1e7f9eedcdf6d2fd70ebf3c2860599ec36ccf68e0e633ec794f8ce0e8 SHA512 1cb3bcbd7d9d7f7c095bdff7c81d0acc3b4700c0b8a9d4fd0499cbf53abb55c67ca3bc3cce125916d238eb8cf6f6d69989af27defd6f194aaa5ac27cdda94eb9 -EBUILD glibc-2.25-r10.ebuild 5004 BLAKE2B 21a9a1c04e356ae054a262ada87ef1a87f4dd6157473dff82f6922c8779882b3f3cc203fcbfda7a7506a9db13eaffa33b2bc3998130e339b1d4e35be22bc603e SHA512 7fc910513514e555d7ce8f472f8466ce0fc7a8e86919bbfdd42eebd4a9e9838967737ad61420a03e7f328f3c34302c6e13a9d1abe2975916e253496f1859a152 +EBUILD glibc-2.25-r10.ebuild 5003 BLAKE2B a3a94f16c7a240ae4db9b430a4c054b91d864c10c291d4e9839bd847e289c74d4038045e4c389f1362cd3c24dc6bf024e731f1046c9254833e9edf2cda0de94e SHA512 2186eb7d9bd5088d805a27aba9aab8190f6253d2b8727969307194a62e681a293ed79f5e3aef9dc3bb796e53784ebcf1a51298d527553f7f529625fbddd81bb2 +EBUILD glibc-2.25-r11.ebuild 5059 BLAKE2B 03ce708c9c856707174918cfc54f1cefb3d064a2e9441fdb5a675b17d15a1bcce5b4248fd91f963c501d0950aeb305dbaf18c374d3ea85e0375f130169944114 SHA512 8ad6b26cf1b1b1fed79f7eb3f91ba121089f11903aa0cee597c76e193afeb6888b2300360fd0eb519b5563f5838042cff15f55bad8f00806da137893a2088034 EBUILD glibc-2.25-r9.ebuild 4999 BLAKE2B 6c0784aa614374954c0747deb7a33fdba0f8b1935cc28c62af29880d64991cc93740eddefe8dca971d6c1bbba14161e10db75e00a91d73282e0c0bf094004b94 SHA512 3b5dc2073ae44e6cf5a4f8f64a3c3fd837ebaa222009ee617105259765ff4222fb3960be1c537d4fde6c7e928bd85325d9070cb668b31cb6afb03368c079141f EBUILD glibc-2.26-r5.ebuild 25260 BLAKE2B f28cc4e685eb88a500655c60de886dc862495499413a27034bcb6e49db4a5737df081f813cdc1bf06f763fc03b652ad8ccf0b9d0cad3f975b8d7cf9309af1506 SHA512 a1a40a8b076dbaa71d1f778a3e17d1ff2267dddde68c69e2db68a860f6186eeaab083fad5935113d12ed86fd0d0f20ded0c662df29391e211728ec887f3a6260 EBUILD glibc-2.26-r6.ebuild 25256 BLAKE2B 2ee690c964c690d9cb0b4e7da1ed883f26da6e99f5dc86df8b3f6334f36fed90755022a9d4ffb934461f7e0807655f54c85aeb235eedf89595aebf35d2462ac6 SHA512 34ae6b2d21f4816df026e8cee0bb2b925d0a407a28863d10c51e09250e4d6fc144c7920bc71b601aacf3e4c935fbf7c360de5fa510bc21d35fff57ebd057a1e1 diff --git a/sys-libs/glibc/glibc-2.19-r2.ebuild b/sys-libs/glibc/glibc-2.19-r2.ebuild new file mode 100644 index 000000000000..e4a5ff90de62 --- /dev/null +++ b/sys-libs/glibc/glibc-2.19-r2.ebuild @@ -0,0 +1,1393 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit prefix eutils versionator 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="" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" +fi + +RELEASE_VER=${PV} + +GCC_BOOTSTRAP_VER="4.7.3-r1" + +# Gentoo patchset +PATCH_VER=9 + +SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2" +SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2 )" + +IUSE="audit caps compile-locales debug doc gd hardened headers-only multilib nscd profile selinux suid systemtap vanilla" + +# Minimum kernel version that glibc requires +# Everyone except hppa could also use 2.6.16 +MIN_KERN_VER="2.6.20" + +# 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. +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 + !' | $(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 version_is_at_least 2.8 ; then + cpu="sparc64v2" + elif version_is_at_least 2.4 ; then + cpu="sparc64v" + elif version_is_at_least 2.2.3 ; then + cpu="sparc64b" + fi + ;; + niagara) + if version_is_at_least 2.4 ; then + cpu="sparc64v" + elif version_is_at_least 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 version_is_at_least 2.8 ; then + cpu="sparcv9v2" + elif version_is_at_least 2.4 ; then + cpu="sparcv9v" + elif version_is_at_least 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + niagara) + if version_is_at_least 2.4 ; then + cpu="sparcv9v" + elif version_is_at_least 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*' + + # Starting with gcc-6 (and fully upstreamed pie patches) we control + # default enabled/disabled pie via use flags. So nothing to do + # here then. #618160 + if [[ $(gcc-major-version) -lt 6 ]]; then + if use hardened && tc-enables-pie ; then + # Force PIC macro definition for all compilations since they're all + # either -fPIC or -fPIE with the default-PIE compiler. + append-cppflags -DPIC + else + # Don't build -fPIE without the default-PIE compiler and the + # hardened-pie patch + filter-flags -fPIE + fi + fi +} + +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() { + # 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 + version_is_at_least ${nver} ${bver} +} + +# 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}} + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + 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}" +} + +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 + + use hardened && ! tc-enables-pie && \ + ewarn "PIE hardening not applied, as your compiler doesn't default to PIE" + + # 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 + 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} + + 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 ! 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 +} + +# +# 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-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2 + + 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.bz2 +} + +src_prepare() { + if ! use vanilla ; then + elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}" + eapply "${WORKDIR}"/patches + einfo "Done." + fi + + if just_headers ; then + if [[ -e ports/sysdeps/mips/preconfigure ]] ; then + # mips peeps like to screw with us. if building headers, + # we don't have a real compiler, so we can't let them + # insert -mabi on us. + sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die + find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} + + fi + 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}" + + if use hardened ; then + # We don't enable these for non-hardened as the output is very terse -- + # it only states that a crash happened. The default upstream behavior + # includes backtraces and symbols. + einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler" + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die + cp "${FILESDIR}"/2.25/glibc-2.25-gentoo-chk_fail.c debug/chk_fail.c || die + + if use debug ; then + # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested. + sed -i \ + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \ + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \ + debug/Makefile || die + fi + fi +} + +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 + + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${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)" + einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" + + echo + + local myconf=() + + case ${CTARGET} in + 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=all ) + ;; + 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 + + [[ $(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) + $(in_iuse systemtap && use_enable systemtap) + $(in_iuse nscd && 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=$(in_iuse audit && usex audit || echo no) + ac_cv_lib_cap_cap_init=$(in_iuse caps && 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-${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_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_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 + + # 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 + + 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. + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + CC="$(tc-getBUILD_CC)" \ + CFLAGS="-O1 -pipe" \ + CPPFLAGS="-U_FORTIFY_SOURCE" \ + 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() { + # 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 in_iuse suid && ! 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. + cd "${ED}"$(alt_libdir)/.. + [[ -e lib ]] || mkdir lib + cd "${ED}"$(alt_usrlibdir)/.. + [[ -e lib ]] || mkdir 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}"/*/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.25-r10.ebuild b/sys-libs/glibc/glibc-2.25-r10.ebuild index 128bcf1085b3..a286da5e6469 100644 --- a/sys-libs/glibc/glibc-2.25-r10.ebuild +++ b/sys-libs/glibc/glibc-2.25-r10.ebuild @@ -9,7 +9,7 @@ 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" +KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86" RESTRICT="strip" # strip ourself #46186 EMULTILIB_PKG="true" diff --git a/sys-libs/glibc/glibc-2.25-r11.ebuild b/sys-libs/glibc/glibc-2.25-r11.ebuild new file mode 100644 index 000000000000..45016dbcfc93 --- /dev/null +++ b/sys-libs/glibc/glibc-2.25-r11.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +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" +#TODO: restore keywords after minimal testing. +#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" + EGIT_SOURCEDIRS="${S}" + inherit git-2 + ;; +*) + RELEASE_VER=${PV} + ;; +esac +GCC_BOOTSTRAP_VER="4.7.3-r1" +# patches live at https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/ +PATCH_VER="15" # Gentoo patchset +: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires + +GLIBC_PATCH_EXCLUDE+=" 0005_all_sys-types.h-drop-sys-sysmacros.h-include.patch" + +IUSE="audit caps debug gd hardened multilib nscd +rpc 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. +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 + !&1 | tail -n 1) ) + local i + for i in "${args[@]}"; do + if [[ ${i} == *libclang_rt* ]]; then + want_gcc_s=OFF + extra_libs+=( "${i}" ) + fi + done + 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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + ) + fi + cmake-utils_src_configure +} + +multilib_src_test() { + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die + + 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-6.0.0_rc3.ebuild b/sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild deleted file mode 100644 index 8d32cbd678f5..000000000000 --- a/sys-libs/libcxx/libcxx-6.0.0_rc3.ebuild +++ /dev/null @@ -1,198 +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 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-multilib llvm python-any-r1 toolchain-funcs - -DESCRIPTION="New implementation of the C++ standard library, targeting C++11" -HOMEPAGE="https://libcxx.llvm.org/" -SRC_URI="http://prereleases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -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 -} - -multilib_src_configure() { - 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 - - # 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 - # get the full library list out of 'pretend mode' - # and grep it for libclang_rt references - local args=( $($(tc-getCC) -### -x c - 2>&1 | tail -n 1) ) - local i - for i in "${args[@]}"; do - if [[ ${i} == *libclang_rt* ]]; then - want_gcc_s=OFF - extra_libs+=( "${i}" ) - fi - done - 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 - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" - ) - fi - cmake-utils_src_configure -} - -multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die - - 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-6.0.9999.ebuild b/sys-libs/libcxx/libcxx-6.0.9999.ebuild index 55b19b88f38d..cf76bba5fdfd 100644 --- a/sys-libs/libcxx/libcxx-6.0.9999.ebuild +++ b/sys-libs/libcxx/libcxx-6.0.9999.ebuild @@ -15,7 +15,8 @@ PYTHON_COMPAT=( python2_7 ) [[ ${PV} == *9999 ]] && SCM="git-r3" || SCM="" -inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs +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/" @@ -138,7 +139,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) fi cmake-utils_src_configure diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild index 9ad293ef7869..214c61d31f67 100644 --- a/sys-libs/libcxx/libcxx-9999.ebuild +++ b/sys-libs/libcxx/libcxx-9999.ebuild @@ -14,7 +14,8 @@ PYTHON_COMPAT=( python2_7 ) [[ ${PV} == 9999 ]] && SCM="git-r3" || SCM="" -inherit ${SCM} cmake-multilib llvm python-any-r1 toolchain-funcs +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/" @@ -137,7 +138,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) fi cmake-utils_src_configure diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 6d78a53b99c0..1ca1a97d3008 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -3,15 +3,15 @@ AUX libcxxabi-3.9.0-test-unwind.patch 1110 BLAKE2B 575be8dd84b6acb11e3c81f2a2079 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070 DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe536a0b5863ea7dd3c8895f6b743b6f039e4df71f9ba5124c98761a8099666f68e1dfd073b5ec7b9fe0007ef09a9117d SHA512 91f3f397be606989be99865d0b279557f9afb93f7a74ed10c3a74f4440e38b5694ddf452bbf2f487cacd4391606dd5c7edfe5130f2de19e2acfd6cce619d028a DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c -DIST libcxx-6.0.0rc3.src.tar.xz 1554184 BLAKE2B 87c55bf9a18aa6fff2cd6c323ac99454273686e2697b0efa3152114ff402a4015e9b6bb6236bc0760b97d9f8038b70b56da4b9fd3ac3e7b31bd4305f881f216f SHA512 0d42d0298d824c6adca3c85bb0c49534438278d27c2777609887f5c6bee5d9bcc9f5595f2835f5149a00335a0e3096a056969388d13088457a2853e70cbea966 +DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3 DIST libcxxabi-3.9.1.src.tar.xz 510964 BLAKE2B a6abda1b92473781ea3029169c43547f15c1aa6e0ec6f9692ae633d109e050a6ff82ce8bceb0455375991b85c99784a4f06a568b8c77a4cf2865b9b2861e9595 SHA512 4f5603f1476b759c86d4784728fbdd212c59b30dc56d787c1834bf68a9cd83071fa22658d24e5a58beb94c0c656b0e4457d7da6e3048715dd36bd68380fc336e DIST libcxxabi-4.0.1.src.tar.xz 515820 BLAKE2B 7d9e0dee4f6cb3eaa22647d959f8bf3d86779f8c51c0738143ba3daca83881daacc0663a1d2463507c8c4b8a1b9e1d5c111b829e5af2cb5b6f86bae8f06a0d47 SHA512 e94315ba8a507d8481d70c33e7ab2d724d51726edb8412c70a1b5f59e3f15d5825f1502dc2db138b20e5293fb90a184050be94d5ac270fd7ce78b502efb9f86a DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884 -DIST libcxxabi-6.0.0rc3.src.tar.xz 529040 BLAKE2B a88c098ed0375e5a3f515bd791819ef1e01378926402724cd1453a485228aa0f67ba5944eca0bb67e487876acb8843f8a5045e86dd3d7aece954262bff92f833 SHA512 2f777f4b391175dd9a3cc28aa4edab82ffa0b292f1e0bde3ed996047f4caf83ac7b2cf197ec415140aaef15f55da60d5899fc6b4af2276ae4ae39059607bf9bc +DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e EBUILD libcxxabi-3.9.1.ebuild 2646 BLAKE2B a1f66067e57f09aca9d2f44735f3c7b01af38b381ecab526f9bae8ffbc5c96856c5a6d8c829b2d95f0a0afffefd319670c8484c826ce81b94a63c51bb53ed114 SHA512 4849fbfe11876cb403d78852abd6df27a0dbeada69c15fd1af6e7a20d742fcca064b227592e3ac69e32546cef94c790f28d63d40c8522213a9910f0b625ea379 EBUILD libcxxabi-4.0.1.ebuild 2491 BLAKE2B 9f0bf316a6c451379291ab2825411f1a11c5924a4b9aa2dc7f742961c15072572240f945583373a3016be4cfde7993c123cb72cc6a93d31a56a7037d126f7df3 SHA512 fea9cfc1ee9389aad2e11a63802de0dd7c2f2e82ccefb5afa25349b64bba296022f293ffc66c5ba7c8e704513b17a77d911b2de7ef800db5f9a484596a9e147e EBUILD libcxxabi-5.0.1.ebuild 2570 BLAKE2B d53b97db7f0e3db97255f93ef6458fe3b4b4a2ad505ee7e1736460b64c08d11caee3841057169e914ebf0596eee2e68074ba8a2eb825c34a88306116f1522fa1 SHA512 cf2d215bf05a61e043277c29e9297ac021db01eb9a8aab471c38474f9d13f7498326ca6ef04443cd5af983a2eb2a840f6793bd7deb7f0042ba5cc81ac05d400b -EBUILD libcxxabi-6.0.0_rc3.ebuild 2600 BLAKE2B 5f4102bb5ae49658d099d0b90b35419a28a1ec6d36af5753689916ba2aa1daf0eaa0191af8880dad4dfc02d2b8342432e5c1e35b88b387d7d4e9c1e337535da5 SHA512 06976f9226ffbf65390ee79e7f3a40f49e218dcb4e84c27598191eb112057aa6127b41209d9870e5b37ca69631e1d01728591ecb8ae8959f455c7d88599c8a94 -EBUILD libcxxabi-6.0.9999.ebuild 2547 BLAKE2B aedf03ba137b00849132ebee2365be2150032f9ee70a797808cf3755ce1269f9619e34d960096e31edcc100140da314bef8332a0b9d6879f63920e838ba9a295 SHA512 c7f2358aa093e545fa6dfd4a2f2b2dd489411abbd2ad2c38423b83cebf6f8079e6c0b69529d70b72d7ce1c0ac2386619f47ff77cddfb6a82f93abb05896bdfda -EBUILD libcxxabi-9999.ebuild 2522 BLAKE2B fb23d54e3810f2bdd0cc39225d63cf02ec116c4ad0b10c6164ca9e53044818dad09ed52e85a646efd82ac89c3f4c349bb684a967a5babb0b3682a1d6529573c4 SHA512 b54d92ec2aa7f6d47dd66c8fca0aa800bd691651c6462f56f9f7b0a1c90ce3ba77212aba47c68c41ad9564fc6b65e406e1927b1ec950a66d808b2a9240c4dad4 +EBUILD libcxxabi-6.0.0.ebuild 2685 BLAKE2B 5fc16223419fcc430999750c059864f0f94d89befd3ad99233b033f205a1e48d695fd230c12d5a6d67a211367f3c312e837d6798541996e7ad905477e1a20a49 SHA512 0f0942fa9466973593ad22beae7dbc7b00f1e7697e75ba75440366af50013280ca2dbbe07be986b8b8ffc158d36fb1eb4cdcf8d7eae5a4baf1a92921803a3820 +EBUILD libcxxabi-6.0.9999.ebuild 2625 BLAKE2B a380210246a0875eb5b505c04ae43bc337d8ec175d559f685faf6346b2928bdf7788202097e0253083447af626e9ccb045e9022b0e4bd3e702ea14afb3c795d6 SHA512 f4228a84828bb3df7085283bb11936d9f94f371a867ffe519ccac66a8c899cd8cec0d2d05b62746989d65ae59c2a244e7d681c07f0ba8ab41e893e93f88841cf +EBUILD libcxxabi-9999.ebuild 2600 BLAKE2B 42fc6777627a3a3575508c2626df99dc98d6d3417ab27f79c36e4883cb8a6db32a979181a750105a3c0cad55bc9c96272865e9f60d4bf023508163e9709bfc19 SHA512 63f9bd33199ca54165c2dca0e7b1d10d120404a3789abb8fedcbdac10b26dc0a874beeab196efee92382134645aa90f9ecd5b2108dde579f1be974b82238edce MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild new file mode 100644 index 000000000000..a341b98885b9 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-6.0.0.ebuild @@ -0,0 +1,100 @@ +# 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 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 ~x86" +IUSE="+libunwind +static-libs test" +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 + ~sys-libs/libcxx-${PV}[libcxxabi(-)] + $(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() { + einfo "Unpacking ${MY_P}.tar.xz ..." + tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + + einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." + tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ + "${LIBCXX_P}"/{include,utils/libcxx} || die + 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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + ) + fi + cmake-utils_src_configure +} + +multilib_src_test() { + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || 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-6.0.0_rc3.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.0_rc3.ebuild deleted file mode 100644 index 4524b382654a..000000000000 --- a/sys-libs/libcxxabi/libcxxabi-6.0.0_rc3.ebuild +++ /dev/null @@ -1,100 +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 llvm 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="http://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz - http://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="+libunwind +static-libs test" -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 - ~sys-libs/libcxx-${PV}[libcxxabi(-)] - $(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() { - einfo "Unpacking ${MY_P}.tar.xz ..." - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die - - einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." - tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ - "${LIBCXX_P}"/{include,utils/libcxx} || die - 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 - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" - ) - fi - cmake-utils_src_configure -} - -multilib_src_test() { - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || 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-6.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild index 3018d56a299d..b9675a9e147f 100644 --- a/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-6.0.9999.ebuild @@ -8,7 +8,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-multilib git-r3 llvm python-any-r1 +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="Low level support for a standard C++ library" HOMEPAGE="https://libcxxabi.llvm.org/" @@ -77,7 +77,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) fi cmake-utils_src_configure diff --git a/sys-libs/libcxxabi/libcxxabi-9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9999.ebuild index dcf9e5a2123e..9cf976d80c3f 100644 --- a/sys-libs/libcxxabi/libcxxabi-9999.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-9999.ebuild @@ -8,7 +8,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-multilib git-r3 llvm python-any-r1 +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="Low level support for a standard C++ library" HOMEPAGE="https://libcxxabi.llvm.org/" @@ -76,7 +76,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) fi cmake-utils_src_configure diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 43525a0f3d83..5bbbdaf24bd6 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -9,14 +9,14 @@ DIST openmp-3.9.0.src.tar.xz 2257596 BLAKE2B fae0e3e36afcd1a223030f09209865ce706 DIST openmp-3.9.1.src.tar.xz 2031588 BLAKE2B feafb94a832ec48a67d6e00720724dcecb533a4a09e0d69462af33e13454b20393aa21fabb062c362824cdfbee712db1030732271e4cd49085fa69cff9800835 SHA512 80924a6f9765f634d24d7b0aa036d92c912dbd8e067487a14bdd03b4c587fdfc92e83eb29926bfa637ef45be3f133a924f77ab12099ea3706c18e9c42774708b DIST openmp-4.0.1.src.tar.xz 2275240 BLAKE2B e63cf670c4cd2678afc4d7b96be85c3d157bf91a69510f980d9a0a07f61b449b22ff28d63753f32e63afedb4a7077c662a633f689a660b5047a83bcf1fb7f009 SHA512 0b737dde832c5907a0cac41fe1d594b61e85dd405eee42b39f09233db62b44543204ccc775e52e2981f9c9f0683b234526e288a3a7a04f712280fb3a575abcaf DIST openmp-5.0.1.src.tar.xz 2075472 BLAKE2B a4da4726a17dc0fd083e11fe1bebf446978137aa4453000e8fea950021fff091a818246f0817dd60ce67353d3f7d75ab8fec2b9e955389d9c94e195945efda50 SHA512 4493b918fd83ef26e2b3f3429d1b00d722328e4c9697ac7625a390834f6e88ada8e5b02ce0ecb4771129207b1b81a9d171f4599ab9388762a3c6db0afc499ff4 -DIST openmp-6.0.0rc3.src.tar.xz 2272612 BLAKE2B aaa8cf979c98459c23d0dacf6dc8630ea7adb0eef815e99188034b6f01e46c5ab78274f69b7ab3ea3e8f66b4192b7d02fc448b0f32c27c5336e8dafc9adc5bb6 SHA512 0c4407821b6e5a0f89fa69c81ba891f641d0cadd1fecc4712e488a4e040ecccb84e825a774d0e660d5cc41962d3b3a10084085b556c73f4d4eb48979b1a7069a +DIST openmp-6.0.0.src.tar.xz 2272360 BLAKE2B 2fbbdbbd0262ac3161446a4e7a3079131254f962a5397a94913abff024ba3f66affe419c58fb0f6ab602e338a277ab2befbc4386eaf6d4c11aa4a9713315d562 SHA512 9dfb070a3fae883985e3c8cd357c21a2144b433824139e288d4d3c774dd9cf3f7949978976012b08c644cd4a04be8c65a810c2f33d66eee05d3d980e61413a06 EBUILD libomp-3.7.1.ebuild 1368 BLAKE2B 31a4e2b6cea595eedf00655e46a11e235c52a03c278bef9f61586e35fc59d288c63d1416880ad0e70cf6c935bd3466437ff7508d208c6153e19e6b5db12f46ca SHA512 ae3b3688f05694e867d98f1a02ef70a36d95b457f0fb369c0f60c86ee4b1a37fab860d1866bf437c6a4344b96904618e717b3a3a5ec7e6756065e4d5e35c9a3a EBUILD libomp-3.8.1.ebuild 1368 BLAKE2B b686505a85cd3a343808fa1343d0fa6c31c8e66c43c81f92152553c4e996ba88000def2355ac079e2b7b0755efe064596ed7b51409443a1143287c6a1a26e6e1 SHA512 7ba7b4fccdbc2e9a69f73f5fafd985f862b4b28eb3f775d2650e78a2596826b1d8d947aa6e19f708572409139ea094da0d1c24ee35fb3d8812f8363bd948b3c7 EBUILD libomp-3.9.0.ebuild 1264 BLAKE2B d47970eb3edd24601f97770c326f9274849425ae33aa745cb3544f91a0475944bd1d637b7a50fe3ef0f4643f7fb7adaa91756ca79acf556216362e8c8e1c53b1 SHA512 e0772254fd1ccf735a4325a41bcd30eaaeec30063a541b9f77a5295e1674e0b4a38af86738bfc9a71f4196b81945cd7c08655fc468105aa11d24c38d303aac0a EBUILD libomp-3.9.1.ebuild 1326 BLAKE2B 4e1c5178e66a3d4371556bcb26fab5ea84e2bac1ce0abb127d68bbe09f4e735d6d8ed4404f19bb6d8cb4808a782a5b72c9425e4acd2fe2cc97ebc3372de1c72c SHA512 99afa3364dfe73c52792e1f0c4cc19c9beb1fdb28d7fd009a778c351f86fd1759a1c4bfcd46194890b51f227844c063fed53085d78c0b91351858ed517e42794 EBUILD libomp-4.0.1.ebuild 2527 BLAKE2B be262aa449e8d3c2392793b8af597c7d9a02e624f0d57ad8b24ef822bd57f6d243200ccee1022c18dcc52fc2d198d6aa2cfe83a1224f614ce0b2305f3f6bff69 SHA512 ca34a666e1aa6e767cd979866bcdcaf55da75dc8faa80d062e718ceda56576c3ebec88972787ae5dc4532bfdeb2d7f34f233b8c4983bfb1bc89bbd443ac54ac7 -EBUILD libomp-5.0.1.ebuild 2374 BLAKE2B ce1c736adf6fc48ce5ca50e167f64a6599a02ee633001ac0395a4eff020fc58a2eebad227155d2ec65684797e5c4c92dc4ff2cf7e9603925f72e202873c1eb9a SHA512 a3ec9c48c1ada76cbe2b6333354074a6d18e9f6430a787848d558df0ab7b5af7c763ce0ef939ed7073e6d97fb30db38cf8c7b9c9d082d3883d22f541e5d3f534 -EBUILD libomp-6.0.0_rc3.ebuild 3123 BLAKE2B 4bf63520787935ba5ab25eaa0b0f1e452c7fea5c977364d00ea402c52082f0af1e1ff4c205c1cb6692216747b95cbe153d9b9704f1b60ba20f6e41fa382f94d9 SHA512 438c4a0a565f7ff2e02f5cdb3e9c5981340f4f66943a2297a994ff3bdcc31825b8f7979ef90bd8df5ab9b1a48bf405f18f5a465edcd11104f11bf8eba7b0179a -EBUILD libomp-6.0.9999.ebuild 3152 BLAKE2B cd49f1915259f6809d6ea0cf9982c2341303eb77d9ee43659e610e32f5f259371a3be13ab18a6abd966b492734821d9a6d2dca186f0ed4c6ff55677f5a113132 SHA512 013720ff9620d5ae03d8e4278a5f59661aa4bc16514858f11592378794cea992171d0296101ee25b90b3dcbacffc8330232c244e3211de29edb9aae487f9b58d -EBUILD libomp-9999.ebuild 3127 BLAKE2B 883bd819cb626b80d8b0b8fb89b8673f344ba7beb087c7385b065602c1e51997e0086390181eaa8e3b26ea9714b1bd27b593c87a5f68c6afb3a74432a4c61a3d SHA512 66f06b08baed4b556baecc3809be85b5c3900555cf45792a296e5095fb3b4b039c6d653594a55e30c4063599b07a6413e610aaada592e2dddf7e301420e05ec9 +EBUILD libomp-5.0.1.ebuild 2385 BLAKE2B e887b48183a5e2d8f4f5476579ec88f99d0b709ea4136914978014e51b8d63451d62c5216690b908d7e853141266831a560a1802945d88fe5940d30100b6cbdd SHA512 a36ce91d70d506f9baa07f2aca394325e382b794e0797ecdb308eb98fab38079ec8b5ca10d1c7368ec06275b76c1487f581a4196f0499645edab4b34e974a594 +EBUILD libomp-6.0.0.ebuild 3234 BLAKE2B 74be9247ed5784fd3ea048217b6f397ef39ac450cdeeb4c0424860fdd1fd258136bf661194ad9a495f82d47dbda1b413e80d9d4c6351a29c1564de468729c969 SHA512 223ddd48c238abc47078dee26f8c0d12aa54c1b41ef4ebe0ce6d1bcd51fcb9dda4283a38b4c5cb210ef2ae33d8f148abd76aa32b1d48b9d9afee594a315e6195 +EBUILD libomp-6.0.9999.ebuild 3230 BLAKE2B 41ec1fbba984772804d57665c6a13cfb075045acb8d5d0880d165cfe6dc59a82df8c2ec1e5fe6da02c2ebc861b48b726879bf40e593ea0af046aa281021a7f7a SHA512 71ce8131d2a1108d81282bab1aa08bbe1cc2af4be751110c4e76c65d8eef06befa1070ae3876b48f4285a6c6c2ba8d041dcf9b618987ec6ac21c86353ece92b8 +EBUILD libomp-9999.ebuild 3205 BLAKE2B a8bca945602ba1b5045f473a2caed666242ec3ba75440ec6ef98ebdcf1fbf146c775baf142dfc47f676946b90c0a3cea797d7fdade4565d3467ef7b5b5481001 SHA512 4021e79b4057c3a86ce3f330f8532a3cc566ee64c9894c9f3c2bb402bf37431717105a5601b11c7413e71d965657dbdd6be2d215d4bafaba916fb0b371270cac MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-5.0.1.ebuild b/sys-libs/libomp/libomp-5.0.1.ebuild index 2f44396ca635..ff6a18b94d8b 100644 --- a/sys-libs/libomp/libomp-5.0.1.ebuild +++ b/sys-libs/libomp/libomp-5.0.1.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz" LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" SLOT="0" -KEYWORDS="amd64 ~arm64 x86 ~amd64-linux" +KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x64-macos" IUSE="hwloc kernel_linux ompt test" RESTRICT="!test? ( test )" diff --git a/sys-libs/libomp/libomp-6.0.0.ebuild b/sys-libs/libomp/libomp-6.0.0.ebuild new file mode 100644 index 000000000000..ebe51c4b496b --- /dev/null +++ b/sys-libs/libomp/libomp-6.0.0.ebuild @@ -0,0 +1,115 @@ +# 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 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 ~x86 ~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-sdk:= ) + )" +# 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/libomp/libomp-6.0.0_rc3.ebuild b/sys-libs/libomp/libomp-6.0.0_rc3.ebuild deleted file mode 100644 index 98935fa8fbc4..000000000000 --- a/sys-libs/libomp/libomp-6.0.0_rc3.ebuild +++ /dev/null @@ -1,115 +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 linux-info python-any-r1 - -DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" -HOMEPAGE="https://openmp.llvm.org" -SRC_URI="http://prereleases.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="" -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-sdk:= ) - )" -# 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" - - -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-6.0.9999.ebuild b/sys-libs/libomp/libomp-6.0.9999.ebuild index 01d1bd791b82..b8f4d8180a5f 100644 --- a/sys-libs/libomp/libomp-6.0.9999.ebuild +++ b/sys-libs/libomp/libomp-6.0.9999.ebuild @@ -8,7 +8,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-multilib git-r3 linux-info python-any-r1 +inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" @@ -100,7 +100,7 @@ multilib_src_configure() { use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" - -DOPENMP_LIT_ARGS="-vv" + -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++")" diff --git a/sys-libs/libomp/libomp-9999.ebuild b/sys-libs/libomp/libomp-9999.ebuild index 75dd8476fff5..0616de8eaa0e 100644 --- a/sys-libs/libomp/libomp-9999.ebuild +++ b/sys-libs/libomp/libomp-9999.ebuild @@ -8,7 +8,7 @@ EAPI=6 CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) -inherit cmake-multilib git-r3 linux-info python-any-r1 +inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" @@ -99,7 +99,7 @@ multilib_src_configure() { use test && mycmakeargs+=( # this project does not use standard LLVM cmake macros -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" - -DOPENMP_LIT_ARGS="-vv" + -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++")" diff --git a/sys-libs/libsmbios/Manifest b/sys-libs/libsmbios/Manifest index 1af1a05d089b..26d8103e52e8 100644 --- a/sys-libs/libsmbios/Manifest +++ b/sys-libs/libsmbios/Manifest @@ -2,10 +2,10 @@ AUX libsmbios-2.2.28-cppunit-tests.patch 350 BLAKE2B c735096c5fe0e33eec728e28009 AUX libsmbios-2.3.0-doxygen_target.patch 305 BLAKE2B ba3e149fd8a792a1b589938fbe6cd895e30298685c4ceab61e45ff34c171126389ea0e1c15a18661ef1b4528f41587ce4bc7f5fd7f076e099894ebe19de0a5dc SHA512 f1f85f052265d88f4735a18ce0205a56256dba5416e6153291d27a4f958bbe9618401b1b70a5e462d12287490a42fe5a6e5e196091b9ec2afa01728a7910815d AUX libsmbios-2.3.3-doxygen_target.patch 351 BLAKE2B 100ca4d508b8441bdf6c678768fe67a8c91ee9a1d1b353bd5ba856ff1df1ea3cf503b922b9474f7b3d79a9ed504d9f9b9a10a259194c53cbb2a7a3e3fa5263f2 SHA512 d86df4b1c3ab389360d07f4fab84219bb03e270e77984996d7c53d55b4a0e5a29e2d097e79da5a49f7be0ff9118722aaa955acdbffd4d59cbefa7a1a0ad6f1c3 AUX libsmbios-fix-pie.patch 816 BLAKE2B 73d2e9611bd672332bed58adee52cbac6285d1e07b259ffbcd3d37374b772a59355c49f231dcb4005b7897f12d847f58eed8139531f250906fd0a1db05843cfb SHA512 2567fe1dfe2e858103c3732e7059888731c207234022a24c1cd4b158253330699af6b2e90cf98881e57e0b7cb8c70a8627fe1d7eb370f2cbb3969189538baf7e -DIST libsmbios-2.3.0.tar.xz 830840 BLAKE2B 1ddbddd5c9837a44cfbd97bdb1862a90137ba6caf7c19fe4cdde1e7dceef1a6f2c9bcba6329a5dde6736d6b252e37cbb100ba9f555d0dc15a0946fb1717c7f3b SHA512 944df2dde0df8a02d4c5a84ff6e535e112e6d72b81177c8faba7c45b349ec8c8b2149439c4dc6ea834c5eedad1ac59d8bf073a3d48bf7caccc73d0317f00e216 DIST libsmbios-2.3.2.tar.gz 800862 BLAKE2B da888dbe3b3dfa10b39fbc4da90fe643982abc49f756f033d492f29d06631c722da7ec11a2b77780c06a74b7b0e3f70d5d3fc1ce895be7a7c8d136f654a22f7e SHA512 6ef3d71892e157d81fc466689b67c19b83567ee1c4893816da935cfc42738cf958f972eed811aad375fee5bb7d4a6b4e13fb1b5760cd0d7cdb5e65170ebeb129 DIST libsmbios-2.3.3.tar.gz 801164 BLAKE2B 22d04d4071ec3111d80acbbc10dbd51c15e5f8db06575f3079654da42e33dbbfcb364e1bdc8470d2a66475159da1179cafc9ae5284be0c35c4199dc5b16a1a2e SHA512 d4ee556fc0b734827e1a0def9c9914e79130ce9f164f62a5aa752276772f9ed27874fd8a285b65e016f16f001cdfa23c7c9d228533bb8a03134db90b9cc4f96d -EBUILD libsmbios-2.3.0-r1.ebuild 1825 BLAKE2B 18f23c34caa95ecf756ad2662b5425ca22156c2a2862f7508cc28ff2b62b60e18e9d04b6636ddc5d8521243f85233af6d2dc3c7fd4fdc1c386b6652746aa4311 SHA512 62b0a7bca4d2c04f529f379eaaf3e8b68bf8932f8bd9700be223a25a98040d26ce1a075dcbeef254cf5da784fc088abe32af8f75ca0e15527da4d2f9b10bee41 +DIST libsmbios-2.4.1.tar.gz 667796 BLAKE2B 119198783004215c269ae0846aad58fafcdd0ee2148e0014f77271c38511cc61430db2b81c43bbc0da507b40342c923731e06c61829f9604b84b26f7f527b37a SHA512 dd71e45f8047480a669b70efebb9bdbbea4870f96437fc45eb4088fd66331d117b29a65c45cee2e5c4628d0536072a5939eb83f1905857a85bd0567b3d1c22fb 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 MISC metadata.xml 564 BLAKE2B bc9809af663bd6abb97b0fd1e91b520e3827f8d6656f774093944217907c2246bcaf55cb123dca43b2acdcee5aa24657dda9384d3f081c45e82d3c4f5e05e61e SHA512 d32499f8dc915da23ef8ce3b0f799d213d5cf700da8b80c83a94770d7fef72bc22ddbfbecf92e49c8ea0f56c4c2b718e53563a450870a77d7cdd3d3c5f610b1a diff --git a/sys-libs/libsmbios/libsmbios-2.3.0-r1.ebuild b/sys-libs/libsmbios/libsmbios-2.3.0-r1.ebuild deleted file mode 100644 index 9c7ce6e794e9..000000000000 --- a/sys-libs/libsmbios/libsmbios-2.3.0-r1.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) - -inherit autotools eutils flag-o-matic python-single-r1 - -DESCRIPTION="Provide access to (SM)BIOS information" -HOMEPAGE="http://linux.dell.com/libsmbios/main/index.html" -SRC_URI="http://linux.dell.com/libsmbios/download/libsmbios/${P}/${P}.tar.xz - http://linux.dell.com/libsmbios/download/libsmbios/old/${P}/${P}.tar.xz" - -LICENSE="GPL-2 OSL-2.0" -SLOT="0" -KEYWORDS="amd64 ia64 x86" -IUSE="doc graphviz nls python static-libs test" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND="dev-libs/libxml2 - sys-libs/zlib - nls? ( virtual/libintl ) - python? ( ${PYTHON_DEPS} )" -DEPEND="${RDEPEND} - virtual/pkgconfig - doc? ( app-doc/doxygen ) - graphviz? ( media-gfx/graphviz ) - nls? ( sys-devel/gettext ) - test? ( >=dev-util/cppunit-1.9.6 )" - -PATCHES=( - "${FILESDIR}/${PN}-fix-pie.patch" - "${FILESDIR}/${PN}-2.2.28-cppunit-tests.patch" - "${FILESDIR}/${PN}-2.3.0-doxygen_target.patch" -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - # Don't build yum-plugin - we don't need it - sed '/yum-plugin/d' -i Makefile.am || die - - eautoreconf -} - -src_configure() { - #Remove -O3 for bug #290097 - replace-flags -O3 -O2 - - econf \ - $(use_enable doc doxygen) \ - $(use_enable graphviz) \ - $(use_enable nls) \ - $(use_enable python) \ - $(use_enable static-libs static) -} - -src_install() { - emake install DESTDIR="${D}" - - if use python ; then - python_scriptinto /usr/sbin - python_doscript "${ED%/}"/usr/sbin/smbios-{{keyboard,thermal,token,wakeup,wireless}-ctl,lcd-brightness,passwd,rbu-bios-update,sys-info} - fi - - insinto /usr/include/ - doins -r src/include/smbios/ - - dodoc AUTHORS ChangeLog NEWS README TODO - - use static-libs || prune_libtool_files --all -} diff --git a/sys-libs/libsmbios/libsmbios-2.4.1.ebuild b/sys-libs/libsmbios/libsmbios-2.4.1.ebuild new file mode 100644 index 000000000000..b69287953702 --- /dev/null +++ b/sys-libs/libsmbios/libsmbios-2.4.1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit autotools flag-o-matic python-single-r1 versionator + +DESCRIPTION="Provide access to (SM)BIOS information" +HOMEPAGE="http://linux.dell.com/files/libsmbios/" +SRC_URI="https://github.com/dell/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 OSL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~x86" +IUSE="doc graphviz nls python static-libs test" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="dev-libs/libxml2 + sys-libs/zlib + nls? ( virtual/libintl ) + python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen ) + graphviz? ( media-gfx/graphviz ) + nls? ( sys-devel/gettext ) + test? ( >=dev-util/cppunit-1.9.6 )" + +PATCHES=( + "${FILESDIR}/${PN}-2.2.28-cppunit-tests.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + # Don't build yum-plugin - we don't need it + sed '/yum-plugin/d' -i Makefile.am || die + + eautoreconf +} + +src_configure() { + #Remove -O3 for bug #290097 + replace-flags -O3 -O2 + + local myeconfargs=( + $(use_enable doc doxygen) + $(use_enable graphviz) + $(use_enable nls) + $(use_enable python) + $(use_enable static-libs static) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + emake install DESTDIR="${D}" + + if use python ; then + python_scriptinto /usr/sbin + python_doscript "${ED%/}"/usr/sbin/smbios-{{keyboard,thermal,token,wakeup,wireless}-ctl,lcd-brightness,passwd,sys-info} + fi + + insinto /usr/include/ + doins -r src/include/smbios_c + + einstalldocs + + if ! use static-libs ; then + find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die + fi +} diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index b2d83724e62c..4e3ab1939aed 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,18 +1,18 @@ AUX libunwind-3.8-cmake.patch 3454 BLAKE2B adb76914f1d08a4434c9d8aaed170e5067c3758d94c658a3a838d644a63e1eda946211c6962a75eea64b828ed60217521d8dcbcc60ad1356e1b667776aa771da SHA512 5d0a72e91a99e60f22239d56bf0998b0ae1df448ebf461c00bf6fe9eed0fa0579041bd98a9b50dfbe2d6a4490bbb8ede5c9b2fe76743f9f5b84770b4563377f1 AUX libunwind-3.9-cmake-static-lib.patch 1855 BLAKE2B 9ca4a2e8b8bdf3b9bcd8d2abda1ed1d5683f34b093347d01d383eb7f1ee65cf0100a740cde2511df3a81130c0b25604bf070f572c7c0629f6e81faf9263f45cb SHA512 1d0c5859394d027fd0b30ae30caa0aaee94e3880a16d1f46f318221f3062e126c25c6f20cdf087dc9b37d92517df499b0f79294a6e17c8ac5da694c0d825e9bc -DIST libcxx-6.0.0rc3.src.tar.xz 1554184 BLAKE2B 87c55bf9a18aa6fff2cd6c323ac99454273686e2697b0efa3152114ff402a4015e9b6bb6236bc0760b97d9f8038b70b56da4b9fd3ac3e7b31bd4305f881f216f SHA512 0d42d0298d824c6adca3c85bb0c49534438278d27c2777609887f5c6bee5d9bcc9f5595f2835f5149a00335a0e3096a056969388d13088457a2853e70cbea966 +DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3 DIST libunwind-3.8.1.src.tar.xz 60596 BLAKE2B e200beab1388dc73a4ed6b1be0c4931124e48e21a3d5cc0bf01ac2ce57bbc2295bd0f72acb8fc08556aed963f0cb220bd3e47c3c953f570cf2860ae822a270c7 SHA512 2a60d7c4b0aee6c58f50089ac9fa2b756ab1d74faaee32f7436ddace4510589c7ffdd20478919966ed2fa8a23ee1b5d1b26115dbd8ee2834b00b5bcd61d00b14 DIST libunwind-3.9.0.src.tar.xz 61764 BLAKE2B 215aa7cabf9e5d8d3e3dfc3bad50f0aad1b4d2d6bef96ac4c14d987b6aa4afd0a1c0f186d63d84edcc822fd8495a000b2a24899e61176831e0ddfabea1d5c3c2 SHA512 dce384bea99ed61b363b847e20946fc9d70377389a227cc7054fbaa916e7cb5ba0b9d89f0df6ed33409dbf38beefd3654c18c1abcf0e50b5d0315ce0135a1d25 DIST libunwind-3.9.1.src.tar.xz 61788 BLAKE2B bab410d714e2dc012273997bb3fb3c366f64608b712eae15f8c08a2b049b6bdba0660a1f4942906e2e9cd7b11563c8a5b3007b92b1485c32036ac84f55fe7053 SHA512 a80f5d0660e209f5bf709316b5df2ca63b9f0db49f5f74dfe9c9e580c654f61a15acc071a739fdb84baf5ffa9420b92498f8560331173642d80f6b74e1e2afb7 DIST libunwind-4.0.1.src.tar.xz 63388 BLAKE2B f49772beabaa8519a5f8dbbaef9c2d6554468a66b89a5f012946d59f772fe864809a5c95b726bcb4c059ca551a4eb023a88f4fa618756b34fef2058e272467e6 SHA512 8a0552a8ab830010d81420f4b778a3b831bff85b19bcce972958fc30e1ba5a2fa26a3deba499985a43dd7a103690775f6a20e7b3edda55f4eaff3541002d6b59 DIST libunwind-5.0.1.src.tar.xz 72180 BLAKE2B da1fbb92e9953d018a3c30290ceda9a2a18c21b5c908d9ff65979158bd06b8866eb74f078d12832e2aed7d0332c996262e3b2a1341844eb933ba3de5fb41ff98 SHA512 6c0f7a286c1ffa46769685ee36604cd90ed40470e1c3d3ef03c46bcc9e5f9e36e68a0a1f67b9b300823170b48c9b8d2db4625afd885f1d024905db1dffd9fc49 -DIST libunwind-6.0.0rc3.src.tar.xz 76580 BLAKE2B aea93dc8261d7224c5e864d43f8a74bef4e7917e1ba620f4988a63b470370ae49f092c1252fb8f3da3905b5db452a05df12ab4875542bab7142d4ad995b58bf4 SHA512 e98ef7c0e74c65e99f261f32c95de6fb9f941656da8e42eeeb89ddfbd0c56f75e69da5baa7329c007d036bba76d20b1d202ed3e42fb0ab1d348e99d1e8ab4f1b +DIST libunwind-6.0.0.src.tar.xz 76600 BLAKE2B 7767f3564ef72b6049c5247881e09e6c56ccd24acc1b7a1742476c4d01b2be792afdc73c8138ca5b1549be9b83267e6a7860aa085514d86eac90545219dae835 SHA512 a35e992223f094bdac5f1565806fe485a878f9baf4502e7f3777276f5c11aeff4beee155512b1c687f4471f34acbd50c834e98120093cf2582007422cec7fb2e EBUILD llvm-libunwind-3.8.1.ebuild 887 BLAKE2B 3907895101351e22b913f3362d6c9c68790f1ee95c22d90980aa7e90a0373173830afdbac9298426a21e41dc8af17b8449e4f00b9c532173dc9d4a993b9f0fb4 SHA512 bbb072b142bf07850f2ff7ae59d4f46693bd7b43b326860c76c232d206fc129541eb658e6f31d5103115b572ecc5af408617be4ab3af04ed520000360df38bad EBUILD llvm-libunwind-3.9.0-r1.ebuild 1182 BLAKE2B 8a01875c7c57c4c4052d0bc6807945e0a086106135a73e08b5f18b52230d36e5eff2b57b1d8e26cdaab4e8b57da045fe59788966a97014d2d32cbe0f70c525f2 SHA512 409250525e1697964c71d8abf80d64da6da8361324db073fb4ab6facc5dd4a93d65a98aec0a52ff895ed865d7d102c8ba2c9c4fa51cc6cffd9bd73f1477d6992 EBUILD llvm-libunwind-3.9.1.ebuild 1187 BLAKE2B adc3bdff94f0b5a855c4d6eac0ee123dbdc845da541d06fb6f3d533a0375d969427488cbbb4bcef4d545c8e6993ab4c78a8c5f3bca9f06f2b36a84199e471b0c SHA512 bdd65eb012df3af046c71406af02927255f3502aaf92e53fa9dbf2adfa0150b68e4325cfef2f07d1893738ba6ba3f009a89e37861ffe7999752ea77fc3963a0b EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386 EBUILD llvm-libunwind-5.0.1.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf6215f6d964e0a991e389c33af1a1614bc0c0dd404b58141d64513a22709e1755c79f4466b3cf7b43515f623927f766f0 SHA512 cd9740fad0a59488d543fa2af2a2908457180840999d463071bb557d45214e0cf04069f922e90e0a3b3f8144b8966d2f3564c098561a2ae0511264d1eb2b104a -EBUILD llvm-libunwind-6.0.0_rc3.ebuild 2175 BLAKE2B 0dc3dff5bb94741e09cb646145d697edd692835a54c80b97eb917ee32eb191f42e121ab397eaf5c50347a149d0ca63a4bfca4b0bcd24cd3838423df77cf11b8b SHA512 72d4c209f41a30d54cdb735afa1767460bdc3451eddf5fced9d3919915e2dfcf0d5806e996805bebd88f88a6501784182743c3184d26217bcc80ee38905c9011 -EBUILD llvm-libunwind-6.0.9999.ebuild 2137 BLAKE2B 3581b0abe1bcc69f9fc58fe22512ca5f4df324442c83d0eeda14e0f83eeb5816935bf740a8304faf40b4bf751279cc1526d7777a2baca0f44133406c01b5ef98 SHA512 7221f66dc3daf371e5a88a63c35c0e6314430bc9a469520e0b55d0d69baa7a2687264c4812bae1748540c31b48de2e537231741bf6370fae5a0e40fad23e11a9 -EBUILD llvm-libunwind-9999.ebuild 2112 BLAKE2B ff52df299796ba3f94c7ee105430c2c037f4151e5e72bb3e1c795f6ff20cc59c3bbd3c3a83e823a23fbd4e311b2b9b64cfacd19ee6210f4b514f9d6c8926103e SHA512 768f695e7a862a3fc7755b522e7be5c03ff472bdad79881913a78890544c8ffe141ec18ed94175cee995a6c60dd9c6397fa5d9f29d56afe4bf23f6269f453304 +EBUILD llvm-libunwind-6.0.0.ebuild 2260 BLAKE2B d57d8c27a2ac3edade766299d871c4ef4f291154243f9193f54674a6988734553a0fc5a569e4b494eec03666f30fc08d2f63a9d8de7ad8163f0c1edb50541c31 SHA512 3dede49f3d05ef64618d2625a3ba3c1bc22b6c30c91fb5f4f6e0366a4b282a202e0fca46fe1452ee454bba01766cf5f89a9f52dc3d95ea266875e1680411cadb +EBUILD llvm-libunwind-6.0.9999.ebuild 2215 BLAKE2B 4a0d306187646c947e9cf5a61e4d4a60ad07e9d740045802cfffbe4e7e746ff77bea88050afa181ba6e5fd26a26fa90aeeffdb066431d457be436ac0119ea711 SHA512 deacaf07724777d15d9781ce3d352e3ff4bea79f1ccbf148e2062dc9955c67a72af661ccd271f5cfdad208d52737d1a7116b73b3e90af71c1c7d752a05079bdf +EBUILD llvm-libunwind-9999.ebuild 2190 BLAKE2B f244aeaf432b4a8442cd8c3683dafca81da78900e622e27b41624af62990ed11077351f7df8db4aa69f5750a4af1f92adaa58242e0854fa539ad360f7b519f66 SHA512 7b7b37bb7c0e3a7f3546947e8b51edb8a81553a63112d39efcfa772a52e2dabbf4b13e22c4b6695b52f163798f33f8d29f28b135eee5a2bef39d96a180299885 MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild new file mode 100644 index 000000000000..45ca2b2e5f9f --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0.ebuild @@ -0,0 +1,92 @@ +# 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 llvm multiprocessing python-any-r1 + +MY_P=libunwind-${PV/_/}.src +LIBCXX_P=libcxx-${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 )" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +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-libs/libcxx[${MULTILIB_USEDEP}] + $(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() { + einfo "Unpacking ${MY_P}.tar.xz ..." + tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die + + if use test; then + einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." + tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ + "${LIBCXX_P}"/{include,utils/libcxx} || die + mv "${LIBCXX_P}" libcxx || 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 + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx + ) + fi + + cmake-utils_src_configure +} + +multilib_src_test() { + 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-6.0.0_rc3.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0_rc3.ebuild deleted file mode 100644 index 0305ac6b38cb..000000000000 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.0_rc3.ebuild +++ /dev/null @@ -1,92 +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 llvm python-any-r1 - -MY_P=libunwind-${PV/_/}.src -LIBCXX_P=libcxx-${PV/_/}.src - -DESCRIPTION="C++ runtime stack unwinder from LLVM" -HOMEPAGE="https://github.com/llvm-mirror/libunwind" -SRC_URI="http://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz - test? ( http://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz )" - -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-libs/libcxx[${MULTILIB_USEDEP}] - $(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() { - einfo "Unpacking ${MY_P}.tar.xz ..." - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die - - if use test; then - einfo "Unpacking parts of ${LIBCXX_P}.tar.xz ..." - tar -xf "${DISTDIR}/${LIBCXX_P}.tar.xz" \ - "${LIBCXX_P}"/{include,utils/libcxx} || die - mv "${LIBCXX_P}" libcxx || 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 - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" - -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx - ) - fi - - cmake-utils_src_configure -} - -multilib_src_test() { - 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-6.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild index 87f9ee1eb39b..789d9a6d71c7 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild @@ -7,7 +7,7 @@ EAPI=6 # (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 python-any-r1 +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" HOMEPAGE="https://github.com/llvm-mirror/libunwind" @@ -72,7 +72,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx ) fi diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild index 02cd558be9ab..c16358fe4c62 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild @@ -7,7 +7,7 @@ EAPI=6 # (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 python-any-r1 +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 DESCRIPTION="C++ runtime stack unwinder from LLVM" HOMEPAGE="https://github.com/llvm-mirror/libunwind" @@ -71,7 +71,7 @@ multilib_src_configure() { if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv" + -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx ) fi diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 51377a9b4a33..a7a6d07cf6f8 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -5,6 +5,6 @@ DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b DIST musl-1.1.18.tar.gz 936274 BLAKE2B 981be737026eddb4527507ec9975531dba25d165b0b064076cc3a900bdf98c3d25ee130a3d615e4b9635ef3ffcc256bf00d21180eb8d04b61d9ec8b6bc531fb6 SHA512 4d55c92efe41dfdd9fff6aca5dda76a632a3be60d10e5a7f66a4731d8f7040fb0a20b998965ba4d069b4f8a3527fcd7388e646cb66afc649c4d0cc6c3d358c9c DIST musl-1.1.19.tar.gz 960319 BLAKE2B 3e69de2ed9384fe200bb64e603f342a930acf035cf7bac8fe3cd4225800424207df2b73fe6fabf3147fc8023a655839c33f50c0be8e30f51f76b84aba4de30b5 SHA512 abee52d53af4b3c14c9088866c911a24d2b6ef67dc494f38a7a09dfe77250026f77528c24c52469c89cffa8ced2f0fa95badbdcf8d4460c90faba47e3927bcc5 EBUILD musl-1.1.18.ebuild 3046 BLAKE2B dd3ec79934c99b2bbe10d34d6efabe818fc1e94320fd44779a1ad6394e16bac0ac077742cab1c7ceaf554ab74d9825386d63cae95814ec564e5f92636fb52fcf SHA512 6bc48fad1aea48f7cc153cb82ee0cb1b08bc396f66ef6731fcf5e668e58a4154d2f404ed197b6be6c26449f71bd3479c0f52ccb51984ff9af45d04cbf4c47f1c -EBUILD musl-1.1.19.ebuild 3050 BLAKE2B 335b607d9582f68fbe58fbad77f4e23a17dfbf69af214560f7195bb7480946fc9f77cd1f608f465942793488347eafc69a890da90c96720494fbb87bf92103da SHA512 573aa0de46f552ee99cca7621fdcedb000e2ddaab25f84fd5222aff399070914765ab69f29c03b9adde37050464ed1beb518016b4a2f32037a4d126c53f59050 +EBUILD musl-1.1.19.ebuild 3046 BLAKE2B dd3ec79934c99b2bbe10d34d6efabe818fc1e94320fd44779a1ad6394e16bac0ac077742cab1c7ceaf554ab74d9825386d63cae95814ec564e5f92636fb52fcf SHA512 6bc48fad1aea48f7cc153cb82ee0cb1b08bc396f66ef6731fcf5e668e58a4154d2f404ed197b6be6c26449f71bd3479c0f52ccb51984ff9af45d04cbf4c47f1c EBUILD musl-9999.ebuild 3050 BLAKE2B 335b607d9582f68fbe58fbad77f4e23a17dfbf69af214560f7195bb7480946fc9f77cd1f608f465942793488347eafc69a890da90c96720494fbb87bf92103da SHA512 573aa0de46f552ee99cca7621fdcedb000e2ddaab25f84fd5222aff399070914765ab69f29c03b9adde37050464ed1beb518016b4a2f32037a4d126c53f59050 MISC metadata.xml 452 BLAKE2B f6d26f456e1a1005b0103c6921d59504dcacddfaf9ec3c788f6f626df670ec7e979a8a66626d7de24d0b850651bf095610c191d520b67915a701bf8564189fc4 SHA512 676d8122179a5cb56e0b9c7aeb7f0aec8c19b5d7b604a19c9ee01aeca837a74cc4284e87cc743d0eaf527f0c79afdfeb1f238c204a8a6c1c5590b2718bbc9b03 diff --git a/sys-libs/musl/musl-1.1.19.ebuild b/sys-libs/musl/musl-1.1.19.ebuild index 991afd750a8f..e36e21994580 100644 --- a/sys-libs/musl/musl-1.1.19.ebuild +++ b/sys-libs/musl/musl-1.1.19.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 ~mips ~ppc ~x86" + KEYWORDS="-* amd64 arm ~mips ppc x86" fi export CBUILD=${CBUILD:-${CHOST}} diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 5e56dfdac9c3..2eba1dfcb0f4 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -41,5 +41,5 @@ DIST readline70-003 1294 BLAKE2B 9473e18b582fba69cea83e3f5b9fa278dd8b05443254393 EBUILD readline-4.3_p5.ebuild 1541 BLAKE2B 15f7b523780d1b2b48ffec6ce2a9b18152c67efa28557f67b17f23dfd55a5a0712333f47b0348183a345a947aef53f184170b8c6470669bf7da58cedc05241b8 SHA512 3675fb0346094bf360035c5a9e3ffe1577b284024b0d5287a121999db7f81b5c40caddd9f71ec76c76d63216df6b094c98aeac0eb5ccbf9bde6d265506d0df03 EBUILD readline-5.2_p14.ebuild 1598 BLAKE2B c3ecb5f6130c10718b55db1a3e1d092cfce68d9b0f3cea3ccdf5fe673ebb5ed8efd043d0bf6d6800f432bb03d2c820debcadb6f7df1a0aa3580529bde04b5073 SHA512 bfcfdba85b3d11a3e977007e20ca5d023723aaaf62b03b216db86d8484ffaeeb268bf247f6fc3cb6222c67a9ad1591ef03e020dde08366c8c043e83b337af887 EBUILD readline-6.3_p8-r3.ebuild 4524 BLAKE2B 352f23a25d9b045ac18f91efee5f3482a2c5a77c6b5883acc971c5df1ecdb5d8ddeed02334760a715bd9d088a7a05352a3d8f6422da08943c5b1f41cf6d43dda SHA512 8ea86f96e4edf7255df8264d62fdd15c29682163512845d9df26a8e7c5961a98f5f7f00df5c8f2c659d690eacfe24d9cce35b1fa3a15ff7eb964d7f2d9357767 -EBUILD readline-7.0_p3.ebuild 4613 BLAKE2B 7a4094f6358528379cc107006f41ce32a7c41d9d73185918c1df976d1c13f4be931aa7e268b75141d0ad2ad756d1e7ef99a2321acd5837d2bcb8eb737157a04a SHA512 f34c7306fdd26cfb98c330a9b94ae365772f3474a0afcdb29fa5a1197835bcc5839b54e3eb89cde0823ce8283c98313f41b7463a205b5b0b21fa488d596c73b2 +EBUILD readline-7.0_p3.ebuild 4612 BLAKE2B 1eb64228dbf082c86abc6f81273fd19362c76dec77501bd15c00a7352409315c7ea0aa079488bb6628b5cbc05183591291a79173897c856f571d128f846b85aa SHA512 7a0adba172513351bdecb4408a8ac3ff6aff16c993544ca0fe6466d44c5a7475055b7a2447861ad37e8acb9149f026f99643babe9260c2d35ef5cefe7e4ebe21 MISC metadata.xml 394 BLAKE2B e4fee9daaa3d2c66a9425c988c855768ddb74af714f9e259fad1e3a470ab10af041ec8ca82d106fd967317e555a492b35723d60fa913ffac200212af14ca5ae1 SHA512 e27930a59d80535721eda0d3c481b1d13a66915c6d9552d960c9ac788f3dcdb0ef3fc411803a36cc98441ebbb8a4e0c1086bc2bda01511549fbf2921a7017784 diff --git a/sys-libs/readline/readline-7.0_p3.ebuild b/sys-libs/readline/readline-7.0_p3.ebuild index 195dc5f8d445..538a990c3de7 100644 --- a/sys-libs/readline/readline-7.0_p3.ebuild +++ b/sys-libs/readline/readline-7.0_p3.ebuild @@ -36,7 +36,7 @@ esac LICENSE="GPL-3" SLOT="0/7" # subslot matches SONAME major -KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" IUSE="static-libs utils" RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,${MULTILIB_USEDEP}]" diff --git a/sys-libs/slang/Manifest b/sys-libs/slang/Manifest index 691ec2163401..75a1e36d93f2 100644 --- a/sys-libs/slang/Manifest +++ b/sys-libs/slang/Manifest @@ -3,8 +3,8 @@ AUX slang-2.2.4-memset.patch 1054 BLAKE2B a4d013b70719de8ab92fbd04afbde87b6be519 AUX slang-2.3.1-slsh-libs.patch 761 BLAKE2B a0bc1a573fa1031e44c998bb75c80113ccd86be47f7d0b80da0ba53c7fa066d780ebb86b9cc5ff503e0d4c99b49fe75cb4c916088cc7b18a5a6c1670cbca4ba3 SHA512 77516f0b0373a08fbf61765e4eb83cbfa91b29a58a41e0006d1041672c6107dc5a2410056d65dd64fe68de40e01c211feb9f748a8238473cd5c98dfe2125f7b2 DIST slang-2.3.0.tar.bz2 1532986 BLAKE2B 92fe1338c2f07e78fbffd0435252a75d8158ae0ce6da9cf95cc553bcd8bdd393b7f1c975d516ab732805a006a03db963651736027e052c156910393443053934 SHA512 0b04d916409c59f66301877c078bcca63c8b71e5dfa6c1d804353e41949bca16e664a79381c4156068b1f878c333e618f1de165e4059b09831fa83a794613050 DIST slang-2.3.1a.tar.bz2 1577749 BLAKE2B e3149502a7d6e6d13800f3d3df6e56f176da089b9e9a24d23ddd4958cbc43c729e42326b9e487f6356989434ad3029c1c7ae27b49b60b8e9598053cb24f043c8 SHA512 e7236a189081ebcbaf4e7f0506671226a4d46aede8826e1a558f1a2f57bcbe3ad58eadeabe2df99cd3d8bacb4c93749996bcbce4f51d338fc9396e0f945933e7 -DIST slang-pre2.3.2-23.tar.gz 1990343 BLAKE2B 3b5ddb9dd5238f4db69afbebae1d72facf8691521a55edb59d1b1e41c0c177c8275f1fff7854a94fde50eca15b5d5efc87e4d1e5b114d93c9d8c65693152b5c7 SHA512 8f8c7fa0c8a89d15648b4bbc93c39fe9915a118676f0a4d69a92a85dd5335b3c413e6068f43bc827844f83d8f26a1d6885c8250d050f337f36dfa3bb4623b277 +DIST slang-2.3.2.tar.bz2 1586720 BLAKE2B e923a431e6273f1783c40dc09b2e324ace22e41a163fd46dcb8ab16c9ef27f190651df8da24432edc75890b83cd95051a835d5e582385bb23e36cd8ae18e6d24 SHA512 35cdfe8af66dac62ee89cca60fa87ddbd02cae63b30d5c0e3786e77b1893c45697ace4ac7e82d9832b8a9ac342560bc35997674846c5022341481013e76f74b5 EBUILD slang-2.3.0.ebuild 2266 BLAKE2B a94234aff5114d0615cb99c594542bef50ee738bd59a6b6ccb864ebcc243774296f04351b45e80d045c90b68c638fdc3b85860b5670ccb01a0477ca8a14c0e14 SHA512 3a9544b8fdcb2d2faa4a3becd0dc60402886f677180d87d5148ed857a25cfad6ed62eb49a334b287ba36fc10ae5362d01dbcda482526e9c4f92ce430eed85661 EBUILD slang-2.3.1a.ebuild 2264 BLAKE2B 54a95855948ad64c5dc9f630641ad669f879c3acf0a7e2ff15121aaaf4564878619e45ad2205a6b2d52a7a1b90262b6e13d074bfddc65e7a55c0d37a31c62c77 SHA512 409f754626c1384bca2fafd3ee96c51985968be22a2bb0076650adb1c069dc0e9a13cb6a2420f871ddacf4ac40ac81b852a107dbc524aa017c0f932b87a983fd -EBUILD slang-2.3.2_pre23.ebuild 2302 BLAKE2B 94f3bf407f5b5b33b2836accc9b2dd4c52b1be894fec16895afc7f00c22865ec8582fe3b35656f6bbf382ad20a815bab9f96c6c8e566e0b269868f3d02143c59 SHA512 c3c5a4b4b0453c1d60da857e4676ed4ce964f94e0f613d9dc62395d70d643c594923348c477a984fe744bc045116836f07a0c42439a418ba682c96d5c34bb75f +EBUILD slang-2.3.2.ebuild 2296 BLAKE2B f6c22842d0a5824755f2b254bf463ad89b4cd0da748f490f887ae519515f240a6931b02497e1705b01fbdd5d75eb45a5644aa7bfe015c594fdbd938e72e0b09e SHA512 05a689115ccec6f041e92a6ed4509ea89a63f3788dae60a005cea5dfca21cf7ff290c8d6834a8268ed48d7cd5359c65891b6ce7afab08cc93e123ade3bacf5b5 MISC metadata.xml 234 BLAKE2B 8615ff091e2c6b2c5d9d4246dbec2ed0c5161ce154a59f492bc640a1428de7847757b68a8d926cae4bf78905d2aeeda10cb4cb0db9bf6870d38e811556299520 SHA512 16ea852f76297335e7ef70c8019fe09d46c0455922c049ba6e92696232e957955fd671d467ebdd0bf7837d39a26083d5be2a6f8abeba53807f0b8c5b97f2e441 diff --git a/sys-libs/slang/slang-2.3.2.ebuild b/sys-libs/slang/slang-2.3.2.ebuild new file mode 100644 index 000000000000..b8bca916348a --- /dev/null +++ b/sys-libs/slang/slang-2.3.2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib-minimal + +DESCRIPTION="Multi-platform library designed to allow a developer to create robust software" +HOMEPAGE="http://www.jedsoft.org/slang/" +if [[ "${PV}" = *_pre* ]] ; then + MY_P="${PN}-pre${PV/_pre/-}" + SRC_URI="https://www.jedsoft.org/snapshots/${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" +else + SRC_URI="http://www.jedsoft.org/releases/${PN}/${P}.tar.bz2 + http://www.jedsoft.org/releases/${PN}/old/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" +fi +LICENSE="GPL-2" +SLOT="0" +IUSE="cjk pcre png readline static-libs zlib" + +# ncurses for ncurses5-config to get terminfo directory +RDEPEND=" + sys-libs/ncurses:0= + cjk? ( >=dev-libs/oniguruma-5.9.5:=[${MULTILIB_USEDEP}] ) + pcre? ( >=dev-libs/libpcre-8.33-r1[${MULTILIB_USEDEP}] ) + png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] ) + readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" + +MAKEOPTS+=" -j1" + +PATCHES=( + "${FILESDIR}"/${PN}-2.3.1-slsh-libs.patch +) + +src_prepare() { + default + + # avoid linking to -ltermcap race with some systems + sed -i -e '/^TERMCAP=/s:=.*:=:' configure || die + # we use the GNU linker also on Solaris + sed -i -e 's/-G -fPIC/-shared -fPIC/g' \ + -e 's/-Wl,-h,/-Wl,-soname,/g' configure || die + + # slang does not support configuration from another dir + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --with-readline=$(usex readline gnu slang) + $(use_with pcre) + $(use_with cjk onig) + $(use_with png) + $(use_with zlib z) + ) + econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake elf $(use static-libs && echo static) + + pushd slsh >/dev/null || die + emake slsh + popd || die +} + +multilib_src_install() { + emake DESTDIR="${D}" install $(use static-libs && echo install-static) +} + +multilib_src_install_all() { + rm -r "${ED%/}"/usr/share/doc/{slang,slsh} || die + dodoc NEWS README *.txt doc/{,internal,text}/*.txt + docinto html + dodoc doc/slangdoc.html slsh/doc/html/*.html +} diff --git a/sys-libs/slang/slang-2.3.2_pre23.ebuild b/sys-libs/slang/slang-2.3.2_pre23.ebuild deleted file mode 100644 index eee22b8362b8..000000000000 --- a/sys-libs/slang/slang-2.3.2_pre23.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit eutils multilib-minimal - -DESCRIPTION="Multi-platform library designed to allow a developer to create robust software" -HOMEPAGE="http://www.jedsoft.org/slang/" -if [[ "${PV}" = *_pre* ]] ; then - MY_P="${PN}-pre${PV/_pre/-}" - SRC_URI="https://www.jedsoft.org/snapshots/${MY_P}.tar.gz" - S="${WORKDIR}/${MY_P}" -else - SRC_URI="http://www.jedsoft.org/releases/${PN}/${P}.tar.bz2 - http://www.jedsoft.org/releases/${PN}/old/${P}.tar.bz2" -fi - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris" -IUSE="cjk pcre png readline static-libs zlib" - -# ncurses for ncurses5-config to get terminfo directory -RDEPEND=" - sys-libs/ncurses:0= - cjk? ( >=dev-libs/oniguruma-5.9.5:=[${MULTILIB_USEDEP}] ) - pcre? ( >=dev-libs/libpcre-8.33-r1[${MULTILIB_USEDEP}] ) - png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] ) - readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" - -MAKEOPTS+=" -j1" - -PATCHES=( - "${FILESDIR}"/${PN}-2.3.1-slsh-libs.patch -) - -src_prepare() { - default - - # avoid linking to -ltermcap race with some systems - sed -i -e '/^TERMCAP=/s:=.*:=:' configure || die - # we use the GNU linker also on Solaris - sed -i -e 's/-G -fPIC/-shared -fPIC/g' \ - -e 's/-Wl,-h,/-Wl,-soname,/g' configure || die - - # slang does not support configuration from another dir - multilib_copy_sources -} - -multilib_src_configure() { - local myeconfargs=( - --with-readline=$(usex readline gnu slang) - $(use_with pcre) - $(use_with cjk onig) - $(use_with png) - $(use_with zlib z) - ) - econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake elf $(use static-libs && echo static) - - pushd slsh >/dev/null || die - emake slsh - popd || die -} - -multilib_src_install() { - emake DESTDIR="${D}" install $(use static-libs && echo install-static) -} - -multilib_src_install_all() { - rm -r "${ED%/}"/usr/share/doc/{slang,slsh} || die - dodoc NEWS README *.txt doc/{,internal,text}/*.txt - docinto html - dodoc doc/slangdoc.html slsh/doc/html/*.html -} diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest index 59738335b3c6..59fc75cea703 100644 --- a/sys-libs/uclibc-ng/Manifest +++ b/sys-libs/uclibc-ng/Manifest @@ -1,11 +1,9 @@ AUX uclibc-compat-r1.patch 814 BLAKE2B 75fe9c5321171f3e378200e1c4d11792b3ea047fb4e62460cfd03db1fc761a7e711565ba97afd507a5996d3adbe83e08152a28464310098599867bcc642c1c53 SHA512 35eedbf33282285ae362a6e1b71f91a19ded8b18792f706b3d7e9c68221a61db238d84772a793cf086001272eda1b227043b90e8ef31c27796ffe837ccad11d0 -DIST uClibc-ng-1.0.25.tar.bz2 2234505 BLAKE2B c1f352ca0145a473e357f2627b08905ce66d0a1630dd7d62996abc52cf6ec6f51d789fecf59158dd8b425304fab992d4f2fe7290a21966b240cab7fc75fdccd9 SHA512 3bc5e3f0626a529a688e56649b34c48d0ddf733c09279c84fad0954880aa7c0ec3440664811196d11bbc3f05cbea99f3ba47efaad7f315a55ba3d8d587d3b313 DIST uClibc-ng-1.0.26.tar.bz2 2285709 BLAKE2B 6276f1d080f0c90b5a0ce4a4fc3556070852ad157b9c0a15305108b2f46a2d0f5371dde12ac0a8f05cad7db942cceb8057b5ef351e100a52609f2ebdc6b19634 SHA512 48c37ab2000af13848ef007ce89f226bded5188f37839c11371bab48497670d30d39fda2a031c6aff95f429a4abadc431ddd77c0e023810a341e2c2d2645f71b -DIST uClibc-ng-1.0.27.tar.bz2 2306274 BLAKE2B 64ad0634ca548960ad3ff003d98981853b0658cad75fcf3b7391b5b965656dc15daa06ae312ca34672caa47a2a3e33fbe6291c94df10547eef5dc395c2cbd0cc SHA512 bf8f56f75465f7b793e0356df495a00a41ed2478ea90e8d686e8591dcb1bb75be27fadedd8adf2494f5053ceefa4b0ba2223758efa2a920ea0f55bf104e433a2 DIST uClibc-ng-1.0.28.tar.bz2 2299119 BLAKE2B 1f31b9a98fd669bad42ceeb1b8c33fd65994b0252707b532ad8a71c12f8bd0c4d99bc89ad919a1fbc2526efcf25d2e9f823f889c7c009da98e861269399c97a3 SHA512 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba -EBUILD uclibc-ng-1.0.25.ebuild 10528 BLAKE2B 008167fee3fe21e07becaebb302f9c1a389f8b38df5ae4fb3bb1b0da3ca01847380c267d32e0badca0c16f034c46f7eb894e26952b825d243490b80d2dcc0823 SHA512 5e17953c9b892a65c3c4728862841c0a5da077db212e9f2dfbaef644044150401c5e7a0aaadba83cbaf63680db1453a8555d93bbc46d9c856812d538cac17239 -EBUILD uclibc-ng-1.0.26.ebuild 10528 BLAKE2B 008167fee3fe21e07becaebb302f9c1a389f8b38df5ae4fb3bb1b0da3ca01847380c267d32e0badca0c16f034c46f7eb894e26952b825d243490b80d2dcc0823 SHA512 5e17953c9b892a65c3c4728862841c0a5da077db212e9f2dfbaef644044150401c5e7a0aaadba83cbaf63680db1453a8555d93bbc46d9c856812d538cac17239 -EBUILD uclibc-ng-1.0.27.ebuild 10526 BLAKE2B b8eebf77be2faf3b72c1d385f6d3f751216353dccc1f35c031f90da8bdece98a3c643e663ff9e825ebbfc883c792885807b3564b09a1c9104d1f9590d4db7a28 SHA512 8db3306a5bb8f34beda467f8d6cf5f1b59dcebb7c3c0c02f974d1db0eec298f54e77ef691a59a1094a58e0ef2a35abd9a33625ddfb1e9cdbe19de1182359f7bf -EBUILD uclibc-ng-1.0.28.ebuild 10283 BLAKE2B a1c1c9ccdba9161981794837d8fabe8496e3f6259044284c6459523b61f30edc3e7d6980372d69eb8830bf54e6ffe74ea6fa112e872a46d29d800c7295a0d5d2 SHA512 6e2b12bab2783c9f7e746e389a548a50a4238c3e8f29e80b0b8f178954470fad2f5294a0e18419a10a8f5f2464ed37be283e0408ffb47fdb500b401e6ba3b3c7 +DIST uClibc-ng-1.0.29.tar.bz2 2290382 BLAKE2B f6968397daaa66d75dff5508bdff4a3d05453a0657474b9ff167d14a0b0d715f22c61708060243efd1064922b4dd1e84987fe9cf1b13aa7bdb85e27b8c65a3b1 SHA512 7ab00f2a1c7a87f8d35b7bc51b7a8ad0f9120d8c117be8c03720c09b17d7f9f8b8a633ef7efa3e69f8d292b0357580f055f1542ad2257cff337056c9d3b5e207 +EBUILD uclibc-ng-1.0.26.ebuild 10508 BLAKE2B 92461db708d970ecf2984e3bd735ae7f19296d9aa5cc5389c94e41782d88b254685f1b75357bb0f4a24077399e3b934060477792bcba4b8749d9b3d63b778f88 SHA512 8816ce2bd8cc7fd91e353c832fc6437f8e00623ac129b4d1fc20258ddb143dd7558e612102289c6143909168a558697fa275a49545ac2ca23969f5aba7ec66f9 +EBUILD uclibc-ng-1.0.28.ebuild 10280 BLAKE2B 03370b6f8a7c84f8a11954ac54ceba548ef17dda02edc6e34a3c27d97823bd7fdb2bfbb5a5e1c6835cc529112d35a4d27c8dfad173b83de13404fbfcaf5a3a6b SHA512 e69a80bd2898493c66f2c4a1ed46a2d6ce34ba1da5e0811c61736c0e77c00cd4057cdd3c79b48d617a66ef2845e88d7adade6522f786fb15a57f735a4fe1adf8 +EBUILD uclibc-ng-1.0.29.ebuild 10283 BLAKE2B a1c1c9ccdba9161981794837d8fabe8496e3f6259044284c6459523b61f30edc3e7d6980372d69eb8830bf54e6ffe74ea6fa112e872a46d29d800c7295a0d5d2 SHA512 6e2b12bab2783c9f7e746e389a548a50a4238c3e8f29e80b0b8f178954470fad2f5294a0e18419a10a8f5f2464ed37be283e0408ffb47fdb500b401e6ba3b3c7 EBUILD uclibc-ng-9999.ebuild 10283 BLAKE2B a1c1c9ccdba9161981794837d8fabe8496e3f6259044284c6459523b61f30edc3e7d6980372d69eb8830bf54e6ffe74ea6fa112e872a46d29d800c7295a0d5d2 SHA512 6e2b12bab2783c9f7e746e389a548a50a4238c3e8f29e80b0b8f178954470fad2f5294a0e18419a10a8f5f2464ed37be283e0408ffb47fdb500b401e6ba3b3c7 MISC metadata.xml 877 BLAKE2B 191277020e32edd39fc3a1594aaf3fad65ca7b48a2f0df3f0e381d3c7cc5451c09f9ad87a6da9e75b146c2ebe209918d699519582fc64fb8c3b7ae2e51eaf507 SHA512 3988e346916b283836e5c3d094eec4f25c66763e4e10a6413fe97f98629e1f14b67d6013f13f9ca2e2712dd638567973c02e6ebcce3554c55caf5483c3c9dfd4 diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild deleted file mode 100644 index 5245bd5b23c8..000000000000 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.25.ebuild +++ /dev/null @@ -1,410 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" - inherit git-r3 - MY_P=uclibc-ng-${PV} -else - MY_P=uClibc-ng-${PV} -fi - -DESCRIPTION="C library for developing embedded Linux systems" -HOMEPAGE="http://www.uclibc-ng.org/" -if [[ ${PV} != "9999" ]] ; then - PATCH_VER="" - SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* amd64 arm ~mips ppc x86" -fi - -LICENSE="LGPL-2" -SLOT="0" -IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only" -RESTRICT="strip" - -# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage -# will delete the ld.so sym link prematurely and break the system. So we -# will hard block and give manual migration instructions. -# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using -# the breakout library. The disadvantage here is that we have to sprinkle -# LDFAGS=-liconv on build systems that need to link against libiconv. -RDEPEND=" - !!sys-libs/uclibc - iconv? ( dev-libs/libiconv )" - -S=${WORKDIR}/${MY_P} - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CHOST} == ${CTARGET} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -alt_build_kprefix() { - if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then - echo /usr/include - else - echo /usr/${CTARGET}/usr/include - fi -} - -just_headers() { - use headers-only && is_crosscompile -} - -uclibc_endian() { - # XXX: this wont work for a toolchain which is bi-endian, but we - # dont have any such thing at the moment, so not a big deal - touch "${T}"/endian.s - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o - case $(file "${T}"/endian.o) in - *" MSB "*) echo "BIG";; - *" LSB "*) echo "LITTLE";; - *) echo "NFC";; - esac - rm -f "${T}"/endian.{s,o} -} - -kconfig_q_opt() { - local flag=$1; shift - case ${flag} in - y|n) ;; - *) flag=$(usex ${flag} y n) ;; - esac - - local var="defs_${flag}" - eval "${var}+=( $* )" -} - -get_opt() { - ( - unset ${1} - . ${2:-"${S}"/.config} - echo ${!1} - ) -} - -make_oldconfig() { - yes "" 2>/dev/null | emake -s oldconfig >/dev/null -} - -make_config() { - restore_config .config - if [ -f .config ]; then - make_oldconfig - return 0 - else - ewarn "Could not locate user configfile, so we will save a default one" - fi - - emake ARCH=$1 defconfig >/dev/null - - local defs_{y,n} - - # These are forced off - defs_n=( - DOASSERTS - DODEBUG_PT - HAS_NO_THREADS - PROPOLICE_BLOCK_ABRT - SSP_QUICK_CANARY - SUPPORT_LD_DEBUG_EARLY - UCLIBC_HAS_CTYPE_UNSAFE - UCLIBC_HAS_LOCALE - UCLIBC_HAS_SSP_COMPAT - ) - - # These are forced on - defs_y=( - COMPAT_ATEXIT - DO_C99_MATH - DO_XSI_MATH - FORCE_SHAREABLE_TEXT_SEGMENTS - LDSO_GNU_HASH_SUPPORT - LDSO_PRELINK_SUPPORT - LDSO_PRELOAD_FILE_SUPPORT - LDSO_RUNPATH_OF_EXECUTABLE - LDSO_STANDALONE_SUPPORT - MALLOC_GLIBC_COMPAT - PROPOLICE_BLOCK_SEGV - PTHREADS_DEBUG_SUPPORT - UCLIBC_HAS_ARC4RANDOM - UCLIBC_HAS_BACKTRACE - UCLIBC_HAS_BSD_RES_CLOSE - UCLIBC_HAS_CONTEXT_FUNCS - UCLIBC_HAS_CTYPE_CHECKED - UCLIBC_HAS_EXTRA_COMPAT_RES_STATE - UCLIBC_HAS_FENV - UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE - UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE - UCLIBC_HAS_FOPEN_LARGEFILE_MODE - UCLIBC_HAS_FTS - UCLIBC_HAS_FTW - UCLIBC_HAS_GETPT - UCLIBC_HAS_GLIBC_CUSTOM_PRINTF - UCLIBC_HAS_GLIBC_CUSTOM_STREAMS - UCLIBC_HAS_GNU_GLOB - UCLIBC_HAS_HEXADECIMAL_FLOATS - UCLIBC_HAS_LIBNSL_STUB - UCLIBC_HAS_LIBRESOLV_STUB - UCLIBC_HAS_LIBUTIL - UCLIBC_HAS_NFTW - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL - UCLIBC_HAS_OBSTACK - UCLIBC_HAS_PRINTF_M_SPEC - UCLIBC_HAS_PROGRAM_INVOCATION_NAME - UCLIBC_HAS_RESOLVER_SUPPORT - UCLIBC_HAS_SHA256_CRYPT_IMPL - UCLIBC_HAS_SHA512_CRYPT_IMPL - UCLIBC_HAS_SSP - UCLIBC_HAS_STUBS - UCLIBC_HAS_SYS_ERRLIST - UCLIBC_HAS_SYS_SIGLIST - UCLIBC_HAS_THREADS_NATIVE - UCLIBC_HAS_TZ_FILE_READ_MANY - UCLIBC_HAS_UTMP - UCLIBC_HAS_UTMPX - UCLIBC_HAS_WCHAR - UCLIBC_HAS_WORDEXP - UCLIBC_NTP_LEGACY - UCLIBC_SUPPORT_AI_ADDRCONFIG - UCLIBC_SUSV2_LEGACY - UCLIBC_SUSV3_LEGACY - UCLIBC_SUSV3_LEGACY_MACROS - UCLIBC_SUSV4_LEGACY - UCLIBC_USE_NETLINK - ) - - sed -i -e '/ARCH_.*_ENDIAN/d' .config - kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" - - kconfig_q_opt debug DODEBUG - kconfig_q_opt debug SUPPORT_LD_DEBUG - kconfig_q_opt debug UCLIBC_HAS_PROFILING - - kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 - - kconfig_q_opt rpc UCLIBC_HAS_RPC - kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC - kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC - - kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK - kconfig_q_opt hardened UCLIBC_BUILD_NOW - kconfig_q_opt hardened UCLIBC_BUILD_PIE - kconfig_q_opt hardened UCLIBC_BUILD_RELRO - kconfig_q_opt hardened UCLIBC_BUILD_SSP - - local count def - for count in 1 2 ; do - # Run twice as some config opts depend on others being enabled first. - for def in ${defs_y[@]} ; do - sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config - done - for def in ${defs_n[@]} ; do - sed -i -e "s|${def}=y|# ${def} is not set|g" .config - done - make_oldconfig - done - - einfo "Enabled options:" - for def in ${defs_y[@]} ; do - einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") - done - einfo "Disabled options:" - for def in ${defs_n[@]} ; do - einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") - done - - # setup build and run paths - sed -i \ - -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ - -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ - -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ - -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ - -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ - -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ - .config || die - - make_oldconfig -} - -pkg_setup() { - # Make sure our CHOST is a uclibc toolchain for native compiling - if [[ ${CHOST} == ${CTARGET} ]]; then - case ${CHOST} in - *-uclinux*|*-uclibc*) ;; - *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; - esac - fi - - # uClibc-ng doesn't carry old Linux threads, and since we force - # threading our only choice is NPTL which requires i486 and later. - [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." -} - -src_prepare() { - local version subversion extraversion - - # uclibc-ng tries to create a two sym link with ld.so, - # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so - # where MAJOR_VERSION != 0 indicates the ABI verison. - # We want to get rid of this and just have ABI = 0. - eapply "${FILESDIR}"/uclibc-compat-r1.patch - - # We need to change the major.minor.sublevel of uclibc-ng. - # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. - # If we really want the ABI bump, we'll have to hack the gcc - # spec file and change the '*link:' rule. - version=( $(get_version_components) ) - if [[ -z ${version[1]} ]]; then - subversion=0 - extraversion=0 - else - subversion=${version[1]} - if [[ -z ${version[2]} ]]; then - extraversion=0 - else - extraversion=.${version[2]} - fi - fi - - sed -i \ - -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ - -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ - -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ - Rules.mak || die - - eapply_user -} - -src_configure() { - # Map our toolchain arch name to the name expected by uClibc-ng. - local target=$(tc-arch) - case ${target} in - amd64) target="x86_64";; - arm) target="arm";; - mips) target="mips";; - ppc) target="powerpc";; - x86) target="i386";; - esac - - # Do arch specific configuration by changing the defaults in - # extra/Configs/Config.. If these are not overridden - # by an save .config, they will be selected by default. - - # For i386, i486, i586 and i686 - local cpu - if [[ ${target} == "i386" ]]; then - [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" - sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ - extra/Configs/Config.i386 || die - fi - - # For arm - if [[ ${target} == "arm" ]]; then - sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm - fi - - # We set HOSTCC to the proper tuple rather than just 'gcc' - sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak - - make_config ${target} - - einfo - einfo "Runtime Prefix: /" - einfo "Devel Prefix: /usr" - einfo "Kernel Prefix: $(alt_build_kprefix)" - einfo "CBUILD: ${CBUILD}" - einfo "CHOST: ${CHOST}" - einfo "CTARGET: ${CTARGET}" - einfo "ABI: ${ABI}" - einfo "ENDIAN: $(uclibc_endian)" - einfo -} - -src_compile() { - emake headers - just_headers && return 0 - - emake - if is_crosscompile ; then - emake -C utils hostutils - else - emake utils - fi -} - -src_test() { - is_crosscompile && return 0 - - # assert test fails on pax/grsec enabled kernels - # normal vfork test fails in sandbox (both glibc/uclibc) - emake UCLIBC_ONLY=1 check -} - -src_install() { - local sysroot=${D} - is_crosscompile && sysroot+="/usr/${CTARGET}" - - local target="install" - just_headers && target="install_headers" - emake DESTDIR="${sysroot}" ${target} - - save_config .config - - # remove files coming from kernel-headers - rm -rf "${sysroot}"/usr/include/{linux,asm*} - - # 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 - if is_crosscompile ; then - dosym usr/include /usr/${CTARGET}/sys-include - if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then - newbin utils/ldconfig.host ${CTARGET}-ldconfig - newbin utils/ldd.host ${CTARGET}-ldd - fi - return 0 - fi - - if use symlink-compat; then - dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 - fi - - emake DESTDIR="${D}" install_utils - dobin extra/scripts/getent - dodoc README docs/*.txt -} - -pkg_postinst() { - is_crosscompile && return 0 - - if [ ! -e "${ROOT}"/etc/TZ ] ; then - ewarn "Please remember to set your timezone in /etc/TZ" - mkdir -p "${ROOT}"/etc - echo "UTC" > "${ROOT}"/etc/TZ - fi - [ "${ROOT}" != "/" ] && return 0 - # update cache before reloading init - ldconfig - # reload init ... - /sbin/telinit U 2>/dev/null -} diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild index 5245bd5b23c8..6ce66393dd49 100644 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild +++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.26.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="http://www.uclibc-ng.org/" if [[ ${PV} != "9999" ]] ; then PATCH_VER="" SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* amd64 arm ~mips ppc x86" + KEYWORDS="-* ppc" fi LICENSE="LGPL-2" diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild deleted file mode 100644 index b42ff88c947e..000000000000 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.27.ebuild +++ /dev/null @@ -1,410 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" - inherit git-r3 - MY_P=uclibc-ng-${PV} -else - MY_P=uClibc-ng-${PV} -fi - -DESCRIPTION="C library for developing embedded Linux systems" -HOMEPAGE="http://www.uclibc-ng.org/" -if [[ ${PV} != "9999" ]] ; then - PATCH_VER="" - SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* ~amd64 ~arm ~ppc ~x86" -fi - -LICENSE="LGPL-2" -SLOT="0" -IUSE="debug hardened iconv ipv6 rpc symlink-compat headers-only" -RESTRICT="strip" - -# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage -# will delete the ld.so sym link prematurely and break the system. So we -# will hard block and give manual migration instructions. -# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using -# the breakout library. The disadvantage here is that we have to sprinkle -# LDFAGS=-liconv on build systems that need to link against libiconv. -RDEPEND=" - !!sys-libs/uclibc - iconv? ( dev-libs/libiconv )" - -S=${WORKDIR}/${MY_P} - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CHOST} == ${CTARGET} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -alt_build_kprefix() { - if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then - echo /usr/include - else - echo /usr/${CTARGET}/usr/include - fi -} - -just_headers() { - use headers-only && is_crosscompile -} - -uclibc_endian() { - # XXX: this wont work for a toolchain which is bi-endian, but we - # dont have any such thing at the moment, so not a big deal - touch "${T}"/endian.s - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o - case $(file "${T}"/endian.o) in - *" MSB "*) echo "BIG";; - *" LSB "*) echo "LITTLE";; - *) echo "NFC";; - esac - rm -f "${T}"/endian.{s,o} -} - -kconfig_q_opt() { - local flag=$1; shift - case ${flag} in - y|n) ;; - *) flag=$(usex ${flag} y n) ;; - esac - - local var="defs_${flag}" - eval "${var}+=( $* )" -} - -get_opt() { - ( - unset ${1} - . ${2:-"${S}"/.config} - echo ${!1} - ) -} - -make_oldconfig() { - yes "" 2>/dev/null | emake -s oldconfig >/dev/null -} - -make_config() { - restore_config .config - if [ -f .config ]; then - make_oldconfig - return 0 - else - ewarn "Could not locate user configfile, so we will save a default one" - fi - - emake ARCH=$1 defconfig >/dev/null - - local defs_{y,n} - - # These are forced off - defs_n=( - DOASSERTS - DODEBUG_PT - HAS_NO_THREADS - PROPOLICE_BLOCK_ABRT - SSP_QUICK_CANARY - SUPPORT_LD_DEBUG_EARLY - UCLIBC_HAS_CTYPE_UNSAFE - UCLIBC_HAS_LOCALE - UCLIBC_HAS_SSP_COMPAT - ) - - # These are forced on - defs_y=( - COMPAT_ATEXIT - DO_C99_MATH - DO_XSI_MATH - FORCE_SHAREABLE_TEXT_SEGMENTS - LDSO_GNU_HASH_SUPPORT - LDSO_PRELINK_SUPPORT - LDSO_PRELOAD_FILE_SUPPORT - LDSO_RUNPATH_OF_EXECUTABLE - LDSO_STANDALONE_SUPPORT - MALLOC_GLIBC_COMPAT - PROPOLICE_BLOCK_SEGV - PTHREADS_DEBUG_SUPPORT - UCLIBC_HAS_ARC4RANDOM - UCLIBC_HAS_BACKTRACE - UCLIBC_HAS_BSD_RES_CLOSE - UCLIBC_HAS_CONTEXT_FUNCS - UCLIBC_HAS_CTYPE_CHECKED - UCLIBC_HAS_EXTRA_COMPAT_RES_STATE - UCLIBC_HAS_FENV - UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE - UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE - UCLIBC_HAS_FOPEN_LARGEFILE_MODE - UCLIBC_HAS_FTS - UCLIBC_HAS_FTW - UCLIBC_HAS_GETPT - UCLIBC_HAS_GLIBC_CUSTOM_PRINTF - UCLIBC_HAS_GLIBC_CUSTOM_STREAMS - UCLIBC_HAS_GNU_GLOB - UCLIBC_HAS_HEXADECIMAL_FLOATS - UCLIBC_HAS_LIBNSL_STUB - UCLIBC_HAS_LIBRESOLV_STUB - UCLIBC_HAS_LIBUTIL - UCLIBC_HAS_NFTW - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL - UCLIBC_HAS_OBSTACK - UCLIBC_HAS_PRINTF_M_SPEC - UCLIBC_HAS_PROGRAM_INVOCATION_NAME - UCLIBC_HAS_RESOLVER_SUPPORT - UCLIBC_HAS_SHA256_CRYPT_IMPL - UCLIBC_HAS_SHA512_CRYPT_IMPL - UCLIBC_HAS_SSP - UCLIBC_HAS_STUBS - UCLIBC_HAS_SYS_ERRLIST - UCLIBC_HAS_SYS_SIGLIST - UCLIBC_HAS_THREADS_NATIVE - UCLIBC_HAS_TZ_FILE_READ_MANY - UCLIBC_HAS_UTMP - UCLIBC_HAS_UTMPX - UCLIBC_HAS_WCHAR - UCLIBC_HAS_WORDEXP - UCLIBC_NTP_LEGACY - UCLIBC_SUPPORT_AI_ADDRCONFIG - UCLIBC_SUSV2_LEGACY - UCLIBC_SUSV3_LEGACY - UCLIBC_SUSV3_LEGACY_MACROS - UCLIBC_SUSV4_LEGACY - UCLIBC_USE_NETLINK - ) - - sed -i -e '/ARCH_.*_ENDIAN/d' .config - kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" - - kconfig_q_opt debug DODEBUG - kconfig_q_opt debug SUPPORT_LD_DEBUG - kconfig_q_opt debug UCLIBC_HAS_PROFILING - - kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 - - kconfig_q_opt rpc UCLIBC_HAS_RPC - kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC - kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC - - kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK - kconfig_q_opt hardened UCLIBC_BUILD_NOW - kconfig_q_opt hardened UCLIBC_BUILD_PIE - kconfig_q_opt hardened UCLIBC_BUILD_RELRO - kconfig_q_opt hardened UCLIBC_BUILD_SSP - - local count def - for count in 1 2 ; do - # Run twice as some config opts depend on others being enabled first. - for def in ${defs_y[@]} ; do - sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config - done - for def in ${defs_n[@]} ; do - sed -i -e "s|${def}=y|# ${def} is not set|g" .config - done - make_oldconfig - done - - einfo "Enabled options:" - for def in ${defs_y[@]} ; do - einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") - done - einfo "Disabled options:" - for def in ${defs_n[@]} ; do - einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") - done - - # setup build and run paths - sed -i \ - -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ - -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ - -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ - -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ - -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ - -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ - .config || die - - make_oldconfig -} - -pkg_setup() { - # Make sure our CHOST is a uclibc toolchain for native compiling - if [[ ${CHOST} == ${CTARGET} ]]; then - case ${CHOST} in - *-uclinux*|*-uclibc*) ;; - *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; - esac - fi - - # uClibc-ng doesn't carry old Linux threads, and since we force - # threading our only choice is NPTL which requires i486 and later. - [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." -} - -src_prepare() { - local version subversion extraversion - - # uclibc-ng tries to create a two sym link with ld.so, - # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so - # where MAJOR_VERSION != 0 indicates the ABI verison. - # We want to get rid of this and just have ABI = 0. - eapply "${FILESDIR}"/uclibc-compat-r1.patch - - # We need to change the major.minor.sublevel of uclibc-ng. - # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. - # If we really want the ABI bump, we'll have to hack the gcc - # spec file and change the '*link:' rule. - version=( $(get_version_components) ) - if [[ -z ${version[1]} ]]; then - subversion=0 - extraversion=0 - else - subversion=${version[1]} - if [[ -z ${version[2]} ]]; then - extraversion=0 - else - extraversion=.${version[2]} - fi - fi - - sed -i \ - -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ - -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ - -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ - Rules.mak || die - - eapply_user -} - -src_configure() { - # Map our toolchain arch name to the name expected by uClibc-ng. - local target=$(tc-arch) - case ${target} in - amd64) target="x86_64";; - arm) target="arm";; - mips) target="mips";; - ppc) target="powerpc";; - x86) target="i386";; - esac - - # Do arch specific configuration by changing the defaults in - # extra/Configs/Config.. If these are not overridden - # by an save .config, they will be selected by default. - - # For i386, i486, i586 and i686 - local cpu - if [[ ${target} == "i386" ]]; then - [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" - sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ - extra/Configs/Config.i386 || die - fi - - # For arm - if [[ ${target} == "arm" ]]; then - sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm - fi - - # We set HOSTCC to the proper tuple rather than just 'gcc' - sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak - - make_config ${target} - - einfo - einfo "Runtime Prefix: /" - einfo "Devel Prefix: /usr" - einfo "Kernel Prefix: $(alt_build_kprefix)" - einfo "CBUILD: ${CBUILD}" - einfo "CHOST: ${CHOST}" - einfo "CTARGET: ${CTARGET}" - einfo "ABI: ${ABI}" - einfo "ENDIAN: $(uclibc_endian)" - einfo -} - -src_compile() { - emake headers - just_headers && return 0 - - emake - if is_crosscompile ; then - emake -C utils hostutils - else - emake utils - fi -} - -src_test() { - is_crosscompile && return 0 - - # assert test fails on pax/grsec enabled kernels - # normal vfork test fails in sandbox (both glibc/uclibc) - emake UCLIBC_ONLY=1 check -} - -src_install() { - local sysroot=${D} - is_crosscompile && sysroot+="/usr/${CTARGET}" - - local target="install" - just_headers && target="install_headers" - emake DESTDIR="${sysroot}" ${target} - - save_config .config - - # remove files coming from kernel-headers - rm -rf "${sysroot}"/usr/include/{linux,asm*} - - # 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 - if is_crosscompile ; then - dosym usr/include /usr/${CTARGET}/sys-include - if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then - newbin utils/ldconfig.host ${CTARGET}-ldconfig - newbin utils/ldd.host ${CTARGET}-ldd - fi - return 0 - fi - - if use symlink-compat; then - dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 - fi - - emake DESTDIR="${D}" install_utils - dobin extra/scripts/getent - dodoc README docs/*.txt -} - -pkg_postinst() { - is_crosscompile && return 0 - - if [ ! -e "${ROOT}"/etc/TZ ] ; then - ewarn "Please remember to set your timezone in /etc/TZ" - mkdir -p "${ROOT}"/etc - echo "UTC" > "${ROOT}"/etc/TZ - fi - [ "${ROOT}" != "/" ] && return 0 - # update cache before reloading init - ldconfig - # reload init ... - /sbin/telinit U 2>/dev/null -} diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild index 507f8c13ae96..6f75777134ce 100644 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild +++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="https://uclibc-ng.org/" if [[ ${PV} != "9999" ]] ; then PATCH_VER="" SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" + KEYWORDS="-* amd64 arm ~mips ~ppc x86" fi LICENSE="LGPL-2" diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild new file mode 100644 index 000000000000..507f8c13ae96 --- /dev/null +++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild @@ -0,0 +1,401 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit flag-o-matic multilib savedconfig toolchain-funcs versionator + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" + inherit git-r3 + MY_P=uclibc-ng-${PV} +else + MY_P=uClibc-ng-${PV} +fi + +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="https://uclibc-ng.org/" +if [[ ${PV} != "9999" ]] ; then + PATCH_VER="" + SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" + KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" +fi + +LICENSE="LGPL-2" +SLOT="0" +IUSE="debug hardened iconv ipv6 symlink-compat headers-only" +RESTRICT="strip" + +# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage +# will delete the ld.so sym link prematurely and break the system. So we +# will hard block and give manual migration instructions. +# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using +# the breakout library. The disadvantage here is that we have to sprinkle +# LDFAGS=-liconv on build systems that need to link against libiconv. +RDEPEND=" + !!sys-libs/uclibc + iconv? ( dev-libs/libiconv )" + +S=${WORKDIR}/${MY_P} + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CHOST} == ${CTARGET} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then + echo /usr/include + else + echo /usr/${CTARGET}/usr/include + fi +} + +just_headers() { + use headers-only && is_crosscompile +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "BIG";; + *" LSB "*) echo "LITTLE";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +kconfig_q_opt() { + local flag=$1; shift + case ${flag} in + y|n) ;; + *) flag=$(usex ${flag} y n) ;; + esac + + local var="defs_${flag}" + eval "${var}+=( $* )" +} + +get_opt() { + ( + unset ${1} + . ${2:-"${S}"/.config} + echo ${!1} + ) +} + +make_oldconfig() { + yes "" 2>/dev/null | emake -s oldconfig >/dev/null +} + +make_config() { + restore_config .config + if [ -f .config ]; then + make_oldconfig + return 0 + else + ewarn "Could not locate user configfile, so we will save a default one" + fi + + emake ARCH=$1 defconfig >/dev/null + + local defs_{y,n} + + # These are forced off + defs_n=( + DOASSERTS + DODEBUG_PT + HAS_NO_THREADS + PROPOLICE_BLOCK_ABRT + SSP_QUICK_CANARY + SUPPORT_LD_DEBUG_EARLY + UCLIBC_HAS_CTYPE_UNSAFE + UCLIBC_HAS_LOCALE + LDSO_SAFE_RUNPATH + ) + + # These are forced on + defs_y=( + DO_C99_MATH + DO_XSI_MATH + FORCE_SHAREABLE_TEXT_SEGMENTS + LDSO_GNU_HASH_SUPPORT + LDSO_PRELOAD_FILE_SUPPORT + LDSO_RUNPATH + LDSO_RUNPATH_OF_EXECUTABLE + LDSO_STANDALONE_SUPPORT + PROPOLICE_BLOCK_SEGV + PTHREADS_DEBUG_SUPPORT + UCLIBC_HAS_ARC4RANDOM + UCLIBC_HAS_BACKTRACE + UCLIBC_HAS_BSD_RES_CLOSE + UCLIBC_HAS_CONTEXT_FUNCS + UCLIBC_HAS_CTYPE_CHECKED + UCLIBC_HAS_EXTRA_COMPAT_RES_STATE + UCLIBC_HAS_FENV + UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE + UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE + UCLIBC_HAS_FOPEN_LARGEFILE_MODE + UCLIBC_HAS_FTS + UCLIBC_HAS_FTW + UCLIBC_HAS_GETPT + UCLIBC_HAS_GLIBC_CUSTOM_PRINTF + UCLIBC_HAS_GLIBC_CUSTOM_STREAMS + UCLIBC_HAS_GNU_GLOB + UCLIBC_HAS_HEXADECIMAL_FLOATS + UCLIBC_HAS_LIBUTIL + UCLIBC_HAS_NFTW + UCLIBC_HAS_OBSOLETE_BSD_SIGNAL + UCLIBC_HAS_PRINTF_M_SPEC + UCLIBC_HAS_PROGRAM_INVOCATION_NAME + UCLIBC_HAS_RESOLVER_SUPPORT + UCLIBC_HAS_SHA256_CRYPT_IMPL + UCLIBC_HAS_SHA512_CRYPT_IMPL + UCLIBC_HAS_SSP + UCLIBC_HAS_STUBS + UCLIBC_HAS_SYS_ERRLIST + UCLIBC_HAS_SYS_SIGLIST + UCLIBC_HAS_THREADS_NATIVE + UCLIBC_HAS_TZ_FILE_READ_MANY + UCLIBC_HAS_UTMP + UCLIBC_HAS_UTMPX + UCLIBC_HAS_WCHAR + UCLIBC_HAS_WORDEXP + UCLIBC_NTP_LEGACY + UCLIBC_SUPPORT_AI_ADDRCONFIG + UCLIBC_SUSV2_LEGACY + UCLIBC_SUSV3_LEGACY + UCLIBC_SUSV3_LEGACY_MACROS + UCLIBC_SUSV4_LEGACY + UCLIBC_USE_NETLINK + ) + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" + + kconfig_q_opt debug DODEBUG + kconfig_q_opt debug SUPPORT_LD_DEBUG + kconfig_q_opt debug UCLIBC_HAS_PROFILING + + kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 + + kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK + kconfig_q_opt hardened UCLIBC_BUILD_NOW + kconfig_q_opt hardened UCLIBC_BUILD_PIE + kconfig_q_opt hardened UCLIBC_BUILD_RELRO + kconfig_q_opt hardened UCLIBC_BUILD_SSP + + local count def + for count in 1 2 ; do + # Run twice as some config opts depend on others being enabled first. + for def in ${defs_y[@]} ; do + sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config + done + for def in ${defs_n[@]} ; do + sed -i -e "s|${def}=y|# ${def} is not set|g" .config + done + make_oldconfig + done + + einfo "Enabled options:" + for def in ${defs_y[@]} ; do + einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") + done + einfo "Disabled options:" + for def in ${defs_n[@]} ; do + einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") + done + + # setup build and run paths + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ + -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ + -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ + -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ + -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ + .config || die + + make_oldconfig +} + +pkg_setup() { + # Make sure our CHOST is a uclibc toolchain for native compiling + if [[ ${CHOST} == ${CTARGET} ]]; then + case ${CHOST} in + *-uclinux*|*-uclibc*) ;; + *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; + esac + fi + + # uClibc-ng doesn't carry old Linux threads, and since we force + # threading our only choice is NPTL which requires i486 and later. + [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." +} + +src_prepare() { + local version subversion extraversion + + # uclibc-ng tries to create a two sym link with ld.so, + # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so + # where MAJOR_VERSION != 0 indicates the ABI verison. + # We want to get rid of this and just have ABI = 0. + eapply "${FILESDIR}"/uclibc-compat-r1.patch + + # We need to change the major.minor.sublevel of uclibc-ng. + # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. + # If we really want the ABI bump, we'll have to hack the gcc + # spec file and change the '*link:' rule. + version=( $(get_version_components) ) + if [[ -z ${version[1]} ]]; then + subversion=0 + extraversion=0 + else + subversion=${version[1]} + if [[ -z ${version[2]} ]]; then + extraversion=0 + else + extraversion=.${version[2]} + fi + fi + + sed -i \ + -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ + -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ + -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ + -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ + Rules.mak || die + + eapply_user +} + +src_configure() { + # Map our toolchain arch name to the name expected by uClibc-ng. + local target=$(tc-arch) + case ${target} in + amd64) target="x86_64";; + arm) target="arm";; + mips) target="mips";; + ppc) target="powerpc";; + x86) target="i386";; + esac + + # Do arch specific configuration by changing the defaults in + # extra/Configs/Config.. If these are not overridden + # by an save .config, they will be selected by default. + + # For i386, i486, i586 and i686 + local cpu + if [[ ${target} == "i386" ]]; then + [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" + sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ + extra/Configs/Config.i386 || die + fi + + # For arm + if [[ ${target} == "arm" ]]; then + sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm + fi + + # We set HOSTCC to the proper tuple rather than just 'gcc' + sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak + + make_config ${target} + + einfo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "ABI: ${ABI}" + einfo "ENDIAN: $(uclibc_endian)" + einfo +} + +src_compile() { + emake headers + just_headers && return 0 + + emake + if is_crosscompile ; then + emake -C utils hostutils + else + emake utils + fi +} + +src_test() { + is_crosscompile && return 0 + + # assert test fails on pax/grsec enabled kernels + # normal vfork test fails in sandbox (both glibc/uclibc) + emake UCLIBC_ONLY=1 check +} + +src_install() { + local sysroot=${D} + is_crosscompile && sysroot+="/usr/${CTARGET}" + + local target="install" + just_headers && target="install_headers" + emake DESTDIR="${sysroot}" ${target} + + save_config .config + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # 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 + if is_crosscompile ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig + newbin utils/ldd.host ${CTARGET}-ldd + fi + return 0 + fi + + if use symlink-compat; then + dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 + fi + + emake DESTDIR="${D}" install_utils + dobin extra/scripts/getent + dodoc README docs/*.txt +} + +pkg_postinst() { + is_crosscompile && return 0 + + if [ ! -e "${ROOT}"/etc/TZ ] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + [ "${ROOT}" != "/" ] && return 0 + # update cache before reloading init + ldconfig + # reload init ... + /sbin/telinit U 2>/dev/null +} -- cgit v1.2.3