summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-20 18:13:53 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-21 23:17:20 +0100
commitcdba91486a60bbba727d843707322f98f8286124 (patch)
tree1245ae6980426f5a9d40209a16f6eb03679d3d5f
parent99406d9b684ec60384dc29d850905dd517fb9790 (diff)
downloadguix-cdba91486a60bbba727d843707322f98f8286124.tar.gz
gnu: make: Update to 4.3.
* gnu/packages/patches/make-impure-dirs.patch: Adjust for renamed files.
* gnu/packages/patches/make-glibc-compat.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/base.scm (gnu-make): Update to 4.3.
[source](uri): Change to ".gz" tarball.
[source](patches): Remove obsolete.
[arguments]: Remove #:configure-flags.  Adjust for renamed files.
[inputs]: Change from GUILE-2.0 to GUILE-3.0.
* gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Add #:configure-flags.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/base.scm18
-rw-r--r--gnu/packages/commencement.scm5
-rw-r--r--gnu/packages/patches/make-glibc-compat.patch52
-rw-r--r--gnu/packages/patches/make-impure-dirs.patch12
5 files changed, 18 insertions, 70 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6958cc6af0..fb9f506f31 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1152,7 +1152,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/luminance-hdr-qt-printer.patch		\
   %D%/packages/patches/lvm2-static-link.patch			\
   %D%/packages/patches/lxsession-use-gapplication.patch         \
-  %D%/packages/patches/make-glibc-compat.patch			\
   %D%/packages/patches/make-impure-dirs.patch			\
   %D%/packages/patches/mariadb-client-test-32bit.patch		\
   %D%/packages/patches/mars-install.patch			\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 9f8130be50..45f6cf79ba 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -360,31 +360,27 @@ functionality beyond that which is outlined in the POSIX standard.")
 (define-public gnu-make
   (package
    (name "make")
-   (version "4.2.1")
+   (version "4.3")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/make/make-" version
-                                ".tar.bz2"))
+                                ".tar.gz"))
             (sha256
              (base32
-              "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn"))
-            (patches (search-patches "make-impure-dirs.patch"
-                                     "make-glibc-compat.patch"))))
+              "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0"))
+            (patches (search-patches "make-impure-dirs.patch"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))  ; to detect Guile
-   (inputs `(("guile" ,guile-2.0)))
+   (inputs `(("guile" ,guile-3.0)))
    (outputs '("out" "debug"))
    (arguments
-    '(;; Work around faulty glob detection with glibc 2.27.  See
-      ;; <https://lists.nongnu.org/archive/html/bug-make/2017-11/msg00027.html>.
-      #:configure-flags '("make_cv_sys_gnu_glob=yes")
-      #:phases
+    '(#:phases
       (modify-phases %standard-phases
         (add-before 'build 'set-default-shell
           (lambda* (#:key inputs #:allow-other-keys)
             ;; Change the default shell from /bin/sh.
             (let ((bash (assoc-ref inputs "bash")))
-              (substitute* "job.c"
+              (substitute* "src/job.c"
                 (("default_shell =.*$")
                  (format #f "default_shell = \"~a/bin/sh\";\n"
                          bash)))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d173f5a19b..851bb02163 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1412,6 +1412,11 @@ exec " gcc "/bin/" program
        #:implicit-inputs? #f
        #:tests? #f                                ; cannot run "make check"
        ,@(substitute-keyword-arguments (package-arguments gnu-make)
+           ((#:configure-flags flags ''())
+            ;; The generated config.status has some problems due to the
+            ;; bootstrap environment.  Disable dependency tracking to work
+            ;; around it.
+            `(cons "--disable-dependency-tracking" ,flags))
            ((#:phases phases)
             `(modify-phases ,phases
                (replace 'build
diff --git a/gnu/packages/patches/make-glibc-compat.patch b/gnu/packages/patches/make-glibc-compat.patch
deleted file mode 100644
index 9ce7f2b5bf..0000000000
--- a/gnu/packages/patches/make-glibc-compat.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Work with the new glob interface in glibc 2.27.
-
-Taken from this upstream commit:
-https://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4
-
-diff --git a/dir.c b/dir.c
-index adbb8a9..c343e4c 100644
---- a/dir.c
-+++ b/dir.c
-@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf)
- }
- #endif
- 
-+/* Similarly for lstat.  */
-+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
-+# ifndef VMS
-+#  ifndef HAVE_SYS_STAT_H
-+int lstat (const char *path, struct stat *sbuf);
-+#  endif
-+# else
-+    /* We are done with the fake lstat.  Go back to the real lstat */
-+#   ifdef lstat
-+#     undef lstat
-+#   endif
-+# endif
-+# define local_lstat lstat
-+#elif defined(WINDOWS32)
-+/* Windows doesn't support lstat().  */
-+# define local_lstat local_stat
-+#else
-+static int
-+local_lstat (const char *path, struct stat *buf)
-+{
-+  int e;
-+  EINTRLOOP (e, lstat (path, buf));
-+  return e;
-+}
-+#endif
-+
- void
- dir_setup_glob (glob_t *gl)
- {
-   gl->gl_opendir = open_dirstream;
-   gl->gl_readdir = read_dirstream;
-   gl->gl_closedir = free;
-+  gl->gl_lstat = local_lstat;
-   gl->gl_stat = local_stat;
--  /* We don't bother setting gl_lstat, since glob never calls it.
--     The slot is only there for compatibility with 4.4 BSD.  */
- }
- 
- void
diff --git a/gnu/packages/patches/make-impure-dirs.patch b/gnu/packages/patches/make-impure-dirs.patch
index 83a5fbe3a5..89595b06ec 100644
--- a/gnu/packages/patches/make-impure-dirs.patch
+++ b/gnu/packages/patches/make-impure-dirs.patch
@@ -4,9 +4,9 @@ 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
+diff -rc make-3.81-orig/src/read.c make-3.81/src/read.c
+*** make-3.81-orig/src/read.c	2006-03-17 15:24:20.000000000 +0100
+--- make-3.81/src/read.c	2007-05-24 17:16:31.000000000 +0200
 ***************
 *** 99,107 ****
 --- 99,109 ----
@@ -21,9 +21,9 @@ diff -rc make-3.81-orig/read.c make-3.81/read.c
   #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
+diff -rc make-3.81-orig/src/remake.c make-3.81/src/remake.c
+*** make-3.81-orig/src/remake.c	2006-03-20 03:36:37.000000000 +0100
+--- make-3.81/src/remake.c	2007-05-24 17:06:54.000000000 +0200
 ***************
 *** 1452,1460 ****
 --- 1452,1462 ----