mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 14:07:27 -08:00
app-portage/prefix-toolkit-11: revbump for updated startprefix script
Issue: https://github.com/gentoo/prefix-toolkit/pull/1 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
This commit is contained in:
parent
14d44e4575
commit
1fc8816900
@ -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
|
||||
|
||||
169
app-portage/prefix-toolkit/prefix-toolkit-11.ebuild
Normal file
169
app-portage/prefix-toolkit/prefix-toolkit-11.ebuild
Normal file
@ -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 $(<parent)
|
||||
do
|
||||
my_lsprofile "${p}" || exit 1
|
||||
done
|
||||
pwd -P
|
||||
)
|
||||
}
|
||||
local systemset="/etc/portage/profile/packages"
|
||||
dodir "${systemset%/*}"
|
||||
[[ -s ${EROOT}${systemset} ]] &&
|
||||
grep -v "# maintained by ${PN}" \
|
||||
"${EROOT}${systemset}" \
|
||||
> "${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}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user