···11-{ stdenv, fetchurl, texinfo, guileSupport ? false, pkgconfig , guile ? null, autoreconfHook }:
22-33-assert guileSupport -> ( guile != null );
44-55-let
66- version = "4.2.90";
77- revision = "48c8a116a914a325a0497721f5d8b58d5bba34d4";
88- revCount = "2491";
99- shortRev = "48c8a11";
1010-1111- baseVersion = "4.2.1";
1212- baseTarball = fetchurl {
1313- url = "mirror://gnu/make/make-${baseVersion}.tar.bz2";
1414- sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn";
1515- };
1616-in
1717-stdenv.mkDerivation {
1818- name = "gnumake-${version}pre${revCount}_${shortRev}";
1919-2020- src = fetchurl {
2121- url = "http://git.savannah.gnu.org/cgit/make.git/snapshot/make-${revision}.tar.gz";
2222- sha256 = "0k6yvhr2a5lh1qhflv02dyvq5p20ikgaakm8w6gr4xmkspljwpwx";
2323- };
2424-2525- postUnpack = ''
2626- unpackFile ${baseTarball}
2727- cp make-${baseVersion}/po/*.po $sourceRoot/po
2828- cp make-${baseVersion}/doc/{fdl,make-stds}.texi $sourceRoot/doc
2929- '';
3030-3131- patches = [
3232- # Purity: don't look for library dependencies (of the form `-lfoo') in /lib
3333- # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
3434- # included Makefiles, don't look in /usr/include and friends.
3535- ./impure-dirs-head.patch
3636- ];
3737-3838- postPatch = ''
3939- # These aren't in the 4.2.1 tarball yet.
4040- sed -i -e 's/sr//' -e 's/zh_TW//' po/LINGUAS
4141- '';
4242-4343- nativeBuildInputs = [ autoreconfHook pkgconfig texinfo ];
4444- buildInputs = stdenv.lib.optional guileSupport guile;
4545-4646- configureFlags = stdenv.lib.optional guileSupport "--with-guile";
4747-4848- outputs = [ "out" "man" "info" ];
4949-5050- meta = with stdenv.lib; {
5151- homepage = http://www.gnu.org/software/make/;
5252- description = "A tool to control the generation of non-source files from sources";
5353- license = licenses.gpl3Plus;
5454-5555- longDescription = ''
5656- Make is a tool which controls the generation of executables and
5757- other non-source files of a program from the program's source files.
5858-5959- Make gets its knowledge of how to build your program from a file
6060- called the makefile, which lists each of the non-source files and
6161- how to compute it from other files. When you write a program, you
6262- should write a makefile for it, so that it is possible to use Make
6363- to build and install the program.
6464- '';
6565-6666- platforms = platforms.all;
6767- maintainers = [ maintainers.vrthra ];
6868- };
6969-}