about summary refs log tree commit diff
path: root/pkgs/development/tools/misc/autogen
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc/autogen')
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix24
-rw-r--r--pkgs/development/tools/misc/autogen/pkg-config-use-var.patch13
2 files changed, 34 insertions, 3 deletions
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 6b9e8db2f2aa..65c4f3174051 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -11,10 +11,28 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "lib" "out" "man" "info" ];
 
-  nativeBuildInputs = [ which pkgconfig perl ]
+  patches = [
+    # Temporary, so builds with a prefixed pkg-config (like cross builds) work.
+    #
+    # https://savannah.gnu.org/support/?109050 was supposed to fix this, but
+    # the generated configure script mysteriously still contained hard-coded
+    # pkg-config. I tried regenerating it, but that didn't help. Only
+    # https://git.savannah.gnu.org/cgit/autogen.git/commit/?h=5cbe233387d7f7b36752736338d1cd4f71287daa,
+    # in the next release, finally fixes this, by getting rid of some
+    # metaprogramming of the autoconf m4 metaprogram! There evidentally was
+    # some sort escaping error such that the `PKG_CONFIG` check got evaluated
+    # before `configure` was generated.
+    #
+    # Remove this when the version is bumped
+    ./pkg-config-use-var.patch
+  ];
+
+  nativeBuildInputs = [
+    which pkgconfig perl
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # autogen needs a build autogen when cross-compiling
-    ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      buildPackages.buildPackages.autogen buildPackages.texinfo ];
+    buildPackages.buildPackages.autogen buildPackages.texinfo
+  ];
   buildInputs = [
     guile libxml2
   ];
diff --git a/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch b/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch
new file mode 100644
index 000000000000..69476f62c6db
--- /dev/null
+++ b/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index c3f761d1c3f..14b101f67c1
+--- a/configure
++++ b/configure
+@@ -16683,7 +16683,7 @@ fi
+ 
+ 
+ 
+-  ag_gv=`gdir=\`pkg-config --cflags-only-I \
++  ag_gv=`gdir=\`${PKG_CONFIG} --cflags-only-I \
+   guile-${GUILE_EFFECTIVE_VERSION} | \
+   sed 's/\(^\| \)-I/\1/g'\`
+   for d in $gdir