4 |
4 |
EAPI=7
|
5 |
5 |
|
6 |
6 |
DISTUTILS_EXT=1
|
7 |
|
PYTHON_COMPAT=( pypy3 python3_{10..11} )
|
|
7 |
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
8 |
8 |
PYTHON_REQ_USE='bzip2(+),threads(+)'
|
|
9 |
SETUPTOOLS_USE_DISTUTILS=local
|
9 |
10 |
TMPFILES_OPTIONAL=1
|
10 |
11 |
|
11 |
12 |
inherit distutils-r1 linux-info toolchain-funcs tmpfiles prefix
|
12 |
13 |
|
13 |
14 |
DESCRIPTION="The package management and distribution system for Gentoo"
|
14 |
15 |
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
|
15 |
|
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
|
|
16 |
|
|
17 |
if [[ ${PV} == 9999 ]] ; then
|
|
18 |
EGIT_REPO_URI="
|
|
19 |
https://anongit.gentoo.org/git/proj/portage.git
|
|
20 |
https://github.com/gentoo/portage.git
|
|
21 |
"
|
|
22 |
inherit git-r3
|
|
23 |
else
|
|
24 |
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
|
|
25 |
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
26 |
fi
|
16 |
27 |
|
17 |
28 |
LICENSE="GPL-2"
|
18 |
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86"
|
19 |
29 |
SLOT="0"
|
20 |
30 |
IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
|
21 |
31 |
RESTRICT="!test? ( test )"
|
22 |
32 |
|
23 |
33 |
BDEPEND="
|
24 |
|
app-arch/xz-utils
|
|
34 |
dev-python/setuptools[${PYTHON_USEDEP}]
|
25 |
35 |
test? ( dev-vcs/git )
|
26 |
36 |
"
|
27 |
37 |
DEPEND="
|
28 |
|
!build? ( $(python_gen_impl_dep 'ssl(+)') )
|
29 |
38 |
>=app-arch/tar-1.27
|
30 |
39 |
dev-lang/python-exec:2
|
31 |
40 |
>=sys-apps/sed-4.0.5 sys-devel/patch
|
32 |
|
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
|
|
41 |
!build? ( $(python_gen_impl_dep 'ssl(+)') )
|
33 |
42 |
apidoc? (
|
34 |
43 |
dev-python/sphinx[${PYTHON_USEDEP}]
|
35 |
44 |
dev-python/sphinx-epytext[${PYTHON_USEDEP}]
|
36 |
45 |
)
|
|
46 |
doc? (
|
|
47 |
app-text/xmlto
|
|
48 |
~app-text/docbook-xml-dtd-4.4
|
|
49 |
)
|
37 |
50 |
"
|
38 |
51 |
# Require sandbox-2.2 for bug #288863.
|
39 |
52 |
# For whirlpool hash, require python[ssl] (bug #425046).
|
... | ... | |
48 |
61 |
>=sys-apps/baselayout-2.9
|
49 |
62 |
>=sys-apps/findutils-4.4
|
50 |
63 |
!build? (
|
51 |
|
>=sys-apps/sed-4.0.5
|
52 |
|
>=app-shells/bash-5.0:0[readline]
|
53 |
64 |
>=app-admin/eselect-1.2
|
|
65 |
>=app-shells/bash-5.0:0[readline]
|
|
66 |
>=sys-apps/sed-4.0.5
|
|
67 |
>=sec-keys/openpgp-keys-gentoo-release-20230329
|
54 |
68 |
rsync-verify? (
|
55 |
69 |
>=app-portage/gemato-14.5[${PYTHON_USEDEP}]
|
56 |
|
>=sec-keys/openpgp-keys-gentoo-release-20220101
|
57 |
70 |
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
|
58 |
71 |
)
|
59 |
72 |
)
|
... | ... | |
70 |
83 |
!<app-portage/repoman-2.3.10
|
71 |
84 |
!~app-portage/repoman-3.0.0
|
72 |
85 |
"
|
|
86 |
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
|
87 |
# NOTE: FEATURES=installsources requires debugedit and rsync
|
73 |
88 |
PDEPEND="
|
74 |
89 |
!build? (
|
75 |
90 |
>=net-misc/rsync-2.6.4
|
... | ... | |
77 |
92 |
>=sys-apps/file-5.44-r3
|
78 |
93 |
)
|
79 |
94 |
"
|
80 |
|
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
81 |
|
# NOTE: FEATURES=installsources requires debugedit and rsync
|
|
95 |
|
|
96 |
PATCHES=(
|
|
97 |
# message patch used in 3.0.48.1 and 3.0.49 (bug 909853)
|
|
98 |
"${FILESDIR}/depgraph.py-fix-no-ebuilds-binpkgs-message.patch"
|
|
99 |
# backport from master to help Prefix bootstraps (bug #640658)
|
|
100 |
"${FILESDIR}/portage-3.0.49-prefixify-init-script-shebangs.patch"
|
|
101 |
)
|
|
102 |
|
|
103 |
distutils_enable_tests pytest
|
82 |
104 |
|
83 |
105 |
pkg_pretend() {
|
84 |
106 |
local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
|
... | ... | |
91 |
113 |
}
|
92 |
114 |
|
93 |
115 |
python_prepare_all() {
|
94 |
|
local PATCHES=(
|
95 |
|
)
|
96 |
|
|
97 |
116 |
distutils-r1_python_prepare_all
|
98 |
117 |
|
99 |
|
sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die
|
|
118 |
if [[ ${PV} != 9999 ]] ; then
|
|
119 |
sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die
|
|
120 |
fi
|
100 |
121 |
|
101 |
122 |
if use gentoo-dev; then
|
102 |
123 |
einfo "Disabling --dynamic-deps by default for gentoo-dev..."
|
... | ... | |
184 |
205 |
fi
|
185 |
206 |
}
|
186 |
207 |
|
187 |
|
python_test() {
|
188 |
|
esetup.py test
|
189 |
|
}
|
190 |
|
|
191 |
208 |
python_install() {
|
192 |
209 |
# Install sbin scripts to bindir for python-exec linking
|
193 |
210 |
# they will be relocated in pkg_preinst()
|