auth0-cli: 1.8.0 -> 1.9.0 (#379965)
[NixPkgs.git] / pkgs / by-name / gn / gnumake42 / package.nix
blob2d7b0394a004bd4fb825d3a32c3ba53b36e78294
2   lib,
3   stdenv,
4   fetchurl,
5   guileSupport ? false,
6   pkg-config ? null,
7   guile ? null,
8 }:
10 assert guileSupport -> (pkg-config != null && guile != null);
12 stdenv.mkDerivation rec {
13   pname = "gnumake";
14   version = "4.2.1";
16   src = fetchurl {
17     url = "mirror://gnu/make/make-${version}.tar.bz2";
18     sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn";
19   };
21   patchFlags = [ "-p0" ];
22   patches = [
23     # Purity: don't look for library dependencies (of the form `-lfoo') in /lib
24     # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
25     # included Makefiles, don't look in /usr/include and friends.
26     ./impure-dirs.patch
27     ./pselect.patch
28     # Fix support for glibc 2.27's glob, inspired by http://www.linuxfromscratch.org/lfs/view/8.2/chapter05/make.html
29     ./glibc-2.27-glob.patch
30     ./glibc-2.33-glob.patch
31   ];
33   nativeBuildInputs = lib.optionals guileSupport [ pkg-config ];
34   buildInputs = lib.optionals guileSupport [ guile ];
36   configureFlags = lib.optional guileSupport "--with-guile";
38   outputs = [
39     "out"
40     "man"
41     "info"
42   ];
44   meta = with lib; {
45     description = "Tool to control the generation of non-source files from sources";
46     longDescription = ''
47       Make is a tool which controls the generation of executables and
48       other non-source files of a program from the program's source files.
50       Make gets its knowledge of how to build your program from a file
51       called the makefile, which lists each of the non-source files and
52       how to compute it from other files. When you write a program, you
53       should write a makefile for it, so that it is possible to use Make
54       to build and install the program.
55     '';
56     homepage = "https://www.gnu.org/software/make/";
58     license = licenses.gpl3Plus;
59     maintainers = [ ];
60     mainProgram = "make";
61     platforms = platforms.all;
62   };