[gentoo-dev] [PATCH 3/3] perl-module.eclass: Add EAPI=8 support
From: Andreas K. Hüttel New features: DIST_WIKI and DIST_MAKE File permissions are fixed on installation Bug: https://bugs.gentoo.org/733020 Bug: https://bugs.gentoo.org/554346 Bug: https://bugs.gentoo.org/261375 Signed-off-by: Andreas K. Hüttel --- eclass/perl-module.eclass | 89 +-- 1 file changed, 76 insertions(+), 13 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 3f7e4100db07..6285e9363156 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Seemant Kulleen # Andreas K. Hüttel -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: eclass for installing Perl module distributions # @DESCRIPTION: # The perl-module eclass is designed to allow easier installation of Perl @@ -27,6 +27,10 @@ case ${EAPI:-0} in inherit multiprocessing perl-functions PERL_EXPF="src_prepare src_configure src_compile src_test src_install" ;; + 8) + inherit multiprocessing perl-functions readme.gentoo-r1 + PERL_EXPF="src_prepare src_configure src_compile src_test src_install" + ;; *) die "EAPI=${EAPI} is not supported by perl-module.eclass" ;; @@ -99,7 +103,7 @@ case ${EAPI:-0} in EXPORT_FUNCTIONS ${PERL_EXPF} ;; - 7) + *) [[ ${CATEGORY} == perl-core ]] && \ PERL_EXPF+=" pkg_postinst pkg_postrm" @@ -126,9 +130,6 @@ case ${EAPI:-0} in EXPORT_FUNCTIONS ${PERL_EXPF} ;; - *) - die "EAPI=${EAPI:-0} is not supported by perl-module.eclass" - ;; esac LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" @@ -180,6 +181,25 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" # 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. +# @ECLASS-VARIABLE: DIST_WIKI +# @DEFAULT_UNSET +# @DESCRIPTION: +# (EAPI=8 and later) This variable can be set to contain space-separated keywords +# corresponding to article sections in a maintenance notes wiki article. If a +# keyword is set, an ebuild phase can output a message and a link to the wiki. +# Current keywords as of EAPI=8 are: +# * features: Notes about additional dependencies for optional features +# * tests:Notes about additional dependencies and preparations needed for testing + +# @ECLASS-VARIABLE: DIST_MAKE +# @DESCRIPTION: +# (EAPI=8 and later) This Bash array contains parameters to the make call +# from ExtUtils::MakeMaker. Replaces mymake in EAPI=7 and earlier. +# Defaults to ( OPTIMIZE="${CFLAGS}" ) +if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then + DIST_MAKE=( OPTIMIZE="${CFLAGS}" ) +fi + if [[ ${EAPI:-0} == 5 ]]; then if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then @@ -343,11 +363,18 @@ perl-module_src_compile() { debug-print-function $FUNCNAME "$@" perl_set_version - if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then - local mymake_local=(${mymake}) - else - local mymake_local=("${mymake[@]}") - fi + case ${EAPI} in + 5|6|7) + if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then + local mymake_local=(${mymake}) + else + local mymake_local=("${mymake[@]}") + fi + ;; + *) + local mymake_local=("${DIST_MAKE[@]}") + ;; + esac if [[ -f Build ]] ; then ./Build build \ @@ -396,7 +423,7 @@ perl-module_src_test() { local my_test_control local my_test_verbose - if [[ ${EAPI:-0} == 5 ]] ; then + 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 @@ -434,6 +461,18 @@ perl-module_src_test() { fi fi + case ${EAPI} in + 5|6|7) + ;; + *) + if has 'tests' ${DIST_WIKI} ; then + ewarn "This package may require additional dependencies and/or preparation steps for" + ewarn "comprehensive testing. For details, see:" + ewarn "$(perl_get_wikiurl_tests)" + fi + ;; + esac + perl_set_version if [[ -f Build ]] ; then ./Build test verbose=${my_test_verbose} || die "test failed" @@ -473,9 +512,17 @@
[gentoo-dev] [PATCH 2/3] perl-functions.eclass: Add new helpers for EAPI=8 ...
From: Andreas K. Hüttel ... and fix an existing one. fperms works on ${D} by default, so we can give it / to operate on. Bug: https://bugs.gentoo.org/554346 Bug: https://bugs.gentoo.org/733020 Signed-off-by: Andreas K. Hüttel --- eclass/perl-functions.eclass | 35 --- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass index 8633f384f1bf..d0a082797265 100644 --- a/eclass/perl-functions.eclass +++ b/eclass/perl-functions.eclass @@ -8,7 +8,7 @@ # Seemant Kulleen # Andreas K. Huettel # Kent Fredric -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: helper functions eclass for perl modules # @DESCRIPTION: # The perl-functions eclass is designed to allow easier installation of perl @@ -19,7 +19,7 @@ [[ ${CATEGORY} == "perl-core" ]] && inherit alternatives case "${EAPI:-0}" in - 5|6|7) + 5|6|7|8) ;; *) die "EAPI=${EAPI} is not supported by perl-functions.eclass" @@ -134,7 +134,8 @@ perl_delete_emptybsdir() { perl_fix_permissions() { debug-print-function $FUNCNAME "$@" perl_set_version - fperms -R u+w "${D}" + einfo Fixing installed file permissions + fperms -R u+w / } # @FUNCTION: perl_fix_packlist @@ -596,3 +597,31 @@ perl_domodule() { insinto "/${target#/}" doins "${doins_opts[@]}" "${files[@]}" } + +# @FUNCTION: perl_get_wikiurl +# @DESCRIPTION: +# Convenience helper for returning the Gentoo Wiki maintenance page URL of a +# package. Optionally a suffix can be passed for an in-page anchor. +# +# Example: +# @CODE +# my_url="$(perl_get_wikiurl Testing)" +# @CODE + +perl_get_wikiurl() { + debug-print-function $FUNCNAME "$@" + + if [[ "" == ${1} ]]; then + echo "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}; + else + echo "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}#${1}; + fi +} + +perl_get_wikiurl_features() { + perl_get_wikiurl Optional_Features +} + +perl_get_wikiurl_tests() { + perl_get_wikiurl Testing +} -- 2.31.1
[gentoo-dev] [PATCH 1/3] readme.gentoo-r1.eclass: works just fine with EAPI=8
From: Andreas K. Hüttel Signed-off-by: Andreas K. Hüttel --- eclass/readme.gentoo-r1.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass index dfa3b52b6765..ce492b900104 100644 --- a/eclass/readme.gentoo-r1.eclass +++ b/eclass/readme.gentoo-r1.eclass @@ -6,7 +6,7 @@ # Pacho Ramos # @AUTHOR: # Author: Pacho Ramos -# @SUPPORTED_EAPIS: 4 5 6 7 +# @SUPPORTED_EAPIS: 4 5 6 7 8 # @BLURB: install a doc file shown via elog messages # @DESCRIPTION: # An eclass for installing a README.gentoo doc file recording tips @@ -24,7 +24,7 @@ case "${EAPI:-0}" in 0|1|2|3) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 4|5|6|7) + 4|5|6|7|8) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" -- 2.31.1
[gentoo-dev] [PATCH] perl-module.eclass: Also populate BDEPEND in EAPI=7
From: Andreas K. Hüttel In addition, no slot op in DEPEND. Signed-off-by: Andreas K. Hüttel --- eclass/perl-module.eclass | 31 +-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 81f79992d766..e1fb97df3260 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -72,13 +72,13 @@ case ${EAPI:-0} in ;; esac ;; - 6|7) + 6) [[ ${CATEGORY} == perl-core ]] && \ PERL_EXPF+=" pkg_postinst pkg_postrm" case "${GENTOO_DEPEND_ON_PERL:-yes}" in yes) - DEPEND="dev-lang/perl:=" + DEPEND="dev-lang/perl" RDEPEND="dev-lang/perl:=" ;; noslotop) @@ -97,6 +97,33 @@ case ${EAPI:-0} in die"phase functions, perl-functions.eclass if not." fi + EXPORT_FUNCTIONS ${PERL_EXPF} + ;; + 7) + [[ ${CATEGORY} == perl-core ]] && \ + PERL_EXPF+=" pkg_postinst pkg_postrm" + + case "${GENTOO_DEPEND_ON_PERL:-yes}" in + yes) + DEPEND="dev-lang/perl" + BDEPEND="dev-lang/perl" + RDEPEND="dev-lang/perl:=" + ;; + noslotop) + DEPEND="dev-lang/perl" + BDEPEND="dev-lang/perl" + RDEPEND="dev-lang/perl" + ;; + esac + + if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then + die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later." + fi + + if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then + die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later." + fi + EXPORT_FUNCTIONS ${PERL_EXPF} ;; *) -- 2.22.0
[gentoo-dev] [PATCH 1/4] package.mask: Move ICU-59 mask from main package.mask to base profile mask
From: Andreas K. Hüttel--- profiles/base/package.mask | 6 ++ profiles/package.mask | 6 -- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/profiles/base/package.mask b/profiles/base/package.mask index 320a6bbb1a0c..6fa75c0ec35a 100644 --- a/profiles/base/package.mask +++ b/profiles/base/package.mask @@ -1,2 +1,8 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# This release and later require C++11 or C++14 +# So we mask it here, and unmask in 17.0 release profiles +>=dev-libs/icu-59 +>=dev-libs/icu-layoutex-59 diff --git a/profiles/package.mask b/profiles/package.mask index df1f6d7ce5a3..113cb93fdcdd 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -454,12 +454,6 @@ sci-chemistry/mead # dependencies. See #594134. To be removed in 30 days. sys-fabric/libibvpp -# Andreas K. Hüttel (13 May 2017) -# This release breaks lots of reverse deps because of conflicting types. -# So let's get it in the tree, mask it and test. -=dev-libs/icu-59* -=dev-libs/icu-layoutex-59* - # Michael Orlitzky (11 May 2017) # Neither of these packages has a clear license, and both are # unmaintained (and probably unused). No reverse dependencies, -- 2.13.1
[gentoo-dev] [PATCH 4/4] package.use.mask: Mask ICU supprt of Qt:4 on 17.0 profiles
From: Andreas K. Hüttel--- profiles/releases/17.0/package.use.mask | 5 + 1 file changed, 5 insertions(+) diff --git a/profiles/releases/17.0/package.use.mask b/profiles/releases/17.0/package.use.mask index 8eefcfe631ea..9a6609274ad1 100644 --- a/profiles/releases/17.0/package.use.mask +++ b/profiles/releases/17.0/package.use.mask @@ -4,3 +4,8 @@ # Andreas K. Hüttel (27 May 2017) # Unmask default-PIE on 17.0 profiles. sys-devel/gcc -pie + +# Andreas K. Hüttel (7 June 2017) +# Qt-4 will never work with >=icu-59, see bug 618638 and bug 618640 +dev-qt/qtcore:4 icu +dev-qt/qtwebkit:4 icu -- 2.13.1
[gentoo-dev] [PATCH 3/4] profiles: Add amd64 17.0 profiles (identical to 13.0 except for one parent entry)
From: Andreas K. Hüttel--- profiles/default/linux/amd64/17.0/desktop/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/gnome/eapi| 1 + profiles/default/linux/amd64/17.0/desktop/gnome/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi| 1 + profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/parent| 2 ++ profiles/default/linux/amd64/17.0/desktop/plasma/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/plasma/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent | 2 ++ profiles/default/linux/amd64/17.0/developer/eapi| 1 + profiles/default/linux/amd64/17.0/developer/make.defaults | 7 +++ profiles/default/linux/amd64/17.0/developer/parent | 2 ++ profiles/default/linux/amd64/17.0/eapi | 1 + profiles/default/linux/amd64/17.0/no-multilib/eapi | 1 + profiles/default/linux/amd64/17.0/no-multilib/parent| 2 ++ profiles/default/linux/amd64/17.0/parent| 2 ++ profiles/default/linux/amd64/17.0/selinux/eapi | 1 + profiles/default/linux/amd64/17.0/selinux/parent| 2 ++ profiles/default/linux/amd64/17.0/systemd/eapi | 1 + profiles/default/linux/amd64/17.0/systemd/parent| 2 ++ profiles/default/linux/amd64/17.0/x32/eapi | 1 + profiles/default/linux/amd64/17.0/x32/make.defaults | 4 profiles/default/linux/amd64/17.0/x32/parent| 2 ++ 24 files changed, 44 insertions(+) create mode 100644 profiles/default/linux/amd64/17.0/desktop/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/developer/eapi create mode 100644 profiles/default/linux/amd64/17.0/developer/make.defaults create mode 100644 profiles/default/linux/amd64/17.0/developer/parent create mode 100644 profiles/default/linux/amd64/17.0/eapi create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/eapi create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/parent create mode 100644 profiles/default/linux/amd64/17.0/parent create mode 100644 profiles/default/linux/amd64/17.0/selinux/eapi create mode 100644 profiles/default/linux/amd64/17.0/selinux/parent create mode 100644 profiles/default/linux/amd64/17.0/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/x32/eapi create mode 100644 profiles/default/linux/amd64/17.0/x32/make.defaults create mode 100644 profiles/default/linux/amd64/17.0/x32/parent diff --git a/profiles/default/linux/amd64/17.0/desktop/eapi b/profiles/default/linux/amd64/17.0/desktop/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/eapi b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/parent b/profiles/default/linux/amd64/17.0/desktop/gnome/parent new file mode 100644 index ..6589a0e01478 --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/parent @@ -0,0 +1,2 @@ +.. +../../../../../../targets/desktop/gnome diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent new file mode 100644 index ..44f88d3e2df0 --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff
[gentoo-dev] [PATCH 2/4] profiles: Add 17.0 release profile
From: Andreas K. Hüttel* Require >=gcc-6 with PIE forced on * Unmask ICU-59 and later --- profiles/releases/17.0/eapi | 1 + profiles/releases/17.0/make.defaults | 5 + profiles/releases/17.0/package.mask | 6 ++ profiles/releases/17.0/package.unmask| 9 + profiles/releases/17.0/package.use.force | 6 ++ profiles/releases/17.0/package.use.mask | 6 ++ profiles/releases/17.0/parent| 1 + 7 files changed, 34 insertions(+) create mode 100644 profiles/releases/17.0/eapi create mode 100644 profiles/releases/17.0/make.defaults create mode 100644 profiles/releases/17.0/package.mask create mode 100644 profiles/releases/17.0/package.unmask create mode 100644 profiles/releases/17.0/package.use.force create mode 100644 profiles/releases/17.0/package.use.mask create mode 100644 profiles/releases/17.0/parent diff --git a/profiles/releases/17.0/eapi b/profiles/releases/17.0/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/releases/17.0/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/releases/17.0/make.defaults b/profiles/releases/17.0/make.defaults new file mode 100644 index ..475e60c7d655 --- /dev/null +++ b/profiles/releases/17.0/make.defaults @@ -0,0 +1,5 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Adding this one, since it makes sense. +USE="bzip2" diff --git a/profiles/releases/17.0/package.mask b/profiles/releases/17.0/package.mask new file mode 100644 index ..943ae2b6a65c --- /dev/null +++ b/profiles/releases/17.0/package.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Huettel (27 May 2017) +# Require a gcc here that uses C++14 or later as default setting + (27 May 2017) +# We can unmask ICU 59 and later now we for sure have a recent GCC +# Note: "and later" is safe here since the profiles/package.mask +# still overrides. +>=dev-libs/icu-59 +>=dev-libs/icu-layoutex-59 diff --git a/profiles/releases/17.0/package.use.force b/profiles/releases/17.0/package.use.force new file mode 100644 index ..e0b6784ee1e7 --- /dev/null +++ b/profiles/releases/17.0/package.use.force @@ -0,0 +1,6 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# Force default-PIE build on 17.0 profiles. +sys-devel/gcc pie diff --git a/profiles/releases/17.0/package.use.mask b/profiles/releases/17.0/package.use.mask new file mode 100644 index ..8eefcfe631ea --- /dev/null +++ b/profiles/releases/17.0/package.use.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# Unmask default-PIE on 17.0 profiles. +sys-devel/gcc -pie diff --git a/profiles/releases/17.0/parent b/profiles/releases/17.0/parent new file mode 100644 index ..f3229c5b9876 --- /dev/null +++ b/profiles/releases/17.0/parent @@ -0,0 +1 @@ +.. -- 2.13.1
[gentoo-dev] [PATCH 1/4] package.mask: Move ICU-59 mask from main package.mask to base profile mask
From: Andreas K. Hüttel--- profiles/base/package.mask | 6 ++ profiles/package.mask | 6 -- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/profiles/base/package.mask b/profiles/base/package.mask index 320a6bbb1a0c..6fa75c0ec35a 100644 --- a/profiles/base/package.mask +++ b/profiles/base/package.mask @@ -1,2 +1,8 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# This release and later require C++11 or C++14 +# So we mask it here, and unmask in 17.0 release profiles +>=dev-libs/icu-59 +>=dev-libs/icu-layoutex-59 diff --git a/profiles/package.mask b/profiles/package.mask index df1f6d7ce5a3..113cb93fdcdd 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -454,12 +454,6 @@ sci-chemistry/mead # dependencies. See #594134. To be removed in 30 days. sys-fabric/libibvpp -# Andreas K. Hüttel (13 May 2017) -# This release breaks lots of reverse deps because of conflicting types. -# So let's get it in the tree, mask it and test. -=dev-libs/icu-59* -=dev-libs/icu-layoutex-59* - # Michael Orlitzky (11 May 2017) # Neither of these packages has a clear license, and both are # unmaintained (and probably unused). No reverse dependencies, -- 2.13.1
[gentoo-dev] [PATCH 2/4] profiles: Add 17.0 release profile
From: Andreas K. Hüttel* Require >=gcc-6 with PIE forced on * Unmask ICU-59 and later --- profiles/releases/17.0/eapi | 1 + profiles/releases/17.0/make.defaults | 5 + profiles/releases/17.0/package.mask | 6 ++ profiles/releases/17.0/package.unmask| 9 + profiles/releases/17.0/package.use.force | 6 ++ profiles/releases/17.0/package.use.mask | 6 ++ profiles/releases/17.0/parent| 1 + 7 files changed, 34 insertions(+) create mode 100644 profiles/releases/17.0/eapi create mode 100644 profiles/releases/17.0/make.defaults create mode 100644 profiles/releases/17.0/package.mask create mode 100644 profiles/releases/17.0/package.unmask create mode 100644 profiles/releases/17.0/package.use.force create mode 100644 profiles/releases/17.0/package.use.mask create mode 100644 profiles/releases/17.0/parent diff --git a/profiles/releases/17.0/eapi b/profiles/releases/17.0/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/releases/17.0/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/releases/17.0/make.defaults b/profiles/releases/17.0/make.defaults new file mode 100644 index ..475e60c7d655 --- /dev/null +++ b/profiles/releases/17.0/make.defaults @@ -0,0 +1,5 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Adding this one, since it makes sense. +USE="bzip2" diff --git a/profiles/releases/17.0/package.mask b/profiles/releases/17.0/package.mask new file mode 100644 index ..943ae2b6a65c --- /dev/null +++ b/profiles/releases/17.0/package.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Huettel (27 May 2017) +# Require a gcc here that uses C++14 or later as default setting + (27 May 2017) +# We can unmask ICU 59 and later now we for sure have a recent GCC +# Note: "and later" is safe here since the profiles/package.mask +# still overrides. +>=dev-libs/icu-59 +>=dev-libs/icu-layoutex-59 diff --git a/profiles/releases/17.0/package.use.force b/profiles/releases/17.0/package.use.force new file mode 100644 index ..e0b6784ee1e7 --- /dev/null +++ b/profiles/releases/17.0/package.use.force @@ -0,0 +1,6 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# Force default-PIE build on 17.0 profiles. +sys-devel/gcc pie diff --git a/profiles/releases/17.0/package.use.mask b/profiles/releases/17.0/package.use.mask new file mode 100644 index ..8eefcfe631ea --- /dev/null +++ b/profiles/releases/17.0/package.use.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (27 May 2017) +# Unmask default-PIE on 17.0 profiles. +sys-devel/gcc -pie diff --git a/profiles/releases/17.0/parent b/profiles/releases/17.0/parent new file mode 100644 index ..f3229c5b9876 --- /dev/null +++ b/profiles/releases/17.0/parent @@ -0,0 +1 @@ +.. -- 2.13.1
[gentoo-dev] [PATCH 4/4] package.use.mask: Mask ICU supprt of Qt:4 on 17.0 profiles
From: Andreas K. Hüttel--- profiles/releases/17.0/package.use.mask | 5 + 1 file changed, 5 insertions(+) diff --git a/profiles/releases/17.0/package.use.mask b/profiles/releases/17.0/package.use.mask index 8eefcfe631ea..9a6609274ad1 100644 --- a/profiles/releases/17.0/package.use.mask +++ b/profiles/releases/17.0/package.use.mask @@ -4,3 +4,8 @@ # Andreas K. Hüttel (27 May 2017) # Unmask default-PIE on 17.0 profiles. sys-devel/gcc -pie + +# Andreas K. Hüttel (7 June 2017) +# Qt-4 will never work with >=icu-59, see bug 618638 and bug 618640 +dev-qt/qtcore:4 icu +dev-qt/qtwebkit:4 icu -- 2.13.1
[gentoo-dev] [PATCH 3/4] profiles: Add amd64 17.0 profiles (identical to 13.0 except for one parent entry)
From: Andreas K. Hüttel--- profiles/default/linux/amd64/17.0/desktop/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/gnome/eapi| 1 + profiles/default/linux/amd64/17.0/desktop/gnome/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi| 1 + profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/parent| 2 ++ profiles/default/linux/amd64/17.0/desktop/plasma/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/plasma/parent | 2 ++ profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi | 1 + profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent | 2 ++ profiles/default/linux/amd64/17.0/developer/eapi| 1 + profiles/default/linux/amd64/17.0/developer/make.defaults | 7 +++ profiles/default/linux/amd64/17.0/developer/parent | 2 ++ profiles/default/linux/amd64/17.0/eapi | 1 + profiles/default/linux/amd64/17.0/no-multilib/eapi | 1 + profiles/default/linux/amd64/17.0/no-multilib/parent| 2 ++ profiles/default/linux/amd64/17.0/parent| 2 ++ profiles/default/linux/amd64/17.0/selinux/eapi | 1 + profiles/default/linux/amd64/17.0/selinux/parent| 2 ++ profiles/default/linux/amd64/17.0/systemd/eapi | 1 + profiles/default/linux/amd64/17.0/systemd/parent| 2 ++ profiles/default/linux/amd64/17.0/x32/eapi | 1 + profiles/default/linux/amd64/17.0/x32/make.defaults | 4 profiles/default/linux/amd64/17.0/x32/parent| 2 ++ 24 files changed, 44 insertions(+) create mode 100644 profiles/default/linux/amd64/17.0/desktop/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/parent create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/developer/eapi create mode 100644 profiles/default/linux/amd64/17.0/developer/make.defaults create mode 100644 profiles/default/linux/amd64/17.0/developer/parent create mode 100644 profiles/default/linux/amd64/17.0/eapi create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/eapi create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/parent create mode 100644 profiles/default/linux/amd64/17.0/parent create mode 100644 profiles/default/linux/amd64/17.0/selinux/eapi create mode 100644 profiles/default/linux/amd64/17.0/selinux/parent create mode 100644 profiles/default/linux/amd64/17.0/systemd/eapi create mode 100644 profiles/default/linux/amd64/17.0/systemd/parent create mode 100644 profiles/default/linux/amd64/17.0/x32/eapi create mode 100644 profiles/default/linux/amd64/17.0/x32/make.defaults create mode 100644 profiles/default/linux/amd64/17.0/x32/parent diff --git a/profiles/default/linux/amd64/17.0/desktop/eapi b/profiles/default/linux/amd64/17.0/desktop/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/eapi b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/parent b/profiles/default/linux/amd64/17.0/desktop/gnome/parent new file mode 100644 index ..6589a0e01478 --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/parent @@ -0,0 +1,2 @@ +.. +../../../../../../targets/desktop/gnome diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi new file mode 100644 index ..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent new file mode 100644 index ..44f88d3e2df0 --- /dev/null +++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff
[gentoo-dev] [PATCH 06/15] perl-module.eclass: Introduce MODULE_NAME and MODULE_P while still keeping existing weirdness compatible
From: Andreas K. Hüttel--- eclass/perl-module.eclass | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 9d87b17..6a5f2ff 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -106,13 +106,15 @@ 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="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}" + 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="http://search.cpan.org/dist/${MY_PN:-${PN}}/; + HOMEPAGE="http://search.cpan.org/dist/${MODULE_NAME}/; SRC_PREP="no" SRC_TEST="skip" -- 2.6.3
[gentoo-dev] [PATCH 04/15] perl-module.eclass: Use default unpacking from EAPI=6 on
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 734de11..8caa981 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -15,9 +15,20 @@ # All exported functions from perl-functions.eclass (inherited here) # explicitly also belong to the interface of perl-module.eclass. -inherit eutils multiprocessing unpacker perl-functions +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" + ;; + 6) + inherit eutils multiprocessing perl-functions + PERL_EXPF="src_prepare src_configure src_compile src_test src_install" + ;; + *) + die "EAPI=${EAPI} is not supported by perl-module.eclass" + ;; +esac -PERL_EXPF="src_unpack src_prepare src_configure src_compile src_test src_install" case "${EAPI:-0}" in 5) @@ -116,7 +127,7 @@ pm_echovar="" # This function is to be called during the ebuild src_unpack() phase. perl-module_src_unpack() { debug-print-function $FUNCNAME "$@" - + [[ ${EAPI}==5 ]] || die "perl-module_src_unpack is banned in EAPI=6 or later" unpacker_src_unpack } -- 2.6.3
[gentoo-dev] [PATCH 02/15] perl-module.eclass: Remove references to perlinfo_done
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 82c72fc..78fa01d 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -108,7 +108,6 @@ SRC_TEST="skip" PREFER_BUILDPL="yes" pm_echovar="" -perlinfo_done=false # @FUNCTION: perl-module_src_unpack # @USAGE: perl-module_src_unpack @@ -271,7 +270,7 @@ perl-module_src_test() { export HARNESS_OPTIONS=j$(makeopts_jobs) einfo "Test::Harness Jobs=$(makeopts_jobs)" fi - ${perlinfo_done} || perl_set_version + perl_set_version if [[ -f Build ]] ; then ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed" elif [[ -f Makefile ]] ; then -- 2.6.3
[gentoo-dev] [PATCH 05/15] perl-module.eclass: Use eapply from EAPI=6 on and always call eapply_user
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 8caa981..9d87b17 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -138,9 +138,17 @@ perl-module_src_unpack() { # This function is to be called during the ebuild src_prepare() phase. perl-module_src_prepare() { debug-print-function $FUNCNAME "$@" - [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" - debug-print "$FUNCNAME: applying user patches" - epatch_user + + if [[ ${EAPI:-0} = 5 ]] ; then + [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" + debug-print "$FUNCNAME: applying user patches" + epatch_user + else + [[ ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" + debug-print "$FUNCNAME: applying user patches" + eapply_user + fi + if [[ ${PERL_RM_FILES[@]} ]]; then debug-print "$FUNCNAME: stripping unneeded files" perl_rm_files "${PERL_RM_FILES[@]}" -- 2.6.3
[gentoo-dev] [PATCH 01/15] perl-module.eclass: Allow EAPI=6, ban PERL_EXPORT_PHASE_FUNCTIONS there, simplify perl dependency
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 54 ++- 1 file changed, 44 insertions(+), 10 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 5a476d2..82c72fc 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -37,21 +37,55 @@ case "${EAPI:-0}" in 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 ;; - *) - die "EAPI=${EAPI} is not supported by perl-module.eclass" - ;; -esac + 6) + [[ ${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:=" + ;; + *) + DEPEND="dev-lang/perl" + ;; + esac + RDEPEND="${DEPEND}" + ;; + esac + + case "${PERL_EXPORT_PHASE_FUNCTIONS:-undefined}" in + yes) + die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6. It defaults to yes anyway." + ;; + no) + die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6. Inherit perl-functions.eclass instead." + ;; + undefined) + ;; + *) + die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6." + ;; + 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" + die "EAPI=${EAPI} is not supported by perl-module.eclass" ;; esac -- 2.6.3
[gentoo-dev] [PATCH 09/15] perl-module.eclass: Use DIST_ prefix instead of MODULE_ prefix in EAPI=6 for control variables.
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> This is more consistent with upstream terminology and avoids clashes in case of kernel modules. --- eclass/perl-module.eclass | 52 +++ 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 82707fe..efcc47c 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -114,30 +114,31 @@ esac LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" -# @ECLASS-VARIABLE: MODULE_NAME +# @ECLASS-VARIABLE: DIST_NAME # @DESCRIPTION: # (EAPI=6) This variable provides a way to override PN for the calculation of S, # SRC_URI, and HOMEPAGE. Defaults to PN. -# @ECLASS-VARIABLE: MODULE_VERSION +# @ECLASS-VARIABLE: DIST_VERSION # @DESCRIPTION: -# This variable provides a way to override PV for the calculation of S and SRC_URI. +# (EAPI=6) 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. Defaults to PV. +# Named MODULE_VERSION in EAPI=5. -# @ECLASS-VARIABLE: MODULE_A_EXT +# @ECLASS-VARIABLE: DIST_A_EXT # @DESCRIPTION: -# This variable provides a way to override the distfile extension for the calculation of -# SRC_URI. Defaults to tar.gz +# (EAPI=6) This variable provides a way to override the distfile extension for the calculation of +# SRC_URI. Defaults to tar.gz. Named MODULE_A_EXT in EAPI=5. -# @ECLASS-VARIABLE: MODULE_A +# @ECLASS-VARIABLE: DIST_A # @DESCRIPTION: -# This variable provides a way to override the distfile name for the calculation of -# SRC_URI. Defaults to ${MODULE_NAME}-${MODULE_VERSION}.${MODULE_A_EXT} +# (EAPI=6) This variable provides a way to override the distfile name for the calculation of +# SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5. -# @ECLASS-VARIABLE: MODULE_AUTHOR +# @ECLASS-VARIABLE: DIST_AUTHOR # @DESCRIPTION: -# This variable sets the module author name for the calculation of -# SRC_URI. +# (EAPI=6) This variable sets the module author name for the calculation of +# SRC_URI. Named MODULE_AUTHOR in EAPI=5. if [[ ${EAPI:-0} = 5 ]] ; then if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then @@ -146,19 +147,26 @@ if [[ ${EAPI:-0} = 5 ]] ; then 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="http://search.cpan.org/dist/${MODULE_NAME}/; else - MODULE_NAME=${MODULE_NAME:-${PN}} - MODULE_P=${MODULE_NAME}-${MODULE_VERSION:-${PV}} - S=${WORKDIR}/${MODULE_P} + 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="http://search.cpan.org/dist/${DIST_NAME}/; fi -[[ -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="http://search.cpan.org/dist/${MODULE_NAME}/; - SRC_PREP="no" SRC_TEST="skip" PREFER_BUILDPL="yes" -- 2.6.3
[gentoo-dev] [PATCH 10/15] perl-module.eclass: Rename SRC_TEST to DIST_TEST in EAPI=6 and default to "do parallel"
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 40 +++- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index efcc47c..0d428d2 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -154,6 +154,8 @@ if [[ ${EAPI:-0} = 5 ]] ; then 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="http://search.cpan.org/dist/${MODULE_NAME}/; + + SRC_TEST="skip" else DIST_NAME=${DIST_NAME:-${PN}} DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}} @@ -168,7 +170,6 @@ else fi SRC_PREP="no" -SRC_TEST="skip" PREFER_BUILDPL="yes" pm_echovar="" @@ -315,6 +316,18 @@ perl-module_src_compile() { fi } +# @ECLASS-VARIABLE: DIST_TEST +# @DESCRIPTION: +# (EAPI=6) Variable that controls if tests are run in the test phase +# at all, and if yes under which conditions. Defaults to "do parallel" +# In EAPI=5 the variable is called SRC_TEST and defaults to "skip". +# All of the following have been tested to work: +# DIST_TEST="do parallel" +# DIST_TEST="parallel" +# DIST_TEST="parallel do" +# DIST_TEST=parallel +# DIST_TEST=skip + # @FUNCTION: perl-module_src-test # @USAGE: perl-module_src_test() # @DESCRIPTION: @@ -323,24 +336,17 @@ perl-module_src_compile() { # # If you want more verbose testing, set TEST_VERBOSE=1 # in your bashrc | /etc/portage/make.conf | ENV -# -# or ebuild writers: -# If you wish to enable default tests w/ 'make test' , -# -# SRC_TEST="do" -# -# If you wish to have threads run in parallel ( using the users makeopts ) -# all of the following have been tested to work. -# -# SRC_TEST="do parallel" -# SRC_TEST="parallel" -# SRC_TEST="parallel do" -# SRC_TEST=parallel -# perl-module_src_test() { debug-print-function $FUNCNAME "$@" - if has 'do' ${SRC_TEST} || has 'parallel' ${SRC_TEST} ; then - if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${SRC_TEST} ; then + local my_test_control + if [[ ${EAPI:-0} = 5 ]] ; then + my_test_control=${SRC_TEST} + else + my_test_control=${DIST_TEST:-do parallel} + fi + + if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then + if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${my_test_control} ; then export HARNESS_OPTIONS=j$(makeopts_jobs) einfo "Test::Harness Jobs=$(makeopts_jobs)" fi -- 2.6.3
[gentoo-dev] [PATCH 13/15] perl-module.eclass: Make some former warnings fatal to get rid of PERLQAFATAL, eqawarn, and (in EAPI=6) eutils.eclass
From: Andreas K. Hüttel--- eclass/perl-module.eclass | 29 + 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 86c0a48..faa8a34 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -24,7 +24,7 @@ case "${EAPI:-0}" in PERL_EXPF="src_unpack src_prepare src_configure src_compile src_test src_install" ;; 6) - inherit eutils multiprocessing perl-functions + inherit multiprocessing perl-functions PERL_EXPF="src_prepare src_configure src_compile src_test src_install" ;; *) @@ -211,7 +211,6 @@ perl-module_src_prepare() { perl_rm_files "${PERL_RM_FILES[@]}" fi perl_fix_osx_extra - esvn_clean } # @FUNCTION: perl-module_src_configure @@ -245,22 +244,14 @@ perl-module_src_configure() { 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 - eqawarn "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." - eqawarn " Add dev-perl/Module-Build-Tiny to DEPEND!" - if [[ -n ${PERLQAFATAL} ]]; then - eerror "Bailing out due to PERLQAFATAL=1"; - die - fi + eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." + die" Add dev-perl/Module-Build-Tiny to DEPEND!" fi else einfo "Using Module::Build" if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${DEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then - eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it." - eqawarn " Add dev-perl/Module-Build to DEPEND!" - if [[ -n ${PERLQAFATAL} ]]; then - eerror "Bailing out due to PERLQAFATAL=1"; - die - fi + eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it." + die" Add dev-perl/Module-Build to DEPEND!" fi fi set -- \ @@ -425,9 +416,8 @@ perl-module_src_install() { perl-module_pkg_postinst() { debug-print-function $FUNCNAME "$@" if [[ ${CATEGORY} != perl-core ]] ; then - eqawarn "perl-module.eclass: You are calling perl-module_pkg_postinst outside the perl-core category." - eqawarn " This does not do anything; the call can be safely removed." - return 0 + eerror "perl-module.eclass: You are calling perl-module_pkg_postinst outside the perl-core category." + die" This does not do anything; the call can be removed." fi perl_link_duallife_scripts } @@ -442,9 +432,8 @@ perl-module_pkg_postinst() { perl-module_pkg_postrm() { debug-print-function $FUNCNAME "$@" if [[ ${CATEGORY} != perl-core ]] ; then - eqawarn "perl-module.eclass: You are calling perl-module_pkg_postrm outside the perl-core category." - eqawarn " This does not do anything; the call can be safely removed." - return 0 + eerror "perl-module.eclass: You are calling perl-module_pkg_postrm outside the perl-core category." + die" This does not do anything; the call can be removed." fi perl_link_duallife_scripts } -- 2.6.3
[gentoo-dev] [PATCH 08/15] perl-module.eclass: Document variables available in EAPI=6
From: Andreas K. Hüttel--- eclass/perl-module.eclass | 37 + 1 file changed, 37 insertions(+) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 7434bcf..82707fe 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -29,6 +29,18 @@ case "${EAPI:-0}" in ;; esac +# @ECLASS-VARIABLE: GENTOO_DEPEND_ON_PERL +# @DESCRIPTION: +# This variable controls whether a runtime and build time dependency on +# dev-lang/perl is automatically added by the eclass. It defaults to yes. +# Set to no to disable. + +# @ECLASS-VARIABLE: GENTOO_DEPEND_ON_PERL_SUBSLOT +# @DESCRIPTION: +# This variable controls whether the dependency on dev-lang/perl added by +# the eclass contains a := slot operator. Defaults to yes, set to no to +# disable the slot operator. All packages installing into the vendor_perl +# path must use yes here. case "${EAPI:-0}" in 5) @@ -102,6 +114,31 @@ esac LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" +# @ECLASS-VARIABLE: MODULE_NAME +# @DESCRIPTION: +# (EAPI=6) This variable provides a way to override PN for the calculation of S, +# SRC_URI, and HOMEPAGE. Defaults to PN. + +# @ECLASS-VARIABLE: MODULE_VERSION +# @DESCRIPTION: +# 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. Defaults to PV. + +# @ECLASS-VARIABLE: MODULE_A_EXT +# @DESCRIPTION: +# This variable provides a way to override the distfile extension for the calculation of +# SRC_URI. Defaults to tar.gz + +# @ECLASS-VARIABLE: MODULE_A +# @DESCRIPTION: +# This variable provides a way to override the distfile name for the calculation of +# SRC_URI. Defaults to ${MODULE_NAME}-${MODULE_VERSION}.${MODULE_A_EXT} + +# @ECLASS-VARIABLE: MODULE_AUTHOR +# @DESCRIPTION: +# This variable sets the module author name for the calculation of +# SRC_URI. + 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 -- 2.6.3
[gentoo-dev] [PATCH 03/15] perl-module.eclass: Just go ahead when calling configure twice in EAPI=6
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 78fa01d..734de11 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -146,7 +146,9 @@ perl-module_src_prepare() { perl-module_src_configure() { debug-print-function $FUNCNAME "$@" - [[ ${SRC_PREP} = yes ]] && return 0 + if [[ ${EAPI:-0} = 5 ]]; then + [[ ${SRC_PREP} = yes ]] && return 0 + fi SRC_PREP="yes" perl_check_env -- 2.6.3
[gentoo-dev] [PATCH 07/15] perl-module.eclass: Do not do any magic with MY_... variables in EAPI=6 anymore
From: Andreas K. Hüttel--- eclass/perl-module.eclass | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 6a5f2ff..7434bcf 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -102,12 +102,18 @@ esac LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" -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}} +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}} +else + MODULE_NAME=${MODULE_NAME:-${PN}} + MODULE_P=${MODULE_NAME}-${MODULE_VERSION:-${PV}} + S=${WORKDIR}/${MODULE_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}" -- 2.6.3
[gentoo-dev] [PATCH 11/15] perl-module.eclass: Introduce DIST_TEST_OVERRIDE in EAPI=6
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 0d428d2..4dc39eb 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -328,6 +328,14 @@ perl-module_src_compile() { # DIST_TEST=parallel # DIST_TEST=skip +# @ECLASS-VARIABLE: DIST_TEST_OVERRIDE +# @DESCRIPTION: +# (EAPI=6) 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 +# completely. DO NOT USE THIS IN EBUILDS! + # @FUNCTION: perl-module_src-test # @USAGE: perl-module_src_test() # @DESCRIPTION: @@ -342,7 +350,8 @@ perl-module_src_test() { if [[ ${EAPI:-0} = 5 ]] ; then my_test_control=${SRC_TEST} else - my_test_control=${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}} fi if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then -- 2.6.3
[gentoo-dev] [PATCH 15/15] dev-perl/CGI: Add EAPI=6 test ebuild
From: Andreas K. HüttelPackage-Manager: portage-2.2.26 --- dev-perl/CGI/CGI-4.220.0-r1.ebuild | 33 + 1 file changed, 33 insertions(+) create mode 100644 dev-perl/CGI/CGI-4.220.0-r1.ebuild diff --git a/dev-perl/CGI/CGI-4.220.0-r1.ebuild b/dev-perl/CGI/CGI-4.220.0-r1.ebuild new file mode 100644 index 000..9d2500e --- /dev/null +++ b/dev-perl/CGI/CGI-4.220.0-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +DIST_AUTHOR=LEEJO +DIST_VERSION=4.22 +inherit perl-module + +DESCRIPTION="Simple Common Gateway Interface Class" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="test" + +RDEPEND=" + virtual/perl-Carp + virtual/perl-Encode + virtual/perl-Exporter + >=virtual/perl-File-Spec-0.820.0 + virtual/perl-File-Temp + >=dev-perl/HTML-Parser-3.690.0 + virtual/perl-if + >=virtual/perl-parent-0.225.0 +" +DEPEND="${RDEPEND} + virtual/perl-ExtUtils-MakeMaker + test? ( + >=virtual/perl-Test-Simple-0.980.0 + dev-perl/Test-Warn + ) +" -- 2.6.3
[gentoo-dev] [PATCH 14/15] perl-module.eclass: Rewrite src_test for EAPI=6
From: Andreas K. Hüttel--- eclass/perl-module.eclass | 65 --- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index faa8a34..c174d5f 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -314,13 +314,14 @@ perl-module_src_compile() { # @DESCRIPTION: # (EAPI=6) Variable that controls if tests are run in the test phase # at all, and if yes under which conditions. Defaults to "do parallel" -# In EAPI=5 the variable is called SRC_TEST and defaults to "skip". -# All of the following have been tested to work: -# DIST_TEST="do parallel" -# DIST_TEST="parallel" -# DIST_TEST="parallel do" -# DIST_TEST=parallel -# DIST_TEST=skip +# 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 +# verbose : increase test verbosity +# network : do not try to disable network tests # @ECLASS-VARIABLE: DIST_TEST_OVERRIDE # @DESCRIPTION: @@ -333,33 +334,57 @@ perl-module_src_compile() { # @FUNCTION: perl-module_src-test # @USAGE: perl-module_src_test() # @DESCRIPTION: -# This code attempts to work out your threadingness from MAKEOPTS -# and apply them to Test::Harness. -# -# If you want more verbose testing, set TEST_VERBOSE=1 -# in your bashrc | /etc/portage/make.conf | ENV +# This code attempts to work out your threadingness and runs tests +# according to the settings of DIST_TEST using Test::Harness. perl-module_src_test() { debug-print-function $FUNCNAME "$@" local my_test_control + local my_test_verbose + if [[ ${EAPI:-0} = 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}} - fi - if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then - if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' ${my_test_control} ; then + 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 parallel ${my_test_control} ; then export HARNESS_OPTIONS=j$(makeopts_jobs) einfo "Test::Harness Jobs=$(makeopts_jobs)" fi - perl_set_version - if [[ -f Build ]] ; then - ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed" - elif [[ -f Makefile ]] ; then - emake test TEST_VERBOSE=${TEST_VERBOSE:-0} || die "test failed" + + # this might sometimes work... + if ! has network ${my_test_control} ; then + export NO_NETWORK_TESTING=1 fi fi + + perl_set_version + if [[ -f Build ]] ; then + ./Build test verbose=${my_test_verbose} || die "test failed" + elif [[ -f Makefile ]] ; then + emake test TEST_VERBOSE=${my_test_verbose} || die "test failed" + fi } # @FUNCTION: perl-module_src_install -- 2.6.3
[gentoo-dev] [PATCH 12/15] perl-module.eclass: Minor docu improvements
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org> --- eclass/perl-module.eclass | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 4dc39eb..86c0a48 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -7,13 +7,16 @@ # p...@gentoo.org # @AUTHOR: # Seemant Kulleen <seem...@gentoo.org> -# Andreas K. Huettel <dilfri...@gentoo.org> -# @BLURB: eclass for perl modules +# Andreas K. Hüttel <dilfri...@gentoo.org> +# @BLURB: eclass for installing Perl module distributions # @DESCRIPTION: -# The perl-module eclass is designed to allow easier installation of perl -# modules, and their incorporation into the Gentoo Linux system. +# The perl-module eclass is designed to allow easier installation of Perl +# module distributions, and their incorporation into the Gentoo Linux system. # All exported functions from perl-functions.eclass (inherited here) # explicitly also belong to the interface of perl-module.eclass. +# If your package does not use any Perl-specific build system (as, e.g., +# ExtUtils::MakeMaker or Module::Build), we recommend to use perl-functions.eclass +# instead. case "${EAPI:-0}" in 5) -- 2.6.3