commit:     4b5e030ed6e434449c01d7ab6946057d9d20fbfa
Author:     Ferenc Erki <erkiferenc <AT> gmail <DOT> com>
AuthorDate: Sat Aug  5 20:53:31 2023 +0000
Commit:     罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Mon Aug 14 17:07:41 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b5e030e

app-admin/rex: add 1.14.3

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

 app-admin/rex/Manifest          |   1 +
 app-admin/rex/rex-1.14.3.ebuild | 227 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 228 insertions(+)

diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest
index 16dcdffac52f..ad1d7bcb092a 100644
--- a/app-admin/rex/Manifest
+++ b/app-admin/rex/Manifest
@@ -2,3 +2,4 @@ DIST Rex-1.13.3.tar.gz 349550 BLAKE2B 
c2ccc2144e56761d33ed2b5d790febd49863639d2e
 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
+DIST Rex-1.14.3.tar.gz 377627 BLAKE2B 
40285856b42488f8b557ee2621c3c4ba1019b014d93e3d2e05c09590cb9d1cfa2738e3588aa8cb102ceb3c645cf5aa8113c279a18e23636ad80db09db0825d19
 SHA512 
7a64221b76f6949f2c5176adc86af9acaff80e9745ad19bc54ffc93d9542bb3c5250d4c511250a0917afb58b92d7a2cf2b24f6915331237c4e2635a760230b70

diff --git a/app-admin/rex/rex-1.14.3.ebuild b/app-admin/rex/rex-1.14.3.ebuild
new file mode 100644
index 000000000000..1b5ca9f0db12
--- /dev/null
+++ b/app-admin/rex/rex-1.14.3.ebuild
@@ -0,0 +1,227 @@
+# 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
+               net-misc/rsync
+       )
+       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 sys-apps/file )
+                       dev-vcs/git
+               )
+               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
+               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
+}

Reply via email to