unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Antero Mejr via Guix-patches via <guix-patches@gnu.org>
To: 61745@debbugs.gnu.org
Cc: Antero Mejr <antero@mailbox.org>
Subject: [bug#61745] [PATCH 5/5] gnu: Add 9yacc.
Date: Fri, 24 Feb 2023 03:22:20 +0000	[thread overview]
Message-ID: <20230224032220.14820-5-antero@mailbox.org> (raw)
In-Reply-To: <20230224032220.14820-1-antero@mailbox.org>

* gnu/packages/suckless.scm (9yacc): New variable.
---
 gnu/packages/suckless.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 7f79e9d7e9..cfd70df027 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -1324,3 +1324,34 @@ (define-public lib9
 It also contains the Plan 9 libbio, libregexp, libfmt and libutf libraries.")
       (license (list license:expat ;modifications
                      license:lpl1.02))))) ;original plan9 code
+
+(define-public 9yacc
+  (package
+    (inherit lib9)
+    (name "9yacc")
+    (arguments
+     (substitute-keyword-arguments (package-arguments lib9)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (add-after 'patch 'patch-for-9yacc
+              (lambda _
+                (substitute* "yacc/yacc.c"
+                  (("#9/yacc")
+                   (string-append #$output "/lib")))
+                (substitute* "config.mk"
+                  (("^CFLAGS.*+=.*$")
+                   (string-append "CFLAGS+=-O2 -g -c -DPLAN9PORT "
+                                  "-DPREFIX=\\\"" #$output "\\\"\n")))))
+            (replace 'chdir
+              (lambda _
+                (chdir "yacc")))
+            (delete 'install-include)
+            (add-after 'install 'install-yaccpar
+              (lambda _
+                (install-file "yaccpar" (string-append #$output "/lib"))
+                (install-file "yaccpars" (string-append #$output "/lib"))))))))
+    (inputs (list lib9))
+    (synopsis "Port of Plan 9's yacc parser generator for Unix")
+    (description
+     "This package provides a ported version of the Plan 9 yacc parser
+generator.")))
-- 
2.38.1





  parent reply	other threads:[~2023-02-24  3:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-24  3:18 [bug#61745] [PATCH] gnu: Add 9base Antero Mejr via Guix-patches via
2023-02-24  3:22 ` [bug#61745] [PATCH 1/5] licenses: Add LPL 1.02 (Lucent Public Licence) Antero Mejr via Guix-patches via
2023-02-24  3:22   ` [bug#61745] [PATCH 2/5] import: Add EUPL 1.1 to the SPDX license name converter Antero Mejr via Guix-patches via
2023-02-24  3:22   ` [bug#61745] [PATCH 3/5] gnu: r-mapproj: Correct license field to lpl1.02 Antero Mejr via Guix-patches via
2023-02-24  3:22   ` [bug#61745] [PATCH 4/5] gnu: Add lib9 Antero Mejr via Guix-patches via
2023-02-24  3:22   ` Antero Mejr via Guix-patches via [this message]
2023-03-10 13:49 ` bug#61745: [PATCH] gnu: Add 9base Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230224032220.14820-5-antero@mailbox.org \
    --to=guix-patches@gnu.org \
    --cc=61745@debbugs.gnu.org \
    --cc=antero@mailbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).