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