From 4cbcc855382a06088e2f016f62cafdbcb7e40665 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 20 Mar 2022 00:40:44 +0000 Subject: gentoo resync : 20.03.2022 --- sys-devel/Manifest.gz | Bin 9647 -> 9492 bytes sys-devel/autoconf-archive/Manifest | 2 + .../autoconf-archive-2022.02.11.ebuild | 20 + sys-devel/bin86/Manifest | 4 +- sys-devel/bin86/bin86-0.16.21-r1.ebuild | 4 +- sys-devel/bin86/bin86-0.16.21.ebuild | 34 -- .../bin86/files/bin86-0.16.17-amd64-build.patch | 17 - sys-devel/binutils-config/Manifest | 4 +- .../binutils-config/binutils-config-5.4.1.ebuild | 43 ++ .../binutils-config/binutils-config-9999.ebuild | 2 +- sys-devel/binutils-hppa64/Manifest | 9 +- .../binutils-hppa64-2.37_p1-r1.ebuild | 458 ------------------ .../binutils-hppa64-2.37_p1-r2.ebuild | 2 +- .../binutils-hppa64/binutils-hppa64-2.37_p1.ebuild | 458 ------------------ .../binutils-hppa64/binutils-hppa64-2.38-r1.ebuild | 467 +++++++++++++++++++ sys-devel/binutils/Manifest | 11 +- sys-devel/binutils/binutils-2.37_p1-r1.ebuild | 451 ------------------ sys-devel/binutils/binutils-2.37_p1-r2.ebuild | 6 +- sys-devel/binutils/binutils-2.37_p1.ebuild | 450 ------------------ sys-devel/binutils/binutils-2.38-r1.ebuild | 460 ++++++++++++++++++ sys-devel/binutils/binutils-9999.ebuild | 4 - sys-devel/bmake/Manifest | 8 +- sys-devel/bmake/bmake-20211212.ebuild | 55 --- sys-devel/bmake/bmake-20220116.ebuild | 2 +- sys-devel/bmake/bmake-20220214.ebuild | 55 +++ sys-devel/bmake/bmake-20220303.ebuild | 55 +++ sys-devel/clang-common/Manifest | 8 +- .../clang-common/clang-common-13.0.1.9999.ebuild | 24 - sys-devel/clang-common/clang-common-13.0.1.ebuild | 24 + .../clang-common/clang-common-13.0.1_rc3.ebuild | 24 - .../clang-common/clang-common-14.0.0_rc4.ebuild | 24 + .../clang-common/clang-common-15.0.0.9999.ebuild | 24 + sys-devel/clang-runtime/Manifest | 7 +- .../clang-runtime/clang-runtime-13.0.1.9999.ebuild | 25 - .../clang-runtime/clang-runtime-13.0.1.ebuild | 24 + .../clang-runtime/clang-runtime-13.0.1_rc3.ebuild | 25 - .../clang-runtime/clang-runtime-14.0.0.9999.ebuild | 8 +- .../clang-runtime/clang-runtime-14.0.0_rc4.ebuild | 27 ++ .../clang-runtime/clang-runtime-15.0.0.9999.ebuild | 27 ++ sys-devel/clang/Manifest | 15 +- sys-devel/clang/clang-13.0.1.9999.ebuild | 422 ----------------- sys-devel/clang/clang-13.0.1.ebuild | 422 +++++++++++++++++ sys-devel/clang/clang-13.0.1_rc3.ebuild | 422 ----------------- sys-devel/clang/clang-14.0.0.9999.ebuild | 12 +- sys-devel/clang/clang-14.0.0_rc4.ebuild | 427 +++++++++++++++++ sys-devel/clang/clang-15.0.0.9999.ebuild | 427 +++++++++++++++++ sys-devel/cons/Manifest | 2 +- sys-devel/cons/cons-2.3.0.ebuild | 4 +- sys-devel/crossdev/Manifest | 8 +- sys-devel/crossdev/crossdev-20210621.ebuild | 35 -- sys-devel/crossdev/crossdev-20210718.ebuild | 35 -- sys-devel/crossdev/crossdev-20211027.ebuild | 36 -- sys-devel/crossdev/crossdev-20220205.ebuild | 36 ++ sys-devel/gcc/Manifest | 12 +- sys-devel/gcc/gcc-10.3.1_p20211126.ebuild | 4 +- sys-devel/gcc/gcc-11.2.1_p20211127.ebuild | 31 -- sys-devel/gcc/gcc-11.2.1_p20220115.ebuild | 2 +- sys-devel/gcc/gcc-12.0.0_pre9999.ebuild | 2 +- sys-devel/gcc/gcc-9.4.1_p20220317.ebuild | 20 + sys-devel/gdb/Manifest | 2 +- sys-devel/gdb/gdb-11.2.ebuild | 2 +- sys-devel/icecream/Manifest | 4 +- sys-devel/icecream/icecream-1.0.0-r3.ebuild | 62 --- sys-devel/icecream/icecream-1.4.ebuild | 80 ++++ sys-devel/kgcc64/Manifest | 4 +- sys-devel/kgcc64/kgcc64-11.2.0.ebuild | 2 +- sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild | 2 +- sys-devel/libtool/Manifest | 4 +- sys-devel/libtool/libtool-2.4.7.ebuild | 115 +++++ sys-devel/libtool/libtool-9999.ebuild | 25 +- sys-devel/lld/Manifest | 10 +- sys-devel/lld/lld-13.0.1.9999.ebuild | 73 --- sys-devel/lld/lld-13.0.1.ebuild | 73 +++ sys-devel/lld/lld-13.0.1_rc3.ebuild | 73 --- sys-devel/lld/lld-14.0.0.9999.ebuild | 4 +- sys-devel/lld/lld-14.0.0_rc4.ebuild | 73 +++ sys-devel/lld/lld-15.0.0.9999.ebuild | 73 +++ sys-devel/llvm-common/Manifest | 8 +- .../llvm-common/llvm-common-13.0.1.9999.ebuild | 27 -- sys-devel/llvm-common/llvm-common-13.0.1.ebuild | 27 ++ .../llvm-common/llvm-common-13.0.1_rc3.ebuild | 27 -- .../llvm-common/llvm-common-14.0.0_rc4.ebuild | 27 ++ .../llvm-common/llvm-common-15.0.0.9999.ebuild | 27 ++ sys-devel/llvm-roc/Manifest | 4 + .../files/llvm-roc-4.5.2-add_libraries.patch | 11 + .../files/llvm-roc-4.5.2-hip-location.patch | 188 ++++++++ sys-devel/llvm-roc/llvm-roc-4.5.2.ebuild | 97 ++++ sys-devel/llvm/Manifest | 15 +- sys-devel/llvm/llvm-13.0.1.9999.ebuild | 510 -------------------- sys-devel/llvm/llvm-13.0.1.ebuild | 510 ++++++++++++++++++++ sys-devel/llvm/llvm-13.0.1_rc3.ebuild | 510 -------------------- sys-devel/llvm/llvm-14.0.0.9999.ebuild | 9 +- sys-devel/llvm/llvm-14.0.0_rc4.ebuild | 515 ++++++++++++++++++++ sys-devel/llvm/llvm-15.0.0.9999.ebuild | 516 +++++++++++++++++++++ sys-devel/llvmgold/Manifest | 3 +- sys-devel/llvmgold/llvmgold-13-r1.ebuild | 4 +- sys-devel/llvmgold/llvmgold-15.ebuild | 25 + sys-devel/m4/Manifest | 5 +- sys-devel/m4/files/ppc-musl.patch | 3 +- sys-devel/m4/m4-1.4.19.ebuild | 8 +- sys-devel/mold/Manifest | 13 +- .../mold/files/mold-1.0.1-no-gold-in-version.patch | 50 -- sys-devel/mold/metadata.xml | 4 + sys-devel/mold/mold-1.0.0-r1.ebuild | 67 --- sys-devel/mold/mold-1.0.1-r1.ebuild | 71 --- sys-devel/mold/mold-1.0.2.ebuild | 71 --- sys-devel/mold/mold-1.1.1.ebuild | 87 ++++ sys-devel/mold/mold-9999.ebuild | 32 +- sys-devel/prelink/Manifest | 11 - .../files/prelink-20130503-libiberty-md5.patch | 61 --- .../files/prelink-20130503-prelink-conf.patch | 39 -- sys-devel/prelink/files/prelink.confd | 43 -- sys-devel/prelink/files/prelink.cron | 61 --- sys-devel/prelink/files/prelink.service | 6 - sys-devel/prelink/files/prelink.timer | 10 - sys-devel/prelink/metadata.xml | 8 - sys-devel/prelink/prelink-20151030-r1.ebuild | 72 --- sys-devel/prelink/prelink-99999999.ebuild | 71 --- 118 files changed, 5206 insertions(+), 5054 deletions(-) create mode 100644 sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild delete mode 100644 sys-devel/bin86/bin86-0.16.21.ebuild delete mode 100644 sys-devel/bin86/files/bin86-0.16.17-amd64-build.patch create mode 100644 sys-devel/binutils-config/binutils-config-5.4.1.ebuild delete mode 100644 sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild delete mode 100644 sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1.ebuild create mode 100644 sys-devel/binutils-hppa64/binutils-hppa64-2.38-r1.ebuild delete mode 100644 sys-devel/binutils/binutils-2.37_p1-r1.ebuild delete mode 100644 sys-devel/binutils/binutils-2.37_p1.ebuild create mode 100644 sys-devel/binutils/binutils-2.38-r1.ebuild delete mode 100644 sys-devel/bmake/bmake-20211212.ebuild create mode 100644 sys-devel/bmake/bmake-20220214.ebuild create mode 100644 sys-devel/bmake/bmake-20220303.ebuild delete mode 100644 sys-devel/clang-common/clang-common-13.0.1.9999.ebuild create mode 100644 sys-devel/clang-common/clang-common-13.0.1.ebuild delete mode 100644 sys-devel/clang-common/clang-common-13.0.1_rc3.ebuild create mode 100644 sys-devel/clang-common/clang-common-14.0.0_rc4.ebuild create mode 100644 sys-devel/clang-common/clang-common-15.0.0.9999.ebuild delete mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild create mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.1.ebuild delete mode 100644 sys-devel/clang-runtime/clang-runtime-13.0.1_rc3.ebuild create mode 100644 sys-devel/clang-runtime/clang-runtime-14.0.0_rc4.ebuild create mode 100644 sys-devel/clang-runtime/clang-runtime-15.0.0.9999.ebuild delete mode 100644 sys-devel/clang/clang-13.0.1.9999.ebuild create mode 100644 sys-devel/clang/clang-13.0.1.ebuild delete mode 100644 sys-devel/clang/clang-13.0.1_rc3.ebuild create mode 100644 sys-devel/clang/clang-14.0.0_rc4.ebuild create mode 100644 sys-devel/clang/clang-15.0.0.9999.ebuild delete mode 100644 sys-devel/crossdev/crossdev-20210621.ebuild delete mode 100644 sys-devel/crossdev/crossdev-20210718.ebuild delete mode 100644 sys-devel/crossdev/crossdev-20211027.ebuild create mode 100644 sys-devel/crossdev/crossdev-20220205.ebuild delete mode 100644 sys-devel/gcc/gcc-11.2.1_p20211127.ebuild create mode 100644 sys-devel/gcc/gcc-9.4.1_p20220317.ebuild delete mode 100644 sys-devel/icecream/icecream-1.0.0-r3.ebuild create mode 100644 sys-devel/icecream/icecream-1.4.ebuild create mode 100644 sys-devel/libtool/libtool-2.4.7.ebuild delete mode 100644 sys-devel/lld/lld-13.0.1.9999.ebuild create mode 100644 sys-devel/lld/lld-13.0.1.ebuild delete mode 100644 sys-devel/lld/lld-13.0.1_rc3.ebuild create mode 100644 sys-devel/lld/lld-14.0.0_rc4.ebuild create mode 100644 sys-devel/lld/lld-15.0.0.9999.ebuild delete mode 100644 sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild create mode 100644 sys-devel/llvm-common/llvm-common-13.0.1.ebuild delete mode 100644 sys-devel/llvm-common/llvm-common-13.0.1_rc3.ebuild create mode 100644 sys-devel/llvm-common/llvm-common-14.0.0_rc4.ebuild create mode 100644 sys-devel/llvm-common/llvm-common-15.0.0.9999.ebuild create mode 100644 sys-devel/llvm-roc/files/llvm-roc-4.5.2-add_libraries.patch create mode 100644 sys-devel/llvm-roc/files/llvm-roc-4.5.2-hip-location.patch create mode 100644 sys-devel/llvm-roc/llvm-roc-4.5.2.ebuild delete mode 100644 sys-devel/llvm/llvm-13.0.1.9999.ebuild create mode 100644 sys-devel/llvm/llvm-13.0.1.ebuild delete mode 100644 sys-devel/llvm/llvm-13.0.1_rc3.ebuild create mode 100644 sys-devel/llvm/llvm-14.0.0_rc4.ebuild create mode 100644 sys-devel/llvm/llvm-15.0.0.9999.ebuild create mode 100644 sys-devel/llvmgold/llvmgold-15.ebuild delete mode 100644 sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch delete mode 100644 sys-devel/mold/mold-1.0.0-r1.ebuild delete mode 100644 sys-devel/mold/mold-1.0.1-r1.ebuild delete mode 100644 sys-devel/mold/mold-1.0.2.ebuild create mode 100644 sys-devel/mold/mold-1.1.1.ebuild delete mode 100644 sys-devel/prelink/Manifest delete mode 100644 sys-devel/prelink/files/prelink-20130503-libiberty-md5.patch delete mode 100644 sys-devel/prelink/files/prelink-20130503-prelink-conf.patch delete mode 100644 sys-devel/prelink/files/prelink.confd delete mode 100644 sys-devel/prelink/files/prelink.cron delete mode 100644 sys-devel/prelink/files/prelink.service delete mode 100644 sys-devel/prelink/files/prelink.timer delete mode 100644 sys-devel/prelink/metadata.xml delete mode 100644 sys-devel/prelink/prelink-20151030-r1.ebuild delete mode 100644 sys-devel/prelink/prelink-99999999.ebuild (limited to 'sys-devel') diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz index 501bfc231cad..f9833b235a8c 100644 Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ diff --git a/sys-devel/autoconf-archive/Manifest b/sys-devel/autoconf-archive/Manifest index c92bd3695180..0836c1dca416 100644 --- a/sys-devel/autoconf-archive/Manifest +++ b/sys-devel/autoconf-archive/Manifest @@ -1,6 +1,8 @@ AUX autoconf-archive-2021.02.19-python310.patch 1344 BLAKE2B adf7282ce2f57c957d3542f4fb1af2cce0da4d93556249529d2bfe11e5f7c3f42e725770decf5dce37ee310710d954f43ca61fd6f7685c5a5d2362830520355b SHA512 5541fe628832b071bfba890530bc72f0b1747ec3cfc1e43a79b5a0f992c8c59609d836fd00eb8ee0daf0428c6d3f7b8894bddf2d9485625f683175e45d4f5640 AUX autoconf-archive-2021.02.19-revert-ax_pthreads.patch 2642 BLAKE2B aef63e95d567e80e54f87b2476a70e8fb9df9fcdb6b1023c52df8a2fef0c2dbeda57488c3813ef1e22af2e4901251f102a76290d6d04e78766994d92cb3445b7 SHA512 1dea34945bed9c1c96970165ffad5f075f0bc85929b9f02c2bb254e35e2e3b9325bc7be8b1cb79b8f7bc6be5e1fffd33e504a82fc262a747dc458bad6bedb87d DIST autoconf-archive-2021.02.19.tar.xz 667304 BLAKE2B bc99cfd2b507a0c7fc37a001cc9e090fa037cc3626f5f5201c9a62ef06ee8ca4532ca8f21e1422f9dff9f67f64409ae560117c3161809f2d3bc3a39469910485 SHA512 a968c355c3cf66d74dc5b452141afbdf763e84a6c43b12c25da9a08482910d6d57ba3952aaf270d8cd5fd8b9d2dadf2d7d943ae2e1b067d68b71d2738d881aa0 +DIST autoconf-archive-2022.02.11.tar.xz 675264 BLAKE2B b9ff928186312969ffd09fd0523367857e7072e867f6b43689a4a5130db9f5fe19a8337875f5186409e7b0bd200491e3d1f612739499c89547a47862c59ba07f SHA512 243e06a356ea2c0fddc527febd4241da49fe4c11fb64b548873744a54e079860739d7a1da842833b99540acde3f6a2ebfddc41897306cc2e61e2c6037a7d22ff EBUILD autoconf-archive-2021.02.19-r1.ebuild 747 BLAKE2B 103c90fbea8f87de38b4e5b6352d59441afa45df17462c330b2a437601141deb169692bebeb7f2a50618bab4c6680539661feffc98ff37dc288f46bc0f058244 SHA512 b5f1fc22367fa604314b38bde132619e365b1685464da947ea8160d08fc15e925685eeedefb2503b27126ee8885d6960f43758dd559123015bc50504f50cb558 EBUILD autoconf-archive-2021.02.19.ebuild 639 BLAKE2B 376bcd528e33c40d7494b374599bd21f19d05a5d37502ae89d566b8f94b77fb7d662dcafb239d5f8e2282ad75576f92bc1922ce14096204f52320fb738eedb78 SHA512 0fdb0a254884ad11950aa931798a8fc2da584d77fad51f9f6d87f7c4c8c60e8b23d10ab7c50ec3e70d3571e9f615db6d37258562493409a68ed7b8622effecf7 +EBUILD autoconf-archive-2022.02.11.ebuild 690 BLAKE2B 799ae9bc6a720bb49f1bae12101361e66e061072e1f38d6233f27443eec1f7f947800fe3bb682eec048873bbdf24bbbdc8d7a307b2355f451de73463c34b31b6 SHA512 f2c51a355b83a7433ab6d5d24743256edc33b1f57a447746422445f50288548feb4e36708f5cb074120515f041d588613cc80a38a418541d0e9df4b6a6571dbb MISC metadata.xml 282 BLAKE2B 85c3312405ada57a85e03b06a59523c8d4069551f91e6b70f182d5af92ffc26b946c2987554001649eb41d605864a5cb3c172ebbb02f3c1a11ca1ed805889550 SHA512 5eac09aed8093684086d644c321b236d5da019a650ad322d33236b543bd5641edfc43cbdeee4654e093f9f6393eae034110ca51eb560b87a178fba74244d7fdb diff --git a/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild b/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild new file mode 100644 index 000000000000..da94ac0d181e --- /dev/null +++ b/sys-devel/autoconf-archive/autoconf-archive-2022.02.11.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +DESCRIPTION="GNU Autoconf Macro Archive" +HOMEPAGE="https://www.gnu.org/software/autoconf-archive/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# File collisions. #540246 +RDEPEND="!=gnome-base/gnome-common-3.14.0-r0 + !>=gnome-base/gnome-common-3.14.0-r1[-autoconf-archive(+)]" + +PATCHES=( + "${FILESDIR}"/${PN}-2021.02.19-python310.patch +) diff --git a/sys-devel/bin86/Manifest b/sys-devel/bin86/Manifest index f086ed3cdc5a..7fb603f34af5 100644 --- a/sys-devel/bin86/Manifest +++ b/sys-devel/bin86/Manifest @@ -1,6 +1,4 @@ -AUX bin86-0.16.17-amd64-build.patch 327 BLAKE2B 076e7fb11802f082f94f3e688553ae9f561609ae6675c67105ee9a30292185edd12b90a5149bc34ba6d6a453ce7648943c732a865bb238a4ebe5e8185ce6ed51 SHA512 8e4102c5b0848249c69fd9b3f16a93b12bbe8dce9771b78514bf423bec7b0144677f4eae07cb0ea479bf03dbd21092fdb2ce0a028df95f28c37d48b660466c13 AUX bin86-0.16.21-amd64-build.patch 398 BLAKE2B c9457b574beceac90ba1ae5207b4164426f731252c0e728901ab6ee628a570c4ca95a4395e53b6a3f73fa41107678dd766185daa158e99e6ec609ae026ea48fa SHA512 d7be4857acf46ee6dd803048726083b471dc302c7189c64acf71e00923d736ebe9174a87ed0f90f5eb71221c35c18f2259f0f62a47f8e64c682a6d7afcf2504d DIST bin86-0.16.21.tar.gz 154283 BLAKE2B 6c88a5cf86623130f6ed45cefb9ee9293d8888f4d0e5712d96a24a6fe84bbe5002869761e9c39bb20c8af74e3fe76cf65632ef43e55d81d0e5cb9212f3cae56a SHA512 e80e06965fbdcf13100aae4690071d01a6efe74aed7ff8f14e5892c6803393a1b5acda1296e0f0e1837dfb73e0edd02e9cccfeabbeabe1b68fa6b6b85ced1f56 -EBUILD bin86-0.16.21-r1.ebuild 839 BLAKE2B 6eecb19c6033d79e056d7d0958cd9fb6f563ec6212192489271bd0b49ccada960c1a2283b1ca2e52d02e8173bf5d4a40b84ea0d716f5a0ce744d1ac515685fcb SHA512 7bbc87ab86117b04d209220ef80de9b5cc38f6a1af4619c33f8a1d8ed49ceaff38cf49824a2e746c1e0b084d5c981df86a1c87aaf917e5086c55932fcb64d3bc -EBUILD bin86-0.16.21.ebuild 855 BLAKE2B 7a13609b50ddc239fc1ca03e21bada1a45b7eecc73127cf16dd8323572fc43dc14f7a033b5d5ac364903d5e495136b159231266fbd16219d5e28e006708c2387 SHA512 96d3a8d61e02c3039f9197313ea88aadbf991aea9626226621992cf924e1b34cd1ab49fa664b102bf92e2a43859761572f5ea56d05c0c8e19a73cc9979e0bce4 +EBUILD bin86-0.16.21-r1.ebuild 837 BLAKE2B 5fe9c0e2142f56d07baa04a31144fab49d0e260e8b7239d3b32faddd52afe130d647ac242e053efd7719c3268dcdbce467721a660d3c8df8c3859e41fded8c27 SHA512 218ed09c7a38a6dbab4ce0473f433b392fcd272234e6ebbf40c4cc084d995965f3e9f83a26548d5304ab5af231f9afcb0798665cbf60636d92b043f7cae1c9f5 MISC metadata.xml 243 BLAKE2B 88a8c5cbe0638cb7bdd3ddd42933def8a1cd34061ea459a0fc0bf392b72a0555955bd0812488b7024933258fb38f82c4fffaf8cb981a609c2d26f999520d44c5 SHA512 3232362e301749801c78b456fa395a8dd155629d5d06a22a4929ab29405e2ffdf1f1a77414d7c069b30456b87b3909c7c73684b9b44f9cf1e47eff0306c88928 diff --git a/sys-devel/bin86/bin86-0.16.21-r1.ebuild b/sys-devel/bin86/bin86-0.16.21-r1.ebuild index c8aa201710f6..cdbd313b3371 100644 --- a/sys-devel/bin86/bin86-0.16.21-r1.ebuild +++ b/sys-devel/bin86/bin86-0.16.21-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -11,7 +11,7 @@ SRC_URI="http://v3.sk/~lkundrak/dev86/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" PATCHES="${FILESDIR}"/${PN}-0.16.21-amd64-build.patch diff --git a/sys-devel/bin86/bin86-0.16.21.ebuild b/sys-devel/bin86/bin86-0.16.21.ebuild deleted file mode 100644 index b21fcec3bf49..000000000000 --- a/sys-devel/bin86/bin86-0.16.21.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit toolchain-funcs epatch - -DESCRIPTION="Assembler and loader used to create kernel bootsector" -HOMEPAGE="http://v3.sk/~lkundrak/dev86/" -SRC_URI="http://v3.sk/~lkundrak/dev86/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" -IUSE="" - -src_prepare() { - use elibc_musl && CPPFLAGS="${CPPFLAGS} -U__linux__" - sed -i \ - -e '/^PREFIX/s|=.*|=$(DESTDIR)/usr|' \ - -e '/^MANDIR/s|)/man/man1|)/share/man/man1|' \ - -e '/^INSTALL_OPTS/s|-s||' \ - -e "/^CFLAGS/s|=.*|=${CFLAGS} -D_POSIX_SOURCE ${CPPFLAGS}|" \ - -e "/^LDFLAGS/s|=.*|=${LDFLAGS}|" \ - Makefile || die - epatch "${FILESDIR}"/${PN}-0.16.17-amd64-build.patch - eapply_user - tc-export CC -} - -src_install() { - dodir /usr/bin /usr/share/man/man1 - default -} diff --git a/sys-devel/bin86/files/bin86-0.16.17-amd64-build.patch b/sys-devel/bin86/files/bin86-0.16.17-amd64-build.patch deleted file mode 100644 index b494a8b724de..000000000000 --- a/sys-devel/bin86/files/bin86-0.16.17-amd64-build.patch +++ /dev/null @@ -1,17 +0,0 @@ -This should make it built on other archictectures as well - -https://bugs.gentoo.org/428228 - ---- ld/x86_aout.h -+++ ld/x86_aout.h -@@ -13,7 +13,9 @@ - typedef long Long; - #define __OUT_OK 1 - #else --typedef char Long[4]; -+#define __OUT_OK 1 -+#include -+typedef int32_t Long; - #endif - - struct exec { /* a.out header */ diff --git a/sys-devel/binutils-config/Manifest b/sys-devel/binutils-config/Manifest index ca47d3cc1073..b509d62f3a6d 100644 --- a/sys-devel/binutils-config/Manifest +++ b/sys-devel/binutils-config/Manifest @@ -1,4 +1,6 @@ +DIST binutils-config-5.4.1.tar.xz 7328 BLAKE2B 51f0ca625abfd964cc1b6c902017edc9790da1d33a44b3da64e3b2c68ed245fc1c0eb8b3fb999f6acb88e614f47e2f53e19b456b03c069bb61cd0f39e85d786d SHA512 af12644d591152f45d573bee0499b21c293b68a9b81626e9e1d46d5a7dc40e9a24642364bdb2bce52d61cbe3d2e045f4ab6e50a9827648a820bac885f20239cd DIST binutils-config-5.4.tar.xz 7332 BLAKE2B 1dd0fdebf028e9d95caa395948037d51ac1e627f370921b56fc99a6fe2e2100ddb202c8027ad1e67330306de8b4cbc6a03753105d401198e515b22fca94f760f SHA512 79411afcbec3a6cce960be1b06e4a6efdf55081992f6a92157737f7ef41fc61eaec0005078a4ce0cd78ad6af14583ab85f4f2b7b43808238088d521e1aa31af1 +EBUILD binutils-config-5.4.1.ebuild 1127 BLAKE2B bbf2a69d8c145e21623b8b24cd686ac5842c9ec572cac73a9ca890f337ba379f43e680d44a038139a4fd3ecf647e9496a76419959ac188c0de845239ea09650c SHA512 b4a78a1d9f4ffb93d26c196d31267de08c4fa3f27b9a0a3ab8de90186422b365bc53541a2657c96d18044c80365af29c34dea43b3c9846f70f4f5713bb00966d EBUILD binutils-config-5.4.ebuild 1101 BLAKE2B 407acd936b18ea59abe4eb231fa03683ca845c2654ff59ad419cd1fc171e45f27342346702b65e21a74df76e95e4ff95356a5f8ecda462f6c720eaf6d2010d09 SHA512 9c4821d7373d695690ac2bf239debf4aec1e8e80ad0200ab2310291cb6a2b69193132f2ca2aeb4c694295b9860dea444c759d59333c95844b3e79fdc1813ff68 -EBUILD binutils-config-9999.ebuild 1044 BLAKE2B 0050dada9e6f9344d9975da739fb5187001157eae8af3b3d9b7b94d709111dd2016ae08bd54f6510bb9c77c815d23b96eaacf0f1cbdd52c4d5c9e8b35b7649b4 SHA512 dfa9d3e291670dccc55bd695d2fc9bd64a60956239175bad9ad3be3069d43c63b6e08761495e9de30fbe312cc88da68b965ad9c5acefe1c53233f5dd3bc56df2 +EBUILD binutils-config-9999.ebuild 1062 BLAKE2B 871d73773d58fb6daa77032d44a1cec845db2d17150182440a41f76c1cf8f9fbb28b66dc3d0455f0f5eff18ff4f9e27c91907d6e0c5a6258ef6a9211ee25d7d7 SHA512 5ee3b41b923e06e03b3e77cf329e83da6b22a4cce8a38375caf1aaf2965216a013df4de5ddc880235c1cebd3a03735e6bbdf9890763d32242c70e05a2d06bc28 MISC metadata.xml 417 BLAKE2B f165e42734eb89e8c79fcd95bdbaef4ce0e80380867998cb649a669fea3ded3ce7326cca436cd6a5509b7a8948b3c7f01aea05b344f71ea5262517e67719448c SHA512 ed23d5be8b16265068b32816b4984e8cd07e62da7ab6a0adbcea1a826366f2844ad06b087c7b753d1b3a145b761608b83794133c0f84dfbe24b5703fb93344ac diff --git a/sys-devel/binutils-config/binutils-config-5.4.1.ebuild b/sys-devel/binutils-config/binutils-config-5.4.1.ebuild new file mode 100644 index 000000000000..91b67f894d2e --- /dev/null +++ b/sys-devel/binutils-config/binutils-config-5.4.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit prefix + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/binutils-config.git" + inherit git-r3 +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Utility to change the binutils version being used" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Toolchain" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+native-symlinks" + +# We also RDEPEND on sys-apps/findutils which is in base @system +RDEPEND="sys-apps/gentoo-functions" + +src_compile() { + emake PV="${PV}" USE_NATIVE_LINKS="$(usex native-symlinks)" +} + +src_install() { + emake DESTDIR="${D}" PV="${PV}" install + + use prefix && eprefixify "${ED}"/usr/bin/${PN} +} + +pkg_postinst() { + # Re-register all targets. USE flags or new versions can change + # installed symlinks. + local x + for x in $(binutils-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do + binutils-config ${x} + done +} diff --git a/sys-devel/binutils-config/binutils-config-9999.ebuild b/sys-devel/binutils-config/binutils-config-9999.ebuild index 17daaedfeda0..0282c67448af 100644 --- a/sys-devel/binutils-config/binutils-config-9999.ebuild +++ b/sys-devel/binutils-config/binutils-config-9999.ebuild @@ -7,7 +7,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/binutils-config.git" inherit git-r3 else - SRC_URI="https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz" + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest index 7fb1d6524295..c7a5b7cb0969 100644 --- a/sys-devel/binutils-hppa64/Manifest +++ b/sys-devel/binutils-hppa64/Manifest @@ -2,13 +2,12 @@ DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7e DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84 DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 -DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24 -DIST binutils-2.37_p1-patches-1.tar.xz 28956 BLAKE2B 3bc14fcc52a6d11992ad9ed88fa3347ca3d5facd59de094a178a5f720d0eed6297dadf9a8fea7189076eb81274612c0b71c01f15a8f58deeaed8c8f6135ef50d SHA512 f6b2a09bfc692cf90f6cd56be81f424a68831db48054dc150eb6ec28bfa18d35933203c2d3b502f0c80e38771353c373446aec2488469fe2df20d8066033f59e DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 +DIST binutils-2.38-patches-3.tar.xz 189068 BLAKE2B 5b14c90ab7dba253e92ad57b3a702fcbf48739dd0121ce8f739d88331da820ce44c35e16ac4bee394525c3a46bce980e9e1bbf4cbc9ce8a14fc324bc8fa059e7 SHA512 099266a8ef4272fd7f7552071e1892d114ed564a38b700df32e058ed691c6bfcd6f2454f649461f9c36594ea819a35d1e4cd2418609a2407be2a4f8885e500e3 +DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d EBUILD binutils-hppa64-2.35.2.ebuild 12162 BLAKE2B 0c0b6f56cda46ce66d72b6afe5a077eff29fa12615b4cd5271b600a8e4f4148893b43f4c57ed7ca5c9615af1925ca901f621c49d4ff89e455440625a8baded24 SHA512 7a8230cfe25358eecee982f05733fbd71203e6ceb677349f9de70d3d9e77c85c4cf142556af482ab9e01789f6694105c785b8bfdf317b2520d836435ee5adad9 EBUILD binutils-hppa64-2.36.1-r2.ebuild 12162 BLAKE2B 0be8fbdc32821f9e71da05ab285a0ebc6d680c7fd700487bf54e8ddc4d3db76a39e2f64456fb7d2f98e21d120cd2e19e4f7d7dd48088dd490815ce0f71f758bb SHA512 7259ac98a908f2ae5c5230e2963bb1b53659e404fcbad0b8f985fb3fc6a2d3fec59609d0a227e9c2e8c836ad50744cb16a30c2f6e304a46724d96d1e434d1387 -EBUILD binutils-hppa64-2.37_p1-r1.ebuild 13045 BLAKE2B e3a2686ef6f06845aaca9000d34226565c02d2e3e9a6c1ee9feeffb62c79a4b679ab51b8f462cd246a3cc92e380db931010ddabb1e6a9742a479869a3f5d056d SHA512 746eaffe0f6baed7f74b61a4b38c374846a02ecab1398b80ea09ee0c1dc404ae6a6a04d5343c2c763a57ffb2a704798bf204895acb2e4cc5d362718b3b0d1019 -EBUILD binutils-hppa64-2.37_p1-r2.ebuild 13251 BLAKE2B 504247df8bb8b7e394cac56448a21ee2b14735d82ade9b36dc24c1598dd714f681bbf2c67a8443f970011703024fc857a5354e80c69e6f17974a2aa925ca4e27 SHA512 ecfb3c51404c544396bcb85d9070a74ffdf1baf9bc4dbe0484f84711fb71f638f5aad56c2d0b99d99c10eca76e6b35ae6602e77167713959e52d6b8f19c69863 -EBUILD binutils-hppa64-2.37_p1.ebuild 13044 BLAKE2B c7c460e490c02c69df5a298bb4ebc19bebb1e23039b63eab81f227cf4e97cac2c0a40c33599298e887b6e88ea165764d6c72600fd6bc5a58f6a639cf8623b806 SHA512 be0fae7f71bbf3cc77361940b8ed2725c2d44215e48b8ebaddf26b938774a6438a15c52559a1f145fd7ddb98bfcb418b9a8fdc67bd5b92f40571300658d5f3c5 +EBUILD binutils-hppa64-2.37_p1-r2.ebuild 13250 BLAKE2B f212de7136a4ca923843729776d978b8cb3c1b4b8b860724e90082096562675b90f1a28cc7ca0795107b01e1d3b4a71fab0904d8d24b449bd2de0773acc99e45 SHA512 0f13f09a88dadc7de1e1063bb28dc487fae6fafcdf21bb4be0fd002d8fed1557981334bf5885a21d612b5908044811692e1b3106d0ff4d5d7ff937585704f6d2 +EBUILD binutils-hppa64-2.38-r1.ebuild 13251 BLAKE2B 37f26207f3a9f27716fd877d48595e2d2c1cbd6b757db14e209a4b371b225b140966abeee6b8b69554b5354bcb207724fcbd51bc497c8cf56ea4dd55861c819a SHA512 ad70ede4ee3a0e9fe9f056f5ba56326726f49659a7e2ce885dffa8b58da19f2d1d9ea628ed016568e1657c1d8e99771910a21a71a5abbd1e0115b0610b00e3ec MISC metadata.xml 856 BLAKE2B 0c54f8023d390c9716ebfe7271c510f63cb34971b5ebc0862325b109673d7d9fa5a8804aec64245f2e1ce00ff407a9743e680291d2d3ed952c8b4d74ad1d9a0e SHA512 21477678fefb698e4e67e6244d9222ac65b668857a5cc99b27a893238f34f44a3ea087d387571e50561c7014851d66e52e978694a7afc3a16c60d6f798e9cfcc diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild deleted file mode 100644 index 1e073a1a806a..000000000000 --- a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r1.ebuild +++ /dev/null @@ -1,458 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CTARGET=hppa64-${CHOST#*-} - -inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs - -DESCRIPTION="Tools necessary to build programs" -HOMEPAGE="https://sourceware.org/binutils/" -LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla" -REQUIRED_USE="default-gold? ( gold )" - -# Variables that can be set here (ignored for live ebuilds) -# PATCH_VER - the patchset version -# Default: empty, no patching -# PATCH_BINUTILS_VER - the binutils version in the patchset name -# - Default: PV -# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... -# for the patchsets - -PATCH_VER=1 -PATCH_DEV=dilfridge - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - SLOT=${PV} -else - PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} - PATCH_DEV=${PATCH_DEV:-dilfridge} - SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" - [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - SLOT=$(ver_cut 1-2) - # live ebuild - KEYWORDS="-* ~hppa" -fi - -# -# The cross-compile logic -# -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -# -# The dependencies -# -RDEPEND=" - >=sys-devel/binutils-config-3 - sys-libs/zlib -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( sys-apps/texinfo ) - test? ( - dev-util/dejagnu - sys-devel/bc - ) - nls? ( sys-devel/gettext ) - sys-devel/flex - virtual/yacc -" - -RESTRICT="!test? ( test )" - -MY_BUILDDIR=${WORKDIR}/build -S=${WORKDIR}/${P/-hppa64/} - -src_unpack() { - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patch || die - - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - S=${WORKDIR}/binutils - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P/-hppa64/}.tar.xz - - cd "${WORKDIR}" || die - unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz - - # _p patch versions are Gentoo specific tarballs ... - local dir=${P%_p?} - dir=${dir/-hppa64/} - - S=${WORKDIR}/${dir} - fi - - cd "${WORKDIR}" || die - mkdir -p "${MY_BUILDDIR}" || die -} - -src_prepare() { - local patchsetname - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" - fi - - if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then - if ! use vanilla; then - einfo "Applying binutils patchset ${patchsetname}" - eapply "${WORKDIR}/patch" - einfo "Done." - fi - fi - - # Make sure our explicit libdir paths don't get clobbered. #562460 - sed -i \ - -e 's:@bfdlibdir@:@libdir@:g' \ - -e 's:@bfdincludedir@:@includedir@:g' \ - {bfd,opcodes}/Makefile.in || die - - # Fix locale issues if possible #122216 - if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then - einfo "Fixing misc issues in configure files" - for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do - ebegin " Updating ${f/${S}\/}" - patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ - || eerror "Please file a bug about this" - eend $? - done - fi - - # Fix conflicts with newer glibc #272594 - if [[ -e libiberty/testsuite/test-demangle.c ]] ; then - sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c - fi - - # Apply things from PATCHES and user dirs - default - - # Run misc portage update scripts - gnuconfig_update - elibtoolize --portage --no-uclibc -} - -toolchain-binutils_bugurl() { - printf "https://bugs.gentoo.org/" -} -toolchain-binutils_pkgversion() { - printf "Gentoo ${PV}" - [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" -} - -src_configure() { - # Setup some paths - LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} - INCPATH=${LIBPATH}/include - DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} - if is_cross ; then - TOOLPATH=/usr/${CHOST}/${CTARGET} - else - TOOLPATH=/usr/${CTARGET} - fi - BINPATH=${TOOLPATH}/binutils-bin/${PV} - - # Make sure we filter $LINGUAS so that only ones that - # actually work make it through #42033 - strip-linguas -u */po - - # Keep things sane - strip-flags - - local x - echo - for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do - einfo "$(printf '%10s' ${x}:) ${!x}" - done - echo - - cd "${MY_BUILDDIR}" - local myconf=() - - if use plugins ; then - myconf+=( --enable-plugins ) - fi - # enable gold (installed as ld.gold) and ld's plugin architecture - if use gold ; then - myconf+=( --enable-gold ) - if use default-gold; then - myconf+=( --enable-gold=default ) - fi - fi - - if use nls ; then - myconf+=( --without-included-gettext ) - else - myconf+=( --disable-nls ) - fi - - myconf+=( --with-system-zlib ) - - # For bi-arch systems, enable a 64bit bfd. This matches - # the bi-arch logic in toolchain.eclass. #446946 - # We used to do it for everyone, but it's slow on 32bit arches. #438522 - case $(tc-arch) in - ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; - esac - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) - - is_cross && myconf+=( - --with-sysroot="${EPREFIX}"/usr/${CTARGET} - --enable-poison-system-directories - ) - - # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ - # on everyone in alpha (for now), we'll just enable it when possible - has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) - has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - myconf+=( - --prefix="${EPREFIX}"/usr - --host=${CHOST} - --target=${CTARGET} - --datadir="${EPREFIX}"${DATAPATH} - --datarootdir="${EPREFIX}"${DATAPATH} - --infodir="${EPREFIX}"${DATAPATH}/info - --mandir="${EPREFIX}"${DATAPATH}/man - --bindir="${EPREFIX}"${BINPATH} - --libdir="${EPREFIX}"${LIBPATH} - --libexecdir="${EPREFIX}"${LIBPATH} - --includedir="${EPREFIX}"${INCPATH} - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.27) offer a configure flag now. - --enable-relro - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - # Available from 2.35 on - --enable-textrel-check=warning - # Works better than vapier's patch... #808787 - --enable-new-dtags - --disable-werror - --with-bugurl="$(toolchain-binutils_bugurl)" - --with-pkgversion="$(toolchain-binutils_pkgversion)" - $(use_enable static-libs static) - ${EXTRA_ECONF} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # Change SONAME to avoid conflict across - # {native,cross}/binutils, binutils-libs. #666100 - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die - - # Prevent makeinfo from running if doc is unset. - if ! use doc ; then - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die - fi -} - -src_compile() { - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all - - # only build info pages if the user wants them - if use doc ; then - emake info - fi - - # we nuke the manpages when we're left with junk - # (like when we bootstrap, no perl -> no manpages) - find . -name '*.1' -a -size 0 -delete -} - -src_test() { - cd "${MY_BUILDDIR}" - - # bug 637066 - filter-flags -Wall -Wreturn-type - - emake -k check -} - -src_install() { - local x d - - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install - rm -rf "${ED}"/${LIBPATH}/bin - use static-libs || find "${ED}" -name '*.la' -delete - - # Newer versions of binutils get fancy with ${LIBPATH} #171905 - cd "${ED}"/${LIBPATH} - for d in ../* ; do - [[ ${d} == ../${PV} ]] && continue - mv ${d}/* . || die - rmdir ${d} || die - done - - # Now we collect everything intp the proper SLOT-ed dirs - # When something is built to cross-compile, it installs into - # /usr/$CHOST/ by default ... we have to 'fix' that :) - if is_cross ; then - cd "${ED}"/${BINPATH} - for x in * ; do - mv ${x} ${x/${CTARGET}-} - done - - if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then - mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} - mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/usr/${CHOST}/{include,lib} - fi - fi - insinto ${INCPATH} - local libiberty_headers=( - # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. - demangle.h - dyn-string.h - fibheap.h - hashtab.h - libiberty.h - objalloc.h - splay-tree.h - ) - doins "${libiberty_headers[@]/#/${S}/include/}" - if [[ -d ${ED}/${LIBPATH}/lib ]] ; then - mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/${LIBPATH}/lib - fi - - # Generate an env.d entry for this binutils - insinto /etc/env.d/binutils - cat <<-EOF > "${T}"/env.d - TARGET="${CTARGET}" - VER="${PV}" - LIBPATH="${EPREFIX}${LIBPATH}" - EOF - newins "${T}"/env.d ${CTARGET}-${PV} - - # Handle documentation - if ! is_cross ; then - cd "${S}" - dodoc README - docinto bfd - dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO - docinto binutils - dodoc binutils/ChangeLog binutils/NEWS binutils/README - docinto gas - dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* - docinto gprof - dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl - docinto ld - dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO - docinto libiberty - dodoc libiberty/ChangeLog* libiberty/README - docinto opcodes - dodoc opcodes/ChangeLog* - fi - - # Remove shared info pages - rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} - - # Trim all empty dirs - find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null - - # the hppa64 hack; this should go into 9999 as a PN-conditional - # tweak the default fake list a little bit - cd "${D}"/etc/env.d/binutils - sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die -} - -pkg_postinst() { - # Make sure this ${CTARGET} has a binutils version selected - [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 - binutils-config ${CTARGET}-${PV} -} - -pkg_postrm() { - local current_profile=$(binutils-config -c ${CTARGET}) - - # If no other versions exist, then uninstall for this - # target ... otherwise, switch to the newest version - # Note: only do this if this version is unmerged. We - # rerun binutils-config if this is a remerge, as - # we want the mtimes on the symlinks updated (if - # it is the same as the current selected profile) - if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then - local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') - choice=${choice//$'\n'/ } - choice=${choice/* } - if [[ -z ${choice} ]] ; then - binutils-config -u ${CTARGET} - else - binutils-config ${choice} - fi - elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then - binutils-config ${CTARGET}-${PV} - fi -} - -# Note [slotting support] -# ----------------------- -# Gentoo's layout for binutils files is non-standard as Gentoo -# supports slotted installation for binutils. Many tools -# still expect binutils to reside in known locations. -# binutils-config package restores symlinks into known locations, -# like: -# /usr/bin/${CTARGET}- -# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips -# /usr/include/ -# -# Note [tooldir hack for ldscripts] -# --------------------------------- -# Build system does not allow ./configure to tweak every location -# we need for slotting binutils hence all the shuffling in -# src_install(). This note is about SCRIPTDIR define handling. -# -# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value -# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' -# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. -# Thus we can't just move files around after compilation finished. -# -# Our goal is the following: -# - at build-time set scriptdir to point to symlinked location: -# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) -# - at install-time set scriptdir to point to slotted location: -# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r2.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r2.ebuild index 5b7776c9348f..d3f797079c97 100644 --- a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r2.ebuild +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1-r2.ebuild @@ -34,7 +34,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - KEYWORDS="-* ~hppa" + KEYWORDS="-* hppa" fi # diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1.ebuild deleted file mode 100644 index 7607479c80a1..000000000000 --- a/sys-devel/binutils-hppa64/binutils-hppa64-2.37_p1.ebuild +++ /dev/null @@ -1,458 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CTARGET=hppa64-${CHOST#*-} - -inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs - -DESCRIPTION="Tools necessary to build programs" -HOMEPAGE="https://sourceware.org/binutils/" -LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla" -REQUIRED_USE="default-gold? ( gold )" - -# Variables that can be set here (ignored for live ebuilds) -# PATCH_VER - the patchset version -# Default: empty, no patching -# PATCH_BINUTILS_VER - the binutils version in the patchset name -# - Default: PV -# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... -# for the patchsets - -PATCH_VER=0 -PATCH_DEV=dilfridge - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - SLOT=${PV} -else - PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} - PATCH_DEV=${PATCH_DEV:-dilfridge} - SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" - [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - SLOT=$(ver_cut 1-2) - # live ebuild - KEYWORDS="-* hppa" -fi - -# -# The cross-compile logic -# -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -# -# The dependencies -# -RDEPEND=" - >=sys-devel/binutils-config-3 - sys-libs/zlib -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( sys-apps/texinfo ) - test? ( - dev-util/dejagnu - sys-devel/bc - ) - nls? ( sys-devel/gettext ) - sys-devel/flex - virtual/yacc -" - -RESTRICT="!test? ( test )" - -MY_BUILDDIR=${WORKDIR}/build -S=${WORKDIR}/${P/-hppa64/} - -src_unpack() { - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patch || die - - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - S=${WORKDIR}/binutils - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P/-hppa64/}.tar.xz - - cd "${WORKDIR}" || die - unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz - - # _p patch versions are Gentoo specific tarballs ... - local dir=${P%_p?} - dir=${dir/-hppa64/} - - S=${WORKDIR}/${dir} - fi - - cd "${WORKDIR}" || die - mkdir -p "${MY_BUILDDIR}" || die -} - -src_prepare() { - local patchsetname - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" - fi - - if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then - if ! use vanilla; then - einfo "Applying binutils patchset ${patchsetname}" - eapply "${WORKDIR}/patch" - einfo "Done." - fi - fi - - # Make sure our explicit libdir paths don't get clobbered. #562460 - sed -i \ - -e 's:@bfdlibdir@:@libdir@:g' \ - -e 's:@bfdincludedir@:@includedir@:g' \ - {bfd,opcodes}/Makefile.in || die - - # Fix locale issues if possible #122216 - if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then - einfo "Fixing misc issues in configure files" - for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do - ebegin " Updating ${f/${S}\/}" - patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ - || eerror "Please file a bug about this" - eend $? - done - fi - - # Fix conflicts with newer glibc #272594 - if [[ -e libiberty/testsuite/test-demangle.c ]] ; then - sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c - fi - - # Apply things from PATCHES and user dirs - default - - # Run misc portage update scripts - gnuconfig_update - elibtoolize --portage --no-uclibc -} - -toolchain-binutils_bugurl() { - printf "https://bugs.gentoo.org/" -} -toolchain-binutils_pkgversion() { - printf "Gentoo ${PV}" - [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" -} - -src_configure() { - # Setup some paths - LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} - INCPATH=${LIBPATH}/include - DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} - if is_cross ; then - TOOLPATH=/usr/${CHOST}/${CTARGET} - else - TOOLPATH=/usr/${CTARGET} - fi - BINPATH=${TOOLPATH}/binutils-bin/${PV} - - # Make sure we filter $LINGUAS so that only ones that - # actually work make it through #42033 - strip-linguas -u */po - - # Keep things sane - strip-flags - - local x - echo - for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do - einfo "$(printf '%10s' ${x}:) ${!x}" - done - echo - - cd "${MY_BUILDDIR}" - local myconf=() - - if use plugins ; then - myconf+=( --enable-plugins ) - fi - # enable gold (installed as ld.gold) and ld's plugin architecture - if use gold ; then - myconf+=( --enable-gold ) - if use default-gold; then - myconf+=( --enable-gold=default ) - fi - fi - - if use nls ; then - myconf+=( --without-included-gettext ) - else - myconf+=( --disable-nls ) - fi - - myconf+=( --with-system-zlib ) - - # For bi-arch systems, enable a 64bit bfd. This matches - # the bi-arch logic in toolchain.eclass. #446946 - # We used to do it for everyone, but it's slow on 32bit arches. #438522 - case $(tc-arch) in - ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; - esac - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) - - is_cross && myconf+=( - --with-sysroot="${EPREFIX}"/usr/${CTARGET} - --enable-poison-system-directories - ) - - # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ - # on everyone in alpha (for now), we'll just enable it when possible - has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) - has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - myconf+=( - --prefix="${EPREFIX}"/usr - --host=${CHOST} - --target=${CTARGET} - --datadir="${EPREFIX}"${DATAPATH} - --datarootdir="${EPREFIX}"${DATAPATH} - --infodir="${EPREFIX}"${DATAPATH}/info - --mandir="${EPREFIX}"${DATAPATH}/man - --bindir="${EPREFIX}"${BINPATH} - --libdir="${EPREFIX}"${LIBPATH} - --libexecdir="${EPREFIX}"${LIBPATH} - --includedir="${EPREFIX}"${INCPATH} - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.27) offer a configure flag now. - --enable-relro - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - # Available from 2.35 on - --enable-textrel-check=warning - # Works better than vapier's patch... #808787 - --enable-new-dtags - --disable-werror - --with-bugurl="$(toolchain-binutils_bugurl)" - --with-pkgversion="$(toolchain-binutils_pkgversion)" - $(use_enable static-libs static) - ${EXTRA_ECONF} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # Change SONAME to avoid conflict across - # {native,cross}/binutils, binutils-libs. #666100 - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die - - # Prevent makeinfo from running if doc is unset. - if ! use doc ; then - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die - fi -} - -src_compile() { - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all - - # only build info pages if the user wants them - if use doc ; then - emake info - fi - - # we nuke the manpages when we're left with junk - # (like when we bootstrap, no perl -> no manpages) - find . -name '*.1' -a -size 0 -delete -} - -src_test() { - cd "${MY_BUILDDIR}" - - # bug 637066 - filter-flags -Wall -Wreturn-type - - emake -k check -} - -src_install() { - local x d - - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install - rm -rf "${ED}"/${LIBPATH}/bin - use static-libs || find "${ED}" -name '*.la' -delete - - # Newer versions of binutils get fancy with ${LIBPATH} #171905 - cd "${ED}"/${LIBPATH} - for d in ../* ; do - [[ ${d} == ../${PV} ]] && continue - mv ${d}/* . || die - rmdir ${d} || die - done - - # Now we collect everything intp the proper SLOT-ed dirs - # When something is built to cross-compile, it installs into - # /usr/$CHOST/ by default ... we have to 'fix' that :) - if is_cross ; then - cd "${ED}"/${BINPATH} - for x in * ; do - mv ${x} ${x/${CTARGET}-} - done - - if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then - mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} - mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/usr/${CHOST}/{include,lib} - fi - fi - insinto ${INCPATH} - local libiberty_headers=( - # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. - demangle.h - dyn-string.h - fibheap.h - hashtab.h - libiberty.h - objalloc.h - splay-tree.h - ) - doins "${libiberty_headers[@]/#/${S}/include/}" - if [[ -d ${ED}/${LIBPATH}/lib ]] ; then - mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/${LIBPATH}/lib - fi - - # Generate an env.d entry for this binutils - insinto /etc/env.d/binutils - cat <<-EOF > "${T}"/env.d - TARGET="${CTARGET}" - VER="${PV}" - LIBPATH="${EPREFIX}${LIBPATH}" - EOF - newins "${T}"/env.d ${CTARGET}-${PV} - - # Handle documentation - if ! is_cross ; then - cd "${S}" - dodoc README - docinto bfd - dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO - docinto binutils - dodoc binutils/ChangeLog binutils/NEWS binutils/README - docinto gas - dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* - docinto gprof - dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl - docinto ld - dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO - docinto libiberty - dodoc libiberty/ChangeLog* libiberty/README - docinto opcodes - dodoc opcodes/ChangeLog* - fi - - # Remove shared info pages - rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} - - # Trim all empty dirs - find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null - - # the hppa64 hack; this should go into 9999 as a PN-conditional - # tweak the default fake list a little bit - cd "${D}"/etc/env.d/binutils - sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die -} - -pkg_postinst() { - # Make sure this ${CTARGET} has a binutils version selected - [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 - binutils-config ${CTARGET}-${PV} -} - -pkg_postrm() { - local current_profile=$(binutils-config -c ${CTARGET}) - - # If no other versions exist, then uninstall for this - # target ... otherwise, switch to the newest version - # Note: only do this if this version is unmerged. We - # rerun binutils-config if this is a remerge, as - # we want the mtimes on the symlinks updated (if - # it is the same as the current selected profile) - if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then - local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') - choice=${choice//$'\n'/ } - choice=${choice/* } - if [[ -z ${choice} ]] ; then - binutils-config -u ${CTARGET} - else - binutils-config ${choice} - fi - elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then - binutils-config ${CTARGET}-${PV} - fi -} - -# Note [slotting support] -# ----------------------- -# Gentoo's layout for binutils files is non-standard as Gentoo -# supports slotted installation for binutils. Many tools -# still expect binutils to reside in known locations. -# binutils-config package restores symlinks into known locations, -# like: -# /usr/bin/${CTARGET}- -# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips -# /usr/include/ -# -# Note [tooldir hack for ldscripts] -# --------------------------------- -# Build system does not allow ./configure to tweak every location -# we need for slotting binutils hence all the shuffling in -# src_install(). This note is about SCRIPTDIR define handling. -# -# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value -# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' -# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. -# Thus we can't just move files around after compilation finished. -# -# Our goal is the following: -# - at build-time set scriptdir to point to symlinked location: -# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) -# - at install-time set scriptdir to point to slotted location: -# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r1.ebuild new file mode 100644 index 000000000000..6d45ceecacaf --- /dev/null +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.38-r1.ebuild @@ -0,0 +1,467 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CTARGET=hppa64-${CHOST#*-} + +inherit libtool flag-o-matic gnuconfig multilib toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" +LICENSE="GPL-3+" +IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla" +REQUIRED_USE="default-gold? ( gold )" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=3 +PATCH_DEV=dilfridge + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SLOT=${PV} +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" + [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT=$(ver_cut 1-2) + KEYWORDS="-* ~hppa" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + test? ( + dev-util/dejagnu + sys-devel/bc + ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build +S=${WORKDIR}/${P/-hppa64/} + +src_unpack() { + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # Make sure our explicit libdir paths don't get clobbered. #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible #122216 + if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then + einfo "Fixing misc issues in configure files" + for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do + ebegin " Updating ${f/${S}\/}" + patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + fi + + # Fix conflicts with newer glibc #272594 + if [[ -e libiberty/testsuite/test-demangle.c ]] ; then + sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c + fi + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + # enable gold (installed as ld.gold) and ld's plugin architecture + if use gold ; then + myconf+=( --enable-gold ) + if use default-gold; then + myconf+=( --enable-gold=default ) + fi + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches + # the bi-arch logic in toolchain.eclass. #446946 + # We used to do it for everyone, but it's slow on 32bit arches. #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ + # on everyone in alpha (for now), we'll just enable it when possible + has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) + has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.27) offer a configure flag now. + --enable-relro + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + # Works better than vapier's patch... #808787 + --enable-new-dtags + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + ${EXTRA_ECONF} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across + # {native,cross}/binutils, binutils-libs. #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + + # No LTO for HPPA64 right now as we don't build kgcc64 with LTO support. + $(use_enable pgo pgo-build) + ) + + if use pgo ; then + export BUILD_CFLAGS="${CFLAGS}" + fi + + echo ./configure "${myconf[@]}" + "${S}"/configure "${myconf[@]}" || die + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" + + # bug 637066 + filter-flags -Wall -Wreturn-type + + emake -k check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH} #171905 + cd "${ED}"/${LIBPATH} + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} + for x in * ; do + mv ${x} ${x/${CTARGET}-} + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/${LIBPATH}/lib + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" + dodoc README + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null + + # the hppa64 hack; this should go into 9999 as a PN-conditional + # tweak the default fake list a little bit + cd "${D}"/etc/env.d/binutils + sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} + else + binutils-config ${choice} + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}- +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest index d10bf408d292..c064d87a896b 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -14,17 +14,16 @@ DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7e DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84 DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9 -DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24 -DIST binutils-2.37_p1-patches-1.tar.xz 28956 BLAKE2B 3bc14fcc52a6d11992ad9ed88fa3347ca3d5facd59de094a178a5f720d0eed6297dadf9a8fea7189076eb81274612c0b71c01f15a8f58deeaed8c8f6135ef50d SHA512 f6b2a09bfc692cf90f6cd56be81f424a68831db48054dc150eb6ec28bfa18d35933203c2d3b502f0c80e38771353c373446aec2488469fe2df20d8066033f59e DIST binutils-2.37_p1-patches-2.tar.xz 31956 BLAKE2B 39c48628d0e2d7f3a8cf11be391b51dc64c7a534a3e64950fd992907c34fa36bebdf95cc5a184dd5b35e134e0c20376b5883abbf96ae57403c55377e615a6790 SHA512 c927aafa8c87e3b68ad28da5a17edf5647591ec26feeb56c743bc6637ffb10832b50ec6fd8442e80e40628b624e31b2f0f0b5f1193e77dc7e5442df0cb8cc8f1 DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28 +DIST binutils-2.38-patches-3.tar.xz 189068 BLAKE2B 5b14c90ab7dba253e92ad57b3a702fcbf48739dd0121ce8f739d88331da820ce44c35e16ac4bee394525c3a46bce980e9e1bbf4cbc9ce8a14fc324bc8fa059e7 SHA512 099266a8ef4272fd7f7552071e1892d114ed564a38b700df32e058ed691c6bfcd6f2454f649461f9c36594ea819a35d1e4cd2418609a2407be2a4f8885e500e3 +DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d EBUILD binutils-2.32-r2.ebuild 11938 BLAKE2B 428c753cea3114b7989cc4f23ceff28a021087d07fda9a268a183c5ce89bb7043cefd4379e767115a67354231231668ff79f6c032e5f2c01b990f67bf04c1ccc SHA512 c42dccb27be0ce260d3f1b0e7e59dad7b8de3c95c4c6344ae7007018236255b81c8e36fc75e29888d4bd6ff99c51d9ef44f77ee15cfdebec4fd9e83a5fa5fc69 EBUILD binutils-2.33.1-r1.ebuild 11674 BLAKE2B fb92231ebf9e3b39d7ccaece8d77053670e76885c0081fa9de93bdc79743c150570325fe157d2906d63a313d515917a4c75ee120082a16c3a6569bb1835165c9 SHA512 f773a86401ded701a46c75ad939537dc429678163a86e55fd7362bd7e95ce196214c34cde070f093f41716d29cf1e581b928c6d6c442bb52666d5e8311486997 EBUILD binutils-2.34-r2.ebuild 11770 BLAKE2B 7cb3c8bbeb0ae93677d13f8c036a8886e2d5c18263492f6cd3e56479585a4981e097e091458042941ccf0f04cf1221cf51361bde6152d45e3a78c7b9226da570 SHA512 14019b84833a7a626c225174da50efb6537f1e1423614592cb8702015bc201132ef29959d5bf888b54dcda8056317b37ad4000c517b716be78d773ced522e03b EBUILD binutils-2.35.2.ebuild 12651 BLAKE2B d97d3cfab222e74e94bdc5d462bf95f9d39cd62ffc686982598a8041b6bda0358ab39fcf4cfdd6fda3b444859db97c39a50971032008dbd982301e1afff94b41 SHA512 6c6820a8206cb8cf5d4df8e1c1e5448e0a3ba77ab067bc49525787beadad464aef27fb04debbfde4720a3a44b02a4206fd4b3c4d18eb19428a7d98254753fd05 EBUILD binutils-2.36.1-r2.ebuild 12553 BLAKE2B 8ce3d14f6d7cc81e920f7d5a28875a5bcc45b396169afe5a6e4429849eb9b420977f39fd85487d3ef93a2aef838c6122413b7ef5c9f8c6273d9d1b1bf5b4608a SHA512 53935fec45e8241e73c76be22dde5e9576360cb511642bb5fded59515ea0641cbcb7eb6bd6eef2f30d6d4e940cf1869908c96b194ec1f5e9a016664a5c6cf2eb -EBUILD binutils-2.37_p1-r1.ebuild 12893 BLAKE2B 55fb00ec7c769b8675fd33e8ac5887681c9ee974eddcf1274172d4578b851d42f1fbe32ef7fae1343b56e90250a3a4cd16181b8432e910568929e500d14c5c2e SHA512 5d635a9ed125e047dfda42f2f5bfc13ef633be8bc0c8aef64bb920beceac809d7f767f5aa928547226642db545292aa3165d44d0d9680cdcda3b47496e934e88 -EBUILD binutils-2.37_p1-r2.ebuild 13104 BLAKE2B 5cab6a526f020cb97199aa23562fd3f4125ff61d5fe01128f6d390e35a5382ce6b2b65256599321a5ab90ae7b15e8758b292673b42f3ddd78685b35d997448c3 SHA512 9eb101d1f4ae1c57b87b809967e8c585f0d15df66ff9e1b2da91f8c84a6c0d3c97b68561089b57148500d0081cc371d49710eb63b4330f84913908dd513b96ed -EBUILD binutils-2.37_p1.ebuild 12839 BLAKE2B 6ddb1dd33f47b27784bde21981e8ab8fd70499660a22ff09383c501007e92336ffa07355325c9eab1aa729fa6cd058e1eccc0937ca69a7ee4f93183ff79ac7f7 SHA512 59949998a9d1ba991839262e8e48c5178c24df1b74d66b2556766f3afe53c1ac041dcb5058b5c09508e9cb97d33f06b3c3357446039c6a9806e1c0cbfb3a1099 -EBUILD binutils-9999.ebuild 13120 BLAKE2B dcc2dac9955128469396268583cde8b7b9db750c062b21ecdea8d1fdf22bcd8b4fcbfad9c8196011ad6592f792153ab8beb9ea148aed6a6af0687cb7dfb4dfe1 SHA512 1a83c0ea7369808c998f9d285473c95ab80d0b31bd4109eda70d7949415b9795b29575b691bfdd15a84bfb23e779bf40222071bb9e59c522ba9f629595dd4212 +EBUILD binutils-2.37_p1-r2.ebuild 13024 BLAKE2B e67ed4a55a9f07ebd064c82901bc6b5e23933f562c8b6258d32649571f38cbc81061fcb886feaa70619d46d47c52cd701745c173ccf060e47c5cfef2d202a8ca SHA512 480b1921ff344b943b1cf2c1ea9960cd5252f8055a4bffc109f096b038d4d1fc2dd670d696ce7217fd1d827eef5c07cc81c7d0886fc554d939535582d5300f26 +EBUILD binutils-2.38-r1.ebuild 13032 BLAKE2B 23dcf886c2fc5837ad09a69fb5671b65e57cedd0b1275242da32d6fa07ca198ebfc08875f0675193651f33a39b4f872cea46de2953bff94246d5f0db22e20abc SHA512 9fcd78ef633f16e1ecdd5c5ffe68f182e93ad8c2fbbcda8a80d00870b102c4801a65781251ecc623a6f7d42a20d60cb29e88d074d7b8b9a0736e63f252420603 +EBUILD binutils-9999.ebuild 13048 BLAKE2B c152f9de743a8b62f52e3a6fc75647d85e7fd592b9b7845b7cfcfc936b6c9bbf9e6ae2ebbf232a1d5aa3761fc101db511d45d5334a2afe15520b13468f211c6b SHA512 cff33ffe1ce306c07a03e148e30f1f4785f83d070758a237770356c025e231f2c61b7285155c1f855d91671100d676da299bb7e81c34c789bbf24aa9f0b5ea1b MISC metadata.xml 815 BLAKE2B 0d866827f8a6d0244be472dea595d5784ea60464ba361cde9bd062473b5eb19ccecc99bb58729acadd2cfe7dc017cdb2107fc282a31be6ed96c757954e6c9ac0 SHA512 8996f29b159ba483293b8d80eb62372ee0016e817d9ac55b7de9c211aca770b5a05135e705aac108099181d879daf5e22df1facab64bc7765966b3d7e3274e16 diff --git a/sys-devel/binutils/binutils-2.37_p1-r1.ebuild b/sys-devel/binutils/binutils-2.37_p1-r1.ebuild deleted file mode 100644 index 2333d6b11deb..000000000000 --- a/sys-devel/binutils/binutils-2.37_p1-r1.ebuild +++ /dev/null @@ -1,451 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs - -DESCRIPTION="Tools necessary to build programs" -HOMEPAGE="https://sourceware.org/binutils/" -LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla" -REQUIRED_USE="default-gold? ( gold )" - -# Variables that can be set here (ignored for live ebuilds) -# PATCH_VER - the patchset version -# Default: empty, no patching -# PATCH_BINUTILS_VER - the binutils version in the patchset name -# - Default: PV -# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... -# for the patchsets - -PATCH_VER=1 -PATCH_DEV=dilfridge - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - SLOT=${PV} -else - PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} - PATCH_DEV=${PATCH_DEV:-dilfridge} - SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" - [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - SLOT=$(ver_cut 1-2) - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -# -# The cross-compile logic -# -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -# -# The dependencies -# -RDEPEND=" - >=sys-devel/binutils-config-3 - sys-libs/zlib -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( sys-apps/texinfo ) - test? ( - dev-util/dejagnu - sys-devel/bc - ) - nls? ( sys-devel/gettext ) - sys-devel/flex - virtual/yacc -" - -RESTRICT="!test? ( test )" - -MY_BUILDDIR=${WORKDIR}/build - -src_unpack() { - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patch || die - - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - S=${WORKDIR}/binutils - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P/-hppa64/}.tar.xz - - cd "${WORKDIR}" || die - unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz - - # _p patch versions are Gentoo specific tarballs ... - local dir=${P%_p?} - dir=${dir/-hppa64/} - - S=${WORKDIR}/${dir} - fi - - cd "${WORKDIR}" || die - mkdir -p "${MY_BUILDDIR}" || die -} - -src_prepare() { - local patchsetname - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" - fi - - if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then - if ! use vanilla; then - einfo "Applying binutils patchset ${patchsetname}" - eapply "${WORKDIR}/patch" - einfo "Done." - fi - fi - - # Make sure our explicit libdir paths don't get clobbered. #562460 - sed -i \ - -e 's:@bfdlibdir@:@libdir@:g' \ - -e 's:@bfdincludedir@:@includedir@:g' \ - {bfd,opcodes}/Makefile.in || die - - # Fix locale issues if possible #122216 - if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then - einfo "Fixing misc issues in configure files" - for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do - ebegin " Updating ${f/${S}\/}" - patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ - || eerror "Please file a bug about this" - eend $? - done - fi - - # Fix conflicts with newer glibc #272594 - if [[ -e libiberty/testsuite/test-demangle.c ]] ; then - sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c - fi - - # Apply things from PATCHES and user dirs - default - - # Run misc portage update scripts - gnuconfig_update - elibtoolize --portage --no-uclibc -} - -toolchain-binutils_bugurl() { - printf "https://bugs.gentoo.org/" -} -toolchain-binutils_pkgversion() { - printf "Gentoo ${PV}" - [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" -} - -src_configure() { - # Setup some paths - LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} - INCPATH=${LIBPATH}/include - DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} - if is_cross ; then - TOOLPATH=/usr/${CHOST}/${CTARGET} - else - TOOLPATH=/usr/${CTARGET} - fi - BINPATH=${TOOLPATH}/binutils-bin/${PV} - - # Make sure we filter $LINGUAS so that only ones that - # actually work make it through #42033 - strip-linguas -u */po - - # Keep things sane - strip-flags - - use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 - - local x - echo - for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do - einfo "$(printf '%10s' ${x}:) ${!x}" - done - echo - - cd "${MY_BUILDDIR}" - local myconf=() - - if use plugins ; then - myconf+=( --enable-plugins ) - fi - # enable gold (installed as ld.gold) and ld's plugin architecture - if use gold ; then - myconf+=( --enable-gold ) - if use default-gold; then - myconf+=( --enable-gold=default ) - fi - fi - - if use nls ; then - myconf+=( --without-included-gettext ) - else - myconf+=( --disable-nls ) - fi - - myconf+=( --with-system-zlib ) - - # For bi-arch systems, enable a 64bit bfd. This matches - # the bi-arch logic in toolchain.eclass. #446946 - # We used to do it for everyone, but it's slow on 32bit arches. #438522 - case $(tc-arch) in - ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; - esac - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) - - is_cross && myconf+=( - --with-sysroot="${EPREFIX}"/usr/${CTARGET} - --enable-poison-system-directories - ) - - # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ - # on everyone in alpha (for now), we'll just enable it when possible - has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) - has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - myconf+=( - --prefix="${EPREFIX}"/usr - --host=${CHOST} - --target=${CTARGET} - --datadir="${EPREFIX}"${DATAPATH} - --datarootdir="${EPREFIX}"${DATAPATH} - --infodir="${EPREFIX}"${DATAPATH}/info - --mandir="${EPREFIX}"${DATAPATH}/man - --bindir="${EPREFIX}"${BINPATH} - --libdir="${EPREFIX}"${LIBPATH} - --libexecdir="${EPREFIX}"${LIBPATH} - --includedir="${EPREFIX}"${INCPATH} - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.27) offer a configure flag now. - --enable-relro - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - # Available from 2.35 on - --enable-textrel-check=warning - # Works better than vapier's patch... #808787 - --enable-new-dtags - --disable-werror - --with-bugurl="$(toolchain-binutils_bugurl)" - --with-pkgversion="$(toolchain-binutils_pkgversion)" - $(use_enable static-libs static) - ${EXTRA_ECONF} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # Change SONAME to avoid conflict across - # {native,cross}/binutils, binutils-libs. #666100 - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die - - # Prevent makeinfo from running if doc is unset. - if ! use doc ; then - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die - fi -} - -src_compile() { - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all - - # only build info pages if the user wants them - if use doc ; then - emake info - fi - - # we nuke the manpages when we're left with junk - # (like when we bootstrap, no perl -> no manpages) - find . -name '*.1' -a -size 0 -delete -} - -src_test() { - cd "${MY_BUILDDIR}" - - # bug 637066 - filter-flags -Wall -Wreturn-type - - emake -k check -} - -src_install() { - local x d - - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install - rm -rf "${ED}"/${LIBPATH}/bin - use static-libs || find "${ED}" -name '*.la' -delete - - # Newer versions of binutils get fancy with ${LIBPATH} #171905 - cd "${ED}"/${LIBPATH} - for d in ../* ; do - [[ ${d} == ../${PV} ]] && continue - mv ${d}/* . || die - rmdir ${d} || die - done - - # Now we collect everything intp the proper SLOT-ed dirs - # When something is built to cross-compile, it installs into - # /usr/$CHOST/ by default ... we have to 'fix' that :) - if is_cross ; then - cd "${ED}"/${BINPATH} - for x in * ; do - mv ${x} ${x/${CTARGET}-} - done - - if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then - mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} - mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/usr/${CHOST}/{include,lib} - fi - fi - insinto ${INCPATH} - local libiberty_headers=( - # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. - demangle.h - dyn-string.h - fibheap.h - hashtab.h - libiberty.h - objalloc.h - splay-tree.h - ) - doins "${libiberty_headers[@]/#/${S}/include/}" - if [[ -d ${ED}/${LIBPATH}/lib ]] ; then - mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/${LIBPATH}/lib - fi - - # Generate an env.d entry for this binutils - insinto /etc/env.d/binutils - cat <<-EOF > "${T}"/env.d - TARGET="${CTARGET}" - VER="${PV}" - LIBPATH="${EPREFIX}${LIBPATH}" - EOF - newins "${T}"/env.d ${CTARGET}-${PV} - - # Handle documentation - if ! is_cross ; then - cd "${S}" - dodoc README - docinto bfd - dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO - docinto binutils - dodoc binutils/ChangeLog binutils/NEWS binutils/README - docinto gas - dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* - docinto gprof - dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl - docinto ld - dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO - docinto libiberty - dodoc libiberty/ChangeLog* libiberty/README - docinto opcodes - dodoc opcodes/ChangeLog* - fi - - # Remove shared info pages - rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} - - # Trim all empty dirs - find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null -} - -pkg_postinst() { - # Make sure this ${CTARGET} has a binutils version selected - [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 - binutils-config ${CTARGET}-${PV} -} - -pkg_postrm() { - local current_profile=$(binutils-config -c ${CTARGET}) - - # If no other versions exist, then uninstall for this - # target ... otherwise, switch to the newest version - # Note: only do this if this version is unmerged. We - # rerun binutils-config if this is a remerge, as - # we want the mtimes on the symlinks updated (if - # it is the same as the current selected profile) - if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then - local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') - choice=${choice//$'\n'/ } - choice=${choice/* } - if [[ -z ${choice} ]] ; then - binutils-config -u ${CTARGET} - else - binutils-config ${choice} - fi - elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then - binutils-config ${CTARGET}-${PV} - fi -} - -# Note [slotting support] -# ----------------------- -# Gentoo's layout for binutils files is non-standard as Gentoo -# supports slotted installation for binutils. Many tools -# still expect binutils to reside in known locations. -# binutils-config package restores symlinks into known locations, -# like: -# /usr/bin/${CTARGET}- -# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips -# /usr/include/ -# -# Note [tooldir hack for ldscripts] -# --------------------------------- -# Build system does not allow ./configure to tweak every location -# we need for slotting binutils hence all the shuffling in -# src_install(). This note is about SCRIPTDIR define handling. -# -# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value -# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' -# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. -# Thus we can't just move files around after compilation finished. -# -# Our goal is the following: -# - at build-time set scriptdir to point to symlinked location: -# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) -# - at install-time set scriptdir to point to slotted location: -# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/binutils-2.37_p1-r2.ebuild b/sys-devel/binutils/binutils-2.37_p1-r2.ebuild index 438f371da3b9..6ade635ea8fa 100644 --- a/sys-devel/binutils/binutils-2.37_p1-r2.ebuild +++ b/sys-devel/binutils/binutils-2.37_p1-r2.ebuild @@ -32,7 +32,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi # @@ -282,10 +282,6 @@ src_configure() { fi fi - if use pgo && ! is_cross ; then - export BUILD_CFLAGS="${CFLAGS}" - fi - echo ./configure "${myconf[@]}" "${S}"/configure "${myconf[@]}" || die diff --git a/sys-devel/binutils/binutils-2.37_p1.ebuild b/sys-devel/binutils/binutils-2.37_p1.ebuild deleted file mode 100644 index 7bac92e076f5..000000000000 --- a/sys-devel/binutils/binutils-2.37_p1.ebuild +++ /dev/null @@ -1,450 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs - -DESCRIPTION="Tools necessary to build programs" -HOMEPAGE="https://sourceware.org/binutils/" -LICENSE="GPL-3+" -IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla" -REQUIRED_USE="default-gold? ( gold )" - -# Variables that can be set here (ignored for live ebuilds) -# PATCH_VER - the patchset version -# Default: empty, no patching -# PATCH_BINUTILS_VER - the binutils version in the patchset name -# - Default: PV -# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... -# for the patchsets - -PATCH_VER=0 -PATCH_DEV=dilfridge - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - SLOT=${PV} -else - PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} - PATCH_DEV=${PATCH_DEV:-dilfridge} - SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" - [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - SLOT=$(ver_cut 1-2) - # live ebuild - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -# -# The cross-compile logic -# -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -# -# The dependencies -# -RDEPEND=" - >=sys-devel/binutils-config-3 - sys-libs/zlib -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( sys-apps/texinfo ) - test? ( - dev-util/dejagnu - sys-devel/bc - ) - nls? ( sys-devel/gettext ) - sys-devel/flex - virtual/yacc -" - -RESTRICT="!test? ( test )" - -MY_BUILDDIR=${WORKDIR}/build - -src_unpack() { - if [[ ${PV} == 9999* ]] ; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" - EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git - git-r3_src_unpack - mv patches-git/9999 patch || die - - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - S=${WORKDIR}/binutils - EGIT_CHECKOUT_DIR=${S} - git-r3_src_unpack - else - unpack ${P/-hppa64/}.tar.xz - - cd "${WORKDIR}" || die - unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz - - # _p patch versions are Gentoo specific tarballs ... - local dir=${P%_p?} - dir=${dir/-hppa64/} - - S=${WORKDIR}/${dir} - fi - - cd "${WORKDIR}" || die - mkdir -p "${MY_BUILDDIR}" || die -} - -src_prepare() { - local patchsetname - if [[ ${PV} == 9999* ]] ; then - patchsetname="from git master" - else - patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" - fi - - if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then - if ! use vanilla; then - einfo "Applying binutils patchset ${patchsetname}" - eapply "${WORKDIR}/patch" - einfo "Done." - fi - fi - - # Make sure our explicit libdir paths don't get clobbered. #562460 - sed -i \ - -e 's:@bfdlibdir@:@libdir@:g' \ - -e 's:@bfdincludedir@:@includedir@:g' \ - {bfd,opcodes}/Makefile.in || die - - # Fix locale issues if possible #122216 - if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then - einfo "Fixing misc issues in configure files" - for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do - ebegin " Updating ${f/${S}\/}" - patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ - || eerror "Please file a bug about this" - eend $? - done - fi - - # Fix conflicts with newer glibc #272594 - if [[ -e libiberty/testsuite/test-demangle.c ]] ; then - sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c - fi - - # Apply things from PATCHES and user dirs - default - - # Run misc portage update scripts - gnuconfig_update - elibtoolize --portage --no-uclibc -} - -toolchain-binutils_bugurl() { - printf "https://bugs.gentoo.org/" -} -toolchain-binutils_pkgversion() { - printf "Gentoo ${PV}" - [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" -} - -src_configure() { - # Setup some paths - LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} - INCPATH=${LIBPATH}/include - DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} - if is_cross ; then - TOOLPATH=/usr/${CHOST}/${CTARGET} - else - TOOLPATH=/usr/${CTARGET} - fi - BINPATH=${TOOLPATH}/binutils-bin/${PV} - - # Make sure we filter $LINGUAS so that only ones that - # actually work make it through #42033 - strip-linguas -u */po - - # Keep things sane - strip-flags - - local x - echo - for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do - einfo "$(printf '%10s' ${x}:) ${!x}" - done - echo - - cd "${MY_BUILDDIR}" - local myconf=() - - if use plugins ; then - myconf+=( --enable-plugins ) - fi - # enable gold (installed as ld.gold) and ld's plugin architecture - if use gold ; then - myconf+=( --enable-gold ) - if use default-gold; then - myconf+=( --enable-gold=default ) - fi - fi - - if use nls ; then - myconf+=( --without-included-gettext ) - else - myconf+=( --disable-nls ) - fi - - myconf+=( --with-system-zlib ) - - # For bi-arch systems, enable a 64bit bfd. This matches - # the bi-arch logic in toolchain.eclass. #446946 - # We used to do it for everyone, but it's slow on 32bit arches. #438522 - case $(tc-arch) in - ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; - esac - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) - - is_cross && myconf+=( - --with-sysroot="${EPREFIX}"/usr/${CTARGET} - --enable-poison-system-directories - ) - - # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ - # on everyone in alpha (for now), we'll just enable it when possible - has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) - has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - myconf+=( - --prefix="${EPREFIX}"/usr - --host=${CHOST} - --target=${CTARGET} - --datadir="${EPREFIX}"${DATAPATH} - --datarootdir="${EPREFIX}"${DATAPATH} - --infodir="${EPREFIX}"${DATAPATH}/info - --mandir="${EPREFIX}"${DATAPATH}/man - --bindir="${EPREFIX}"${BINPATH} - --libdir="${EPREFIX}"${LIBPATH} - --libexecdir="${EPREFIX}"${LIBPATH} - --includedir="${EPREFIX}"${INCPATH} - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.27) offer a configure flag now. - --enable-relro - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - # Available from 2.35 on - --enable-textrel-check=warning - # Works better than vapier's patch... #808787 - --enable-new-dtags - --disable-werror - --with-bugurl="$(toolchain-binutils_bugurl)" - --with-pkgversion="$(toolchain-binutils_pkgversion)" - $(use_enable static-libs static) - ${EXTRA_ECONF} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # Change SONAME to avoid conflict across - # {native,cross}/binutils, binutils-libs. #666100 - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - echo ./configure "${myconf[@]}" - "${S}"/configure "${myconf[@]}" || die - - # Prevent makeinfo from running if doc is unset. - if ! use doc ; then - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die - fi -} - -src_compile() { - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake tooldir="${EPREFIX}${TOOLPATH}" all - - # only build info pages if the user wants them - if use doc ; then - emake info - fi - - # we nuke the manpages when we're left with junk - # (like when we bootstrap, no perl -> no manpages) - find . -name '*.1' -a -size 0 -delete -} - -src_test() { - cd "${MY_BUILDDIR}" - - # bug 637066 - filter-flags -Wall -Wreturn-type - - emake -k check -} - -src_install() { - local x d - - cd "${MY_BUILDDIR}" - # see Note [tooldir hack for ldscripts] - emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install - rm -rf "${ED}"/${LIBPATH}/bin - use static-libs || find "${ED}" -name '*.la' -delete - - # Newer versions of binutils get fancy with ${LIBPATH} #171905 - cd "${ED}"/${LIBPATH} - for d in ../* ; do - [[ ${d} == ../${PV} ]] && continue - mv ${d}/* . || die - rmdir ${d} || die - done - - # Now we collect everything intp the proper SLOT-ed dirs - # When something is built to cross-compile, it installs into - # /usr/$CHOST/ by default ... we have to 'fix' that :) - if is_cross ; then - cd "${ED}"/${BINPATH} - for x in * ; do - mv ${x} ${x/${CTARGET}-} - done - - if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then - mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} - mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/usr/${CHOST}/{include,lib} - fi - fi - insinto ${INCPATH} - local libiberty_headers=( - # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. - demangle.h - dyn-string.h - fibheap.h - hashtab.h - libiberty.h - objalloc.h - splay-tree.h - ) - doins "${libiberty_headers[@]/#/${S}/include/}" - if [[ -d ${ED}/${LIBPATH}/lib ]] ; then - mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ - rm -r "${ED}"/${LIBPATH}/lib - fi - - # Generate an env.d entry for this binutils - insinto /etc/env.d/binutils - cat <<-EOF > "${T}"/env.d - TARGET="${CTARGET}" - VER="${PV}" - LIBPATH="${EPREFIX}${LIBPATH}" - EOF - newins "${T}"/env.d ${CTARGET}-${PV} - - # Handle documentation - if ! is_cross ; then - cd "${S}" - dodoc README - docinto bfd - dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO - docinto binutils - dodoc binutils/ChangeLog binutils/NEWS binutils/README - docinto gas - dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* - docinto gprof - dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl - docinto ld - dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO - docinto libiberty - dodoc libiberty/ChangeLog* libiberty/README - docinto opcodes - dodoc opcodes/ChangeLog* - fi - - # Remove shared info pages - rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} - - # Trim all empty dirs - find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null -} - -pkg_postinst() { - # Make sure this ${CTARGET} has a binutils version selected - [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 - binutils-config ${CTARGET}-${PV} -} - -pkg_postrm() { - local current_profile=$(binutils-config -c ${CTARGET}) - - # If no other versions exist, then uninstall for this - # target ... otherwise, switch to the newest version - # Note: only do this if this version is unmerged. We - # rerun binutils-config if this is a remerge, as - # we want the mtimes on the symlinks updated (if - # it is the same as the current selected profile) - if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then - local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') - choice=${choice//$'\n'/ } - choice=${choice/* } - if [[ -z ${choice} ]] ; then - binutils-config -u ${CTARGET} - else - binutils-config ${choice} - fi - elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then - binutils-config ${CTARGET}-${PV} - fi -} - -# Note [slotting support] -# ----------------------- -# Gentoo's layout for binutils files is non-standard as Gentoo -# supports slotted installation for binutils. Many tools -# still expect binutils to reside in known locations. -# binutils-config package restores symlinks into known locations, -# like: -# /usr/bin/${CTARGET}- -# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips -# /usr/include/ -# -# Note [tooldir hack for ldscripts] -# --------------------------------- -# Build system does not allow ./configure to tweak every location -# we need for slotting binutils hence all the shuffling in -# src_install(). This note is about SCRIPTDIR define handling. -# -# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value -# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' -# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. -# Thus we can't just move files around after compilation finished. -# -# Our goal is the following: -# - at build-time set scriptdir to point to symlinked location: -# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) -# - at install-time set scriptdir to point to slotted location: -# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/binutils-2.38-r1.ebuild b/sys-devel/binutils/binutils-2.38-r1.ebuild new file mode 100644 index 000000000000..0041aec7eb5e --- /dev/null +++ b/sys-devel/binutils/binutils-2.38-r1.ebuild @@ -0,0 +1,460 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" +LICENSE="GPL-3+" +IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla" +REQUIRED_USE="default-gold? ( gold )" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=3 +PATCH_DEV=dilfridge + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SLOT=${PV} +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" + [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT=$(ver_cut 1-2) + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + test? ( + dev-util/dejagnu + sys-devel/bc + ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR=${WORKDIR}/build + +src_unpack() { + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + S=${WORKDIR}/binutils + EGIT_CHECKOUT_DIR=${S} + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S=${WORKDIR}/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # Make sure our explicit libdir paths don't get clobbered. #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible #122216 + if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then + einfo "Fixing misc issues in configure files" + for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do + ebegin " Updating ${f/${S}\/}" + patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + fi + + # Fix conflicts with newer glibc #272594 + if [[ -e libiberty/testsuite/test-demangle.c ]] ; then + sed -i 's:\:get_line:g' libiberty/testsuite/test-demangle.c + fi + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + # enable gold (installed as ld.gold) and ld's plugin architecture + if use gold ; then + myconf+=( --enable-gold ) + if use default-gold; then + myconf+=( --enable-gold=default ) + fi + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches + # the bi-arch logic in toolchain.eclass. #446946 + # We used to do it for everyone, but it's slow on 32bit arches. #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+ + # on everyone in alpha (for now), we'll just enable it when possible + has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt ) + has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.27) offer a configure flag now. + --enable-relro + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + # Works better than vapier's patch... #808787 + --enable-new-dtags + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + ${EXTRA_ECONF} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across + # {native,cross}/binutils, binutils-libs. #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + if ! is_cross ; then + myconf+=( $(use_enable pgo pgo-build lto) ) + + if use pgo ; then + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + echo ./configure "${myconf[@]}" + "${S}"/configure "${myconf[@]}" || die + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" + + # bug 637066 + filter-flags -Wall -Wreturn-type + + emake -k check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" + # see Note [tooldir hack for ldscripts] + emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH} #171905 + cd "${ED}"/${LIBPATH} + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} + for x in * ; do + mv ${x} ${x/${CTARGET}-} + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/${LIBPATH}/lib + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" + dodoc README + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} + else + binutils-config ${choice} + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}- +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild index 9931d3fee518..ee0e1924e55f 100644 --- a/sys-devel/binutils/binutils-9999.ebuild +++ b/sys-devel/binutils/binutils-9999.ebuild @@ -283,10 +283,6 @@ src_configure() { fi fi - if use pgo && ! is_cross ; then - export BUILD_CFLAGS="${CFLAGS}" - fi - echo ./configure "${myconf[@]}" "${S}"/configure "${myconf[@]}" || die diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest index fd2cdc7269e2..1b13dd33670c 100644 --- a/sys-devel/bmake/Manifest +++ b/sys-devel/bmake/Manifest @@ -1,8 +1,10 @@ AUX bmake-20210206-tests.patch 467 BLAKE2B 7c66cfbb610f2ea9615a737dd2d97fbea359ecb0e5b5c746447b9a0e9d2dff188f6f0d45225dd07d1226a86297f0c9ba8b8be7587039f2cc7ceaab4bde61f570 SHA512 3d855d54b64e2871ad8ccd494939c92a6bca2bec61f186e907a9b6b8b4f51b4ff63fcacbb8b6d44cef33a39c6ba2bed6c1fdd30d7ad65ad03d1d659781c420fe AUX bmake-20210314-mk-fixes.patch 2054 BLAKE2B 404e99593f04408e3f62d8c6118fc1676ef414b4cc18f5ec8b089182fad8865ad79e40c236e58b084f3194bdcc94c92e1e10e40efbddc142b84053117065e202 SHA512 8c9e823dd158e352021f0905e2a15cb8d7da3020c49a8f824cc5dbd8f33910fc64629d5f400fd8651a16b07e0685a1247a661fd9230a62b7330bd5fc71427dd4 -DIST bmake-20211212.tar.gz 780800 BLAKE2B 4a69f4881c70319d9548a688284036732ca541c0abc3082dc126ff743e550e6ccd1dee5c0909029e35f7e2329866e806615c2e4f8cd3bd4d7739e9b03f677326 SHA512 210065d90e1d4ec68df78d9c19d7f685d2a3f8dbd837ca1f6e40f250ae94b9e03f8ca07d15d3e9f34f27229b3e410ca9aef633fcc5f7661967a2553846524eb3 DIST bmake-20220116.tar.gz 785312 BLAKE2B 260ee10b5d295482477a9be92303c946139785f3c2a17cdb8a215322ac8876b708235af83f2c86f21c50da9a4b55b00300f08da40fc0d06ca2eda6caf1aafc50 SHA512 27e400f200afdb0ebc978bbd6a7422e570ab0a79ce609cffddbebb281d59ef752d840be14e08e989c83c14f2955f98d9549c8ae452450c75d03c59c61593fb5c +DIST bmake-20220214.tar.gz 801006 BLAKE2B 70b86d04cd891d1bc0aa9a7e8aac09edcd486fc0419e5def8696846bf5b7977cdc48a20707b74f5f2a8e69d2ac2aa2f05f6d490efed74770dc80cce0cf21a32a SHA512 c5b17ca1128b0978f832e7c8ecb482d14021eb6c3ffc0c5a535ff7162162f8d5c32c688063f554ad1c37fd3ac26e67df57c66024132d301635e5854ac6c73802 +DIST bmake-20220303.tar.gz 802039 BLAKE2B 73dd831d463ff361a47eee016b962d8de2f7182083eb68f6f7de544c4af0ea94b4346b7c7c2a71f300930c4d1f0c67407059feeb98bf475df1966ceb1d22ff1b SHA512 c10a8aa4e3a0180904aaa3e6d3110be655eaa04365d75454291c837d79b0645da80a042118e2d9581b7399b73bcc472e13425e7ce768446392a3a3f5e2778c32 DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b -EBUILD bmake-20211212.ebuild 1265 BLAKE2B 4bdad1c6658247d849daa6322218c31a88f8af7c0a6d358698974da14a6b7260654e764cdfafe8e5bd1e91c8e38296fd0c5c1ba4d053dfb4b1aa163f3cdfb509 SHA512 8af6400720cdc5da9b157f82ef67fc3931e6e3c478eac903c04f26ae1413ed831ea3bb1e418a1471614c63bc20269659825c909982b5388cfdc6027f3060b8e9 -EBUILD bmake-20220116.ebuild 1266 BLAKE2B 80ef8417fd430ebfc149a435ae9a94aa02471dde537693286199a949d0acf4e1bd5a66e2c02c1230fa0ec04af0c8ce2b3cee186a69e4f6fc3ad0482de77e955b SHA512 cc639387b9ffaa798ea485efdf8994b7cee85f098982306551640b3240e69885e3d9ad96653c9ec18c274ad988f478131cda312c5b50de02aba0093966b0f0d1 +EBUILD bmake-20220116.ebuild 1265 BLAKE2B 4bdad1c6658247d849daa6322218c31a88f8af7c0a6d358698974da14a6b7260654e764cdfafe8e5bd1e91c8e38296fd0c5c1ba4d053dfb4b1aa163f3cdfb509 SHA512 8af6400720cdc5da9b157f82ef67fc3931e6e3c478eac903c04f26ae1413ed831ea3bb1e418a1471614c63bc20269659825c909982b5388cfdc6027f3060b8e9 +EBUILD bmake-20220214.ebuild 1266 BLAKE2B 80ef8417fd430ebfc149a435ae9a94aa02471dde537693286199a949d0acf4e1bd5a66e2c02c1230fa0ec04af0c8ce2b3cee186a69e4f6fc3ad0482de77e955b SHA512 cc639387b9ffaa798ea485efdf8994b7cee85f098982306551640b3240e69885e3d9ad96653c9ec18c274ad988f478131cda312c5b50de02aba0093966b0f0d1 +EBUILD bmake-20220303.ebuild 1266 BLAKE2B 80ef8417fd430ebfc149a435ae9a94aa02471dde537693286199a949d0acf4e1bd5a66e2c02c1230fa0ec04af0c8ce2b3cee186a69e4f6fc3ad0482de77e955b SHA512 cc639387b9ffaa798ea485efdf8994b7cee85f098982306551640b3240e69885e3d9ad96653c9ec18c274ad988f478131cda312c5b50de02aba0093966b0f0d1 MISC metadata.xml 353 BLAKE2B 70bd5eb274c4693a005986471e5a5c29a162bd0a080a7ba590c64171f2aa171bf9670093419f0b3e9ef304e5478f71df4899082e3dc76b4b0cedfe782a6625df SHA512 ade70c57a7ae5165c432d2024ec685609971347a94ecd69ab73142ff602f4cafb49df880d4dd1cee5695f1ea11c2c0ccc837d9a1ad38e50c61d0d27049279bc5 diff --git a/sys-devel/bmake/bmake-20211212.ebuild b/sys-devel/bmake/bmake-20211212.ebuild deleted file mode 100644 index a69c0ea95fc0..000000000000 --- a/sys-devel/bmake/bmake-20211212.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MK_VER=20210330 - -DESCRIPTION="NetBSD's portable make" -HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html" -SRC_URI=" - http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz - http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz" -S="${WORKDIR}/${PN}" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 ~ppc ~x86" - -# Skip failing test (sandbox and csh) -PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch ) - -src_prepare() { - default - cd "${WORKDIR}" || die - eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch -} - -src_configure() { - econf \ - --with-mksrc=../mk \ - --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \ - --with-machine_arch=${ARCH} -} - -src_compile() { - sh make-bootstrap.sh || die "bootstrap failed" -} - -src_test() { - cd unit-tests || die - - # the 'ternary' test uses ${A} internally, which - # conflicts with Gentoo's ${A}, hence unset it for - # the tests temporarily. - env -u A MAKEFLAGS= \ - "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed" -} - -src_install() { - dobin ${PN} - doman ${PN}.1 - FORCE_BSD_MK=1 SYS_MK_DIR=. \ - sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \ - || die "failed to install mk files" -} diff --git a/sys-devel/bmake/bmake-20220116.ebuild b/sys-devel/bmake/bmake-20220116.ebuild index 7b11aa7cebf4..a69c0ea95fc0 100644 --- a/sys-devel/bmake/bmake-20220116.ebuild +++ b/sys-devel/bmake/bmake-20220116.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ~ppc ~x86" # Skip failing test (sandbox and csh) PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch ) diff --git a/sys-devel/bmake/bmake-20220214.ebuild b/sys-devel/bmake/bmake-20220214.ebuild new file mode 100644 index 000000000000..7b11aa7cebf4 --- /dev/null +++ b/sys-devel/bmake/bmake-20220214.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MK_VER=20210330 + +DESCRIPTION="NetBSD's portable make" +HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html" +SRC_URI=" + http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz + http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +# Skip failing test (sandbox and csh) +PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch ) + +src_prepare() { + default + cd "${WORKDIR}" || die + eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch +} + +src_configure() { + econf \ + --with-mksrc=../mk \ + --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \ + --with-machine_arch=${ARCH} +} + +src_compile() { + sh make-bootstrap.sh || die "bootstrap failed" +} + +src_test() { + cd unit-tests || die + + # the 'ternary' test uses ${A} internally, which + # conflicts with Gentoo's ${A}, hence unset it for + # the tests temporarily. + env -u A MAKEFLAGS= \ + "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed" +} + +src_install() { + dobin ${PN} + doman ${PN}.1 + FORCE_BSD_MK=1 SYS_MK_DIR=. \ + sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \ + || die "failed to install mk files" +} diff --git a/sys-devel/bmake/bmake-20220303.ebuild b/sys-devel/bmake/bmake-20220303.ebuild new file mode 100644 index 000000000000..7b11aa7cebf4 --- /dev/null +++ b/sys-devel/bmake/bmake-20220303.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MK_VER=20210330 + +DESCRIPTION="NetBSD's portable make" +HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html" +SRC_URI=" + http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz + http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +# Skip failing test (sandbox and csh) +PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch ) + +src_prepare() { + default + cd "${WORKDIR}" || die + eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch +} + +src_configure() { + econf \ + --with-mksrc=../mk \ + --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \ + --with-machine_arch=${ARCH} +} + +src_compile() { + sh make-bootstrap.sh || die "bootstrap failed" +} + +src_test() { + cd unit-tests || die + + # the 'ternary' test uses ${A} internally, which + # conflicts with Gentoo's ${A}, hence unset it for + # the tests temporarily. + env -u A MAKEFLAGS= \ + "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed" +} + +src_install() { + dobin ${PN} + doman ${PN}.1 + FORCE_BSD_MK=1 SYS_MK_DIR=. \ + sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \ + || die "failed to install mk files" +} diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest index 65aff020602e..566a04edb185 100644 --- a/sys-devel/clang-common/Manifest +++ b/sys-devel/clang-common/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1 +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc EBUILD clang-common-11.1.0.ebuild 581 BLAKE2B 3e7e2e6c0b0a7f177aaf610a7be4bebb6eb23aec0f4677263555a37c57eb6547d94078465939f9062b562f0b5cc59bda22b2e293e0b2f7907f66dd76c95fe554 SHA512 1ce397f6029bc8ee03c8d0aac13e14b7faf77cc446ab390f1435c8c028364620e565e73cb5e97bb6c0093e0a20c34e8a4ceab9591707687567520c0192264bea EBUILD clang-common-12.0.1.ebuild 593 BLAKE2B b67b21c9d61f523ab9f32d53114763ce95348100e985d96c9ccbae2b9d5ad698fbc174001091c4f9184ecdf904a4d00a9449c28cd09a1e173d885dd1e7759949 SHA512 707eca3a5b53a104c3350cc42f5fe01df9ef17ba4863dbd00093b685a052da67825b7e837820ecd23087759fe2057ae1fbb00b391c79653dacf2c94fd1261342 EBUILD clang-common-13.0.0.ebuild 593 BLAKE2B b67b21c9d61f523ab9f32d53114763ce95348100e985d96c9ccbae2b9d5ad698fbc174001091c4f9184ecdf904a4d00a9449c28cd09a1e173d885dd1e7759949 SHA512 707eca3a5b53a104c3350cc42f5fe01df9ef17ba4863dbd00093b685a052da67825b7e837820ecd23087759fe2057ae1fbb00b391c79653dacf2c94fd1261342 -EBUILD clang-common-13.0.1.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb -EBUILD clang-common-13.0.1_rc3.ebuild 514 BLAKE2B 5e58d945e4196b9b325f00941a0d207a7b322f7ada2c4fca817741024f9136dfc4a53aa01b49d46cd1a0ce4f01d59dd03d932823b23fead4b4b830614eebc1f1 SHA512 7eaffe432e88854aab2d505950cead217e9bcdbbfa8cb104b5d1c9a63cfb27c31ddd72ef5327b546772dff63f904da5eccf2e09525b137e0eccffddcbd08185b +EBUILD clang-common-13.0.1.ebuild 595 BLAKE2B ad04fb0853c57f5d4669eabc9bab4d592916bb08dc82d52092087d7a998b0f37c60ce36a06bd79044acd7a073f21b4e03894062c2b27456efed8ebed39901573 SHA512 81017df29a3ba2695a64c29777f7e122e40733af6c1358ebd48d62ab194e2468e979aa476acf273f81ebfcafdfb4f4c329f6c199408f75f5a6e922beed630580 EBUILD clang-common-14.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb +EBUILD clang-common-14.0.0_rc4.ebuild 514 BLAKE2B 5e58d945e4196b9b325f00941a0d207a7b322f7ada2c4fca817741024f9136dfc4a53aa01b49d46cd1a0ce4f01d59dd03d932823b23fead4b4b830614eebc1f1 SHA512 7eaffe432e88854aab2d505950cead217e9bcdbbfa8cb104b5d1c9a63cfb27c31ddd72ef5327b546772dff63f904da5eccf2e09525b137e0eccffddcbd08185b +EBUILD clang-common-15.0.0.9999.ebuild 514 BLAKE2B 5e58d945e4196b9b325f00941a0d207a7b322f7ada2c4fca817741024f9136dfc4a53aa01b49d46cd1a0ce4f01d59dd03d932823b23fead4b4b830614eebc1f1 SHA512 7eaffe432e88854aab2d505950cead217e9bcdbbfa8cb104b5d1c9a63cfb27c31ddd72ef5327b546772dff63f904da5eccf2e09525b137e0eccffddcbd08185b MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/clang-common/clang-common-13.0.1.9999.ebuild b/sys-devel/clang-common/clang-common-13.0.1.9999.ebuild deleted file mode 100644 index 03e4441b91b9..000000000000 --- a/sys-devel/clang-common/clang-common-13.0.1.9999.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="" - -PDEPEND="sys-devel/clang:*" - -LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) -llvm.org_set_globals -S=${WORKDIR}/clang/utils - -src_install() { - newbashcomp bash-autocomplete.sh clang -} diff --git a/sys-devel/clang-common/clang-common-13.0.1.ebuild b/sys-devel/clang-common/clang-common-13.0.1.ebuild new file mode 100644 index 000000000000..f46caea2762e --- /dev/null +++ b/sys-devel/clang-common/clang-common-13.0.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="" + +PDEPEND="sys-devel/clang:*" + +LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +llvm.org_set_globals +S=${WORKDIR}/clang/utils + +src_install() { + newbashcomp bash-autocomplete.sh clang +} diff --git a/sys-devel/clang-common/clang-common-13.0.1_rc3.ebuild b/sys-devel/clang-common/clang-common-13.0.1_rc3.ebuild deleted file mode 100644 index 71768ae561e5..000000000000 --- a/sys-devel/clang-common/clang-common-13.0.1_rc3.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit bash-completion-r1 llvm.org - -DESCRIPTION="Common files shared between multiple slots of clang" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="" - -PDEPEND="sys-devel/clang:*" - -LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) -llvm.org_set_globals -S=${WORKDIR}/clang/utils - -src_install() { - newbashcomp bash-autocomplete.sh clang -} diff --git a/sys-devel/clang-common/clang-common-14.0.0_rc4.ebuild b/sys-devel/clang-common/clang-common-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..71768ae561e5 --- /dev/null +++ b/sys-devel/clang-common/clang-common-14.0.0_rc4.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="" + +PDEPEND="sys-devel/clang:*" + +LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +llvm.org_set_globals +S=${WORKDIR}/clang/utils + +src_install() { + newbashcomp bash-autocomplete.sh clang +} diff --git a/sys-devel/clang-common/clang-common-15.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-15.0.0.9999.ebuild new file mode 100644 index 000000000000..71768ae561e5 --- /dev/null +++ b/sys-devel/clang-common/clang-common-15.0.0.9999.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 llvm.org + +DESCRIPTION="Common files shared between multiple slots of clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="" + +PDEPEND="sys-devel/clang:*" + +LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh ) +llvm.org_set_globals +S=${WORKDIR}/clang/utils + +src_install() { + newbashcomp bash-autocomplete.sh clang +} diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest index 83876c391665..7a18322c2fa7 100644 --- a/sys-devel/clang-runtime/Manifest +++ b/sys-devel/clang-runtime/Manifest @@ -1,7 +1,8 @@ EBUILD clang-runtime-11.1.0.ebuild 692 BLAKE2B 5703e482af3e2983d4c7a5c6345fb33d2ec0e7bc68ec67b3a9346aa022819f1c324f766639f49828da6fe4e254a4986bdd60276766b8558a488ed9aecb9d75dd SHA512 ae9e43cf8f97366d8248f8587cec068c775f57d3daeaccd09f24ea337ed98dd7808507e8a6024225d8508301abd35f63a6723cdc83593176fc3affddd74fdf11 EBUILD clang-runtime-12.0.1.ebuild 704 BLAKE2B 5d728bf389420018e991091d36e5d289d1cc3f4c060b32287021764f6406dc5550c9c74a9b4ce9b57e106d500baa2aee697975c82c387f71f981d52eab5ec450 SHA512 1c8e8b81398526d51639af2363cc0bb434f422202ff89fdee90ba0b4ae0755e8714590ab682b1fe9174655a32c60fea5bc1ccce00ceed2afb9adf746b1eeb237 EBUILD clang-runtime-13.0.0.ebuild 704 BLAKE2B 5d728bf389420018e991091d36e5d289d1cc3f4c060b32287021764f6406dc5550c9c74a9b4ce9b57e106d500baa2aee697975c82c387f71f981d52eab5ec450 SHA512 1c8e8b81398526d51639af2363cc0bb434f422202ff89fdee90ba0b4ae0755e8714590ab682b1fe9174655a32c60fea5bc1ccce00ceed2afb9adf746b1eeb237 -EBUILD clang-runtime-13.0.1.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f -EBUILD clang-runtime-13.0.1_rc3.ebuild 643 BLAKE2B 77463e61cdc4ee6fea99d5cb1cb00ee56a91f59cce6ec9b8295995320632811f3985d879876b48fe4b888ee69867469ad264f657ca7bb395bb30cb80798fe6f1 SHA512 f8d433ef18a61e6ec3745fda4cf34d8befed16b7c60dfbb4215b013593eeae01e1d4717fcd2b99e0b9e249c132b0c09ee31f104ca07583ca73e40c391e77e3f4 -EBUILD clang-runtime-14.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f +EBUILD clang-runtime-13.0.1.ebuild 706 BLAKE2B 348fc34b4127ee1f07cac2359f32542e288885a438bce05d68b0e9670905ca57fde17891f38a4aa9b83d17a361af6ae14b0d44f11d4f156ea50aba134851c4f2 SHA512 85982c4cc84a9247d9dcce1ddc292923cf7fcdf427be83ee63bc2d9e1a2c74522e0ef706403eff626234df6f47b6d2d18c0cb87e44a25d5b7ec8b2a80de274d2 +EBUILD clang-runtime-14.0.0.9999.ebuild 710 BLAKE2B 95ac09c95cfc7e9b18d957aa3a9a68ffc631044d8919b1d09ffe4f08a061407cd471a653c9bac09953d5f78dfff418ad470fdc55a242e9a6989b2dd715355b1b SHA512 00fcf69029f426afd5d254782a37cd15cc356da3da977822f53fac943c0b2aaf6e6a12262a5ac01c20c45f9c351bfc76b5abe6b851cf846418abc70abcf47f24 +EBUILD clang-runtime-14.0.0_rc4.ebuild 710 BLAKE2B 95ac09c95cfc7e9b18d957aa3a9a68ffc631044d8919b1d09ffe4f08a061407cd471a653c9bac09953d5f78dfff418ad470fdc55a242e9a6989b2dd715355b1b SHA512 00fcf69029f426afd5d254782a37cd15cc356da3da977822f53fac943c0b2aaf6e6a12262a5ac01c20c45f9c351bfc76b5abe6b851cf846418abc70abcf47f24 +EBUILD clang-runtime-15.0.0.9999.ebuild 710 BLAKE2B 95ac09c95cfc7e9b18d957aa3a9a68ffc631044d8919b1d09ffe4f08a061407cd471a653c9bac09953d5f78dfff418ad470fdc55a242e9a6989b2dd715355b1b SHA512 00fcf69029f426afd5d254782a37cd15cc356da3da977822f53fac943c0b2aaf6e6a12262a5ac01c20c45f9c351bfc76b5abe6b851cf846418abc70abcf47f24 MISC metadata.xml 579 BLAKE2B bedb10265d687b5c8c6af5ff9a9612076e7c17c3ddd479c8fe9eccf6e13e74d55b182b4bcb17d213aaa55a57f4b29ee8f90287d6f08e7ebc20b9c4724773f376 SHA512 d872f42ab248387aeb61a42a9858ef80e0c278079e472ccd9d3099515d3c6acc6b38ea2e992ff58df31798a71baea2df19834523bcb64c609a842b8f0abad532 diff --git a/sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild deleted file mode 100644 index 218cdb1426f6..000000000000 --- a/sys-devel/clang-runtime/clang-runtime-13.0.1.9999.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-build - -DESCRIPTION="Meta-ebuild for clang runtime libraries" -HOMEPAGE="https://clang.llvm.org/" -SRC_URI="" - -LICENSE="metapackage" -SLOT="$(ver_cut 1-3)" -KEYWORDS="" -IUSE="+compiler-rt libcxx openmp +sanitize" -REQUIRED_USE="sanitize? ( compiler-rt )" -PROPERTIES="live" - -RDEPEND=" - compiler-rt? ( - ~sys-libs/compiler-rt-${PV}:${SLOT} - sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) - ) - libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) - openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang-runtime/clang-runtime-13.0.1.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1.ebuild new file mode 100644 index 000000000000..20f604bdc651 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-13.0.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="$(ver_cut 1-3)" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+compiler-rt libcxx openmp +sanitize" +REQUIRED_USE="sanitize? ( compiler-rt )" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT} + sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang-runtime/clang-runtime-13.0.1_rc3.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.1_rc3.ebuild deleted file mode 100644 index 23ad83f3671d..000000000000 --- a/sys-devel/clang-runtime/clang-runtime-13.0.1_rc3.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-build - -DESCRIPTION="Meta-ebuild for clang runtime libraries" -HOMEPAGE="https://clang.llvm.org/" -SRC_URI="" - -LICENSE="metapackage" -SLOT="$(ver_cut 1-3)" -KEYWORDS="" -IUSE="+compiler-rt libcxx openmp +sanitize" -REQUIRED_USE="sanitize? ( compiler-rt )" -PROPERTIES="live" - -RDEPEND=" - compiler-rt? ( - ~sys-libs/compiler-rt-${PV}:${SLOT} - sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) - ) - libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) - openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang-runtime/clang-runtime-14.0.0.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-14.0.0.9999.ebuild index 218cdb1426f6..e02d928d2be4 100644 --- a/sys-devel/clang-runtime/clang-runtime-14.0.0.9999.ebuild +++ b/sys-devel/clang-runtime/clang-runtime-14.0.0.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -18,8 +18,10 @@ PROPERTIES="live" RDEPEND=" compiler-rt? ( - ~sys-libs/compiler-rt-${PV}:${SLOT} - sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} ) + ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + sanitize? ( + ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + ) ) libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang-runtime/clang-runtime-14.0.0_rc4.ebuild b/sys-devel/clang-runtime/clang-runtime-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..e02d928d2be4 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-14.0.0_rc4.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+compiler-rt libcxx openmp +sanitize" +REQUIRED_USE="sanitize? ( compiler-rt )" +PROPERTIES="live" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + sanitize? ( + ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang-runtime/clang-runtime-15.0.0.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-15.0.0.9999.ebuild new file mode 100644 index 000000000000..e02d928d2be4 --- /dev/null +++ b/sys-devel/clang-runtime/clang-runtime-15.0.0.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Meta-ebuild for clang runtime libraries" +HOMEPAGE="https://clang.llvm.org/" +SRC_URI="" + +LICENSE="metapackage" +SLOT="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+compiler-rt libcxx openmp +sanitize" +REQUIRED_USE="sanitize? ( compiler-rt )" +PROPERTIES="live" + +RDEPEND=" + compiler-rt? ( + ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + sanitize? ( + ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?] + ) + ) + libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] ) + openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )" diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index 7e23bdd51d91..d39c5ed2aab0 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -1,19 +1,22 @@ DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1 DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5 DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0 +DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 -DIST llvm-gentoo-patchset-13.0.1-rc3.tar.xz 4808 BLAKE2B d8ed3ae424914437413e2e8c029880072e93d79ca79b842ad59451df46594c9b0d73ee5d49d3b65c4c7a40c86b2e0d43501ef106aea7c481f22425a5245a3411 SHA512 10430a720b120a340a681fa435a7f050741c75270607e3f5214bf829313d274c11f019f1ac072857dc5d7f868e6eb013932d1c94446e8cb2e151ac818a081914 -DIST llvm-gentoo-patchset-9999-2.tar.xz 4064 BLAKE2B 4b29234f10ea4ab2609e83c71bcd5f968cd93abd275c13366146ca899bbc576d55a3364432cc7db353739f5da5762529436689b848857e839e230425d551265b SHA512 c0d40a81bd11dc6018d7b3789e4ca7e1cd784992d44fab8d750b8b5281db39ad9092d320d125cae93164d2dddc42177a173b6d5e4158e4b62d7507db877acb9e +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1 +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc EBUILD clang-11.1.0.ebuild 11573 BLAKE2B adb4fc733f04605c63c711d3b9c9ce3358108efd013bcda58fe776dd5be0f978475dc686bfa2ca1c22bece3e13f60e412e33ebcd907e1e08d27932e254f6996a SHA512 a6fe29ca8c599f022147aae1fe8c0af8aacf33de2f02c19c9850bc06147f968cb579070c2a6763615cf04740c131719e17495b07b8f2ba9d32874587a2e20784 EBUILD clang-12.0.1.ebuild 11726 BLAKE2B 2dca51da0a8683bac8cf7b0d3a45cbe97e829b6699b25c477245fa7c891b899ae2cdc40a0e628f4f3830fb18bfeb2ce5b9493651c6498c841986018f5ded69b6 SHA512 c7e81f72c28ea11e698ecfab7bc3075002503105df65d938a87079b1d28ced24dbce23fdb9acfbc7c2972d9dca69205f102635f5cba62110c02c8ac8bc8b8764 EBUILD clang-13.0.0.ebuild 11288 BLAKE2B 6a49d6681c081e713e17679ea3ae1d87ee98a3229426a0f3e6d481c1a8fb78a00d267402687373ffcab3c48b4b8888fb8509779cb118ff63d4cb2f10306439e7 SHA512 e17c03e45d1c522e837e76f3ef5ebbbf6ec91c4b248cd874e4b0fe1dbb2f3ee4264fd318ebabb4d466929bd4f087922609356d3212ce696741e98faa2fd9ee47 -EBUILD clang-13.0.1.9999.ebuild 11224 BLAKE2B c5769810a83527aa2270af32f4e3e9dbc605ee91d7e21084b0987cb64f173166c4d3d9bdbbc664f15c0be201e79150274e3ff0fac257bf3dd024d643259783a8 SHA512 45fdaf62140809b0818862eb820bcbb43c40dd2d8072ca843c6b1b794752b21c6455cc4a46bc1bbabe3f2ccfdfea3a0d2ea8e04be5169501a372cb9459ffcde6 -EBUILD clang-13.0.1_rc3.ebuild 11227 BLAKE2B c7a26ebdcb348a63902b672c0a34b7d968e22a0e42a2b46a36e5da1870de2ae965091e2c12e6dd26cafe7195705a5aee57e20c1b5afd53ac1a6e553075141234 SHA512 97753487226691786ced7d613b804400e918f931c74e85196e6b5703f2e0a70fc49e745560c8485178edf63a3dc69e6ae0fdd57c6166ba3f172429d33043cd63 -EBUILD clang-14.0.0.9999.ebuild 11274 BLAKE2B 566f200c0b119de45cb0a4802d8dafb79188ed35e31d604594cc9d2d6ecc86642ead18c3ee945a746f5efe994c437d0d087b76c4ce031dc954c5db0d7fd575ee SHA512 035f6e47bfc469916da71047c8af3877fcbc727cfb2e68ffb159906327d6f4bd94d99bda62f04051205102fed002d43cafbdea3029a894023586be2366f5849d +EBUILD clang-13.0.1.ebuild 11304 BLAKE2B d274cbb907b3ae41f3755146242a1da3f98dedf405b245056294294d71b6c3e521f81631b16c2c589d068766ae9c7f2b3dcd03100e052d842c22b81b8d83accc SHA512 5e367d1ede076032041c58cd8ef558e7c67a148c9a602f6bf17db7af355ce6eb3873973ae3f324da240d6ab6682e824909f059d3c5991daf6d98d258f8ea6a45 +EBUILD clang-14.0.0.9999.ebuild 11352 BLAKE2B 5f6e9f05b99f03b181b8ae341f614f9cf3c0b8c384e0e6fb9a2b8ba6c746112d88a1507f69685425f55f7d37a0577e90c6447fe04a675d993a379e870395c30d SHA512 137bd65b74ed4380c454bd153c81cc68fbd4d17f857e05256672e018c0fa82b0745f4042ea8630aba9cc62c19063c03df9b4c8c6158567e95709b9e7e7b63b9b +EBUILD clang-14.0.0_rc4.ebuild 11352 BLAKE2B 5f6e9f05b99f03b181b8ae341f614f9cf3c0b8c384e0e6fb9a2b8ba6c746112d88a1507f69685425f55f7d37a0577e90c6447fe04a675d993a379e870395c30d SHA512 137bd65b74ed4380c454bd153c81cc68fbd4d17f857e05256672e018c0fa82b0745f4042ea8630aba9cc62c19063c03df9b4c8c6158567e95709b9e7e7b63b9b +EBUILD clang-15.0.0.9999.ebuild 11352 BLAKE2B 5f6e9f05b99f03b181b8ae341f614f9cf3c0b8c384e0e6fb9a2b8ba6c746112d88a1507f69685425f55f7d37a0577e90c6447fe04a675d993a379e870395c30d SHA512 137bd65b74ed4380c454bd153c81cc68fbd4d17f857e05256672e018c0fa82b0745f4042ea8630aba9cc62c19063c03df9b4c8c6158567e95709b9e7e7b63b9b MISC metadata.xml 1337 BLAKE2B 5e4f7d63cd9f3b03600801cbe3b2963a1e6b2fb48e36fdb12862f467829222c182f5958d35b535d8fa8467ebaad05c9641cd645294706e3a0f4a078dc9c2f8cf SHA512 50c1a7c33414f9d6294873478f1017dfb21311b36c916e15a8b068cf2a968fe8d774b51515f61c3632d2b204f103cc7ae6853b14d582291087a0fb8e15c0b35a diff --git a/sys-devel/clang/clang-13.0.1.9999.ebuild b/sys-devel/clang/clang-13.0.1.9999.ebuild deleted file mode 100644 index c9cdf6cd226b..000000000000 --- a/sys-devel/clang/clang-13.0.1.9999.ebuild +++ /dev/null @@ -1,422 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake llvm llvm.org multilib multilib-minimal \ - prefix python-single-r1 toolchain-funcs - -DESCRIPTION="C language family frontend for LLVM" -HOMEPAGE="https://llvm.org/" - -# MSVCSetupApi.h: MIT -# sorttable.js: MIT - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" -SLOT="$(ver_cut 1)" -KEYWORDS="" -IUSE="debug default-compiler-rt default-libcxx default-lld - doc llvm-libunwind +static-analyzer test xml" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -RDEPEND=" - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] - static-analyzer? ( dev-lang/perl:* ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS}" - -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-util/cmake-3.16 - doc? ( dev-python/sphinx ) - xml? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" -PDEPEND=" - sys-devel/clang-common - ~sys-devel/clang-runtime-${PV} - default-compiler-rt? ( - =sys-libs/compiler-rt-${PV%_*}* - llvm-libunwind? ( sys-libs/llvm-libunwind ) - !llvm-libunwind? ( sys-libs/libunwind ) - ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - default-lld? ( sys-devel/lld )" - -LLVM_COMPONENTS=( clang clang-tools-extra ) -LLVM_MANPAGES=build -LLVM_TEST_COMPONENTS=( - llvm/lib/Testing/Support - llvm/utils/{lit,llvm-lit,unittest} - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} -) -LLVM_PATCHSET=9999-2 -LLVM_USE_TARGETS=llvm -llvm.org_set_globals - -# Multilib notes: -# 1. ABI_* flags control ABIs libclang* is built for only. -# 2. clang is always capable of compiling code for all ABIs for enabled -# target. However, you will need appropriate crt* files (installed -# e.g. by sys-devel/gcc and sys-libs/glibc). -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included -# in the current profile (i.e. alike supported by sys-devel/gcc). -# -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need -# multilib clang* libraries (not runtime, not wrappers). - -pkg_setup() { - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - # create extra parent dir for relative CLANG_RESOURCE_DIR access - mkdir -p x/y || die - BUILD_DIR=${WORKDIR}/x/y/clang - - llvm.org_src_prepare - - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) - eprefixify \ - lib/Frontend/InitHeaderSearch.cpp \ - lib/Driver/ToolChains/Darwin.cpp || die -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # meta-targets - clang-libraries|distribution) - continue - ;; - # headers for clang-tidy static library - clang-tidy-headers) - continue - ;; - # tools - clang|clangd|clang-*) - ;; - # static libraries - clang*|findAllSymbols) - continue - ;; - # conditional to USE=doc - docs-clang-html|docs-clang-tools-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(ninja -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # common stuff - clang-cmake-exports - clang-headers - clang-resource-headers - libclang-headers - - # libs - clang-cpp - libclang - ) - - if multilib_is_native_abi; then - out+=( - # common stuff - bash-autocomplete - libclang-python-bindings - - # tools - c-index-test - clang - clang-format - clang-offload-bundler - clang-offload-wrapper - clang-refactor - clang-repl - clang-rename - clang-scan-deps - diagtool - hmaptool - - # extra tools - clang-apply-replacements - clang-change-namespace - clang-doc - clang-include-fixer - clang-move - clang-query - clang-reorder-fields - clang-tidy - clangd - find-all-symbols - modularize - pp-trace - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-clang-man - docs-clang-tools-man - ) - fi - - use doc && out+=( - docs-clang-html - docs-clang-tools-html - ) - - use static-analyzer && out+=( - clang-check - clang-extdef-mapping - scan-build - scan-build-py - scan-view - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1-3 "${llvm_version}") - - local mycmakeargs=( - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - # relative to bindir - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" - - -DBUILD_SHARED_LIBS=OFF - -DCLANG_LINK_CLANG_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" - -DLLVM_BUILD_TESTS=$(usex test) - - # these are not propagated reliably, so redefine them - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) - # libgomp support fails to find headers without explicit -I - # furthermore, it provides only syntax checking - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp - - # disable using CUDA to autodetect GPU, just build for all - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - - # override default stdlib and rtlib - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") - - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) - fi - mycmakeargs+=( - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra - -DCLANG_INCLUDE_DOCS=${build_docs} - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} - ) - else - mycmakeargs+=( - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF - ) - fi - - if [[ -n ${EPREFIX} ]]; then - mycmakeargs+=( - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" - ) - fi - - if tc-is-cross-compiler; then - [[ -x "/usr/bin/clang-tblgen" ]] \ - || die "/usr/bin/clang-tblgen not found or usable" - mycmakeargs+=( - -DCMAKE_CROSSCOMPILING=ON - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen - ) - fi - - # LLVM can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - # provide a symlink for tests - if [[ ! -L ${WORKDIR}/lib/clang ]]; then - mkdir -p "${WORKDIR}"/lib || die - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - cmake_build check-clang - multilib_is_native_abi && - cmake_build check-clang-tools check-clangd -} - -src_install() { - MULTILIB_WRAPPED_HEADERS=( - /usr/include/clang/Config/config.h - ) - - multilib-minimal_src_install - - # Move runtime headers to /usr/lib/clang, where they belong - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die - # move (remaining) wrapped headers back - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die - - # Apply CHOST and version suffix to clang tools - # note: we use two version components here (vs 3 in runtime path) - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1 "${llvm_version}") - local clang_full_version=$(ver_cut 1-3 "${llvm_version}") - local clang_tools=( clang clang++ clang-cl clang-cpp ) - local abi i - - # cmake gives us: - # - clang-X - # - clang -> clang-X - # - clang++, clang-cl, clang-cpp -> clang - # we want to have: - # - clang-X - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X - # - clang, clang++, clang-cl, clang-cpp -> clang*-X - # also in CHOST variant - for i in "${clang_tools[@]:1}"; do - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" - done - - # now create target symlinks for all supported ABIs - for abi in $(get_all_abis); do - local abi_chost=$(get_abi_CHOST "${abi}") - for i in "${clang_tools[@]}"; do - dosym "${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" - dosym "${abi_chost}-${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" - done - done -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # move headers to /usr/include for wrapping & ABI mismatch checks - # (also drop the version suffix from runtime headers) - rm -rf "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die -} - -multilib_src_install_all() { - python_fix_shebang "${ED}" - if use static-analyzer; then - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view - fi - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages - # match 'html' non-compression - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" - # +x for some reason; TODO: investigate - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" -} - -pkg_postinst() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow update all - fi - - elog "You can find additional utility scripts in:" - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" - elog "Some of them are vim integration scripts (with instructions inside)." - elog "The run-clang-tidy.py script requires the following additional package:" - elog " dev-python/pyyaml" -} - -pkg_postrm() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow clean all - fi -} diff --git a/sys-devel/clang/clang-13.0.1.ebuild b/sys-devel/clang/clang-13.0.1.ebuild new file mode 100644 index 000000000000..2aa75d0f943a --- /dev/null +++ b/sys-devel/clang/clang-13.0.1.ebuild @@ -0,0 +1,422 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm llvm.org multilib multilib-minimal \ + prefix python-single-r1 toolchain-funcs + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" + +# MSVCSetupApi.h: MIT +# sorttable.js: MIT + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" +IUSE="debug default-compiler-rt default-libcxx default-lld + doc llvm-libunwind +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ${PYTHON_DEPS}" + +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) + xml? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +PDEPEND=" + sys-devel/clang-common + ~sys-devel/clang-runtime-${PV} + default-compiler-rt? ( + =sys-libs/compiler-rt-${PV%_*}* + llvm-libunwind? ( sys-libs/llvm-libunwind ) + !llvm-libunwind? ( sys-libs/libunwind ) + ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + default-lld? ( sys-devel/lld )" + +LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=pregenerated +LLVM_TEST_COMPONENTS=( + llvm/lib/Testing/Support + llvm/utils/{lit,llvm-lit,unittest} + llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} +) +LLVM_PATCHSET=${PV/_/-} +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +pkg_setup() { + LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + llvm.org_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + lib/Frontend/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + clang-libraries|distribution) + continue + ;; + # headers for clang-tidy static library + clang-tidy-headers) + continue + ;; + # tools + clang|clangd|clang-*) + ;; + # static libraries + clang*|findAllSymbols) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # common stuff + clang-cmake-exports + clang-headers + clang-resource-headers + libclang-headers + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + c-index-test + clang + clang-format + clang-offload-bundler + clang-offload-wrapper + clang-refactor + clang-repl + clang-rename + clang-scan-deps + diagtool + hmaptool + + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-fixer + clang-move + clang-query + clang-reorder-fields + clang-tidy + clangd + find-all-symbols + modularize + pp-trace + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi + + use doc && out+=( + docs-clang-html + docs-clang-tools-html + ) + + use static-analyzer && out+=( + clang-check + clang-extdef-mapping + scan-build + scan-build-py + scan-view + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-3 "${llvm_version}") + + local mycmakeargs=( + -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) + # libgomp support fails to find headers without explicit -I + # furthermore, it provides only syntax checking + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + + # disable using CUDA to autodetect GPU, just build for all + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + + # override default stdlib and rtlib + -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") + -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") + -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") + -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") + + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if [[ -n ${EPREFIX} ]]; then + mycmakeargs+=( + -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" + ) + fi + + if tc-is-cross-compiler; then + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DCLANG_TABLEGEN=/usr/bin/clang-tblgen + ) + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + # provide a symlink for tests + if [[ ! -L ${WORKDIR}/lib/clang ]]; then + mkdir -p "${WORKDIR}"/lib || die + ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-clang + multilib_is_native_abi && + cmake_build check-clang-tools check-clangd +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die + # move (remaining) wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die + + # Apply CHOST and version suffix to clang tools + # note: we use two version components here (vs 3 in runtime path) + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1 "${llvm_version}") + local clang_full_version=$(ver_cut 1-3 "${llvm_version}") + local clang_tools=( clang clang++ clang-cl clang-cpp ) + local abi i + + # cmake gives us: + # - clang-X + # - clang -> clang-X + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X + # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X + # - clang, clang++, clang-cl, clang-cpp -> clang*-X + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" + done + done +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view + fi + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" + elog "Some of them are vim integration scripts (with instructions inside)." + elog "The run-clang-tidy.py script requires the following additional package:" + elog " dev-python/pyyaml" +} + +pkg_postrm() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/sys-devel/clang/clang-13.0.1_rc3.ebuild b/sys-devel/clang/clang-13.0.1_rc3.ebuild deleted file mode 100644 index ae93802425a4..000000000000 --- a/sys-devel/clang/clang-13.0.1_rc3.ebuild +++ /dev/null @@ -1,422 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake llvm llvm.org multilib multilib-minimal \ - prefix python-single-r1 toolchain-funcs - -DESCRIPTION="C language family frontend for LLVM" -HOMEPAGE="https://llvm.org/" - -# MSVCSetupApi.h: MIT -# sorttable.js: MIT - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" -SLOT="$(ver_cut 1)" -KEYWORDS="" -IUSE="debug default-compiler-rt default-libcxx default-lld - doc llvm-libunwind +static-analyzer test xml" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test )" - -RDEPEND=" - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] - static-analyzer? ( dev-lang/perl:* ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - ${PYTHON_DEPS}" - -DEPEND="${RDEPEND}" -BDEPEND=" - >=dev-util/cmake-3.16 - doc? ( dev-python/sphinx ) - xml? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" -PDEPEND=" - sys-devel/clang-common - ~sys-devel/clang-runtime-${PV} - default-compiler-rt? ( - =sys-libs/compiler-rt-${PV%_*}* - llvm-libunwind? ( sys-libs/llvm-libunwind ) - !llvm-libunwind? ( sys-libs/libunwind ) - ) - default-libcxx? ( >=sys-libs/libcxx-${PV} ) - default-lld? ( sys-devel/lld )" - -LLVM_COMPONENTS=( clang clang-tools-extra ) -LLVM_MANPAGES=build -LLVM_TEST_COMPONENTS=( - llvm/lib/Testing/Support - llvm/utils/{lit,llvm-lit,unittest} - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} -) -LLVM_PATCHSET=${PV/_/-} -LLVM_USE_TARGETS=llvm -llvm.org_set_globals - -# Multilib notes: -# 1. ABI_* flags control ABIs libclang* is built for only. -# 2. clang is always capable of compiling code for all ABIs for enabled -# target. However, you will need appropriate crt* files (installed -# e.g. by sys-devel/gcc and sys-libs/glibc). -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included -# in the current profile (i.e. alike supported by sys-devel/gcc). -# -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need -# multilib clang* libraries (not runtime, not wrappers). - -pkg_setup() { - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - # create extra parent dir for relative CLANG_RESOURCE_DIR access - mkdir -p x/y || die - BUILD_DIR=${WORKDIR}/x/y/clang - - llvm.org_src_prepare - - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) - eprefixify \ - lib/Frontend/InitHeaderSearch.cpp \ - lib/Driver/ToolChains/Darwin.cpp || die -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # meta-targets - clang-libraries|distribution) - continue - ;; - # headers for clang-tidy static library - clang-tidy-headers) - continue - ;; - # tools - clang|clangd|clang-*) - ;; - # static libraries - clang*|findAllSymbols) - continue - ;; - # conditional to USE=doc - docs-clang-html|docs-clang-tools-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(ninja -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # common stuff - clang-cmake-exports - clang-headers - clang-resource-headers - libclang-headers - - # libs - clang-cpp - libclang - ) - - if multilib_is_native_abi; then - out+=( - # common stuff - bash-autocomplete - libclang-python-bindings - - # tools - c-index-test - clang - clang-format - clang-offload-bundler - clang-offload-wrapper - clang-refactor - clang-repl - clang-rename - clang-scan-deps - diagtool - hmaptool - - # extra tools - clang-apply-replacements - clang-change-namespace - clang-doc - clang-include-fixer - clang-move - clang-query - clang-reorder-fields - clang-tidy - clangd - find-all-symbols - modularize - pp-trace - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-clang-man - docs-clang-tools-man - ) - fi - - use doc && out+=( - docs-clang-html - docs-clang-tools-html - ) - - use static-analyzer && out+=( - clang-check - clang-extdef-mapping - scan-build - scan-build-py - scan-view - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1-3 "${llvm_version}") - - local mycmakeargs=( - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - # relative to bindir - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" - - -DBUILD_SHARED_LIBS=OFF - -DCLANG_LINK_CLANG_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" - -DLLVM_BUILD_TESTS=$(usex test) - - # these are not propagated reliably, so redefine them - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) - # libgomp support fails to find headers without explicit -I - # furthermore, it provides only syntax checking - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp - - # disable using CUDA to autodetect GPU, just build for all - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON - - # override default stdlib and rtlib - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") - - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) - - -DPython3_EXECUTABLE="${PYTHON}" - ) - use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) - fi - mycmakeargs+=( - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra - -DCLANG_INCLUDE_DOCS=${build_docs} - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} - ) - else - mycmakeargs+=( - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF - ) - fi - - if [[ -n ${EPREFIX} ]]; then - mycmakeargs+=( - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" - ) - fi - - if tc-is-cross-compiler; then - [[ -x "/usr/bin/clang-tblgen" ]] \ - || die "/usr/bin/clang-tblgen not found or usable" - mycmakeargs+=( - -DCMAKE_CROSSCOMPILING=ON - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen - ) - fi - - # LLVM can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - # provide a symlink for tests - if [[ ! -L ${WORKDIR}/lib/clang ]]; then - mkdir -p "${WORKDIR}"/lib || die - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - cmake_build check-clang - multilib_is_native_abi && - cmake_build check-clang-tools check-clangd -} - -src_install() { - MULTILIB_WRAPPED_HEADERS=( - /usr/include/clang/Config/config.h - ) - - multilib-minimal_src_install - - # Move runtime headers to /usr/lib/clang, where they belong - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die - # move (remaining) wrapped headers back - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die - - # Apply CHOST and version suffix to clang tools - # note: we use two version components here (vs 3 in runtime path) - local llvm_version=$(llvm-config --version) || die - local clang_version=$(ver_cut 1 "${llvm_version}") - local clang_full_version=$(ver_cut 1-3 "${llvm_version}") - local clang_tools=( clang clang++ clang-cl clang-cpp ) - local abi i - - # cmake gives us: - # - clang-X - # - clang -> clang-X - # - clang++, clang-cl, clang-cpp -> clang - # we want to have: - # - clang-X - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X - # - clang, clang++, clang-cl, clang-cpp -> clang*-X - # also in CHOST variant - for i in "${clang_tools[@]:1}"; do - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" - done - - # now create target symlinks for all supported ABIs - for abi in $(get_all_abis); do - local abi_chost=$(get_abi_CHOST "${abi}") - for i in "${clang_tools[@]}"; do - dosym "${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" - dosym "${abi_chost}-${i}-${clang_version}" \ - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" - done - done -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # move headers to /usr/include for wrapping & ABI mismatch checks - # (also drop the version suffix from runtime headers) - rm -rf "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die -} - -multilib_src_install_all() { - python_fix_shebang "${ED}" - if use static-analyzer; then - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view - fi - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages - # match 'html' non-compression - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" - # +x for some reason; TODO: investigate - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" -} - -pkg_postinst() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow update all - fi - - elog "You can find additional utility scripts in:" - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" - elog "Some of them are vim integration scripts (with instructions inside)." - elog "The run-clang-tidy.py script requires the following additional package:" - elog " dev-python/pyyaml" -} - -pkg_postrm() { - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then - eselect compiler-shadow clean all - fi -} diff --git a/sys-devel/clang/clang-14.0.0.9999.ebuild b/sys-devel/clang/clang-14.0.0.9999.ebuild index 1de9a1a3a542..81598e69a80e 100644 --- a/sys-devel/clang/clang-14.0.0.9999.ebuild +++ b/sys-devel/clang/clang-14.0.0.9999.ebuild @@ -17,7 +17,7 @@ LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" SLOT="$(ver_cut 1)" KEYWORDS="" IUSE="debug default-compiler-rt default-libcxx default-lld - doc llvm-libunwind +static-analyzer test xml" + doc llvm-libunwind +pie +static-analyzer test xml" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" @@ -44,14 +44,17 @@ PDEPEND=" default-libcxx? ( >=sys-libs/libcxx-${PV} ) default-lld? ( sys-devel/lld )" -LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_COMPONENTS=( + clang clang-tools-extra cmake + llvm/lib/Transforms/Hello +) LLVM_MANPAGES=build LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} ) -LLVM_PATCHSET=9999-2 +LLVM_PATCHSET=9999-r3 LLVM_USE_TARGETS=llvm llvm.org_set_globals @@ -80,7 +83,7 @@ src_prepare() { # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) eprefixify \ - lib/Frontend/InitHeaderSearch.cpp \ + lib/Lex/InitHeaderSearch.cpp \ lib/Driver/ToolChains/Darwin.cpp || die } @@ -253,6 +256,7 @@ multilib_src_configure() { -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) diff --git a/sys-devel/clang/clang-14.0.0_rc4.ebuild b/sys-devel/clang/clang-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..81598e69a80e --- /dev/null +++ b/sys-devel/clang/clang-14.0.0_rc4.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm llvm.org multilib multilib-minimal \ + prefix python-single-r1 toolchain-funcs + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" + +# MSVCSetupApi.h: MIT +# sorttable.js: MIT + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="" +IUSE="debug default-compiler-rt default-libcxx default-lld + doc llvm-libunwind +pie +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ${PYTHON_DEPS}" + +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) + xml? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +PDEPEND=" + sys-devel/clang-common + ~sys-devel/clang-runtime-${PV} + default-compiler-rt? ( + =sys-libs/compiler-rt-${PV%_*}* + llvm-libunwind? ( sys-libs/llvm-libunwind ) + !llvm-libunwind? ( sys-libs/libunwind ) + ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + default-lld? ( sys-devel/lld )" + +LLVM_COMPONENTS=( + clang clang-tools-extra cmake + llvm/lib/Transforms/Hello +) +LLVM_MANPAGES=build +LLVM_TEST_COMPONENTS=( + llvm/lib/Testing/Support + llvm/utils/{lit,llvm-lit,unittest} + llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} +) +LLVM_PATCHSET=9999-r3 +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +pkg_setup() { + LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + llvm.org_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + lib/Lex/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + clang-libraries|distribution) + continue + ;; + # headers for clang-tidy static library + clang-tidy-headers) + continue + ;; + # tools + clang|clangd|clang-*) + ;; + # static libraries + clang*|findAllSymbols) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # common stuff + clang-cmake-exports + clang-headers + clang-resource-headers + libclang-headers + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + c-index-test + clang + clang-format + clang-offload-bundler + clang-offload-wrapper + clang-refactor + clang-repl + clang-rename + clang-scan-deps + diagtool + hmaptool + + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-fixer + clang-move + clang-query + clang-reorder-fields + clang-tidy + clangd + find-all-symbols + modularize + pp-trace + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi + + use doc && out+=( + docs-clang-html + docs-clang-tools-html + ) + + use static-analyzer && out+=( + clang-check + clang-extdef-mapping + scan-build + scan-build-py + scan-view + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-3 "${llvm_version}") + + local mycmakeargs=( + -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) + # libgomp support fails to find headers without explicit -I + # furthermore, it provides only syntax checking + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + + # disable using CUDA to autodetect GPU, just build for all + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + + # override default stdlib and rtlib + -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") + -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") + -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) + -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") + + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if [[ -n ${EPREFIX} ]]; then + mycmakeargs+=( + -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" + ) + fi + + if tc-is-cross-compiler; then + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DCLANG_TABLEGEN=/usr/bin/clang-tblgen + ) + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + # provide a symlink for tests + if [[ ! -L ${WORKDIR}/lib/clang ]]; then + mkdir -p "${WORKDIR}"/lib || die + ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-clang + multilib_is_native_abi && + cmake_build check-clang-tools check-clangd +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die + # move (remaining) wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die + + # Apply CHOST and version suffix to clang tools + # note: we use two version components here (vs 3 in runtime path) + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1 "${llvm_version}") + local clang_full_version=$(ver_cut 1-3 "${llvm_version}") + local clang_tools=( clang clang++ clang-cl clang-cpp ) + local abi i + + # cmake gives us: + # - clang-X + # - clang -> clang-X + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X + # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X + # - clang, clang++, clang-cl, clang-cpp -> clang*-X + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" + done + done +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view + fi + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" + elog "Some of them are vim integration scripts (with instructions inside)." + elog "The run-clang-tidy.py script requires the following additional package:" + elog " dev-python/pyyaml" +} + +pkg_postrm() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/sys-devel/clang/clang-15.0.0.9999.ebuild b/sys-devel/clang/clang-15.0.0.9999.ebuild new file mode 100644 index 000000000000..81598e69a80e --- /dev/null +++ b/sys-devel/clang/clang-15.0.0.9999.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm llvm.org multilib multilib-minimal \ + prefix python-single-r1 toolchain-funcs + +DESCRIPTION="C language family frontend for LLVM" +HOMEPAGE="https://llvm.org/" + +# MSVCSetupApi.h: MIT +# sorttable.js: MIT + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="" +IUSE="debug default-compiler-rt default-libcxx default-lld + doc llvm-libunwind +pie +static-analyzer test xml" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}] + static-analyzer? ( dev-lang/perl:* ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + ${PYTHON_DEPS}" + +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) + xml? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +PDEPEND=" + sys-devel/clang-common + ~sys-devel/clang-runtime-${PV} + default-compiler-rt? ( + =sys-libs/compiler-rt-${PV%_*}* + llvm-libunwind? ( sys-libs/llvm-libunwind ) + !llvm-libunwind? ( sys-libs/libunwind ) + ) + default-libcxx? ( >=sys-libs/libcxx-${PV} ) + default-lld? ( sys-devel/lld )" + +LLVM_COMPONENTS=( + clang clang-tools-extra cmake + llvm/lib/Transforms/Hello +) +LLVM_MANPAGES=build +LLVM_TEST_COMPONENTS=( + llvm/lib/Testing/Support + llvm/utils/{lit,llvm-lit,unittest} + llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} +) +LLVM_PATCHSET=9999-r3 +LLVM_USE_TARGETS=llvm +llvm.org_set_globals + +# Multilib notes: +# 1. ABI_* flags control ABIs libclang* is built for only. +# 2. clang is always capable of compiling code for all ABIs for enabled +# target. However, you will need appropriate crt* files (installed +# e.g. by sys-devel/gcc and sys-libs/glibc). +# 3. ${CHOST}-clang wrappers are always installed for all ABIs included +# in the current profile (i.e. alike supported by sys-devel/gcc). +# +# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need +# multilib clang* libraries (not runtime, not wrappers). + +pkg_setup() { + LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access + mkdir -p x/y || die + BUILD_DIR=${WORKDIR}/x/y/clang + + llvm.org_src_prepare + + # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) + eprefixify \ + lib/Lex/InitHeaderSearch.cpp \ + lib/Driver/ToolChains/Darwin.cpp || die +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # meta-targets + clang-libraries|distribution) + continue + ;; + # headers for clang-tidy static library + clang-tidy-headers) + continue + ;; + # tools + clang|clangd|clang-*) + ;; + # static libraries + clang*|findAllSymbols) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # common stuff + clang-cmake-exports + clang-headers + clang-resource-headers + libclang-headers + + # libs + clang-cpp + libclang + ) + + if multilib_is_native_abi; then + out+=( + # common stuff + bash-autocomplete + libclang-python-bindings + + # tools + c-index-test + clang + clang-format + clang-offload-bundler + clang-offload-wrapper + clang-refactor + clang-repl + clang-rename + clang-scan-deps + diagtool + hmaptool + + # extra tools + clang-apply-replacements + clang-change-namespace + clang-doc + clang-include-fixer + clang-move + clang-query + clang-reorder-fields + clang-tidy + clangd + find-all-symbols + modularize + pp-trace + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi + + use doc && out+=( + docs-clang-html + docs-clang-tools-html + ) + + use static-analyzer && out+=( + clang-check + clang-extdef-mapping + scan-build + scan-build-py + scan-view + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1-3 "${llvm_version}") + + local mycmakeargs=( + -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + # relative to bindir + -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}" + + -DBUILD_SHARED_LIBS=OFF + -DCLANG_LINK_CLANG_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + # these are not propagated reliably, so redefine them + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + + -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) + # libgomp support fails to find headers without explicit -I + # furthermore, it provides only syntax checking + -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp + + # disable using CUDA to autodetect GPU, just build for all + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + + # override default stdlib and rtlib + -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "") + -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "") + -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "") + -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) + -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "") + + -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) + -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + use test && mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( + -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} + ) + else + mycmakeargs+=( + -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF + ) + fi + + if [[ -n ${EPREFIX} ]]; then + mycmakeargs+=( + -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" + ) + fi + + if tc-is-cross-compiler; then + [[ -x "/usr/bin/clang-tblgen" ]] \ + || die "/usr/bin/clang-tblgen not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DCLANG_TABLEGEN=/usr/bin/clang-tblgen + ) + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + # provide a symlink for tests + if [[ ! -L ${WORKDIR}/lib/clang ]]; then + mkdir -p "${WORKDIR}"/lib || die + ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-clang + multilib_is_native_abi && + cmake_build check-clang-tools check-clangd +} + +src_install() { + MULTILIB_WRAPPED_HEADERS=( + /usr/include/clang/Config/config.h + ) + + multilib-minimal_src_install + + # Move runtime headers to /usr/lib/clang, where they belong + mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die + # move (remaining) wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die + + # Apply CHOST and version suffix to clang tools + # note: we use two version components here (vs 3 in runtime path) + local llvm_version=$(llvm-config --version) || die + local clang_version=$(ver_cut 1 "${llvm_version}") + local clang_full_version=$(ver_cut 1-3 "${llvm_version}") + local clang_tools=( clang clang++ clang-cl clang-cpp ) + local abi i + + # cmake gives us: + # - clang-X + # - clang -> clang-X + # - clang++, clang-cl, clang-cpp -> clang + # we want to have: + # - clang-X + # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X + # - clang, clang++, clang-cl, clang-cpp -> clang*-X + # also in CHOST variant + for i in "${clang_tools[@]:1}"; do + rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die + dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}" + dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}" + done + + # now create target symlinks for all supported ABIs + for abi in $(get_all_abis); do + local abi_chost=$(get_abi_CHOST "${abi}") + for i in "${clang_tools[@]}"; do + dosym "${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}" + dosym "${abi_chost}-${i}-${clang_version}" \ + "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}" + done + done +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping & ABI mismatch checks + # (also drop the version suffix from runtime headers) + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die +} + +multilib_src_install_all() { + python_fix_shebang "${ED}" + if use static-analyzer; then + python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view + fi + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages + # match 'html' non-compression + use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" + # +x for some reason; TODO: investigate + use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1" +} + +pkg_postinst() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow update all + fi + + elog "You can find additional utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang" + elog "Some of them are vim integration scripts (with instructions inside)." + elog "The run-clang-tidy.py script requires the following additional package:" + elog " dev-python/pyyaml" +} + +pkg_postrm() { + if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then + eselect compiler-shadow clean all + fi +} diff --git a/sys-devel/cons/Manifest b/sys-devel/cons/Manifest index cda906941940..a0e909185110 100644 --- a/sys-devel/cons/Manifest +++ b/sys-devel/cons/Manifest @@ -1,3 +1,3 @@ DIST cons-2.3.0.tgz 235895 BLAKE2B 766b00824ede528c5d356eda40d3b2929b472720340c0f85add95ba13a5b172afaaa50c779e664cca1b5e74f9ed1d26cce8405f7994d9464a0693e5828963863 SHA512 a42b7537fa8c8cc179ff9e608e6cecfaec1ee0b2e1efb9b9b5992ced15867ca05155e87221e5fde6d912b94eac0d1a411c7feb528e882ed65ce9fb2a2d46be12 -EBUILD cons-2.3.0.ebuild 617 BLAKE2B a057a4016fdb537156bc5a566e5303e426ae96151ee4925b5e29d16efe8327b58cd449124cdcee0bc15e415cc869e0db73d6d3e5f55be890e5f9c6a7034811eb SHA512 ae3e18ce931dec640043a0e0f44a0977924aeee97eb1d17b67e71e97a7dc7ed61908b70e6e4f4809203bc084d651d49147976ac6650e701fa0829f7913dae86f +EBUILD cons-2.3.0.ebuild 618 BLAKE2B 4f65f7a51afc438ca58a4ec4e45206bebdf46aaab61f81b5fe233f6158c2a7a13c5a9a0aae2226808b165b8ae0cb1ba1ea988bc45c4db569cf6cbb845b1a2ff4 SHA512 916c824114bc284758d484dc9ac0f29dba8d897c3da2b7ffd2465d82048e3775ab2858bb5323c8e6f1c64af6cc2b803ad2d8be26b0eaf5882935b439c39879aa MISC metadata.xml 254 BLAKE2B f3a9f843cf94243d1129711770df727fcdc8808bca829ef784819cab6f5410dfa463cfed85182f8228c7de796a674dd602653ad3ef817a62c0c3e7198b23befe SHA512 b9fcd3084a7e197f6138e1ce8b0eff99c4c203c37a7d5c40de207040ba1501ef0e5b2f4e00216a567037bcd6d3394fdec6ff587484c9ba2fca9d04f431733b7c diff --git a/sys-devel/cons/cons-2.3.0.ebuild b/sys-devel/cons/cons-2.3.0.ebuild index 717660db880b..d9d4a3c6959f 100644 --- a/sys-devel/cons/cons-2.3.0.ebuild +++ b/sys-devel/cons/cons-2.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -10,7 +10,7 @@ SRC_URI="https://www.gnu.org/software/${PN}/stable/${P}.tgz SLOT="2.2" LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ppc ~sparc x86" +KEYWORDS="~alpha ~amd64 ~ppc ~sparc x86" IUSE="" DEPEND=" diff --git a/sys-devel/crossdev/Manifest b/sys-devel/crossdev/Manifest index 489df0de690f..281393eea509 100644 --- a/sys-devel/crossdev/Manifest +++ b/sys-devel/crossdev/Manifest @@ -1,10 +1,6 @@ -DIST crossdev-20210621.tar.xz 28588 BLAKE2B 33ff6069c85cbcff6bf34bf5f6dd8050bd5f9d34e3478c0200965dffd4cee46e71acf4210f533c9b22fd6fe979fa5f447d30b5aaa3a6fc0845b201a80dcb28d8 SHA512 8f8bed6ce53503fa4c2bbce4327d8e1d5ce8edab5ff698f11f312007912a2d73be56242269f798bb633ad3648f6cf936e00e019c05e5781b523059befc26f42c -DIST crossdev-20210718.tar.xz 28640 BLAKE2B 1e9b9313a5c9a1cb4d82f00e4979794d61b9eaa0035c575ac55092c6c015d820a590c5816d212a4ffad95b96a3dd99a9b94ca7c20b78a7d7b062f16dec6ed329 SHA512 e1a37aebf759abaa30f071f43a528f9059b83456e71fd86fc8202a7eff5c506c1f34fdd260c7b91a03f491b9f2a107ce6a65c2314845a352176fcc5a27a766e2 -DIST crossdev-20211027.tar.xz 28752 BLAKE2B 058d6254c702709c18cc426fe15d7a11cb856336236837a15c0b2cb0c2389198f8b0ea9893e7cdadd6ecdabb3e75c05b64c22448324ce2ea86032cb57e92a5d9 SHA512 6c15d71fb551dcb5cb8e95d7e3b1ecb52b34e47335842408da5acc9d258c1a5fa7e4699681b9b414b1b444df98601aa8b99b2000700485ec6028c076abeafd03 DIST crossdev-20211121.tar.xz 28700 BLAKE2B bfe637dcd3c5b6d45e289d6298de18cab4b70b5d21a817a9207b91360b489457b9ee10266a1c2641f8dfac09dffb166bf1565a7e519ba41f84c6d5c2000f5158 SHA512 5189fa7639b819dfffc8f994bb557d8d83f115b82cd61d938db77fdcf16a33cc9d0147f9708b3bed22fdc4ace27ac863436813ebad94876ae767172ac0cbb9ce -EBUILD crossdev-20210621.ebuild 832 BLAKE2B 3253956c99cefc7045f6e127dc319b0861fa251755db320ec0bdff9738b3f9480df6c94fe29a6a4597a25f30baee8a86bffe2eade232600d556136840c741601 SHA512 7ca8f2d6dabd9cd3f47b9fb9e09647c70c1c5d321aa832a2ed515c723903a87acfa0b90648c512c921e7c955a53ebc312fefeb6e459b2707a7d5c0c4140250a2 -EBUILD crossdev-20210718.ebuild 840 BLAKE2B e4774046a16df9e3a9956db328aad6ca3ac95fd00b683d4960f52bf28178b05baf62b471447dd84139b4d5942b9b33e8b8f39b5316d32e9ce93ba3317e3bda77 SHA512 4dbcc4d6cec4eaf17cf736b81ffafa0ccfc61737f949e277feca6b266b709dffbf4051a228d017140cee58abced205740209067daea452f3f10d64138c112741 -EBUILD crossdev-20211027.ebuild 898 BLAKE2B e16a0e822a7a547d040203f4b8bf8f017e2bd424f9a2ec53facb3149fe2903b18552bdccd423f36602a4862bd35ce29aa83623224da97d57a42656a37ee91fb5 SHA512 1c5a13d1ef504394686ffd62c56e2f652488459acdbcbafde780a1bb5a370e8493539cbef0c4c0a64d5d5ff82e50b9ede044e44f98945858e707c0ca434d1f2f +DIST crossdev-20220205.tar.xz 29088 BLAKE2B 46e90557f0a6df49e4f6ab7be6495514a188c4366868290d3b6b879ad1e5741e1600bca237735290f7e9278d441534569853b582cd85b96581c6ae0517cb4c54 SHA512 72e7cf690d49a87b32f6fdad2462fd4156e4e35a3f0b5f30911012a2b7936bb999575f757547a7a805c0cfdd1fd0caa8b23bf61e72c4333096314043ed565f40 EBUILD crossdev-20211121.ebuild 908 BLAKE2B b3e424f234669d19959b0ee39521a41f51751911576fd52b1d7b1f6792281b5880485c90750f0e644ed68a5f65857e159ae32d2fd9d621ed5234bcb0b0d05d8d SHA512 e9bdac44211ceaac37a25c05d7c86c5e522a2edfa01cad82e124d6e517190ca604921793dcd044589787b1b5930046eb9205c2804b1192d5ba3bb9ec05a686fd +EBUILD crossdev-20220205.ebuild 916 BLAKE2B 75d836555ca608c1c2fa5714295e0c6706b52d593348e2c8831db8b542eeb545e72b92b0ac6ab9ad757ef3e9e2b1e5445c239706e7c1dabac14a486f1a618dea SHA512 27dcfb6aa0e753133f158dda306b7a0e58a86dce1648ba599da0d6c6452f1566b8526775757e1857dbc38e306bd513d5034cbcb433eed60d438141a2256a9931 EBUILD crossdev-99999999.ebuild 916 BLAKE2B fc8db87b2419cbe292c64b22ae699943619ccc91add4cd8ec0e148e0e90e52db49be940d998623209cdec950fdf5b16a80dd623316f8e73c7bfea38f00fe3b89 SHA512 93c02450f068588555ba09dc0d827b7250bcc26fdbe4ed4265cc9f48556396c4a2d5a94d73777860d3c615785fbdcff027159e33201af448dab3eb6ae3aaed71 MISC metadata.xml 381 BLAKE2B 1d383a0b95cc180ed7be66205a9525f0a3e973a9b7e296c463e3a735163e1b673140a82dfc0a21ad30d71cad1b482770fb3a0028fef32593e6f7b53df127dcef SHA512 8074c54c17718021de7fcd8aef8b6c137eae75cd41c5dd02f86c987f7465d98af449f92a67fccd489a4f0ab0670ae89fb737e290be37a225acb81b8f1074446f diff --git a/sys-devel/crossdev/crossdev-20210621.ebuild b/sys-devel/crossdev/crossdev-20210621.ebuild deleted file mode 100644 index 59140a11c278..000000000000 --- a/sys-devel/crossdev/crossdev-20210621.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/crossdev.git" -else - SRC_URI="mirror://gentoo/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - >=app-portage/portage-utils-0.55 - app-shells/bash - sys-apps/gentoo-functions -" -BDEPEND="app-arch/xz-utils" - -src_install() { - default - - if [[ "${PV}" == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - fi -} diff --git a/sys-devel/crossdev/crossdev-20210718.ebuild b/sys-devel/crossdev/crossdev-20210718.ebuild deleted file mode 100644 index b7f11a2c01de..000000000000 --- a/sys-devel/crossdev/crossdev-20210718.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/crossdev.git" -else - SRC_URI="mirror://gentoo/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - >=app-portage/portage-utils-0.55 - app-shells/bash - sys-apps/gentoo-functions -" -BDEPEND="app-arch/xz-utils" - -src_install() { - default - - if [[ "${PV}" == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - fi -} diff --git a/sys-devel/crossdev/crossdev-20211027.ebuild b/sys-devel/crossdev/crossdev-20211027.ebuild deleted file mode 100644 index 0c2fe30139d5..000000000000 --- a/sys-devel/crossdev/crossdev-20211027.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git" -else - SRC_URI="mirror://gentoo/${P}.tar.xz - https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - >=app-portage/portage-utils-0.55 - app-shells/bash - sys-apps/gentoo-functions -" -BDEPEND="app-arch/xz-utils" - -src_install() { - default - - if [[ "${PV}" == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - fi -} diff --git a/sys-devel/crossdev/crossdev-20220205.ebuild b/sys-devel/crossdev/crossdev-20220205.ebuild new file mode 100644 index 000000000000..605240d7bf07 --- /dev/null +++ b/sys-devel/crossdev/crossdev-20220205.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +if [[ ${PV} == "99999999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/crossdev.git" +else + SRC_URI="mirror://gentoo/${P}.tar.xz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz + https://dev.gentoo.org/~vapier/dist/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +DESCRIPTION="Gentoo Cross-toolchain generator" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" + +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + >=sys-apps/portage-2.1 + >=app-portage/portage-utils-0.55 + app-shells/bash + sys-apps/gentoo-functions +" +BDEPEND="app-arch/xz-utils" + +src_install() { + default + + if [[ "${PV}" == "99999999" ]] ; then + sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die + fi +} diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index fa1a31cefb01..6b900f4f9859 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -8,7 +8,6 @@ DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c8353 DIST gcc-10.3.0-patches-3.tar.bz2 18935 BLAKE2B 13eaf1e055b5b63069aed1575ed93f6bc822b5e3f2181ddfc88f4e7ff801f58997cd131b2efd79b90469b1f861db994feb2adcaecacf165442078f76e233fd9a SHA512 c3d6a6f32863cc0ff7c877314ff0c00a892e473f64d16b82d46b4a77aa97c3e7a575492d27f0d423acb2621c86c9a49bca0e26e45bda9e697495444fcac85084 DIST gcc-10.3.0.tar.xz 76692288 BLAKE2B ac7898f5eb8a7c5f151a526d1bb38913a68b50a65e4d010ac09fa20b6c801c671c790d780f23ccb8e4ecdfc686f4aa588082ccc9eb5c80c7b0e30788f824c1eb SHA512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 DIST gcc-10.4.0-patches-0.tar.bz2 15231 BLAKE2B f64a2e7f317acf9416da69c129ea869116be2780828f9d3cda59f7ea8d39634df7f0347f745275bb167f95aae2a3b8e97ec7c78f775d9002718dd67cb9429f68 SHA512 d1497930ccf4d6ee8700faeb676945e65b3aa2ba3a580a3564575fad1590ad076741f2ecad778ab48d0c4e8ed7723b84b0a660cb67cc4530495691702159a43a -DIST gcc-11-20211127.tar.xz 75659912 BLAKE2B 2de0883de6596457189da75977aa4628a45cadec6528e7b5c0043b891717d14805d8a65f87cd95e2033567c7f88e239063171690a3fbfda99cc687a9c691c965 SHA512 ba0dad9073cd16fdaad5cc05c8ee637fa89f20dca4b0cdf256487e54fa6b88a5a759ae851b946e2122c60f28d295a4ee47bcca3dbcaedcb53bd8a66edd0f5b45 DIST gcc-11-20220115.tar.xz 75676672 BLAKE2B 12171fd97731dbca67f13cc2a3a3a3989c22d628b289cbd3d46080f77a8d951f15c1e54e83a2e62ab41b69221f9784e970799a11a9ed5b224a77ba4b1b081f07 SHA512 7455b3b29d3c64df9123afef82faf922d97e08a3ea30fbc2d9286d4f6ed2fafbfc0f9d94ae1b9eee45329e95a27bd642b3aa679d83a0c27a3e30967d49e0728c DIST gcc-11.2.0-musl-patches-1.tar.bz2 2999 BLAKE2B 3e36bbf2f93fdce15e20f807fa262f7a7abbde85b6f6b4e1383f6eccd8a53d876687d56cde83a80cde8a50e15bec407a1212aa0c85520892563e3d5ef7aaca98 SHA512 21483912a7b152f27db82d837a4cf91f2552d5fe238702aeca0c0dd8c7d3695bc70d8794c94a19106df28e053baf14c38433ca8e38e849082b76273cb51f2384 DIST gcc-11.2.0-patches-1.tar.bz2 11537 BLAKE2B 9dd791ada244c9b70b8b99f9f305a688c248134715ed1b26d406e53b114983faae6873cdc521497164388d24d5f61c199e98df146bc02f5578e877295bcf5c82 SHA512 6539efc60c656d0798a5896dc1b944ed69914b815102c7a1c10bdba4ef935abd326b01309f38316e121f1ed90ceb2abcaf65df6af116892daad829ac2623cefc @@ -16,27 +15,28 @@ DIST gcc-11.2.0.tar.xz 80888824 BLAKE2B 69b61234ac436edfea2933df68c434a2ce7aa445 DIST gcc-11.3.0-musl-patches-1.tar.bz2 3997 BLAKE2B 5ca064cc78b067f4a7822fa0341c37ae03c8024f871d2e274e481a583afa96c36e291be93fbdd633f203260ae2ea9ac1d45f666d134bac75bc9a715a369d7374 SHA512 0ab239c66cf62a737266377c19b8dda6af6df56380f6731c2c17f3e82778e7e023a68d31728490eea3ad946f4b71d4cab363a75548f74b4b7f653972469d9e91 DIST gcc-11.3.0-patches-3.tar.bz2 13567 BLAKE2B dba270d74b7a598e0108be0be7ff8cf01899d044ca4be9938cd5324465dc00c9e5cac4ffb4b6c1bdcdb824d75a7577eed63ae724c7e2887a19708992aca10f26 SHA512 7919b37900bbc2493564bc70f7911cf03efb857ff09c2b13280018fb54c48d8be42e35b649e69594a3ce61d51de847a8d4f75f794ce1dc50db3a700831b6a1e7 DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58 -DIST gcc-12.0.0-patches-2.tar.bz2 11564 BLAKE2B 5954ee8dd5edb30ecde54275d9ffd4d2f5671de82fe7789688d1220b181fbcdeed3d5305858d8af1fd016e627687ca6f2ebc76bb6b49e9b903e8d63c3de2baea SHA512 6299a1f46fc3f29934db7af20651c0c3e1266bef89b222fc9e3bc6a7e7cd2869301c5b227a4105157456474ae8a626ec550c15971bceb2f844476a9f5bc56284 +DIST gcc-12.0.0-patches-3.tar.bz2 10756 BLAKE2B e553a0f33eda8472fdf7eb4235c4818ebc67f9707987820c4711e013c30f98a7b683cc38afb204f9185a3871cb5cf5dcd55f79e5cf4cc286a5a1705e08cb4d70 SHA512 d621ddba9d51eb230960fc314e4e15b8a443085ab6dec4de10f351a5a755d1c89dd5d7be9d419d5788c275c70dd62e2c90f8f55415f61c25276330514aa7d194 DIST gcc-6.5.0-patches-6.tar.bz2 15320 BLAKE2B fe6b60cd45d00187e4e41e607af6a1137481a6d8f4421a0ead7da9fd86d0cd19bf428e5d150e1de4e0616606f8d6c31738da24be8151c58f7760aa92432ea3d0 SHA512 87c2a6726373999472cbd6211e486864266c833d5a07f8fb02dd3054b7dd3f86aa86ea47b17928045ef6e46d82f429f879d6f69d8adf3b6f2956f4ac6b3f80f1 DIST gcc-6.5.0.tar.xz 74355588 BLAKE2B 538595d32000b15a53577f0dc6b164d75791a8ccdf90500d5f667ff78378ef4ab9bedb8a590848907caf863bf1165ebe108b5e81eb4b54e85ced4002affde693 SHA512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac DIST gcc-7.5.0-patches-4.tar.bz2 13183 BLAKE2B 38a56910f01ef4172182d2145cef1df53b57eaa8f0655223cf54689e7ce12a264bfbb3735bde42b8a8594ab44031d9c48dc0d5303fab6537746f05e4d46b427a SHA512 28d3732d5351dabd1452ee0462865a0de00103d9ea66941e38499c532b34ee8beb150b0b32af58cde901e437b4c256593c29736a5e7df2575aa0d0c43b6cf6eb DIST gcc-7.5.0.tar.xz 62783088 BLAKE2B 8a5efeef517a5da1634d063aaa83bf5e002f86acdf27419f1067f5c3d087333d9eea0c8db427b8bd895af646990bb00ee173069980ca49cec848434a4127256f SHA512 fe716cc19f2e3255d3a8b1b8290777bf769c6d98e6e0b07b81a3d6ad43f8af74cb170dfa18b1555dbfcd3f55ae582b91a286ccef496b9b65c1579902f96a1f60 DIST gcc-8.5.0-patches-2.tar.bz2 16921 BLAKE2B 619a47f74edf05fa01c9de59d0ff7abb027a01cf0bdec91ac41046166192f4eae561684136c4a6a5e077f64754bb5b0710905129f31b0def21d88f92e6bba7fb SHA512 b6095d4570895e2c4dd58fed5756194aea27391b813e5e2de42b2749cb318c4bea2087eb0ff92c70e7f98ae4482c49d476db57be83d7beb19fd462aa61714ab2 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 +DIST gcc-9-20220317.tar.xz 67699876 BLAKE2B 0cca8137afd427ca1f48e3b4869b3de6fc347bf121d83e4170f09657d79a7a3d6b59b7e4c242002db5c47c7f5253f4297122cf6e02b3227f9e69364594bcf706 SHA512 31e90b0f1dd1db18038793d5409b503a01554e4dd9b1f5412e6b3d8be12f42cf4eab7fa97e409960464eceaeddf81bd1e541aab4d283a87c39e33e119a22196f DIST gcc-9.4.0-musl-patches-1.tar.bz2 2337 BLAKE2B 7bddc631c9f0e68884acb2bb603e2867e1f65e44f3bd519844341984fa17f323a953bca21cfc05a0f84f7da943c83f2f5341899c917ab88891ac33ccafeb8f75 SHA512 b2cf463613011892b07d1a932f402d7606aa3fce4e059c342996c4ef6aa37f20159812a81fa82897b2caf658853644c5075d23c81d04c4c98e06a72bd9680488 DIST gcc-9.4.0-patches-1.tar.bz2 14012 BLAKE2B d5fbfd73d9c3a5b66be5b124d981fe5a7468363c83784989a50731f87931435f4b6302e4c20a64b20680581ed40005eff7bdd5855526a093f73a04c3c1ddab31 SHA512 b84884c7d2197cb14229d3321b98cd66c783cf9ebf7e5d1b1186e6cf32ee9e47d004ebad26118f9c848f9bc0a3783ceb23d9b65101d98c3bfa99874e66ee7cbc DIST gcc-9.4.0.tar.xz 72411232 BLAKE2B 4bb000d33d6bd2d6cc91c040713f27f79dcf726ef8ab1542c711e0c25651507628510b1373bc73aef71ffb660afddb2eb8d8c8540f5f1498ee243cfff6c0be67 SHA512 dfd3500bf21784b8351a522d53463cf362ede66b0bc302edf350bb44e94418497a8b4b797b6af8ca9b2eeb746b3b115d9c3698381b989546e9151b4496415624 EBUILD gcc-10.3.0-r2.ebuild 473 BLAKE2B c9061341ddfa8d143fed0ac5794db4a872527f479b2243e5a939d9e6b1837a2ad9badd6a77ff771aeb4801c1223b625d6e6348a5675191d36708b186400c9b84 SHA512 75e667562d45b1cd7ac48fab95e390131eb6530daa858b450f3d5530c7fc6dbab112e4bcb20f21fcf1c41a0169c8d3483d744b826b12b685a8603340963540d7 -EBUILD gcc-10.3.1_p20211126.ebuild 524 BLAKE2B 5336b4951c7a7a8ce88f03bd6d56118a244fdc23ed11d6925c901f4516f7a6a3b9ef8bc6df601b5dd7fbb1a2d3df82cf596c46af164528366cc6a0055de2f6eb SHA512 7f0b6c7bff11e5dcca4d6c247be9c901612dd116c25978bcf9093d32d46241ce50e2d4ad178f83261f97e26228249a2ad7def4367db607caa8f138db46351910 +EBUILD gcc-10.3.1_p20211126.ebuild 517 BLAKE2B d1a2009d37088ce3d8caa3a9dd4bc804fbdaf0e779d8b0bd7719686de4718c9f554d8abccb6dc885fffa6437be4d500990025bdc3186fbf5af4574a0ea0e7f65 SHA512 705660fe34d2e8d6e0d14aaf6c54848535d741e1b9d1fe40f8435ede421481aac72e4133ef6d7b8fb1392943690e8359be35b13668a1967a845004aad1ed0281 EBUILD gcc-10.3.1_pre9999.ebuild 649 BLAKE2B 7c2d1e2d939433104d3fb01de2dbdb12b6022a503d2252d8371f699577eb289276897440113bc70745deb7057819d63890be8c0fd0022c02cc6d565fb1c1307e SHA512 eaca9dd9ac89a354beae99d38d7df2004289d281236f4a41457afbba563dcc8f6c1bfe24e8ea9219019c2b7e1c9abb67f428c96389fc9f6b8263db2af66ff3ef EBUILD gcc-11.2.0.ebuild 466 BLAKE2B 9897dc608217b7fbfd44fc14446638d23f18c0516a19b73e317aaeb328f82ea89452bf93888628a7d22d0892f6ca0a959cfc6e620a5afb9b8ee7063a4a6a173d SHA512 425b789e1c7f495b2581e9aa6a435fa7c1c23b0e167c44e81451ef2e7896b35bdbe9772bdff7b78c9deb0e4f6357f956f28151072b35fbb233ec5f9e771bf458 -EBUILD gcc-11.2.1_p20211127.ebuild 777 BLAKE2B bc729fc7cda621c2ad6335d8c26c7684e95d59d4ad5854047c887590771c5fafd13fe0f1608651ca3bace1b6ccd151d1dfd6c489ffde7b420a135f795fba6fcb SHA512 ecec9ab3d4fa2b9e9ccd85a34fd9cf29dbfd086a5de450e2eb3a0bc286873197ec8257a1f92a965865e7a07dd35b7c7af18c56eda88c5ac61754e5f942fed5a1 -EBUILD gcc-11.2.1_p20220115.ebuild 662 BLAKE2B 88bedc1957ab7a229c3af32c6269ac1efce57263f54dbe82054e008cd1cc6fc6dc5a6f0edffcd0f5f30ee6f189e9d37cbc46a42665f1a5c02c56c9a75297ebf7 SHA512 0412a4bb430d80554875d8eb1ab865c86cfc10168b9e62f35eb3df618fbaafe951ea8430e64df40ce2a90fb4bb4a122ecf6b7d7e0b61b4855565eb8e59d9787c +EBUILD gcc-11.2.1_p20220115.ebuild 655 BLAKE2B 3cba25775eba16e17d9df7d4664561d518d4569abd51b44fc9f2a48eee4ad87c5c355e6ee76fc1e617e3abab797589f5906b81548e4eaa956509f9b86d0a2ae6 SHA512 bfdfdfbf5124318fa42cb1b603c61a9c550e679e62e5186266d2896e6a5dc7703441f0d90864302afa072f1156ac45c73398d86c7dbdef88e3cefbc3eb44e088 EBUILD gcc-11.2.1_pre9999.ebuild 916 BLAKE2B 7d4536513bc200681534568a22efc5a06cb8b246f775b7465034c47f43a0dcd0f25a4ebff9ca67c47425fe6d1528918afc00e36b2b60ce87c0163fc8b552c9db SHA512 d2c88b671880e600b867f25eb9b7ae0e5c0df748d1171ec8f28a3a661974a8b4145ffd2ad004480fbfa6217ceeb3933ca4af9d9da91eb24c7fcab822466e22c6 -EBUILD gcc-12.0.0_pre9999.ebuild 930 BLAKE2B 185a63124d563a1fa82684b854346258ec8b96bb8a016910654d9c95f9ace9b9b14bc1c2f06c0c1683d35a8b0add2730ed8373684fbd6ea1b135f8b970096e32 SHA512 783680d846327686d7b2861da756d0f48e23cf9d3cf5184c3cf169fb94668e3a48c5314643ebfc90bbb1ab4beb7f04004e30e5beca9bf8f8802a1df538fdbeb4 +EBUILD gcc-12.0.0_pre9999.ebuild 930 BLAKE2B c22214d114cfa6fe18568cf5fe9b918491786068587d306d41559ee0ac91ee1bc9c5b92303026fcdf5f922e18cc4ee347765066f379757467b99c6db6259f27f SHA512 482644bb13a0e97442899247ca7db6aef3772721522ad93961d3c9bb64fb924cdf92007a17f2c30ae7b626c471c5f752808e4feebb31cd9c76c94d3d2f6d3223 EBUILD gcc-6.5.0-r4.ebuild 445 BLAKE2B 2f3d0d7d881671cb42296b53441f8c379bea95dcb83348fc9d993b1c586c828a82188ca39688a728a32e1d37f19a5bc5148e339654477c5383d90e29dc527ca3 SHA512 1c2fcee4393c001dfe1718ac6bc7ace20df0b77bfc9cf1c94683a60f3c0d42cf62b8e6afe4d8938937eef870083b7026491cc3c4952d67fa81894e543ec4653a EBUILD gcc-7.5.0-r2.ebuild 456 BLAKE2B 4d675d65bb34c51225f2f490409ed63f0f95a3f9bec9c1e034127ad0ac4fed7f104fc5febb761133873505807c6cc6b44b8ce8d51d0faef26843feed6cf1f933 SHA512 057ed372182d4bd5afb51459e0bc563fa05590feb5e0a859123a2d20d9f052cd23d2ac70923f58c827ebec3e419cfb6cb1d370feb58d39a02089fa3bd4d90921 EBUILD gcc-8.5.0-r1.ebuild 444 BLAKE2B 9ccc45a2aee8c0a692f7b56efbdd817d5a9202a531de95dfc09a283dc67494df97843146bca9aca701522c22932036a9236ea678f3d643d049faa05bec53ae22 SHA512 d2fefd74e875ce17e2f4bf8e4135bb36a45cfbb1ab7c7ff4847eaf53a368656c8e5a1eba039a909623cc4bd4f4905249da6b291c7327b791a25dbab0008c4f5c EBUILD gcc-9.4.0.ebuild 456 BLAKE2B 78681cf7e30cd621999659ba2135376d6e8992f97af71e1af0dcb37fd3abea88fb4c2b896a19f41917941a8cc5c14e870cd25ecff2947df648094e1ff9ed7ea5 SHA512 c16c17ff9978df1c945b2ad868cd720a46a4a5a1c610f66204add36d98460e92843409b4a4caeb196f53c278cd7475767b810cc806a77db29297dbf61e37477c +EBUILD gcc-9.4.1_p20220317.ebuild 484 BLAKE2B 0b295d4b786e86edb9b2f10f86c671b8fa93c6b04a57b907a97db4a246479cc3b0eaf06251769184e9674221ab42a5582aeb3446ac24442dccf5414c538e950f SHA512 e950503cdb6e1c89979e74e4e678b68851b963d71e0687c0ee604f43726aa33ff53445e684ac78d16366b81243573d12e369e4b8d57515be25ef13305639e56e EBUILD gcc-9.4.1_pre9999.ebuild 526 BLAKE2B 91cd7c5793fcb8b52e0ef75d32aef9d2e8fbaeb13353b1bc562c3ab2e17c748a340c66f60dc0641c4f162ad69ab95ff1ac34081924bb3a8f82f98cbe7e74d2d1 SHA512 cee74704109204b5c28b7a806903611eb7f9025fb64abf2e5a215139a9613c747af5c359116c4bdffd312d7614a11c9b33420e7b8874666dca5bb54ee69490e7 MISC metadata.xml 2833 BLAKE2B a47ef414f43a8859d4315bc0ddfac6af21469e032b6c14e653b28ee04423e6ad0082007ccb09acabb0b3dc7deca4b0f58defcfe3024ed74af22bbeedd9da1d68 SHA512 f32ce9392b3185638a1a9fd696888cb0c7d2e5b1b03db4ec516752c9bd98f3ef216816ec0848b78cfb32a6c4ea27210c975e8d9a72d079bb9f7dd143b2399ae6 diff --git a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild index 911b768bcd30..f06487a91e3c 100644 --- a/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild +++ b/sys-devel/gcc/gcc-10.3.1_p20211126.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -10,7 +10,7 @@ MUSL_GCC_VER="10.3.0" inherit toolchain -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86" RDEPEND="" BDEPEND="${CATEGORY}/binutils" diff --git a/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild b/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild deleted file mode 100644 index cf332f7e6ce2..000000000000 --- a/sys-devel/gcc/gcc-11.2.1_p20211127.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER="3" -PATCH_GCC_VER="11.3.0" -MUSL_VER="1" -MUSL_GCC_VER="11.2.0" - -inherit toolchain - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -# Technically only if USE=hardened *too* right now, but no point in complicating it further. -# If GCC is enabling CET by default, we need glibc to be built with support for it. -# bug #830454 -RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" -DEPEND="${RDEPEND}" -BDEPEND="${CATEGORY}/binutils[cet(-)?]" - -src_prepare() { - toolchain_src_prepare - - if tc-is-cross-compiler ; then - # bug #803371 - eapply "${FILESDIR}"/gcc-11.2.0-cross-compile-include.patch - fi - - eapply_user -} diff --git a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild index 6d5f17550bd3..bcaa58794f83 100644 --- a/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild +++ b/sys-devel/gcc/gcc-11.2.1_p20220115.ebuild @@ -10,7 +10,7 @@ MUSL_GCC_VER="11.3.0" inherit toolchain -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86" # Technically only if USE=hardened *too* right now, but no point in complicating it further. # If GCC is enabling CET by default, we need glibc to be built with support for it. diff --git a/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild b/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild index 4dfdd34abfbc..457e05cb4b97 100644 --- a/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild +++ b/sys-devel/gcc/gcc-12.0.0_pre9999.ebuild @@ -5,7 +5,7 @@ EAPI=7 TOOLCHAIN_GCC_PV=12.0.1 -PATCH_VER="2" +PATCH_VER="3" PATCH_GCC_VER="12.0.0" MUSL_VER="1" MUSL_GCC_VER="11.2.0" diff --git a/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild b/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild new file mode 100644 index 000000000000..09a8ed1fa045 --- /dev/null +++ b/sys-devel/gcc/gcc-9.4.1_p20220317.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCH_GCC_VER="9.4.0" +PATCH_VER="1" +MUSL_VER="1" +inherit toolchain + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND="" +DEPEND="${RDEPEND} + elibc_glibc? ( >=sys-libs/glibc-2.13 ) + >=${CATEGORY}/binutils-2.20" + +if [[ ${CATEGORY} != cross-* ]] ; then + PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" +fi diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 8368d9693f05..f5f72a58936c 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -8,6 +8,6 @@ DIST gdb-11.1.tar.xz 22040696 BLAKE2B 6a639f6533f4008bfb469c23a26c4fcd039f1bc5dd DIST gdb-11.2.tar.xz 22039420 BLAKE2B 66ce7e12c99c33c8b4e6ababa673204aab525e72c90ba54cc34a5fd69948a09dc2a9ef2050764b2464544231b1d1a6431279c2877388551ca6fbf384a3f9b464 SHA512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127 EBUILD gdb-10.2-r1.ebuild 7102 BLAKE2B 9ac5188d6fb2d65b7923894650d410bda11f3913236effd43687bebdde65274bddfc23b259c444cfe1e359d0228fb628beee4df54de09a6b6565a6a554abc231 SHA512 c06705fc98d126f936a4a805ff93419c330236bf2113e57a5ee598ac8d91ef920ac61e19cbdc39784eed72a4d0c741c5ffa13ed3c727bc622a5661711dabb2ab EBUILD gdb-11.1.ebuild 7052 BLAKE2B 71bfc0398324c8c691026a789a75c5ae68757d2a90536abcc5ba627672090b43412c066d61f3c153ff85b56fcbeab33b15975eb291cd17e3ee990df5027609be SHA512 d5c54de621bcc584e4baef439b8bcedd787c4769a89cbdf360004fcdcbec79c9ca885475674b01a48f8cc6e67dbb20125cddf0920c73542ecbd25d6f052891ae -EBUILD gdb-11.2.ebuild 7199 BLAKE2B 8b5fb86da26b82fbe6f60fe1155dec09ebd6d5b19a690f4688835b28d96045d06e907098d4855e054155cc9966f642b7f7cc2f09d5a1fc0e8213b81a623553b6 SHA512 b6dbcc9525433df837681279d2f766c645943f9340bbd625f0c0d61c701b1f102e8bf92cb9cff60c499564a0b1c01395fd1edbe4b3b6d4ef5c3b45f8f5e11543 +EBUILD gdb-11.2.ebuild 7191 BLAKE2B ef06d3eb2bf0ee6209f4cc6e0cafd2dce81a7ea6588dce8eab0152b5fdf28c3a4defe7857c160c77c50f2827867881a1340bf7adbbe362a195bff48cb9a3b74c SHA512 84f9841bde0bb69603fb0f7e198e686d046c30e5dc3093eb59f532052e35a03ea8f09e175c0de247eecc4b7ea98d6bd6a32abd38edd2635d322500c5de02953f EBUILD gdb-9999.ebuild 7019 BLAKE2B 786b4795693aaa6d7df558b256380bd8a391fc1afadab9c2060f377f065d9a52e107b9c04631e53c7b39d41327698dbc86b8023dc9c538419d370a7aaa8d383a SHA512 e49636ebdd11f05d2ca8d3df89b41ed9a3b6c9ac945dc4ee45decb05565985cf3b4161935fecb54ee1a759073b41bc7cae4bb9f110e253a8e8f326c530161397 MISC metadata.xml 1103 BLAKE2B e63ea2e52649ac2f4ac21381cadb7cc76525792e99a4a6581535475480b6c45e654c8222b0b58585435d4c858cf3eef00dcaecf7edecae2b2fd336f1b56e6e56 SHA512 f7f1b4da71b18cb68a2f32aa6faae6251528047069071c9bee1be504267d0baf2cbac4fb928e0cbe9df100e3a681e2c3b6c7be14514a45a2f52d30364a8626f4 diff --git a/sys-devel/gdb/gdb-11.2.ebuild b/sys-devel/gdb/gdb-11.2.ebuild index 71cd4a2dde33..f1d6e311c2ee 100644 --- a/sys-devel/gdb/gdb-11.2.ebuild +++ b/sys-devel/gdb/gdb-11.2.ebuild @@ -47,7 +47,7 @@ LICENSE="GPL-2 LGPL-2" SLOT="0" if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" diff --git a/sys-devel/icecream/Manifest b/sys-devel/icecream/Manifest index 7651bc5e933c..6c819787496e 100644 --- a/sys-devel/icecream/Manifest +++ b/sys-devel/icecream/Manifest @@ -4,8 +4,8 @@ AUX icecream-1.0.0-libcap-ng.patch 195 BLAKE2B b6ff2376e02cfd0a1b486c53d5be10122 AUX icecream-r2 1733 BLAKE2B dbd919701df670e7cd1b47cb39fa55eb18c6e539ffa637e2a505ee60b15bb9febd54237b57f42214769e273f5a5fd29cfcc9e29a0a941807388fd9cc7d133226 SHA512 033ce0d49445db3afcbdd6724863651d4951b8f36f6253a13854abe9ee976419687579089aa1c5c808eed08aad357e34bb9f1e70570857cc39f2515ac2f211b0 AUX icecream-tmpfiles.conf 103 BLAKE2B 4a263834594e0f1fe8cc8e356520f937cfc5f1abd9f019a2b88075643ff651d002d49de113d3ab4bcbc10e22b43e03ee85ea8f948765800ba74c43e5dd3ca0e2 SHA512 152d687a9fe18c71f08c002ee87d36fe18572a6e5b7ab976bbde784c6ff80c5ecda59f9cce4561868fa53ad76a040674af4b0579a97c78c9bf141bc0533f7631 AUX icecream.openrc 1669 BLAKE2B 18726b8d8752f3db9a2864612423dedd00b347a6802012de5c0ca30d2516b1995c9bf4ae32d1d320a5e401d9a3466f8fc7165fa805e0b9991c16b0f4a96d59d6 SHA512 8c3c66ffd508284f0dc7c9e2695d02ff283048f82f80ac9b41982b6484967b39856a4e7651015d4bb10f74e3f0a7435bd59c0a0ec5eb62bc5aee49cae0354fde -DIST icecc-1.0.0.tar.bz2 485534 BLAKE2B 31a978a4a461f20716a95277426e79d4c298c212d36361dbbd68c5affcbbbe2f0c71f743cc7b731d86fbb5f09ab556182482f56e1382be8572d019f80a004fc8 SHA512 4292ecef6232112c3f4531cb2290a55f70c5c24095fef0865af2526d49fc10a043ffb06d22552e161f671c18ff1ab62795c3a63e2c8cb26f869cf65d0938af2a DIST icecream-1.3.1.tar.gz 224068 BLAKE2B d7d66dadf27b0b88ab706bf217ce2b0d33b5db2ed95e48c4e9dcbd000931688ad6809ecbd4e14f0f3889bcebddc8543bd364c9dda09ba71e5dc04d0a5a2122d5 SHA512 d850394b4093defcf2c50bb3f9306348a45bf17d21f4730baeee7125998c2a548b7b3a7597785855d7e388e84830769bf0ec1c4136330a4c8e359cbdd111f5da -EBUILD icecream-1.0.0-r3.ebuild 1274 BLAKE2B 2967a7bec5f09e6477a099f6c49323e3a94a721ac84555deee6719737da356d3f214835d8d6c9a00f7e4a5f81d8cda9ac624aa18ac8ac289097a161518cce408 SHA512 7fac57e7f533db016f503f47256076d5ba5b13a83d68237a192c2b22d2914984342874bb47b6cafabe5b915297b2c5912a3fe66e2d16e4cc6fc20a94160626e9 +DIST icecream-1.4.tar.gz 232707 BLAKE2B 5fdebea4d0eba4a99e8c7c01acab46ec323a887d3fe9944da23ae7089403a9ebf7bf9870ca61af49578af6adf49679341f7070f9e3da3e8c7c2f50d9d4e7c3fe SHA512 b77dd630c51b7b6b4d7fa06cd14a580891b974fe2d50074f7a3b129adc558fc7ce19b3a3716a6798c2fd0f7d0d3a1bc295bbedee3ed6dafa015f309c7c2590f5 EBUILD icecream-1.3.1.ebuild 1686 BLAKE2B 179d8da593e7a3d45930ca0fddc5202bcad2f8b5229e9dc2624ba0cc170075fd7c0f7eb635a95a9141dc0839bb92a5420c4e97d7b0008ad382cdf0eee44af4e1 SHA512 361b643bc8d83e1102f266858a9c12c70cc37267033b0dc22633ff6a9cae903fb62702ad7c8f52306e5a01030c6a6c3eab8e19063775d2146019f90e5c6dfb2f +EBUILD icecream-1.4.ebuild 1707 BLAKE2B 05f32aed90adefb4355143dee7263bb5e183172f252c6fafe3b2c9e05d0b291dc3be277017b2104bd98d6165827575e287bd16a2c79f1ee1aee34ebf44587088 SHA512 ceafb4b0903c4eebb3a8998c1a7c1933c42c02ab75f7a66adef4c5699f6df496d023041956ee70d6dad196dd57b1194ca5a95bcfea18bcc82410e4f6a5c02605 MISC metadata.xml 337 BLAKE2B 0a42596492049a954cd58c992c68ef68bec2a53a4eaaa83978b2d56c577f6c54fc8bc18b7621b0561fd8a348996d138e8a676ea129c94d08633663d3e254ac1a SHA512 7c96d0c35a47e595cf50c1c6efe5ccb186ec974ed0b31fea908240380f796fb9e77e2eba0ce9995a8473cd836056421d6475022f68685d88f8c360292d7284ec diff --git a/sys-devel/icecream/icecream-1.0.0-r3.ebuild b/sys-devel/icecream/icecream-1.0.0-r3.ebuild deleted file mode 100644 index 53e06f4ae2be..000000000000 --- a/sys-devel/icecream/icecream-1.0.0-r3.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_P="${P/icecream/icecc}" - -DESCRIPTION="Distributed compiling of C(++) code across several machines; based on distcc" -HOMEPAGE="https://github.com/icecc/icecream" -SRC_URI="ftp://ftp.suse.com/pub/projects/${PN}/${MY_P}.tar.bz2" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86" - -DEPEND="sys-libs/libcap-ng" -RDEPEND=" - ${DEPEND} - acct-group/icecream - acct-user/icecream - dev-util/shadowman -" - -PATCHES=( "${FILESDIR}/${P}-libcap-ng.patch" ) - -src_configure() { - local myeconfargs=( - --enable-shared --disable-static - --enable-clang-wrappers - --enable-clang-rewrite-includes - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - newconfd suse/sysconfig.icecream icecream - newinitd "${FILESDIR}"/icecream-r2 icecream - - insinto /etc/logrotate.d - newins suse/logrotate icecream - - insinto /usr/share/shadowman/tools - newins - icecc <<<'/usr/libexec/icecc/bin' - - find "${D}" -name '*.la' -delete || die -} - -pkg_prerm() { - if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then - eselect compiler-shadow remove icecc - fi -} - -pkg_postinst() { - if [[ ${ROOT} == / ]]; then - eselect compiler-shadow update icecc - fi -} diff --git a/sys-devel/icecream/icecream-1.4.ebuild b/sys-devel/icecream/icecream-1.4.ebuild new file mode 100644 index 000000000000..8b29c30afdb4 --- /dev/null +++ b/sys-devel/icecream/icecream-1.4.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +AT_NOELIBTOOLIZE="yes" +inherit autotools systemd tmpfiles + +DESCRIPTION="Distributed compiler with a central scheduler to share build load" +HOMEPAGE="https://github.com/icecc/icecream" +SRC_URI="https://github.com/icecc/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86" + +DEPEND="app-arch/libarchive:= + app-arch/zstd:= + acct-user/icecream + acct-group/icecream + dev-libs/lzo:2 + sys-libs/libcap-ng" +RDEPEND="${DEPEND} + dev-util/shadowman" +BDEPEND="app-text/docbook2X + virtual/pkgconfig" + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + econf \ + --enable-clang-rewrite-includes \ + --enable-clang-wrappers +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die + + systemd_dounit "${FILESDIR}"/iceccd.service + systemd_dounit "${FILESDIR}"/icecc-scheduler.service + + newconfd suse/sysconfig.icecream icecream + newinitd "${FILESDIR}"/icecream.openrc icecream + + keepdir /var/log/icecream + fowners icecream:icecream /var/log/icecream + fperms 0750 /var/log/icecream + + newtmpfiles "${FILESDIR}"/icecream-tmpfiles.conf icecream.conf + + insinto /etc/logrotate.d + newins suse/logrotate icecream + + insinto /etc/firewalld/services + doins suse/iceccd.xml + doins suse/icecc-scheduler.xml + + insinto /usr/share/shadowman/tools + newins - icecc <<<"${EPREFIX}"/usr/libexec/icecc/bin +} + +pkg_prerm() { + if [[ -z ${REPLACED_BY_VERSION} && -z ${ROOT} ]] ; then + eselect compiler-shadow remove icecc + fi +} + +pkg_postinst() { + tmpfiles_process icecream.conf + + if [[ -z ${ROOT} ]] ; then + eselect compiler-shadow update icecc + fi +} diff --git a/sys-devel/kgcc64/Manifest b/sys-devel/kgcc64/Manifest index 764e835a0adb..39f1f86ba104 100644 --- a/sys-devel/kgcc64/Manifest +++ b/sys-devel/kgcc64/Manifest @@ -15,8 +15,8 @@ DIST gcc-9.4.0-patches-1.tar.bz2 14012 BLAKE2B d5fbfd73d9c3a5b66be5b124d981fe5a7 DIST gcc-9.4.0.tar.xz 72411232 BLAKE2B 4bb000d33d6bd2d6cc91c040713f27f79dcf726ef8ab1542c711e0c25651507628510b1373bc73aef71ffb660afddb2eb8d8c8540f5f1498ee243cfff6c0be67 SHA512 dfd3500bf21784b8351a522d53463cf362ede66b0bc302edf350bb44e94418497a8b4b797b6af8ca9b2eeb746b3b115d9c3698381b989546e9151b4496415624 EBUILD kgcc64-10.3.0.ebuild 977 BLAKE2B 3aaeff6ba1015f1b59edb16080d21dac13f6714a62747e2b9dee4883899134fe6b7c4b64addc4c04b89c17ccfca093e8d713c5c13bd90c26987b3634d085b2af SHA512 f06028f32cb4febfb78d567c8070648d8f511ee5f3f68a5e0a38830aaab24c9c6cc60a406b7ff797f26536dd58f2fe5089ab1d8382e855fab83be1ffcb44416e EBUILD kgcc64-11.1.0.ebuild 978 BLAKE2B 75121733c67b2e4a0d81e9617fee0df121608a26523e2febc6b1629d25db3cb42123ea785d9598c6522561b309345fcc939207dc2fb8c07d925d57bc0a53ecb9 SHA512 2248d8c7fc7905ac60fb542416a03d13106135f51244b303b43bcdb8577bf65fca8c50347ad64d2db0b5e5b580e44e68e9c2c7e73adc4f8c40ecdda5c931b8d2 -EBUILD kgcc64-11.2.0.ebuild 978 BLAKE2B 4ac0242d3750c8c36c4a81ae21dc63bc92bd340774d12094cb943bdc5b0888e50d273a46732807eaa36d25a6d80f06d310bf36e3fddf673464040520e43a3383 SHA512 bfdbd013c43abb2cbf3b18191e70441aca73ba87263c2cc1aecd5d880d570fb3cf8a31b46fea3a6503259af846e2710ae7c2a99e31ecff1c8df122c9d596118a -EBUILD kgcc64-11.2.1_p20220115.ebuild 1002 BLAKE2B bf3ad49f55cf2dcd57666d8b30560ed25ce7b91551d8733c3989c5fe482468ebd3f3f79eabfa3d96d09b9d26df2392fa0a25bafce7bd92f6f6f3ceef92206694 SHA512 3e97f608b6e5e76fd3f205c29002d38b5ee488f83fdcb1af066957535e27b1b0736fd99f345d7c7d6dea56cdc47ae8680800524de3c25f6fe477a3fd0860ddda +EBUILD kgcc64-11.2.0.ebuild 977 BLAKE2B d5c876d78c15459dcd8683f110c9a2d015bb3a3ada049d265911c509a54ba814e0208814240011ad2eebc2d2c394b65899088ec094eede9eae239de18b4a5fb9 SHA512 0c7cdc23f5ff2ece4e3faa1093244ef059d71bfb5f00c3a5159cebb11e6fc3fb4344ce6df89c65db8130f33e6ffc93ed1085356af24d0ace234bd7597794023f +EBUILD kgcc64-11.2.1_p20220115.ebuild 1001 BLAKE2B d727d5af6acc9f25de2581763f4a0296dbaf489d0f34679377f7cae4ebd3230e6eed8ef76a9d466ccd801f5c0c996247dc49b0130f195f6af8c7965b5046b10a SHA512 f4c5b3f6ff5de60120c26dc683027d16e0fd75c11a752e632e34afc3373959ff1ce1bc499a081a256d59b2fd43673b6ac97a9d25d87196b1c2ea6a7f840e9511 EBUILD kgcc64-9.3.0-r2.ebuild 977 BLAKE2B 2e96cd95ee42508f3b2889fdf679233523897c1800c8a64eaccb1bf2fe9a600d585b78d9f1b4dd225a083923e1f90f208e6eff82475ce2a0da3ef792be5a9d18 SHA512 ff5328502339d065bf38686cd77506e654819331d4c59eb84e8d46d0d9c0a1abd2c024b9e2e908da1552931b21cc04dbce8ea9fc1d1ba0de5e6d1a5573ac378c EBUILD kgcc64-9.4.0.ebuild 978 BLAKE2B 4ac0242d3750c8c36c4a81ae21dc63bc92bd340774d12094cb943bdc5b0888e50d273a46732807eaa36d25a6d80f06d310bf36e3fddf673464040520e43a3383 SHA512 bfdbd013c43abb2cbf3b18191e70441aca73ba87263c2cc1aecd5d880d570fb3cf8a31b46fea3a6503259af846e2710ae7c2a99e31ecff1c8df122c9d596118a MISC metadata.xml 268 BLAKE2B 8482f168e8ebdc914b137d3b41df6840c3478b8898d5278c5d43742538d0edb403505d66583f44b142b094f8735777d79637b69b6fcb3b7cd7026e415eb48e58 SHA512 433cd6a955f0104f3767d50ab08e08e79c8ca4276a56c2cd284692472cf5f19918d1ff22539eedf0232224193c15d6c84198c95647ed390f2b520d05211de721 diff --git a/sys-devel/kgcc64/kgcc64-11.2.0.ebuild b/sys-devel/kgcc64/kgcc64-11.2.0.ebuild index e6b50adde92e..77cf2be1f04b 100644 --- a/sys-devel/kgcc64/kgcc64-11.2.0.ebuild +++ b/sys-devel/kgcc64/kgcc64-11.2.0.ebuild @@ -21,7 +21,7 @@ inherit toolchain DESCRIPTION="64bit kernel compiler" # Works on hppa and mips; all other archs, refer to bug #228115 -KEYWORDS="~hppa" +KEYWORDS="hppa" # unlike every other target, hppa has not unified the 32/64 bit # ports in binutils yet diff --git a/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild b/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild index 437e1247a19a..261a01a910c9 100644 --- a/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild +++ b/sys-devel/kgcc64/kgcc64-11.2.1_p20220115.ebuild @@ -22,7 +22,7 @@ inherit toolchain DESCRIPTION="64bit kernel compiler" # Works on hppa and mips; all other archs, refer to bug #228115 -KEYWORDS="~hppa" +KEYWORDS="hppa" # unlike every other target, hppa has not unified the 32/64 bit # ports in binutils yet diff --git a/sys-devel/libtool/Manifest b/sys-devel/libtool/Manifest index d400842a2543..a39c96e55e84 100644 --- a/sys-devel/libtool/Manifest +++ b/sys-devel/libtool/Manifest @@ -14,6 +14,8 @@ AUX libtool-2.4.6-pthread.patch 1496 BLAKE2B dc49604133c6c65a2290a8879c243b35b20 AUX libtool-2.4.6-pthread_bootstrapped.patch 532 BLAKE2B aeb1592c07a9c5eeed81c483e348786fb1cede29b09fa8e74d0fcf7fdb6ad36fd980823d13b3e20cc7a54d5c518e0f557928b440ef9d0fd6723a8d5f8774c098 SHA512 05c1cee7a3d90bf4768cabaaba47290dc668db7c14173abf99ed8e64dae92191537f89c3304a4d42c01ecc2280d37104c47f621e44b3d19db481846bb225a2a1 AUX libtool-2.4.6-sed-quote-speedup.patch 7619 BLAKE2B 14e0341bb5b5878dd9bab5996a63d849c5d8c257618a87792bf7c904481d07430553102da2917cb518c37790d2321ae6202572ab59614a8291e475fc8a043ee6 SHA512 f5658f87edc24e494fff1ad2b1932dcd4a8a1515e88a10f3d5bc076ac69570e11c4559a8a56d577dc24181de262c97d6c1cfb16b9cd8315264cf55bc1351bf71 DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4 +DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da EBUILD libtool-2.4.6-r6.ebuild 3594 BLAKE2B 1af42af727a1aa0a7f7392ab253a34a93b76715b605291cd9ff136708c41ddede5e4cfbdec7b7059f6f40780ac8b6b17fa2a4d0ae17959565e29ed4dfe0846e3 SHA512 425c6a82232cdac39f598c7c8cff46a7594a5644ab30331d56ec92bbbad32fd099c89b7995be568f8ba60e489b3bb7c306fbf79ef40782ef4f2bc1552babcf40 -EBUILD libtool-9999.ebuild 3201 BLAKE2B 99bd172c1d5a5d1ee5355be9c03c174e0164391a795bc02744006b89db4095221f50ea1183599b3e3460a1f3ac261f8833af29a4124d0433178591d9494d782c SHA512 1ffdaa021c89fa420f2bd124a7fcb3a9db18b581b6e2c79168564b1244b65675662956207e00fa1355076dd11ec6e086e50c1e20e8b8db940d2e3bbb42ddf8ea +EBUILD libtool-2.4.7.ebuild 3337 BLAKE2B 08edf323d23e0cc1406e96dfa3bce6863fe00689d2f6f22bc33e3fe0aca56d64a6c38f48af402dadac5c18b51af5e231c7c6fd43d22d641d9b804209a8480aa4 SHA512 e768c94a0c48b820442db50d44220262e489d42cfbb34b7aff0be0ac7a3f9afce6fd60d08944bb42749329d1f5cea606f484755ee67c3567f5c980d07c80dfe5 +EBUILD libtool-9999.ebuild 3328 BLAKE2B 24d35d2257f24fb566bb8b9e771544f59c9951fc8061398c742ca37d81007396fbc8fbb21c471d6dddd1c3601918fb28f20467a2c67d6f1c589fc99d82a477aa SHA512 ac200adb173a7dd60f296ab2623ca067d3e587e747ccc7fdcdd2eaad09d23ff0db44131eb5db58bb005b58581e63ca458be8b345842ea052117c8e92d29e10ad MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609 diff --git a/sys-devel/libtool/libtool-2.4.7.ebuild b/sys-devel/libtool/libtool-2.4.7.ebuild new file mode 100644 index 000000000000..2eb522d28d08 --- /dev/null +++ b/sys-devel/libtool/libtool-2.4.7.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Please bump with dev-libs/libltdl. + +# bug #225559 +LIBTOOLIZE="true" +WANT_LIBTOOL="none" +inherit autotools prefix + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git" + inherit git-r3 +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +fi + +DESCRIPTION="A shared library tool for developers" +HOMEPAGE="https://www.gnu.org/software/libtool/" + +LICENSE="GPL-2" +SLOT="2" +IUSE="vanilla" + +# Pull in libltdl directly until we convert packages to the new dep. +RDEPEND=" + sys-devel/gnuconfig + >=sys-devel/autoconf-2.69:* + >=sys-devel/automake-1.13:* + >=dev-libs/libltdl-2.4.7" +DEPEND="${RDEPEND}" +[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man" + +PATCHES=( + # bug #109105 + "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch + # bug #581314 + "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch + + "${FILESDIR}"/${PN}-2.4.6-mint.patch + "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch + "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch +) + +src_prepare() { + if [[ ${PV} == *9999 ]] ; then + eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876 + ./bootstrap || die + else + PATCHES+=( + "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876 + ) + fi + + # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway + chmod +w build-aux/ltmain.sh || die + + if use vanilla ; then + eapply_user + return 0 + else + default + fi + + if use prefix ; then + # seems that libtool has to know about EPREFIX a little bit + # better, since it fails to find prefix paths to search libs + # from, resulting in some packages building static only, since + # libtool is fooled into thinking that libraries are unavailable + # (argh...). This could also be fixed by making the gcc wrapper + # return the correct result for -print-search-dirs (doesn't + # include prefix dirs ...). + eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch + eprefixify m4/libtool.m4 + fi + + pushd libltdl >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + popd >/dev/null || die + AT_NOELIBTOOLIZE=yes eautoreconf + + # Make sure timestamps don't trigger a rebuild of man pages. #556512 + if [[ ${PV} != *9999 ]] ; then + touch doc/*.1 || die + export HELP2MAN=false + fi +} + +src_configure() { + # the libtool script uses bash code in it and at configure time, tries + # to find a bash shell. if /bin/sh is bash, it uses that. this can + # cause problems for people who switch /bin/sh on the fly to other + # shells, so just force libtool to use /bin/bash all the time. + export CONFIG_SHELL="$(type -P bash)" + + # Do not bother hardcoding the full path to sed. + # Just rely on $PATH. bug #574550 + export ac_cv_path_SED="$(basename "$(type -P sed)")" + + [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g" + + ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install +} + +src_install() { + default + + local x + while read -d $'\0' -r x ; do + ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die + done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0) +} diff --git a/sys-devel/libtool/libtool-9999.ebuild b/sys-devel/libtool/libtool-9999.ebuild index ea6a7173bed3..648487eec160 100644 --- a/sys-devel/libtool/libtool-9999.ebuild +++ b/sys-devel/libtool/libtool-9999.ebuild @@ -1,9 +1,12 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -LIBTOOLIZE="true" #225559 +# Please bump with dev-libs/libltdl. + +# bug #225559 +LIBTOOLIZE="true" WANT_LIBTOOL="none" inherit autotools prefix @@ -27,12 +30,16 @@ RDEPEND=" sys-devel/gnuconfig >=sys-devel/autoconf-2.69:* >=sys-devel/automake-1.13:* - dev-libs/libltdl:0" + dev-libs/libltdl" DEPEND="${RDEPEND}" [[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man" PATCHES=( - "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch #109105 + # bug #109105 + "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch + # bug #581314 + "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch + "${FILESDIR}"/${PN}-2.4.6-mint.patch "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch @@ -40,11 +47,11 @@ PATCHES=( src_prepare() { if [[ ${PV} == *9999 ]] ; then - eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch #650876 + eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876 ./bootstrap || die else PATCHES+=( - "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch #650876 + "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876 ) fi @@ -89,11 +96,13 @@ src_configure() { # shells, so just force libtool to use /bin/bash all the time. export CONFIG_SHELL="$(type -P bash)" - # Do not bother hardcoding the full path to sed. Just rely on $PATH. #574550 + # Do not bother hardcoding the full path to sed. + # Just rely on $PATH. bug #574550 export ac_cv_path_SED="$(basename "$(type -P sed)")" [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g" - ECONF_SOURCE=${S} econf ${myconf} --disable-ltdl-install + + ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install } src_install() { diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest index f20a674ab86a..52ddab6b32bc 100644 --- a/sys-devel/lld/Manifest +++ b/sys-devel/lld/Manifest @@ -1,12 +1,14 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1 +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc EBUILD lld-11.1.0-r1.ebuild 1250 BLAKE2B befcc678c9eda33c73806c12b2c24bb8f3b8c9310303c42ceb87247e9816862f25bab546a5989bbe018f40118283c432c71f895e0b333a27a3e344d570e58102 SHA512 7a2046cc5bef8a7c0889fa6fb0bbf1eeaf776cd446ce3188df6c70898de097c0833e6d9293d4a7dad99fa1d6bf894440920549b6295ed442aa0c560149a71a58 EBUILD lld-11.1.0.ebuild 1399 BLAKE2B bfa3538e4bd9492e94547f4ed304d75ff5da1e58c1d1a3e044be9da0c77a6ac71fce301ef3e6970cc520cb0c31abd9a81a668998b9c808852b157c91c3e398f4 SHA512 2ae031e69815ad5711567fc0ff5a7aa20d1cd49bb29dadb03f9754bc69da89d309d57996f3a67157be55c87c75cac7ab00ec53deb9b579ed74901c1789f7cf5b EBUILD lld-12.0.1.ebuild 1666 BLAKE2B fd1f8a4601c74d8507996e8804663812816c161ebf9351cd2fd262fb3cf1894013b3059800dd856bc0e896af7fc75b381bf353e1d22d43fe36d5859a2086b983 SHA512 6d1ba9cf7ab959da15975b4d1c3117f0a235618bfbf0bb743d73447105ab6672b25e839cadc34415b721c8755eb28abb2ddadb8c4793d3d7f4506f032e4d868b EBUILD lld-13.0.0.ebuild 1871 BLAKE2B 13ea83d64f25df0664fcedd0ebb44dd84ebb8828f0e52b7cd00eafd0d69d1c1d0c27a2da492d8a55ad4b0b39b6569e151ddde250db3cd19bb784bdc4ee1133f7 SHA512 24e2bda650f31508528896c761587a0abeeb061d4e4198449dc50b0794622fd8c87bb8d2d816bf90801dd6914b09e644ed2d3e97cb852f8ad8c005141f5e1bf4 -EBUILD lld-13.0.1.9999.ebuild 1834 BLAKE2B c7b895660913f2ffb83a21bfee7e31a08dca08bcf2515dcd4b2a8fb4e358b14f6fc1bc6a902ed1319c1796a20b54ba902023e5ecb7cd9759cf8e0a63322ae5d7 SHA512 d19cd076098cab1ebf3c24fb7b7957a32c8dbcf0a1d32a837d9ed020e3c45267b844117c0d266a19ce4a725a3196a52f1ce9cb33a5b59c7146c7b215d3a2ee1f -EBUILD lld-13.0.1_rc3.ebuild 1834 BLAKE2B 5dc0d391a59c07ab71f65a8c4af98065f84e7615195ceb2d0175d435f1aa6cae9950685ccde193b0b4af2a62ba0541f7dee29bc58a19222fb08c7c549eb4e17b SHA512 2c94e9beb39f9c6692979a6ad8a59dfd0918e6d038e67dbb48b0dbb7302948918179eee54c5d1388bc3b1f8312620fad217c7bd1681b33d96550a57280a7f153 -EBUILD lld-14.0.0.9999.ebuild 1834 BLAKE2B c7b895660913f2ffb83a21bfee7e31a08dca08bcf2515dcd4b2a8fb4e358b14f6fc1bc6a902ed1319c1796a20b54ba902023e5ecb7cd9759cf8e0a63322ae5d7 SHA512 d19cd076098cab1ebf3c24fb7b7957a32c8dbcf0a1d32a837d9ed020e3c45267b844117c0d266a19ce4a725a3196a52f1ce9cb33a5b59c7146c7b215d3a2ee1f +EBUILD lld-13.0.1.ebuild 1873 BLAKE2B b9ab202812bad456ce8c602df2060e365537d7ebe7815cc7d8242b6a9250d502c3ca7ea477301428dd72d0b97a259ad34d85067e0d081267f446d6caacf8e295 SHA512 942a50cf11859eab60ae1d3773efa25b131a3f6c4303bc1ac3584dbffe78e9b5b9ea36a5462c1a23ec0181c98f7e94f5d13f307e37e8321f4e34aee26ccac064 +EBUILD lld-14.0.0.9999.ebuild 1840 BLAKE2B c3123287f37b91ae5292bcf8ee990cce43fae431249ccd8589abd06a86b4ffcd10a6c5e8006e71e49ba6182379efa44061fdd4260c399d2d85e2be2b27406a79 SHA512 aff51dedd90e10007d272c2f2060ebab63937d86c4e2faf375379e18ce1fb1eee0fe55fd30c02493a7f2f6612f8215c37b2b6512204b5147b8a72cbb4e4e4af0 +EBUILD lld-14.0.0_rc4.ebuild 1840 BLAKE2B c3123287f37b91ae5292bcf8ee990cce43fae431249ccd8589abd06a86b4ffcd10a6c5e8006e71e49ba6182379efa44061fdd4260c399d2d85e2be2b27406a79 SHA512 aff51dedd90e10007d272c2f2060ebab63937d86c4e2faf375379e18ce1fb1eee0fe55fd30c02493a7f2f6612f8215c37b2b6512204b5147b8a72cbb4e4e4af0 +EBUILD lld-15.0.0.9999.ebuild 1840 BLAKE2B c3123287f37b91ae5292bcf8ee990cce43fae431249ccd8589abd06a86b4ffcd10a6c5e8006e71e49ba6182379efa44061fdd4260c399d2d85e2be2b27406a79 SHA512 aff51dedd90e10007d272c2f2060ebab63937d86c4e2faf375379e18ce1fb1eee0fe55fd30c02493a7f2f6612f8215c37b2b6512204b5147b8a72cbb4e4e4af0 MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/lld/lld-13.0.1.9999.ebuild b/sys-devel/lld/lld-13.0.1.9999.ebuild deleted file mode 100644 index 863c9b49bdb9..000000000000 --- a/sys-devel/lld/lld-13.0.1.9999.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake flag-o-matic llvm llvm.org python-any-r1 - -DESCRIPTION="The LLVM linker (link editor)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="debug test" -RESTRICT="!test? ( test )" - -RDEPEND="~sys-devel/llvm-${PV}" -DEPEND="${RDEPEND}" -BDEPEND=" - test? ( - >=dev-util/cmake-3.16 - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - )" - -LLVM_COMPONENTS=( lld libunwind/include/mach-o ) -LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) -llvm.org_set_globals - -python_check_deps() { - has_version -b "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_unpack() { - llvm.org_src_unpack - - # Directory ${WORKDIR}/llvm does not exist with USE="-test", - # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, - # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system - # (lld/MachO/CMakeLists.txt) and is expected to be resolvable - # to existent directory ${WORKDIR}/libunwind/include. - mkdir -p "${WORKDIR}/llvm" || die -} - -src_configure() { - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - - use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DLLVM_INCLUDE_TESTS=$(usex test) - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - ) - use test && mycmakeargs+=( - -DLLVM_BUILD_TESTS=ON - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - -DPython3_EXECUTABLE="${PYTHON}" - ) - cmake_src_configure -} - -src_test() { - local -x LIT_PRESERVES_TMP=1 - cmake_build check-lld -} diff --git a/sys-devel/lld/lld-13.0.1.ebuild b/sys-devel/lld/lld-13.0.1.ebuild new file mode 100644 index 000000000000..436f354f89e4 --- /dev/null +++ b/sys-devel/lld/lld-13.0.1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND="~sys-devel/llvm-${PV}" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + >=dev-util/cmake-3.16 + $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") + )" + +LLVM_COMPONENTS=( lld libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) +llvm.org_set_globals + +python_check_deps() { + has_version -b "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + ) + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +} diff --git a/sys-devel/lld/lld-13.0.1_rc3.ebuild b/sys-devel/lld/lld-13.0.1_rc3.ebuild deleted file mode 100644 index 3377caffce15..000000000000 --- a/sys-devel/lld/lld-13.0.1_rc3.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake flag-o-matic llvm llvm.org python-any-r1 - -DESCRIPTION="The LLVM linker (link editor)" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="debug test" -RESTRICT="!test? ( test )" - -RDEPEND="~sys-devel/llvm-${PV}" -DEPEND="${RDEPEND}" -BDEPEND=" - test? ( - >=dev-util/cmake-3.16 - $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") - )" - -LLVM_COMPONENTS=( lld libunwind/include/mach-o ) -LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) -llvm.org_set_globals - -python_check_deps() { - has_version -b "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_unpack() { - llvm.org_src_unpack - - # Directory ${WORKDIR}/llvm does not exist with USE="-test", - # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, - # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system - # (lld/MachO/CMakeLists.txt) and is expected to be resolvable - # to existent directory ${WORKDIR}/libunwind/include. - mkdir -p "${WORKDIR}/llvm" || die -} - -src_configure() { - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - - use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DLLVM_INCLUDE_TESTS=$(usex test) - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" - ) - use test && mycmakeargs+=( - -DLLVM_BUILD_TESTS=ON - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="$(get_lit_flags)" - -DPython3_EXECUTABLE="${PYTHON}" - ) - cmake_src_configure -} - -src_test() { - local -x LIT_PRESERVES_TMP=1 - cmake_build check-lld -} diff --git a/sys-devel/lld/lld-14.0.0.9999.ebuild b/sys-devel/lld/lld-14.0.0.9999.ebuild index 863c9b49bdb9..b57382fbf22d 100644 --- a/sys-devel/lld/lld-14.0.0.9999.ebuild +++ b/sys-devel/lld/lld-14.0.0.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -23,7 +23,7 @@ BDEPEND=" $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )" -LLVM_COMPONENTS=( lld libunwind/include/mach-o ) +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) llvm.org_set_globals diff --git a/sys-devel/lld/lld-14.0.0_rc4.ebuild b/sys-devel/lld/lld-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..b57382fbf22d --- /dev/null +++ b/sys-devel/lld/lld-14.0.0_rc4.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND="~sys-devel/llvm-${PV}" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + >=dev-util/cmake-3.16 + $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") + )" + +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) +llvm.org_set_globals + +python_check_deps() { + has_version -b "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + ) + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +} diff --git a/sys-devel/lld/lld-15.0.0.9999.ebuild b/sys-devel/lld/lld-15.0.0.9999.ebuild new file mode 100644 index 000000000000..b57382fbf22d --- /dev/null +++ b/sys-devel/lld/lld-15.0.0.9999.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="debug test" +RESTRICT="!test? ( test )" + +RDEPEND="~sys-devel/llvm-${PV}" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + >=dev-util/cmake-3.16 + $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") + )" + +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} ) +llvm.org_set_globals + +python_check_deps() { + has_version -b "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + ) + use test && mycmakeargs+=( + -DLLVM_BUILD_TESTS=ON + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +} diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest index dd8329712cff..8bc65d70a07b 100644 --- a/sys-devel/llvm-common/Manifest +++ b/sys-devel/llvm-common/Manifest @@ -1,11 +1,13 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1 +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc EBUILD llvm-common-11.1.0.ebuild 603 BLAKE2B 0a7273b73b30e1cfb707d232c8634368edf0c10ec938c78544c65ee8553f0916a271fbdacbd358fbafc8d02f1f3e2d8f48dc4ff5b77ef9f5d5f80ef3d2e05eb3 SHA512 520efa24caa6415e82461362659b7db6ea11d4bc3b6b93105cbdd45ce0f46dc35f2b14151425e989a45656e93a5d7b9a3288ff55ef0d585b4b376dfcd5908067 EBUILD llvm-common-12.0.1.ebuild 608 BLAKE2B e34ba1cdf1c8522f3622106a88a56dc7c6cd5bd227db31dd610d1879f39842052feec45235a197fe63f8834c8bb77a410632895746b448e50931abe31275b49d SHA512 83df951b72eb186aa705ffdc3b688df2d0bba4884f76c526e1ae4b4f7acf5afc4ec420038bdb89eed41938d84ed1feb52df8bcf4454fe9d72e5cdd0d48788253 EBUILD llvm-common-13.0.0.ebuild 608 BLAKE2B e34ba1cdf1c8522f3622106a88a56dc7c6cd5bd227db31dd610d1879f39842052feec45235a197fe63f8834c8bb77a410632895746b448e50931abe31275b49d SHA512 83df951b72eb186aa705ffdc3b688df2d0bba4884f76c526e1ae4b4f7acf5afc4ec420038bdb89eed41938d84ed1feb52df8bcf4454fe9d72e5cdd0d48788253 -EBUILD llvm-common-13.0.1.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 -EBUILD llvm-common-13.0.1_rc3.ebuild 529 BLAKE2B 7c870932616dfe5dfbb9a2e83a38f924dfe8a6f9fe345622fa27691880a34e64e24babbf36221badd0f44c33798e5e2a3b6e10dbb9f6516d1fd8da9b38d7bcf7 SHA512 63b7862eacfc17889d7582cdab20c7699f6626fc1dae202b35061a2616eeea01968cea570fd700fd7e617dcb1b2b5c774c07916cf4a9f1141834a1d513d0be8a +EBUILD llvm-common-13.0.1.ebuild 610 BLAKE2B 6da5846ec8b3f9fd400fb9e4977c575ee2d7558c4436b224527e8d73cc2f2d2fc411487a56193d4a47da2c13d03b2df8b3421a16cd196a40a78dcc97ac0f05b0 SHA512 953d6d7e07163f3d38089f616abd58fb62698deb5bec369d6032b5974347abfe845a243fc4151f29d615436dc29ff59e0c85a72bfd0f297cd20ec0c26dae75a1 EBUILD llvm-common-14.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7 +EBUILD llvm-common-14.0.0_rc4.ebuild 529 BLAKE2B 7c870932616dfe5dfbb9a2e83a38f924dfe8a6f9fe345622fa27691880a34e64e24babbf36221badd0f44c33798e5e2a3b6e10dbb9f6516d1fd8da9b38d7bcf7 SHA512 63b7862eacfc17889d7582cdab20c7699f6626fc1dae202b35061a2616eeea01968cea570fd700fd7e617dcb1b2b5c774c07916cf4a9f1141834a1d513d0be8a +EBUILD llvm-common-15.0.0.9999.ebuild 529 BLAKE2B 7c870932616dfe5dfbb9a2e83a38f924dfe8a6f9fe345622fa27691880a34e64e24babbf36221badd0f44c33798e5e2a3b6e10dbb9f6516d1fd8da9b38d7bcf7 SHA512 63b7862eacfc17889d7582cdab20c7699f6626fc1dae202b35061a2616eeea01968cea570fd700fd7e617dcb1b2b5c774c07916cf4a9f1141834a1d513d0be8a MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild deleted file mode 100644 index 53511a0a20e3..000000000000 --- a/sys-devel/llvm-common/llvm-common-13.0.1.9999.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit llvm.org - -DESCRIPTION="Common files shared between multiple slots of LLVM" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="" - -RDEPEND="!sys-devel/llvm:0" - -LLVM_COMPONENTS=( llvm/utils/vim ) -llvm.org_set_globals - -src_install() { - insinto /usr/share/vim/vimfiles - doins -r */ - # some users may find it useful - newdoc README README.vim - dodoc vimrc -} diff --git a/sys-devel/llvm-common/llvm-common-13.0.1.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1.ebuild new file mode 100644 index 000000000000..758406a44587 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-13.0.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit llvm.org + +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="" + +RDEPEND="!sys-devel/llvm:0" + +LLVM_COMPONENTS=( llvm/utils/vim ) +llvm.org_set_globals + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r */ + # some users may find it useful + newdoc README README.vim + dodoc vimrc +} diff --git a/sys-devel/llvm-common/llvm-common-13.0.1_rc3.ebuild b/sys-devel/llvm-common/llvm-common-13.0.1_rc3.ebuild deleted file mode 100644 index fdadac15eda6..000000000000 --- a/sys-devel/llvm-common/llvm-common-13.0.1_rc3.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit llvm.org - -DESCRIPTION="Common files shared between multiple slots of LLVM" -HOMEPAGE="https://llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" -SLOT="0" -KEYWORDS="" -IUSE="" - -RDEPEND="!sys-devel/llvm:0" - -LLVM_COMPONENTS=( llvm/utils/vim ) -llvm.org_set_globals - -src_install() { - insinto /usr/share/vim/vimfiles - doins -r */ - # some users may find it useful - newdoc README README.vim - dodoc vimrc -} diff --git a/sys-devel/llvm-common/llvm-common-14.0.0_rc4.ebuild b/sys-devel/llvm-common/llvm-common-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..fdadac15eda6 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-14.0.0_rc4.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit llvm.org + +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="" + +RDEPEND="!sys-devel/llvm:0" + +LLVM_COMPONENTS=( llvm/utils/vim ) +llvm.org_set_globals + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r */ + # some users may find it useful + newdoc README README.vim + dodoc vimrc +} diff --git a/sys-devel/llvm-common/llvm-common-15.0.0.9999.ebuild b/sys-devel/llvm-common/llvm-common-15.0.0.9999.ebuild new file mode 100644 index 000000000000..fdadac15eda6 --- /dev/null +++ b/sys-devel/llvm-common/llvm-common-15.0.0.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit llvm.org + +DESCRIPTION="Common files shared between multiple slots of LLVM" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +KEYWORDS="" +IUSE="" + +RDEPEND="!sys-devel/llvm:0" + +LLVM_COMPONENTS=( llvm/utils/vim ) +llvm.org_set_globals + +src_install() { + insinto /usr/share/vim/vimfiles + doins -r */ + # some users may find it useful + newdoc README README.vim + dodoc vimrc +} diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest index 1dc60938e6ec..6721cb6518e1 100644 --- a/sys-devel/llvm-roc/Manifest +++ b/sys-devel/llvm-roc/Manifest @@ -8,6 +8,8 @@ AUX llvm-roc-4.2.0-add_Object.patch 439 BLAKE2B c59ab50959d94ea04d63b734d580f1e9 AUX llvm-roc-4.2.0-current_pos.patch 1217 BLAKE2B 693e79cb895918f5e1a56be8d6624c049e8aa5640c55c34fc3fe27f053b7642670310ece321548df58f23e73d145f00d5c95b1e462eee008070cf6a2fde1c66c SHA512 fa8f773ba230e01f83526e4ae644fb2e7aceae99720cb5219c1b22baaabc5008f9b0151aee4c44ba9a4415ef421a8bfeb268302ee70e8c56428bf56c08b15903 AUX llvm-roc-4.2.0-cyclades.patch 3703 BLAKE2B 3250b2da548ffe759155fb673f0f81cfba1a918a8337aac72c8190edde18c0d14610b9734ac47c9e47570c35c6c28a525045f48acb446f70e7b6aa0706daab72 SHA512 694c38775a6353eba3c5bdcc39e2884a913f72b7a35dd5285ceed0ddf89456c9ca89fa2f5d801b6f4aa44f1301e3ceeb65f1641cd92d5128a91ebce5f42a261e AUX llvm-roc-4.3.0-hip-location.patch 7128 BLAKE2B 6756bcad1c0bdef0729d3e7f2c6ea3468777623fb1493209956f436e9f234a1728e052c31ff064f8125c72d2a8cf68f425f76fb21cecf02680e999a6d5e7e41b SHA512 09f42ce7a37e072aa813036b78efd38cdaee54a1155fb347bf22f3f9f87441a6af83014fbc798f4d6d11966f40cf9c9fe6d3a8662b58be7859ab5b167eee37c2 +AUX llvm-roc-4.5.2-add_libraries.patch 342 BLAKE2B 74e4bd50143d8e369cd3cc805f2d15fbad94667adcb8b001faaa7ae038bd69b8b2a2f4a02572a7711dbdbb356b45c653371e1e90a6a3abbaf3261952d87fc2cb SHA512 24d5a6a3e3b710138c0795af5b93b222bcfe1739d650a13c9564e4d7452d77e6392229e2a1cc27005cf5d3a572d6533e25bb608b52e4d113449525cf766f0e25 +AUX llvm-roc-4.5.2-hip-location.patch 7108 BLAKE2B 1db4e922a3ec7ef3868c5adb7c811ddef2edf8e5b7bc02523a20fd41c9acd00ed904944c909fb8911b165c461832e38ec5eceeed0971680dfd3e4219f217c667 SHA512 a9fac99758a1ae98d3790e0b9f95056e852c62f2b53109a432514da60c1165f41533d6b94f9e9d88982bf22ef460d3813ca0532f5ffb801f184ec62778b6f856 DIST llvm-rocm-ocl-3.10.0.tar.gz 123600166 BLAKE2B 9b69dab6c7d1a8dfe0d90c76b54446ec7f8ef6e59c74ad328208ac07dbf8836ae412dc5c32fdcbfc926a2488e81cd8afef71c3ebca6cd8ff745205028ab380d8 SHA512 3bb7dac13d89cadfb61a231564155f49021437b7c35eae8735b88ceae4a23b7950643f17e3bfebb0868621297202a04d41120d50ea52b6ad8980dabe9bc75509 DIST llvm-rocm-ocl-3.7.0.tar.gz 116973132 BLAKE2B c1cc8a3b95292d726626d3cb59ec1b96549682bfcbec16030e47cf1318c6ea01bc76f3349f012ce4f1e4d8b9fe192c51a025c2d08cf593622c61fe7c61969ba6 SHA512 0626075bedb3898c96c0bb0be7a2aba4662050a1c738115f661bedc03d744ace7a4581b55c6325060740c13a0e50e72e09272bb02c1186c2c4a40fc9b961dcbe DIST llvm-rocm-ocl-3.8.0.tar.gz 117004300 BLAKE2B 13c3213f0fb951fb9d574e8f6d76bb6c632fecadfe93dbe68a9720baa22e35aa3269deef8b533c5a5ff50a2c1ee3dd7a1ea0fae4b8ab8573ec5bfc5ca5d04f4f SHA512 4eca387a132c9d1237ebec7c80319e99c80088766209d05a697d09890f4a82c56ba5f48a5c8c8749bb051c177bb5eab67e00405b04d3191681d0ac7cf1ae868c @@ -18,6 +20,7 @@ DIST llvm-rocm-ocl-4.1.0.tar.gz 128913932 BLAKE2B 15a041ec7b9fec91e409c8ab98ff88 DIST llvm-rocm-ocl-4.1.1.tar.gz 128914019 BLAKE2B 9806d1da497e9d9864fd015fc92f5e2d8a6077315d96538064357a38347bc9180948c65cdca9e29574b40f8df62c0660762731564822ac9e8b5364bebf016e43 SHA512 0e4c6b9b0c0330d58616f22d8ec6ebdd6c83aef9ce9968765ac56c022bcd76cba8af5a6cdfb47ed560b33cd67832ac5b026502357af6caec4ab699f1443163fd DIST llvm-rocm-ocl-4.2.0.tar.gz 132337711 BLAKE2B f08781f881f2853cd551828ef9190c1253e33ca1bfb13aac790b6484838fe5481be9519609ea9cf4bc09a6c8631c54a567123dfe97c25498c51c464d215049de SHA512 694c37c707c84d18cddb92054d8d59e1eea82c9c9928d0111992cbae1421d6bb614a0889891993b444a821c35fa6e91c801ac8555761c2cd0803f89981475952 DIST llvm-rocm-ocl-4.3.0.tar.gz 134152148 BLAKE2B aaadb75f0b2f72d3c4dca4b375a38b2806491b854d45f6f95bc398c4b7685fccbc4e6df86869c200f08ced5ddb540344ace2402819cdd3c27c5167a71a78bb3b SHA512 4f85f06d5331770b8697bbe62776579ed02016d899ed9c5328d5953fc5992a0996f7934e7417d6062e77a317d242295803fbeab04b0428d5f257cecd4c25c0cd +DIST llvm-rocm-ocl-4.5.2.tar.gz 137370130 BLAKE2B f91823b9f0a3b78062eb5e9aa564a31752ab377bebc613892938d4aa6f8e54eb2b00123d0e60e5e703cd41d380cedac07234f024e3812b8df71519d0c7c32625 SHA512 fa4147e73fd37db6735e29cb99c5a7da4edcd1f51af30574d35a359b483aba4b3d4bdefa0845d3991fc0d0758b3e403e7e252033712cc4a8c038d07d9539c18f EBUILD llvm-roc-3.10.0.ebuild 1504 BLAKE2B 45a36c92ddd29b3e8c811db5476172a25847dab08436d03e3680c770494462257f31f30147744dcf18ca6364c24378b8f7723af20ee7675fe16511029a0cb869 SHA512 629d3193ece5023b0eaa12a70da8f003900d90bcccea1b8363f7dace8b559f16680e618a6e90932e60013a620ce2e2b2a6b4419494d411260a21eb15845fd4e1 EBUILD llvm-roc-3.7.0-r1.ebuild 1365 BLAKE2B a958e69206d2a91c93668c236bcd3fea12a80fc1860a58b92268a2deb546a4602a1863cbbfa1187afd0158303898def84cba1561a5b3e6c9af0e74e49c15e686 SHA512 a584e3f0816108d378115685329aec5eda07d8c944d532ba48499225d9ceaf043e1c341ea7762f26d35e241143671dafc7b13f48127f9f5236a5e5c5f38793d0 EBUILD llvm-roc-3.8.0.ebuild 1460 BLAKE2B 6582c682c3e0d648bc948aeb6214ae0cc578e9a7ff78c393186a22ca2535288924770a2590fe4d32787f25489ab5c537548a2b39fc5235e8d8b61f5833f4c1d3 SHA512 81a7adc423792f0eb23195eab9747ae04426f73238d82e19d2d03d7fbbbf81df946478cf12e9a75019edd6871b441cae1aebfb085ced8624e64921fa5e760bdb @@ -29,4 +32,5 @@ EBUILD llvm-roc-4.1.0.ebuild 2353 BLAKE2B 0ad6a859369212effe46aa857af8902d2be411 EBUILD llvm-roc-4.1.1.ebuild 2392 BLAKE2B 6991a50a82746c051c1084f0e4794c31347fc792a7da6ba791cc09fe16de7394cdf70edc50da73db0db8db5e554c6d8cd41f087c47b9dec0d60bb9f8ac98f9fb SHA512 489431911aa16544645387b13a6296000b7171bd0910065bd778d87ef5b1db33f26d40ca4d6ea88998a7ed932603ceba41eea5c11b1ffb09890c5d530f64b644 EBUILD llvm-roc-4.2.0.ebuild 2366 BLAKE2B 91003a3a21fc407c8546b4984daf617414877b61b83bfa20ddad15f64582b3076e744d42040d896c3afec6ca9e9a06433035883775d72841914c48b6a60546b8 SHA512 c149083879e100e8db6125c9d5ce839e3cf15e932b49378be4351da1e5213369b18a428b681d7dd1fd53aa1e0c9ec24e6d8cc2c59a8fd748395764473b5bedd4 EBUILD llvm-roc-4.3.0-r1.ebuild 2447 BLAKE2B f8c8605942225d53517c373cc42e6f6ca73000a47415ad89fdf8a6095a05637715be1d7636b388a82f7040db5e256d9a2a0a206a6956de6ca4fa7b8884e9b637 SHA512 fe11f3b4a2ba24cdb068fc4ba8a0a0f0b8bb72a3d42fc0701d3d6fdf1cad9fb9f0d8f458da987a14601102a095eccb1ec7dac36a1863e19d58cdc2722325cc86 +EBUILD llvm-roc-4.5.2.ebuild 2483 BLAKE2B 214d3e1ecd20566d458232f5af38de0f97b0afcbd0aa7c22a9ee3d2f283003f8bf661bbd8db372fc568f37b16bc936721a3f828eabd088efa74c79ad7a31d733 SHA512 51ed907721b60aeb61d5b8c407246d4f78d1b363ee55b55109c08a72085499dcfb2b29319cfc4d550465de064258385fe35d5257752c12eab0c43a1bb6f6d917 MISC metadata.xml 470 BLAKE2B e3e508a8f3178c63fb93afc93d42ff41f8f6290d763762c1200ecdccef16ce2b2dcb3e810e950ba9c8db2ec37639ffafb47b38bb7e03f6dbbb0496ae96c16d3b SHA512 3764f794532fb58cb944d718e1e59f4abc42270f3fd80c2f8b8537dfefc46f6a495bc126e842a9b4e560cc207902548aef9e2f2641b1a11954db3c2f98246133 diff --git a/sys-devel/llvm-roc/files/llvm-roc-4.5.2-add_libraries.patch b/sys-devel/llvm-roc/files/llvm-roc-4.5.2-add_libraries.patch new file mode 100644 index 000000000000..e2fe9282d837 --- /dev/null +++ b/sys-devel/llvm-roc/files/llvm-roc-4.5.2-add_libraries.patch @@ -0,0 +1,11 @@ +diff -Naur a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt +--- a/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:49.119055933 +0100 ++++ b/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:13.265056070 +0100 +@@ -2,6 +2,7 @@ + Core + MC + Support ++ Option + ) + + find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) diff --git a/sys-devel/llvm-roc/files/llvm-roc-4.5.2-hip-location.patch b/sys-devel/llvm-roc/files/llvm-roc-4.5.2-hip-location.patch new file mode 100644 index 000000000000..7b5714e610a7 --- /dev/null +++ b/sys-devel/llvm-roc/files/llvm-roc-4.5.2-hip-location.patch @@ -0,0 +1,188 @@ +replace hardcoded hip finder with Gentoo paths. + +It is not necessary to check HIP runtime each time. + +Author: Benda Xu +Author: Yiyang Wu + +--- orig/clang/lib/Driver/ToolChains/AMDGPU.cpp ++++ llvm-project-rocm-4.3.0/clang/lib/Driver/ToolChains/AMDGPU.cpp +@@ -165,133 +165,7 @@ + /// cached and populated only once. + const SmallVectorImpl & + RocmInstallationDetector::getInstallationPathCandidates() { +- +- // Return the cached candidate list if it has already been populated. +- if (!ROCmSearchDirs.empty()) +- return ROCmSearchDirs; +- +- auto DoPrintROCmSearchDirs = [&]() { +- if (PrintROCmSearchDirs) +- for (auto Cand : ROCmSearchDirs) { +- llvm::errs() << "ROCm installation search path"; +- if (Cand.isSPACK()) +- llvm::errs() << " (Spack " << Cand.SPACKReleaseStr << ")"; +- llvm::errs() << ": " << Cand.Path << '\n'; +- } +- }; +- +- // For candidate specified by --rocm-path we do not do strict check, i.e., +- // checking existence of HIP version file and device library files. +- if (!RocmPathArg.empty()) { +- ROCmSearchDirs.emplace_back(RocmPathArg.str()); +- DoPrintROCmSearchDirs(); +- return ROCmSearchDirs; +- } else if (const char *RocmPathEnv = ::getenv("ROCM_PATH")) { +- if (!StringRef(RocmPathEnv).empty()) { +- ROCmSearchDirs.emplace_back(RocmPathEnv); +- DoPrintROCmSearchDirs(); +- return ROCmSearchDirs; +- } +- } +- +- // Try to find relative to the compiler binary. +- const char *InstallDir = D.getInstalledDir(); +- +- // Check both a normal Unix prefix position of the clang binary, as well as +- // the Windows-esque layout the ROCm packages use with the host architecture +- // subdirectory of bin. +- auto DeduceROCmPath = [](StringRef ClangPath) { +- // Strip off directory (usually bin) +- StringRef ParentDir = llvm::sys::path::parent_path(ClangPath); +- StringRef ParentName = llvm::sys::path::filename(ParentDir); +- +- // Some builds use bin/{host arch}, so go up again. +- if (ParentName == "bin") { +- ParentDir = llvm::sys::path::parent_path(ParentDir); +- ParentName = llvm::sys::path::filename(ParentDir); +- } +- +- // Detect ROCm packages built with SPACK. +- // clang is installed at +- // /llvm-amdgpu--/bin directory. +- // We only consider the parent directory of llvm-amdgpu package as ROCm +- // installation candidate for SPACK. +- if (ParentName.startswith("llvm-amdgpu-")) { +- auto SPACKPostfix = +- ParentName.drop_front(strlen("llvm-amdgpu-")).split('-'); +- auto SPACKReleaseStr = SPACKPostfix.first; +- if (!SPACKReleaseStr.empty()) { +- ParentDir = llvm::sys::path::parent_path(ParentDir); +- return Candidate(ParentDir.str(), /*StrictChecking=*/true, +- SPACKReleaseStr); +- } +- } +- +- // Some versions of the rocm llvm package install to /opt/rocm/llvm/bin +- // Some versions of the aomp package install to /opt/rocm/aomp/bin +- if (ParentName == "llvm" || ParentName.startswith("aomp")) +- ParentDir = llvm::sys::path::parent_path(ParentDir); +- // Some versions of the aomp package install to /opt/rocm/aomp/bin +- // and it seems ParentDir is already pointing to correct place. +- return Candidate(ParentDir.str(), /*StrictChecking=*/true); +- }; +- +- // Deduce ROCm path by the path used to invoke clang. Do not resolve symbolic +- // link of clang itself. +- ROCmSearchDirs.emplace_back(DeduceROCmPath(InstallDir)); +- +- // Deduce ROCm path by the real path of the invoked clang, resolving symbolic +- // link of clang itself. +- llvm::SmallString<256> RealClangPath; +- llvm::sys::fs::real_path(D.getClangProgramPath(), RealClangPath); +- auto ParentPath = llvm::sys::path::parent_path(RealClangPath); +- if (ParentPath != InstallDir) +- ROCmSearchDirs.emplace_back(DeduceROCmPath(ParentPath)); +- +- // Device library may be installed in clang resource directory. +- ROCmSearchDirs.emplace_back(D.ResourceDir, +- /*StrictChecking=*/true); +- +- ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/rocm", +- /*StrictChecking=*/true); +- +- // Find the latest /opt/rocm-{release} directory. +- std::error_code EC; +- std::string LatestROCm; +- llvm::VersionTuple LatestVer; +- // Get ROCm version from ROCm directory name. +- auto GetROCmVersion = [](StringRef DirName) { +- llvm::VersionTuple V; +- std::string VerStr = DirName.drop_front(strlen("rocm-")).str(); +- // The ROCm directory name follows the format of +- // rocm-{major}.{minor}.{subMinor}[-{build}] +- std::replace(VerStr.begin(), VerStr.end(), '-', '.'); +- V.tryParse(VerStr); +- return V; +- }; +- for (llvm::vfs::directory_iterator +- File = D.getVFS().dir_begin(D.SysRoot + "/opt", EC), +- FileEnd; +- File != FileEnd && !EC; File.increment(EC)) { +- llvm::StringRef FileName = llvm::sys::path::filename(File->path()); +- if (!FileName.startswith("rocm-")) +- continue; +- if (LatestROCm.empty()) { +- LatestROCm = FileName.str(); +- LatestVer = GetROCmVersion(LatestROCm); +- continue; +- } +- auto Ver = GetROCmVersion(FileName); +- if (LatestVer < Ver) { +- LatestROCm = FileName.str(); +- LatestVer = Ver; +- } +- } +- if (!LatestROCm.empty()) +- ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/" + LatestROCm, +- /*StrictChecking=*/true); +- +- DoPrintROCmSearchDirs(); ++ ROCmSearchDirs.emplace_back(D.SysRoot + "/usr", /*StrictChecking=*/true); + return ROCmSearchDirs; + } + +@@ -424,42 +298,7 @@ + } + + void RocmInstallationDetector::detectHIPRuntime() { +- SmallVector HIPSearchDirs; +- if (!HIPPathArg.empty()) +- HIPSearchDirs.emplace_back(HIPPathArg.str(), /*StrictChecking=*/true); +- else +- HIPSearchDirs.append(getInstallationPathCandidates()); +- auto &FS = D.getVFS(); +- +- for (const auto &Candidate : HIPSearchDirs) { +- InstallPath = Candidate.Path; +- if (InstallPath.empty() || !FS.exists(InstallPath)) +- continue; +- // HIP runtime built by SPACK is installed to +- // /hip-- directory. +- auto SPACKPath = findSPACKPackage(Candidate, "hip"); +- InstallPath = SPACKPath.empty() ? InstallPath : SPACKPath; +- +- BinPath = InstallPath; +- llvm::sys::path::append(BinPath, "bin"); +- IncludePath = InstallPath; +- llvm::sys::path::append(IncludePath, "include"); +- LibPath = InstallPath; +- llvm::sys::path::append(LibPath, "lib"); +- +- llvm::ErrorOr> VersionFile = +- FS.getBufferForFile(BinPath + "/.hipVersion"); +- if (!VersionFile && Candidate.StrictChecking) +- continue; +- +- if (HIPVersionArg.empty() && VersionFile) +- if (parseHIPVersionFile((*VersionFile)->getBuffer())) +- continue; +- +- HasHIPRuntime = true; +- return; +- } +- HasHIPRuntime = false; ++ HasHIPRuntime = true; + } + + void RocmInstallationDetector::print(raw_ostream &OS) const { diff --git a/sys-devel/llvm-roc/llvm-roc-4.5.2.ebuild b/sys-devel/llvm-roc/llvm-roc-4.5.2.ebuild new file mode 100644 index 000000000000..59ebbeed8b5b --- /dev/null +++ b/sys-devel/llvm-roc/llvm-roc-4.5.2.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Radeon Open Compute llvm,lld,clang" +HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/" +SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz" + +LICENSE="UoI-NCSA rc BSD public-domain" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug +runtime" + +RDEPEND=" + dev-libs/libxml2 + sys-libs/zlib + sys-libs/ncurses:=" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/llvm-project-rocm-${PV}/llvm" + +PATCHES=( + "${FILESDIR}/${PN}-4.2.0-current_pos.patch" + "${FILESDIR}/${PN}-4.2.0-add_Object.patch" +) + +CMAKE_BUILD_TYPE=Release + +src_prepare() { + cd "${WORKDIR}/llvm-project-rocm-${PV}" || die + eapply "${FILESDIR}/${PN}-4.5.2-add_libraries.patch" + eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch" + eapply "${FILESDIR}/${PN}-4.5.2-hip-location.patch" + eapply "${FILESDIR}/${PN}-4.2.0-cyclades.patch" + + if [[ -n ${EPREFIX} ]]; then + pushd "${S}"/../clang >/dev/null || die + sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt || die + eend $? + ebegin "Use "${EPREFIX}" as default sysroot" + cd lib/Driver/ToolChains >/dev/null || die + ebegin "Use dynamic linker from ${EPREFIX}" + sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp || die + eend $? + + ebegin "Remove --sysroot call on ld for native toolchain" + sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp || die + eend $? + popd >/dev/null || die + fi + + # handled by sysroot, don't prefixify here. + sed -e 's:/opt/rocm:/usr/lib/hip:' \ + -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp || die + + eapply_user + cmake_src_prepare +} + +src_configure() { + PROJECTS="clang;lld;llvm" + + if usex runtime; then + PROJECTS+=";compiler-rt" + fi + + local mycmakeargs=( + -Wno-dev + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc" + -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON + -DLLVM_ENABLE_PROJECTS="${PROJECTS}" + -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" + -DLLVM_BUILD_DOCS=NO + -DLLVM_ENABLE_BINDINGS=OFF + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=NO + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_BUILD_UTILS=ON + -DLLVM_VERSION_SUFFIX=roc + -DOCAMLFIND=NO + ) + + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + cmake_src_configure +} + +src_install() { + cmake_src_install + cat > "99${PN}" <<-EOF + LDPATH="${EROOT}/usr/lib/llvm/roc/lib" + EOF + doenvd "99${PN}" +} diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest index b6c545dfecc0..20ce949b63ef 100644 --- a/sys-devel/llvm/Manifest +++ b/sys-devel/llvm/Manifest @@ -1,19 +1,22 @@ DIST llvm-11.1.0-manpages.tar.bz2 191571 BLAKE2B d6f8e1390dd3e6e8bbcd66c0079ef89f2ff3479743499c36ab32f8bc8281631a96113df9a87f6284058365950f4df3c75dacfcc11920fc5ea7ef0233ba842b77 SHA512 2543e519f51cc7ecb51a732c658ec5d35c5225e30a677f24ead75e81fb1ab793a030e79f21d0b702a2cf6ab6da1a2cba839b49a98e1b0a36384e98076ed5c4b1 DIST llvm-12.0.1-manpages.tar.bz2 191582 BLAKE2B a049cd305c257875d47e92d703c51aee8225854f999eddbd530c7a978704a981b05bc0819ba31a2f2a218d3569b078f0deb01b0eeb385966253b54a0fdc090d1 SHA512 9931a57f843709aed59193524fe980af695e4e23c8f53ec3cff308677ba4fc520ca58032b50b68440c7762305855317d9a705fe5ccbb543fb104f4deb5d10ea5 DIST llvm-13.0.0-manpages.tar.bz2 202595 BLAKE2B 1a3a389e8c544675f7ba2692f92bb82a83beabd6c595211806ef7f473e1741ea633a773edf623011d3d011ef2ee7a1611fc9620fe921eeebe1b99c3b8b3a0652 SHA512 344139f3123169776e0fd603e605bbf537d15d80ff56ad60e66ed1639a9dec53a8ac5cd088c8e14c8b7a799b563268445562293ba1d4efeb8db438cbd9cb5fb0 +DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 -DIST llvm-gentoo-patchset-13.0.1-rc3.tar.xz 4808 BLAKE2B d8ed3ae424914437413e2e8c029880072e93d79ca79b842ad59451df46594c9b0d73ee5d49d3b65c4c7a40c86b2e0d43501ef106aea7c481f22425a5245a3411 SHA512 10430a720b120a340a681fa435a7f050741c75270607e3f5214bf829313d274c11f019f1ac072857dc5d7f868e6eb013932d1c94446e8cb2e151ac818a081914 -DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc +DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2 -DIST llvmorg-13.0.1-rc3.tar.gz 147302323 BLAKE2B 9ac2f97568062d7dd618295a68d6e14898fcd69e2bb66290b999ceb8c12132371f4e9b59d8ba2b252e5e5cb249045676b24fc50c117b2afae20abab98f426582 SHA512 88a04ad02af2d41ec21c7a62bad21ee0e627b7276a16795875afd062ed29ac7fb4aadec5b5e48785a6502c9fd797a4b67d648a21f193c9f7602112870b10a3d1 +DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f +DIST llvmorg-14.0.0-rc4.tar.gz 158082013 BLAKE2B 0e717898d8f1ed160e525a68aba56a84b7d31856ea72fdb8fa02e863c5a2074245a38d4a4aa7d178beab1ea64aa92d0ba9dcad4373ebb03868070bf718112107 SHA512 a942848aa5042b97bab6d0d5bcee11ea2f85f1244d7eaadb8f7000bf104b2160e6034c04e3755501dd178bc99c26669cf4aca40edb4bba598fdde6bcf3f40ddc EBUILD llvm-11.1.0.ebuild 12490 BLAKE2B 17ec5620c4b1d155deb6a2b14dc49c6a439dc595b457b73d2e3f112fc913d6b7eb475b34284bd61a1bc7f8771069e54dff2a4888b762a43b3b62acd9c7b5abbe SHA512 f918a32bb9417186d127910d12766613554eff3127f50f4b4d7824ecb4b87ae9139fe8a30bf4a3779168dd10565869ee674c943b32c7b49762848ae3d2cf26f1 EBUILD llvm-12.0.1.ebuild 12606 BLAKE2B 58c112a32620c890d2c7d88d8d6d8fcac961adad27033d23bb78b3b2e68497fddb9c0be1400c318ccc95a0d54a4aedaee1130fa45a389a98b2c00d29cfe60905 SHA512 283685e0186ccf6bcf40ce96165fe6ff52fdeed156da4d87f760c9c4ed5dffdee143a72363e133941898b2ebe5ef78359051b7af4bf138620cb207a19beae9b2 EBUILD llvm-13.0.0.ebuild 12172 BLAKE2B 45cd85048de3487a9d9274031fdffd33956df69b1050563017f0a183ea76a44c1f62f588d715496ff121e07412ef8d4c7a723830494f59fff12700120793deb1 SHA512 3c180cdd684326a8dcf4ce2c1f3ce8dede7f31e534d2526ba7da539b42626057ab06acd2597735f91ee569bcada637e3ecbd868d53fcc18f19356f93d074ea54 -EBUILD llvm-13.0.1.9999.ebuild 12149 BLAKE2B 7cc44ed170ebcfb1fdda7be1380c80b7c59888e24ebe860beb935fba820c4473b49461f19545a123b3e7c598cca7c0541620bce754930c2733b833bb50a3b7c7 SHA512 c8637e532ba07e00afe72df782c8a41289d352cbd904e05a6503a56199ac4d51d913c172958e008654356da800767df55aeaeac0ff06e9bfeda350cd3bc29a84 -EBUILD llvm-13.0.1_rc3.ebuild 12152 BLAKE2B ef0e60da0b7875e2347cb7e12f6f0fe221ec03fc3af9b1e2d91a06220fda1136315150db3e61c95286544f510ee02cd09e6f4602afad081dedc4ee4794951376 SHA512 4df2950d660acf15eb63e9680903f4c81175f1a7910fa89c73260a5e95b235c8b74cd4eb2d4ad2c695c1fc2290241c7833ab12443c65fa8710318149659da3cd -EBUILD llvm-14.0.0.9999.ebuild 12161 BLAKE2B a5a54339b16268303910d999adbebfc7360fdb8867670d0239486496df9d21d1686e7a154902709315bb677d1400d2271e338bbcf8da6e91fb9d5f2b751a84b8 SHA512 d94ccb772593db7f926dff66249d7d4bc6a8dfadf3a378c96e897f66dc12d1f40551a2a4889b40c277193949801abb6be506c9acae57c527fb050d17b61cf414 +EBUILD llvm-13.0.1.ebuild 12240 BLAKE2B 084a4c9f5c4223c323ef4cb9d824e6d066ec2500b757bbcdec6d1bd4b3f511ad966aa99885c0689ffe863949b71e8548e228504376a4d9bd770821724ad34b63 SHA512 6b50d0b0cb3efe664d00612d5ace6c564c78bb004c50a563a7d4503e917739d70681e01b21d210917186b8bbc629290fd39c6d699b405398a0fcf80b518bccc7 +EBUILD llvm-14.0.0.9999.ebuild 12360 BLAKE2B ef0d38029937a8e12aa1367fb0189f4624f93c401b1c6c43919fb41cf87503289ccbcc8a0e10bb4679df936e1dbc8ea7340443db932d258f08b73cfa80f35dad SHA512 c78112922664dbf8dec3ce46f80566f68b9de12f416a384f63a4b785495db54ca10dcc15a14dc5bd4f47d3c8ecdd625b334583de563f61ed3e0b4906c735e56a +EBUILD llvm-14.0.0_rc4.ebuild 12360 BLAKE2B ef0d38029937a8e12aa1367fb0189f4624f93c401b1c6c43919fb41cf87503289ccbcc8a0e10bb4679df936e1dbc8ea7340443db932d258f08b73cfa80f35dad SHA512 c78112922664dbf8dec3ce46f80566f68b9de12f416a384f63a4b785495db54ca10dcc15a14dc5bd4f47d3c8ecdd625b334583de563f61ed3e0b4906c735e56a +EBUILD llvm-15.0.0.9999.ebuild 12385 BLAKE2B eeab657c8eb06b213880685d46d9fafe0fc1866c7f33ac332968f3fb905e9bbd958e1684c94f91653fa64444a139b316ae807326463c805e3c7002ed0f380ccc SHA512 59d26198f3e146ab0917ecd7cad1e687aa8ced229f94e3db50445b5356e5b972ec0a2515b52954438d70838c50f66f946305992207956a9c4268c476464dace1 MISC metadata.xml 2625 BLAKE2B 1017e4672b3ccd5a4f83d9df6a9db3661f548da9d75ad2c5b63e9843bfd737ff1fb64624678704f632544ac403efd8dbb35a006542023153733a6d4037b7245d SHA512 130444ec537891dc43754057c5a68666f52cb2959f351ee5be076ed41e39d49d8fafa2d0dca78d1a751b3a3190db81910b4472e75f9bad571ae42da51a5b25dd diff --git a/sys-devel/llvm/llvm-13.0.1.9999.ebuild b/sys-devel/llvm/llvm-13.0.1.9999.ebuild deleted file mode 100644 index 789047901490..000000000000 --- a/sys-devel/llvm/llvm-13.0.1.9999.ebuild +++ /dev/null @@ -1,510 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ - toolchain-funcs - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="https://llvm.org/" - -# Additional licenses: -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. -# 2. xxhash: BSD. -# 3. MD5 code: public-domain. -# 4. ConvertUTF.h: TODO. - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" -SLOT="$(ver_cut 1)" -KEYWORDS="" -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:0=[${MULTILIB_USEDEP}] - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) - exegesis? ( dev-libs/libpfm:= ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - xar? ( app-arch/xar ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - binutils-plugin? ( sys-libs/binutils-libs )" -BDEPEND=" - dev-lang/perl - >=dev-util/cmake-3.16 - sys-devel/gnuconfig - kernel_Darwin? ( - =sys-devel/binutils-apple-5.1 - ) - doc? ( $(python_gen_any_dep ' - dev-python/recommonmark[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - ') ) - libffi? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" -# There are no file collisions between these versions but having :0 -# installed means llvm-config there will take precedence. -RDEPEND="${RDEPEND} - !sys-devel/llvm:0" -PDEPEND="sys-devel/llvm-common - binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" - -LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=build -LLVM_PATCHSET=9999-1 -LLVM_USE_TARGETS=provide -llvm.org_set_globals - -python_check_deps() { - use doc || return 0 - - has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && - has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" -} - -check_live_ebuild() { - local prod_targets=( - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ - | tail -n +2 | head -n -1) - ) - local all_targets=( - lib/Target/*/ - ) - all_targets=( "${all_targets[@]#lib/Target/}" ) - all_targets=( "${all_targets[@]%/}" ) - - local exp_targets=() i - for i in "${all_targets[@]}"; do - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) - done - - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" - eqawarn "Expected: ${exp_targets[*]}" - eqawarn - fi - - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" - eqawarn "Expected: ${prod_targets[*]}" - fi -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # shared libs - LLVM|LLVMgold) - ;; - # TableGen lib + deps - LLVMDemangle|LLVMSupport|LLVMTableGen) - ;; - # static libs - LLVM*) - continue - ;; - # meta-targets - distribution|llvm-libraries) - continue - ;; - # used only w/ USE=doc - docs-llvm-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(ninja -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -src_prepare() { - # disable use of SDK on OSX, bug #568758 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die - - # Update config.guess to support more systems - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die - - # Verify that the live ebuild is up-to-date - check_live_ebuild - - llvm.org_src_prepare -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - - [[ ${out} == *HAVE_LIBCXX* ]] -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # shared libs - LLVM - LTO - Remarks - - # tools - llvm-config - - # common stuff - cmake-exports - llvm-headers - - # libraries needed for clang-tblgen - LLVMDemangle - LLVMSupport - LLVMTableGen - ) - - if multilib_is_native_abi; then - out+=( - # utilities - llvm-tblgen - FileCheck - llvm-PerfectShuffle - count - not - yaml-bench - - # tools - bugpoint - dsymutil - llc - lli - lli-child-target - llvm-addr2line - llvm-ar - llvm-as - llvm-bcanalyzer - llvm-bitcode-strip - llvm-c-test - llvm-cat - llvm-cfi-verify - llvm-config - llvm-cov - llvm-cvtres - llvm-cxxdump - llvm-cxxfilt - llvm-cxxmap - llvm-diff - llvm-dis - llvm-dlltool - llvm-dwarfdump - llvm-dwp - llvm-exegesis - llvm-extract - llvm-gsymutil - llvm-ifs - llvm-install-name-tool - llvm-jitlink - llvm-jitlink-executor - llvm-lib - llvm-libtool-darwin - llvm-link - llvm-lipo - llvm-lto - llvm-lto2 - llvm-mc - llvm-mca - llvm-ml - llvm-modextract - llvm-mt - llvm-nm - llvm-objcopy - llvm-objdump - llvm-opt-report - llvm-otool - llvm-pdbutil - llvm-profdata - llvm-profgen - llvm-ranlib - llvm-rc - llvm-readelf - llvm-readobj - llvm-reduce - llvm-rtdyld - llvm-sim - llvm-size - llvm-split - llvm-stress - llvm-strings - llvm-strip - llvm-symbolizer - llvm-tapi-diff - llvm-undname - llvm-windres - llvm-xray - obj2yaml - opt - sancov - sanstats - split-file - verify-uselistorder - yaml2obj - - # python modules - opt-viewer - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-dsymutil-man - docs-llvm-dwarfdump-man - docs-llvm-man - ) - fi - use doc && out+=( - docs-llvm-html - ) - - use binutils-plugin && out+=( - LLVMgold - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local ffi_cflags ffi_ldflags - if use libffi; then - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - # disable appending VCS revision to the version to improve - # direct cache hit ratio - -DLLVM_APPEND_VC_REV=OFF - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - - -DBUILD_SHARED_LIBS=OFF - -DLLVM_BUILD_LLVM_DYLIB=ON - -DLLVM_LINK_LLVM_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - # cheap hack: LLVM combines both anyway, and the only difference - # is that the former list is explicitly verified at cmake time - -DLLVM_TARGETS_TO_BUILD="" - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" - -DLLVM_BUILD_TESTS=$(usex test) - - -DLLVM_ENABLE_FFI=$(usex libffi) - -DLLVM_ENABLE_LIBEDIT=$(usex libedit) - -DLLVM_ENABLE_TERMINFO=$(usex ncurses) - -DLLVM_ENABLE_LIBXML2=$(usex xml) - -DLLVM_ENABLE_ASSERTIONS=$(usex debug) - -DLLVM_ENABLE_LIBPFM=$(usex exegesis) - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) - - -DLLVM_HOST_TRIPLE="${CHOST}" - - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - # used only for llvm-objdump tool - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) - - -DPython3_EXECUTABLE="${PYTHON}" - - # disable OCaml bindings (now in dev-ml/llvm-ocaml) - -DOCAMLFIND=NO - ) - - if is_libcxx_linked; then - # Smart hack: alter version suffix -> SOVERSION when linking - # against libc++. This way we won't end up mixing LLVM libc++ - # libraries with libstdc++ clang, and the other way around. - mycmakeargs+=( - -DLLVM_VERSION_SUFFIX="libcxx" - -DLLVM_ENABLE_LIBCXX=ON - ) - fi - -# Note: go bindings have no CMake rules at the moment -# but let's kill the check in case they are introduced -# if ! multilib_is_native_abi || ! use go; then - mycmakeargs+=( - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND - ) -# fi - - use test && mycmakeargs+=( - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) - fi - - mycmakeargs+=( - -DLLVM_BUILD_DOCS=${build_docs} - -DLLVM_ENABLE_OCAMLDOC=OFF - -DLLVM_ENABLE_SPHINX=${build_docs} - -DLLVM_ENABLE_DOXYGEN=OFF - -DLLVM_INSTALL_UTILS=ON - ) - use binutils-plugin && mycmakeargs+=( - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include - ) - fi - - if tc-is-cross-compiler; then - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" - [[ -x "${tblgen}" ]] \ - || die "${tblgen} not found or usable" - mycmakeargs+=( - -DCMAKE_CROSSCOMPILING=ON - -DLLVM_TABLEGEN="${tblgen}" - ) - fi - - # workaround BMI bug in gcc-7 (fixed in 7.4) - # https://bugs.gentoo.org/649880 - # apply only to x86, https://bugs.gentoo.org/650506 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] - then - local CFLAGS="${CFLAGS} -mno-bmi" - local CXXFLAGS="${CXXFLAGS} -mno-bmi" - fi - - # LLVM can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld - pax-mark m "${BUILD_DIR}"/bin/lli - pax-mark m "${BUILD_DIR}"/bin/lli-child-target - - if use test; then - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - cmake_build check -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/lib/llvm/${SLOT}/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/llvm-config.h - ) - - local LLVM_LDPATHS=() - multilib-minimal_src_install - - # move wrapped headers back - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # move headers to /usr/include for wrapping - rm -rf "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die - - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) -} - -multilib_src_install_all() { - local revord=$(( 9999 - ${SLOT} )) - newenvd - "60llvm-${revord}" <<-_EOF_ - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" - # we need to duplicate it in ROOTPATH for Portage to respect... - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" - _EOF_ - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages -} - -pkg_postinst() { - elog "You can find additional opt-viewer utility scripts in:" - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" - elog "To use these scripts, you will need Python along with the following" - elog "packages:" - elog " dev-python/pygments (for opt-viewer)" - elog " dev-python/pyyaml (for all of them)" -} diff --git a/sys-devel/llvm/llvm-13.0.1.ebuild b/sys-devel/llvm/llvm-13.0.1.ebuild new file mode 100644 index 000000000000..8fa41ea276d7 --- /dev/null +++ b/sys-devel/llvm/llvm-13.0.1.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ + toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. xxhash: BSD. +# 3. MD5 code: public-domain. +# 4. ConvertUTF.h: TODO. + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="$(ver_cut 1)" +KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:0=[${MULTILIB_USEDEP}] + binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) + exegesis? ( dev-libs/libpfm:= ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) + xar? ( app-arch/xar ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs )" +BDEPEND=" + dev-lang/perl + >=dev-util/cmake-3.16 + sys-devel/gnuconfig + kernel_Darwin? ( + =sys-devel/binutils-apple-5.1 + ) + doc? ( $(python_gen_any_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) + libffi? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND="${RDEPEND} + !sys-devel/llvm:0" +PDEPEND="sys-devel/llvm-common + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" + +LLVM_COMPONENTS=( llvm ) +LLVM_MANPAGES=pregenerated +LLVM_PATCHSET=${PV/_/-} +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +python_check_deps() { + use doc || return 0 + + has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_live_ebuild() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eqawarn "Expected: ${exp_targets[*]}" + eqawarn + fi + + if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" + eqawarn "Expected: ${prod_targets[*]}" + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +src_prepare() { + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # Update config.guess to support more systems + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die + + # Verify that the live ebuild is up-to-date + check_live_ebuild + + llvm.org_src_prepare +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + + [[ ${out} == *HAVE_LIBCXX* ]] +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # shared libs + LLVM + LTO + Remarks + + # tools + llvm-config + + # common stuff + cmake-exports + llvm-headers + + # libraries needed for clang-tblgen + LLVMDemangle + LLVMSupport + LLVMTableGen + ) + + if multilib_is_native_abi; then + out+=( + # utilities + llvm-tblgen + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + + # tools + bugpoint + dsymutil + llc + lli + lli-child-target + llvm-addr2line + llvm-ar + llvm-as + llvm-bcanalyzer + llvm-bitcode-strip + llvm-c-test + llvm-cat + llvm-cfi-verify + llvm-config + llvm-cov + llvm-cvtres + llvm-cxxdump + llvm-cxxfilt + llvm-cxxmap + llvm-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + llvm-dwp + llvm-exegesis + llvm-extract + llvm-gsymutil + llvm-ifs + llvm-install-name-tool + llvm-jitlink + llvm-jitlink-executor + llvm-lib + llvm-libtool-darwin + llvm-link + llvm-lipo + llvm-lto + llvm-lto2 + llvm-mc + llvm-mca + llvm-ml + llvm-modextract + llvm-mt + llvm-nm + llvm-objcopy + llvm-objdump + llvm-opt-report + llvm-otool + llvm-pdbutil + llvm-profdata + llvm-profgen + llvm-ranlib + llvm-rc + llvm-readelf + llvm-readobj + llvm-reduce + llvm-rtdyld + llvm-sim + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tapi-diff + llvm-undname + llvm-windres + llvm-xray + obj2yaml + opt + sancov + sanstats + split-file + verify-uselistorder + yaml2obj + + # python modules + opt-viewer + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi + use doc && out+=( + docs-llvm-html + ) + + use binutils-plugin && out+=( + LLVMgold + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_LIBPFM=$(usex exegesis) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + # used only for llvm-objdump tool + -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + + -DPython3_EXECUTABLE="${PYTHON}" + + # disable OCaml bindings (now in dev-ml/llvm-ocaml) + -DOCAMLFIND=NO + ) + + if is_libcxx_linked; then + # Smart hack: alter version suffix -> SOVERSION when linking + # against libc++. This way we won't end up mixing LLVM libc++ + # libraries with libstdc++ clang, and the other way around. + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="libcxx" + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + +# Note: go bindings have no CMake rules at the moment +# but let's kill the check in case they are introduced +# if ! multilib_is_native_abi || ! use go; then + mycmakeargs+=( + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND + ) +# fi + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + + mycmakeargs+=( + -DLLVM_BUILD_DOCS=${build_docs} + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=${build_docs} + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use binutils-plugin && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + if tc-is-cross-compiler; then + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" + [[ -x "${tblgen}" ]] \ + || die "${tblgen} not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN="${tblgen}" + ) + fi + + # workaround BMI bug in gcc-7 (fixed in 7.4) + # https://bugs.gentoo.org/649880 + # apply only to x86, https://bugs.gentoo.org/650506 + if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && + [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] + then + local CFLAGS="${CFLAGS} -mno-bmi" + local CXXFLAGS="${CXXFLAGS} -mno-bmi" + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${SLOT}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${SLOT} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" + elog "To use these scripts, you will need Python along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} diff --git a/sys-devel/llvm/llvm-13.0.1_rc3.ebuild b/sys-devel/llvm/llvm-13.0.1_rc3.ebuild deleted file mode 100644 index f5d3be283708..000000000000 --- a/sys-devel/llvm/llvm-13.0.1_rc3.ebuild +++ /dev/null @@ -1,510 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ - toolchain-funcs - -DESCRIPTION="Low Level Virtual Machine" -HOMEPAGE="https://llvm.org/" - -# Additional licenses: -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. -# 2. xxhash: BSD. -# 3. MD5 code: public-domain. -# 4. ConvertUTF.h: TODO. - -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" -SLOT="$(ver_cut 1)" -KEYWORDS="" -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" -RESTRICT="!test? ( test )" - -RDEPEND=" - sys-libs/zlib:0=[${MULTILIB_USEDEP}] - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) - exegesis? ( dev-libs/libpfm:= ) - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) - xar? ( app-arch/xar ) - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - binutils-plugin? ( sys-libs/binutils-libs )" -BDEPEND=" - dev-lang/perl - >=dev-util/cmake-3.16 - sys-devel/gnuconfig - kernel_Darwin? ( - =sys-devel/binutils-apple-5.1 - ) - doc? ( $(python_gen_any_dep ' - dev-python/recommonmark[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - ') ) - libffi? ( virtual/pkgconfig ) - ${PYTHON_DEPS}" -# There are no file collisions between these versions but having :0 -# installed means llvm-config there will take precedence. -RDEPEND="${RDEPEND} - !sys-devel/llvm:0" -PDEPEND="sys-devel/llvm-common - binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" - -LLVM_COMPONENTS=( llvm ) -LLVM_MANPAGES=build -LLVM_PATCHSET=${PV/_/-} -LLVM_USE_TARGETS=provide -llvm.org_set_globals - -python_check_deps() { - use doc || return 0 - - has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && - has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" -} - -check_live_ebuild() { - local prod_targets=( - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ - | tail -n +2 | head -n -1) - ) - local all_targets=( - lib/Target/*/ - ) - all_targets=( "${all_targets[@]#lib/Target/}" ) - all_targets=( "${all_targets[@]%/}" ) - - local exp_targets=() i - for i in "${all_targets[@]}"; do - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) - done - - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" - eqawarn "Expected: ${exp_targets[*]}" - eqawarn - fi - - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" - eqawarn "Expected: ${prod_targets[*]}" - fi -} - -check_distribution_components() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then - local all_targets=() my_targets=() l - cd "${BUILD_DIR}" || die - - while read -r l; do - if [[ ${l} == install-*-stripped:* ]]; then - l=${l#install-} - l=${l%%-stripped*} - - case ${l} in - # shared libs - LLVM|LLVMgold) - ;; - # TableGen lib + deps - LLVMDemangle|LLVMSupport|LLVMTableGen) - ;; - # static libs - LLVM*) - continue - ;; - # meta-targets - distribution|llvm-libraries) - continue - ;; - # used only w/ USE=doc - docs-llvm-html) - use doc || continue - ;; - esac - - all_targets+=( "${l}" ) - fi - done < <(ninja -t targets all) - - while read -r l; do - my_targets+=( "${l}" ) - done < <(get_distribution_components $"\n") - - local add=() remove=() - for l in "${all_targets[@]}"; do - if ! has "${l}" "${my_targets[@]}"; then - add+=( "${l}" ) - fi - done - for l in "${my_targets[@]}"; do - if ! has "${l}" "${all_targets[@]}"; then - remove+=( "${l}" ) - fi - done - - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then - eqawarn "get_distribution_components() is outdated!" - eqawarn " Add: ${add[*]}" - eqawarn "Remove: ${remove[*]}" - fi - cd - >/dev/null || die - fi -} - -src_prepare() { - # disable use of SDK on OSX, bug #568758 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die - - # Update config.guess to support more systems - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die - - # Verify that the live ebuild is up-to-date - check_live_ebuild - - llvm.org_src_prepare -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - - [[ ${out} == *HAVE_LIBCXX* ]] -} - -get_distribution_components() { - local sep=${1-;} - - local out=( - # shared libs - LLVM - LTO - Remarks - - # tools - llvm-config - - # common stuff - cmake-exports - llvm-headers - - # libraries needed for clang-tblgen - LLVMDemangle - LLVMSupport - LLVMTableGen - ) - - if multilib_is_native_abi; then - out+=( - # utilities - llvm-tblgen - FileCheck - llvm-PerfectShuffle - count - not - yaml-bench - - # tools - bugpoint - dsymutil - llc - lli - lli-child-target - llvm-addr2line - llvm-ar - llvm-as - llvm-bcanalyzer - llvm-bitcode-strip - llvm-c-test - llvm-cat - llvm-cfi-verify - llvm-config - llvm-cov - llvm-cvtres - llvm-cxxdump - llvm-cxxfilt - llvm-cxxmap - llvm-diff - llvm-dis - llvm-dlltool - llvm-dwarfdump - llvm-dwp - llvm-exegesis - llvm-extract - llvm-gsymutil - llvm-ifs - llvm-install-name-tool - llvm-jitlink - llvm-jitlink-executor - llvm-lib - llvm-libtool-darwin - llvm-link - llvm-lipo - llvm-lto - llvm-lto2 - llvm-mc - llvm-mca - llvm-ml - llvm-modextract - llvm-mt - llvm-nm - llvm-objcopy - llvm-objdump - llvm-opt-report - llvm-otool - llvm-pdbutil - llvm-profdata - llvm-profgen - llvm-ranlib - llvm-rc - llvm-readelf - llvm-readobj - llvm-reduce - llvm-rtdyld - llvm-sim - llvm-size - llvm-split - llvm-stress - llvm-strings - llvm-strip - llvm-symbolizer - llvm-tapi-diff - llvm-undname - llvm-windres - llvm-xray - obj2yaml - opt - sancov - sanstats - split-file - verify-uselistorder - yaml2obj - - # python modules - opt-viewer - ) - - if llvm_are_manpages_built; then - out+=( - # manpages - docs-dsymutil-man - docs-llvm-dwarfdump-man - docs-llvm-man - ) - fi - use doc && out+=( - docs-llvm-html - ) - - use binutils-plugin && out+=( - LLVMgold - ) - fi - - printf "%s${sep}" "${out[@]}" -} - -multilib_src_configure() { - local ffi_cflags ffi_ldflags - if use libffi; then - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) - fi - - local libdir=$(get_libdir) - local mycmakeargs=( - # disable appending VCS revision to the version to improve - # direct cache hit ratio - -DLLVM_APPEND_VC_REV=OFF - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" - -DLLVM_LIBDIR_SUFFIX=${libdir#lib} - - -DBUILD_SHARED_LIBS=OFF - -DLLVM_BUILD_LLVM_DYLIB=ON - -DLLVM_LINK_LLVM_DYLIB=ON - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) - - # cheap hack: LLVM combines both anyway, and the only difference - # is that the former list is explicitly verified at cmake time - -DLLVM_TARGETS_TO_BUILD="" - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" - -DLLVM_BUILD_TESTS=$(usex test) - - -DLLVM_ENABLE_FFI=$(usex libffi) - -DLLVM_ENABLE_LIBEDIT=$(usex libedit) - -DLLVM_ENABLE_TERMINFO=$(usex ncurses) - -DLLVM_ENABLE_LIBXML2=$(usex xml) - -DLLVM_ENABLE_ASSERTIONS=$(usex debug) - -DLLVM_ENABLE_LIBPFM=$(usex exegesis) - -DLLVM_ENABLE_EH=ON - -DLLVM_ENABLE_RTTI=ON - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) - - -DLLVM_HOST_TRIPLE="${CHOST}" - - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" - # used only for llvm-objdump tool - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) - - -DPython3_EXECUTABLE="${PYTHON}" - - # disable OCaml bindings (now in dev-ml/llvm-ocaml) - -DOCAMLFIND=NO - ) - - if is_libcxx_linked; then - # Smart hack: alter version suffix -> SOVERSION when linking - # against libc++. This way we won't end up mixing LLVM libc++ - # libraries with libstdc++ clang, and the other way around. - mycmakeargs+=( - -DLLVM_VERSION_SUFFIX="libcxx" - -DLLVM_ENABLE_LIBCXX=ON - ) - fi - -# Note: go bindings have no CMake rules at the moment -# but let's kill the check in case they are introduced -# if ! multilib_is_native_abi || ! use go; then - mycmakeargs+=( - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND - ) -# fi - - use test && mycmakeargs+=( - -DLLVM_LIT_ARGS="$(get_lit_flags)" - ) - - if multilib_is_native_abi; then - local build_docs=OFF - if llvm_are_manpages_built; then - build_docs=ON - mycmakeargs+=( - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DSPHINX_WARNINGS_AS_ERRORS=OFF - ) - fi - - mycmakeargs+=( - -DLLVM_BUILD_DOCS=${build_docs} - -DLLVM_ENABLE_OCAMLDOC=OFF - -DLLVM_ENABLE_SPHINX=${build_docs} - -DLLVM_ENABLE_DOXYGEN=OFF - -DLLVM_INSTALL_UTILS=ON - ) - use binutils-plugin && mycmakeargs+=( - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include - ) - fi - - if tc-is-cross-compiler; then - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" - [[ -x "${tblgen}" ]] \ - || die "${tblgen} not found or usable" - mycmakeargs+=( - -DCMAKE_CROSSCOMPILING=ON - -DLLVM_TABLEGEN="${tblgen}" - ) - fi - - # workaround BMI bug in gcc-7 (fixed in 7.4) - # https://bugs.gentoo.org/649880 - # apply only to x86, https://bugs.gentoo.org/650506 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] - then - local CFLAGS="${CFLAGS} -mno-bmi" - local CXXFLAGS="${CXXFLAGS} -mno-bmi" - fi - - # LLVM can have very high memory consumption while linking, - # exhausting the limit on 32-bit linker executable - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" - - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake_src_configure - - multilib_is_native_abi && check_distribution_components -} - -multilib_src_compile() { - cmake_build distribution - - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld - pax-mark m "${BUILD_DIR}"/bin/lli - pax-mark m "${BUILD_DIR}"/bin/lli-child-target - - if use test; then - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests - fi -} - -multilib_src_test() { - # respect TMPDIR! - local -x LIT_PRESERVES_TMP=1 - cmake_build check -} - -src_install() { - local MULTILIB_CHOST_TOOLS=( - /usr/lib/llvm/${SLOT}/bin/llvm-config - ) - - local MULTILIB_WRAPPED_HEADERS=( - /usr/include/llvm/Config/llvm-config.h - ) - - local LLVM_LDPATHS=() - multilib-minimal_src_install - - # move wrapped headers back - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die -} - -multilib_src_install() { - DESTDIR=${D} cmake_build install-distribution - - # move headers to /usr/include for wrapping - rm -rf "${ED}"/usr/include || die - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die - - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) -} - -multilib_src_install_all() { - local revord=$(( 9999 - ${SLOT} )) - newenvd - "60llvm-${revord}" <<-_EOF_ - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" - # we need to duplicate it in ROOTPATH for Portage to respect... - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" - _EOF_ - - docompress "/usr/lib/llvm/${SLOT}/share/man" - llvm_install_manpages -} - -pkg_postinst() { - elog "You can find additional opt-viewer utility scripts in:" - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" - elog "To use these scripts, you will need Python along with the following" - elog "packages:" - elog " dev-python/pygments (for opt-viewer)" - elog " dev-python/pyyaml (for all of them)" -} diff --git a/sys-devel/llvm/llvm-14.0.0.9999.ebuild b/sys-devel/llvm/llvm-14.0.0.9999.ebuild index f89b54bbb6c4..71fdfeea8b60 100644 --- a/sys-devel/llvm/llvm-14.0.0.9999.ebuild +++ b/sys-devel/llvm/llvm-14.0.0.9999.ebuild @@ -55,9 +55,9 @@ RDEPEND="${RDEPEND} PDEPEND="sys-devel/llvm-common binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" -LLVM_COMPONENTS=( llvm third-party ) +LLVM_COMPONENTS=( llvm cmake third-party ) LLVM_MANPAGES=build -LLVM_PATCHSET=9999-1 +LLVM_PATCHSET=9999-r3 LLVM_USE_TARGETS=provide llvm.org_set_globals @@ -235,6 +235,7 @@ get_distribution_components() { llvm-cxxdump llvm-cxxfilt llvm-cxxmap + llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool @@ -280,6 +281,7 @@ get_distribution_components() { llvm-strip llvm-symbolizer llvm-tapi-diff + llvm-tli-checker llvm-undname llvm-windres llvm-xray @@ -437,6 +439,9 @@ multilib_src_configure() { use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" cmake_src_configure + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MASTER_MAJOR?" multilib_is_native_abi && check_distribution_components } diff --git a/sys-devel/llvm/llvm-14.0.0_rc4.ebuild b/sys-devel/llvm/llvm-14.0.0_rc4.ebuild new file mode 100644 index 000000000000..71fdfeea8b60 --- /dev/null +++ b/sys-devel/llvm/llvm-14.0.0_rc4.ebuild @@ -0,0 +1,515 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ + toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. xxhash: BSD. +# 3. MD5 code: public-domain. +# 4. ConvertUTF.h: TODO. + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="$(ver_cut 1)" +KEYWORDS="" +IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:0=[${MULTILIB_USEDEP}] + binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) + exegesis? ( dev-libs/libpfm:= ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) + xar? ( app-arch/xar ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs )" +BDEPEND=" + dev-lang/perl + >=dev-util/cmake-3.16 + sys-devel/gnuconfig + kernel_Darwin? ( + =sys-devel/binutils-apple-5.1 + ) + doc? ( $(python_gen_any_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) + libffi? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND="${RDEPEND} + !sys-devel/llvm:0" +PDEPEND="sys-devel/llvm-common + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" + +LLVM_COMPONENTS=( llvm cmake third-party ) +LLVM_MANPAGES=build +LLVM_PATCHSET=9999-r3 +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +python_check_deps() { + use doc || return 0 + + has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_live_ebuild() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eqawarn "Expected: ${exp_targets[*]}" + eqawarn + fi + + if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" + eqawarn "Expected: ${prod_targets[*]}" + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +src_prepare() { + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # Update config.guess to support more systems + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die + + # Verify that the live ebuild is up-to-date + check_live_ebuild + + llvm.org_src_prepare +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + + [[ ${out} == *HAVE_LIBCXX* ]] +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # shared libs + LLVM + LTO + Remarks + + # tools + llvm-config + + # common stuff + cmake-exports + llvm-headers + + # libraries needed for clang-tblgen + LLVMDemangle + LLVMSupport + LLVMTableGen + ) + + if multilib_is_native_abi; then + out+=( + # utilities + llvm-tblgen + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + + # tools + bugpoint + dsymutil + llc + lli + lli-child-target + llvm-addr2line + llvm-ar + llvm-as + llvm-bcanalyzer + llvm-bitcode-strip + llvm-c-test + llvm-cat + llvm-cfi-verify + llvm-config + llvm-cov + llvm-cvtres + llvm-cxxdump + llvm-cxxfilt + llvm-cxxmap + llvm-debuginfod-find + llvm-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + llvm-dwp + llvm-exegesis + llvm-extract + llvm-gsymutil + llvm-ifs + llvm-install-name-tool + llvm-jitlink + llvm-jitlink-executor + llvm-lib + llvm-libtool-darwin + llvm-link + llvm-lipo + llvm-lto + llvm-lto2 + llvm-mc + llvm-mca + llvm-ml + llvm-modextract + llvm-mt + llvm-nm + llvm-objcopy + llvm-objdump + llvm-opt-report + llvm-otool + llvm-pdbutil + llvm-profdata + llvm-profgen + llvm-ranlib + llvm-rc + llvm-readelf + llvm-readobj + llvm-reduce + llvm-rtdyld + llvm-sim + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tapi-diff + llvm-tli-checker + llvm-undname + llvm-windres + llvm-xray + obj2yaml + opt + sancov + sanstats + split-file + verify-uselistorder + yaml2obj + + # python modules + opt-viewer + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi + use doc && out+=( + docs-llvm-html + ) + + use binutils-plugin && out+=( + LLVMgold + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_LIBPFM=$(usex exegesis) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + # used only for llvm-objdump tool + -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + + -DPython3_EXECUTABLE="${PYTHON}" + + # disable OCaml bindings (now in dev-ml/llvm-ocaml) + -DOCAMLFIND=NO + ) + + if is_libcxx_linked; then + # Smart hack: alter version suffix -> SOVERSION when linking + # against libc++. This way we won't end up mixing LLVM libc++ + # libraries with libstdc++ clang, and the other way around. + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="libcxx" + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + +# Note: go bindings have no CMake rules at the moment +# but let's kill the check in case they are introduced +# if ! multilib_is_native_abi || ! use go; then + mycmakeargs+=( + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND + ) +# fi + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + + mycmakeargs+=( + -DLLVM_BUILD_DOCS=${build_docs} + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=${build_docs} + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use binutils-plugin && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + if tc-is-cross-compiler; then + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" + [[ -x "${tblgen}" ]] \ + || die "${tblgen} not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN="${tblgen}" + ) + fi + + # workaround BMI bug in gcc-7 (fixed in 7.4) + # https://bugs.gentoo.org/649880 + # apply only to x86, https://bugs.gentoo.org/650506 + if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && + [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] + then + local CFLAGS="${CFLAGS} -mno-bmi" + local CXXFLAGS="${CXXFLAGS} -mno-bmi" + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MASTER_MAJOR?" + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${SLOT}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${SLOT} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" + elog "To use these scripts, you will need Python along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} diff --git a/sys-devel/llvm/llvm-15.0.0.9999.ebuild b/sys-devel/llvm/llvm-15.0.0.9999.ebuild new file mode 100644 index 000000000000..98e506114f39 --- /dev/null +++ b/sys-devel/llvm/llvm-15.0.0.9999.ebuild @@ -0,0 +1,516 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \ + toolchain-funcs + +DESCRIPTION="Low Level Virtual Machine" +HOMEPAGE="https://llvm.org/" + +# Additional licenses: +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. +# 2. xxhash: BSD. +# 3. MD5 code: public-domain. +# 4. ConvertUTF.h: TODO. + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc" +SLOT="$(ver_cut 1)" +KEYWORDS="" +IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3" +RESTRICT="!test? ( test )" + +RDEPEND=" + sys-libs/zlib:0=[${MULTILIB_USEDEP}] + binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] ) + exegesis? ( dev-libs/libpfm:= ) + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) + xar? ( app-arch/xar ) + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + binutils-plugin? ( sys-libs/binutils-libs )" +BDEPEND=" + dev-lang/perl + >=dev-util/cmake-3.16 + sys-devel/gnuconfig + kernel_Darwin? ( + =sys-devel/binutils-apple-5.1 + ) + doc? ( $(python_gen_any_dep ' + dev-python/recommonmark[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ') ) + libffi? ( virtual/pkgconfig ) + ${PYTHON_DEPS}" +# There are no file collisions between these versions but having :0 +# installed means llvm-config there will take precedence. +RDEPEND="${RDEPEND} + !sys-devel/llvm:0" +PDEPEND="sys-devel/llvm-common + binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )" + +LLVM_COMPONENTS=( llvm cmake third-party ) +LLVM_MANPAGES=build +LLVM_PATCHSET=9999-r3 +LLVM_USE_TARGETS=provide +llvm.org_set_globals + +python_check_deps() { + use doc || return 0 + + has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" +} + +check_live_ebuild() { + local prod_targets=( + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \ + | tail -n +2 | head -n -1) + ) + local all_targets=( + lib/Target/*/ + ) + all_targets=( "${all_targets[@]#lib/Target/}" ) + all_targets=( "${all_targets[@]%/}" ) + + local exp_targets=() i + for i in "${all_targets[@]}"; do + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" ) + done + + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}" + eqawarn "Expected: ${exp_targets[*]}" + eqawarn + fi + + if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then + eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!" + eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}" + eqawarn "Expected: ${prod_targets[*]}" + fi +} + +check_distribution_components() { + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then + local all_targets=() my_targets=() l + cd "${BUILD_DIR}" || die + + while read -r l; do + if [[ ${l} == install-*-stripped:* ]]; then + l=${l#install-} + l=${l%%-stripped*} + + case ${l} in + # shared libs + LLVM|LLVMgold) + ;; + # TableGen lib + deps + LLVMDemangle|LLVMSupport|LLVMTableGen) + ;; + # static libs + LLVM*) + continue + ;; + # meta-targets + distribution|llvm-libraries) + continue + ;; + # used only w/ USE=doc + docs-llvm-html) + use doc || continue + ;; + esac + + all_targets+=( "${l}" ) + fi + done < <(ninja -t targets all) + + while read -r l; do + my_targets+=( "${l}" ) + done < <(get_distribution_components $"\n") + + local add=() remove=() + for l in "${all_targets[@]}"; do + if ! has "${l}" "${my_targets[@]}"; then + add+=( "${l}" ) + fi + done + for l in "${my_targets[@]}"; do + if ! has "${l}" "${all_targets[@]}"; then + remove+=( "${l}" ) + fi + done + + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then + eqawarn "get_distribution_components() is outdated!" + eqawarn " Add: ${add[*]}" + eqawarn "Remove: ${remove[*]}" + fi + cd - >/dev/null || die + fi +} + +src_prepare() { + # disable use of SDK on OSX, bug #568758 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die + + # Update config.guess to support more systems + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die + + # Verify that the live ebuild is up-to-date + check_live_ebuild + + llvm.org_src_prepare +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + + [[ ${out} == *HAVE_LIBCXX* ]] +} + +get_distribution_components() { + local sep=${1-;} + + local out=( + # shared libs + LLVM + LTO + Remarks + + # tools + llvm-config + + # common stuff + cmake-exports + llvm-headers + + # libraries needed for clang-tblgen + LLVMDemangle + LLVMSupport + LLVMTableGen + ) + + if multilib_is_native_abi; then + out+=( + # utilities + llvm-tblgen + FileCheck + llvm-PerfectShuffle + count + not + yaml-bench + + # tools + bugpoint + dsymutil + llc + lli + lli-child-target + llvm-addr2line + llvm-ar + llvm-as + llvm-bcanalyzer + llvm-bitcode-strip + llvm-c-test + llvm-cat + llvm-cfi-verify + llvm-config + llvm-cov + llvm-cvtres + llvm-cxxdump + llvm-cxxfilt + llvm-cxxmap + llvm-debuginfod-find + llvm-diff + llvm-dis + llvm-dlltool + llvm-dwarfdump + llvm-dwp + llvm-exegesis + llvm-extract + llvm-gsymutil + llvm-ifs + llvm-install-name-tool + llvm-jitlink + llvm-jitlink-executor + llvm-lib + llvm-libtool-darwin + llvm-link + llvm-lipo + llvm-lto + llvm-lto2 + llvm-mc + llvm-mca + llvm-ml + llvm-modextract + llvm-mt + llvm-nm + llvm-objcopy + llvm-objdump + llvm-opt-report + llvm-otool + llvm-pdbutil + llvm-profdata + llvm-profgen + llvm-ranlib + llvm-rc + llvm-readelf + llvm-readobj + llvm-reduce + llvm-remark-size-diff + llvm-rtdyld + llvm-sim + llvm-size + llvm-split + llvm-stress + llvm-strings + llvm-strip + llvm-symbolizer + llvm-tapi-diff + llvm-tli-checker + llvm-undname + llvm-windres + llvm-xray + obj2yaml + opt + sancov + sanstats + split-file + verify-uselistorder + yaml2obj + + # python modules + opt-viewer + ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-dsymutil-man + docs-llvm-dwarfdump-man + docs-llvm-man + ) + fi + use doc && out+=( + docs-llvm-html + ) + + use binutils-plugin && out+=( + LLVMgold + ) + fi + + printf "%s${sep}" "${out[@]}" +} + +multilib_src_configure() { + local ffi_cflags ffi_ldflags + if use libffi; then + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + # disable appending VCS revision to the version to improve + # direct cache hit ratio + -DLLVM_APPEND_VC_REV=OFF + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DBUILD_SHARED_LIBS=OFF + -DLLVM_BUILD_LLVM_DYLIB=ON + -DLLVM_LINK_LLVM_DYLIB=ON + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) + + # cheap hack: LLVM combines both anyway, and the only difference + # is that the former list is explicitly verified at cmake time + -DLLVM_TARGETS_TO_BUILD="" + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + -DLLVM_BUILD_TESTS=$(usex test) + + -DLLVM_ENABLE_FFI=$(usex libffi) + -DLLVM_ENABLE_LIBEDIT=$(usex libedit) + -DLLVM_ENABLE_TERMINFO=$(usex ncurses) + -DLLVM_ENABLE_LIBXML2=$(usex xml) + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) + -DLLVM_ENABLE_LIBPFM=$(usex exegesis) + -DLLVM_ENABLE_EH=ON + -DLLVM_ENABLE_RTTI=ON + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3) + + -DLLVM_HOST_TRIPLE="${CHOST}" + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + # used only for llvm-objdump tool + -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0) + + -DPython3_EXECUTABLE="${PYTHON}" + + # disable OCaml bindings (now in dev-ml/llvm-ocaml) + -DOCAMLFIND=NO + ) + + if is_libcxx_linked; then + # Smart hack: alter version suffix -> SOVERSION when linking + # against libc++. This way we won't end up mixing LLVM libc++ + # libraries with libstdc++ clang, and the other way around. + mycmakeargs+=( + -DLLVM_VERSION_SUFFIX="libcxx" + -DLLVM_ENABLE_LIBCXX=ON + ) + fi + +# Note: go bindings have no CMake rules at the moment +# but let's kill the check in case they are introduced +# if ! multilib_is_native_abi || ! use go; then + mycmakeargs+=( + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND + ) +# fi + + use test && mycmakeargs+=( + -DLLVM_LIT_ARGS="$(get_lit_flags)" + ) + + if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + + mycmakeargs+=( + -DLLVM_BUILD_DOCS=${build_docs} + -DLLVM_ENABLE_OCAMLDOC=OFF + -DLLVM_ENABLE_SPHINX=${build_docs} + -DLLVM_ENABLE_DOXYGEN=OFF + -DLLVM_INSTALL_UTILS=ON + ) + use binutils-plugin && mycmakeargs+=( + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include + ) + fi + + if tc-is-cross-compiler; then + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen" + [[ -x "${tblgen}" ]] \ + || die "${tblgen} not found or usable" + mycmakeargs+=( + -DCMAKE_CROSSCOMPILING=ON + -DLLVM_TABLEGEN="${tblgen}" + ) + fi + + # workaround BMI bug in gcc-7 (fixed in 7.4) + # https://bugs.gentoo.org/649880 + # apply only to x86, https://bugs.gentoo.org/650506 + if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] && + [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]] + then + local CFLAGS="${CFLAGS} -mno-bmi" + local CXXFLAGS="${CXXFLAGS} -mno-bmi" + fi + + # LLVM can have very high memory consumption while linking, + # exhausting the limit on 32-bit linker executable + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + cmake_src_configure + + grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \ + CMakeCache.txt || + die "Incorrect version, did you update _LLVM_MASTER_MAJOR?" + multilib_is_native_abi && check_distribution_components +} + +multilib_src_compile() { + cmake_build distribution + + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld + pax-mark m "${BUILD_DIR}"/bin/lli + pax-mark m "${BUILD_DIR}"/bin/lli-child-target + + if use test; then + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests + fi +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check +} + +src_install() { + local MULTILIB_CHOST_TOOLS=( + /usr/lib/llvm/${SLOT}/bin/llvm-config + ) + + local MULTILIB_WRAPPED_HEADERS=( + /usr/include/llvm/Config/llvm-config.h + ) + + local LLVM_LDPATHS=() + multilib-minimal_src_install + + # move wrapped headers back + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-distribution + + # move headers to /usr/include for wrapping + rm -rf "${ED}"/usr/include || die + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die + + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" ) +} + +multilib_src_install_all() { + local revord=$(( 9999 - ${SLOT} )) + newenvd - "60llvm-${revord}" <<-_EOF_ + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" + _EOF_ + + docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages +} + +pkg_postinst() { + elog "You can find additional opt-viewer utility scripts in:" + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" + elog "To use these scripts, you will need Python along with the following" + elog "packages:" + elog " dev-python/pygments (for opt-viewer)" + elog " dev-python/pyyaml (for all of them)" +} diff --git a/sys-devel/llvmgold/Manifest b/sys-devel/llvmgold/Manifest index 408012e12541..6a21ccce1485 100644 --- a/sys-devel/llvmgold/Manifest +++ b/sys-devel/llvmgold/Manifest @@ -1,5 +1,6 @@ EBUILD llvmgold-11.ebuild 571 BLAKE2B 43b8417652b96027c4556aa936f6bd00e81e9826a2002afebd0f7ca3803337a33eb5e31d3c454bc094f5bdecbe30827bfe4a5c65a86c511478ff5ab0b4d0e4df SHA512 717119361f1c86e436947ea74ff5a574c6c936d1bfd6d9ef30e3277094994e69bdce9c7f496192667a28de44443f819e94f719004ef2dbf6006f2c755a11d5a5 EBUILD llvmgold-12.ebuild 563 BLAKE2B 65f91448d0a5995875cba13b41844f47761f833f28f023911ed96a9ba8ccd42419ba7f6fa7d59c65826a807c793a2d62c7269ff912717d3e92ac2d94a153fc5e SHA512 ba55b6ff2d801b227435f5c2d425c113566caa0f522d80a9f52154357f4772a5206c0a00f99c2422d59098b1632ae98fa707f2ec33d68918b3c463b5e11685a0 -EBUILD llvmgold-13-r1.ebuild 621 BLAKE2B 72026c9f4de89785b7eb38330ea7e23a88da78399999b9c457ef30c7d9f6363021232158c9289651e1eae3a8c5bd0289a9c89c424f07dd96009a99697cd05e69 SHA512 653dbc14f6777610943e3088c6a9cb7f4bee6eb050037cb74e83387ca4157bdcff82b107d31db30b0132020d6b41716ac6e97cc8d9175fa71573b74f2d4543cd +EBUILD llvmgold-13-r1.ebuild 633 BLAKE2B 359a69329c08ca5ea6f6c05ca055a344572351fd9d4c8bc7476311b0808ea130b9951f7271c42093ca09b424fd1d421664161f4becedb05a5d6f2616e29e6e9b SHA512 b2834360644e8c0401093f78f9bc5b7f997cc48c11c3d3e7067b9965fef7ca0233641731869e1cd5d2626ff11ad3decdf9335fd01a9c6d10f9ce7825724b20fa EBUILD llvmgold-14.ebuild 555 BLAKE2B 58857203d8a5e83d571e62b26ce6b703c964acfb6da8eaa8d9f9467c63071050c5d4a34406b79bdd0930728495de8b05fdf982ba55bbb9ca7930f20442576de4 SHA512 c352ce08f8f88e67987d1b10629c68005ba64138c2602229b7c30792ff619ab935c2a575a711e1a1cea47f617705171c66d5345946bfcb318c7e2d69090a8430 +EBUILD llvmgold-15.ebuild 555 BLAKE2B 7a5d977ef2ac69e1349987a502da0a44c07418d9f1a4ca4f46fff34a2311162359a6ed94cdd3e6a19ac9cf2549fb93675aec6d093ff759b923fb884650dfff09 SHA512 32ae784b98630f7c4e9d292ec6eb3f8c97876954533d826d12fc68c7b74b463573bb3c429d310e06c2f62b5952671b9bdc57ed14ad75aad8585b73be6e1c35d3 MISC metadata.xml 217 BLAKE2B 23799663344acc2d532fc6fa7dd798813aef7293fcab616d6300b15a6e603b6d17ca63d5153eb8da1b976215d8e3775e8d3a67026bacc9693993d48ec1cb69a9 SHA512 e13d0436d3a3a449723277a37ae4c5a673139b6da818adf7ad7654d94d3948ed8607b1c27e83e963bf450bd2d5a650c985e27ff5a531db9813cb4ab10b985dd6 diff --git a/sys-devel/llvmgold/llvmgold-13-r1.ebuild b/sys-devel/llvmgold/llvmgold-13-r1.ebuild index 62c9f1525439..c92356ad883d 100644 --- a/sys-devel/llvmgold/llvmgold-13-r1.ebuild +++ b/sys-devel/llvmgold/llvmgold-13-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="" LICENSE="public-domain" SLOT="0" -KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux" RDEPEND=" || ( diff --git a/sys-devel/llvmgold/llvmgold-15.ebuild b/sys-devel/llvmgold/llvmgold-15.ebuild new file mode 100644 index 000000000000..06fbe1b7719a --- /dev/null +++ b/sys-devel/llvmgold/llvmgold-15.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="LLVMgold plugin symlink for autoloading" +HOMEPAGE="https://llvm.org/" +SRC_URI="" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="" +IUSE="" +PROPERTIES="live" + +RDEPEND="sys-devel/llvm:${PV}[binutils-plugin] + !sys-devel/llvm:0" + +S=${WORKDIR} + +src_install() { + dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins" + dosym "../../../../lib/llvm/${PV}/$(get_libdir)/LLVMgold.so" \ + "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so" +} diff --git a/sys-devel/m4/Manifest b/sys-devel/m4/Manifest index 145d73a0b1a1..7cc73c2acf17 100644 --- a/sys-devel/m4/Manifest +++ b/sys-devel/m4/Manifest @@ -1,4 +1,5 @@ -AUX ppc-musl.patch 706 BLAKE2B 5b5aff69fa1118ab22179b7cc937aaf1b9c0dd89df957814f68de2c40543ccf12dd8be4eeee29723043b72ac71bce24015986866c10f9ea92704c5e9b1245933 SHA512 c497e10eff10aa0706527438a3218ff5047622ad2c2ce2a2aa807341a352524cb955a3f5fa1f34a051c07a3f24ea395ec1276f11905ac988e5a2f57cb5caf646 +AUX ppc-musl.patch 824 BLAKE2B b3476471c27a748a67f237d7f34ede06446417a310737d46686ff8103cb3f5c1c4a1cdd5e9c4adccf4511f667db473086b0ea7fa5242f36e3109f929d70728e7 SHA512 079e50b0f7d99bd7c45a33acd56a2fb000e50f7b4bc73fa18d246315b732550ceb75251ba12daf5fd2948be9252cd40804df3c2c797b47bf8b0cf173a1db4c7e +DIST m4-1.4.19-test-198-sysval-r1.patch.gz 6292 BLAKE2B 62f52c8bb75e7b8f11e487906f1ce47069ea6d3095fd6532aa6b47bcd8109b7cd733fde26915d449a1cfc326f27f5ed83ba29a5a80687b8b9bdb73c8d87e96b8 SHA512 c3e7d4c1631e401c6b5477c22fd5de837188acf9d72551b116c665a927d1799b1fb249e90c9fb4f6f2f328ee84b2e4dd0bf54f684139997c19ee5b69a3e9284d DIST m4-1.4.19.tar.xz 1654908 BLAKE2B 08694485a49c542761fa9a7db4d7609f4dfb08a5c6b785b57f2e14cf1f696c2a1c788bb5eb934e8159a632b63ff071dfe42511d0109d7b1828f46d33c8bf416a SHA512 47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b -EBUILD m4-1.4.19.ebuild 1767 BLAKE2B 9561155305ec23be463a2ab5df000d2ff771e99ad2b61a1b67c7ba52bcf048478cdbe7c92b2942e1d07fdc027ee3f2139c5c20307292f400edc8093c2d15d434 SHA512 78981ec33cc17674057429af1cc621a76535c639e8b841ec4d1bda2dc333cb0a57453f1c0f3721947db8b95566c7a85a8e09652e3692d200defdd314493e06bc +EBUILD m4-1.4.19.ebuild 1895 BLAKE2B 59be9af3e8c488296db8167d7d5ae019368b0d433ff30176c0761f08aa42f2172ece50b39b16d3ee72fc3c14e9c29e5209d911b92fb0c587784cbf0b090653c6 SHA512 9557cea70e5553ba7789e58927ce3db98d676b29aedb665568ca271ca7dee5602787961ef29ba66adef74dbfff8bca94438a9c5d28344e8f51dbb8822174421c MISC metadata.xml 254 BLAKE2B f3a9f843cf94243d1129711770df727fcdc8808bca829ef784819cab6f5410dfa463cfed85182f8228c7de796a674dd602653ad3ef817a62c0c3e7198b23befe SHA512 b9fcd3084a7e197f6138e1ce8b0eff99c4c203c37a7d5c40de207040ba1501ef0e5b2f4e00216a567037bcd6d3394fdec6ff587484c9ba2fca9d04f431733b7c diff --git a/sys-devel/m4/files/ppc-musl.patch b/sys-devel/m4/files/ppc-musl.patch index d7d8255a444a..4aff0ba1cf5c 100644 --- a/sys-devel/m4/files/ppc-musl.patch +++ b/sys-devel/m4/files/ppc-musl.patch @@ -1,7 +1,8 @@ -Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib. +Needed to fix build on ppc + musl. Should pop up in next gnulib sync in release (different patch). https://www.openwall.com/lists/musl/2017/11/05/2 https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b --- a/lib/sigsegv.c +++ b/lib/sigsegv.c @@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; diff --git a/sys-devel/m4/m4-1.4.19.ebuild b/sys-devel/m4/m4-1.4.19.ebuild index 96bbad225664..a30e5e26214d 100644 --- a/sys-devel/m4/m4-1.4.19.ebuild +++ b/sys-devel/m4/m4-1.4.19.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -12,6 +12,7 @@ if [[ "${PV}" == *_beta* ]] ; then S="${WORKDIR}/${MY_P}" else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + SRC_URI+=" https://dev.gentoo.org/~floppym/dist/${P}-test-198-sysval-r1.patch.gz" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi @@ -30,7 +31,10 @@ DEPEND="${RDEPEND}" BDEPEND="app-arch/xz-utils nls? ( sys-devel/gettext )" -PATCHES=( "${FILESDIR}/ppc-musl.patch" ) +PATCHES=( + "${FILESDIR}"/ppc-musl.patch + "${WORKDIR}"/${P}-test-198-sysval-r1.patch +) src_configure() { local -a myeconfargs=( diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest index a7ba8ed805f6..2ae10e64a532 100644 --- a/sys-devel/mold/Manifest +++ b/sys-devel/mold/Manifest @@ -1,9 +1,4 @@ -AUX mold-1.0.1-no-gold-in-version.patch 1872 BLAKE2B 8ffed5c0c78235011bce727a4f750c548515c5eb3b3e7831e706c64c4cb7233478362e0a7fff5d819e2e6221126e1bb622f0a58cee8dab66558692cfe3795c2d SHA512 4438893a26cec8825e30df3fac112f5257f1bf0aab955431d097f4563707b4899e781d134d81279f1d8559302a9df1aab2b723b4aeeac5aec0e3d786ca6ebaff -DIST mold-1.0.0.tar.gz 3482927 BLAKE2B 56ebc267370548a2f91a71ebeed87871cede6f564c29dc7d44a499b95fe570f6e9c8a717baf2d9e235c7057c41e735b315493bd23d3b44574d2a44b14aaf5ef8 SHA512 99ffd0b9e2ff7157cc8b26808675c9d3147bf88961155ae19ed9b99990ac647b7ec31ee78d05062decc6d41e66d99aa0fdc398d119803929b8dbff51eb3d077c -DIST mold-1.0.1.tar.gz 3675262 BLAKE2B 0e40860d3c0a221d368c94b9f58c20b245ee61de6f9eb6d1454ed3b6f103933c79ddd7358049e2aacf497221232d952c2117ba2b3371cbe37fb8ad4ae42461c2 SHA512 cc03a7db395362b97879c28942397d4443d12b72e067b6f979b1ece4d8aab06154b4c1a0f4c57d6ac505bcd4f892bf9a355ad281d628d4d544d8f70edaf34b72 -DIST mold-1.0.2.tar.gz 4501088 BLAKE2B 51bac4bd44a785893c04dd03ccef6119b41a036789938a354545e7a22f16852b52079b3a3e4d27db860748e13966be18bbe813bf04b15c496f35d16ecca4b22c SHA512 27f6664e63c76c32a6e3ec8bfc4b204138926001f5431be94da9ce47a5d9d3b51aa634c5cd6df45be660d52ac0507f7b7eec17134e35db402db5747d2ecc3715 -EBUILD mold-1.0.0-r1.ebuild 1259 BLAKE2B 912f223181163deda23ecebb0f245296eb6a86fa0224faa88ff4e59d8f773bd87454d69a9e447f7374b7905c31bf539bda57cabe6607fda3b9d4072848cc8e71 SHA512 cce5444f42579f060b4842f2115b6b8c57f5f27489a19e37bdcfcada508d6a8e03a07652cf98560d97a96f57cd2e5a27eff092407b1d5d133d5716bf3f9e621b -EBUILD mold-1.0.1-r1.ebuild 1359 BLAKE2B c7b460def8cf4603de0553e759da91f8c5d7b36f39f73233792625a2107b18dd8607457922235f855ada7df098c667341a430ef51c72558ea97632ae25e79768 SHA512 537b87c6f3e19d151392f7fea74bb648ac0abdb72736917543c30de6678f8860618e425cbe7799d6f9b00c19ccfbbc1d06cda467d433c5759055268d888d7c32 -EBUILD mold-1.0.2.ebuild 1352 BLAKE2B 761a69baacc74d315dd35b4f9ae9d1faeef8c417fbfe01551ddf095b0d27ae8b304b72538f9684ee825644765c730dc4a2ef2fea3ee39901d13e39a1a3cbcd5b SHA512 03957051fb4287c7a630e99e1e6cd769f10355d2116037e1970890e948132ec75306c9a9ec82116f9b4176e2051e2a488ab4575517607a9f3771332bfff6b889 -EBUILD mold-9999.ebuild 1352 BLAKE2B 761a69baacc74d315dd35b4f9ae9d1faeef8c417fbfe01551ddf095b0d27ae8b304b72538f9684ee825644765c730dc4a2ef2fea3ee39901d13e39a1a3cbcd5b SHA512 03957051fb4287c7a630e99e1e6cd769f10355d2116037e1970890e948132ec75306c9a9ec82116f9b4176e2051e2a488ab4575517607a9f3771332bfff6b889 -MISC metadata.xml 316 BLAKE2B a401da48c61b75724482345622902367a2332b3d7475941f98ee49be00fc689d42831d9ab4139aae085e26ff2160f08ed6d3be1fb4551d82761727cc41c7e44b SHA512 c07529c0453fdfc6fdf3508d4af36a8706c6692cbb9c3c5320e55562e8eccfbb55559e1cdb330063cf7e51329c4067ccde25a017c05b25b2ab7d6f1b1e38481b +DIST mold-1.1.1.tar.gz 4530297 BLAKE2B 78f3beee1b463b3ca028fd72ecf92deb9e8848a4f9cb07c7c549666ef3fef038f395dd30e755be2807dc504b4c3f4893ca359154de9c944c2a03e04f37f5ccea SHA512 981d9737ed7a23134b9bafc04db0cd0233ab4fd588a3b250688dba64936fe84f6736168379fc3e4485273bcef11bca70e5c426b043b5d8b9775ae1cd3aea5b52 +EBUILD mold-1.1.1.ebuild 1899 BLAKE2B 537010414a43b9c333994f779f3cb3d9b006515ec924a5da27d0320669e6b80b3360c5270a607cb67a4d4e449dc971bf079e4cdcbb72a2a20cd29cf085b54ee2 SHA512 8f7b7271adb44c0317a5e8b1f336eb105504edc63dd9934abc9c817631589959a395d2f6f3ee09735239d7a32c17a1301b4b22775bc30c277f31bd20521c88fa +EBUILD mold-9999.ebuild 1899 BLAKE2B 537010414a43b9c333994f779f3cb3d9b006515ec924a5da27d0320669e6b80b3360c5270a607cb67a4d4e449dc971bf079e4cdcbb72a2a20cd29cf085b54ee2 SHA512 8f7b7271adb44c0317a5e8b1f336eb105504edc63dd9934abc9c817631589959a395d2f6f3ee09735239d7a32c17a1301b4b22775bc30c277f31bd20521c88fa +MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6 diff --git a/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch b/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch deleted file mode 100644 index 429e55cc51a9..000000000000 --- a/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch +++ /dev/null @@ -1,50 +0,0 @@ -From cea6a569afa544826c91fda7ef0f9941f50c9459 Mon Sep 17 00:00:00 2001 -From: Rui Ueyama -Date: Wed, 12 Jan 2022 16:31:04 +0900 -Subject: [PATCH] [ELF] Remove "GNU gold" from the --version string - -That substring was introduced in de7ba9014f9d9d70b9173c4bfac6c3433186ba49 -to appease Gentoo's dev-libs/jansson-2.13.1-r1 package. But I think I -shouldn't done that from the beginning to avoid the sitaution of the -"User-Agent" string of the web browser, which everybody claims they -are Mozilla, AppleWebKit, Chrome and Safari simultaneously. ---- - main.cc | 4 ++-- - test/elf/version.sh | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/main.cc b/main.cc -index 38a41cdf..8831f7f2 100644 ---- a/main.cc -+++ b/main.cc -@@ -26,10 +26,10 @@ std::string_view errno_string() { - - #ifdef GIT_HASH - const std::string mold_version = -- "mold " MOLD_VERSION " (" GIT_HASH "; compatible with GNU ld and GNU gold)"; -+ "mold " MOLD_VERSION " (" GIT_HASH "; compatible with GNU ld)"; - #else - const std::string mold_version = -- "mold " MOLD_VERSION " (compatible with GNU ld and GNU gold)"; -+ "mold " MOLD_VERSION " (compatible with GNU ld)"; - #endif - - void cleanup() { -diff --git a/test/elf/version.sh b/test/elf/version.sh -index ae52b504..4ca576ef 100755 ---- a/test/elf/version.sh -+++ b/test/elf/version.sh -@@ -10,10 +10,10 @@ mold="$(pwd)/mold" - t=out/test/elf/$testname - mkdir -p $t - --"$mold" -v | grep -q 'mold .*compatible with GNU ld and GNU gold' --"$mold" --version | grep -q 'mold .*compatible with GNU ld and GNU gold' -+"$mold" -v | grep -q 'mold .*compatible with GNU ld' -+"$mold" --version | grep -q 'mold .*compatible with GNU ld' - --"$mold" -V | grep -q 'mold .*compatible with GNU ld and GNU gold' -+"$mold" -V | grep -q 'mold .*compatible with GNU ld' - "$mold" -V | grep -q elf_x86_64 - "$mold" -V | grep -q elf_i386 - diff --git a/sys-devel/mold/metadata.xml b/sys-devel/mold/metadata.xml index 05bec5e598ef..f8a85299d5bb 100644 --- a/sys-devel/mold/metadata.xml +++ b/sys-devel/mold/metadata.xml @@ -5,6 +5,10 @@ sam@gentoo.org Sam James + + matthew@gentoo.org + Matthew Smith + rui314/mold diff --git a/sys-devel/mold/mold-1.0.0-r1.ebuild b/sys-devel/mold/mold-1.0.0-r1.ebuild deleted file mode 100644 index 767cc5c80f54..000000000000 --- a/sys-devel/mold/mold-1.0.0-r1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="A Modern Linker" -HOMEPAGE="https://github.com/rui314/mold" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/rui314/mold.git" - inherit git-r3 -else - SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" -fi - -LICENSE="AGPL-3" -SLOT="0" - -# Try again after 1.0 (nearly there, but path-related issues) -# https://github.com/rui314/mold/issues/137 -RESTRICT="test" - -RDEPEND=">=dev-cpp/tbb-2021.4.0:= - dev-libs/xxhash:= - sys-libs/zlib - !kernel_Darwin? ( - -Date: Tue, 31 Jul 2012 09:02:35 +0000 -Subject: [PATCH] libiberty/md5: fix strict alias warnings -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Current libiberty md5 code triggers these warnings with gcc-4.7.1 for me: - -libiberty/md5.c: In function ‘md5_finish_ctx’: -libiberty/md5.c:117:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] -libiberty/md5.c:118:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - -The change below fixes things for me. The optimized output (-O2) is the same -before/after my change on x86_64-linux. I imagine it'll be the same for most -targets. It seems simpler than using a union on the md5_ctx buffer since these -are the only two locations in the code where this occurs. ---- - libiberty/ChangeLog | 5 +++++ - libiberty/md5.c | 12 ++++++++---- - 2 files changed, 13 insertions(+), 4 deletions(-) - -2012-07-31 Mike Frysinger - - * md5.c (md5_finish_ctx): Declare swap_bytes. Assign SWAP() output - to swap_bytes, and then call memcpy to move it to ctx->buffer. - -diff --git a/libiberty/md5.c b/libiberty/md5.c -index 0db8fc8..8cc0cb5 100644 ---- a/src/md5.c -+++ b/src/md5.c -@@ -103,6 +103,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) - { - /* Take yet unprocessed bytes into account. */ - md5_uint32 bytes = ctx->buflen; -+ md5_uint32 swap_bytes; - size_t pad; - - /* Now count remaining bytes. */ -@@ -113,10 +114,13 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) - pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes; - memcpy (&ctx->buffer[bytes], fillbuf, pad); - -- /* Put the 64-bit file length in *bits* at the end of the buffer. */ -- *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3); -- *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) | -- (ctx->total[0] >> 29)); -+ /* Put the 64-bit file length in *bits* at the end of the buffer. -+ Use memcpy to avoid aliasing problems. On most systems, this -+ will be optimized away to the same code. */ -+ swap_bytes = SWAP (ctx->total[0] << 3); -+ memcpy (&ctx->buffer[bytes + pad], &swap_bytes, sizeof (swap_bytes)); -+ swap_bytes = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); -+ memcpy (&ctx->buffer[bytes + pad + 4], &swap_bytes, sizeof (swap_bytes)); - - /* Process last bytes. */ - md5_process_block (ctx->buffer, bytes + pad + 8, ctx); --- -1.8.2.1 - diff --git a/sys-devel/prelink/files/prelink-20130503-prelink-conf.patch b/sys-devel/prelink/files/prelink-20130503-prelink-conf.patch deleted file mode 100644 index 9233a4114827..000000000000 --- a/sys-devel/prelink/files/prelink-20130503-prelink-conf.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/doc/prelink.conf -+++ b/doc/prelink.conf -@@ -5,6 +5,7 @@ - # If a directory name is prefixed with `-h ', symbolic links in a - # directory hierarchy are followed. - # Directories or files with `-b ' prefix will be blacklisted. -+-c /etc/prelink.conf.d/*.conf - -b *.la - -b *.png - -b *.py -@@ -16,8 +16,11 @@ - -b *.a - -b *.js - -b /lib/modules ---b /usr/lib/locale ---b /usr/X11R6/lib{,64}/X11/xfig -+-b /usr/lib{,x32,32,64}/locale -+-b /usr/lib{,x32,32,64}/wine -+-b /usr/lib{,x32,32,64}/valgrind -+-b /usr/X11R6/lib{,x32,32,64}/X11/xfig -+-b /usr/src - -l /bin - -l /usr/bin - -l /sbin -@@ -27,9 +30,9 @@ - -l /usr/games - -l /usr/libexec - -l /var/ftp/bin ---l /lib{,64} ---l /usr/lib{,64} ---l /usr/X11R6/lib{,64} ---l /usr/kerberos/lib{,64} -+-l /lib{,x32,32,64} -+-l /usr/lib{,x32,32,64} -+-l /usr/X11R6/lib{,x32,32,64} -+-l /usr/kerberos/lib{,x32,32,64} - -l /usr/X11R6/LessTif ---l /var/ftp/lib{,64} -+-l /var/ftp/lib{,x32,32,64} diff --git a/sys-devel/prelink/files/prelink.confd b/sys-devel/prelink/files/prelink.confd deleted file mode 100644 index 6b89b8c1f1fd..000000000000 --- a/sys-devel/prelink/files/prelink.confd +++ /dev/null @@ -1,43 +0,0 @@ -# For an in depth prelinking guide, please see: -# http://www.gentoo.org/doc/en/prelink-howto.xml - -# Control prelinking behavior in the cronjob. -# yes - automatically prelink the system -# no - automatically un-prelink the system -# "" - do nothing at all (user manages) -# (if you change this from yes to no prelink -ua -# will be run next night to undo prelinking) -PRELINKING="" - -# Options to pass to prelink -# -m Try to conserve virtual memory by allowing overlapping -# assigned virtual memory slots for libraries which -# never appear together in one binary -# -R Randomize virtual memory slot assignments for libraries. -# This makes it slightly harder for various buffer overflow -# attacks, since library addresses will be different on each -# host using -R. -PRELINK_OPTS=-mR - -# How often should full prelink be run (in days) -# Normally, prelink will be run in quick mode, every -# $PRELINK_FULL_TIME_INTERVAL days it will be run -# in normal mode. Comment it out if it should be run -# in normal mode always. -PRELINK_FULL_TIME_INTERVAL=14 - -# How often should prelink run (in days) even if -# no packages have been upgraded via portage. -# If $PRELINK_FULL_TIME_INTERVAL days have not elapsed -# yet since last normal mode prelinking, last -# quick mode prelinking happened less than -# $PRELINK_NOEMER_CHECK_INTERVAL days ago -# and no packages have been upgraded by portage -# since last quick mode prelinking, prelink -# will not do anything. -# Change to -# PRELINK_NOEMER_CHECK_INTERVAL=0 -# if you want to disable the portage database timestamp -# check (especially if you don't use portage -# exclusively to upgrade system libraries and/or binaries). -PRELINK_NOEMER_CHECK_INTERVAL=7 diff --git a/sys-devel/prelink/files/prelink.cron b/sys-devel/prelink/files/prelink.cron deleted file mode 100644 index 067fc2ea97a2..000000000000 --- a/sys-devel/prelink/files/prelink.cron +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -. /etc/conf.d/prelink -log="/var/log/prelink.log" - -case $PRELINKING in - yes|no);; - *) exit 0;; -esac - -ionice -c3 -p $$ >/dev/null 2>&1 -renice +19 -p $$ >/dev/null 2>&1 - -if [ "$PRELINKING" != yes ]; then - sed -ri '/^[[:space:]]*#?[[:space:]]*KDE_IS_PRELINKED=/s:.*:#KDE_IS_PRELINKED=1:' /etc/env.d/*kde* 2>/dev/null - if [ -f /etc/prelink.cache ]; then - echo /usr/sbin/prelink -uav > ${log} - /usr/sbin/prelink -uav >> ${log} 2>&1 \ - || echo Prelink failed with return value $? >> ${log} - rm -f /etc/prelink.cache - # Restart init if needed - [ -n "$(find `ldd /sbin/init | awk 'NF == 4 { print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u - fi - exit 0 -fi - -sed -ri '/^[[:space:]]*#?[[:space:]]*KDE_IS_PRELINKED=/s:.*:KDE_IS_PRELINKED=1:' /etc/env.d/*kde* 2>/dev/null - -if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \ - || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then - # If cache does not exist or is from older prelink versions or - # if we were asked to explicitely, force full prelinking - rm -f /etc/prelink.cache /var/lib/misc/prelink.force - PRELINK_OPTS="$PRELINK_OPTS -f" - date > /var/lib/misc/prelink.full - cp -a /var/lib/misc/prelink.full /var/lib/misc/prelink.quick -elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \ - -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \ - = /var/lib/misc/prelink.full ]; then - # If no more than PRELINK_NOEMER_CHECK_INTERVAL days elapsed from last prelink - # (be it full or quick) and no packages have been upgraded via rpm since then, - # don't do anything. - [ "`find /var/lib/misc/prelink.quick -mtime -${PRELINK_NOEMER_CHECK_INTERVAL:-7} 2>/dev/null`" \ - -a -f /var/cache/edb/counter \ - -a /var/cache/edb/counter -ot /var/lib/misc/prelink.quick ] && exit 0 - date > /var/lib/misc/prelink.quick - # If prelink without -q has been run in the last - # PRELINK_FULL_TIME_INTERVAL days, just use quick mode - PRELINK_OPTS="$PRELINK_OPTS -q" -else - date > /var/lib/misc/prelink.full - cp -a /var/lib/misc/prelink.full /var/lib/misc/prelink.quick -fi - -echo /usr/sbin/prelink -av $PRELINK_OPTS > ${log} -/usr/sbin/prelink -av $PRELINK_OPTS >> ${log} 2>&1 \ - || echo Prelink failed with return value $? >> ${log} -# Restart init if needed (and if exists) -[ -n "$(find `ldd /sbin/init 2>/dev/null | awk 'NF == 4 { print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u - -exit 0 diff --git a/sys-devel/prelink/files/prelink.service b/sys-devel/prelink/files/prelink.service deleted file mode 100644 index dcdbf813a0e4..000000000000 --- a/sys-devel/prelink/files/prelink.service +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=Perform system-wide prelinking - -[Service] -Type=oneshot -ExecStart=/etc/cron.daily/prelink diff --git a/sys-devel/prelink/files/prelink.timer b/sys-devel/prelink/files/prelink.timer deleted file mode 100644 index 5d58d437158e..000000000000 --- a/sys-devel/prelink/files/prelink.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Daily system-wide prelinking - -[Timer] -OnCalendar=daily -AccuracySec=12h -Persistent=true - -[Install] -WantedBy=timers.target diff --git a/sys-devel/prelink/metadata.xml b/sys-devel/prelink/metadata.xml deleted file mode 100644 index 5a1e1dee65db..000000000000 --- a/sys-devel/prelink/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - toolchain@gentoo.org - Gentoo Toolchain Project - - diff --git a/sys-devel/prelink/prelink-20151030-r1.ebuild b/sys-devel/prelink/prelink-20151030-r1.ebuild deleted file mode 100644 index 17c39b3993ef..000000000000 --- a/sys-devel/prelink/prelink-20151030-r1.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2002-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PN="${PN}-cross" -MY_P="${MY_PN}-${PV}" - -inherit autotools flag-o-matic systemd - -DESCRIPTION="Modifies ELFs to avoid runtime symbol resolutions resulting in faster load times" -HOMEPAGE="https://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/ https://people.redhat.com/jakub/prelink" -SRC_URI="https://git.yoctoproject.org/cgit/cgit.cgi/${MY_PN}/snapshot/${MY_P}.tar.bz2 - doc? ( https://people.redhat.com/jakub/prelink/prelink.pdf )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86" -IUSE="doc selinux" - -RDEPEND=">=dev-libs/elfutils-0.100 - selinux? ( sys-libs/libselinux ) - !dev-libs/libelf" -DEPEND="${RDEPEND} - sys-libs/binutils-libs" - -S=${WORKDIR}/${MY_P} - -PATCHES=( - "${FILESDIR}"/${PN}-20130503-prelink-conf.patch - "${FILESDIR}"/${PN}-20130503-libiberty-md5.patch -) - -# tests were fixed only in development version after 20151030 -RESTRICT=test - -src_prepare() { - default - - sed -i -e '/^CC=/s: : -Wl,--disable-new-dtags :' testsuite/functions.sh #100147 - - has_version 'dev-libs/elfutils[threads]' && append-ldflags -pthread - - eautoreconf -} - -src_configure() { - econf $(use_enable selinux) -} - -src_install() { - default - - use doc && dodoc "${DISTDIR}"/prelink.pdf - - insinto /etc - doins doc/prelink.conf - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/prelink.cron prelink - newconfd "${FILESDIR}"/prelink.confd prelink - systemd_dounit "${FILESDIR}"/prelink.{service,timer} -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ] ; then - elog "You may wish to read the Gentoo Linux Prelink Guide, which can be" - elog "found online at:" - elog " https://wiki.gentoo.org/wiki/Prelink" - elog "Please edit /etc/conf.d/prelink to enable and configure prelink" - fi -} diff --git a/sys-devel/prelink/prelink-99999999.ebuild b/sys-devel/prelink/prelink-99999999.ebuild deleted file mode 100644 index dfe534db6194..000000000000 --- a/sys-devel/prelink/prelink-99999999.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2002-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PN="${PN}-cross" -MY_P="${MY_PN}-${PV}" - -inherit autotools flag-o-matic git-r3 systemd - -DESCRIPTION="Modifies ELFs to avoid runtime symbol resolutions resulting in faster load times" -HOMEPAGE="https://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/ https://people.redhat.com/jakub/prelink" -EGIT_REPO_URI="https://git.yoctoproject.org/git/prelink-cross" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc selinux" - -RDEPEND=">=dev-libs/elfutils-0.100 - selinux? ( sys-libs/libselinux ) - !dev-libs/libelf" -DEPEND="${RDEPEND} - sys-libs/binutils-libs" - -PATCHES=( - "${FILESDIR}"/${PN}-20130503-prelink-conf.patch - "${FILESDIR}"/${PN}-20130503-libiberty-md5.patch -) - -src_prepare() { - default - - sed -i -e '/^CC=/s: : -Wl,--disable-new-dtags :' testsuite/functions.sh #100147 - - has_version 'dev-libs/elfutils[threads]' && append-ldflags -pthread - - eautoreconf -} - -src_configure() { - econf $(use_enable selinux) -} - -src_test() { - # prelink tests check exact library lists. - # LD_PRELOADed libraries break the assumption. - SANDBOX_ON=0 LD_PRELOAD= emake check VERBOSE=1 -} - -src_install() { - default - - use doc && dodoc doc/prelink.pdf - - insinto /etc - doins doc/prelink.conf - - exeinto /etc/cron.daily - newexe "${FILESDIR}"/prelink.cron prelink - newconfd "${FILESDIR}"/prelink.confd prelink - systemd_dounit "${FILESDIR}"/prelink.{service,timer} -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ] ; then - elog "You may wish to read the Gentoo Linux Prelink Guide, which can be" - elog "found online at:" - elog " https://wiki.gentoo.org/wiki/Prelink" - elog "Please edit /etc/conf.d/prelink to enable and configure prelink" - fi -} -- cgit v1.2.3