143 lines
3.5 KiB
Bash
143 lines
3.5 KiB
Bash
# Copyright 1999-2017 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=6
|
|
|
|
DIST_EXAMPLES=( "examples/*" )
|
|
|
|
if [[ "${PV}" != "9999" ]]; then
|
|
DIST_VERSION=${PV%.0}
|
|
DIST_AUTHOR="AKHUETTEL"
|
|
KEYWORDS="~amd64 ~x86"
|
|
inherit perl-module
|
|
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
|
|
fi
|
|
|
|
DESCRIPTION="Measurement control and automation with Perl"
|
|
HOMEPAGE="http://www.labmeasurement.de/"
|
|
|
|
SLOT="0"
|
|
IUSE="test"
|
|
|
|
DZIL_PLUGINS=( Git SurgicalPodWeaver RPM AuthorsFromGit )
|
|
|
|
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.0.0
|
|
virtual/perl-Exporter
|
|
virtual/perl-File-Path
|
|
virtual/perl-File-Spec
|
|
virtual/perl-Getopt-Long
|
|
dev-perl/Hook-LexWrap
|
|
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/PDL-2.7.0
|
|
dev-perl/PDL-Graphics-Gnuplot
|
|
>=dev-perl/Role-Tiny-1.3.4
|
|
virtual/perl-Socket
|
|
dev-perl/Statistics-Descriptive
|
|
virtual/perl-Storable
|
|
>=dev-perl/TermReadKey-2.300.0
|
|
virtual/perl-Thread-Semaphore
|
|
virtual/perl-Time-HiRes
|
|
dev-perl/Time-Monotonic
|
|
>=dev-perl/Try-Tiny-0.220.0
|
|
>=dev-perl/YAML-LibYAML-0.410.0
|
|
virtual/perl-autodie
|
|
>=dev-perl/namespace-autoclean-0.200.0
|
|
virtual/perl-parent
|
|
sci-visualization/gnuplot
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
virtual/perl-ExtUtils-MakeMaker
|
|
test? (
|
|
dev-perl/File-Slurper
|
|
virtual/perl-File-Temp
|
|
dev-perl/Test-Fatal
|
|
dev-perl/Test-File
|
|
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
|
|
dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}"
|
|
fi
|
|
cd "${S}" || die "Can't enter build dir"
|
|
perl-module_src_prepare
|
|
}
|