autoconf271, autoreconfHook271: hold back a version

Some package will require significant rework to support autoconf-2.72.
Example are `firebird` and `python3Packages.awslambdaric`. Let's leave
them on previous version until it's sorted upstream.
This commit is contained in:
Sergei Trofimovich 2024-01-09 23:23:41 +00:00
parent c7fb3e6f82
commit 63973dee0a
2 changed files with 74 additions and 3 deletions

View File

@ -0,0 +1,69 @@
{ lib, stdenv, fetchurl, m4, perl, texinfo }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec {
pname = "autoconf";
version = "2.71";
outputs = [ "out" "doc" ];
src = fetchurl {
url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz";
sha256 = "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i";
};
patches = [
# fix stale autom4te cache race condition:
# https://savannah.gnu.org/support/index.php?110521
./2.71-fix-race.patch
];
strictDeps = true;
nativeBuildInputs = [ m4 perl texinfo ];
buildInputs = [ m4 ];
postBuild = "
make html
";
postInstall = "
make install-html
";
# Work around a known issue in Cygwin. See
# http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
# details.
# There are many test failures on `i386-pc-solaris2.11'.
doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
# Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
# "fixed" path in generated files!
dontPatchShebangs = true;
enableParallelBuilding = true;
# Make the Autotest test suite run in parallel.
preCheck =''
export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
'';
meta = {
homepage = "https://www.gnu.org/software/autoconf/";
description = "Part of the GNU Build System";
longDescription = ''
GNU Autoconf is an extensible package of M4 macros that produce
shell scripts to automatically configure software source code
packages. These scripts can adapt the packages to many kinds of
UNIX-like systems without manual user intervention. Autoconf
creates a configuration script for a package from a template
file that lists the operating system features that the package
can use, in the form of M4 macro calls.
'';
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
};
}

View File

@ -184,6 +184,9 @@ with pkgs;
autoreconfHook269 = autoreconfHook.override {
autoconf = autoconf269;
};
autoreconfHook271 = autoreconfHook.override {
autoconf = autoconf271;
};
autorestic = callPackage ../tools/backup/autorestic { };
@ -18478,14 +18481,13 @@ with pkgs;
autobuild = callPackage ../development/tools/misc/autobuild { };
autoconf = autoconf271;
autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { };
autoconf = callPackage ../development/tools/misc/autoconf { };
autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
autoconf264 = callPackage ../development/tools/misc/autoconf/2.64.nix { };
autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { };
autoconf271 = callPackage ../development/tools/misc/autoconf { };
autoconf271 = callPackage ../development/tools/misc/autoconf/2.71.nix { };
acr = callPackage ../development/tools/misc/acr { };