recipes: Adjust 'docsdir' variable to be consistent with the current recipe format
[dragora.git] / recipes / perl / xml-simple / recipe
blobfe19105f77a5bf411ff0bdcdbf35d6670bb3705c
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
18 set -e
20 program=XML-Simple
21 version=2.25
22 release=2
24 pkgname=perl-xml-simple
26 # Define a category for the output of the package name
27 pkgcategory=perl
29 description="
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
41 # Remote source(s)
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}"
48 build() {
49     unpack "${tardir}/$tarname"
51     cd "$srcdir"
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
69     do
70          sed -i \
71           -e "s|${destdir}||g" \
72           -e "s|\.[0-9][a-z]*|&.lz|g" \
73           $file
74     done
76     find "${destdir}/" -type f -name 'perllocal.pod' -exec rm -f {} +
78     # Compress manual pages
79     if [ -d "${destdir}/$mandir" ] ; then
80         (
81             cd "${destdir}/$mandir"
82             find . -type f -exec lzip -9 {} +
83             find . -type l | while read -r file
84             do
85                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
86                 rm -- "$file"
87             done
88         )
89     fi
91     # Copy documentation
92     mkdir -p "${destdir}/$docsdir"
93     cp -p $docs "${destdir}/$docsdir"