summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorAntero Mejr <antero@mailbox.org>2023-02-24 03:18:03 +0000
committerLudovic Courtès <ludo@gnu.org>2023-03-10 14:49:59 +0100
commite152e861b8e1fc2f57949a5e5b27b568d063bace (patch)
treefc7f3efb4c0bc387531c391c1d5921435b8a6b74 /gnu/packages
parent344a0d2c11440dc7aa6b30c1633ed098b8d700cc (diff)
downloadguix-e152e861b8e1fc2f57949a5e5b27b568d063bace.tar.gz
gnu: Add 9base.
* gnu/packages/suckless.scm (9base): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/suckless.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index cfd70df027..400832045f 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system cargo)
@@ -1355,3 +1356,39 @@ It also contains the Plan 9 libbio, libregexp, libfmt and libutf libraries.")
     (description
      "This package provides a ported version of the Plan 9 yacc parser
 generator.")))
+
+(define-public 9base
+  (package
+    (inherit 9yacc)
+    (name "9base")
+    (arguments
+     (substitute-keyword-arguments (package-arguments 9yacc)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (add-after 'patch-for-9yacc 'patch-for-9base
+              (lambda _
+                (substitute* "Makefile"
+                  (("SUBDIRS  = lib9\\\\")
+                   "SUBDIRS = \\")
+                  (("@chmod 755 yacc/9yacc")
+                   ""))
+                (for-each (lambda (x)
+                            (substitute* "Makefile"
+                              (((string-append x "\\\\")) "\\")))
+                          '("yacc" "diff" "hoc" "rc"))
+                (substitute* "sam/Makefile"
+                  (("\\$\\{CFLAGS\\}")
+                   "${CFLAGS} -I."))
+                (substitute* "config.mk"
+                  (("^YACC.*=.*$")
+                   (string-append "YACC=" #$(this-package-native-input "9yacc")
+                                  "/bin/yacc\n")))))
+            (delete 'chdir)
+            (delete 'install-yaccpar)))))
+    (native-inputs (list 9yacc))
+    (inputs (list lib9))
+    (propagated-inputs (list rc))
+    (synopsis "Port of various Plan 9 tools for Unix")
+    (description
+     "This package provides ported versions of various Plan 9 userland tools
+for Unix.")))