gnu: Add groff-minimal.
* gnu/packages/groff.scm (groff-minimal): New variable.
This commit is contained in:
parent
63b31b567e
commit
3c97322a6e
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -65,6 +66,52 @@ is usually the formatter of \"man\" documentation pages.")
|
||||
(license gpl3+)
|
||||
(home-page "https://www.gnu.org/software/groff/")))
|
||||
|
||||
(define-public groff-minimal
|
||||
;; Minimialist groff for use by man-db. Its closure size is less than half
|
||||
;; that of the full-blown groff.
|
||||
(package
|
||||
(inherit groff)
|
||||
(name "groff-minimal")
|
||||
(synopsis "Minimalist variant of Groff for use by man-db")
|
||||
(outputs '("out"))
|
||||
|
||||
;; Omit the DVI, PS, PDF, and HTML backends.
|
||||
(inputs '())
|
||||
(native-inputs `(("bison" ,bison)
|
||||
("perl" ,perl)))
|
||||
|
||||
(arguments
|
||||
`(#:disallowed-references (,perl)
|
||||
|
||||
#:configure-flags '("--docdir=/tmp/trash/doc")
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'install 'remove-non-essential-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Keep only the programs that man-db needs at run time,
|
||||
;; and make sure we don't pull in Perl.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(kept '("eqn" "neqn" "pic" "tbl" "refer"
|
||||
"nroff" "groff" "troff" "grotty")))
|
||||
(for-each (lambda (file)
|
||||
(unless (member (basename file) kept)
|
||||
(delete-file file)))
|
||||
(find-files (string-append out "/bin")))
|
||||
|
||||
;; Remove a bunch of unneeded Perl scripts.
|
||||
(for-each delete-file (find-files out "\\.pl$"))
|
||||
(for-each delete-file
|
||||
(find-files out "BuildFoundries"))
|
||||
|
||||
;; Remove ~3 MiB from share/groff/X.Y/font/devBACKEND
|
||||
;; corresponding to the unused backends.
|
||||
(for-each delete-file-recursively
|
||||
(find-files out "^dev(dvi|ps|pdf|html|lj4)$"
|
||||
#:directories? #t))
|
||||
#t))))
|
||||
|
||||
,@(package-arguments groff)))))
|
||||
|
||||
;; There are no releases, so we take the latest commit.
|
||||
(define-public roffit
|
||||
(let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
|
||||
|
Loading…
Reference in New Issue
Block a user