1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-14 19:10:49 +02:00

Merge branch 'master' into core-updates-frozen

Conflicts:
	gnu/packages/bioinformatics.scm
	gnu/packages/cmake.scm
	gnu/packages/curl.scm
	gnu/packages/emacs-xyz.scm
	gnu/packages/gpodder.scm
	gnu/packages/music.scm
	gnu/packages/patches/glibc-bootstrap-system.patch
	gnu/packages/python-xyz.scm
	gnu/packages/shells.scm
	gnu/packages/statistics.scm
This commit is contained in:
Marius Bakke 2021-07-29 22:34:57 +02:00
commit b029be2ee0
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
100 changed files with 5664 additions and 43929 deletions

View file

@ -18,6 +18,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,14 +54,17 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression)
#:use-module (gnu packages ed)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
@ -842,10 +846,64 @@ enough to play the original mainframe Zork all the way through.")
(home-page "http://www.russotto.net/git/mrussotto/confusion/src/master/src/README")
(license license:gpl3+))))
(define man-for-txr
(let ((commit "dfbf19b9a96474b8c1bacac85e43605e5691ceb2")
;; Number of additional commits since the last tag (see the output of
;; "git describe --tags").
(revision "41"))
(package
(name "man-for-txr")
(version (git-version "1.6g" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "http://www.kylheku.com/git/man/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1zy0g8fj9nsfwzvg88hyaiy94r8j14xhs8vy2ln2niqdm6x2lvy2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-man2html-makefile
(lambda _
(substitute* "man2html/Makefile.in"
;; It inadvertently ignores @bindir@.
(("^(bindir = \\$\\(DESTDIR\\)\\$\\(PREFIX\\)).*" _ prefix)
(string-append prefix "@bindir@\n")))
#t))
(add-after 'unpack 'delete-generated-files
(lambda _
(for-each delete-file
(append
(list "conf_script")
(map (lambda (d) (string-append d "/Makefile"))
'("." "man" "man2html" "src"))
(map (lambda (f) (string-append "src/" f))
'("makewhatis.in" "man.conf"
"paths.h" "version.h"))))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" ,(cc-for-target))
;; Humor the manually written configure script.
(invoke "./configure" "+lang" "en" "+fhs"
(string-append "-prefix=" (assoc-ref outputs "out")))
#t)))))
(home-page "http://www.kylheku.com/cgit/man/")
(synopsis "Modifications to the man utilities, specifically man2html")
(description
"This is a fork of the man utilities intended specifically for building
the HTML documentation of TXR.")
(license license:gpl2))))
(define-public txr
(package
(name "txr")
(version "263")
(version "266")
(source
(origin
(method git-fetch)
@ -854,8 +912,16 @@ enough to play the original mainframe Zork all the way through.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14zaziymnbr2ld79x4h7sf88bzzzj82w3xpavmcx7mhwannb2swh"))))
(base32 "1k9mj3zaxdsylgnb8g6cq0cmp6420x7fp3nnsqdmds4gh8ib95wn"))))
(build-system gnu-build-system)
(native-inputs
;; Required to build the documentation.
`(("ghostscript" ,ghostscript)
("groff" ,groff)
("man2html" ,man-for-txr)))
(inputs
`(("bash" ,bash-minimal)
("libffi" ,libffi)))
(arguments
`(#:configure-flags
(list ,(string-append "cc=" (cc-for-target))
@ -863,6 +929,38 @@ enough to play the original mainframe Zork all the way through.")
#: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)))
#t))
(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)))
#t))
(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") "/"))
(substitute* "tests/018/path-test.tl"
(("/bin") (dirname (which "sh"))))
#t))
(replace 'configure
;; ./configure is a hand-written script that can't handle standard
;; autotools arguments like CONFIG_SHELL.
@ -870,14 +968,18 @@ enough to play the original mainframe Zork all the way through.")
(setenv "txr_shell" (which "bash"))
(apply invoke "./configure" configure-flags)
#t))
(add-after 'configure 'fix-tests
(add-after 'build 'build-doc
(lambda _
(substitute* (list "tests/017/realpath.tl"
"tests/017/realpath.expected")
(("/usr/bin") "/"))
(setenv "GS_GENERATE_UUIDS" "0")
(invoke "make" "txr-manpage.html" "txr-manpage.pdf")
#t))
(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")))
#t)))))
(inputs
`(("libffi" ,libffi)))
(synopsis "General-purpose, multi-paradigm programming language")
(description
"TXR is a general-purpose, multi-paradigm programming language. It