summaryrefslogtreecommitdiff
path: root/app-admin/rex
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
commit9ee6d97c2883d42f204a533a8bc1f4562df778fb (patch)
treeb690ddc0ca30f1472887edbb0b8313629bfcbbb2 /app-admin/rex
parentb17a3ef12038de50228bade1f05502c74e135321 (diff)
gentoo resync : 16.09.2020
Diffstat (limited to 'app-admin/rex')
-rw-r--r--app-admin/rex/Manifest4
-rw-r--r--app-admin/rex/rex-1.12.2.ebuild203
-rw-r--r--app-admin/rex/rex-9999.ebuild18
3 files changed, 218 insertions, 7 deletions
diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest
index cad10a1ec96c..bd9fad330746 100644
--- a/app-admin/rex/Manifest
+++ b/app-admin/rex/Manifest
@@ -1,4 +1,6 @@
DIST Rex-1.12.1.tar.gz 339065 BLAKE2B fd026e66a4e1cf6d4c8b15f7fcba0525a3e98346464170f27d5ef7bb54f1decd7450d87d9f23bee8378df4647eacf512c06a8d051bb76021cbcae472e2c2012d SHA512 774452511d97106bb6586324ff4e8642b05be628c80f3adbba7fd82558c82236878e969512bab398e26a1a7a271a7614108761bd0fb888a2122167806796bad1
+DIST Rex-1.12.2.tar.gz 343716 BLAKE2B bb546298305e2e210ea67a21c948f364d3c0ee5947c8d716606fc81cfd07c4b1eea9e6ce8fd3fd49a0cffd33a964e0d328f60d570fa18fa3452b334a7882b279 SHA512 867942eec63ba71b591b93d6c0af794605f86571ef6d1be473989314cb7fc7d4e8d906ef25e30ea56beeaefe953c884661d9b769452587a3d4892de10163b6c7
EBUILD rex-1.12.1.ebuild 5372 BLAKE2B 2513d45fb2417fceeea5827fb68cfd69e3148105a488c3f0787179300855ff061e08d497772d55cbbdf1e0d5ad8ef4e1b79ed6feb7faf06b51972a5b9b3cfc8f SHA512 550ec06456643c3f784d29e5aedcb8d4a2903fcd6af76b48f5a1a34758dcb1f2a87284945a0b02eb06b8dbbd2ff2d9ca8043484dd4b7f6333cb27690b2885046
-EBUILD rex-9999.ebuild 5404 BLAKE2B f7e254698b468bae8a28cb3713d3c5cd521715fc62e70297e8a6c25731a65b9618a076997a927a7a1c34add30fe955c2b87362f8e342ca800ab76b9bd389d97b SHA512 de392bb91eb91f6087b95dce28bfd1db29fdb213c46ded63d277299e9b6cbeaa1bb08e1e4c4db047d28e9696e8d87e9d65454b182cf0b7a32d6f8232a052f07a
+EBUILD rex-1.12.2.ebuild 5560 BLAKE2B 42d1fcd35a8d980cd0e8c7353f106301dd844d28871a8558f9b785463822a26d53263211b5757385c483a4ffc9bbd8ea65bdd0b584501766f967cd3c4b46a09b SHA512 15516145dfab507ded82ad6e31392c5e61fba04857507ef6b4793948281ddf83e0ad5615d058960123bca7f01bab5d86514cffb99acac44f806077a5613c78c4
+EBUILD rex-9999.ebuild 5560 BLAKE2B 42d1fcd35a8d980cd0e8c7353f106301dd844d28871a8558f9b785463822a26d53263211b5757385c483a4ffc9bbd8ea65bdd0b584501766f967cd3c4b46a09b SHA512 15516145dfab507ded82ad6e31392c5e61fba04857507ef6b4793948281ddf83e0ad5615d058960123bca7f01bab5d86514cffb99acac44f806077a5613c78c4
MISC metadata.xml 24205 BLAKE2B 76aa5370179f64adaaf79cb730a4cc53deb191a27e97b10cbb26efd804572eb79d67d9abdb09c5e62d08d73d969848286516a2176099237feba2a5c855cd263d SHA512 a6cae05b4f46b10502da5acc2905f622b61a30329c300483cea39348e92d182d190dd61433c551a1948d4ac6a281b9f91c47b759f425055970e8c5a6349b8693
diff --git a/app-admin/rex/rex-1.12.2.ebuild b/app-admin/rex/rex-1.12.2.ebuild
new file mode 100644
index 000000000000..d832e4f2b87a
--- /dev/null
+++ b/app-admin/rex/rex-1.12.2.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]]; then
+ GITHUB_USER=RexOps
+ GITHUB_REPO=Rex
+ EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
+ VCS_ECLASS="git-r3"
+else
+ # This is intentional to stop perl-module.eclass doing magic things when it
+ # shouldn't. Like making ${S} contain "Rex" when the git clone has "rex"
+ # Also prevents perl-module.eclass provisioning SRC_URI
+ DIST_AUTHOR=FERKI
+ DIST_NAME=Rex
+ KEYWORDS="~amd64 ~x86"
+fi
+inherit bash-completion-r1 perl-module ${VCS_ECLASS}
+
+DESCRIPTION="(R)?ex, the friendly automation framework"
+
+SLOT="0"
+IUSE="minimal test"
+RESTRICT="!test? ( test )"
+
+DZIL_DEPENDS="
+ dev-perl/Dist-Zilla
+ dev-perl/Dist-Zilla-Plugin-CheckExtraTests
+ dev-perl/Dist-Zilla-Plugin-ContributorsFile
+ dev-perl/Dist-Zilla-Plugin-Git
+ dev-perl/Dist-Zilla-Plugin-Git-Contributors
+ dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome
+ dev-perl/Dist-Zilla-Plugin-Meta-Contributors
+ dev-perl/Dist-Zilla-Plugin-MetaProvides-Package
+ dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic
+ dev-perl/Dist-Zilla-Plugin-OSPrereqs
+ dev-perl/Dist-Zilla-Plugin-OurPkgVersion
+ dev-perl/Dist-Zilla-Plugin-Run
+ dev-perl/Software-License
+"
+RDEPEND="
+ !minimal? (
+ dev-perl/DBI
+ dev-perl/Expect
+ dev-perl/IPC-Shareable
+ dev-perl/XML-LibXML
+ )
+ virtual/perl-Carp
+ virtual/perl-Data-Dumper
+ dev-perl/Data-Validate-IP
+ dev-perl/Devel-Caller
+ dev-perl/Digest-HMAC
+ virtual/perl-Digest-MD5
+ virtual/perl-Exporter
+ virtual/perl-File-Spec
+ dev-perl/HTTP-Message
+ dev-perl/Hash-Merge
+ virtual/perl-IO
+ dev-perl/IO-String
+ dev-perl/IO-Tty
+ dev-perl/JSON-MaybeXS
+ dev-perl/List-MoreUtils
+ virtual/perl-MIME-Base64
+ dev-perl/Net-OpenSSH
+ dev-perl/Net-SFTP-Foreign
+ virtual/perl-Scalar-List-Utils
+ dev-perl/Parallel-ForkManager
+ dev-perl/Sort-Naturally
+ dev-perl/String-Escape
+ virtual/perl-Storable
+ dev-perl/TermReadKey
+ virtual/perl-Test-Simple
+ dev-perl/Text-Glob
+ virtual/perl-Text-Tabs+Wrap
+ virtual/perl-Time-HiRes
+ dev-perl/URI
+ dev-perl/XML-Simple
+ dev-perl/libwww-perl
+ dev-perl/YAML
+ virtual/perl-version
+"
+
+BDEPEND="
+ ${RDEPEND}
+ >=virtual/perl-CPAN-Meta-Requirements-2.120.620
+ >=virtual/perl-ExtUtils-MakeMaker-7.110.100
+ >=dev-perl/File-ShareDir-Install-0.60.0
+ virtual/perl-Module-Metadata
+ test? (
+ virtual/perl-File-Temp
+ dev-perl/Test-Deep
+ dev-perl/Test-Output
+ dev-perl/Test-UseAllModules
+ virtual/perl-autodie
+ )
+"
+
+[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}"
+
+src_unpack() {
+ if [[ $PV == 9999 ]]; then
+ "${VCS_ECLASS}"_src_unpack
+ mkdir -p "${S}" || die "Can't make ${S}"
+ else
+ default
+ fi
+}
+
+dzil_src_prep() {
+ einfo "Patching dist.ini"
+
+ # This block of sed invocations removes all plugins that aren't
+ # useful for users to have on Gentoo, because all of them are
+ # conditional and subjective style checks, which don't indicate
+ # a real issue for users, and paying the price of their dependencies is undesired.
+
+ # The {N;d} trick adds the [n]ext line after the match to the pattern-space
+ # so that the final [d]elete deletes the next line too. Can be expanded for each
+ # line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match.
+ sed -e '/^\[Test::Kwalitee\]/d' \
+ -e '/^\[Test::Perl::Critic\]/d' \
+ -e '/^\[PodSyntaxTests\]/d' \
+ -e '/^Test::Kwalitee =/d' \
+ -e '/^Test::PerlTidy =/d' \
+ -e '/^Test::Pod =/d' \
+ -e '/^\[Test::CPAN::Changes\]/{N;d}' \
+ -e '/^\[OptionalFeature/,/^$/d' \
+ -e '/^\[Test::MinimumVersion\]/{N;d}' \
+ -i dist.ini || die "Can't patch dist.ini"
+}
+dzil_env_setup() {
+ # NextRelease noise :(
+ mkdir -p ~/.dzil/
+ local user="$(whoami)"
+ local host="$(hostname)"
+ printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini
+
+}
+dzil_to_distdir() {
+ local dzil_root dest has_missing modname dzil_version
+ dzil_root="$1"
+ dest="$2"
+
+ cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'";
+
+ dzil_src_prep
+ dzil_env_setup
+
+ dzil_version="$(dzil version)" || die "Error invoking 'dzil version'"
+ einfo "Generating CPAN dist with ${dzil_version}"
+
+ has_missing=""
+
+ einfo "Checking dzil authordeps"
+ while IFS= read -d $'\n' -r modname; do
+ if [[ -z "${has_missing}" ]]; then
+ has_missing=1
+ eerror "'dzil authordeps' indicates missing build dependencies"
+ eerror "These will prevent building, please report a bug"
+ eerror "Missing:"
+ fi
+ eerror " ${modname}"
+ done < <( dzil authordeps --missing --versions )
+
+ [[ -z "${has_missing}" ]] || die "Satisfy all missing authordeps first"
+
+ einfo "Checking dzil build deps"
+ while IFS= read -d $'\n' -r modname; do
+ if [[ -z "${has_missing}" ]]; then
+ has_missing=1
+ ewarn "'dzil listdeps' indicates missing build dependencies"
+ ewarn "These may prevent building, please report a bug if they do"
+ ewarn "Missing:"
+ fi
+ ewarn " ${modname}"
+ done < <( dzil listdeps --missing --versions --author )
+
+ einfo "Generating release"
+ dzil build --notgz --in "${dest}" || die "Unable to build CPAN dist in '${dest}'"
+}
+
+src_prepare() {
+ if [[ ${PV} == 9999 ]]; then
+ # Uses git sources in WORKDIR/rex-git
+ # to generate a CPAN-style tree in ${S}
+ # before letting perl-module.eclass do the rest
+ dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}"
+ fi
+ cd "${S}" || die "Can't enter build dir"
+ perl-module_src_prepare
+}
+
+src_install() {
+ newbashcomp "share/${PN}-tab-completion.bash" "${PN}"
+
+ insinto /usr/share/zsh/site-functions
+ newins "share/${PN}-tab-completion.zsh" "_${PN}"
+
+ perl-module_src_install
+}
diff --git a/app-admin/rex/rex-9999.ebuild b/app-admin/rex/rex-9999.ebuild
index 85e62dace75d..d832e4f2b87a 100644
--- a/app-admin/rex/rex-9999.ebuild
+++ b/app-admin/rex/rex-9999.ebuild
@@ -23,7 +23,7 @@ inherit bash-completion-r1 perl-module ${VCS_ECLASS}
DESCRIPTION="(R)?ex, the friendly automation framework"
SLOT="0"
-IUSE="test"
+IUSE="minimal test"
RESTRICT="!test? ( test )"
DZIL_DEPENDS="
@@ -42,14 +42,18 @@ DZIL_DEPENDS="
dev-perl/Software-License
"
RDEPEND="
+ !minimal? (
+ dev-perl/DBI
+ dev-perl/Expect
+ dev-perl/IPC-Shareable
+ dev-perl/XML-LibXML
+ )
virtual/perl-Carp
virtual/perl-Data-Dumper
dev-perl/Data-Validate-IP
- dev-perl/DBI
dev-perl/Devel-Caller
dev-perl/Digest-HMAC
virtual/perl-Digest-MD5
- dev-perl/Expect
virtual/perl-Exporter
virtual/perl-File-Spec
dev-perl/HTTP-Message
@@ -57,7 +61,6 @@ RDEPEND="
virtual/perl-IO
dev-perl/IO-String
dev-perl/IO-Tty
- dev-perl/IPC-Shareable
dev-perl/JSON-MaybeXS
dev-perl/List-MoreUtils
virtual/perl-MIME-Base64
@@ -74,7 +77,6 @@ RDEPEND="
virtual/perl-Text-Tabs+Wrap
virtual/perl-Time-HiRes
dev-perl/URI
- dev-perl/XML-LibXML
dev-perl/XML-Simple
dev-perl/libwww-perl
dev-perl/YAML
@@ -83,12 +85,15 @@ RDEPEND="
BDEPEND="
${RDEPEND}
+ >=virtual/perl-CPAN-Meta-Requirements-2.120.620
>=virtual/perl-ExtUtils-MakeMaker-7.110.100
>=dev-perl/File-ShareDir-Install-0.60.0
+ virtual/perl-Module-Metadata
test? (
virtual/perl-File-Temp
dev-perl/Test-Deep
- >=dev-perl/Test-UseAllModules-0.150.0
+ dev-perl/Test-Output
+ dev-perl/Test-UseAllModules
virtual/perl-autodie
)
"
@@ -122,6 +127,7 @@ dzil_src_prep() {
-e '/^Test::PerlTidy =/d' \
-e '/^Test::Pod =/d' \
-e '/^\[Test::CPAN::Changes\]/{N;d}' \
+ -e '/^\[OptionalFeature/,/^$/d' \
-e '/^\[Test::MinimumVersion\]/{N;d}' \
-i dist.ini || die "Can't patch dist.ini"
}