me
/
guix
Archived
1
0
Fork 0

gnu: txr: Improve style.

* gnu/packages/lisp.scm (txr)[arguments]: Use gexps.
  [home-page]: Update it.
master
Guillaume Le Vaillant 2023-04-04 10:20:02 +02:00 committed by Maxim Cournoyer
parent 5d609a00a8
commit a558df0351
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 55 additions and 56 deletions

View File

@ -993,61 +993,60 @@ the HTML documentation of 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
@ -1066,7 +1065,7 @@ extraction language referred to as the TXR Pattern Language (sometimes just
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