From 3246dc7f1597dd5aedd2891b02c1ff025c7d617f Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 28 Nov 2019 11:19:31 -0800 Subject: [PATCH] tools/pkg-config: Replace with pkgconf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pkgconf is a newer, actively maintained implementation of pkg-config that supports more aspects of the pkg-config file specification and provides a library interface that applications can use to incorporate intelligent handling of pkg-config files into themselves (such as build file generators, IDEs, and compilers). Through its pkg-config compatibility interface (activated when it is run as "pkg-config"), it also can completely replace the original implementation. It is also lighterweight and does not require glib2, as pkg-config does. On other distros, pkgconf is symlinked to pkg-config. For simplicity here, it is renamed to pkg-config.real, as in the original package. Initial results have been positive. As before, pkgconf works as long as the pkg-config files point to the proper paths. Signed-off-by: Rosen Penev [backported upstream fix for Meson] Signed-off-by: Petr Štetiar --- tools/Makefile | 8 ++--- tools/{pkg-config => pkgconf}/Makefile | 22 ++++-------- .../{pkg-config => pkgconf}/files/pkg-config | 0 ...move-version-to-modversion-remapping.patch | 36 +++++++++++++++++++ 4 files changed, 47 insertions(+), 19 deletions(-) rename tools/{pkg-config => pkgconf}/Makefile (52%) rename tools/{pkg-config => pkgconf}/files/pkg-config (100%) create mode 100644 tools/pkgconf/patches/0001-cli-remove-version-to-modversion-remapping.patch diff --git a/tools/Makefile b/tools/Makefile index a82c4bd333..37c1eaf805 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -25,7 +25,7 @@ tools-y += autoconf autoconf-archive automake bc bison cmake cpio dosfstools tools-y += e2fsprogs fakeroot findutils firmware-utils flex gengetopt tools-y += libressl libtool lzma m4 make-ext4fs meson missing-macros mkimage tools-y += mklibs mtd-utils mtools ninja padjffs2 patch-image patchelf -tools-y += pkg-config quilt squashfskit4 sstrip ucl upx xxd zip zlib zstd +tools-y += pkgconf quilt squashfskit4 sstrip ucl upx xxd zip zlib zstd tools-$(BUILD_B43_TOOLS) += b43-tools tools-$(BUILD_ISL) += isl tools-$(BUILD_TOOLCHAIN) += expat gmp mpc mpfr @@ -40,7 +40,7 @@ tools-$(CONFIG_USE_SPARSE) += sparse # builddir dependencies $(curdir)/autoconf/compile := $(curdir)/m4/compile -$(curdir)/automake/compile := $(curdir)/m4/compile $(curdir)/autoconf/compile $(curdir)/pkg-config/compile $(curdir)/xz/compile +$(curdir)/automake/compile := $(curdir)/m4/compile $(curdir)/autoconf/compile $(curdir)/pkgconf/compile $(curdir)/xz/compile $(curdir)/b43-tools/compile := $(curdir)/bison/compile $(curdir)/bc/compile := $(curdir)/bison/compile $(curdir)/libtool/compile $(curdir)/bison/compile := $(curdir)/flex/compile @@ -55,7 +55,7 @@ $(curdir)/flex/compile := $(curdir)/libtool/compile $(curdir)/gengetopt/compile := $(curdir)/libtool/compile $(curdir)/gmp/compile := $(curdir)/libtool/compile $(curdir)/isl/compile := $(curdir)/gmp/compile -$(curdir)/libressl/compile := $(curdir)/pkg-config/compile +$(curdir)/libressl/compile := $(curdir)/pkgconf/compile $(curdir)/libtool/compile := $(curdir)/m4/compile $(curdir)/autoconf/compile $(curdir)/automake/compile $(curdir)/missing-macros/compile $(curdir)/lzma-old/compile := $(curdir)/zlib/compile $(curdir)/make-ext4fs/compile := $(curdir)/zlib/compile @@ -83,7 +83,7 @@ ifneq ($(HOST_OS),Linux) endif ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),) -$(foreach tool, $(filter-out xz zstd patch pkg-config libressl ninja cmake,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile)) +$(foreach tool, $(filter-out xz zstd patch pkgconf libressl ninja cmake,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile)) tools-y += ccache $(curdir)/ccache/compile := $(curdir)/zstd/compile endif diff --git a/tools/pkg-config/Makefile b/tools/pkgconf/Makefile similarity index 52% rename from tools/pkg-config/Makefile rename to tools/pkgconf/Makefile index e735b2382e..cefee1edf0 100644 --- a/tools/pkg-config/Makefile +++ b/tools/pkgconf/Makefile @@ -1,4 +1,4 @@ -# +# # Copyright (C) 2006-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. @@ -6,12 +6,12 @@ # include $(TOPDIR)/rules.mk -PKG_NAME:=pkg-config -PKG_VERSION:=0.29.2 +PKG_NAME:=pkgconf +PKG_VERSION:=1.6.3 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://pkgconfig.freedesktop.org/releases/ -PKG_HASH:=6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=https://distfiles.dereferenced.org/pkgconf +PKG_HASH:=61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210 HOST_BUILD_PARALLEL:=1 @@ -19,17 +19,9 @@ include $(INCLUDE_DIR)/host-build.mk unexport PKG_CONFIG -HOSTCC := $(HOSTCC_NOCACHE) - -HOST_CONFIGURE_ARGS += --with-internal-glib - -ifeq ($(HOST_OS),Darwin) -HOST_LDFLAGS += -framework CoreFoundation -framework Carbon -endif - define Host/Install $(MAKE) -C $(HOST_BUILD_DIR) install - mv $(STAGING_DIR_HOST)/bin/pkg-config $(STAGING_DIR_HOST)/bin/pkg-config.real + mv $(STAGING_DIR_HOST)/bin/pkgconf $(STAGING_DIR_HOST)/bin/pkg-config.real $(INSTALL_BIN) ./files/pkg-config $(STAGING_DIR_HOST)/bin/pkg-config endef diff --git a/tools/pkg-config/files/pkg-config b/tools/pkgconf/files/pkg-config similarity index 100% rename from tools/pkg-config/files/pkg-config rename to tools/pkgconf/files/pkg-config diff --git a/tools/pkgconf/patches/0001-cli-remove-version-to-modversion-remapping.patch b/tools/pkgconf/patches/0001-cli-remove-version-to-modversion-remapping.patch new file mode 100644 index 0000000000..b2c538d24e --- /dev/null +++ b/tools/pkgconf/patches/0001-cli-remove-version-to-modversion-remapping.patch @@ -0,0 +1,36 @@ +From 62bbd3b664d4b03011a4b382ed20353a91c30406 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Tue, 21 Jan 2020 10:32:36 -0600 +Subject: [PATCH] cli: remove --version to --modversion remapping + +This has been a source of frequent complaints, so we drop it. +Resolves: https://todo.sr.ht/~kaniini/pkgconf/6 +--- + cli/main.c | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/cli/main.c b/cli/main.c +index 563ec8f0cfcd..fc698a4f9191 100644 +--- a/cli/main.c ++++ b/cli/main.c +@@ -1005,18 +1005,8 @@ main(int argc, char *argv[]) + + if ((want_flags & PKG_VERSION) == PKG_VERSION) + { +- if (argc > 2) +- { +- fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]); +- +- want_flags &= ~PKG_VERSION; +- want_flags |= PKG_MODVERSION; +- } +- else +- { +- version(); +- return EXIT_SUCCESS; +- } ++ version(); ++ return EXIT_SUCCESS; + } + + if ((want_flags & PKG_HELP) == PKG_HELP)