From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5C52715813A for ; Mon, 13 Jan 2025 20:03:44 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 54060E0825; Mon, 13 Jan 2025 20:03:41 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3E0DAE0825 for ; Mon, 13 Jan 2025 20:03:41 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 52DF1340BDE for ; Mon, 13 Jan 2025 20:03:40 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B20A41D2A for ; Mon, 13 Jan 2025 20:03:38 +0000 (UTC) From: "Fabian Groffen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Fabian Groffen" Message-ID: <1736798616.1fc8816900f5911eb3cda8478dd545f5d7f060bf.grobian@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-portage/prefix-toolkit/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-portage/prefix-toolkit/Manifest app-portage/prefix-toolkit/prefix-toolkit-11.ebuild X-VCS-Directories: app-portage/prefix-toolkit/ X-VCS-Committer: grobian X-VCS-Committer-Name: Fabian Groffen X-VCS-Revision: 1fc8816900f5911eb3cda8478dd545f5d7f060bf X-VCS-Branch: master Date: Mon, 13 Jan 2025 20:03:38 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e2693530-8f6b-44d4-b796-297005e34df7 X-Archives-Hash: 98c7338d993f6988906cd9653cd4ea00 commit: 1fc8816900f5911eb3cda8478dd545f5d7f060bf Author: Fabian Groffen gentoo org> AuthorDate: Mon Jan 13 20:02:40 2025 +0000 Commit: Fabian Groffen gentoo org> CommitDate: Mon Jan 13 20:03:36 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc88169 app-portage/prefix-toolkit-11: revbump for updated startprefix script Issue: https://github.com/gentoo/prefix-toolkit/pull/1 Signed-off-by: Fabian Groffen gentoo.org> app-portage/prefix-toolkit/Manifest | 1 + .../prefix-toolkit/prefix-toolkit-11.ebuild | 169 +++++++++++++++++++++ 2 files changed, 170 insertions(+) diff --git a/app-portage/prefix-toolkit/Manifest b/app-portage/prefix-toolkit/Manifest index ebd30aa764bd..d9e1c7f95653 100644 --- a/app-portage/prefix-toolkit/Manifest +++ b/app-portage/prefix-toolkit/Manifest @@ -1 +1,2 @@ DIST prefix-toolkit-10.tar.bz2 5715 BLAKE2B fe8b4642fc4f8fa97bd8c9dc4f9e907dd0ca464ddc20e28d2888354f766fce04dd6ebc3bfae23bc776c59986c8167cc94510fb950124917874c5dde4f68cddfe SHA512 58f7fabab8ce5e2c3b2f0725733d02e340efb714ecf3556c27dbe95e7cf9c4b2f4ae658c44749cf2c62111d1135c60c333bbf93ee1c7b79ea11b908cc923c730 +DIST prefix-toolkit-11.tar.bz2 5733 BLAKE2B 8077fb9c5a669d45ebec6e088d7770e149d1816db779828155857b5c5f3f90cfcc049194b683753feec997121409513a16b7f9f0b1757eabf1c011386145c018 SHA512 50e509f2c5a8cf6764820baa4d649cdb4f8a45529b116a508520cb9244f4fd6dbb728216ba853b15d118b7c7171f8913cdf7b05f84263b433f128f1f76758c3a diff --git a/app-portage/prefix-toolkit/prefix-toolkit-11.ebuild b/app-portage/prefix-toolkit/prefix-toolkit-11.ebuild new file mode 100644 index 000000000000..1a2fcf041b1b --- /dev/null +++ b/app-portage/prefix-toolkit/prefix-toolkit-11.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Utilities for users of Gentoo Prefix" +HOMEPAGE="https://prefix.gentoo.org/" +SRC_URI="https://gitweb.gentoo.org/proj/prefix/prefix-toolkit.git/snapshot/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" + +[[ ${PV} == 9999 ]] || +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +DEPEND="" +BDEPEND="${DEPEND} + >sys-apps/portage-2.3.62 +" +# In prefix-stack, these dependencies actually are the @system set, +# as we rely on the base prefix anyway for package management, +# which should have a proper @system set. +# Strictly speaking, only baselayout and gcc-config are necessary, but +# it is easier for now to install elt-patches, gentoo-functions and +# gnuconfig as well, instead of fixing all uses that expect them in +# EPREFIX rather than BROOT. +# See also: pkg_preinst +RDEPEND="${DEPEND} + prefix-stack? ( + sys-devel/gcc-config + app-portage/elt-patches + sys-apps/gentoo-functions + sys-devel/gnuconfig + ) +" + +src_unpack() { + default + + if use prefix-stack ; then + local editor pager + for editor in "${EDITOR}" {"${EPREFIX}","${BROOT}"}/bin/nano + do + [[ -x ${editor} ]] || continue + done + for pager in "${PAGER}" {"${EPREFIX}","${BROOT}"}/usr/bin/less + do + [[ -x ${pager} ]] || continue + done + printf '%s\n' "EDITOR=\"${editor}\"" "PAGER=\"${pager}\"" > 000fallback + fi +} + +my_prefixify() { + local ebash eenv + if use prefix-stack ; then + ebash="${BROOT}/bin/bash" + eenv="${BROOT}/usr/bin/env" + else + ebash="${EPREFIX}/bin/bash" + eenv="${EPREFIX}/usr/bin/env" + fi + + # the @=@ prevents repoman from believing we set readonly vars + sed -e "s,@GENTOO_PORTAGE_BPREFIX@,${BROOT},g" \ + -e "s,@GENTOO_PORTAGE_EPREFIX@,${EPREFIX},g" \ + -e "s,@GENTOO_PORTAGE_CHOST@,${CHOST},g" \ + -e "s,@GENTOO_PORTAGE_EBASH@,${ebash},g" \ + -e "s,@GENTOO_PORTAGE_EENV@,${eenv},g" \ + -e "s,@=@,=,g" \ + -i "$@" || die +} + +src_configure() { + # do not eprefixify during unpack, to allow userpatches to apply + my_prefixify * +} + +src_install-prefix-stack-ccwrap() { + # install toolchain wrapper. + local wrapperdir=/usr/${CHOST}/gcc-bin/${CHOST}-${PN}/${PV} + local wrappercfg=${CHOST}-${P} + + exeinto $wrapperdir + doexe prefix-stack-ccwrap + + local cc + for cc in \ + gcc \ + g++ \ + cpp \ + c++ \ + windres \ + ; do + dosym prefix-stack-ccwrap $wrapperdir/${CHOST}-${cc} + dosym ${CHOST}-${cc} $wrapperdir/${cc} + done + + # LDPATH is required to keep gcc-config happy :( + cat > ./${wrappercfg} <<-EOF + GCC_PATH="${EPREFIX}$wrapperdir" + LDPATH="${EPREFIX}$wrapperdir" + EOF + + insinto /etc/env.d/gcc + doins ./${wrappercfg} +} + +src_install() { + if use prefix-stack; then + src_install-prefix-stack-ccwrap + insinto /etc + doins prefix-stack.bash_login + insinto /etc/bash + newins prefix-stack.bashrc bashrc + newenvd prefix-stack.envd.99stack 99stack + doenvd 000fallback + keepdir /usr/share/aclocal + else + dobin prefix-stack-setup + fi + if use prefix; then + exeinto / + doexe startprefix + fi +} + +pkg_preinst() { + use prefix-stack || return 0 + ebegin "Purging @system package set for prefix stack" + # In prefix stack we empty out the @system set defined via make.profile, + # as we may be using some normal profile, but that @system set applies + # to the base prefix only. + # Instead, we only put ourselve into the @system set, and have additional + # @system packages in our RDEPEND. + my_lsprofile() { + ( + cd -P "${1:-.}" || exit 1 + [[ -r ./parent ]] && + for p in $( "${ED}${systemset}" + local p + for p in $(my_lsprofile "${EPREFIX}"/etc/portage/make.profile) + do + [[ -s ${p}/${systemset##*/} ]] || continue + awk '/^[ \t]*[^-#]/{print "-" $1 " # maintained by '"${PN}-${PVR}"'"}' \ + < "${p}"/packages || die + done | sort -u >> "${ED}${systemset}" + [[ ${PIPESTATUS[@]} == "0 0" ]] || die "failed to collect for ${systemset}" + echo "*${CATEGORY}/${PN} # maintained by ${PN}-${PVR}" >> "${ED}${systemset}" || die + eend $? +} + +pkg_postinst() { + use prefix-stack || return 0 + [[ -x ${EROOT}/usr/bin/gcc-config ]] || return 0 + "${EROOT}"/usr/bin/gcc-config ${CHOST}-${P} +}