1 # Build recipe for xml-simple.
3 # Copyright (c) 2019, 2021 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 # Exit immediately on any error
24 pkgname=perl-xml-simple
26 # Define a category for the output of the package name
30 An API for simple XML files.
32 XML::Simple provides an easy API to read and write XML (especially
33 config files). It is deprecated and its use is discouraged.
36 homepage=https://metacpan.org/release/XML-Simple
37 license="GPLv1+ | Artistic License"
39 tarname=${program}-${version}.tar.gz
42 fetch=https://cpan.metacpan.org/authors/id/G/GR/GRANTM/$tarname
44 # Source documentation
45 docs="Changes LICENSE README"
46 docsdir="${docdir}/${pkgname}-${version}"
49 unpack "${tardir}/$tarname"
53 # Set sane permissions
54 chmod -R u+w,go-w,a+rX-s .
56 perl Makefile.PL INSTALLDIRS=vendor
58 make -j${jobs} DESTDIR="$destdir" install
60 # Strip remaining binaries and libraries
61 find "$destdir" -type f | xargs file | \
62 awk '/ELF/ && /executable/ || /shared object/' | \
63 cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
65 # Clean up inventory file for Perl
67 # This line removes 'destdir' adding the suffix '.lz' for manpages
68 find "${destdir}/" -type f -name '.packlist' | while read -r file
71 -e "s|${destdir}||g" \
72 -e "s|\.[0-9][a-z]*|&.lz|g" \
76 find "${destdir}/" -type f -name 'perllocal.pod' -exec rm -f {} +
78 # Compress manual pages
79 if [ -d "${destdir}/$mandir" ] ; then
81 cd "${destdir}/$mandir"
82 find . -type f -exec lzip -9 {} +
83 find . -type l | while read -r file
85 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
92 mkdir -p "${destdir}/$docsdir"
93 cp -p $docs "${destdir}/$docsdir"