recipes: compressors/gzip: Build as static again
[dragora.git] / recipes / compressors / gzip / recipe
blob4053b62a9d5178bfcd57503ca8d8727d244515d8
1 # Build recipe for gzip.
3 # Copyright (c) 2016-2018, 2020 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=gzip
21 version=1.10
22 release=3
24 # Define a category for the output of the package name
25 pkgcategory=compressors
27 tarname=${program}-${version}.tar.gz
29 # Remote source(s)
30 fetch=http://ftp.gnu.org/gnu/gzip/$tarname
32 description="
33 Compression utility.
35 Gzip (GNU zip) is a compression utility designed to be a replacement
36 for 'compress'.  Its main advantages over 'compress' are much better
37 compression and freedom from patented algorithms.  It has been adopted
38 by the GNU project and is now relatively popular on the Internet.
40 This package has been built to be used with the zutils package.
43 homepage=http://www.gnu.org/software/gzip
44 license=GPLv3+
46 # Source documentation
47 docs="AUTHORS COPYING ChangeLog NEWS README* THANKS TODO"
48 docsdir="${docdir}/${program}-${version}"
50 build()
52     unpack "${tardir}/$tarname"
54     cd "$srcdir"
56     # Set sane permissions
57     chmod -R u+w,go-w,a+rX-s .
59     ./configure DEFS="NO_ASM" 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="$(gcc -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}"