summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/pkgconf/APKBUILD15
-rw-r--r--system/pkgconf/personality.patch55
2 files changed, 62 insertions, 8 deletions
diff --git a/system/pkgconf/APKBUILD b/system/pkgconf/APKBUILD
index 79f4b3819..777af1613 100644
--- a/system/pkgconf/APKBUILD
+++ b/system/pkgconf/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=pkgconf
-pkgver=1.5.4
+pkgver=1.6.0
pkgrel=0
-pkgdesc="development framework configuration tools"
+pkgdesc="Toolkit for maintaining development package metadata"
url="https://git.dereferenced.org/pkgconf/pkgconf/"
arch="all"
license="ISC"
@@ -10,10 +10,11 @@ replaces="pkgconfig"
provides="pkgconfig=1"
subpackages="$pkgname-doc $pkgname-dev"
checkdepends="kyua atf"
-source="https://distfiles.dereferenced.org/pkgconf/pkgconf-$pkgver.tar.xz"
+source="https://distfiles.dereferenced.org/pkgconf/pkgconf-$pkgver.tar.xz
+ personality.patch
+ "
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +28,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
-
make DESTDIR="$pkgdir" install
ln -s pkgconf "$pkgdir"/usr/bin/pkg-config
}
@@ -49,4 +47,5 @@ dev() {
mv "$subpkgdir"/usr/share/aclocal/pkg.m4 "$pkgdir"/usr/share/aclocal/
}
-sha512sums="795a67f8f98b7598c0af8e70c830851561f090a96cb66b75149e5faf633f06c1b098fa3cec76cde35160a9809556536da6a2a95af8ff954c9b28536d15b79f93 pkgconf-1.5.4.tar.xz"
+sha512sums="eddb9354b3e0a4b91eb49c7b81ed4cbeb92b96b1931f25185b37fa66f25604315f0e1cc8cf13a415508b5a07c1b0d85ddb39a988648787b968083ddc82e73fda pkgconf-1.6.0.tar.xz
+94d7749fa5d751f9207c9f6168dcce52bbe6108e9440721a640b6bc3492867c3fce5231d779a780a611009f1c1ad65bc9db8e81452c059f7b34b97314b38844a personality.patch"
diff --git a/system/pkgconf/personality.patch b/system/pkgconf/personality.patch
new file mode 100644
index 000000000..e7ff9ad9a
--- /dev/null
+++ b/system/pkgconf/personality.patch
@@ -0,0 +1,55 @@
+From d926e75b345a6948e4e976828d3331cd7f0db660 Mon Sep 17 00:00:00 2001
+From: Emil Renner Berthing <esmil@mailme.dk>
+Date: Wed, 6 Mar 2019 16:03:32 +0100
+Subject: [PATCH] main: fix personalities when argv[0] contains path
+
+---
+ cli/main.c | 31 ++++++++++++++++++++-----------
+ 1 file changed, 20 insertions(+), 11 deletions(-)
+
+diff --git a/cli/main.c b/cli/main.c
+index b52cc85..caa2525 100644
+--- a/cli/main.c
++++ b/cli/main.c
+@@ -740,21 +740,30 @@ dump_personality(const pkgconf_cross_personality_t *p)
+ static pkgconf_cross_personality_t *
+ deduce_personality(char *argv[])
+ {
+- char *workbuf = strdup(argv[0]), *i;
+- pkgconf_cross_personality_t *out = pkgconf_cross_personality_default(), *deduced;
++ const char *argv0 = argv[0];
++ char *i, *prefix;
++ pkgconf_cross_personality_t *out;
++
++ i = strrchr(argv0, '/');
++ if (i != NULL)
++ argv0 = i + 1;
++
++#if defined(_WIN32) || defined(_WIN64)
++ i = strrchr(argv0, '\\');
++ if (i != NULL)
++ argv0 = i + 1;
++#endif
+
+- i = strstr(workbuf, "-pkg");
++ i = strstr(argv0, "-pkg");
+ if (i == NULL)
+- goto finish;
+-
+- *i = 0;
++ return pkgconf_cross_personality_default();
+
+- deduced = pkgconf_cross_personality_find(workbuf);
+- if (deduced != NULL)
+- out = deduced;
++ prefix = strndup(argv0, i - argv0);
++ out = pkgconf_cross_personality_find(prefix);
++ free(prefix);
++ if (out == NULL)
++ return pkgconf_cross_personality_default();
+
+-finish:
+- free(workbuf);
+ return out;
+ }
+