gnu: txr: Improve style.

* gnu/packages/lisp.scm (txr)[arguments]: Use gexps.
  [home-page]: Update it.
This commit is contained in:
Guillaume Le Vaillant 2023-04-04 10:20:02 +02:00
parent 5295f0b1d2
commit b9c9c23939
No known key found for this signature in database
GPG key ID: 6BE8208ADF21FE3F

View file

@ -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