public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "罗百科" <patrick@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/rex/
Date: Sat, 20 May 2023 05:55:24 +0000 (UTC)	[thread overview]
Message-ID: <1684562122.1a5667024ec968f2aacbc16bc0fdc60247ba14c6.patrick@gentoo> (raw)

commit:     1a5667024ec968f2aacbc16bc0fdc60247ba14c6
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 05:55:12 2023 +0000
Commit:     罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Sat May 20 05:55:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a566702

app-admin/rex: add 1.14.2

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

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

diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest
index d3f9f9a6da8c..16dcdffac52f 100644
--- a/app-admin/rex/Manifest
+++ b/app-admin/rex/Manifest
@@ -1,3 +1,4 @@
 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

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
+}


             reply	other threads:[~2023-05-20  5:55 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-20  5:55 罗百科 [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-06 10:36 [gentoo-commits] repo/gentoo:master commit in: app-admin/rex/ Patrick Lauer
2024-11-06 10:36 Patrick Lauer
2024-11-06 10:04 Patrick Lauer
2023-09-04 12:30 Sam James
2023-08-14 17:08 罗百科
2023-08-14 17:08 罗百科
2023-03-06 12:04 罗百科
2023-03-06 12:04 罗百科
2023-02-15 11:03 罗百科
2023-02-15 11:03 罗百科
2023-02-15 11:03 罗百科
2023-02-15 11:03 罗百科
2023-02-14  9:16 罗百科
2023-02-14  8:57 罗百科
2021-07-30 19:28 Patrice Clement
2021-06-12  9:44 Patrice Clement
2021-03-06 22:02 Patrice Clement
2021-03-06 22:02 Patrice Clement
2021-02-28 23:28 Sam James
2020-11-14  9:34 Kent Fredric
2020-11-14  9:34 Kent Fredric
2020-11-14  9:34 Kent Fredric
2020-11-13  7:51 Kent Fredric
2020-11-13  7:51 Kent Fredric
2020-11-11 21:44 Patrice Clement
2020-11-11 21:44 Patrice Clement
2020-11-11 21:44 Patrice Clement
2020-11-11 21:44 Patrice Clement
2020-11-11 21:44 Patrice Clement
2020-09-09  8:39 Kent Fredric
2020-09-09  8:39 Kent Fredric
2020-08-07 17:00 Kent Fredric
2020-08-07 16:41 Kent Fredric
2020-08-07 16:41 Kent Fredric
2020-07-29 12:16 Kent Fredric
2020-07-29 12:16 Kent Fredric
2020-07-01 14:22 Kent Fredric
2020-06-13 20:20 Kent Fredric
2020-05-12  8:16 Kent Fredric
2020-05-12  8:16 Kent Fredric
2020-05-12  8:16 Kent Fredric
2020-04-22 20:17 Kent Fredric
2020-04-17 14:12 Kent Fredric
2018-02-13 20:47 Patrick Lauer
2017-03-31 10:28 Kent Fredric
2017-03-31 10:15 Kent Fredric
2017-03-31 10:14 Kent Fredric
2017-02-23 18:58 Kent Fredric
2017-02-23 18:58 Kent Fredric
2016-07-20 10:13 Patrick Lauer
2016-04-29 19:36 Andreas Hüttel
2016-03-07 14:34 Patrick Lauer
2016-03-07 14:34 Patrick Lauer
2016-03-07 13:19 Patrick Lauer
2016-02-23  9:19 Patrick Lauer
2016-02-09 14:06 Patrick Lauer
2015-12-20 18:45 Patrick Lauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1684562122.1a5667024ec968f2aacbc16bc0fdc60247ba14c6.patrick@gentoo \
    --to=patrick@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox