# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( pypy3 python3_{10..12} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 inherit meson linux-info python-r1 tmpfiles DESCRIPTION="The package management and distribution system for Gentoo" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI=" https://anongit.gentoo.org/git/proj/portage.git https://github.com/gentoo/portage.git " inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="GPL-2" SLOT="0" IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" # setuptools is still needed as a workaround for Python 3.12+ for now. # https://github.com/mesonbuild/meson/issues/7702 # # >=meson-1.2.1-r1 for bug #912051 BDEPEND=" ${PYTHON_DEPS} >=app-arch/tar-1.27 >=dev-build/meson-1.2.1-r1 || ( >=dev-build/meson-1.3.0-r1 =sys-apps/sed-4.0.5 sys-devel/patch !build? ( $(python_gen_impl_dep 'ssl(+)') ) apidoc? ( dev-python/sphinx[${PYTHON_USEDEP}] dev-python/sphinx-epytext[${PYTHON_USEDEP}] ) doc? ( ~app-text/docbook-xml-dtd-4.4 app-text/xmlto ) test? ( dev-python/pytest-xdist[${PYTHON_USEDEP}] dev-vcs/git ) " # Require sandbox-2.2 for bug #288863. # For whirlpool hash, require python[ssl] (bug #425046). RDEPEND=" ${PYTHON_DEPS} acct-user/portage >=app-arch/tar-1.27 app-arch/zstd >=app-misc/pax-utils-0.1.17 dev-lang/python-exec:2 >=sys-apps/baselayout-2.9 >=sys-apps/findutils-4.9 !build? ( >=app-admin/eselect-1.2 app-portage/getuto >=app-shells/bash-5.0:0 >=sec-keys/openpgp-keys-gentoo-release-20230329 >=sys-apps/sed-4.0.5 rsync-verify? ( >=app-crypt/gnupg-2.2.4-r2[ssl(-)] >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) elibc_glibc? ( >=sys-apps/sandbox-2.2 ) elibc_musl? ( >=sys-apps/sandbox-2.2 ) kernel_linux? ( sys-apps/util-linux ) selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) !/dev/null ; then chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} fi if has_version "<${CATEGORY}/${PN}-2.3.77"; then elog "The emerge --autounmask option is now disabled by default, except for" elog "portions of behavior which are controlled by the --autounmask-use and" elog "--autounmask-license options. For backward compatibility, previous" elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." elog "Users can get the old behavior simply by adding --autounmask to the" elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" elog "change, see https://bugs.gentoo.org/658648." fi } pkg_postinst() { # Warn about obsolete "enotice" script, bug #867010 local bashrc=${EROOT}/etc/portage/profile/profile.bashrc if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then eerror "Obsolete 'enotice' script detected!" eerror "Please remove this from ${bashrc} to avoid problems." eerror "See bug 867010 for more details." fi }