~ruther/guix-local

ab77686565478e9e66fd1cf0b3f73d08843af04b — Ludovic Courtès 13 years ago fc484f6
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.
3 files changed, 71 insertions(+), 0 deletions(-)

M Makefile.am
M distro/base.scm
A distro/make-impure-dirs.patch
M Makefile.am => Makefile.am +1 -0
@@ 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)

M distro/base.scm => distro/base.scm +30 -0
@@ 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")

A distro/make-impure-dirs.patch => distro/make-impure-dirs.patch +40 -0
@@ 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