diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-08-21 18:14:57 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-08-21 18:14:57 +0200 |
commit | ab77686565478e9e66fd1cf0b3f73d08843af04b (patch) | |
tree | d808ea5cf917017633c4e45356bc38202944aa33 | |
parent | fc484f605cf3fc1be1206bb3d6637d0ca264ddea (diff) | |
download | guix-ab77686565478e9e66fd1cf0b3f73d08843af04b.tar.gz guix-ab77686565478e9e66fd1cf0b3f73d08843af04b.zip |
distro: Add GNU Make.
* distro/base.scm (gnu-make): New variable.
* distro/make-impure-dirs.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | distro/base.scm | 30 | ||||
-rw-r--r-- | distro/make-impure-dirs.patch | 40 |
3 files changed, 71 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index b6203eff70..a18695c009 100644 --- a/Makefile.am +++ b/Makefile.am @@ -40,6 +40,7 @@ nobase_dist_guilemodule_DATA = \ distro/guile-1.8-cpp-4.5.patch \ distro/m4-readlink-EINVAL.patch \ distro/m4-s_isdir.patch \ + distro/make-impure-dirs.patch \ distro/readline-link-ncurses.patch nobase_nodist_guilemodule_DATA = $(GOBJECTS) diff --git a/distro/base.scm b/distro/base.scm index cc3bff3705..1a1fe76281 100644 --- a/distro/base.scm +++ b/distro/base.scm @@ -156,6 +156,36 @@ macro processor in its own right.") (license "GPLv3+") (home-page "http://www.gnu.org/software/m4/"))) +(define-public gnu-make + (package + (name "make") + (version "3.82") + (source (origin + (method http-fetch) + (uri (string-append "http://ftp.gnu.org/gnu/make/make-" version + ".tar.bz2")) + (sha256 + (base32 + "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")))) + (build-system gnu-build-system) + (native-inputs + `(("patch/impure-dirs" + ,(search-path %load-path "distro/make-impure-dirs.patch")))) + (arguments `(#:patches (list (assoc-ref %build-inputs + "patch/impure-dirs")))) + (description "GNU Make, a program controlling the generation of non-source +files from sources") + (long-description + "Make is a tool which controls the generation of executables and other +non-source files of a program from the program's source files. + +Make gets its knowledge of how to build your program from a file called the +makefile, which lists each of the non-source files and how to compute it from +other files. When you write a program, you should write a makefile for it, so +that it is possible to use Make to build and install the program.") + (license "GPLv3+") + (home-page "http://www.gnu.org/software/make/"))) + (define-public gmp (package (name "gmp") diff --git a/distro/make-impure-dirs.patch b/distro/make-impure-dirs.patch new file mode 100644 index 0000000000..83a5fbe3a5 --- /dev/null +++ b/distro/make-impure-dirs.patch @@ -0,0 +1,40 @@ +Purity: don't look for library dependencies (of the form `-lfoo') in +/lib and /usr/lib. Likewise, when searching for included Makefiles, +don't look in /usr/include and friends. + +Patch from Nixpkgs, by Eelco Dolstra. + +diff -rc make-3.81-orig/read.c make-3.81/read.c +*** make-3.81-orig/read.c 2006-03-17 15:24:20.000000000 +0100 +--- make-3.81/read.c 2007-05-24 17:16:31.000000000 +0200 +*************** +*** 99,107 **** +--- 99,109 ---- + #endif + INCLUDEDIR, + #ifndef _AMIGA ++ #if 0 + "/usr/gnu/include", + "/usr/local/include", + "/usr/include", ++ #endif + #endif + 0 + }; +diff -rc make-3.81-orig/remake.c make-3.81/remake.c +*** make-3.81-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 +--- make-3.81/remake.c 2007-05-24 17:06:54.000000000 +0200 +*************** +*** 1452,1460 **** +--- 1452,1462 ---- + static char *dirs[] = + { + #ifndef _AMIGA ++ #if 0 + "/lib", + "/usr/lib", + #endif ++ #endif + #if defined(WINDOWS32) && !defined(LIBDIR) + /* + * This is completely up to the user at product install time. Just define |