summaryrefslogtreecommitdiff
path: root/app-admin/rex
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/rex')
-rw-r--r--app-admin/rex/Manifest2
-rw-r--r--app-admin/rex/rex-1.14.2.ebuild226
2 files changed, 228 insertions, 0 deletions
diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest
index d904d80e854a..d0f83a84d502 100644
--- a/app-admin/rex/Manifest
+++ b/app-admin/rex/Manifest
@@ -1,8 +1,10 @@
DIST Rex-1.13.3.tar.gz 349550 BLAKE2B c2ccc2144e56761d33ed2b5d790febd49863639d2e3bba8028b7937b43eb51e7e59e9e99cb1d67f247b2dff8ef91aa04776afd6277ad8a2370f35d71e0b528dd SHA512 beab22aef8ba620b6e74847698eab99977844d2e9632812a9ae0e1ee303cbe4e5a6489000bd5209d76e42e3bb4bb799a90408ed6fb14e034f68132a4d37766dc
DIST Rex-1.13.4.tar.gz 351011 BLAKE2B ec046b88f4443b03c05efbabb40900085293c61dab0ee9818a8c4d05be3cc0a1c1f53738b72cc245aaa2dfbcb00541f0e1e31b0c20f2464e9fc6586ed10707ef SHA512 27b76f4b527b42ea0b06dc1de05254dbd6e2fa3bc9a8a708af7557789ef22aec374a5d0585bf3ec4ee878a5387d51b881cf95855dbd05149b7b23929de12027d
DIST Rex-1.14.1.tar.gz 354512 BLAKE2B e82248fa58b10e92f2256c57b589e8db6fc61a03532eac00a28431f2527b4a7e5fdaebbf4a0bdbdfa5b775be95826fb26fa831b58ecf354d6758f5a26649dc32 SHA512 c3cb3e64fb443858a47fbf0afabc9e57ca0a7646447ea259c109a5385a57b4347664dde23575e529afa17881f400bd1735994793362aa101519747805153cb75
+DIST Rex-1.14.2.tar.gz 355848 BLAKE2B 282abc3a0f9acbb553c3ed1a8efa34298f43e02773461325678e014b7a2ede56399c6d5140ff69dc18dc685c2e5b1f453fa45784e59fe14940c6a638bd104879 SHA512 3ca16b2bc401fd07b7ad7ce403bdbb92fbd9123f58b7f63a20292cd165b4b220317b252f1409a7f90099103de36a9091f01adaf37ec1cacf5abaecd140f34d27
EBUILD rex-1.13.3.ebuild 6438 BLAKE2B eb30c79b80eb7dd169d011fd6c4df754e6016179ae4f6c02a86404764d4a6a3d1839515670b4f4f765294759af5ff9cad2a1f131fa3193f7dd03c49bbc644f33 SHA512 67c8042bf2f5dcb4bc739fe745bcce55f0f90127390fe60f2f43142dc84e07c23af99b16b487fe8f41e1b4afad4368b2532a1e65120249e431f48ca1e137afcf
EBUILD rex-1.13.4.ebuild 6438 BLAKE2B eb30c79b80eb7dd169d011fd6c4df754e6016179ae4f6c02a86404764d4a6a3d1839515670b4f4f765294759af5ff9cad2a1f131fa3193f7dd03c49bbc644f33 SHA512 67c8042bf2f5dcb4bc739fe745bcce55f0f90127390fe60f2f43142dc84e07c23af99b16b487fe8f41e1b4afad4368b2532a1e65120249e431f48ca1e137afcf
EBUILD rex-1.14.1.ebuild 6581 BLAKE2B f3f2a5147d2a1442a3f5e1132f389165d922f5c8184707b14dea42da4f778dc82cac27dfe336be896f7d8ed946c15ce973273e61583d79913ff2ee0248d3ec8b SHA512 622d15521937083446279af62df0d6b376b6f77fd1bf69b59a4eaf2b5d3561968b24aadb59d9400c074a7d2fd1b7e1510b0269f23f697659e2fdc60020af57b2
+EBUILD rex-1.14.2.ebuild 6595 BLAKE2B 29c1fc4cf973d7de484727ceafa767f41452ae55a329703888f41af53194cdf4a9d90a0eaa2ea371c86da7081b5053feba48e8d83d59a58b72538888846c16f2 SHA512 70737daefaf117b6c56ae48a07af671e693a7b1dbcc5ae928dc3800f07bfb975fa2a219bbac9b58705c2742d1928cb220f0017648ec20e4d4a49e75ff7c31f83
EBUILD rex-9999.ebuild 6581 BLAKE2B f3f2a5147d2a1442a3f5e1132f389165d922f5c8184707b14dea42da4f778dc82cac27dfe336be896f7d8ed946c15ce973273e61583d79913ff2ee0248d3ec8b SHA512 622d15521937083446279af62df0d6b376b6f77fd1bf69b59a4eaf2b5d3561968b24aadb59d9400c074a7d2fd1b7e1510b0269f23f697659e2fdc60020af57b2
MISC metadata.xml 23997 BLAKE2B 1c0d4d5488171646c777d9d1099ae20abecde3d53fcab1a172a69f866e409c8b9c7db32e7944d48b3ad6a9fdfd4e083907bb891b084c6308585887ceccfeeb3b SHA512 e19019443dd2da2f30dd9a0bde7b3e242c1601bd776faf8312d0973afb05294bce6f22bb7a5657085c6b059f157ad9cd517b2e325b8de9a04db64159f63d698b
diff --git a/app-admin/rex/rex-1.14.2.ebuild b/app-admin/rex/rex-1.14.2.ebuild
new file mode 100644
index 000000000000..51c374850d9c
--- /dev/null
+++ b/app-admin/rex/rex-1.14.2.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+HOMEPAGE="https://metacpan.org/dist/Rex https://www.rexify.org"
+
+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
+ virtual/perl-MIME-Base64
+ dev-perl/Net-OpenSSH
+ dev-perl/Net-SFTP-Foreign
+ >=virtual/perl-Scalar-List-Utils-1.450.0
+ 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
+ virtual/perl-Term-ANSIColor
+"
+# NB: would add test? !minimal? Test-mysqld, but I can't get that to work
+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? (
+ !minimal? (
+ dev-perl/File-LibMagic
+ )
+ virtual/perl-File-Temp
+ dev-perl/Sub-Override
+ dev-perl/Test-Deep
+ dev-perl/Test-Exception
+ dev-perl/Test-Output
+ dev-perl/Test-UseAllModules
+ dev-perl/Test-Warnings
+ dev-vcs/git
+ virtual/perl-autodie
+ virtual/perl-Module-Load-Conditional
+ )
+"
+
+[[ ${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 '/^\[PodSyntaxTests\]/d' \
+ -e '/^Perl::Critic::Freenode =/d' \
+ -e '/^Perl::Critic::TooMuchCode =/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"
+
+ # Removals/additions have to be tracked by git or dzil build fails
+ # Spurious warning during src_prepare
+ git rm -f xt/author/critic-progressive.t || die "Can't rm author/critic-progressive.t"
+ # Spurious warning during src_prepare
+ git rm -f xt/author/perltidy.t || die "Can't rm author/perltidy.t"
+}
+dzil_env_setup() {
+ # NextRelease noise :(
+ mkdir -p ~/.dzil/ || die "mkdir -p ~/.dzil/ failed"
+ 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}'";
+
+ S="${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"
+
+ # If you DIY installed Test::mysqld, but didn't patch
+ # it to handle the fact on Gentoo, mysql_install_db is NOT in PATH
+ # tests fail. So this test is patched out if mysql_install_db is not in PATH
+ if perl_has_module "Test::mysqld" && ! type -P mysql_install_db >/dev/null; then
+ perl_rm_files "t/db.t"
+ fi
+ 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
+}