diff options
| -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/' \  | 
