On 27/11/2019 11:49, Petr Štetiar wrote:
Rosen Penev <ros...@gmail.com> [2019-11-25 14:44:18]:

Hi,

you're trying to do a lot of things in one patch, making it hard to review,
please split it up.

1. switch to pkgconf
2. shell check fix
3. meson fix

-ifeq ($(HOST_OS),Darwin)
-HOST_LDFLAGS += -framework CoreFoundation -framework Carbon
-endif

So it compiles and works on macOS just fine? You can ask Kevin (ldir) on IRC
to build test this for you.

diff --git a/tools/pkgconf/files/pkg-config b/tools/pkgconf/files/pkg-config
new file mode 100755
index 0000000000..6579a14f86
--- /dev/null
+++ b/tools/pkgconf/files/pkg-config

What has happened with the old pkg-config? Have you forget to `git mv/git add`?

@@ -0,0 +1,6 @@
+#!/bin/sh
+
+"$(dirname "$0")/pkg-config.real" \

This change was suggested by shellcheck? Why is this change needed? This needs
to go into separate commit with a proper description.

diff --git a/tools/pkgconf/patches/0001-f-pkgconf-meson.patch 
b/tools/pkgconf/patches/0001-f-pkgconf-meson.patch
new file mode 100644
index 0000000000..3ed47adc95
--- /dev/null
+++ b/tools/pkgconf/patches/0001-f-pkgconf-meson.patch
@@ -0,0 +1,31 @@
+From 05ef58532b75c36fc19eb9d2d1fe4c46195706bf Mon Sep 17 00:00:00 2001
+From: Andre Heider <a.hei...@gmail.com>
+Date: Mon, 25 Nov 2019 09:36:47 +0100
+Subject: [PATCH] f pkgconf/meson

This patch needs a better name and better explanation, description. This is
some upstream backport or whats the origin of this patch?

That was just a quick & dirty patch from me to get it working, that's why it lacks any sort of explanation ;)

If I read that right Rosen accidentally added my openwrt patch to the patches/ folder, and not the pkgconf patch within ;) The "f" at the start tried to imply that it should be "fixup"'ed on rebase, but that obviously didn't work out :D


+---
+ tools/pkgconf/patches/meson.patch | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+ create mode 100644 tools/pkgconf/patches/meson.patch
+
+diff --git a/tools/pkgconf/patches/meson.patch 
b/tools/pkgconf/patches/meson.patch
+new file mode 100644
+index 0000000000..e0a2946f32
+--- /dev/null
++++ b/tools/pkgconf/patches/meson.patch
+@@ -0,0 +1,12 @@
++diff -ur pkgconf-1.6.3-orig/cli/main.c pkgconf-1.6.3/cli/main.c
++--- pkgconf-1.6.3-orig/cli/main.c     2019-07-12 13:53:12.000000000 +0200
+++++ pkgconf-1.6.3/cli/main.c  2019-11-25 09:32:53.512784479 +0100
++@@ -1002,7 +1002,7 @@
++
++      if ((want_flags & PKG_VERSION) == PKG_VERSION)
++      {
++-             if (argc > 2)
+++             if (0 && argc > 2)

Uh?

It's just me or this seems like a hack, something which should be fixed in
meson instead? I would prefer to have a patch which is accepted upstream.
pkgconf is maintained, right?

What openwrt does it wrap pkg-config/pkgconf in a shell script to add additional arguments for cross compiling (those --define-variable above). That wrapper is then passed to build systems as pkg-config.

Now meson probes pkg-config with the --version argument to see if it's a working binary or whatever. pkgconf then sees --version with additional arguments and decides to be "smart" and does something completely different than just printing its version. That in return errors out, meson thinks pkg-config is unusable and the whole build fails.

The patch gets rid of that "smart" part, which makes meson and the wrapped pkgconf play together.

The original pkg-config doesn't have this issue.

There's a bug report here:
https://todo.sr.ht/~kaniini/pkgconf/6

I didn't pursue upstreaming it because it looks like merge request at github are ignored and I didn't feel like signing up at upstreams own page.

Hope that helps,
Andre

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to