summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
commit2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch)
tree8c816148bcbd22757d892089c989ae614eae4f5a /eclass
parent0f558761aa2dee1017b4751e4017205e015a9560 (diff)
gentoo resync : 09.07.2022
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin36119 -> 36125 bytes
-rw-r--r--eclass/autotools.eclass14
-rw-r--r--eclass/cmake-utils.eclass1
-rw-r--r--eclass/distutils-r1.eclass144
-rw-r--r--eclass/findlib.eclass11
-rw-r--r--eclass/java-pkg-simple.eclass8
-rw-r--r--eclass/java-utils-2.eclass7
-rw-r--r--eclass/kernel-build.eclass15
-rw-r--r--eclass/meson.eclass13
-rw-r--r--eclass/perl-functions.eclass32
-rw-r--r--eclass/perl-module.eclass212
-rw-r--r--eclass/python-utils-r1.eclass14
-rw-r--r--eclass/selinux-policy-2.eclass9
13 files changed, 221 insertions, 259 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index a9608fe7e379..c5554d13fb90 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index d6c5b7f0ec0d..025a93d207a4 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -525,8 +525,18 @@ autotools_env_setup() {
esac
has_version ${hv_args} "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="${pv}" && break
done
- [[ ${WANT_AUTOMAKE} == "latest" ]] && \
- die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE[*]}"
+
+ # During bootstrap in prefix there might be no automake merged yet
+ # due to --nodeps, but still available somewhere in PATH.
+ # For example, ncurses needs local libtool on aix and hpux.
+ # So, make the check non-fatal where automake doesn't yet
+ # exist within BROOT. (We could possibly do better here
+ # and inspect PATH, but I'm not sure there's much point.)
+ if use prefix && [[ ! -x "${BROOT}"/usr/bin/automake ]] ; then
+ [[ ${WANT_AUTOMAKE} == "latest" ]] && ewarn "Ignoring missing automake during Prefix bootstrap! Tried ${_LATEST_AUTOMAKE[*]}"
+ else
+ [[ ${WANT_AUTOMAKE} == "latest" ]] && die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE[*]}"
+ fi
fi
[[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.71
}
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index 4ec3b900edaf..a6dd902b5f33 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: cmake-utils.eclass
# @MAINTAINER:
# kde@gentoo.org
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 4e8c2d67db0b..612db00e36b7 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -205,27 +205,33 @@ _distutils_set_globals() {
fi
bdep='
- >=dev-python/gpep517-3[${PYTHON_USEDEP}]'
+ >=dev-python/gpep517-6[${PYTHON_USEDEP}]
+ '
case ${DISTUTILS_USE_PEP517} in
flit)
bdep+='
- >=dev-python/flit_core-3.7.1[${PYTHON_USEDEP}]'
+ >=dev-python/flit_core-3.7.1[${PYTHON_USEDEP}]
+ '
;;
flit_scm)
bdep+='
- dev-python/flit_scm[${PYTHON_USEDEP}]'
+ dev-python/flit_scm[${PYTHON_USEDEP}]
+ '
;;
hatchling)
bdep+='
- >=dev-python/hatchling-0.22.0[${PYTHON_USEDEP}]'
+ >=dev-python/hatchling-1.3.1[${PYTHON_USEDEP}]
+ '
;;
jupyter)
bdep+='
- >=dev-python/jupyter_packaging-0.11.1[${PYTHON_USEDEP}]'
+ >=dev-python/jupyter_packaging-0.12.0-r1[${PYTHON_USEDEP}]
+ '
;;
maturin)
bdep+='
- >=dev-util/maturin-0.12.7[${PYTHON_USEDEP}]'
+ >=dev-util/maturin-0.12.17[${PYTHON_USEDEP}]
+ '
;;
no)
# undo the generic deps added above
@@ -233,28 +239,34 @@ _distutils_set_globals() {
;;
meson-python)
bdep+='
- dev-python/meson-python[${PYTHON_USEDEP}]'
+ dev-python/meson-python[${PYTHON_USEDEP}]
+ '
;;
pbr)
bdep+='
- >=dev-python/pbr-5.8.0-r1[${PYTHON_USEDEP}]'
+ >=dev-python/pbr-5.8.0-r1[${PYTHON_USEDEP}]
+ '
;;
pdm)
bdep+='
- >=dev-python/pdm-pep517-0.12.3[${PYTHON_USEDEP}]'
+ >=dev-python/pdm-pep517-1.0.0[${PYTHON_USEDEP}]
+ '
;;
poetry)
bdep+='
- >=dev-python/poetry-core-1.0.8[${PYTHON_USEDEP}]'
+ >=dev-python/poetry-core-1.0.8[${PYTHON_USEDEP}]
+ '
;;
setuptools)
bdep+='
- >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]'
+ >=dev-python/setuptools-62.3.3[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ '
;;
sip)
bdep+='
- >=dev-python/sip-6.5.0-r1[${PYTHON_USEDEP}]'
+ >=dev-python/sip-6.5.0-r1[${PYTHON_USEDEP}]
+ '
;;
standalone)
;;
@@ -473,7 +485,7 @@ distutils_enable_sphinx() {
_DISTUTILS_SPHINX_PLUGINS=( "${@}" )
local deps autodoc=1 d
- deps=">=dev-python/sphinx-4.4.0[\${PYTHON_USEDEP}]"
+ deps=">=dev-python/sphinx-4.5.0-r1[\${PYTHON_USEDEP}]"
for d; do
if [[ ${d} == --no-autodoc ]]; then
autodoc=
@@ -497,7 +509,7 @@ distutils_enable_sphinx() {
use doc || return 0
local p
- for p in ">=dev-python/sphinx-4.4.0" \
+ for p in ">=dev-python/sphinx-4.5.0-r1" \
"${_DISTUTILS_SPHINX_PLUGINS[@]}"
do
python_has_version "${p}[${PYTHON_USEDEP}]" ||
@@ -505,7 +517,7 @@ distutils_enable_sphinx() {
done
}
else
- deps=">=dev-python/sphinx-4.4.0"
+ deps=">=dev-python/sphinx-4.5.0-r1"
fi
sphinx_compile_all() {
@@ -585,10 +597,10 @@ distutils_enable_tests() {
local test_pkg
case ${1} in
nose)
- test_pkg=">=dev-python/nose-1.3.7-r4"
+ test_pkg=">=dev-python/nose-1.3.7_p20211111_p1-r1"
;;
pytest)
- test_pkg=">=dev-python/pytest-7.0.1"
+ test_pkg=">=dev-python/pytest-7.1.2"
;;
setup.py)
;;
@@ -1239,6 +1251,44 @@ _distutils-r1_get_backend() {
echo "${build_backend}"
}
+# @FUNCTION: distutils_wheel_install
+# @USAGE: <root> <wheel>
+# @DESCRIPTION:
+# Install the specified wheel into <root>.
+#
+# This function is intended for expert use only.
+distutils_wheel_install() {
+ debug-print-function ${FUNCNAME} "${@}"
+ if [[ ${#} -ne 2 ]]; then
+ die "${FUNCNAME} takes exactly two arguments: <root> <wheel>"
+ fi
+ if [[ -z ${PYTHON} ]]; then
+ die "PYTHON unset, invalid call context"
+ fi
+
+ local root=${1}
+ local wheel=${2}
+
+ einfo " Installing ${wheel##*/} to ${root}"
+ local cmd=(
+ gpep517 install-wheel
+ --destdir="${root}"
+ --interpreter="${PYTHON}"
+ --prefix="${EPREFIX}/usr"
+ "${wheel}"
+ )
+ printf '%s\n' "${cmd[*]}"
+ "${cmd[@]}" || die "Wheel install failed"
+
+ # remove installed licenses
+ find "${root}$(python_get_sitedir)" -depth \
+ \( -path '*.dist-info/COPYING*' \
+ -o -path '*.dist-info/LICENSE*' \
+ -o -path '*.dist-info/license_files/*' \
+ -o -path '*.dist-info/license_files' \
+ \) -delete || die
+}
+
# @FUNCTION: distutils_pep517_install
# @USAGE: <root>
# @DESCRIPTION:
@@ -1310,27 +1360,20 @@ distutils_pep517_install() {
local config_args=()
[[ -n ${config_settings} ]] &&
config_args+=( --config-json "${config_settings}" )
+ local cmd=(
+ gpep517 build-wheel
+ --backend "${build_backend}"
+ --output-fd 3
+ --wheel-dir "${WHEEL_BUILD_DIR}"
+ "${config_args[@]}"
+ )
+ printf '%s\n' "${cmd[*]}"
local wheel=$(
- gpep517 build-wheel --backend "${build_backend}" \
- --output-fd 3 \
- --wheel-dir "${WHEEL_BUILD_DIR}" \
- "${config_args[@]}" 3>&1 >&2 ||
- die "Wheel build failed"
+ "${cmd[@]}" 3>&1 >&2 || die "Wheel build failed"
)
[[ -n ${wheel} ]] || die "No wheel name returned"
- einfo " Installing ${wheel} to ${root}"
- gpep517 install-wheel --destdir="${root}" --interpreter="${PYTHON}" \
- --prefix="${EPREFIX}/usr" "${WHEEL_BUILD_DIR}/${wheel}" ||
- die "Wheel install failed"
-
- # remove installed licenses
- find "${root}$(python_get_sitedir)" -depth \
- \( -path '*.dist-info/COPYING*' \
- -o -path '*.dist-info/LICENSE*' \
- -o -path '*.dist-info/license_files/*' \
- -o -path '*.dist-info/license_files' \
- \) -delete || die
+ distutils_wheel_install "${root}" "${WHEEL_BUILD_DIR}/${wheel}"
# clean the build tree; otherwise we may end up with PyPy3
# extensions duplicated into CPython dists
@@ -1547,20 +1590,25 @@ distutils-r1_python_install() {
# remove files that we've created explicitly
rm "${reg_scriptdir}"/{"${EPYTHON}",python3,python,pyvenv.cfg} || die
- # verify that scriptdir & wrapped_scriptdir both contain
- # the same files
- (
- cd "${reg_scriptdir}" && find . -mindepth 1
- ) | sort > "${T}"/.distutils-files-bin
- assert "listing ${reg_scriptdir} failed"
- (
- if [[ -d ${wrapped_scriptdir} ]]; then
- cd "${wrapped_scriptdir}" && find . -mindepth 1
+
+ # Automagically do the QA check to avoid issues when bootstrapping
+ # prefix.
+ if type diff &>/dev/null ; then
+ # verify that scriptdir & wrapped_scriptdir both contain
+ # the same files
+ (
+ cd "${reg_scriptdir}" && find . -mindepth 1
+ ) | sort > "${T}"/.distutils-files-bin
+ assert "listing ${reg_scriptdir} failed"
+ (
+ if [[ -d ${wrapped_scriptdir} ]]; then
+ cd "${wrapped_scriptdir}" && find . -mindepth 1
+ fi
+ ) | sort > "${T}"/.distutils-files-wrapped
+ assert "listing ${wrapped_scriptdir} failed"
+ if ! diff -U 0 "${T}"/.distutils-files-{bin,wrapped}; then
+ die "File lists for ${reg_scriptdir} and ${wrapped_scriptdir} differ (see diff above)"
fi
- ) | sort > "${T}"/.distutils-files-wrapped
- assert "listing ${wrapped_scriptdir} failed"
- if ! diff -U 0 "${T}"/.distutils-files-{bin,wrapped}; then
- die "File lists for ${reg_scriptdir} and ${wrapped_scriptdir} differ (see diff above)"
fi
# remove the altered bindir, executables from the package
diff --git a/eclass/findlib.eclass b/eclass/findlib.eclass
index 0e14514e298f..52e3655b3e84 100644
--- a/eclass/findlib.eclass
+++ b/eclass/findlib.eclass
@@ -6,13 +6,13 @@
# ML <ml@gentoo.org>
# @AUTHOR:
# Original author: Matthieu Sozeau <mattam@gentoo.org> (retired)
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: ocamlfind (a.k.a. findlib) eclass
# @DESCRIPTION:
# ocamlfind (a.k.a. findlib) eclass
case ${EAPI:-0} in
- [67]) ;;
+ [678]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -26,11 +26,14 @@ QA_FLAGS_IGNORED='.*'
IUSE="+ocamlopt"
# From this findlib version, there is proper stublibs support.
-DEPEND=">=dev-ml/findlib-1.0.4-r1"
+DEPEND=">=dev-ml/findlib-1.0.4-r1[ocamlopt?]"
[[ ${FINDLIB_USE} ]] && DEPEND="${FINDLIB_USE}? ( ${DEPEND} )"
RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
[[ ${FINDLIB_USE} ]] && RDEPEND="${FINDLIB_USE}? ( ${RDEPEND} )"
+# @FUNCTION: check_ocamlfind
+# @DESCRIPTION:
+# Die if ocamlfind is not found
check_ocamlfind() {
if [ ! -x "${EPREFIX}"/usr/bin/ocamlfind ] ; then
eerror "In ${ECLASS}: could not find the ocamlfind executable"
@@ -45,8 +48,6 @@ check_ocamlfind() {
# We use the stublibs style, so no ld.conf needs to be
# updated when a package installs C shared libraries.
findlib_src_preinst() {
- has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
- has "${EAPI:-0}" 0 1 2 && use !prefix && ED="${D}"
check_ocamlfind
# destdir is the ocaml sitelib
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 47499c7870a9..1e101a828c40 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -424,7 +424,7 @@ java-pkg-simple_src_compile() {
# @DESCRIPTION:
# src_install for simple single jar java packages. Simply installs
# ${JAVA_JAR_FILENAME}. It will also install a launcher if
-# ${JAVA_MAIN_CLASS} is set.
+# ${JAVA_MAIN_CLASS} is set. Also invokes einstalldocs.
java-pkg-simple_src_install() {
local sources=sources.lst classes=target/classes apidoc=target/api
@@ -455,6 +455,12 @@ java-pkg-simple_src_install() {
fi
java-pkg_dosrc ${srcdirs}
fi
+
+ if [[ ${EAPI} == 5 ]]; then
+ # einstalldocs is only available on EAPI >= 6.
+ return
+ fi
+ einstalldocs
}
# @FUNCTION: java-pkg-simple_src_test
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index e5a2b611d111..6576712e0104 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1901,7 +1901,12 @@ etestng() {
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
)
- [[ ! "${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}" =~ "-usedefaultlisteners" ]] && args+=( -usedefaultlisteners false )
+ if [[ ! "${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}" =~ "-usedefaultlisteners" ]]; then
+ args+=(
+ -verbose 3
+ -usedefaultlisteners true
+ )
+ fi
args+=( -testclass ${tests} )
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index dbd9080ab98a..750a8e873d98 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -196,16 +196,17 @@ kernel-build_src_install() {
local image_path=$(dist-kernel_get_image_path)
cp -p "build/${image_path}" "${ED}/usr/src/linux-${ver}/${image_path}" || die
- # Install the unstripped uncompressed vmlinux for use with systemtap
- # etc. Use mv rather than doins for the same reason as above --
- # space and time.
- if use debug; then
- mv build/vmlinux "${ED}/usr/src/linux-${ver}/" || die
- fi
-
# building modules fails with 'vmlinux has no symtab?' if stripped
use ppc64 && dostrip -x "/usr/src/linux-${ver}/${image_path}"
+ # Install vmlinux with debuginfo when requested
+ if use debug; then
+ if [[ "${image_path}" != "vmlinux" ]]; then
+ mv "build/vmlinux" "${ED}/usr/src/linux-${ver}/vmlinux" || die
+ fi
+ dostrip -x "/usr/src/linux-${ver}/vmlinux"
+ fi
+
# strip empty directories
find "${D}" -type d -empty -exec rmdir {} + || die
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 905c4d89f501..7ba6501688b7 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -5,7 +5,7 @@
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
# Mike Gilbert <floppym@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: common ebuild functions for meson-based packages
# @DESCRIPTION:
# This eclass contains the default phase functions for packages which
@@ -35,29 +35,22 @@
# @CODE
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_MESON_ECLASS} ]]; then
_MESON_ECLASS=1
-[[ ${EAPI} == 6 ]] && inherit eapi7-ver
inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
-_MESON_DEPEND=">=dev-util/meson-0.59.4
+BDEPEND=">=dev-util/meson-0.59.4
${NINJA_DEPEND}
dev-util/meson-format-array
"
-if [[ ${EAPI} == 6 ]]; then
- DEPEND=${_MESON_DEPEND}
-else
- BDEPEND=${_MESON_DEPEND}
-fi
-
# @ECLASS_VARIABLE: BUILD_DIR
# @DEFAULT_UNSET
# @DESCRIPTION:
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 4adba921485e..106394afa15a 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: perl-functions.eclass
@@ -8,7 +8,7 @@
# Seemant Kulleen <seemant@gentoo.org>
# Andreas K. Huettel <dilfridge@gentoo.org>
# Kent Fredric <kentnl@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: helper functions eclass for perl modules
# @DESCRIPTION:
# The perl-functions eclass is designed to allow easier installation of perl
@@ -16,16 +16,16 @@
# It provides helper functions, no phases or variable manipulation in
# global scope.
-[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
-
-case "${EAPI:-0}" in
- 5|6|7|8)
+case ${EAPI} in
+ 6|7|8)
;;
*)
- die "EAPI=${EAPI} is not supported by perl-functions.eclass"
+ die "${ECLASS}: EAPI ${EAPI:-0} not supported"
;;
esac
+[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
+
perlinfo_done=false
# @FUNCTION: perl_set_version
@@ -161,7 +161,7 @@ perl_fix_packlist() {
# remove files that dont exist
cat "${f}" | while read -r entry; do
- if [ ! -e "${D}/${entry}" ]; then
+ if [[ ! -e ${D}/${entry} ]]; then
einfo "Pruning surplus packlist entry ${entry}"
grep -v -x -F "${entry}" "${f}" > "${packlist_temp}"
mv "${packlist_temp}" "${f}"
@@ -237,9 +237,7 @@ perl_rm_files() {
# only sense for perl-core packages.
perl_link_duallife_scripts() {
debug-print-function $FUNCNAME "$@"
- if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
- return 0
- fi
+ [[ ${CATEGORY} != perl-core ]] && return 0
local i ff
if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
@@ -278,12 +276,12 @@ perl_check_env() {
for i in PERL_MM_OPT PERL5LIB PERL5OPT PERL_MB_OPT PERL_CORE PERLPREFIX; do
# Next unless match
- [ -v $i ] || continue;
+ [[ -v $i ]] || continue;
# Warn only once, and warn only when one of the bad values are set.
# record failure here.
- if [ ${errored:-0} == 0 ]; then
- if [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
+ if [[ ${errored:-0} == 0 ]]; then
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING} ]]; then
elog "perl-module.eclass: Suspicious environment values found.";
else
eerror "perl-module.eclass: Suspicious environment values found.";
@@ -295,7 +293,7 @@ perl_check_env() {
value=${!i};
# Print ENV name/value pair
- if [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING} ]]; then
elog " $i=\"$value\"";
else
eerror " $i=\"$value\"";
@@ -303,10 +301,10 @@ perl_check_env() {
done
# Return if there were no failures
- [ ${errored:-0} == 0 ] && return;
+ [[ ${errored:-0} == 0 ]] && return;
# Return if user knows what they're doing
- if [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
+ if [[ -n ${I_KNOW_WHAT_I_AM_DOING} ]]; then
elog "Continuing anyway, seems you know what you're doing."
return
fi
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 273cc2bc8059..d1f9dc6ffccd 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: perl-module.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Seemant Kulleen <seemant@gentoo.org>
# Andreas K. Hüttel <dilfridge@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @PROVIDES: perl-functions
# @BLURB: eclass for installing Perl module distributions
# @DESCRIPTION:
@@ -19,11 +19,7 @@
# ExtUtils::MakeMaker or Module::Build), we recommend to use perl-functions.eclass
# instead.
-case ${EAPI:-0} in
- 5)
- inherit eutils multiprocessing unpacker perl-functions
- PERL_EXPF="src_unpack src_prepare src_configure src_compile src_test src_install"
- ;;
+case ${EAPI} in
6|7)
inherit multiprocessing perl-functions
PERL_EXPF="src_prepare src_configure src_compile src_test src_install"
@@ -33,7 +29,7 @@ case ${EAPI:-0} in
PERL_EXPF="src_prepare src_configure src_compile src_test src_install"
;;
*)
- die "EAPI=${EAPI} is not supported by perl-module.eclass"
+ die "${ECLASS}: EAPI ${EAPI:-0} not supported"
;;
esac
@@ -48,37 +44,7 @@ esac
# a use-conditional build time dependency on virtual/perl-Test-Simple, and
# the required RESTRICT setting.
-case ${EAPI:-0} in
- 5)
- [[ ${CATEGORY} == perl-core ]] && \
- PERL_EXPF+=" pkg_postinst pkg_postrm"
-
- case "${GENTOO_DEPEND_ON_PERL:-yes}" in
- yes)
- case "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" in
- yes)
- DEPEND="dev-lang/perl:=[-build(-)]"
- ;;
- *)
- DEPEND="dev-lang/perl[-build(-)]"
- ;;
- esac
- RDEPEND="${DEPEND}"
- ;;
- esac
-
- case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
- yes)
- EXPORT_FUNCTIONS ${PERL_EXPF}
- ;;
- no)
- debug-print "PERL_EXPORT_PHASE_FUNCTIONS=no"
- ;;
- *)
- die "PERL_EXPORT_PHASE_FUNCTIONS=${PERL_EXPORT_PHASE_FUNCTIONS} is not supported by perl-module.eclass"
- ;;
- esac
- ;;
+case ${EAPI} in
6)
[[ ${CATEGORY} == perl-core ]] && \
PERL_EXPF+=" pkg_postinst pkg_postrm"
@@ -170,46 +136,43 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
# @ECLASS_VARIABLE: DIST_NAME
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable provides a way to override PN for the calculation of S,
+# This variable provides a way to override PN for the calculation of S,
# SRC_URI, and HOMEPAGE. If unset, defaults to PN.
# @ECLASS_VARIABLE: DIST_VERSION
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable provides a way to override PV for the calculation of S and SRC_URI.
+# This variable provides a way to override PV for the calculation of S and SRC_URI.
# Use it to provide the non-normalized, upstream version number. If unset, defaults to PV.
-# Named MODULE_VERSION in EAPI=5.
# @ECLASS_VARIABLE: DIST_A_EXT
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable provides a way to override the distfile extension for the calculation of
-# SRC_URI. If unset, defaults to tar.gz. Named MODULE_A_EXT in EAPI=5.
+# This variable provides a way to override the distfile extension for the calculation of
+# SRC_URI. If unset, defaults to tar.gz.
# @ECLASS_VARIABLE: DIST_A
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable provides a way to override the distfile name for the calculation of
-# SRC_URI. If unset, defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
+# This variable provides a way to override the distfile name for the calculation of
+# SRC_URI. If unset, defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT}.
# @ECLASS_VARIABLE: DIST_AUTHOR
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable sets the module author name for the calculation of
-# SRC_URI. Named MODULE_AUTHOR in EAPI=5.
+# This variable sets the module author name for the calculation of SRC_URI.
# @ECLASS_VARIABLE: DIST_SECTION
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This variable sets the module section for the calculation of
+# This variable sets the module section for the calculation of
# SRC_URI. Only required in rare cases for very special snowflakes.
-# Named MODULE_SECTION in EAPI=5.
# @ECLASS_VARIABLE: DIST_EXAMPLES
# @PRE_INHERIT
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) This Bash array allows passing a list of example files to be installed
+# This Bash array allows passing a list of example files to be installed
# in /usr/share/doc/${PF}/examples. If set before inherit, automatically adds
# a use-flag examples, if not you'll have to add the useflag in your ebuild.
# Examples are installed only if the useflag examples exists and is activated.
@@ -233,53 +196,23 @@ if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then
DIST_MAKE=( OPTIMIZE="${CFLAGS}" )
fi
+DIST_NAME=${DIST_NAME:-${PN}}
+DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}}
+S=${WORKDIR}/${DIST_P}
-if [[ ${EAPI:-0} == 5 ]]; then
- if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
- : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}}
- S=${MY_S:-${WORKDIR}/${MY_P}}
- fi
- MODULE_NAME=${MY_PN:-${PN}}
- MODULE_P=${MY_P:-${P}}
-
- [[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \
- MODULE_A="${MODULE_P}.${MODULE_A_EXT:-tar.gz}"
- [[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \
- SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
- [[ -z "${HOMEPAGE}" ]] && \
- HOMEPAGE="https://metacpan.org/release/${MODULE_NAME}"
-
- SRC_TEST="skip"
-else
- DIST_NAME=${DIST_NAME:-${PN}}
- DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}}
- S=${WORKDIR}/${DIST_P}
-
- [[ -z "${SRC_URI}" && -z "${DIST_A}" ]] && \
- DIST_A="${DIST_P}.${DIST_A_EXT:-tar.gz}"
- [[ -z "${SRC_URI}" && -n "${DIST_AUTHOR}" ]] && \
- SRC_URI="mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${DIST_SECTION:+${DIST_SECTION}/}${DIST_A}"
- [[ -z "${HOMEPAGE}" ]] && \
- HOMEPAGE="https://metacpan.org/release/${DIST_NAME}"
-
- [[ -z "${DIST_EXAMPLES}" ]] || IUSE+=" examples"
-fi
+[[ -z "${SRC_URI}" && -z "${DIST_A}" ]] &&
+ DIST_A="${DIST_P}.${DIST_A_EXT:-tar.gz}"
+[[ -z "${SRC_URI}" && -n "${DIST_AUTHOR}" ]] &&
+ SRC_URI="mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${DIST_SECTION:+${DIST_SECTION}/}${DIST_A}"
+[[ -z "${HOMEPAGE}" ]] &&
+ HOMEPAGE="https://metacpan.org/release/${DIST_NAME}"
+
+[[ -z "${DIST_EXAMPLES}" ]] || IUSE+=" examples"
-SRC_PREP="no"
PREFER_BUILDPL="yes"
pm_echovar=""
-# @FUNCTION: perl-module_src_unpack
-# @DESCRIPTION:
-# Unpack the ebuild tarball(s).
-# This function is to be called during the ebuild src_unpack() phase.
-perl-module_src_unpack() {
- debug-print-function $FUNCNAME "$@"
- [[ ${EAPI:-0} == 5 ]] || die "perl-module_src_unpack is banned in EAPI=6 or later"
- unpacker_src_unpack
-}
-
# @FUNCTION: perl-module_src_prepare
# @DESCRIPTION:
# Get the ebuild sources ready.
@@ -287,13 +220,7 @@ perl-module_src_unpack() {
perl-module_src_prepare() {
debug-print-function $FUNCNAME "$@"
- if [[ ${EAPI:-0} == 5 ]] ; then
- [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
- debug-print "$FUNCNAME: applying user patches"
- epatch_user
- else
- default
- fi
+ default
if [[ ${PERL_RM_FILES[@]} ]]; then
debug-print "$FUNCNAME: stripping unneeded files"
@@ -309,11 +236,6 @@ perl-module_src_prepare() {
perl-module_src_configure() {
debug-print-function $FUNCNAME "$@"
- if [[ ${EAPI:-0} == 5 && ${SRC_PREP} == yes ]]; then
- return 0
- fi
- SRC_PREP="yes"
-
perl_check_env
perl_set_version
@@ -329,8 +251,8 @@ perl-module_src_configure() {
fi
if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then
- case ${EAPI:-0} in
- 5|6)
+ case ${EAPI} in
+ 6)
if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then
einfo "Using Module::Build::Tiny"
if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then
@@ -397,7 +319,7 @@ perl-module_src_compile() {
perl_set_version
case ${EAPI} in
- 5|6|7)
+ 6|7)
if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
local mymake_local=(${mymake})
else
@@ -426,11 +348,9 @@ perl-module_src_compile() {
# @ECLASS_VARIABLE: DIST_TEST
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) Variable that controls if tests are run in the test phase
+# Variable that controls if tests are run in the test phase
# at all, and if yes under which conditions. If unset, defaults to "do parallel"
# If neither "do" nor "parallel" is recognized, tests are skipped.
-# (In EAPI=5 the variable is called SRC_TEST, defaults to "skip", and
-# recognizes fewer options.)
# The following space-separated keywords are recognized:
# do : run tests
# parallel : run tests in parallel
@@ -441,7 +361,7 @@ perl-module_src_compile() {
# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
-# (EAPI=6 and later) Variable that controls if tests are run in the test phase
+# Variable that controls if tests are run in the test phase
# at all, and if yes under which conditions. It is intended for use in
# make.conf or the environment by ebuild authors during testing, and
# accepts the same values as DIST_TEST. If set, it overrides DIST_TEST
@@ -456,46 +376,32 @@ perl-module_src_test() {
local my_test_control
local my_test_verbose
- if [[ ${EAPI} == 5 ]] ; then
- my_test_control=${SRC_TEST}
- my_test_verbose=${TEST_VERBOSE:-0}
- if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then
- if has "${my_test_verbose}" 0 && has 'parallel' ${my_test_control} ; then
- export HARNESS_OPTIONS=j$(makeopts_jobs)
- einfo "Test::Harness Jobs=$(makeopts_jobs)"
- fi
- else
- einfo Skipping tests due to SRC_TEST=${SRC_TEST}
- return 0
- fi
- else
- [[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn DIST_TEST_OVERRIDE is set to ${DIST_TEST_OVERRIDE}
- my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
+ [[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn "DIST_TEST_OVERRIDE is set to ${DIST_TEST_OVERRIDE}"
+ my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
- if ! has 'do' ${my_test_control} && ! has 'parallel' ${my_test_control} ; then
- einfo Skipping tests due to DIST_TEST=${my_test_control}
- return 0
- fi
+ if ! has 'do' ${my_test_control} && ! has 'parallel' ${my_test_control} ; then
+ einfo Skipping tests due to DIST_TEST=${my_test_control}
+ return 0
+ fi
- if has verbose ${my_test_control} ; then
- my_test_verbose=1
- else
- my_test_verbose=0
- fi
+ if has verbose ${my_test_control} ; then
+ my_test_verbose=1
+ else
+ my_test_verbose=0
+ fi
- if has parallel ${my_test_control} ; then
- export HARNESS_OPTIONS=j$(makeopts_jobs)
- einfo "Test::Harness Jobs=$(makeopts_jobs)"
- fi
+ if has parallel ${my_test_control} ; then
+ export HARNESS_OPTIONS=j$(makeopts_jobs)
+ einfo "Test::Harness Jobs=$(makeopts_jobs)"
+ fi
- # this might sometimes work...
- if ! has network ${my_test_control} ; then
- export NO_NETWORK_TESTING=1
- fi
+ # this might sometimes work...
+ if ! has network ${my_test_control} ; then
+ export NO_NETWORK_TESTING=1
fi
case ${EAPI} in
- 5|6|7)
+ 6|7)
;;
*)
if has 'tests' ${DIST_WIKI} ; then
@@ -546,7 +452,7 @@ perl-module_src_install() {
fi
case ${EAPI} in
- 5|6|7)
+ 6|7)
;;
*)
perl_fix_permissions
@@ -555,28 +461,22 @@ perl-module_src_install() {
perl_delete_module_manpages
perl_delete_localpod
- if [[ ${EAPI} == 5 ]] ; then
- perl_delete_packlist
- else
- perl_fix_packlist
- perl_delete_emptybsdir
- fi
+ perl_fix_packlist
+ perl_delete_emptybsdir
perl_remove_temppath
for f in Change* CHANGES README* TODO FAQ ${mydoc}; do
[[ -s ${f} ]] && dodoc ${f}
done
- if [[ ${EAPI} != 5 ]] ; then
- if in_iuse examples && use examples ; then
- [[ ${#DIST_EXAMPLES[@]} -eq 0 ]] || perl_doexamples "${DIST_EXAMPLES[@]}"
- fi
+ if in_iuse examples && use examples ; then
+ [[ ${#DIST_EXAMPLES[@]} -eq 0 ]] || perl_doexamples "${DIST_EXAMPLES[@]}"
fi
perl_link_duallife_scripts
case ${EAPI} in
- 5|6|7)
+ 6|7)
;;
*)
if has 'features' ${DIST_WIKI} ; then
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index b9cf9c03caeb..a18ca58475f1 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -454,21 +454,21 @@ _python_export() {
local d
case ${impl} in
python2.7)
- PYTHON_PKG_DEP='>=dev-lang/python-2.7.5-r2:2.7';;
+ PYTHON_PKG_DEP='>=dev-lang/python-2.7.10_p15:2.7';;
python3.8)
- PYTHON_PKG_DEP=">=dev-lang/python-3.8.12_p1-r1:3.8";;
+ PYTHON_PKG_DEP=">=dev-lang/python-3.8.13:3.8";;
python3.9)
- PYTHON_PKG_DEP=">=dev-lang/python-3.9.9-r1:3.9";;
+ PYTHON_PKG_DEP=">=dev-lang/python-3.9.12:3.9";;
python3.10)
- PYTHON_PKG_DEP=">=dev-lang/python-3.10.0_p1-r1:3.10";;
+ PYTHON_PKG_DEP=">=dev-lang/python-3.10.4:3.10";;
python3.11)
- PYTHON_PKG_DEP=">=dev-lang/python-3.11.0_beta1-r1:3.11";;
+ PYTHON_PKG_DEP=">=dev-lang/python-3.11.0_beta3:3.11";;
python*)
PYTHON_PKG_DEP="dev-lang/python:${impl#python}";;
pypy)
- PYTHON_PKG_DEP='>=dev-python/pypy-7.3.0:0=';;
+ PYTHON_PKG_DEP='>=dev-python/pypy-7.3.9:0=';;
pypy3)
- PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.7-r1:0=';;
+ PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.9_p1:0=';;
*)
die "Invalid implementation: ${impl}"
esac
diff --git a/eclass/selinux-policy-2.eclass b/eclass/selinux-policy-2.eclass
index 81d982f749c1..7b6f9aac6ebc 100644
--- a/eclass/selinux-policy-2.eclass
+++ b/eclass/selinux-policy-2.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Eclass for installing SELinux policy, and optionally
@@ -159,7 +159,7 @@ selinux-policy-2_src_prepare() {
if [[ -n ${BASEPOL} ]] && [[ "${BASEPOL}" != "9999" ]]; then
cd "${S}"
einfo "Applying SELinux policy updates ... "
- eapply -p0 "${WORKDIR}/0001-full-patch-against-stable-release.patch"
+ eapply -p0 -- "${WORKDIR}/0001-full-patch-against-stable-release.patch"
fi
# Call in eapply_user. We do this early on as we start moving
@@ -180,9 +180,9 @@ selinux-policy-2_src_prepare() {
# Apply the additional patches refered to by the module ebuild.
# But first some magic to differentiate between bash arrays and strings
if [[ "$(declare -p POLICY_PATCH 2>/dev/null 2>&1)" == "declare -a"* ]]; then
- [[ -n ${POLICY_PATCH[*]} ]] && eapply -d "${S}/refpolicy/policy/modules" "${POLICY_PATCH[@]}"
+ [[ -n ${POLICY_PATCH[*]} ]] && eapply -d "${S}/refpolicy/policy/modules" -- "${POLICY_PATCH[@]}"
else
- [[ -n ${POLICY_PATCH} ]] && eapply -d "${S}/refpolicy/policy/modules" ${POLICY_PATCH}
+ [[ -n ${POLICY_PATCH} ]] && eapply -d "${S}/refpolicy/policy/modules" -- ${POLICY_PATCH}
fi
# Collect only those files needed for this particular module
@@ -368,4 +368,3 @@ selinux-policy-2_pkg_postrm() {
done
fi
}
-