diff options
author | Leo <thinkabit.ukim@gmail.com> | 2019-07-29 15:03:03 -0300 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2019-10-01 16:37:42 +0100 |
commit | 6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1 (patch) | |
tree | 63b559af61bfd5063921346348e12ae7c78ee44e | |
parent | aa86438443e5f591d024ae5db7c742f2735e9f3c (diff) | |
download | abuild-6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1.tar.bz2 abuild-6e5bd59d6f73a9cc3fcb3200e38039ea2922e5a1.tar.xz |
Add support for parsing pkg-config files in /usr/share/pkgconfig
-rw-r--r-- | abuild.in | 22 |
1 files changed, 13 insertions, 9 deletions
@@ -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/' \ |