pkg-config: update to 0.28 (close #2769)
This commit is contained in:
parent
ba190a71c7
commit
db3b440150
|
@ -1,15 +1,17 @@
|
||||||
{stdenv, fetchurl, automake, vanilla ? false}:
|
{stdenv, fetchurl, automake, vanilla ? false}:
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
name = "pkg-config-0.23";
|
name = "pkg-config-0.28";
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pkgconfig.freedesktop.org/releases/${name}.tar.gz";
|
url = "http://pkgconfig.freedesktop.org/releases/${name}.tar.gz";
|
||||||
sha256 = "0lrvk17724mc2nzpaa0vwybarrl50r7qdnr4h6jijm50srrf1808";
|
sha256 = "0igqq5m204w71m11y0nipbdf5apx87hwfll6axs12hn4dqfb6vkb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
configureFlags = [ "--with-internal-glib" ];
|
||||||
|
|
||||||
patches = if vanilla then [] else [
|
patches = if vanilla then [] else [
|
||||||
# Process Requires.private properly, see
|
# Process Requires.private properly, see
|
||||||
# http://bugs.freedesktop.org/show_bug.cgi?id=4738.
|
# http://bugs.freedesktop.org/show_bug.cgi?id=4738.
|
||||||
|
|
|
@ -1,221 +1,17 @@
|
||||||
diff -rc pkg-config-0.23-orig/main.c pkg-config-0.23/main.c
|
diff --git a/main.c b/main.c
|
||||||
*** pkg-config-0.23-orig/main.c 2008-01-16 23:06:48.000000000 +0100
|
index b61ca34..5a420c2 100644
|
||||||
--- pkg-config-0.23/main.c 2008-10-14 13:04:04.000000000 +0200
|
--- a/main.c
|
||||||
***************
|
+++ b/main.c
|
||||||
*** 431,436 ****
|
@@ -602,10 +602,10 @@ main (int argc, char **argv)
|
||||||
--- 431,454 ----
|
|
||||||
else
|
else
|
||||||
disable_private_libs();
|
disable_private_libs();
|
||||||
|
|
||||||
+ /* Only process Requires field if cflags or libs wanted */
|
- /* honor Requires.private if any Cflags are requested or any static
|
||||||
+ if (want_libs ||
|
+ /* honor Requires.private if any any static
|
||||||
+ want_cflags ||
|
* libs are requested */
|
||||||
+ want_l_libs ||
|
|
||||||
+ want_L_libs ||
|
|
||||||
+ want_other_libs ||
|
|
||||||
+ want_I_cflags ||
|
|
||||||
+ want_other_cflags)
|
|
||||||
+ enable_requires();
|
|
||||||
+ else
|
|
||||||
+ disable_requires();
|
|
||||||
+
|
|
||||||
+ /* Only process Requires.private if static libs wanted */
|
|
||||||
+ if (want_static_lib_list)
|
|
||||||
+ enable_requires_private();
|
|
||||||
+ else
|
|
||||||
+ disable_requires_private();
|
|
||||||
+
|
|
||||||
if (want_my_version)
|
|
||||||
{
|
|
||||||
printf ("%s\n", VERSION);
|
|
||||||
diff -rc pkg-config-0.23-orig/parse.c pkg-config-0.23/parse.c
|
|
||||||
*** pkg-config-0.23-orig/parse.c 2008-01-16 21:42:49.000000000 +0100
|
|
||||||
--- pkg-config-0.23/parse.c 2008-10-13 14:41:42.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 913,919 ****
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
- if (pkg_flags & CFLAGS_ANY || want_requires_private || want_exists ||
|
||||||
! parse_line (Package *pkg, const char *untrimmed, const char *path, gboolean ignore_requires, gboolean ignore_private_libs)
|
+ if (want_requires_private ||
|
||||||
{
|
(want_static_lib_list && (pkg_flags & LIBS_ANY)))
|
||||||
char *str;
|
enable_requires_private();
|
||||||
char *p;
|
|
||||||
--- 913,921 ----
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
|
||||||
! parse_line (Package *pkg, const char *untrimmed, const char *path,
|
|
||||||
! gboolean ignore_requires, gboolean ignore_requires_private,
|
|
||||||
! gboolean ignore_private_libs)
|
|
||||||
{
|
|
||||||
char *str;
|
|
||||||
char *p;
|
|
||||||
***************
|
|
||||||
*** 956,970 ****
|
|
||||||
parse_description (pkg, p, path);
|
|
||||||
else if (strcmp (tag, "Version") == 0)
|
|
||||||
parse_version (pkg, p, path);
|
|
||||||
! else if (strcmp (tag, "Requires.private") == 0)
|
|
||||||
! parse_requires_private (pkg, p, path);
|
|
||||||
! else if (strcmp (tag, "Requires") == 0)
|
|
||||||
! {
|
|
||||||
! if (ignore_requires == FALSE)
|
|
||||||
! parse_requires (pkg, p, path);
|
|
||||||
! else
|
|
||||||
! goto cleanup;
|
|
||||||
! }
|
|
||||||
else if ((strcmp (tag, "Libs.private") == 0) &&
|
|
||||||
ignore_private_libs == FALSE)
|
|
||||||
parse_libs_private (pkg, p, path);
|
|
||||||
--- 958,969 ----
|
|
||||||
parse_description (pkg, p, path);
|
|
||||||
else if (strcmp (tag, "Version") == 0)
|
|
||||||
parse_version (pkg, p, path);
|
|
||||||
! else if ((strcmp (tag, "Requires.private") == 0) &&
|
|
||||||
! ignore_requires_private == FALSE)
|
|
||||||
! parse_requires_private (pkg, p, path);
|
|
||||||
! else if ((strcmp (tag, "Requires") == 0) &&
|
|
||||||
! ignore_requires == FALSE)
|
|
||||||
! parse_requires (pkg, p, path);
|
|
||||||
else if ((strcmp (tag, "Libs.private") == 0) &&
|
|
||||||
ignore_private_libs == FALSE)
|
|
||||||
parse_libs_private (pkg, p, path);
|
|
||||||
***************
|
|
||||||
*** 1067,1073 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
Package*
|
|
||||||
! parse_package_file (const char *path, gboolean ignore_requires, gboolean ignore_private_libs)
|
|
||||||
{
|
|
||||||
FILE *f;
|
|
||||||
Package *pkg;
|
|
||||||
--- 1066,1074 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
Package*
|
|
||||||
! parse_package_file (const char *path, gboolean ignore_requires,
|
|
||||||
! gboolean ignore_requires_private,
|
|
||||||
! gboolean ignore_private_libs)
|
|
||||||
{
|
|
||||||
FILE *f;
|
|
||||||
Package *pkg;
|
|
||||||
***************
|
|
||||||
*** 1104,1110 ****
|
|
||||||
{
|
|
||||||
one_line = TRUE;
|
|
||||||
|
|
||||||
! parse_line (pkg, str->str, path, ignore_requires, ignore_private_libs);
|
|
||||||
|
|
||||||
g_string_truncate (str, 0);
|
|
||||||
}
|
|
||||||
--- 1105,1112 ----
|
|
||||||
{
|
|
||||||
one_line = TRUE;
|
|
||||||
|
|
||||||
! parse_line (pkg, str->str, path, ignore_requires,
|
|
||||||
! ignore_requires_private, ignore_private_libs);
|
|
||||||
|
|
||||||
g_string_truncate (str, 0);
|
|
||||||
}
|
|
||||||
diff -rc pkg-config-0.23-orig/parse.h pkg-config-0.23/parse.h
|
|
||||||
*** pkg-config-0.23-orig/parse.h 2008-01-16 21:42:49.000000000 +0100
|
|
||||||
--- pkg-config-0.23/parse.h 2008-10-13 14:41:42.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 23,28 ****
|
|
||||||
--- 23,29 ----
|
|
||||||
#include "pkg.h"
|
|
||||||
|
|
||||||
Package *parse_package_file (const char *path, gboolean ignore_requires,
|
|
||||||
+ gboolean ignore_requires_private,
|
|
||||||
gboolean ignore_private_libs);
|
|
||||||
|
|
||||||
Package *get_compat_package (const char *name);
|
|
||||||
diff -rc pkg-config-0.23-orig/pkg.c pkg-config-0.23/pkg.c
|
|
||||||
*** pkg-config-0.23-orig/pkg.c 2008-01-16 22:59:49.000000000 +0100
|
|
||||||
--- pkg-config-0.23/pkg.c 2008-10-13 14:41:42.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 55,60 ****
|
|
||||||
--- 55,61 ----
|
|
||||||
|
|
||||||
gboolean disable_uninstalled = FALSE;
|
|
||||||
gboolean ignore_requires = FALSE;
|
|
||||||
+ gboolean ignore_requires_private = FALSE;
|
|
||||||
gboolean ignore_private_libs = TRUE;
|
|
||||||
|
|
||||||
void
|
|
||||||
***************
|
|
||||||
*** 337,343 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
debug_spew ("Reading '%s' from file '%s'\n", name, location);
|
|
||||||
! pkg = parse_package_file (location, ignore_requires, ignore_private_libs);
|
|
||||||
|
|
||||||
if (pkg == NULL)
|
|
||||||
{
|
|
||||||
--- 338,345 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
debug_spew ("Reading '%s' from file '%s'\n", name, location);
|
|
||||||
! pkg = parse_package_file (location, ignore_requires, ignore_requires_private,
|
|
||||||
! ignore_private_libs);
|
|
||||||
|
|
||||||
if (pkg == NULL)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 1506,1511 ****
|
|
||||||
--- 1508,1514 ----
|
|
||||||
int mlen = 0;
|
|
||||||
|
|
||||||
ignore_requires = TRUE;
|
|
||||||
+ ignore_requires_private = TRUE;
|
|
||||||
|
|
||||||
g_hash_table_foreach (locations, max_len_foreach, &mlen);
|
|
||||||
g_hash_table_foreach (locations, packages_foreach, GINT_TO_POINTER (mlen + 1));
|
|
||||||
***************
|
|
||||||
*** 1522,1524 ****
|
|
||||||
--- 1525,1551 ----
|
|
||||||
{
|
|
||||||
ignore_private_libs = TRUE;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ enable_requires(void)
|
|
||||||
+ {
|
|
||||||
+ ignore_requires = FALSE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ disable_requires(void)
|
|
||||||
+ {
|
|
||||||
+ ignore_requires = TRUE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ enable_requires_private(void)
|
|
||||||
+ {
|
|
||||||
+ ignore_requires_private = FALSE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ disable_requires_private(void)
|
|
||||||
+ {
|
|
||||||
+ ignore_requires_private = TRUE;
|
|
||||||
+ }
|
|
||||||
diff -rc pkg-config-0.23-orig/pkg.h pkg-config-0.23/pkg.h
|
|
||||||
*** pkg-config-0.23-orig/pkg.h 2008-01-16 22:27:19.000000000 +0100
|
|
||||||
--- pkg-config-0.23/pkg.h 2008-10-13 14:41:42.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 120,125 ****
|
|
||||||
--- 120,131 ----
|
|
||||||
void enable_private_libs(void);
|
|
||||||
void disable_private_libs(void);
|
|
||||||
|
|
||||||
+ void enable_requires(void);
|
|
||||||
+ void disable_requires(void);
|
|
||||||
+
|
|
||||||
+ void enable_requires_private(void);
|
|
||||||
+ void disable_requires_private(void);
|
|
||||||
+
|
|
||||||
/* If TRUE, do not automatically prefer uninstalled versions */
|
|
||||||
extern gboolean disable_uninstalled;
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue