summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Huettel <dilfridge@gentoo.org>2017-06-23 18:49:38 +0200
committerAndreas K. Huettel <dilfridge@gentoo.org>2017-06-23 18:49:38 +0200
commit269847de0d759ab3976093960ea0f00e51e4d439 (patch)
treecbc2dbcfab87992c37b3785de95cad14bb1c1325 /dev-perl/Lab-Measurement
parentdev-perl/PDL-Graphics-Gnuplot: New package, needed for dev-perl/Lab-Measurement (diff)
downloadgentoo-269847de0d759ab3976093960ea0f00e51e4d439.tar.gz
gentoo-269847de0d759ab3976093960ea0f00e51e4d439.tar.bz2
gentoo-269847de0d759ab3976093960ea0f00e51e4d439.zip
dev-perl/Lab-Measurement: Adapt live ebuild to Dist::Zilla
Package-Manager: Portage-2.3.6, Repoman-2.3.2
Diffstat (limited to 'dev-perl/Lab-Measurement')
-rw-r--r--dev-perl/Lab-Measurement/Lab-Measurement-9999.ebuild120
1 files 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 d4f90dd81feb..2cc37f7cae1a 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