module_pluggable: new perl module recipe

This commit is contained in:
Joachim Mairböck
2024-10-26 21:07:18 +02:00
parent 34411bb46e
commit 04b30ebaa9

View File

@@ -0,0 +1,66 @@
SUMMARY="Automatically give your module the ability to have plugins"
DESCRIPTION="Provides a simple but, hopefully, extensible way of having 'plugins' for your \
module. Obviously this isn't going to be the be all and end all of solutions but it works for me.
Essentially all it does is export a method into your namespace that looks through a search path \
for .pm files and turn those into class names.
Optionally it instantiates those classes for you."
HOMEPAGE="https://metacpan.org/pod/Module::Pluggable"
COPYRIGHT="2006 Simon Wistow"
LICENSE="Artistic"
REVISION="1"
SOURCE_URI="https://cpan.metacpan.org/authors/id/S/SI/SIMONW/Module-Pluggable-$portVersion.tar.gz"
CHECKSUM_SHA256="2743f1cb59c2cac21bf14f0f71beab5ced75a589394a1fd8ac09ecc71599299e"
SOURCE_DIR="Module-Pluggable-$portVersion"
ARCHITECTURES="any"
PROVIDES="
module_pluggable = $portVersion
"
REQUIRES="
haiku
module_runtime
vendor_perl
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:perl
"
TEST_REQUIRES="
module_runtime
"
BUILD()
{
perl Makefile.PL PREFIX=$prefix INSTALLDIRS=vendor
make
}
INSTALL()
{
make pure_install
# remove architecture-specific files
cd $prefix
rm -r $(perl -V:vendorarch | cut -d\' -f2 | cut -d/ -f5-)
# cut extracts the quoted string and strips the prefix (which is perl's and not ours)
}
TEST()
{
#Test Summary Report
#-------------------
#t/29unreadable.t (Wstat: 512 (exited 2) Tests: 6 Failed: 2)
# Failed tests: 2, 4
# Non-zero exit status: 2
#Files=45, Tests=192, 17 wallclock secs ( 0.51 usr 0.40 sys + 10.63 cusr 3.24 csys = 14.78 CPU)
#Result: FAIL
#Failed 1/45 test programs. 2/192 subtests failed.
make test
}