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