diff options
author | Antero Mejr <antero@mailbox.org> | 2023-02-24 03:22:20 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-03-10 14:49:59 +0100 |
commit | 344a0d2c11440dc7aa6b30c1633ed098b8d700cc (patch) | |
tree | 15195c08844b7ec020adbe621e28471de9504dc4 /gnu/packages | |
parent | b924d89fceb4090229f2ee93ba1c81fee770707a (diff) | |
download | guix-344a0d2c11440dc7aa6b30c1633ed098b8d700cc.tar.gz guix-344a0d2c11440dc7aa6b30c1633ed098b8d700cc.zip |
gnu: Add 9yacc.
* gnu/packages/suckless.scm (9yacc): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/suckless.scm | 31 |
1 files changed, 31 insertions, 0 deletions
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 @@ environments, where no keyboard is available.") 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."))) |