Subject: [bug#72001] [PATCH 1/2] gnu: Add icon.

From: Sharlatan Hellseher <[email-masked]>
Date: Tue, 09 Jul 2024 10:02:08 +0100

Hi,

Thank you for the patches.

QA looks happy on most systems. There are some adjustment which may be
applied:

--8<---------------cut here---------------start------------->8---
+                            (for-each
+                             (lambda (x)
+                               (substitute* x
+                                 (("/bin/sh")
+                                  (string-append
+                                   #$(this-package-input "bash-minimal")
+                                   "/bin/bash"))))
+                             '("ipl/progs/shar.icn"
+                               "ipl/progs/ipatch.icn"
+                               "src/icont/link.c"))))
--8<---------------cut here---------------end--------------->8---

SUBSTITUTE* supports a list of files and this part may be simplified e.g.

--8<---------------cut here---------------start------------->8---
(substitute* '("ipl/progs/shar.icn"
               "ipl/progs/ipatch.icn"
               "src/icont/link.c")
  (("/bin/sh")
   (string-append #$(this-package-input "bash-minimal") "/bin/bash")))
--8<---------------cut here---------------end--------------->8---

It looks like upstream prefers esoteric approach in Makefile as well,
IMHO the standard phases may be preserved with patching Makefile targets
while providing <#:configure-flags> or <#:make-flags>:

--8<---------------cut here---------------start------------->8---
+                        (replace 'configure
+                          (lambda _
+                            (invoke "make" "X-Configure" "name=linux")))
+                        (replace 'install
+                          (lambda _
+                            (invoke "make" "Install"
+                                    (string-append "dest=" #$output))))
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "make" "Test")))))))
--8<---------------cut here---------------end--------------->8---

Is Bash required during runtime as well? If not we may place it in
NATIVE-INPUTS:

--8<---------------cut here---------------start------------->8---
+    (inputs (list bash-minimal libx11 libxpm libxt libxaw))
--8<---------------cut here---------------end--------------->8---

Looking forward for v2!

--
Oleg