commit:     269847de0d759ab3976093960ea0f00e51e4d439
Author:     Andreas K. Huettel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 16:49:38 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Jun 23 16:49:38 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=269847de

dev-perl/Lab-Measurement: Adapt live ebuild to Dist::Zilla

Package-Manager: Portage-2.3.6, Repoman-2.3.2

 .../Lab-Measurement/Lab-Measurement-9999.ebuild    | 120 +++++++++++++++++----
 1 file changed, 98 insertions(+), 22 deletions(-)

diff --git a/dev-perl/Lab-Measurement/Lab-Measurement-9999.ebuild 
b/dev-perl/Lab-Measurement/Lab-Measurement-9999.ebuild
index d4f90dd81fe..2cc37f7cae1 100644
--- a/dev-perl/Lab-Measurement/Lab-Measurement-9999.ebuild
+++ b/dev-perl/Lab-Measurement/Lab-Measurement-9999.ebuild
@@ -11,60 +11,136 @@ if [[ "${PV}" != "9999" ]]; then
 else
        EGIT_REPO_URI="https://github.com/lab-measurement/lab-measurement.git";
        EGIT_BRANCH="master"
+       EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
        inherit perl-module git-r3
-       S=${WORKDIR}/${P}/Measurement
 fi
 
 DESCRIPTION="Measurement control and automation with Perl"
 HOMEPAGE="http://www.labmeasurement.de/";
 
 SLOT="0"
-IUSE="test +xpression"
+IUSE="test"
+
+DZIL_PLUGINS=( Git PodWeaver )
 
 RDEPEND="
+       virtual/perl-Carp
        dev-perl/Class-ISA
        >=dev-perl/Class-Method-Modifiers-2.110.0
        >=dev-perl/Clone-0.310.0
        virtual/perl-Data-Dumper
        virtual/perl-Encode
-       >=dev-perl/Exception-Class-1
+       >=dev-perl/Exception-Class-1.0.0
+       virtual/perl-File-Path
+       virtual/perl-File-Spec
+       virtual/perl-Getopt-Long
        dev-perl/Hook-LexWrap
-       dev-perl/IO-Socket-Timeout
+       virtual/perl-IO
+       >=dev-perl/IO-Socket-Timeout-0.320.0
        dev-perl/List-MoreUtils
+       virtual/perl-Scalar-List-Utils
+       virtual/perl-Math-Complex
+       >=virtual/perl-Module-Load-0.260.0
        >=dev-perl/Moose-2.121.300
        >=dev-perl/MooseX-Params-Validate-0.180.0
-       >=dev-perl/namespace-autoclean-0.200.0
-       dev-perl/PDL
+       >=dev-perl/PDL-2.7.0
+       dev-perl/PDL-Graphics-Gnuplot
        >=dev-perl/Role-Tiny-1.3.4
+       virtual/perl-Socket
        dev-perl/Statistics-Descriptive
-       dev-perl/Term-ANSIScreen
-       >=dev-perl/TermReadKey-2.320.0
-       dev-perl/TeX-Encode
+       virtual/perl-Storable
+       >=dev-perl/TermReadKey-2.300.0
+       virtual/perl-Thread-Semaphore
+       virtual/perl-Tie-Hash
        virtual/perl-Time-HiRes
        >=dev-perl/Try-Tiny-0.220.0
-       dev-perl/XML-DOM
-       dev-perl/XML-Generator
-       dev-perl/XML-Twig
-       dev-perl/YAML
-       dev-perl/aliased
        >=dev-perl/YAML-LibYAML-0.410.0
+       virtual/perl-autodie
+       >=dev-perl/namespace-autoclean-0.200.0
+       virtual/perl-parent
        sci-visualization/gnuplot
-       !dev-perl/Lab-Instrument
-       !dev-perl/Lab-Tools
-       xpression? (
-               dev-perl/Wx
-       )
 "
 DEPEND="
        ${RDEPEND}
-       dev-perl/Module-Build
+       virtual/perl-ExtUtils-MakeMaker
        test? (
                dev-perl/File-Slurper
+               virtual/perl-File-Temp
+               dev-perl/Test-Fatal
                dev-perl/Test-File
-               dev-perl/Test-Files
-               >=dev-perl/Test-Fatal-0.12.0
+               virtual/perl-Test-Simple
+               dev-perl/Text-Diff
+               dev-perl/aliased
        )
 "
+if [[ "${PV}" == "9999" ]]; then
+       DEPEND="${DEPEND}
+               dev-perl/Dist-Zilla"
+       for dzp in ${DZIL_PLUGINS} ; do
+               DEPEND="${DEPEND}
+               dev-perl/Dist-Zilla-Plugin-${dzp}"
+       done
+fi
+
+src_unpack() {
+       if [[ "${PV}" == "9999" ]]; then
+               git-r3_src_unpack
+               mkdir -p "${S}" || die "Can't make ${S}"
+       else
+               default
+       fi
+}
+
+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_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}/Measurement" "${S}"
+       fi
+       cd "${S}" || die "Can't enter build dir"
+       perl-module_src_prepare
+}
 
 pkg_postinst() {
        if ( ! has_version sci-libs/linuxgpib ) && ( ! has_version 
dev-perl/Lab-VISA ) ; then

Reply via email to