Talk:Perl package guidelines
Appearance
Latest comment: 13 March 2013 by Dracorp in topic Hardened Example
Hardened Example
I have created template file for vim file_templates.vba:
~/.vim/templates/perl.PKGBUILD
pkgname=perl-<+$LBASENAME$+>
pkgver=<+#VERSION#+>
_author=<+#AUTHOR_NAME#+>
_perlmod=<+$BASENAME$+>
pkgrel=1
pkgdesc='<+#DESCRIPTION#+>'
arch=('any')
url="http://search.cpan.org/dist/<+$BASENAME$+>/"
license=('GPL' 'PerlArtistic')
groups=()
depends=('perl>=5.10.0')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=(!emptydirs)
install=
source=("http://search.cpan.org/CPAN/authors/id/$_author/$_perlmod-$pkgver.tar.gz")
noextract=()
build(){
cd "$srcdir"/$_perlmod-$pkgver
# Setting these env variables overwrites any command-line-options we don't want...
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps \
PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
MODULEBUILDRC=/dev/null
# If using Makefile.PL
if [ -r Makefile.PL ]; then
/usr/bin/perl Makefile.PL
make
# If using Build.PL
elif [ -r Build.PL ]; then
/usr/bin/perl Build.PL
perl Build
fi
}
check(){
cd "$srcdir"/$_perlmod-$pkgver
# If using Makefile.PL
if [ -r Makefile.PL ]; then
make test
# If using Build.PL
elif [ -r Build.PL ]; then
perl Build test
fi
}
package(){
cd "$srcdir"/$_perlmod-$pkgver
# If using Makefile.PL
if [ -r Makefile.PL ]; then
make install
# If using Build.PL
elif [ -r Build.PL ]; then
perl Build install
fi
# remove perllocal.pod and .packlist
find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
}
--Dracorp (talk) 18:14, 13 March 2013 (UTC)
Stricter versions for XS module packages
Since XS modules only work with a given major version of Perl, I have taken to limiting my packages' required Perl version to within a single major version, like so:
depends=('perl>=5.20.0' 'perl<5.21.0')
Would this be a good idea to add to this page?
--Hoelzro