151 lines
3.9 KiB
Bash
151 lines
3.9 KiB
Bash
# Copyright 1999-2017 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=6
|
|
|
|
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 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.0.0
|
|
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/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
|
|
# 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
|
|
elog "You may want to install one or more backend driver modules. Supported are"
|
|
elog " sci-libs/linuxgpib Open-source GPIB hardware driver"
|
|
elog " dev-perl/Lab-VISA Bindings for the NI proprietary VISA driver"
|
|
elog " stack (dilfridge overlay)"
|
|
fi
|
|
}
|