From bdc9b55c978e3939e16252e66e83950cbecbf77c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 15 Jan 2023 05:54:04 +0000 Subject: gentoo auto-resync : 15:01:2023 - 05:54:04 --- sys-devel/Manifest.gz | Bin 10627 -> 10638 bytes sys-devel/binutils-hppa64/Manifest | 3 + .../binutils-hppa64/binutils-hppa64-2.40.ebuild | 503 +++++++++++++++++++++ sys-devel/binutils/Manifest | 2 +- sys-devel/binutils/binutils-2.40.ebuild | 4 +- sys-devel/gdb/Manifest | 10 +- sys-devel/gdb/gdb-12.1-r2.ebuild | 5 +- sys-devel/gdb/gdb-12.1-r3.ebuild | 5 +- sys-devel/gdb/gdb-13.0.50_p20221217.ebuild | 5 +- sys-devel/gdb/gdb-13.0.90_p20230110.ebuild | 5 +- sys-devel/gdb/gdb-9999.ebuild | 5 +- sys-devel/mold/Manifest | 4 +- sys-devel/mold/mold-1.7.1-r1.ebuild | 89 ---- sys-devel/mold/mold-1.9.0.ebuild | 89 ++++ 14 files changed, 610 insertions(+), 119 deletions(-) create mode 100644 sys-devel/binutils-hppa64/binutils-hppa64-2.40.ebuild delete mode 100644 sys-devel/mold/mold-1.7.1-r1.ebuild create mode 100644 sys-devel/mold/mold-1.9.0.ebuild (limited to 'sys-devel') diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz index 3ee594a07b7d..abf6f1774778 100644 Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest index 666bf88012c4..39cdd8a9bc9d 100644 --- a/sys-devel/binutils-hppa64/Manifest +++ b/sys-devel/binutils-hppa64/Manifest @@ -4,7 +4,10 @@ DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a36 DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d DIST binutils-2.39-patches-5.tar.xz 82924 BLAKE2B 2cf75f661989f22270d6afe5f3c543814eb6a331be4493016fa2871e1f10a84a123c1c51e77a19b35e46680b9fe77390cb1532ca40d470a6041fa768fed3ccd7 SHA512 4b5811b4822b3a06f590fc7d082dc0ddf18a6058ac23887254e2ee9bd63c7f06f1636e446152115c7e0b01a6c5298a0d9df6904bd1582e66504ccde80dd1ecbd DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 +DIST binutils-2.40-patches-1.tar.xz 12260 BLAKE2B d525502e08012080417634fd41981550362d4d799952e89f388af2a6e5db5b80e88bfdb0b5b1d2a1bcf8ebda529eefbced8fa2ae84c7fe3ddb10184e98d4b369 SHA512 140f80be786511f63651e67bf25c2992de6a21bac00a3252dcf98becc3f9379c8070ef1380d5542bbf2e1908c50dab2c7ebb651d13bb97609594fe9fd9f1f079 +DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b8300ac2fe0ed8574c012929d22d2d0493e003a3e631a9436e8e712da801779b777c566167fe42b0bde119ffa5ad1c2 SHA512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 EBUILD binutils-hppa64-2.37_p1-r2.ebuild 13273 BLAKE2B 2dd83c1466b42667496a8a37c40a2df498dd7b1de4ecd78a5583cd77ff27befa2bb22110e24622149b4a85c212f03e2a064aa961c13a966123eb8744caf02aa8 SHA512 e9575a12a0a13047c687c918c16ec4c3b93e10f26cb88add82ae1c2bb8f57c7619bc41a6586e231940412ae3974e327acdae567ce4e0e0523f2b654aadfb607b EBUILD binutils-hppa64-2.38-r2.ebuild 13286 BLAKE2B 0ea74ad439d7bc9ba9e4e79b69069f2cd14da3047c6ae4cb98932ce9dadedf5e4992e605d59762034df7aad5b6455d3df4bc994179acc29c53f9bc624a0c6826 SHA512 9bbc89df99cd78d26f5368600524dab466dbdf954b1affa5f5a04f25538b2caa89e8a08a2f514d5381299a0c5a47f200c7024b902e1d1b2c5f24081eb3410954 EBUILD binutils-hppa64-2.39-r4.ebuild 14291 BLAKE2B 4ed50e5d1d74e26fb4c8764249874835f41cc5428a71e4ace3df5d5f56ba5cb7fbd03a1ca4e10afafa7c7b0ccfa79dce53a3cf84a3cf4bee93d61022d6c5ae2c SHA512 784b89e8d29d328da306670c61d9a3d009b6dc84fedd04edf5dacd9f185264533dcfd440f3156771ca044932fd60cc47d55d63caf355dfeed132d7e79ed10a21 +EBUILD binutils-hppa64-2.40.ebuild 14292 BLAKE2B 7591cdf9f4cc1d00b244702e29fa3da3a2338829b04532e37243c851e1bec8d9eaaf8a144a9c276c8e4148199fb35456a2a22a57effec0d6e528fdaa317bdaed SHA512 58366787c99324277030c4a2e309a23b4e4dca67b5695fc8e264de94ceddff31301df143dd458496c090d76a774602155cb9525829e257338fb845a9faedf678 MISC metadata.xml 1004 BLAKE2B 069a799bb001c8c22afecebe6156098546f39e9e03c2ac194172ef6f0f49de976db90bfef03c634cdb696d9484d38bb5f2abb3fcbf7c6cda7cb14a39e5f4a87f SHA512 faa4cb332dd6eeff2ecd4dbfec67693bffcaafba588fb2ef6f64ea5e978c24646d0a555c39983497e660be1cd0518bf15dbc03f89584533f9271d58afb4a3f56 diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.40.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.40.ebuild new file mode 100644 index 000000000000..a02cbef8641b --- /dev/null +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.40.ebuild @@ -0,0 +1,503 @@ +# Copyright 1999-2023 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 strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="GPL-3+" +IUSE="cet default-gold doc gold gprofng 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=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="-* ~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 + app-alternatives/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 + + S="${WORKDIR}"/binutils + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + 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, bug #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible, bug #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 + + # 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() { + # 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. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + # 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, bug #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}" || die + 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. bug #446946 + # + # We used to do it for everyone, but it's slow on 32bit arches. bug #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 + ) + + 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, bug #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + + # These hardening options are available from 2.39+ but + # they unconditionally enable the behaviour even on arches + # where e.g. execstacks can't be avoided. + # See https://sourceware.org/bugzilla/show_bug.cgi?id=29592. + #--enable-warn-execstack + #--enable-warn-rwx-segments + #--disable-default-execstack (or is it --enable-default-execstack=no? docs are confusing) + + # Things to think about + #--enable-deterministic-archives + + # Works better than vapier's patch, bug #808787 + --enable-new-dtags + + --disable-jansson + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + # Disable modules that are in a combined binutils/gdb tree, bug #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. bug #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 + + # Avoid automagic dev-libs/msgpack dep, bug #865875 + --without-msgpack + + # 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) + + # We can enable this by default in future, but it's brand new + # in 2.39 with several bugs: + # - Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477) + # - No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521) + # - Broken at runtime without Java (https://sourceware.org/bugzilla/show_bug.cgi?id=29479) + # - binutils-config (and this ebuild?) needs adaptation first (https://bugs.gentoo.org/865113) + $(use_enable gprofng) + ) + + if ! is_cross ; then + # No LTO for HPPA64 right now as we don't build kgcc64 with LTO support. + myconf+=( $(use_enable pgo pgo-build) ) + + if use pgo ; then + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + ECONF_SOURCE="${S}" econf "${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}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake V=1 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}" || die + + # bug #637066 + filter-flags -Wall -Wreturn-type + + emake -k V=1 check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin || die + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905 + cd "${ED}"/${LIBPATH} || die + 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} || die + for x in * ; do + mv ${x} ${x/${CTARGET}-} || die + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + # No die for now, dies on hppa? + 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 + # TODO: add || die here, fails on hppa? + 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}" || die + 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} || die + + # 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 7792283121d0..299515748b83 100644 --- a/sys-devel/binutils/Manifest +++ b/sys-devel/binutils/Manifest @@ -30,6 +30,6 @@ EBUILD binutils-2.36.1-r2.ebuild 12823 BLAKE2B 850624989343ed5c904a595e274576703 EBUILD binutils-2.37_p1-r2.ebuild 13294 BLAKE2B ec26ea427eb05e6368b046b05eb45ee1818f76e37ccbfccb5b2c47654af7cc2de9a4583a1d1cac19b228d06ea8819a61a1889578159d3624f0a2a53fc63d632d SHA512 81f23fd8da3b6173bab2ccaaf21da02a7c52c3923ada533794fccea35747b25bd5cc0a47a21b72b2610227ef36a9ce9674fd8ae53a4c6af626fb3464ea783f7a EBUILD binutils-2.38-r2.ebuild 13672 BLAKE2B 84e1567892739e624554005600f8dbe123bcd524728bd1c06797fdfae2c91f39ddff5b6aac420c9571508f6f88b79a567c9144e5670f48c8fa4b7822e5ca5b02 SHA512 e7b6822f6482c3bbbab21292d19a267a711541e8757c7d1ea0c8b09cdfc71ba3beee98e53a56ab7d0789122bebca801e45d13d255b0051647dc1f89fa7a17680 EBUILD binutils-2.39-r4.ebuild 14198 BLAKE2B cbf86f3a11d9d2ea415feb730fb755f681306bcd18113517b5e3d89171b4ae494cfa10487025aa36800465d83c52f2c618aab611aecf512f9c70f17b85e4ba7f SHA512 a196dde125398f81bde1d635c97f17cc067324f19a428c6c582e47f803d36255bee0558054111f7dcbd253e00a6f107e7d1fc402d8b6a9f5cd29e932cada712e -EBUILD binutils-2.40.ebuild 13944 BLAKE2B 011e8f396d7ce160485844ba07a2c8ce31491415584e338d5148c2f4616bb2ba5b3b4bb4e0c64fb17a63ebac90a06501b57f8263b401e2465816e0c9c91f2c69 SHA512 989c87901d8e59a37f713c705fedeeac1315b2e820dc5aa548201f9a8f3d02cbca339e16a7fa660adc591d53f54933dec03ae87281839d587784ee9fc41e29c6 +EBUILD binutils-2.40.ebuild 13943 BLAKE2B 659bbb1f32190e417373904f218d6ece674c8d67b263d39800014f9097cc369ea7efcfb6503993c42841d986dca9128f565b5c6fcf413196d5a6626c798c1c51 SHA512 55c0a4af16f40ed67c69cb1062ab6bdfc45c4c9324bee588e0478cc7f89612a311f2a7db791b4a7be2bf98c0afe9d0d7e95ccc9429aa458836d429ac78521cf2 EBUILD binutils-9999.ebuild 14138 BLAKE2B 65094867d4d0eb69dceabb77216eaa0cb21b284fddb00b3e8830b9458d322092829839f78d5839e4b6a462072c50e6096da70ec78ab789458f63d8ab8aa6879c SHA512 33ccf13969d96337d65a0dde8e918971318f801d2b6f4595119a5c0e7e9015b1bdb7e4e64830be26a8dddebb02a6429adfda8b80493a6fda548c463981ef5bb0 MISC metadata.xml 889 BLAKE2B 9a627ab3db90639c30e19df93a064f9129d684ffe1176159d526ba7ba2e68c4c2cded8437382ceb97a5e2578fe79583042f6914a2b7650bb777ec1ce6bebd425 SHA512 b691e0335c2b059596557a3943047b0b8e718cc84c4fd885d44fe9887d3d170fce1317ba9949c3921a6e242434a24041777967e67beba911edf6932fe9f3d3cd diff --git a/sys-devel/binutils/binutils-2.40.ebuild b/sys-devel/binutils/binutils-2.40.ebuild index ae90473b9b61..f0924ed243d4 100644 --- a/sys-devel/binutils/binutils-2.40.ebuild +++ b/sys-devel/binutils/binutils-2.40.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi # diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 93ba1991b088..add44164f873 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -5,9 +5,9 @@ AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d2 DIST gdb-12.1.tar.xz 22470332 BLAKE2B 7f6f853d1640908cf2c79932cdc1ba02549a07721c005d9c7ce2946a715761719cc164a4e68235a18664ec8a029afe3a2a0cfb57e1635f280076d6bed91317fd SHA512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d DIST gdb-weekly-13.0.50.20221217.tar.xz 24801944 BLAKE2B 87c395665bfd5901bdac35d5abc5e2aa206805e7bbe484db7306f4e2b786db0114d442323fb224ae8920c5f13d0c9408dea8f0d0ccb98bacab96db7997df3ede SHA512 734139d50cdd98fa33b2ae473137bc389d5231119ceec99fa4c9004af277a065727a2f5dfa07aa7881f78138a90a7451cbfb87514a7cfd50415b90e369f124b9 DIST gdb-weekly-13.0.90.20230110.tar.xz 24802804 BLAKE2B d13bc0ce3bfd0197be31610385014df815c72a86f34b44beced0882267e8b5eecdd50545a85d84c5648771bb9a01b7e63680a424ad36e4d23c15470af6270f21 SHA512 d0c186c661b4648668213a5210f10d09ccbceb077e9e61a88cb1431e8feae4ad2ce74365024bb5f282f78225e118e808c5df30af9c46c4c368a41d4385f8918f -EBUILD gdb-12.1-r2.ebuild 8226 BLAKE2B 5b7a036678e07feb092abeff23605bdeeeca4281048fa1b1e683f7741af6bf0f185f7a1c1fa6f2fe053a88a9b1504512ef704dbff0cb5cb4f83d5152a585eecc SHA512 61792d088804d22552d9acf2a34f086e67f33281047886ea239742fbbec90464014b391efff4c066f937afcbca750aa410f94bdbe797cf31bb96968dd46236ad -EBUILD gdb-12.1-r3.ebuild 8268 BLAKE2B ba33e653936cb5da9a9459ff7ef0d56fa62865c83abc58b1f972fca58efeeb1e40b7982b4dd8615d9427e6ceae751e3c43e5dc19939aa79c40097f6aa9c9d2f1 SHA512 dde14b87b96192c85e0e5ab6ff6ce1e8e690940d0e821ef7308f1ecff9deebc96f3c445144905d6385de81d7e8283028b0f6ea08fbb07f452fcc016dd6c7248b -EBUILD gdb-13.0.50_p20221217.ebuild 8302 BLAKE2B cf54e8f9325cc18ded47c640dc7a479757aa2ce813ac67ebcf0e3e75b985056a926512d9d9feca8d08081f2b72ecc903affe86abf6ca7c6ad41924696772c759 SHA512 95bd0237aa6e0d51c8957c8ff776ce4f10461a636cff0398c3e393aaf66f4c91a45e7032b3c7680c4f2361e2fa2d825589407f9068bec01687d0696279be52bc -EBUILD gdb-13.0.90_p20230110.ebuild 8414 BLAKE2B 30afad46dfecffd3f9dc41d6ed645d57284af193fae518784e5012312be5126f98f92123225fb12ac5b156979b6aa03e75d2af78b5c197dc2db1b69a81272d24 SHA512 622a3af9957a660cae55c98cf00922af7a55409a60e7739f43b058f4276f605eae86969f7650f947858aa33dfdfb7cfd337a205ede1c8805098b7db6dad9a01f -EBUILD gdb-9999.ebuild 8414 BLAKE2B 30afad46dfecffd3f9dc41d6ed645d57284af193fae518784e5012312be5126f98f92123225fb12ac5b156979b6aa03e75d2af78b5c197dc2db1b69a81272d24 SHA512 622a3af9957a660cae55c98cf00922af7a55409a60e7739f43b058f4276f605eae86969f7650f947858aa33dfdfb7cfd337a205ede1c8805098b7db6dad9a01f +EBUILD gdb-12.1-r2.ebuild 8059 BLAKE2B 1fe85d05fb4153cc66929f89ec5cadb54885d157e4b0332b6f1a50e7ff8b4275b5444821a70b700ab20f7c37cbaea446a42c2fc718c076566d6c550bd730008d SHA512 0f42b99989377b2f6602cfb3039963a449ea40750af1c12a71f3f584dd1fa0db23f499a54016cad3e3e78a9e3abc0d8bdb6a35bda20d1f2d9891983672346f9c +EBUILD gdb-12.1-r3.ebuild 8101 BLAKE2B 476d029a59a1ab7bd2f2177b915568f6b39c8bfa6b2c45b9e4bb69bb75b5209ed8b6f969d4b3ce960166901447cc9d9a0bf7e314cdde4f5cb5584e04f475a5d1 SHA512 94a1fcc7b78479857f6221c08239aa37c03f518a58a8ee53d67e09282604700ba5e3990b7f07f93445cfd6ea27acf167670f845036b9312c79191ce04c6881a7 +EBUILD gdb-13.0.50_p20221217.ebuild 8135 BLAKE2B f88b8575290e5ba672238146588974f71153f4ccbefc88f609a6aaf9092c483a761f7eabba3b7faaba5c5ede49c0dfdb53847a92baf002dfea460f8628f9e68b SHA512 c2257b9d288c469c74bb7b6461a65ddfa029a5f75cca1d39bac2b40231b73705b7203a73716e7e2d14fd5f663549ea059fe7acaf3be297264b6b538c6f31f3a5 +EBUILD gdb-13.0.90_p20230110.ebuild 8247 BLAKE2B 7ee2145ca858bde3f4a26d6bc997a0cffc418c85b9e529747d21f9ab16ffd055accd4b5bf3ee18b801dfa449f3daffe9db72d9ce7a1c11bfe6bdeb143b6e13cc SHA512 227d576fe8e8f83e24ec248ff7eb2e24fcbb84aa73195da1a784eea67319cc6c10cb564992bf6c95cb61a35915fbae7060196404a80d7cab8fa755b914584b34 +EBUILD gdb-9999.ebuild 8247 BLAKE2B 7ee2145ca858bde3f4a26d6bc997a0cffc418c85b9e529747d21f9ab16ffd055accd4b5bf3ee18b801dfa449f3daffe9db72d9ce7a1c11bfe6bdeb143b6e13cc SHA512 227d576fe8e8f83e24ec248ff7eb2e24fcbb84aa73195da1a784eea67319cc6c10cb564992bf6c95cb61a35915fbae7060196404a80d7cab8fa755b914584b34 MISC metadata.xml 1242 BLAKE2B 368d8798d7d3b610653f635eb36ee5517912e8a2cb392622b32ac0aa90f336e3b391ba25811dee110644e50fabec0d64f6bcf3b219cdd240ec806e709a198eed SHA512 192fa340899680413c3d6c886ecd7d2262475a33aecc452192e5fe1d8e3eb5cf17546e57181e720128cf9b39cd8e4b1b1a73cb1f0c9887866c0ce88b288636e2 diff --git a/sys-devel/gdb/gdb-12.1-r2.ebuild b/sys-devel/gdb/gdb-12.1-r2.ebuild index 7de0753acf92..3fd6e33a28d9 100644 --- a/sys-devel/gdb/gdb-12.1-r2.ebuild +++ b/sys-devel/gdb/gdb-12.1-r2.ebuild @@ -56,10 +56,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # In fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. # As of 11.2, on amd64: "# of unexpected failures 8600" -# ia64 kernel crashes when gdb testsuite is running -# in fact, gdb's test suite needs some work to get passing. -# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. -# As of 11.2, on amd64: "# of unexpected failures 8600" +# Also, ia64 kernel crashes when gdb testsuite is running. RESTRICT=" ia64? ( test ) !test? ( test ) diff --git a/sys-devel/gdb/gdb-12.1-r3.ebuild b/sys-devel/gdb/gdb-12.1-r3.ebuild index fd320b3f8dbc..6c2b12a47111 100644 --- a/sys-devel/gdb/gdb-12.1-r3.ebuild +++ b/sys-devel/gdb/gdb-12.1-r3.ebuild @@ -53,10 +53,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # In fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. # As of 11.2, on amd64: "# of unexpected failures 8600" -# ia64 kernel crashes when gdb testsuite is running -# in fact, gdb's test suite needs some work to get passing. -# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. -# As of 11.2, on amd64: "# of unexpected failures 8600" +# Also, ia64 kernel crashes when gdb testsuite is running. RESTRICT=" ia64? ( test ) !test? ( test ) diff --git a/sys-devel/gdb/gdb-13.0.50_p20221217.ebuild b/sys-devel/gdb/gdb-13.0.50_p20221217.ebuild index 3e4ddd4a18b2..c3ffdf923040 100644 --- a/sys-devel/gdb/gdb-13.0.50_p20221217.ebuild +++ b/sys-devel/gdb/gdb-13.0.50_p20221217.ebuild @@ -57,10 +57,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # In fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. # As of 11.2, on amd64: "# of unexpected failures 8600" -# ia64 kernel crashes when gdb testsuite is running -# in fact, gdb's test suite needs some work to get passing. -# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. -# As of 11.2, on amd64: "# of unexpected failures 8600" +# Also, ia64 kernel crashes when gdb testsuite is running. RESTRICT=" ia64? ( test ) !test? ( test ) diff --git a/sys-devel/gdb/gdb-13.0.90_p20230110.ebuild b/sys-devel/gdb/gdb-13.0.90_p20230110.ebuild index 7787228d675e..5a1837450675 100644 --- a/sys-devel/gdb/gdb-13.0.90_p20230110.ebuild +++ b/sys-devel/gdb/gdb-13.0.90_p20230110.ebuild @@ -62,10 +62,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # In fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. # As of 11.2, on amd64: "# of unexpected failures 8600" -# ia64 kernel crashes when gdb testsuite is running -# in fact, gdb's test suite needs some work to get passing. -# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. -# As of 11.2, on amd64: "# of unexpected failures 8600" +# Also, ia64 kernel crashes when gdb testsuite is running. RESTRICT=" ia64? ( test ) !test? ( test ) diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild index 7787228d675e..5a1837450675 100644 --- a/sys-devel/gdb/gdb-9999.ebuild +++ b/sys-devel/gdb/gdb-9999.ebuild @@ -62,10 +62,7 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # In fact, gdb's test suite needs some work to get passing. # See e.g. https://sourceware.org/gdb/wiki/TestingGDB. # As of 11.2, on amd64: "# of unexpected failures 8600" -# ia64 kernel crashes when gdb testsuite is running -# in fact, gdb's test suite needs some work to get passing. -# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. -# As of 11.2, on amd64: "# of unexpected failures 8600" +# Also, ia64 kernel crashes when gdb testsuite is running. RESTRICT=" ia64? ( test ) !test? ( test ) diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest index 8b146d3865ee..3f125391d2a2 100644 --- a/sys-devel/mold/Manifest +++ b/sys-devel/mold/Manifest @@ -1,6 +1,6 @@ -DIST mold-1.7.1.tar.gz 8381932 BLAKE2B 3355304cfe4de7aa96608e68183868debe6d7749940c507e717c5f6def3344bf1bfba8605275506bec6bab018f921c1da87515c4a8fc4f4488d37d874e70c452 SHA512 2e1b6203591718976a3b6c22cb9cdc4037efd101ecb520b809aaa242ee758ee24ed98d0b53012fa8423725fd9b89da94e67603af57b9de1dfb3189a096e1ae5b DIST mold-1.8.0.tar.gz 8155820 BLAKE2B cd4285953ec56fa437d32c74b928617a50508c0b947dd0c0a3fac6813d7b929d9499f24aa2641faab78d5e81fbced48d734389c61313d752f509d25d2e1f9c61 SHA512 923158563c7abd39c7111e3871a90c7f6f17e0b2412c5de0c9924f3fb55d7fe57db4a83d8a20c3d4966b7b117d1c95cf4a59f63d5076db422b9aa5c3485fd7f8 -EBUILD mold-1.7.1-r1.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72 +DIST mold-1.9.0.tar.gz 8163212 BLAKE2B 09ce66e4214c184ea2f36720bc0f839f77ff2a708d56a5767d29758d62310eaf1193394d581c4352404958052c29c0cbc55a4826d10285beda50afb20bd51c80 SHA512 c1c45bced963d4f7c9b67905177157d6f76c518b234fe3eefa2a9ba6c35a08dd6659e64b7939744355ebcd72ae343ef0249ef6a0c80b4d77b1e69e327eb3ba19 EBUILD mold-1.8.0-r1.ebuild 2154 BLAKE2B ac12a67360e593048accf196631d268fe808f46689e5dda5f27d9caefa6f28f35db45c41283bbdf40b2ef1becac6fe0e9102a2dd70c1208e5a45ab573d75f5f3 SHA512 5ade48864229c969e4eaf7362dc18ae69284031f88a4ddf8dbd63c7230ec0274e0ad07d55df281c71c25f3329ba438ca2b51c10fee7680511e7685343e81594e +EBUILD mold-1.9.0.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72 EBUILD mold-9999.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72 MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6 diff --git a/sys-devel/mold/mold-1.7.1-r1.ebuild b/sys-devel/mold/mold-1.7.1-r1.ebuild deleted file mode 100644 index 8063ade34f39..000000000000 --- a/sys-devel/mold/mold-1.7.1-r1.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake 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 ~riscv ~x86" -fi - -# mold (AGPL-3) -# - xxhash (BSD-2) -LICENSE="AGPL-3 BSD-2" -SLOT="0" - -RDEPEND=" - app-arch/zstd:= - >=dev-cpp/tbb-2021.7.0-r1:= - sys-libs/zlib - !kernel_Darwin? ( - >=dev-libs/mimalloc-2:= - dev-libs/openssl:= - ) -" -DEPEND="${RDEPEND}" - -pkg_pretend() { - # Requires a c++20 compiler, see #831473 - if [[ ${MERGE_TYPE} != binary ]]; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then - die "${PN} needs at least gcc 10" - elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then - die "${PN} needs at least clang 12" - fi - fi -} - -src_prepare() { - cmake_src_prepare - - # Needs unpackaged dwarfdump - rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die - - # Heavy tests, need qemu - rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die - rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die - - # Sandbox sadness - rm test/elf/run.sh || die - sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ - test/elf/mold-wrapper{,2}.sh || die - - # static-pie tests require glibc built with static-pie support - if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then - rm test/elf/{,ifunc-}static-pie.sh || die - fi -} - -src_configure() { - local mycmakeargs=( - -DMOLD_ENABLE_QEMU_TESTS=OFF - -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS. - -DMOLD_USE_SYSTEM_MIMALLOC=ON - -DMOLD_USE_SYSTEM_TBB=ON - ) - cmake_src_configure -} - -src_install() { - dobin "${BUILD_DIR}"/${PN} - - # https://bugs.gentoo.org/872773 - insinto /usr/$(get_libdir)/mold - doins "${BUILD_DIR}"/${PN}-wrapper.so - - dodoc docs/{design,execstack}.md - doman docs/${PN}.1 - - dosym ${PN} /usr/bin/ld.${PN} - dosym ${PN} /usr/bin/ld64.${PN} - dosym ../../../usr/bin/${PN} /usr/libexec/${PN}/ld -} diff --git a/sys-devel/mold/mold-1.9.0.ebuild b/sys-devel/mold/mold-1.9.0.ebuild new file mode 100644 index 000000000000..8063ade34f39 --- /dev/null +++ b/sys-devel/mold/mold-1.9.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 2021-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake 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 ~riscv ~x86" +fi + +# mold (AGPL-3) +# - xxhash (BSD-2) +LICENSE="AGPL-3 BSD-2" +SLOT="0" + +RDEPEND=" + app-arch/zstd:= + >=dev-cpp/tbb-2021.7.0-r1:= + sys-libs/zlib + !kernel_Darwin? ( + >=dev-libs/mimalloc-2:= + dev-libs/openssl:= + ) +" +DEPEND="${RDEPEND}" + +pkg_pretend() { + # Requires a c++20 compiler, see #831473 + if [[ ${MERGE_TYPE} != binary ]]; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then + die "${PN} needs at least gcc 10" + elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then + die "${PN} needs at least clang 12" + fi + fi +} + +src_prepare() { + cmake_src_prepare + + # Needs unpackaged dwarfdump + rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die + + # Heavy tests, need qemu + rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die + rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die + + # Sandbox sadness + rm test/elf/run.sh || die + sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \ + test/elf/mold-wrapper{,2}.sh || die + + # static-pie tests require glibc built with static-pie support + if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then + rm test/elf/{,ifunc-}static-pie.sh || die + fi +} + +src_configure() { + local mycmakeargs=( + -DMOLD_ENABLE_QEMU_TESTS=OFF + -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS. + -DMOLD_USE_SYSTEM_MIMALLOC=ON + -DMOLD_USE_SYSTEM_TBB=ON + ) + cmake_src_configure +} + +src_install() { + dobin "${BUILD_DIR}"/${PN} + + # https://bugs.gentoo.org/872773 + insinto /usr/$(get_libdir)/mold + doins "${BUILD_DIR}"/${PN}-wrapper.so + + dodoc docs/{design,execstack}.md + doman docs/${PN}.1 + + dosym ${PN} /usr/bin/ld.${PN} + dosym ${PN} /usr/bin/ld64.${PN} + dosym ../../../usr/bin/${PN} /usr/libexec/${PN}/ld +} -- cgit v1.2.3