summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2019-07-29 15:03:03 -0300
committerNatanael Copa <ncopa@alpinelinux.org>2019-10-01 16:37:42 +0100
commit6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1 (patch)
tree63b559af61bfd5063921346348e12ae7c78ee44e
parentaa86438443e5f591d024ae5db7c742f2735e9f3c (diff)
downloadabuild-6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1.tar.bz2
abuild-6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1.tar.xz
Add support for parsing pkg-config files in /usr/share/pkgconfig
-rw-r--r--abuild.in22
1 files changed, 13 insertions, 9 deletions
diff --git a/abuild.in b/abuild.in
index 4746794..cdd912a 100644
--- a/abuild.in
+++ b/abuild.in
@@ -1110,12 +1110,13 @@ prepare_pkgconfig_provides() {
local dir="${subpkgdir:-$pkgdir}"
options_has "!tracedeps" && return 0
cd "$dir" || return 1
- for i in usr/lib/pkgconfig/*.pc; do
+ for i in usr/lib/pkgconfig/*.pc usr/share/pkgconfig/*.pc; do
if ! [ -e "$i" ]; then
continue
fi
local f=${i##*/}
- local v=$(PKG_CONFIG_PATH="$dir"/usr/lib/pkgconfig PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH=1 pkg-config \
+ local v=$(PKG_CONFIG_PATH="$dir"/usr/lib/pkgconfig:"$dir"/usr/share/pkgconfig \
+ PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH=1 pkg-config \
--modversion ${f%.pc} | sed -E -e 's/-(alpha|beta|rc|pre)/_\1/')
$APK version --check --quiet $v || die "$i: pkgconf version $v is invalid"
echo "$pcprefix${f%.pc}=${v:-0}" >> "$controldir"/.provides-pc
@@ -1255,7 +1256,7 @@ trace_apk_deps() {
msg "Tracing dependencies..."
# add pkgconfig if usr/lib/pkgconfig is found
- if [ -d "$pkgbasedir"/$name/usr/lib/pkgconfig ] \
+ if [ -d "$pkgbasedir"/$name/usr/lib/pkgconfig ] || [ -d "$pkgbasedir"/$name/usr/share/pkgconfig ] \
&& ! grep -q '^depend = pkgconfig' "$dir"/.PKGINFO; then
autodeps="$autodeps pkgconfig"
fi
@@ -1318,11 +1319,13 @@ trace_apk_deps() {
autodeps="$autodeps pc:$i"
else
warning "Could not find any provider for pc:$i"
- local pcfile=/usr/lib/pkgconfig/"${i%%[<>=]*}".pc
- if [ -e "$pcfile" ]; then
- local owner=$($APK $apkroot info --quiet --who-owns $pcfile)
- warning "${owner:-package providing $pcfile} needs to be rebuilt"
- fi
+ for d in share lib; do
+ local pcfile=/usr/$d/pkgconfig/"${i%%[<>=]*}".pc
+ if [ -e "$pcfile" ]; then
+ local owner=$($APK $apkroot info --quiet --who-owns $pcfile)
+ warning "${owner:-package providing $pcfile} needs to be rebuilt"
+ fi
+ done
fi
done
@@ -1496,7 +1499,8 @@ scan_pkgconfig_depends() {
name="$(pkginfo_val pkgname "$controldir"/.PKGINFO)"
datadir="$pkgbasedir"/$name
for i in $(sort -u "$provides_pc"); do
- PKG_CONFIG_PATH="$datadir"/usr/lib/pkgconfig pkg-config \
+ PKG_CONFIG_PATH="$datadir"/usr/lib/pkgconfig:"$datadir"/usr/share/pkgconfig \
+ pkg-config \
--print-requires \
--print-requires-private ${i%=*} \
| sed -E 's/\s*([<>=]+)\s*/\1/' \