diff mbox series

[bug#46703] gnu: add bmake

Message ID E7Qpz20wDnxkH9EMr_sSqYVJxFll3zNTfHV4CwBtwTUprV_zfwhfo8o9faxuShmQxAGcTws9kKae8RtsQkPhnlH9DY5I8oep5T1LTaq4LWs=@protonmail.com
State Accepted
Headers show
Series [bug#46703] gnu: add bmake | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

qblade Feb. 22, 2021, 6:33 a.m. UTC
Empty Message

Comments

Nicolas Goaziou Feb. 27, 2021, 2:15 p.m. UTC | #1
Hello,

qblade via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/build-tools.scm (bmake): New variable.

Thank you. Some comments follow.

> +    (name "bmake")
> +    (version "20200902")

There is a newer version available. Could you provide it instead?

I tried to quickly update it (hash
"07n9avzdg6gifrzyddnyzada5s5rzklvbqfpv5drljpxcgpqpvwg") but there are
additional failing tests.

> +    (arguments
> +     `(#:tests? #f ;; test in build

You need a single semicolon for end-of-line comments. Also (nitpick),
I find ";test during build" clearer.

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'configure 'fix-test ;; fix from nixpkgs

See above for comment syntax.

> +    (description "Program designed to simplify the maintenance of
> +other programs.")

I suggest:

    "bmake is a program designed to simplify the maintenance of other
    programs.  Its input is a list of specifications as to the files upon which
    programs and other files depend."

Could you send an updated patch?

Regards,
diff mbox series

Patch

From 24d03e78dc8c2fa9dd82ad20f4c861d4128a7ee5 Mon Sep 17 00:00:00 2001
From: qblade <qblade@protonmail.com>
Date: Mon, 22 Feb 2021 01:24:53 +0000
Subject: [PATCH] gnu: add bmake

* gnu/packages/build-tools.scm (bmake): New variable.
---
 gnu/packages/build-tools.scm | 48 ++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 63417e5b81..81299e435c 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -12,6 +12,7 @@ 
 ;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,8 @@ 
   #:use-module (guix build-system cmake)
   #:use-module (gnu packages)
   #:use-module (gnu packages adns)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
@@ -481,3 +484,48 @@  besides executing the make build command, updates the JSON compilation
 database file corresponding to that build, resulting in a command-line
 interface similar to Bear.")
     (license license:gpl3)))
+
+(define-public bmake
+  (package
+    (name "bmake")
+    (version "20200902")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v1v81llsiy8qbpy38nml1x08dhrihwh040pqgwbwb9zy1108b08"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("bash" ,bash-minimal)))
+    (native-inputs
+     `(("coreutils" ,coreutils)))
+    (arguments
+     `(#:tests? #f ;; test in build
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'fix-test ;; fix from nixpkgs
+           (lambda _
+             (substitute* "unit-tests/unexport-env.mk"
+               (("PATH = /bin:/usr/bin:/sbin:/usr/sbin")
+                "PATH := ${PATH}"))))
+         (add-after 'configure 'remove-fail-test ;; need fix
+           (lambda _
+             (substitute* "unit-tests/Makefile"
+               (("cmd-interrupt")
+                "")))))
+       #:configure-flags
+       (list
+        (string-append
+         "--with-defshell=" (assoc-ref %build-inputs "bash") "/bin/bash")
+        (string-append
+         "--with-default-sys-path=" (assoc-ref %outputs "out") "/share/mk"))
+       #:make-flags
+       (list "INSTALL=install"))) ;; use coreutils install
+    (home-page "http://www.crufty.net/help/sjg/bmake.htm")
+    (synopsis "BSD's make")
+    (description "Program designed to simplify the maintenance of
+other programs.")
+    (license license:bsd-3)))
-- 
2.29.2