aboutsummaryrefslogtreecommitdiffstats
path: root/main/abuild
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-02-22 14:42:47 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2019-02-22 14:42:47 +0000
commit715b4a332048238d5f4784bdaa8f128859e755a0 (patch)
treebeec0b4b92aab5e9eba516be4139794e463e26a7 /main/abuild
parent066c79a8439cbfddb94a4ff6158a443926af22b0 (diff)
downloadaports-715b4a332048238d5f4784bdaa8f128859e755a0.tar.bz2
aports-715b4a332048238d5f4784bdaa8f128859e755a0.tar.xz
main/abuild: backport support for pcprefix
ref #9959
Diffstat (limited to 'main/abuild')
-rw-r--r--main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch69
-rw-r--r--main/abuild/APKBUILD6
2 files changed, 73 insertions, 2 deletions
diff --git a/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch b/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch
new file mode 100644
index 0000000000..f043421bca
--- /dev/null
+++ b/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch
@@ -0,0 +1,69 @@
+From 376ccc5bd695e792768a679409fbb428defe0770 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 22 Feb 2019 13:57:08 +0000
+Subject: [PATCH] abuild: add support for pkg-config prefix pcprefix
+
+Fix issue when two -dev packages provides same pkg-config wil but with
+different versions. For example libressl-dev and openssl-dev both ships
+libssl.pc and libcrypto.pc, which resulted in automatic provides of
+pc:libssl and pc:libcrypto.
+
+apk would end up picking libressl-dev over openssl-dev for packages that
+had automatic pc:libssl depends (for example libssl2-dev), when
+openssl-dev was the one that was used during build.
+
+To fix this we add support for a pcprefix so we can set
+pcprefix="libressl:" in libressl APKBUILD which makes libressl-dev
+provide pc:libressl:libssl. This is similar to what we do with
+sonameprefix.
+
+We do not yet automatically detect when the prefixed variant should be
+used so for now we will have to explicitly add libressl-dev.
+
+ref #9959
+---
+ abuild.in | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/abuild.in b/abuild.in
+index cd3383b..d03e35f 100644
+--- a/abuild.in
++++ b/abuild.in
+@@ -1067,7 +1067,7 @@ prepare_pkgconfig_provides() {
+ local f=${i##*/}
+ local v=$(PKG_CONFIG_PATH="$dir"/usr/lib/pkgconfig PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH=1 pkg-config \
+ --modversion ${f%.pc})
+- echo "${f%.pc}=${v:-0}" >> "$controldir"/.provides-pc
++ echo "$pcprefix${f%.pc}=${v:-0}" >> "$controldir"/.provides-pc
+ done
+ }
+
+@@ -1175,6 +1175,11 @@ subpkg_provides_so() {
+ grep -q -w "^$1" "$pkgbasedir"/.control.*/.provides-so 2>/dev/null
+ }
+
++subpkg_provides_prefixed_pc() {
++ [ -n "$pcprefix" ] && grep -q -w "^$pcprefix$1" \
++ "$pkgbasedir"/.control.*/.provides-pc 2>/dev/null
++}
++
+ subpkg_provides_pc() {
+ grep -q -w "^${1%%[<>=]*}" "$pkgbasedir"/.control.*/.provides-pc \
+ 2>/dev/null
+@@ -1243,7 +1248,12 @@ trace_apk_deps() {
+
+ # pkg-config depends
+ for i in $(sort -u "$dir"/.needs-pc 2>/dev/null); do
+- if subpkg_provides_pc "$i" \
++ # first check if its provided by same apkbuild
++ grep -q -w "^$pcprefix$i" "$dir"/.provides-pc 2>/dev/null && continue
++
++ if subpkg_provides_prefixed_pc "$i"; then
++ autodeps="$autodeps pc:$pcprefix$i"
++ elif subpkg_provides_pc "$i" \
+ || $APK $apkroot info --quiet --installed "pc:$i"; then
+ local provider=$(apk $apkroot search --quiet "pc:$i")
+ if list_has "$provider" $depends_dev; then
+--
+2.20.1
+
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 173e51b9af..b50e6a9df6 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -2,7 +2,7 @@
pkgname=abuild
pkgver=3.3.0
_ver=${pkgver%_git*}
-pkgrel=0
+pkgrel=1
pkgdesc="Script to build Alpine Packages"
url="https://git.alpinelinux.org/cgit/abuild/"
arch="all"
@@ -21,6 +21,7 @@ subpackages="apkbuild-cpan:cpan:noarch apkbuild-gem-resolver:gems:noarch
options="suid !check"
pkggroups="abuild"
source="https://dev.alpinelinux.org/archive/abuild/abuild-$_ver.tar.xz
+ 0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch
"
builddir="$srcdir/$pkgname-$_ver"
@@ -68,4 +69,5 @@ _rootbld() {
mkdir -p "$subpkgdir"
}
-sha512sums="c109a63107a0816117d781c1d3e664dd8d36648b0dc46a9e61d720c9813d50134cd8db4b282a8d27e546b5bd544296088c6d1b6996b230304d5db009f4ba4d52 abuild-3.3.0.tar.xz"
+sha512sums="c109a63107a0816117d781c1d3e664dd8d36648b0dc46a9e61d720c9813d50134cd8db4b282a8d27e546b5bd544296088c6d1b6996b230304d5db009f4ba4d52 abuild-3.3.0.tar.xz
+fc33c946b969b6f862c85582f7ec63cea2fa47d1d13dd10374c7376f297926bea2e0864509235b1c7118d6dc759ca5cfc6487612877f97568f9294e6c67fb86c 0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch"