summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/diamond/Manifest1
-rw-r--r--app-admin/diamond/diamond-4.0.515.20180315.ebuild86
-rw-r--r--app-admin/diamond/diamond-9999.ebuild7
-rw-r--r--dev-libs/libltdl/Manifest2
-rw-r--r--dev-libs/libltdl/libltdl-1.3.5.ebuild42
-rw-r--r--dev-libs/libltdl/libltdl-1.5.26.ebuild38
-rw-r--r--dev-python/pycairo/pycairo-1.18.2.ebuild3
-rw-r--r--dev-python/pyproj/pyproj-2.4.1.ebuild3
-rw-r--r--dev-python/setuptools/setuptools-40.6.3.ebuild1
-rw-r--r--dev-python/setuptools/setuptools-41.5.1.ebuild1
-rw-r--r--dev-python/setuptools/setuptools-42.0.0.ebuild1
-rw-r--r--dev-python/setuptools/setuptools-42.0.1.ebuild1
-rw-r--r--dev-python/setuptools/setuptools-9999.ebuild1
-rw-r--r--eclass/distutils-r1.eclass82
-rw-r--r--eclass/git-r3.eclass3
-rw-r--r--eclass/python-r1.eclass78
-rw-r--r--eclass/python-single-r1.eclass280
-rw-r--r--eclass/python-utils-r1.eclass6
-rw-r--r--net-dns/libidn/Manifest2
-rw-r--r--net-dns/libidn/files/libidn-1.33-CVE-2017-14062.patch77
-rw-r--r--net-dns/libidn/files/libidn-1.33-parallel-make.patch115
-rw-r--r--net-dns/libidn/libidn-1.33-r2.ebuild122
-rw-r--r--net-dns/libidn/libidn-1.33-r99.ebuild59
-rw-r--r--skel.ebuild13
-rw-r--r--sys-apps/portage/portage-2.3.69.ebuild1
-rw-r--r--sys-apps/portage/portage-2.3.76-r1.ebuild1
-rw-r--r--sys-apps/portage/portage-2.3.79.ebuild1
-rw-r--r--sys-apps/portage/portage-2.3.80-r1.ebuild1
-rw-r--r--sys-apps/portage/portage-2.3.81.ebuild1
-rw-r--r--sys-apps/portage/portage-9999.ebuild1
-rw-r--r--x11-misc/xtrace/metadata.xml16
31 files changed, 361 insertions, 685 deletions
diff --git a/app-admin/diamond/Manifest b/app-admin/diamond/Manifest
index 3cfe85f452f6..d73e7280e28d 100644
--- a/app-admin/diamond/Manifest
+++ b/app-admin/diamond/Manifest
@@ -1,2 +1,3 @@
+DIST python-diamond-4.0.515.20180315.tar.gz 673084 BLAKE2B a1903368fc1b540028038a401cf68c772fd04d5d19dc7e3773c9909c1b4ccb5eeba6e184fd46da83e9c0234675e51331a4097a810191ac1a18242cbf96b0456c SHA512 8497362659fa43e4c72bd28d03ff9d8b3ccaab3901cb5e0e1e252340b70a6ab0972db37863daad0d7dd8e92c83a82f9ec151af07ca5fdafee0d214a7061b5f9f
DIST python-diamond-4.0.515.tar.gz 620337 BLAKE2B 8df675f7e91086dc6e98166c3f6c25c7837bd53f720cd0dfdf05a1dd2954aaa190bfe8844d01acfcdf46d5be917c29c0e231f2b433a648d6dcc1f34e2c617d91 SHA512 8516e46f4f75400a55ca0127789344a897fc7cd6c10f0f8379d30db58de5a09ae676e340371cdf1a0c9ca894fd355699a1a0f430bfad148e32157d5eb97aaef5
DIST python-diamond-4.0.tar.gz 491433 BLAKE2B ddf678b758b046b80fe347c2cd8ce2fec46f03e65415735d88969d66dc05466730e52df9e8efc27e3a3bff13862c4efcc393de6d05ec6d350e3912a706d298cb SHA512 c4a6e63bdc55f9e0ac2fbf3b644be91662635c08ecc864dfaaebf2fe62fb45609c099da63efd93ed498d2dc9e95bbcb64be09f715e21d59b30bce958a96dc56b
diff --git a/app-admin/diamond/diamond-4.0.515.20180315.ebuild b/app-admin/diamond/diamond-4.0.515.20180315.ebuild
new file mode 100644
index 000000000000..8882dd7f46ca
--- /dev/null
+++ b/app-admin/diamond/diamond-4.0.515.20180315.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/python-diamond/Diamond.git"
+ S=${WORKDIR}/diamond-${PV}
+else
+ GHASH=0f3eb04327d6d3ed5e53a9967d6c9d2c09714a47
+ SRC_URI="https://github.com/python-diamond/Diamond/archive/${GHASH}.tar.gz -> python-diamond-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ S=${WORKDIR}/Diamond-${GHASH}
+fi
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit distutils-r1 prefix
+
+DESCRIPTION="Python daemon that collects and publishes system metrics"
+HOMEPAGE="https://github.com/python-diamond/Diamond"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test mongo mysql snmp redis"
+
+RDEPEND="dev-python/configobj
+ dev-python/setproctitle
+ mongo? ( dev-python/pymongo )
+ mysql? ( dev-python/mysql-python )
+ snmp? ( dev-python/pysnmp )
+ redis? ( dev-python/redis-py )
+ !kernel_linux? ( >=dev-python/psutil-3 )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mock
+ dev-python/pysnmp
+ )"
+
+src_prepare() {
+ # adjust for Prefix
+ hprefixify bin/diamond*
+
+ # fix the version (not set in GitHub archive)
+ sed -i -e "s/__VERSIONTOKENHERE__/${PV}/" src/diamond/version.py.tmpl || die
+ # fix psutil usage
+ sed -i -e 's/psutil\.network_io_counters/psutil.net_io_counters/' \
+ src/collectors/network/network.py || die
+ # fix symlink out of place
+ rm README.md || die
+ cp docs/index.md README.md || die
+
+ # this module isn't Python3 yet (lambda), if you use this and have a
+ # fix, let me know
+ rm src/diamond/handler/rrdtool.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # don't want to depend on docker for just this
+ mv src/collectors/docker_collector/test/{test,no}docker_collector.py || die
+ # fails on binding ports
+ mv src/collectors/portstat/tests/{test,no}_portstat.py || die
+ "${PYTHON}" ./test.py || die "Tests fail with ${PYTHON}"
+}
+
+python_install() {
+ export VIRTUAL_ENV=1
+ distutils-r1_python_install
+ python_optimize
+ mv "${ED}"/usr/etc "${ED}"/ || die
+ rm "${ED}"/etc/diamond/*.windows # won't need these
+ sed -i \
+ -e '/pid_file =/s:/var/run:/run:' \
+ "${ED}"/etc/diamond/diamond.conf.example || die
+ hprefixify "${ED}"/etc/diamond/diamond.conf.example
+}
+
+src_install() {
+ distutils-r1_src_install
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ keepdir /var/log/diamond
+}
diff --git a/app-admin/diamond/diamond-9999.ebuild b/app-admin/diamond/diamond-9999.ebuild
index 57df76bc0741..73f30e45464a 100644
--- a/app-admin/diamond/diamond-9999.ebuild
+++ b/app-admin/diamond/diamond-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
if [[ ${PV} = 9999* ]]; then
inherit git-r3
@@ -13,7 +13,7 @@ else
S=${WORKDIR}/Diamond-${PV}
fi
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_6 )
inherit distutils-r1 prefix
@@ -55,6 +55,7 @@ python_test() {
python_install() {
export VIRTUAL_ENV=1
distutils-r1_python_install
+ python_optimize
mv "${ED}"/usr/etc "${ED}"/ || die
rm "${ED}"/etc/diamond/*.windows # won't need these
sed -i \
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
index 3b6a50db076e..4f2d5bac1893 100644
--- a/dev-libs/libltdl/Manifest
+++ b/dev-libs/libltdl/Manifest
@@ -1,3 +1 @@
-DIST libtool-1.3.5.tar.gz 538884 BLAKE2B 769c0ab679d5665bb729f97dc5c02b6e8921532788009425195c93971d8886547824e838a4dea559ccb365a86f600a250bccd8cb559e9be2158f9db3463f3ec4 SHA512 e7e693da0e87bc3b178b270c1d5b0d46116d1624f6e3657ad75bc381bcbba8949ab0913fe3985c77e9dd0ee519df7da9c5ee3b4f6030ad1d4651de2e642c4bd6
-DIST libtool-1.5.26.tar.gz 2961939 BLAKE2B c12ea59cc828ee7aa85ef445e3b0586ddfa8629824e308f46c74ac64dd8b73f0e4675d6673c09d76714c841f29b33000318eebfca3c5d28657327017e30b2372 SHA512 fcd39856c8cd457c97f176d5f6ce97fd93108808ce24315d179a7c9ca85bb90e799afaa83bc283ec627d73cfe0e0710d36a1ee8f39c9963cf2e806e64a0e0bcf
DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4
diff --git a/dev-libs/libltdl/libltdl-1.3.5.ebuild b/dev-libs/libltdl/libltdl-1.3.5.ebuild
deleted file mode 100644
index 7e48b626acbd..000000000000
--- a/dev-libs/libltdl/libltdl-1.3.5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# This ebuild provides libltdl.so.0.
-
-EAPI="4"
-
-inherit multilib-minimal
-
-MY_P="libtool-${PV}"
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-SRC_URI="mirror://gnu/libtool/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="1.3"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
-IUSE=""
-# libltdl doesn't have a testsuite.
-RESTRICT="test"
-
-RDEPEND="!sys-devel/libtool:1.3"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-ltdl-install \
- --disable-static
-}
-
-multilib_src_compile() {
- emake -C libltdl
-}
-
-multilib_src_install() {
- emake -C libltdl DESTDIR="${D}" install-exec
- # basically we just install ABI libs for old packages
- rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
-}
diff --git a/dev-libs/libltdl/libltdl-1.5.26.ebuild b/dev-libs/libltdl/libltdl-1.5.26.ebuild
deleted file mode 100644
index 28eccdaf6bbf..000000000000
--- a/dev-libs/libltdl/libltdl-1.5.26.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# This ebuild provides libltdl.so.3.
-
-EAPI="4"
-
-inherit multilib-minimal
-
-MY_P="libtool-${PV}"
-
-DESCRIPTION="A shared library tool for developers"
-HOMEPAGE="https://www.gnu.org/software/libtool/"
-SRC_URI="mirror://gnu/libtool/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="1.5"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
-IUSE=""
-# libltdl doesn't have a testsuite.
-RESTRICT="test"
-
-RDEPEND="!sys-devel/libtool:1.5"
-
-S="${WORKDIR}/${MY_P}/libltdl"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-ltdl-install \
- --disable-static
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install-exec
- # basically we just install ABI libs for old packages
- rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
-}
diff --git a/dev-python/pycairo/pycairo-1.18.2.ebuild b/dev-python/pycairo/pycairo-1.18.2.ebuild
index d1e334554fd1..9f1cd5f0198d 100644
--- a/dev-python/pycairo/pycairo-1.18.2.ebuild
+++ b/dev-python/pycairo/pycairo-1.18.2.ebuild
@@ -32,7 +32,8 @@ DEPEND="${RDEPEND}"
RESTRICT="!test? ( test )"
python_check_deps() {
- use doc && has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+ use doc || return 0
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
}
python_compile_all() {
diff --git a/dev-python/pyproj/pyproj-2.4.1.ebuild b/dev-python/pyproj/pyproj-2.4.1.ebuild
index 4caf7eaf1353..52b61f2b5316 100644
--- a/dev-python/pyproj/pyproj-2.4.1.ebuild
+++ b/dev-python/pyproj/pyproj-2.4.1.ebuild
@@ -31,7 +31,8 @@ BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
distutils_enable_tests pytest
python_check_deps() {
- use doc && has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+ use doc || return 0
+ has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
}
python_prepare_all() {
diff --git a/dev-python/setuptools/setuptools-40.6.3.ebuild b/dev-python/setuptools/setuptools-40.6.3.ebuild
index d5d482efd58e..a21883a89f89 100644
--- a/dev-python/setuptools/setuptools-40.6.3.ebuild
+++ b/dev-python/setuptools/setuptools-40.6.3.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy{,3} )
PYTHON_REQ_USE="xml(+)"
diff --git a/dev-python/setuptools/setuptools-41.5.1.ebuild b/dev-python/setuptools/setuptools-41.5.1.ebuild
index ff4a7aa54630..a7b9022b6a0c 100644
--- a/dev-python/setuptools/setuptools-41.5.1.ebuild
+++ b/dev-python/setuptools/setuptools-41.5.1.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} )
PYTHON_REQ_USE="xml(+)"
diff --git a/dev-python/setuptools/setuptools-42.0.0.ebuild b/dev-python/setuptools/setuptools-42.0.0.ebuild
index e7aa7c945a85..8c33401e75bd 100644
--- a/dev-python/setuptools/setuptools-42.0.0.ebuild
+++ b/dev-python/setuptools/setuptools-42.0.0.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} )
PYTHON_REQ_USE="xml(+)"
diff --git a/dev-python/setuptools/setuptools-42.0.1.ebuild b/dev-python/setuptools/setuptools-42.0.1.ebuild
index 0c293d1ea950..58369bab16cb 100644
--- a/dev-python/setuptools/setuptools-42.0.1.ebuild
+++ b/dev-python/setuptools/setuptools-42.0.1.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} )
PYTHON_REQ_USE="xml(+)"
diff --git a/dev-python/setuptools/setuptools-9999.ebuild b/dev-python/setuptools/setuptools-9999.ebuild
index 8d522c4213f5..34b0627c0728 100644
--- a/dev-python/setuptools/setuptools-9999.ebuild
+++ b/dev-python/setuptools/setuptools-9999.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} )
PYTHON_REQ_USE="xml(+)"
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0c5d6781f83d..fae25ea8a5ec 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -77,9 +77,23 @@ esac
# to be exported. It must be run in order for the eclass functions
# to function properly.
+# @ECLASS-VARIABLE: DISTUTILS_USE_SETUPTOOLS
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Controls adding dev-python/setuptools dependency. The allowed values
+# are:
+#
+# - no -- do not add the dependency (pure distutils package)
+# - bdepend -- add it to BDEPEND (the default)
+# - rdepend -- add it to BDEPEND+RDEPEND (when using entry_points)
+#
+# This variable is effective only if DISTUTILS_OPTIONAL is disabled.
+# It needs to be set before the inherit line.
+: ${DISTUTILS_USE_SETUPTOOLS:=bdepend}
+
if [[ ! ${_DISTUTILS_R1} ]]; then
-[[ ${EAPI} == [45] ]] && inherit eutils
+[[ ${EAPI} == [456] ]] && inherit eutils
[[ ${EAPI} == [56] ]] && inherit xdg-utils
inherit multiprocessing toolchain-funcs
@@ -97,15 +111,35 @@ fi
if [[ ! ${_DISTUTILS_R1} ]]; then
-if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
- RDEPEND=${PYTHON_DEPS}
+_distutils_set_globals() {
+ local rdep=${PYTHON_DEPS}
+ local bdep=${rdep}
+
+ case ${DISTUTILS_USE_SETUPTOOLS} in
+ no)
+ ;;
+ bdepend)
+ bdep+=" dev-python/setuptools[${PYTHON_USEDEP}]"
+ ;;
+ rdepend)
+ bdep+=" dev-python/setuptools[${PYTHON_USEDEP}]"
+ rdep+=" dev-python/setuptools[${PYTHON_USEDEP}]"
+ ;;
+ *)
+ die "Invalid DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}"
+ ;;
+ esac
+
+ RDEPEND=${rdep}
if [[ ${EAPI} != [56] ]]; then
- BDEPEND=${PYTHON_DEPS}
+ BDEPEND=${bdep}
else
- DEPEND=${PYTHON_DEPS}
+ DEPEND=${bdep}
fi
REQUIRED_USE=${PYTHON_REQUIRED_USE}
-fi
+}
+[[ ! ${DISTUTILS_OPTIONAL} ]] && _distutils_set_globals
+unset -f _distutils_set_globals
# @ECLASS-VARIABLE: PATCHES
# @DEFAULT_UNSET
@@ -395,6 +429,41 @@ distutils_enable_tests() {
return 0
}
+# @FUNCTION: _distutils-r1_verify_use_setuptools
+# @INTERNAL
+# @DESCRIPTION:
+# Check setup.py for signs that DISTUTILS_USE_SETUPTOOLS have been set
+# incorrectly.
+_distutils_verify_use_setuptools() {
+ [[ ${DISTUTILS_OPTIONAL} ]] && return
+
+ # ok, those are cheap greps. we can try toimprove them if we hit
+ # false positives.
+ local expected=no
+ if [[ ${CATEGORY}/${PN} == dev-python/setuptools ]]; then
+ # as a special case, setuptools provides itself ;-)
+ :
+ elif grep -E -q -s '(from|import)\s+setuptools' setup.py; then
+ if grep -E -q -s 'entry_points\s+=' setup.py; then
+ expected=rdepend
+ else
+ expected=bdepend
+ fi
+ fi
+
+ if [[ ${DISTUTILS_USE_SETUPTOOLS} != ${expected} ]]; then
+ if [[ ! ${_DISTUTILS_SETUPTOOLS_WARNED} ]]; then
+ _DISTUTILS_SETUPTOOLS_WARNED=1
+ local def=
+ [[ ${DISTUTILS_USE_SETUPTOOLS} == bdepend ]] && def=' (default?)'
+
+ eqawarn "DISTUTILS_USE_SETUPTOOLS value is probably incorrect"
+ eqawarn " value: DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}${def}"
+ eqawarn " expected: DISTUTILS_USE_SETUPTOOLS=${expected}"
+ fi
+ fi
+}
+
# @FUNCTION: esetup.py
# @USAGE: [<args>...]
# @DESCRIPTION:
@@ -417,6 +486,7 @@ esetup.py() {
[[ ${EAPI} != [45] ]] && die_args+=( -n )
[[ ${BUILD_DIR} ]] && _distutils-r1_create_setup_cfg
+ _distutils_verify_use_setuptools
set -- "${EPYTHON:-python}" setup.py "${mydistutilsargs[@]}" "${@}"
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index b1c7f7f43abc..e0d2bbb5edc0 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -556,6 +556,9 @@ _git-r3_is_local_repo() {
git-r3_fetch() {
debug-print-function ${FUNCNAME} "$@"
+ # disable password prompts, https://bugs.gentoo.org/701276
+ local -x GIT_TERMINAL_PROMPT=0
+
# process repos first since we create repo_name from it
local repos
if [[ ${1} ]]; then
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 335ae9fe6370..e87b59967cde 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -195,11 +195,7 @@ _python_set_globals() {
# but no point in making this overcomplex, BDEP doesn't hurt anyone
# 2) python-exec should be built with all targets forced anyway
# but if new targets were added, we may need to force a rebuild
- if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then
- die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2"
- else
- deps+=">=dev-lang/python-exec-2:=[${usedep}]"
- fi
+ deps+=">=dev-lang/python-exec-2:=[${usedep}]"
if [[ ${PYTHON_DEPS+1} ]]; then
# IUSE is magical, so we can't really check it
@@ -276,9 +272,47 @@ _python_validate_useflags() {
die "No supported Python implementation in PYTHON_TARGETS."
}
+# @FUNCTION: _python_gen_usedep
+# @INTERNAL
+# @USAGE: [<pattern>...]
+# @DESCRIPTION:
+# Output a USE dependency string for Python implementations which
+# are both in PYTHON_COMPAT and match any of the patterns passed
+# as parameters to the function.
+#
+# The patterns can be either fnmatch-style patterns (matched via bash
+# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
+# appropriately all enabled Python 2/3 implementations (alike
+# python_is_python3). Remember to escape or quote the fnmatch patterns
+# to prevent accidental shell filename expansion.
+#
+# This is an internal function used to implement python_gen_cond_dep
+# and deprecated python_gen_usedep.
+_python_gen_usedep() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local impl matches=()
+
+ for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
+ if _python_impl_matches "${impl}" "${@}"; then
+ matches+=(
+ "python_targets_${impl}(-)?"
+ "-python_single_target_${impl}(-)"
+ )
+ fi
+ done
+
+ [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}"
+
+ local out=${matches[@]}
+ echo "${out// /,}"
+}
+
# @FUNCTION: python_gen_usedep
# @USAGE: <pattern> [...]
# @DESCRIPTION:
+# DEPRECATED. Please use python_gen_cond_dep instead.
+#
# Output a USE dependency string for Python implementations which
# are both in PYTHON_COMPAT and match any of the patterns passed
# as parameters to the function.
@@ -306,25 +340,16 @@ _python_validate_useflags() {
python_gen_usedep() {
debug-print-function ${FUNCNAME} "${@}"
- local impl matches=()
-
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${@}"; then
- matches+=(
- "python_targets_${impl}(-)?"
- "-python_single_target_${impl}(-)"
- )
- fi
- done
-
- [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}"
-
- local out=${matches[@]}
- echo "${out// /,}"
+ # output only once, during some reasonable phase
+ # (avoid spamming cache regen runs)
+ if [[ ${EBUILD_PHASE} == setup ]]; then
+ eqawarn "python_gen_usedep() is deprecated. Please use python_gen_cond_dep instead."
+ fi
+ _python_gen_usedep "${@}"
}
# @FUNCTION: python_gen_useflags
-# @USAGE: <pattern> [...]
+# @USAGE: [<pattern>...]
# @DESCRIPTION:
# Output a list of USE flags for Python implementations which
# are both in PYTHON_COMPAT and match any of the patterns passed
@@ -361,7 +386,7 @@ python_gen_useflags() {
}
# @FUNCTION: python_gen_cond_dep
-# @USAGE: <dependency> <pattern> [...]
+# @USAGE: <dependency> [<pattern>...]
# @DESCRIPTION:
# Output a list of <dependency>-ies made conditional to USE flags
# of Python implementations which are both in PYTHON_COMPAT and match
@@ -405,7 +430,7 @@ python_gen_cond_dep() {
# (since python_gen_usedep() will not return ${PYTHON_USEDEP}
# the code is run at most once)
if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
- local usedep=$(python_gen_usedep "${@}")
+ local usedep=$(_python_gen_usedep "${@}")
dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
fi
@@ -457,9 +482,8 @@ python_gen_impl_dep() {
local PYTHON_REQ_USE=${1}
shift
- local patterns=( "${@-*}" )
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${patterns[@]}"; then
+ if _python_impl_matches "${impl}" "${@}"; then
local PYTHON_PKG_DEP
python_export "${impl}" PYTHON_PKG_DEP
matches+=( "python_targets_${impl}? ( ${PYTHON_PKG_DEP} )" )
@@ -537,7 +561,7 @@ python_gen_any_dep() {
local i PYTHON_PKG_DEP out=
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${i}" "${@-*}"; then
+ if _python_impl_matches "${i}" "${@}"; then
local PYTHON_USEDEP="python_targets_${i}(-),python_single_target_${i}(+)"
python_export "${i}" PYTHON_PKG_DEP
@@ -734,7 +758,7 @@ python_setup() {
fi
# check patterns
- _python_impl_matches "${impl}" "${@-*}" || continue
+ _python_impl_matches "${impl}" "${@}" || continue
python_export "${impl}" EPYTHON PYTHON
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 8ac17b7815e2..4184b6f132bc 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -12,12 +12,17 @@
# @DESCRIPTION:
# An extension of the python-r1 eclass suite for packages which
# don't support being installed for multiple Python implementations.
-# This mostly includes tools embedding Python.
+# This mostly includes tools embedding Python and packages using foreign
+# build systems.
#
-# This eclass extends the IUSE and REQUIRED_USE set by python-r1
-# to request the PYTHON_SINGLE_TARGET when the inheriting ebuild
-# can be supported by more than one Python implementation. It also
-# replaces PYTHON_USEDEP and PYTHON_DEPS with a more suitable form.
+# This eclass sets correct IUSE. It also provides PYTHON_DEPS
+# and PYTHON_REQUIRED_USE that need to be added to appropriate ebuild
+# metadata variables.
+#
+# The eclass exports PYTHON_SINGLE_USEDEP that is suitable for depending
+# on other packages using the eclass. Dependencies on packages using
+# python-r1 should be created via python_gen_cond_dep() function,
+# using PYTHON_MULTI_USEDEP placeholder.
#
# Please note that packages support multiple Python implementations
# (using python-r1 eclass) can not depend on packages not supporting
@@ -84,9 +89,9 @@ EXPORT_FUNCTIONS pkg_setup
#
# It should be noted that in order to preserve metadata immutability,
# PYTHON_COMPAT_OVERRIDE does not affect IUSE nor dependencies.
-# The state of PYTHON_TARGETS and PYTHON_SINGLE_TARGET is ignored,
-# and the implementation in PYTHON_COMPAT_OVERRIDE is built instead.
-# Dependencies need to be satisfied manually.
+# The state of PYTHON_SINGLE_TARGET is ignored, and the implementation
+# in PYTHON_COMPAT_OVERRIDE is built instead. Dependencies need to be
+# satisfied manually.
#
# Example:
# @CODE
@@ -134,32 +139,47 @@ EXPORT_FUNCTIONS pkg_setup
# python_single_target_pypy? ( virtual/pypy[gdbm] )
# @CODE
-# @ECLASS-VARIABLE: PYTHON_USEDEP
+# @ECLASS-VARIABLE: PYTHON_SINGLE_USEDEP
# @DESCRIPTION:
# This is an eclass-generated USE-dependency string which can be used to
-# depend on another Python package being built for the same Python
-# implementations.
+# depend on another python-single-r1 package being built for the same
+# Python implementations.
+#
+# If you need to depend on a multi-impl (python-r1) package, use
+# python_gen_cond_dep with PYTHON_MULTI_USEDEP placeholder instead.
+#
+# Example use:
+# @CODE
+# RDEPEND="dev-python/foo[${PYTHON_SINGLE_USEDEP}]"
+# @CODE
#
-# The generate USE-flag list is compatible with packages using python-r1,
-# python-single-r1 and python-distutils-ng eclasses. It must not be used
-# on packages using python.eclass.
+# Example value:
+# @CODE
+# python_single_target_python3_4(-)?
+# @CODE
+
+# @ECLASS-VARIABLE: PYTHON_MULTI_USEDEP
+# @DESCRIPTION:
+# This is a placeholder variable supported by python_gen_cond_dep,
+# in order to depend on python-r1 packages built for the same Python
+# implementations.
#
# Example use:
# @CODE
-# RDEPEND="dev-python/foo[${PYTHON_USEDEP}]"
+# RDEPEND="$(python_gen_cond_dep '
+# dev-python/foo[${PYTHON_MULTI_USEDEP}]
+# ')"
# @CODE
#
# Example value:
# @CODE
-# python_targets_python2_7(-)?,python_single_target_python3_4(+)?
+# python_targets_python3_4(-)
# @CODE
# @ECLASS-VARIABLE: PYTHON_REQUIRED_USE
# @DESCRIPTION:
-# This is an eclass-generated required-use expression which ensures the following
-# when more than one python implementation is possible:
-# 1. Exactly one PYTHON_SINGLE_TARGET value has been enabled.
-# 2. The selected PYTHON_SINGLE_TARGET value is enabled in PYTHON_TARGETS.
+# This is an eclass-generated required-use expression which ensures
+# that exactly one PYTHON_SINGLE_TARGET value has been enabled.
#
# This expression should be utilized in an ebuild by including it in
# REQUIRED_USE, optionally behind a use flag.
@@ -171,66 +191,39 @@ EXPORT_FUNCTIONS pkg_setup
#
# Example value:
# @CODE
-# python_single_target_python2_7? ( python_targets_python2_7 )
-# python_single_target_python3_3? ( python_targets_python3_3 )
# ^^ ( python_single_target_python2_7 python_single_target_python3_3 )
# @CODE
_python_single_set_globals() {
_python_set_impls
- local i PYTHON_PKG_DEP
-
- local flags_mt=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" )
local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_single_target_}" )
- local unflags=( "${_PYTHON_UNSUPPORTED_IMPLS[@]/#/-python_single_target_}" )
- local optflags=${flags_mt[@]/%/(-)?},${unflags[@]/%/(-)}
-
- IUSE="${flags_mt[*]}"
-
- local deps requse usedep
if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- # There is only one supported implementation; set IUSE and other
- # variables without PYTHON_SINGLE_TARGET.
- requse=${flags_mt[*]}
- python_export "${_PYTHON_SUPPORTED_IMPLS[0]}" PYTHON_PKG_DEP
- deps="${flags_mt[*]}? ( ${PYTHON_PKG_DEP} ) "
- # Force on the python_single_target_* flag for this impl, so
- # that any dependencies that inherit python-single-r1 and
- # happen to have multiple implementations will still need
- # to bound by the implementation used by this package.
- optflags+=,${flags[0]/%/(+)}
- else
- # Multiple supported implementations; honor PYTHON_SINGLE_TARGET.
- IUSE+=" ${flags[*]}"
- requse="^^ ( ${flags[*]} )"
- # Ensure deps honor the same python_single_target_* flag as is set
- # on this package.
- optflags+=,${flags[@]/%/(+)?}
-
- for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- # The chosen targets need to be in PYTHON_TARGETS as well.
- # This is in order to enforce correct dependencies on packages
- # supporting multiple implementations.
- requse+=" python_single_target_${i}? ( python_targets_${i} )"
-
- python_export "${i}" PYTHON_PKG_DEP
- deps+="python_single_target_${i}? ( ${PYTHON_PKG_DEP} ) "
- done
- fi
- usedep=${optflags// /,}
-
- # 1) well, python-exec would suffice as an RDEP
- # but no point in making this overcomplex, BDEP doesn't hurt anyone
- # 2) python-exec should be built with all targets forced anyway
- # but if new targets were added, we may need to force a rebuild
- if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then
- die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2"
+ # if only one implementation is supported, use IUSE defaults
+ # to avoid requesting the user to enable it
+ IUSE="+${flags[0]}"
else
- deps+=">=dev-lang/python-exec-2:=[${usedep}]"
+ IUSE="${flags[*]}"
fi
+ local requse="^^ ( ${flags[*]} )"
+ local single_flags="${flags[@]/%/(-)?}"
+ local single_usedep=${single_flags// /,}
+
+ local deps= i PYTHON_PKG_DEP
+ for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
+ python_export "${i}" PYTHON_PKG_DEP
+ # 1) well, python-exec would suffice as an RDEP
+ # but no point in making this overcomplex, BDEP doesn't hurt anyone
+ # 2) python-exec should be built with all targets forced anyway
+ # but if new targets were added, we may need to force a rebuild
+ deps+="python_single_target_${i}? (
+ ${PYTHON_PKG_DEP}
+ >=dev-lang/python-exec-2:=[python_targets_${i}]
+ ) "
+ done
+
if [[ ${PYTHON_DEPS+1} ]]; then
if [[ ${PYTHON_DEPS} != "${deps}" ]]; then
eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!"
@@ -247,17 +240,17 @@ _python_single_set_globals() {
die "PYTHON_REQUIRED_USE integrity check failed"
fi
- if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
- eerror "PYTHON_USEDEP have changed between inherits!"
- eerror "Before: ${PYTHON_USEDEP}"
- eerror "Now : ${usedep}"
- die "PYTHON_USEDEP integrity check failed"
+ if [[ ${PYTHON_SINGLE_USEDEP} != "${single_usedep}" ]]; then
+ eerror "PYTHON_SINGLE_USEDEP have changed between inherits!"
+ eerror "Before: ${PYTHON_SINGLE_USEDEP}"
+ eerror "Now : ${single_usedep}"
+ die "PYTHON_SINGLE_USEDEP integrity check failed"
fi
else
PYTHON_DEPS=${deps}
PYTHON_REQUIRED_USE=${requse}
- PYTHON_USEDEP=${usedep}
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP
+ PYTHON_SINGLE_USEDEP=${single_usedep}
+ readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_SINGLE_USEDEP
fi
}
_python_single_set_globals
@@ -265,8 +258,9 @@ unset -f _python_single_set_globals
if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
-# @FUNCTION: python_gen_usedep
-# @USAGE: <pattern> [...]
+# @FUNCTION: _python_gen_usedep
+# @INTERNAL
+# @USAGE: [<pattern>...]
# @DESCRIPTION:
# Output a USE dependency string for Python implementations which
# are both in PYTHON_COMPAT and match any of the patterns passed
@@ -278,21 +272,8 @@ if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
# python_is_python3). Remember to escape or quote the fnmatch patterns
# to prevent accidental shell filename expansion.
#
-# When all implementations are requested, please use ${PYTHON_USEDEP}
-# instead. Please also remember to set an appropriate REQUIRED_USE
-# to avoid ineffective USE flags.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_4} )
-# DEPEND="doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )"
-# @CODE
-#
-# It will cause the dependency to look like:
-# @CODE
-# DEPEND="doc? ( dev-python/epydoc[python_targets_python2_7(-)?,...] )"
-# @CODE
-python_gen_usedep() {
+# This is an internal function used to implement python_gen_cond_dep.
+_python_gen_usedep() {
debug-print-function ${FUNCNAME} "${@}"
local impl matches=()
@@ -300,8 +281,7 @@ python_gen_usedep() {
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
matches+=(
- "python_targets_${impl}(-)?"
- "python_single_target_${impl}(+)?"
+ "python_single_target_${impl}(-)?"
)
fi
done
@@ -313,7 +293,7 @@ python_gen_usedep() {
}
# @FUNCTION: python_gen_useflags
-# @USAGE: <pattern> [...]
+# @USAGE: [<pattern>...]
# @DESCRIPTION:
# Output a list of USE flags for Python implementations which
# are both in PYTHON_COMPAT and match any of the patterns passed
@@ -338,17 +318,11 @@ python_gen_usedep() {
python_gen_useflags() {
debug-print-function ${FUNCNAME} "${@}"
- local flag_prefix impl matches=()
-
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- flag_prefix=python_targets
- else
- flag_prefix=python_single_target
- fi
+ local impl matches=()
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
- matches+=( "${flag_prefix}_${impl}" )
+ matches+=( "python_single_target_${impl}" )
fi
done
@@ -356,7 +330,7 @@ python_gen_useflags() {
}
# @FUNCTION: python_gen_cond_dep
-# @USAGE: <dependency> <pattern> [...]
+# @USAGE: <dependency> [<pattern>...]
# @DESCRIPTION:
# Output a list of <dependency>-ies made conditional to USE flags
# of Python implementations which are both in PYTHON_COMPAT and match
@@ -369,15 +343,15 @@ python_gen_useflags() {
# to prevent accidental shell filename expansion.
#
# In order to enforce USE constraints on the packages, verbatim
-# '${PYTHON_USEDEP}' (quoted!) may be placed in the dependency
-# specification. It will get expanded within the function into a proper
-# USE dependency string.
+# '${PYTHON_SINGLE_USEDEP}' and '${PYTHON_MULTI_USEDEP}' (quoted!) may
+# be placed in the dependency specification. It will get expanded within
+# the function into a proper USE dependency string.
#
# Example:
# @CODE
# PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
# RDEPEND="$(python_gen_cond_dep \
-# 'dev-python/unittest2[${PYTHON_USEDEP}]' python2_7 pypy )"
+# 'dev-python/unittest2[${PYTHON_MULTI_USEDEP}]' python2_7 pypy )"
# @CODE
#
# It will cause the variable to look like:
@@ -390,28 +364,24 @@ python_gen_useflags() {
python_gen_cond_dep() {
debug-print-function ${FUNCNAME} "${@}"
- local flag_prefix impl matches=()
-
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- flag_prefix=python_targets
- else
- flag_prefix=python_single_target
- fi
+ local impl matches=()
local dep=${1}
shift
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
- # substitute ${PYTHON_USEDEP} if used
- # (since python_gen_usedep() will not return ${PYTHON_USEDEP}
- # the code is run at most once)
- if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
- local usedep=$(python_gen_usedep "${@}")
- dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
+ # substitute ${PYTHON_SINGLE_USEDEP} if used
+ # (since python_gen_usedep() will not return
+ # ${PYTHON_SINGLE_USEDEP}, the code is run at most once)
+ if [[ ${dep} == *'${PYTHON_SINGLE_USEDEP}'* ]]; then
+ local usedep=$(_python_gen_usedep "${@}")
+ dep=${dep//\$\{PYTHON_SINGLE_USEDEP\}/${usedep}}
fi
+ local multi_usedep="python_targets_${impl}(-)"
- matches+=( "${flag_prefix}_${impl}? ( ${dep} )" )
+ matches+=( "python_single_target_${impl}? (
+ ${dep//\$\{PYTHON_MULTI_USEDEP\}/${multi_usedep}} )" )
fi
done
@@ -455,24 +425,17 @@ python_gen_cond_dep() {
python_gen_impl_dep() {
debug-print-function ${FUNCNAME} "${@}"
- local impl pattern
+ local impl
local matches=()
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- flag_prefix=python_targets
- else
- flag_prefix=python_single_target
- fi
-
local PYTHON_REQ_USE=${1}
shift
- local patterns=( "${@-*}" )
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if _python_impl_matches "${impl}" "${patterns[@]}"; then
+ if _python_impl_matches "${impl}" "${@}"; then
local PYTHON_PKG_DEP
python_export "${impl}" PYTHON_PKG_DEP
- matches+=( "${flag_prefix}_${impl}? ( ${PYTHON_PKG_DEP} )" )
+ matches+=( "python_single_target_${impl}? ( ${PYTHON_PKG_DEP} )" )
fi
done
@@ -505,52 +468,31 @@ python_setup() {
return
fi
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- if use "python_targets_${_PYTHON_SUPPORTED_IMPLS[0]}"; then
- # Only one supported implementation, enable it explicitly
- python_export "${_PYTHON_SUPPORTED_IMPLS[0]}" EPYTHON PYTHON
+ local impl
+ for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
+ if use "python_single_target_${impl}"; then
+ if [[ ${EPYTHON} ]]; then
+ eerror "Your PYTHON_SINGLE_TARGET setting lists more than a single Python"
+ eerror "implementation. Please set it to just one value. If you need"
+ eerror "to override the value for a single package, please use package.env"
+ eerror "or an equivalent solution (man 5 portage)."
+ echo
+ die "More than one implementation in PYTHON_SINGLE_TARGET."
+ fi
+
+ python_export "${impl}" EPYTHON PYTHON
python_wrapper_setup
fi
- else
- local impl
- for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- if use "python_single_target_${impl}"; then
- if [[ ${EPYTHON} ]]; then
- eerror "Your PYTHON_SINGLE_TARGET setting lists more than a single Python"
- eerror "implementation. Please set it to just one value. If you need"
- eerror "to override the value for a single package, please use package.env"
- eerror "or an equivalent solution (man 5 portage)."
- echo
- die "More than one implementation in PYTHON_SINGLE_TARGET."
- fi
-
- if ! use "python_targets_${impl}"; then
- eerror "The implementation chosen as PYTHON_SINGLE_TARGET must be added"
- eerror "to PYTHON_TARGETS as well. This is in order to ensure that"
- eerror "dependencies are satisfied correctly. We're sorry"
- eerror "for the inconvenience."
- echo
- die "Build target (${impl}) not in PYTHON_TARGETS."
- fi
-
- python_export "${impl}" EPYTHON PYTHON
- python_wrapper_setup
- fi
- done
- fi
+ done
if [[ ! ${EPYTHON} ]]; then
eerror "No Python implementation selected for the build. Please set"
- if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
- eerror "the PYTHON_TARGETS variable in your make.conf to include one"
- else
- eerror "the PYTHON_SINGLE_TARGET variable in your make.conf to one"
- fi
+ eerror "the PYTHON_SINGLE_TARGET variable in your make.conf to one"
eerror "of the following values:"
eerror
eerror "${_PYTHON_SUPPORTED_IMPLS[@]}"
echo
- die "No supported Python implementation in PYTHON_SINGLE_TARGET/PYTHON_TARGETS."
+ die "No supported Python implementation in PYTHON_SINGLE_TARGET."
fi
}
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 4f3ac66f2150..3eadc50f93e6 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -164,11 +164,12 @@ _python_set_impls() {
}
# @FUNCTION: _python_impl_matches
-# @USAGE: <impl> <pattern>...
+# @USAGE: <impl> [<pattern>...]
# @INTERNAL
# @DESCRIPTION:
# Check whether the specified <impl> matches at least one
# of the patterns following it. Return 0 if it does, 1 otherwise.
+# Matches if no patterns are provided.
#
# <impl> can be in PYTHON_COMPAT or EPYTHON form. The patterns can be
# either:
@@ -176,7 +177,8 @@ _python_set_impls() {
# b) '-2' to indicate all Python 2 variants (= !python_is_python3)
# c) '-3' to indicate all Python 3 variants (= python_is_python3)
_python_impl_matches() {
- [[ ${#} -ge 2 ]] || die "${FUNCNAME}: takes at least 2 parameters"
+ [[ ${#} -ge 1 ]] || die "${FUNCNAME}: takes at least 1 parameter"
+ [[ ${#} -eq 1 ]] && return 0
local impl=${1} pattern
shift
diff --git a/net-dns/libidn/Manifest b/net-dns/libidn/Manifest
index 4f4d621296f4..fed1d9a4995c 100644
--- a/net-dns/libidn/Manifest
+++ b/net-dns/libidn/Manifest
@@ -1,3 +1 @@
-DIST libidn-1.33-security_backports-01.tar.xz 3420 BLAKE2B c0311d83dee53b83bceab7777e9508ffdc2737e31eec71dc7e67b29ee75cdcef8558db0e89d857ed8c402980fdd7c3419fbb123eba91dddc2358a06684114811 SHA512 e925d20c9258b47821d444c563c75f09f003d1c6b367c934a808242ce4c259ff83e9d67e886cb3e832117df1cd9cae4b18417c48fbf9c77266ab379d3afcd4f4
-DIST libidn-1.33.tar.gz 3501056 BLAKE2B ce6319dc61dd825cf7ddb33f4279c178709e16ce2815c3d1a464bba6b5c6cc493107a10a686f349247a0d6023b1b834a650046e68da9f2f559870dba13a59384 SHA512 38dd459eaeda0c9e3cc2d24d967113515a499747550a2a9157f32357def90d71a3a3b52398e96a44a28cd5948dc353b0473c4ff0453a69720191c4cb49cac2c6
DIST libidn-1.35.tar.gz 4169217 BLAKE2B 809f9e854a4f2fcd3b2d5f7cdb34e2c68a0f00f5fcffc9002ead2d2d3dcee38022b3288f29716437f65f09e259e35cc98679d9c9d943423190cebb76fcbc94fa SHA512 782260f73b1fd8ebea8a40e2b3a6866c4f67494b2b3df03748daa9c0f842a9578932e746eb4bbf2547fccb1d65d7fc99a7977759dbe58f87f2fdd26d0fe45a09
diff --git a/net-dns/libidn/files/libidn-1.33-CVE-2017-14062.patch b/net-dns/libidn/files/libidn-1.33-CVE-2017-14062.patch
deleted file mode 100644
index 5c2e0a91b2e3..000000000000
--- a/net-dns/libidn/files/libidn-1.33-CVE-2017-14062.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From e9e81b8063b095b02cf104bb992fa9bf9515b9d8 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Fri, 1 Sep 2017 10:04:48 +0200
-Subject: [PATCH] lib/punycode.c (decode_digit): Fix integer overflow
-
-This fix is a backport from libidn2 and addresses
-CVE-2017-14062.
----
- lib/punycode.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/punycode.c b/lib/punycode.c
-index 86819a7..49250a1 100644
---- a/lib/punycode.c
-+++ b/lib/punycode.c
-@@ -88,10 +88,10 @@ enum
- /* point (for use in representing integers) in the range 0 to */
- /* base-1, or base if cp does not represent a value. */
-
--static punycode_uint
--decode_digit (punycode_uint cp)
-+static unsigned
-+decode_digit (int cp)
- {
-- return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
-+ return (unsigned) cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
- cp - 97 < 26 ? cp - 97 : base;
- }
-
---
-1.9.1
-
-From 6c8a9375641ca283b50f9680c90dcd57f9c44798 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Wed, 4 Oct 2017 15:22:43 +0200
-Subject: [PATCH] lib/punycode.c (decode_digit): Really fix integer overflow
-
-The fix in commit e9e81b8063b095b02cf104bb992fa9bf9515b9d8
-was incomplete.
-
-Reported-by: Christian Weisgerber
----
- lib/punycode.c | 4 ++--
- tests/tst_idna.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/punycode.c b/lib/punycode.c
-index 49250a1..d475b6d 100644
---- a/lib/punycode.c
-+++ b/lib/punycode.c
-@@ -91,8 +91,8 @@ enum
- static unsigned
- decode_digit (int cp)
- {
-- return (unsigned) cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
-- cp - 97 < 26 ? cp - 97 : base;
-+ return (unsigned) (cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
-+ cp - 97 < 26 ? cp - 97 : base);
- }
-
- /* encode_digit(d,flag) returns the basic code point whose value */
-diff --git a/tests/tst_idna.c b/tests/tst_idna.c
-index 4ac046f..7fb58b9 100644
---- a/tests/tst_idna.c
-+++ b/tests/tst_idna.c
-@@ -211,7 +211,7 @@ static const struct idna idna[] = {
- 'x', 'n', '-', '-', 'f', 'o', 0x3067},
- IDNA_ACE_PREFIX "too long too long too long too long too long too "
- "long too long too long too long too long ", 0,
-- IDNA_CONTAINS_ACE_PREFIX, IDNA_PUNYCODE_ERROR}
-+ IDNA_CONTAINS_ACE_PREFIX, IDNA_INVALID_LENGTH}
- };
-
- void
---
-1.9.1
-
diff --git a/net-dns/libidn/files/libidn-1.33-parallel-make.patch b/net-dns/libidn/files/libidn-1.33-parallel-make.patch
deleted file mode 100644
index 2d237f3e27b1..000000000000
--- a/net-dns/libidn/files/libidn-1.33-parallel-make.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 4709e64fef29ca8ddd5b0878e3126640bd1480c2 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Wed, 4 Oct 2017 15:02:49 +0200
-Subject: [PATCH] * src/Makefile.am: Fix rule for parallel builds
-
----
- src/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 6832c20..218d52e 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -35,7 +35,8 @@ libidn_cmd_la_SOURCES = idn.ggo idn_cmd.c idn_cmd.h
- libidn_cmd_la_LIBADD = ../gl/libgnu.la
- libidn_cmd_la_CFLAGS =
-
--idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
-+# pattern rule (%) needed for parallel make (-j)
-+idn_cmd%c idn_cmd%h: idn.ggo
- gengetopt --unamed-opts --no-handle-version --no-handle-help \
- --set-package="idn" \
- --input $^ --file-name idn_cmd
---
-1.9.1
-
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -1,7 +1,7 @@
--# Makefile.in generated by automake 1.14.1 from Makefile.am.
-+# Makefile.in generated by automake 1.15.1 from Makefile.am.
- # @configure_input@
-
--# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
-
- # This Makefile.in is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
-@@ -34,7 +34,17 @@
-
-
- VPATH = @srcdir@
--am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-+am__is_gnu_make = { \
-+ if test -z '$(MAKELEVEL)'; then \
-+ false; \
-+ elif test -n '$(MAKE_HOST)'; then \
-+ true; \
-+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-+ true; \
-+ else \
-+ false; \
-+ fi; \
-+}
- am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
-@@ -99,8 +109,6 @@
- host_triplet = @host@
- bin_PROGRAMS = idn$(EXEEXT)
- subdir = src
--DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-- $(top_srcdir)/build-aux/depcomp $(dist_lisp_DATA)
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/ctype.m4 \
- $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
-@@ -184,6 +192,8 @@
- $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-+DIST_COMMON = $(srcdir)/Makefile.am $(dist_lisp_DATA) \
-+ $(am__DIST_COMMON)
- mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
-@@ -294,6 +304,8 @@
- done | $(am__uniquify_input)`
- ETAGS = etags
- CTAGS = ctags
-+am__DIST_COMMON = $(srcdir)/Makefile.in \
-+ $(top_srcdir)/build-aux/depcomp
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
- ALLOCA = @ALLOCA@
-@@ -863,6 +875,7 @@
- LT_AGE = @LT_AGE@
- LT_CURRENT = @LT_CURRENT@
- LT_REVISION = @LT_REVISION@
-+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
- MAKEINFO = @MAKEINFO@
- MANIFEST_TOOL = @MANIFEST_TOOL@
- MKDIR_P = @MKDIR_P@
-@@ -1200,7 +1213,6 @@
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
--.PRECIOUS: Makefile
- Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
-@@ -1562,10 +1574,13 @@
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-dist_lispDATA
-
-+.PRECIOUS: Makefile
-+
-
- idn.c: $(BUILT_SOURCES)
-
--idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
-+# pattern rule (%) needed for parallel make (-j)
-+idn_cmd%c idn_cmd%h: idn.ggo
- gengetopt --unamed-opts --no-handle-version --no-handle-help \
- --set-package="idn" \
- --input $^ --file-name idn_cmd
diff --git a/net-dns/libidn/libidn-1.33-r2.ebuild b/net-dns/libidn/libidn-1.33-r2.ebuild
deleted file mode 100644
index 3d0c3be3b448..000000000000
--- a/net-dns/libidn/libidn-1.33-r2.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit elisp-common java-pkg-opt-2 mono-env multilib-minimal libtool
-
-DESCRIPTION="Internationalized Domain Names (IDN) implementation"
-HOMEPAGE="https://www.gnu.org/software/libidn/"
-SRC_URI="mirror://gnu/libidn/${P}.tar.gz"
-
-LICENSE="GPL-2 GPL-3 LGPL-3 java? ( Apache-2.0 )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc emacs java mono nls static-libs"
-
-DOCS=( AUTHORS ChangeLog FAQ NEWS README THANKS TODO )
-COMMON_DEPEND="
- emacs? ( virtual/emacs )
- mono? ( >=dev-lang/mono-0.95 )
-"
-DEPEND="${COMMON_DEPEND}
- nls? (
- >=sys-devel/gettext-0.17
- )
- java? (
- >=virtual/jdk-1.5
- )
-"
-RDEPEND="${COMMON_DEPEND}
- nls? (
- >=virtual/libintl-0-r1[${MULTILIB_USEDEP}]
- )
- java? (
- >=virtual/jre-1.5
- )
-"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.33-CVE-2017-14062.patch
- "${FILESDIR}"/${PN}-1.33-parallel-make.patch
-)
-
-pkg_setup() {
- mono-env_pkg_setup
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- default
-
- # bundled, with wrong bytecode
- rm "${S}/java/${P}.jar" || die
-
- # prevent triggering doc updates after punycode.c patch
- touch doc/texi/punycode* doc/man/punycode* doc/libidn.info || die
-
- elibtoolize # for Solaris shared objects
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} GJDOC=javadoc \
- econf \
- $(multilib_native_use_enable java) \
- $(multilib_native_use_enable mono csharp mono) \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- --disable-silent-rules \
- --disable-valgrind-tests \
- --with-lispdir="${EPREFIX}${SITELISP}/${PN}" \
- --with-packager-bug-reports="https://bugs.gentoo.org" \
- --with-packager-version="r${PR}" \
- --with-packager="Gentoo"
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi; then
- use emacs && elisp-compile "${S}"/src/*.el
- use java && use doc && emake -C java/src/main/java javadoc
- fi
-}
-
-multilib_src_test() {
- # only run libidn specific tests and not gnulib tests (bug #539356)
- emake -C tests check
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use java; then
- java-pkg_newjar java/${P}.jar ${PN}.jar
- rm -r "${ED}"/usr/share/java || die
- use doc && java-pkg_dojavadoc "${S}"/doc/java
- fi
-}
-
-multilib_src_install_all() {
- if use emacs; then
- # *.el are installed by the build system
- elisp-install ${PN} "${S}"/src/*.elc
- elisp-site-file-install "${FILESDIR}/50${PN}-gentoo.el"
- else
- rm -r "${ED}/usr/share/emacs" || die
- fi
-
- einstalldocs
-
- if use doc ; then
- dodoc -r doc/reference/html/
- fi
-
- prune_libtool_files
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/net-dns/libidn/libidn-1.33-r99.ebuild b/net-dns/libidn/libidn-1.33-r99.ebuild
deleted file mode 100644
index d80feb1ef34b..000000000000
--- a/net-dns/libidn/libidn-1.33-r99.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools multilib-minimal libtool
-
-DESCRIPTION="Internationalized Domain Names (IDN) implementation"
-HOMEPAGE="https://www.gnu.org/software/libidn/"
-SRC_URI="
- mirror://gnu/libidn/${P}.tar.gz
- https://dev.gentoo.org/~polynomial-c/${P}-security_backports-01.tar.xz
-"
-
-LICENSE="GPL-2 GPL-3 LGPL-3"
-SLOT="1.33"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="!<${CATEGORY}/${PN}-1.35:0"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.33-parallel-make.patch
-)
-
-src_prepare() {
- default
-
- eapply "${WORKDIR}"/patches
-
- # breaks eautoreconf
- sed '/AM_INIT_AUTOMAKE/s@ -Werror@@' -i configure.ac || die
- # Breaks build because --disable-gtk-doc* gets ignored
- sed '/^SUBDIRS/s@ doc@@' -i Makefile.am || die
- eautoreconf
- elibtoolize # for Solaris shared objects
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-java
- --disable-csharp
- --disable-nls
- --disable-static
- --disable-silent-rules
- --disable-valgrind-tests
- --with-packager-bug-reports="https://bugs.gentoo.org"
- --with-packager-version="r${PR}"
- --with-packager="Gentoo"
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- # only run libidn specific tests and not gnulib tests (bug #539356)
- emake -C tests check
-}
-
-multilib_src_install() {
- dolib.so lib/.libs/libidn.so.11*
-}
diff --git a/skel.ebuild b/skel.ebuild
index 9c9e6b366eb9..6e855e8fa6cc 100644
--- a/skel.ebuild
+++ b/skel.ebuild
@@ -32,6 +32,12 @@ HOMEPAGE="https://foo.example.org/"
# Portage.
SRC_URI="ftp://foo.example.org/${P}.tar.gz"
+# Source directory; the dir where the sources can be found (automatically
+# unpacked) inside ${WORKDIR}. The default value for S is ${WORKDIR}/${P}
+# If you don't need to change it, leave the S= line out of the ebuild
+# to keep it tidy.
+#S="${WORKDIR}/${P}"
+
# License of the package. This must match the name of file(s) in the
# licenses/ directory. For complex license combination see the developer
@@ -99,13 +105,6 @@ IUSE="gnome X"
#BDEPEND="virtual/pkgconfig"
-# Source directory; the dir where the sources can be found (automatically
-# unpacked) inside ${WORKDIR}. The default value for S is ${WORKDIR}/${P}
-# If you don't need to change it, leave the S= line out of the ebuild
-# to keep it tidy.
-#S="${WORKDIR}/${P}"
-
-
# The following src_configure function is implemented as default by portage, so
# you only need to call it if you need a different behaviour.
#src_configure() {
diff --git a/sys-apps/portage/portage-2.3.69.ebuild b/sys-apps/portage/portage-2.3.69.ebuild
index fbbb9c85705c..854c01cd6e53 100644
--- a/sys-apps/portage/portage-2.3.69.ebuild
+++ b/sys-apps/portage/portage-2.3.69.ebuild
@@ -3,6 +3,7 @@
EAPI=5
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7
diff --git a/sys-apps/portage/portage-2.3.76-r1.ebuild b/sys-apps/portage/portage-2.3.76-r1.ebuild
index ff8abf53e72d..28afff0ae724 100644
--- a/sys-apps/portage/portage-2.3.76-r1.ebuild
+++ b/sys-apps/portage/portage-2.3.76-r1.ebuild
@@ -3,6 +3,7 @@
EAPI=5
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7
diff --git a/sys-apps/portage/portage-2.3.79.ebuild b/sys-apps/portage/portage-2.3.79.ebuild
index d3317bec4fd7..0389ff89cfad 100644
--- a/sys-apps/portage/portage-2.3.79.ebuild
+++ b/sys-apps/portage/portage-2.3.79.ebuild
@@ -3,6 +3,7 @@
EAPI=5
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7 python3_8
diff --git a/sys-apps/portage/portage-2.3.80-r1.ebuild b/sys-apps/portage/portage-2.3.80-r1.ebuild
index 6d384ab8fdd8..494eb2b43686 100644
--- a/sys-apps/portage/portage-2.3.80-r1.ebuild
+++ b/sys-apps/portage/portage-2.3.80-r1.ebuild
@@ -3,6 +3,7 @@
EAPI=5
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7 python3_8
diff --git a/sys-apps/portage/portage-2.3.81.ebuild b/sys-apps/portage/portage-2.3.81.ebuild
index e7b9119d36b6..be56b54d2052 100644
--- a/sys-apps/portage/portage-2.3.81.ebuild
+++ b/sys-apps/portage/portage-2.3.81.ebuild
@@ -3,6 +3,7 @@
EAPI=5
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7 python3_8
diff --git a/sys-apps/portage/portage-9999.ebuild b/sys-apps/portage/portage-9999.ebuild
index 6401c40dee2a..04544afb66d4 100644
--- a/sys-apps/portage/portage-9999.ebuild
+++ b/sys-apps/portage/portage-9999.ebuild
@@ -3,6 +3,7 @@
EAPI=6
+DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=(
pypy
python3_5 python3_6 python3_7 python3_8
diff --git a/x11-misc/xtrace/metadata.xml b/x11-misc/xtrace/metadata.xml
index 91b9837c7dda..867145a2f0fb 100644
--- a/x11-misc/xtrace/metadata.xml
+++ b/x11-misc/xtrace/metadata.xml
@@ -1,16 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>nightnord@gmail.com</email>
- <name>Andrian Nord</name>
-</maintainer>
-<maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</name>
-</maintainer>
-<maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
-</maintainer>
+ <maintainer type="person">
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
</pkgmetadata>