From 2988780eb5f31912917270ad330765761c1f66c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Jun 2020 09:38:37 +0200 Subject: [PATCH] autogen: 5.18.12 -> 5.18.16 I re-checked that pkgsCross.aarch64-multiplatform.autogen builds. https://github.com/NixOS/nixpkgs/pull/89388#issuecomment-639155770 --- .../tools/misc/autogen/default.nix | 61 ++++++++++--------- .../misc/autogen/pkg-config-use-var.patch | 13 ---- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 33 insertions(+), 45 deletions(-) delete mode 100644 pkgs/development/tools/misc/autogen/pkg-config-use-var.patch diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index 65c4f3174051..2911855e7023 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -1,34 +1,39 @@ -{ stdenv, buildPackages, fetchurl, which, pkgconfig, perl, guile, libxml2 }: +{ stdenv, buildPackages, fetchurl, autoreconfHook, which, pkgconfig, perl, guile, libxml2 }: stdenv.mkDerivation rec { pname = "autogen"; - version = "5.18.12"; + version = "5.18.16"; src = fetchurl { url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.xz"; - sha256 = "1n5zq4872sakvz9c7ncsdcfp0z8rsybsxvbmhkpbd19ii0pacfxy"; + sha256 = "16mlbdys8q4ckxlvxyhwkdnh1ay9f6g0cyp1kylkpalgnik398gq"; }; + patches = let + dp = { ver ? "1%255.18.16-4", pname, name ? (pname + ".diff"), sha256 }: fetchurl { + url = "https://salsa.debian.org/debian/autogen/-/raw/debian/${ver}" + + "/debian/patches/${pname}.diff?inline=false"; + inherit name sha256; + }; + in [ + (dp { + pname = "20_no_Werror"; + sha256 = "08z4s2ifiqyaacjpd9pzr59w8m4j3548kkaq1bwvp2gjn29m680x"; + }) + (dp { + pname = "30_ag_macros.m4_syntax_error"; + sha256 = "1z8vmbwbkz3505wd33i2xx91mlf8rwsa7klndq37nw821skxwyh3"; + }) + (dp { + pname = "31_allow_overriding_AGexe_for_crossbuild"; + sha256 = "0h9wkc9bqb509knh8mymi43hg6n6sxg2lixvjlchcx7z0j7p8xkf"; + }) + ]; + outputs = [ "bin" "dev" "lib" "out" "man" "info" ]; - 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 + which pkgconfig perl autoreconfHook/*patches applied*/ ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # autogen needs a build autogen when cross-compiling buildPackages.buildPackages.autogen buildPackages.texinfo @@ -45,13 +50,7 @@ stdenv.mkDerivation rec { #"MAKEINFO=${buildPackages.texinfo}/bin/makeinfo" ]; - postPatch = '' - # Fix a broken sed expression used for detecting the minor - # version of guile we are using - sed -i "s,sed '.*-I.*',sed 's/\\\(^\\\| \\\)-I/\\\1/g',g" configure - - substituteInPlace pkg/libopts/mklibsrc.sh --replace /tmp $TMPDIR - ''; + #doCheck = true; # not reliable postInstall = '' mkdir -p $dev/bin @@ -62,9 +61,13 @@ stdenv.mkDerivation rec { sed -e "s|$bin/bin|/no-such-autogen-bin-path|" -i $f sed -e "s|$lib/lib|/no-such-autogen-lib-path|" -i $f done - ''; - #doCheck = true; # 2 tests fail because of missing /dev/tty + # remove /build/** from RPATHs + for f in "$bin"/bin/*; do + local nrp="$(patchelf --print-rpath "$f" | sed -E 's@(:|^)/build/[^:]*:@\1@g')" + patchelf --set-rpath "$nrp" "$f" + done + ''; meta = with stdenv.lib; { description = "Automated text and program generation tool"; diff --git a/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch b/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch deleted file mode 100644 index 69476f62c6db..000000000000 --- a/pkgs/development/tools/misc/autogen/pkg-config-use-var.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 53ec2d0fd439..e1a25d2224de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1133,9 +1133,7 @@ in atftp = callPackage ../tools/networking/atftp { }; - autogen = callPackage ../development/tools/misc/autogen { - guile = guile_2_0; - }; + autogen = callPackage ../development/tools/misc/autogen { }; autojump = callPackage ../tools/misc/autojump { };