diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 36119 -> 36125 bytes | |||
-rw-r--r-- | eclass/autotools.eclass | 14 | ||||
-rw-r--r-- | eclass/cmake-utils.eclass | 1 | ||||
-rw-r--r-- | eclass/distutils-r1.eclass | 144 | ||||
-rw-r--r-- | eclass/findlib.eclass | 11 | ||||
-rw-r--r-- | eclass/java-pkg-simple.eclass | 8 | ||||
-rw-r--r-- | eclass/java-utils-2.eclass | 7 | ||||
-rw-r--r-- | eclass/kernel-build.eclass | 15 | ||||
-rw-r--r-- | eclass/meson.eclass | 13 | ||||
-rw-r--r-- | eclass/perl-functions.eclass | 32 | ||||
-rw-r--r-- | eclass/perl-module.eclass | 212 | ||||
-rw-r--r-- | eclass/python-utils-r1.eclass | 14 | ||||
-rw-r--r-- | eclass/selinux-policy-2.eclass | 9 |
13 files changed, 221 insertions, 259 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex a9608fe7e379..c5554d13fb90 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz 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 } - |