From 344a0d2c11440dc7aa6b30c1633ed098b8d700cc Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Fri, 24 Feb 2023 03:22:20 +0000 Subject: gnu: Add 9yacc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/suckless.scm (9yacc): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/suckless.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages/suckless.scm') 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."))) -- cgit 1.4.1