summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/debug.scm25
-rw-r--r--gnu/packages/patches/remake-impure-dirs.patch30
3 files changed, 56 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b7c98aeef2..15ae30f30a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1507,6 +1507,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rpcbind-CVE-2017-8779.patch		\
   %D%/packages/patches/rtags-separate-rct.patch			\
   %D%/packages/patches/racket-store-checksum-override.patch	\
+  %D%/packages/patches/remake-impure-dirs.patch			\
   %D%/packages/patches/retroarch-disable-online-updater.patch	\
   %D%/packages/patches/rnp-add-version.cmake.patch		\
   %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch		\
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 2a3e6edc31..2f58f8e972 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -536,6 +536,31 @@ the position of the variable and allows you to modify its value.")
     ;; by GPLv3 or later.
     (license (list license:lgpl3+ license:gpl3+))))
 
+(define-public remake
+  (package (inherit gnu-make)
+    (name "remake")
+    (version "4.3-1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (let ((upstream-version
+                          (match (string-split version #\-)
+                            ((ver sub) (string-append ver "%2Bdbg-" sub)))))
+                     (string-append "mirror://sourceforge/bashdb/"
+                                    "remake/" upstream-version "/"
+                                    "remake-" upstream-version ".tar.gz")))
+              (file-name (string-append "remake-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0xlx2485y0israv2pfghmv74lxcv9i5y65agy69mif76yc4vfvif"))
+              (patches (search-patches "remake-impure-dirs.patch"))))
+    (inputs
+     `(("readline" ,readline)
+       ,@(package-inputs gnu-make)))
+    (home-page "http://bashdb.sourceforge.net/remake/")
+    (description "Remake is an enhanced version of GNU Make that adds improved
+error reporting, better tracing, profiling, and a debugger.")
+    (license license:gpl3+)))
+
 (define-public rr
   (package
     (name "rr")
diff --git a/gnu/packages/patches/remake-impure-dirs.patch b/gnu/packages/patches/remake-impure-dirs.patch
new file mode 100644
index 0000000000..698ac7476c
--- /dev/null
+++ b/gnu/packages/patches/remake-impure-dirs.patch
@@ -0,0 +1,30 @@
+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.
+
+Borrowed from similar patch for GNU Make and adjusted for Remake.
+
+--- remake-4.3+dbg-1.5/src/read.c.orig	2020-03-14 17:06:16.000000000 -0500
++++ remake-4.3+dbg-1.5/src/read.c	2020-07-31 22:34:03.862383862 -0500
+@@ -104,7 +104,7 @@
+ # define INCLUDEDIR "."
+ #endif
+     INCLUDEDIR,
+-#ifndef _AMIGA
++#if 0
+     "/usr/gnu/include",
+     "/usr/local/include",
+     "/usr/include",
+--- remake-4.3+dbg-1.5/src/remake.c.orig	2020-03-14 17:06:16.000000000 -0500
++++ remake-4.3+dbg-1.5/src/remake.c	2020-07-31 22:34:26.798330508 -0500
+@@ -1665,8 +1665,10 @@
+ {
+   static const char *dirs[] =
+     {
++#if 0
+       "/lib",
+       "/usr/lib",
++#endif
+ #if defined(WINDOWS32) && !defined(LIBDIR)
+ /*
+  * This is completely up to the user at product install time. Just define