recipes: Replace 'outdir' with package hash tags
[dragora.git] / recipes / compressors / gzip / recipe
blobc679c513c2fd33ecd947e76eb590f5dc8653a70d
1 # Build recipe for gzip.
3 # Copyright (c) 2016-2018 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 program=gzip
18 version=1.10
19 release=1
21 # Define hash tag to categorize the package name output
22 pkghashtag=compressors
24 tarname=${program}-${version}.tar.gz
26 # Remote source(s)
27 fetch=http://ftp.gnu.org/gnu/gzip/$tarname
29 description="
30 Compression utility.
32 Gzip (GNU zip) is a compression utility designed to be a replacement
33 for 'compress'.  Its main advantages over 'compress' are much better
34 compression and freedom from patented algorithms.  It has been adopted
35 by the GNU project and is now relatively popular on the Internet.
37 This package has been built to be used with the zutils package.
40 homepage=http://www.gnu.org/software/gzip
41 license=GPLv3+
43 # Source documentation
44 docs="AUTHORS COPYING ChangeLog NEWS README* THANKS TODO"
45 docsdir="${docdir}/${program}-${version}"
47 build()
49     set -e
51     unpack "${tardir}/$tarname"
53     cd "$srcdir"
55     # Set sane permissions
56     chmod -R u+w,go-w,a+rX-s .
58     ./configure CC="gcc -no-pie -fno-PIE" \
59     CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS -static" \
60      $configure_args \
61      --libdir=/usr/lib${libSuffix} \
62      --infodir=$infodir \
63      --mandir=$mandir \
64      --program-transform-name='s/^z/gz/' \
65      --build="$(cc -dumpmachine)"
67     make -j${jobs} V=1
68     make -j${jobs} DESTDIR="$destdir" install
70     # No, no hard links for the package size
71     ( cd "${destdir}/usr/bin" && ln -sf gunzip uncompress )
73     (
74         cd "${destdir}/${mandir}/man1" || exit 1
75         ln -sf gzip.1    gunzip.1
76         ln -sf gzip.1    gzcat.1
77         ln -sf gzdiff.1  gzcmp.1
78     )
80     # Compress info documents deleting index file for the package
81     if test -d "${destdir}/$infodir"
82     then
83         rm -f "${destdir}/${infodir}/dir"
84         lzip -9 "${destdir}/${infodir}"/*
85     fi
87     # Compress and link man pages (if needed)
88     if test -d "${destdir}/$mandir"
89     then
90         (
91             cd "${destdir}/$mandir"
92             find . -type f -exec lzip -9 '{}' +
93             find . -type l | while read -r file
94             do
95                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
96                 rm -- "$file"
97             done
98         )
99     fi
101     # Copy documentation
102     mkdir -p "${destdir}${docsdir}"
103     cp -p $docs "${destdir}${docsdir}"