From be94ae04eee564451203d45977c2ef7c7ace1580 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 10 Nov 2024 03:03:09 +0000 Subject: gentoo auto-resync : 10:11:2024 - 03:03:09 --- sys-libs/Manifest.gz | Bin 14413 -> 14410 bytes sys-libs/binutils-libs/Manifest | 6 +- .../binutils-libs/binutils-libs-2.42-r1.ebuild | 172 -------------------- .../binutils-libs/binutils-libs-2.43-r3.ebuild | 177 ++++++++++++++++++++ sys-libs/binutils-libs/binutils-libs-2.43.ebuild | 172 -------------------- sys-libs/compiler-rt/Manifest | 7 +- sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild | 150 +++++++++++++++++ sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild | 178 +++++++++++++++++++++ sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild | 178 +++++++++++++++++++++ sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild | 173 ++++++++++++++++++++ sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild | 175 ++++++++++++++++++++ .../compiler-rt/compiler-rt-20.0.0.9999.ebuild | 1 + sys-libs/pkgcraft/Manifest | 8 +- sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild | 92 +++++++++++ sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild | 92 ----------- sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild | 93 +++++++++++ sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild | 92 ----------- sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild | 94 +++++++++++ sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild | 92 ----------- sys-libs/pkgcraft/pkgcraft-9999.ebuild | 1 - 20 files changed, 1323 insertions(+), 630 deletions(-) delete mode 100644 sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild create mode 100644 sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild delete mode 100644 sys-libs/binutils-libs/binutils-libs-2.43.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 97d7f587a221..685f94140cd1 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 1e7797445ecb..5b0f8d6d4065 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -15,11 +15,10 @@ DIST binutils-2.40-patches-6.tar.xz 299212 BLAKE2B 3a68a924e9747fdd0486327a5bd24 DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b6eac9f0c8f51f05e95a1b5f80f2b7ef35e6355d740b49bc1ec2f3a13a838d5210ff4a205aa2bde5a72bc55c12100bce726 SHA512 ad293f97116f71322993f381c1af69fad1719a159f127ff16ddeca62f9b9b62aaf141abfa661985a61e9be7ae0639772148e69293a97364eebbf49182babb691 DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 -DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f50378a6b49aef8e939731a92598680cfbf42dfdf842c3f5bf3458867f79c534eb92385bc64f34f7b1d6462ec4182b5f424fbe5 SHA512 3d75e0684bbfa2cc3fc6dfcb5488ac571db58f1a5833fcc754f231664137001ccb0f2ec750947b8021fa12daf614eb2cd21b598bd962d71a34bb8ea38805850d DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 -DIST binutils-2.43-patches-1.tar.xz 11644 BLAKE2B 578ee67c3c5e67f9191a31a5c83ffcc781f757f8aaee3eea14d052db427cdd2bc769977dba16e9a8c653dcc4a94f11c149898683945d5035d0beeac128045b1a SHA512 e6db4eaf4fbea366e607a7e9a56e20851fcc34664532fd6aa1f0818271c3e2687eada3daca482e211a2b3e36be85e7e0b23158caaa0fdf9785d13a9156e8c734 DIST binutils-2.43-patches-2.tar.xz 35184 BLAKE2B fa35c9f182c7ae0fed28614f47618d1563a58f223fd1805f348b618c1fbf039a444e44d88f46d040b6971e481e0da882e5c4492fd167d17bf39579d87a446434 SHA512 a7e167d3f6a2c08f19af4685d90a6160a1a52f1a87f5660fb6d80ec664033829c0eacad0d77b1306620e50ff89d1f9f63a7c2b064ad9775400f0cb0eba3159a4 +DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb EBUILD binutils-libs-2.34-r2.ebuild 3653 BLAKE2B dc0a3519eda576b9c7772c3175a085e919605c9f490b4e72c215c8c3b5b11ef8bacdc2be6a35ab56257e649b4d06d9e423de129c055e6ffc8442497165b36f27 SHA512 0d6d73c2ee48d60221ba14ccb7f42a1b9c26794ce024299933e73c16b94502b08a7588385ec484b686571187d9b2a06dab260faded4dea59f16b8aef39469710 EBUILD binutils-libs-2.35.2.ebuild 4075 BLAKE2B cb191462f6a1e4150717d04f89b607079b261847ffac6097c431f30db326e51288e5439556fe6b149b96f07dd1c8dbfce507a0d94a330ad191eca76a403ae009 SHA512 f84ab0b6675611a14a96a61c02c69cfcfb14070a91e1c6a9f3c08355328e30b1534e3976c9e1c2b9c2acc23aa797dc97f96dac817104d49d9f5da6624eb5c8dc @@ -29,9 +28,8 @@ EBUILD binutils-libs-2.38-r2.ebuild 4778 BLAKE2B 0a590eb25e30444f085dc013979f739 EBUILD binutils-libs-2.39-r5.ebuild 4786 BLAKE2B 785b311bcf2e75905c6dcec0a9e6ca099cf655387ecc77789a195335acfc7e7c410291d673d59869c9f890e8e3d292087cba62f10fd8e1f1298f0877c64e793d SHA512 8c26152b136d5028747f920d20521a33b21b42ea309403effe87ce07780099d9855a37a84fdb8b3ab93ddd8673186999914cff370566d8cd7c5b6360a3e8adb6 EBUILD binutils-libs-2.40-r7.ebuild 5024 BLAKE2B b61c9d580562da551c73991d517f5149129cfb762f6ba71ce68d1c8a8b672bfc9c0378051639fb8464c709553785d7fb3fa461de3210160eb22361de19e3bc6e SHA512 6f51861bc00722e7b4656134c2be2565a79a77ff6314f395f0409a2890391cff40d4ea45268138361054d5f9373467412780a0334b93f6439c227e6ef473c631 EBUILD binutils-libs-2.41-r5.ebuild 5206 BLAKE2B 4e9d136bf25e6afb9cde6ff205875718e714687784653048b23de87d33a9e2bcafd360d4626f5dfe260ef95470ce74c0be44968e81dd09b57d595bb873fbbd65 SHA512 ecd07127f0b40afd5ec90e732ec7d9f2d562a25881185640483c894d0810bf971cefc84328d20c4ab0967dedcb19de74fb43a7cd2c170a9882caf77325e7b90c -EBUILD binutils-libs-2.42-r1.ebuild 5355 BLAKE2B e6025c7f92f6583fa86c250ef5e79fe09940682294feae597d66ae2bf9c05d1540bf468fdb3e05a58b2d4b5639e95a9fd70702d7d55632b5504463b47df9f737 SHA512 8569f860aa35aa18cc768cd54d0606f7d58b3eb5358227b654029dbfdddb2f7686ca5fb935d84ec55cedca25dcbb95f2ba483f060efefa6c65e3b1ae11d2dc01 EBUILD binutils-libs-2.42-r2.ebuild 5355 BLAKE2B 0ff8576b6a493d7830b661abbd5e6f0454d57cb34bd793861272a6b43a483f7b7713695c7e58ea32ed7892b966aaedf4773e8630d94f267873cf19d7cb81b91a SHA512 93a9e358ae3f96e57964064572d3b75f2a368c6d803c151cacf0ccb8c271a9952302b102de3e9cc01590e0963a8d9037ede6f19fd515e29adcd539a1b81b19e4 EBUILD binutils-libs-2.43-r2.ebuild 5481 BLAKE2B fc40b227c410183e00b513414ff133e3080c1f1e90b0d0b58bae342e2870e74c730703324c4893834270328580f3fb06dc261fc6eefbbe2b196f4f7af30b3fc0 SHA512 57f907fe1c488b2d8058d4e568ab8d8d152f437e2295e1c6577eba4a424cf755acd8860942a30365782ac8bd44eb3fed6f720410a6158d06274495f86c39dbfd -EBUILD binutils-libs-2.43.ebuild 5356 BLAKE2B 42f5807d89809830d1b6a9be3ea8ecc9e9b4e42fba1ae5336995c2d11508f5464565b75083710988e516f496760669b8cbb3dafda8ffcf0bdba03fb6aa47611f SHA512 593c40088699aaebdaff81330205b2187aa5d1abddc14b85c7b2c2fd7de0e6968dfb3ee366ecd5839bfb2b2229c443d6028b173d555304d0a764c05e5b24ddad +EBUILD binutils-libs-2.43-r3.ebuild 5481 BLAKE2B 553d2e27e7f279e9ff0adbbd946489fb1d865e60f1532d11169c0230c82fe2a7cadd5cf2432143e17b70d9fc02fcebb1c1e00358eb5097d864a2907fb35bc13e SHA512 0e84fd8130a2781d2d9ddd20611989ab45bd13ba09c2c0a0c6e15f3799ac146042835fbcfaa3243e2af7f1d198643429978b437d39ffe742d9d0d17955b66d4d EBUILD binutils-libs-9999.ebuild 6638 BLAKE2B 2282e7aaf994076ff284c72a0124f12f3fb2699e74a4e99c2e004117e0ad2b349ba9407fdc003ebcb72fcbebd110b76a5a94fad6fe2d33befcf78e18369d3713 SHA512 0c6170a7cb1486f16ffb68f33fa130debf016876aba46dece593e545cb8a72bdeb9048d646218eb24e21191726f439d321dd82162773b4e520badc6958b85e63 MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d diff --git a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild deleted file mode 100644 index 345e23f6ecb8..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER=3 -PATCH_DEV=dilfridge - -inherit flag-o-matic libtool toolchain-funcs multilib-minimal - -MY_PN="binutils" -MY_P="${MY_PN}-${PV}" -PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} -PATCH_DEV=${PATCH_DEV:-dilfridge} - -DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" -HOMEPAGE="https://sourceware.org/binutils/" -SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - -LICENSE="|| ( GPL-3 LGPL-3 )" - -SLOT="0/${PV%_p?}.0" - -IUSE="64-bit-bfd cet multitarget nls static-libs test" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -RESTRICT="!test? ( test )" - -BDEPEND=" - nls? ( sys-devel/gettext ) - test? ( dev-util/dejagnu ) -" -DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" -# Need a newer binutils-config that'll reset include/lib symlinks for us. -RDEPEND="${DEPEND} - >=sys-devel/binutils-config-5 -" - -S="${WORKDIR}/${MY_P%_p?}" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/bfd.h -) - -src_prepare() { - if [[ -n ${PATCH_VER} ]] ; then - einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" - eapply "${WORKDIR}/patch"/*.patch - fi - - # Fix cross-compile relinking issue, bug #626402 - elibtoolize - - if [[ ${CHOST} == *-darwin* ]] ; then - # somehow libtool/configure is messed up and (custom patch at - # upstream?) and misdetects (basically assumes) nm can be called - # with -B arg -- can't run eautoreconf (fails), so patch up - # manually, this would break any target that needs -B to nm - sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ - libctf/configure || die - fi - - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html - # Avoid really confusing logs from subconfigure spam, makes logs far - # more legible. - export MAKEOPTS="--output-sync=line ${MAKEOPTS}" - - default -} - -pkgversion() { - printf "Gentoo ${PVR}" - [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" -} - -multilib_src_configure() { - filter-lto - - # Workaround for lld-17 (bug #914640) - # Should be able to drop this w/ >=binutils-2.43 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # libiberty's or bfd's configure. - --disable-dependency-tracking - --disable-silent-rules - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - --disable-werror - --with-bugurl="https://bugs.gentoo.org/" - --with-pkgversion="$(pkgversion)" - $(use_enable static-libs static) - # The binutils eclass enables this flag for all bi-arch builds, - # but other tools often don't care about that support. Put it - # beyond a flag if people really want it, but otherwise leave - # it disabled as it can slow things down on 32bit arches. #438522 - $(use_enable 64-bit-bfd) - # This only disables building in the zlib subdir. - # For binutils itself, it'll use the system version. #591516 - --without-zlib - --with-system-zlib - # We only care about the libs, so disable programs. #528088 - --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # We pull in all USE-flags that change ABI in an incompatible - # way. #666100 - # USE=multitarget change size of global arrays - # USE=64-bit-bfd changes data structures of exported API - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Revisit if it's useful, we do have binutils[zstd] though - --without-zstd - - # 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) - ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - use nls \ - && myconf+=( --without-included-gettext ) \ - || myconf+=( --disable-nls ) - - if [[ ${CHOST} == *-darwin* ]] && use nls ; then - # fix underlinking in opcodes - sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ - "${S}"/opcodes/Makefile.in || die - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - # Prevent makeinfo from running as we don't build docs here. - # bug #622652 - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - # Provided by dev-debug/gdb instead - rm "${ED}"/usr/share/info/sframe-spec.info || die - - # Provide libiberty.h directly. - dosym libiberty/libiberty.h /usr/include/libiberty.h -} - -multilib_src_install_all() { - use static-libs || find "${ED}"/usr -name '*.la' -delete -} diff --git a/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild b/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild new file mode 100644 index 000000000000..b0746db92b98 --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.43-r3.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=3 +PATCH_DEV=dilfridge + +inherit flag-o-matic libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" + +if [[ ${PV} == 2.43 ]] ; then + SLOT="0/${PV%_p?}.1" +else + die "Please cleanup the ebuild to drop the 2.43 fudge!" + SLOT="0/${PV%_p?}.0" +fi + +IUSE="64-bit-bfd cet multitarget nls static-libs test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +RESTRICT="!test? ( test )" + +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( dev-util/dejagnu ) +" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + export MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + filter-lto + + # Workaround for lld-17 (bug #914640) + # Should be able to drop this w/ >=binutils-2.43 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # libiberty's or bfd's configure. + --disable-dependency-tracking + --disable-silent-rules + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Revisit if it's useful, we do have binutils[zstd] though + --without-zstd + + # 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) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Provided by dev-debug/gdb instead + rm "${ED}"/usr/share/info/sframe-spec.info || die + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sys-libs/binutils-libs/binutils-libs-2.43.ebuild b/sys-libs/binutils-libs/binutils-libs-2.43.ebuild deleted file mode 100644 index 6f4b3e427786..000000000000 --- a/sys-libs/binutils-libs/binutils-libs-2.43.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PATCH_VER=1 -PATCH_DEV=dilfridge - -inherit flag-o-matic libtool toolchain-funcs multilib-minimal - -MY_PN="binutils" -MY_P="${MY_PN}-${PV}" -PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} -PATCH_DEV=${PATCH_DEV:-dilfridge} - -DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" -HOMEPAGE="https://sourceware.org/binutils/" -SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" - -LICENSE="|| ( GPL-3 LGPL-3 )" - -SLOT="0/${PV%_p?}.0" - -IUSE="64-bit-bfd cet multitarget nls static-libs test" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -RESTRICT="!test? ( test )" - -BDEPEND=" - nls? ( sys-devel/gettext ) - test? ( dev-util/dejagnu ) -" -DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" -# Need a newer binutils-config that'll reset include/lib symlinks for us. -RDEPEND="${DEPEND} - >=sys-devel/binutils-config-5 -" - -S="${WORKDIR}/${MY_P%_p?}" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/bfd.h -) - -src_prepare() { - if [[ -n ${PATCH_VER} ]] ; then - einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" - eapply "${WORKDIR}/patch"/*.patch - fi - - # Fix cross-compile relinking issue, bug #626402 - elibtoolize - - if [[ ${CHOST} == *-darwin* ]] ; then - # somehow libtool/configure is messed up and (custom patch at - # upstream?) and misdetects (basically assumes) nm can be called - # with -B arg -- can't run eautoreconf (fails), so patch up - # manually, this would break any target that needs -B to nm - sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ - libctf/configure || die - fi - - # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html - # Avoid really confusing logs from subconfigure spam, makes logs far - # more legible. - export MAKEOPTS="--output-sync=line ${MAKEOPTS}" - - default -} - -pkgversion() { - printf "Gentoo ${PVR}" - [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" -} - -multilib_src_configure() { - filter-lto - - # Workaround for lld-17 (bug #914640) - # Should be able to drop this w/ >=binutils-2.43 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # libiberty's or bfd's configure. - --disable-dependency-tracking - --disable-silent-rules - --enable-obsolete - --enable-shared - --enable-threads - # Newer versions (>=2.24) make this an explicit option. #497268 - --enable-install-libiberty - --disable-werror - --with-bugurl="https://bugs.gentoo.org/" - --with-pkgversion="$(pkgversion)" - $(use_enable static-libs static) - # The binutils eclass enables this flag for all bi-arch builds, - # but other tools often don't care about that support. Put it - # beyond a flag if people really want it, but otherwise leave - # it disabled as it can slow things down on 32bit arches. #438522 - $(use_enable 64-bit-bfd) - # This only disables building in the zlib subdir. - # For binutils itself, it'll use the system version. #591516 - --without-zlib - --with-system-zlib - # We only care about the libs, so disable programs. #528088 - --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{gdb,libdecnumber,readline,sim} - # Strip out broken static link flags. - # https://gcc.gnu.org/PR56750 - --without-stage1-ldflags - # We pull in all USE-flags that change ABI in an incompatible - # way. #666100 - # USE=multitarget change size of global arrays - # USE=64-bit-bfd changes data structures of exported API - --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Revisit if it's useful, we do have binutils[zstd] though - --without-zstd - - # 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) - ) - - # mips can't do hash-style=gnu ... - if [[ $(tc-arch) != mips ]] ; then - myconf+=( --enable-default-hash-style=gnu ) - fi - - use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) - - use nls \ - && myconf+=( --without-included-gettext ) \ - || myconf+=( --disable-nls ) - - if [[ ${CHOST} == *-darwin* ]] && use nls ; then - # fix underlinking in opcodes - sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ - "${S}"/opcodes/Makefile.in || die - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - # Prevent makeinfo from running as we don't build docs here. - # bug #622652 - sed -i \ - -e '/^MAKEINFO/s:=.*:= true:' \ - Makefile || die -} - -multilib_src_install() { - emake DESTDIR="${D}" install - - # Provided by dev-debug/gdb instead - rm "${ED}"/usr/share/info/sframe-spec.info || die - - # Provide libiberty.h directly. - dosym libiberty/libiberty.h /usr/include/libiberty.h -} - -multilib_src_install_all() { - use static-libs || find "${ED}"/usr -name '*.la' -delete -} diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 6312f7a0fb3c..efe4ba685da5 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -14,11 +14,16 @@ DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b72 DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115 EBUILD compiler-rt-15.0.7-r1.ebuild 4252 BLAKE2B 7270c3ae2a4a30b79774cd38041ee5e4381a0393be7768d56c2a59000a509e2b48336467d34ee09f8d82afbe9f453f79ddc17a2708746f89d2227b66cbfc6b01 SHA512 836e4cc58522c48d6fc40ca27efd68d18cca9914ce1810ab0b6d307bfa163b9d8b883729b917fb5ff129985ec86e5ba655587c3f93980f73e762e2bfd4ca2ab4 +EBUILD compiler-rt-15.0.7-r2.ebuild 4300 BLAKE2B 8be3f40edc2c96a5d77e20937a4c2cefa4a8c01e1fcc19e12d85c7966bf4c91d3d3cac1428f6d0cc3b644c5198553f3c06b5f7b02785d7cad39f3180ad1b8327 SHA512 872479e5710bc9b83a8d837a356565724cb26d74ba782eb5237d43589fb1a3d2ff3a9a865ae05c3d831500a4f488a41c6230124df2b6095d041390a6439639f4 EBUILD compiler-rt-16.0.6-r5.ebuild 5235 BLAKE2B 7b246061a0f3de0f07d1610329d4a7a509028de9297aca31d986a5e8deb0396d3cfe3733a7b277e794ba90959974242154b46f8de3d331869c3b74d1b4073b3d SHA512 52bf753237708227cf61a75997a5dd82d8b5847a723b950048d8d386b254d2774456e895c0335020ced7514ee4b57e8d4d3bd9c8564b467c1119ef349d7c30c3 +EBUILD compiler-rt-16.0.6-r6.ebuild 5283 BLAKE2B dff8933f571221296767b9d7f74bec25129356b56b056a1d73983bcf4769970c5c8de35a7d987964eebd8a5997c2e17232299993d6ae891aef6e171c479635ae SHA512 997c0202453be2e28e1037d5dccdb38d19f497a9bc7574c8ba71c1665d4044c8367f5641bdce92b251552a835e8563b8ce3bb45eccc7805e8dc6e424c81776c3 EBUILD compiler-rt-17.0.6-r1.ebuild 5232 BLAKE2B 5a0f7dfe903120235504687ae76593ce902caa8d7aab9a3e3ad09eaafcb49ab14b433c5825c52bd0533230606ed8c79dbb4e276ed2a5bd51e01a0499c8510dbe SHA512 539024f986c1c72eaa5b401af443209451a100830be73ec445e4ccc073b867e5e4806438ea779b05c5a81f544ae81baf9148adc9f3eb95d31511bc5f239b5631 +EBUILD compiler-rt-17.0.6-r2.ebuild 5280 BLAKE2B 4416e574e23850b0f232437810f955189ff935511c293071a5660f4f44606453e9d84e4328eef22618393ec28dacf93dd4b4591a1bcb92964b562b7dfb839dac SHA512 ef3561a68d292ac5783181ab45a69e6e8146b43d48af393c6b0e920bfca485dadc9324e8e4109427bef5b33ba2858c7186a3cc6579fb14a05077b53fcef4f515 EBUILD compiler-rt-18.1.8-r1.ebuild 4987 BLAKE2B e32d8c2e8ae1b978600444420dfb2e9329c85fad13e91cbf494167aa4e57f24bf538a4417d3b47d4b87234ae26b48d88d6efd1a9413587ac4488e3a007a9ddff SHA512 0e103e1bf304892e41ec4935d390f7d2e5cfcf569f2cf22b091524d8c73fcf60e07f96f3e8d71949226852ce61777bc4a309aa9063ab87830c3fb94bf8082001 +EBUILD compiler-rt-18.1.8-r2.ebuild 5035 BLAKE2B 649b91d0de60e2196df00b5c0cb9ff46509cef719c1e86ef809f4679ac12178f8463e8eb577f39d0aeafd4e1a74d51e1cca00d71f329403c21696f3187e913b7 SHA512 088bd7dcb0df6bca9c482803fb86304b3625a034970fb414c05cdec4ea01b45a194c39dec5eeab13cadbae00dda37f0a51cdb0bea57561a9a060c4156281bb23 +EBUILD compiler-rt-19.1.3-r1.ebuild 5129 BLAKE2B 0275cd3e4655d9fe9848ca85b52a3f5228b87ea7d27788170ee28546452157d8768664becd7e3816832472c5e0422d4fb2ff14c2aba173372e3a44a4d8aad486 SHA512 281db5fc36b50d4c6a0a3264d5f2db70e28987cecf3005c43b9df51282cc3544be404fb4e732c53b6f147ae87eba34201ee21f9e3e1d4bce72a8042e02db0363 EBUILD compiler-rt-19.1.3.ebuild 5086 BLAKE2B 73ce4892ff3df803dae4ff3f3b17ed89939521acd437b0a1953dee8321c10270ca5a89ebd0bfed6658cd669a7fb22b5ea142123fc8c6303cc4665f06646172cb SHA512 6c20f142a5d91899ad5b6aac0af1a0e07bfb57b2bcb1cd010977299401991165547f4105e23d850fc038eaea053b035c578406828a35a2bac97481d21fed7154 -EBUILD compiler-rt-20.0.0.9999.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b +EBUILD compiler-rt-20.0.0.9999.ebuild 5020 BLAKE2B 52e31b19f267e5248073c2376f5b0ce545d0dd04549d29dd3e9a998e9b88b8a4151c64a640ec1fb00aebb225788062f258a3881a4b09d2034cce650db888f6d0 SHA512 fe9699e894a781e7747da827bc4a4a2d5e6655df1bad13379a10caede5bb94d4dd979dea30feac5d625b00485d4ec7ce72a5c62fa53538e8da9e1eda69565214 EBUILD compiler-rt-20.0.0_pre20241029.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b EBUILD compiler-rt-20.0.0_pre20241106.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild new file mode 100644 index 000000000000..830a5dc0145e --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_VERSION}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_PATCHSET=${PV/_/-} +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +test_compiler() { + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! test_compiler; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -emain ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_VERSION}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild new file mode 100644 index 000000000000..e43bba60aa8b --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake crossdev flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_PATCHSET=${PV}-r4 +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -emain ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild b/sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild new file mode 100644 index 000000000000..c5c7bdc62a1b --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake crossdev flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_PATCHSET=${PV} +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -emain ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild b/sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild new file mode 100644 index 000000000000..6fae972ab61d --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -e main ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild b/sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild new file mode 100644 index 000000000000..0e331798f968 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -e main ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild index 7642499a8792..e8c984678e90 100644 --- a/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild @@ -100,6 +100,7 @@ src_configure() { local mycmakeargs=( -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF -DCOMPILER_RT_BUILD_LIBFUZZER=OFF diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest index 04112ef5149a..e593a2f06052 100644 --- a/sys-libs/pkgcraft/Manifest +++ b/sys-libs/pkgcraft/Manifest @@ -1,8 +1,8 @@ DIST pkgcraft-c-0.0.14.tar.xz 29920400 BLAKE2B dc163e0fb9bcdfb283346cc2bc2dfec9111d4d70c0bbd7b37b9306cd1bcf1d262e99b8126db71608f16807224ca6a357a7449d7076ab57b225745c7bb69c6080 SHA512 9d47788b60a00f5d006787fa38606f12a738a86e587cff0df5671a959d1e970860f31546117f44187f17c0fa8b52e6ac8ad6ec2a767abcc985e470d5a5f9f4a5 DIST pkgcraft-c-0.0.15.tar.xz 22494284 BLAKE2B a1cccec51f0684282e5e962fc2c50a7a1ddb459dac0fb6c8d611aa4d51abc5a2394a5f3a43ad9599ae841b00678713559f1aeb7bc282309aa222d1024a50d67d SHA512 5e2c79c43f9e9113fc46b1c5cb9a78a70718eb9fd2ac9ba03d1586d6273649429b5f36ee5e832b58889914491ff9369803e509d5ba7c820a7e006df70cacf8e9 DIST pkgcraft-c-0.0.16.tar.xz 20787816 BLAKE2B 085ee23fce8e03fa82fcec210e31f032cbe51354a14de2f2261329f432c0f6460363898d735dc7ed1c4115a184d6b7a3ff9a7c4d1697b12e34729cda54f6c234 SHA512 a805919375c8791b73a803a61c10df9ba0db87381f7fdec976428cf07b287bd10f02a6c97d1b7bb4d483b37a4ec6e027ae397067b658e4a4b422102e42d814e3 -EBUILD pkgcraft-0.0.14.ebuild 1990 BLAKE2B 80c23006c2a0138ca870fe094aee7f4420b24638b3e14ed97ebc37a0eef8f5b59a8bb0f8978073db97e344573aa1f0f8fc00ca95e69c5b62240ac8c7297cf2b1 SHA512 7f1ecf8cf0b821abd1ee344119da3755055b310381ecd7c4246b90ff773ca42685242ecf92b74c4a5604389fce8b437be7b6ad29bfb2965d860cc02529dea1c0 -EBUILD pkgcraft-0.0.15.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e -EBUILD pkgcraft-0.0.16.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e -EBUILD pkgcraft-9999.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e +EBUILD pkgcraft-0.0.14-r1.ebuild 1970 BLAKE2B 68d3680d4ba4500df8fb778e4e07e62cab03c4bdc415daf4937e96565eaf6e099970d1a06e05db0a72d4cc919b0fddac49098064630d6dafdcbc60b5ba4fd092 SHA512 b6d58ce54aeade1ab018452906d6dd46b782b24304b2a5be5d7cf185d895e9229117d83f892c0b638c8640df7c184bd633dd272612bac0fc7ce20f60754b938b +EBUILD pkgcraft-0.0.15-r1.ebuild 1992 BLAKE2B d1b4bb1077a8d1a87cd690aa9215e01fa8d7fd01a5aa176750a58594adc8b6005a638f2331ed9a3c0545e6af79e0175bbdf4cd6636729b5366ad33eabdc5aa43 SHA512 bcbf79f63b7f1d82de72081d0d7206c183478607118ed62ba18946ac4a361d1678028f8d94533e898c9a443ac55965d5078e89ea28ca71345422f64b88fdac8e +EBUILD pkgcraft-0.0.16-r1.ebuild 1993 BLAKE2B 6aade5dbcffa45216f7e27f02118f0c8ea432bce2b98ef5e474cab4c145e74468fc804020d1a1ee5abbe1397156b5cef755d0903c63d350c249d1b0d1e1b8d79 SHA512 c3d143d69bb598c5b2ed62754090756d4a886021db8b808e8e1699a76e97cbebecd697d31f0ce8b561bfa5ed6fa651cbb9f558cf4f252efdba04eb5fbdaa9f01 +EBUILD pkgcraft-9999.ebuild 1969 BLAKE2B 22650287eddaa2ed9a48f9c106a685e39f217f3754a0a2ba3f92ae8d1f3ba7300f29c28009d9bef9dc9b9d6d3849ba30d92966ebffc91f7a3000eb00d20934e9 SHA512 dc5891eeb9718d6148efe33439f6257f9930c41cda6fe49392259c5dfa25ecbd2b5a42e1fcd80bd1e96199840f3bd98299450ff6d13ae421d2ffc5506544834b MISC metadata.xml 322 BLAKE2B b0ee0fc53eb8b4b485f74806a78b5560aaf53f1772d7bd3e5af4e03385b3f3aed18fc52462c2d49de6c0d735db0cae3fab175b8adc0e5f7c4baa89e28973776f SHA512 9343cd5028750182fe9325c44f4c4c7df0976b79e0422b66e0fd16f94be76eaa203e8ecad5ec2cbed3535f455f038e51968850ced9afb27af9a98b6b968df88a diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild new file mode 100644 index 000000000000..07b4580ff296 --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild deleted file mode 100644 index 5745de4a1c9f..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.71 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild new file mode 100644 index 000000000000..c34dff61599f --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +RUST_MIN_VER="1.77.1" + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild deleted file mode 100644 index a964805ae71c..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.76 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild new file mode 100644 index 000000000000..0fe19eb425da --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild @@ -0,0 +1,94 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +RUST_MIN_VER="1.77.1" + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild deleted file mode 100644 index a964805ae71c..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.76 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} diff --git a/sys-libs/pkgcraft/pkgcraft-9999.ebuild b/sys-libs/pkgcraft/pkgcraft-9999.ebuild index a964805ae71c..024776672574 100644 --- a/sys-libs/pkgcraft/pkgcraft-9999.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-9999.ebuild @@ -35,7 +35,6 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.76 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" -- cgit v1.2.3