recipes: Honor CPPFLAGS (through QICPPFLAGS) whenever is possible
[dragora.git] / recipes / networking / libpcap / recipe
blob48f0b0bba9152728bbea47874bf68ab6f5441783
1 # Build recipe for libpcap.
3 # Copyright (c) 2017-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=libpcap
21 version=1.10.0
22 release=1
24 # Define a category for the output of the package name
25 pkgcategory=networking
27 tarname=${program}-${version}.tar.gz
29 # Remote source(s)
30 fetch=http://www.tcpdump.org/release/$tarname
32 description="
33 A system-independent interface for user-level packet capture.
35 libpcap provides a portable framework for low-level network
36 monitoring. Applications include network statistics collection,
37 security monitoring, network debugging, etc.
40 homepage=http://www.tcpdump.org
41 license=BSD
43 # Source documentation
44 docs="CHANGES CONTRIBUTING.md CREDITS LICENSE README.md TODO VERSION"
45 docsdir="${docdir}/${program}-${version}"
47 build()
49     unpack "${tardir}/$tarname"
51     cd "$srcdir"
53     # Set sane permissions
54     chmod -R u+w,go-w,a+rX-s .
56     ./configure CPPFLAGS="$QICPPFLAGS" CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
57      $configure_args \
58      --libdir=/usr/lib${libSuffix} \
59      --mandir=$mandir \
60      --enable-shared \
61      --with-pcap=linux \
62      --build="$(gcc -dumpmachine)"
64     make -j${jobs} V=1
65     make -j${jobs} DESTDIR="$destdir" install
67     # Compress and link man pages (if needed)
68     if test -d "${destdir}/$mandir"
69     then
70         (
71             cd "${destdir}/$mandir"
72             find . -type f -exec lzip -9 {} +
73             find . -type l | while read -r file
74             do
75                 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
76                 rm -- "$file"
77             done
78         )
79     fi
81     # Copy documentation
82     mkdir -p "${destdir}${docsdir}"
83     cp -p $docs "${destdir}${docsdir}"