From: "Kent Fredric" <kentnl@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-perl/App-cpanminus/
Date: Sun, 3 May 2020 14:51:38 +0000 (UTC) [thread overview]
Message-ID: <1588517380.9920419c734ebd89a9522abbe7d2e8982fad69e5.kentnl@gentoo> (raw)
commit: 9920419c734ebd89a9522abbe7d2e8982fad69e5
Author: Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sun May 3 14:46:42 2020 +0000
Commit: Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun May 3 14:49:40 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9920419c
dev-perl/App-cpanminus: Add -9999 version
This work is based on the existing work in app-admin/rex, as latest
cpanm uses Dzil in its build chain.
TODO: Provision fatlib entries *exclusively* from installed gentoo
stuff, but that might be really tricky.
What it currently does is fatpack bundled copies of upstream stuff
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Kent Fredric <kentnl <AT> gentoo.org>
dev-perl/App-cpanminus/App-cpanminus-9999.ebuild | 108 +++++++++++++++++++++++
1 file changed, 108 insertions(+)
diff --git a/dev-perl/App-cpanminus/App-cpanminus-9999.ebuild b/dev-perl/App-cpanminus/App-cpanminus-9999.ebuild
new file mode 100644
index 00000000000..5c7c7bda4a0
--- /dev/null
+++ b/dev-perl/App-cpanminus/App-cpanminus-9999.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == 9999 ]]; then
+ GITHUB_USER=miyagawa
+ GITHUB_REPO=cpanminus
+ EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git"
+ EGIT_BRANCH="devel"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
+ VCS_ECLASS="git-r3"
+else
+ DIST_AUTHOR=MIYAGAWA
+ DIST_VERSION=1.7044
+ KEYWORDS="amd64 ~ppc x86"
+fi
+inherit perl-module ${VCS_ECLASS}
+
+DESCRIPTION="Get, unpack, build and install modules from CPAN"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+GIT_DEPENDS="
+ dev-perl/Dist-Milla
+ dev-perl/Dist-Zilla
+ dev-perl/Dist-Zilla-Plugin-Run
+ dev-perl/Perl-Version
+ dev-perl/App-FatPacker
+ dev-perl/Module-Install
+ dev-perl/Module-Signature
+ dev-perl/Perl-Strip
+"
+BDEPEND="${RDEPEND}
+ virtual/perl-ExtUtils-MakeMaker
+ test? ( virtual/perl-Test-Simple )
+"
+[[ ${PV} == 9999 ]] && BDEPEND+=" ${GIT_DEPENDS}"
+
+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_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_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ "${VCS_ECLASS}"_src_unpack
+ mkdir -p "${S}" || die "Can't make ${S}"
+ else
+ default
+ fi
+}
+
+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}/App-cpanminus" "${S}"
+ fi
+ cd "${S}" || die "Can't enter build dir"
+ perl-module_src_prepare
+}
next reply other threads:[~2020-05-03 14:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-03 14:51 Kent Fredric [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-05-02 5:44 [gentoo-commits] repo/gentoo:master commit in: dev-perl/App-cpanminus/ Sam James
2023-12-01 19:58 Arthur Zamarin
2023-09-19 5:38 Arthur Zamarin
2023-09-19 0:45 Sam James
2023-08-14 7:55 Sam James
2023-07-24 13:39 Arthur Zamarin
2023-06-22 4:48 Sam James
2021-10-08 22:44 Andreas K. Hüttel
2020-12-17 9:02 Sam James
2020-12-04 18:31 Sergei Trofimovich
2019-12-25 20:32 Sergei Trofimovich
2018-07-29 2:42 Kent Fredric
2018-04-24 4:20 Kent Fredric
2018-04-03 11:52 Jason Zaman
2017-04-04 11:57 Kent Fredric
2016-04-18 20:50 Andreas Hüttel
2015-08-26 10:38 Patrice Clement
2015-08-26 10:38 Patrice Clement
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=1588517380.9920419c734ebd89a9522abbe7d2e8982fad69e5.kentnl@gentoo \
--to=kentnl@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