diff options
author | Rosen Penev <rosenp@gmail.com> | 2019-11-28 11:19:31 -0800 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-03-01 21:36:00 +0100 |
commit | 867298cf47ab505dee738fc653b90fa0bc2d0428 (patch) | |
tree | ec71d1775038e4091c666df2849f4b04d533b7c8 /tools/pkgconf | |
parent | af878339ae28391dd7509cd27496fa4ca8d2a339 (diff) | |
download | upstream-867298cf47ab505dee738fc653b90fa0bc2d0428.tar.gz upstream-867298cf47ab505dee738fc653b90fa0bc2d0428.tar.bz2 upstream-867298cf47ab505dee738fc653b90fa0bc2d0428.zip |
tools/pkg-config: Replace with pkgconf
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 <rosenp@gmail.com>
[backported upstream fix for Meson]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'tools/pkgconf')
-rw-r--r-- | tools/pkgconf/Makefile | 33 | ||||
-rwxr-xr-x | tools/pkgconf/files/pkg-config | 3 | ||||
-rw-r--r-- | tools/pkgconf/patches/0001-cli-remove-version-to-modversion-remapping.patch | 36 |
3 files changed, 72 insertions, 0 deletions
diff --git a/tools/pkgconf/Makefile b/tools/pkgconf/Makefile new file mode 100644 index 0000000000..cefee1edf0 --- /dev/null +++ b/tools/pkgconf/Makefile @@ -0,0 +1,33 @@ +# +# Copyright (C) 2006-2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=pkgconf +PKG_VERSION:=1.6.3 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=https://distfiles.dereferenced.org/pkgconf +PKG_HASH:=61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210 + +HOST_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/host-build.mk + +unexport PKG_CONFIG + +define Host/Install + $(MAKE) -C $(HOST_BUILD_DIR) install + 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 + +define Host/Clean + -$(MAKE) -C $(HOST_BUILD_DIR) uninstall + $(call Host/Clean/Default) +endef + +$(eval $(call HostBuild)) diff --git a/tools/pkgconf/files/pkg-config b/tools/pkgconf/files/pkg-config new file mode 100755 index 0000000000..82cc74ffcb --- /dev/null +++ b/tools/pkgconf/files/pkg-config @@ -0,0 +1,3 @@ +#!/bin/sh + +pkg-config.real --define-variable=prefix=${STAGING_PREFIX} --define-variable=exec_prefix=${STAGING_PREFIX} --define-variable=bindir=${STAGING_PREFIX}/bin $@ 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 <ariadne@dereferenced.org> +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) |