From b9c9c23939a40a850a8c78579adaec25d1972bd1 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 4 Apr 2023 10:20:02 +0200 Subject: [PATCH] gnu: txr: Improve style. * gnu/packages/lisp.scm (txr)[arguments]: Use gexps. [home-page]: Update it. --- gnu/packages/lisp.scm | 111 +++++++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 17fafba455..c5ff9c45c9 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1000,61 +1000,60 @@ (define-public txr (base32 "1ypsgakhak0znmg3wzblfcwd4s4nanzm61dz66gwi48rfnq35znl")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list ,(string-append "cc=" (cc-for-target)) - (string-append "--prefix=" (assoc-ref %outputs "out"))) - #:test-target "tests" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-license-installation - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - (("INSTALL(,.*LICENSE,.*)\\$\\(datadir\\)" _ match) - (string-append "INSTALL" match - (assoc-ref outputs "out") - "/share/doc/" ,name "-" ,version))))) - (delete 'install-license-files) - (add-after 'unpack 'inhibit-doc-syms-generation - (lambda _ - (substitute* "genman.txr" - ;; Exit from genman.txr before it tries to write to - ;; stdlib/doc-syms.tl, which is anyway kept up to date with - ;; each release (and is already compiled to stdlib/doc-syms.tlo - ;; when genman.txr is run). - (("^@\\(output \"stdlib/doc-syms\\.tl\"\\).*" line) - (string-append "@(do (exit))\n" line))))) - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "stream.c" - (("/bin/sh") - (string-append (assoc-ref inputs "bash") "/bin/bash"))))) - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* (list "tests/017/realpath.tl" - "tests/017/realpath.expected") - (("/usr/bin") "/")))) - (replace 'configure - ;; ./configure is a hand-written script that can't handle standard - ;; autotools arguments like CONFIG_SHELL. - (lambda* (#:key configure-flags #:allow-other-keys) - (setenv "txr_shell" (which "bash")) - (apply invoke "./configure" configure-flags))) - (add-after 'build 'build-doc - (lambda _ - (setenv "GS_GENERATE_UUIDS" "0") - (invoke "make" "txr-manpage.html" "txr-manpage.pdf"))) - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "out") - "/share/doc/" ,name "-" ,version))) - (for-each (lambda (f) (install-file f doc)) - '("txr-manpage.html" "txr-manpage.pdf"))))) - (add-after 'install 'install-vim-files - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (syntax (string-append out "/share/vim/vimfiles/syntax"))) - (install-file "tl.vim" syntax) - (install-file "txr.vim" syntax))))))) + (list #:configure-flags + #~(list (string-append "cc=" #$(cc-for-target)) + (string-append "--prefix=" #$output)) + #:test-target "tests" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-license-installation + (lambda _ + (substitute* "Makefile" + (("INSTALL(,.*LICENSE,.*)\\$\\(datadir\\)" _ match) + (string-append "INSTALL" match #$output + "/share/doc/" #$name "-" #$version))))) + (delete 'install-license-files) + (add-after 'unpack 'inhibit-doc-syms-generation + (lambda _ + (substitute* "genman.txr" + ;; Exit from genman.txr before it tries to write to + ;; stdlib/doc-syms.tl, which is anyway kept up to date + ;; with each release (and is already compiled to + ;; stdlib/doc-syms.tlo when genman.txr is run). + (("^@\\(output \"stdlib/doc-syms\\.tl\"\\).*" line) + (string-append "@(do (exit))\n" line))))) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "stream.c" + (("/bin/sh") + (search-input-file inputs "/bin/bash"))))) + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* (list "tests/017/realpath.tl" + "tests/017/realpath.expected") + (("/usr/bin") "/")))) + (replace 'configure + ;; ./configure is a hand-written script that can't handle + ;; standard autotools arguments like CONFIG_SHELL. + (lambda* (#:key configure-flags #:allow-other-keys) + (setenv "txr_shell" (which "bash")) + (apply invoke "./configure" configure-flags))) + (add-after 'build 'build-doc + (lambda _ + (setenv "GS_GENERATE_UUIDS" "0") + (invoke "make" "txr-manpage.html" "txr-manpage.pdf"))) + (add-after 'install 'install-doc + (lambda _ + (let ((doc (string-append #$output "/share/doc/" + #$name "-" #$version))) + (for-each (lambda (f) (install-file f doc)) + '("txr-manpage.html" "txr-manpage.pdf"))))) + (add-after 'install 'install-vim-files + (lambda _ + (let ((syntax (string-append #$output + "/share/vim/vimfiles/syntax"))) + (install-file "tl.vim" syntax) + (install-file "txr.vim" syntax))))))) (native-inputs ;; Required to build the documentation. (list ghostscript @@ -1073,7 +1072,7 @@ (define-public txr used for everything from \"one liner\" data transformation tasks at the command line, to data scanning and extracting scripts, to full application development in a wide-range of areas.") - (home-page "https://nongnu.org/txr/") + (home-page "https://www.nongnu.org/txr/") (license license:bsd-2))) (define picolisp32