stage-2-init: fix false positives for RO Nix store mounts (#375257)
[NixPkgs.git] / pkgs / development / tools / misc / autoconf / 2.71.nix
blob96b369d68e7f0548c39d1b072d6f3a7e4a118943
2   lib,
3   stdenv,
4   fetchurl,
5   m4,
6   perl,
7   texinfo,
8 }:
10 # Note: this package is used for bootstrapping fetchurl, and thus
11 # cannot use fetchpatch! All mutable patches (generated by GitHub or
12 # cgit) that are needed here should be included directly in Nixpkgs as
13 # files.
15 stdenv.mkDerivation rec {
16   pname = "autoconf";
17   version = "2.71";
18   outputs = [
19     "out"
20     "doc"
21   ];
23   src = fetchurl {
24     url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz";
25     sha256 = "197sl23irn6s9pd54rxj5vcp5y8dv65jb9yfqgr2g56cxg7q6k7i";
26   };
27   patches = [
28     # fix stale autom4te cache race condition:
29     #  https://savannah.gnu.org/support/index.php?110521
30     ./2.71-fix-race.patch
31   ];
33   strictDeps = true;
34   nativeBuildInputs = [
35     m4
36     perl
37     texinfo
38   ];
39   buildInputs = [ m4 ];
40   postBuild = "
41     make html
42   ";
44   postInstall = "
45     make install-html
46   ";
48   # Work around a known issue in Cygwin.  See
49   # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
50   # details.
51   # There are many test failures on `i386-pc-solaris2.11'.
52   doCheck = ((!stdenv.hostPlatform.isCygwin) && (!stdenv.hostPlatform.isSunOS));
54   # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
55   # "fixed" path in generated files!
56   dontPatchShebangs = true;
58   enableParallelBuilding = true;
60   # Make the Autotest test suite run in parallel.
61   preCheck = ''
62     export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
63   '';
65   meta = {
66     homepage = "https://www.gnu.org/software/autoconf/";
67     description = "Part of the GNU Build System";
69     longDescription = ''
70       GNU Autoconf is an extensible package of M4 macros that produce
71       shell scripts to automatically configure software source code
72       packages.  These scripts can adapt the packages to many kinds of
73       UNIX-like systems without manual user intervention.  Autoconf
74       creates a configuration script for a package from a template
75       file that lists the operating system features that the package
76       can use, in the form of M4 macro calls.
77     '';
79     license = lib.licenses.gpl3Plus;
81     platforms = lib.platforms.all;
82   };