gnu: man-db: Use 'groff-minimal' at run time.

This reduces the closure of man-db from 175 MiB to 97 MiB.

* gnu/packages/man.scm (man-db)[native-inputs]: Add GROFF.
[inputs]: Replace GROFF with GROFF-MINIMAL.
[arguments]: #:configure-flags now refers to GROFF-MINIMAL.
Add #:disallowed-references.
This commit is contained in:
Ludovic Courtès 2017-12-01 10:49:47 +01:00
parent 3c97322a6e
commit c85f069148
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 13 additions and 5 deletions

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@ -68,7 +68,7 @@ a flexible and convenient way.")
"0gqgs4zc3r87apns0k5qp689p2ylxx2596s2mkmkxjjay99brv88")))) "0gqgs4zc3r87apns0k5qp689p2ylxx2596s2mkmkxjjay99brv88"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-test-shebangs (add-after 'patch-source-shebangs 'patch-test-shebangs
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -88,6 +88,7 @@ a flexible and convenient way.")
#t))) #t)))
#:configure-flags #:configure-flags
(let ((groff (assoc-ref %build-inputs "groff")) (let ((groff (assoc-ref %build-inputs "groff"))
(groff-minimal (assoc-ref %build-inputs "groff-minimal"))
(less (assoc-ref %build-inputs "less")) (less (assoc-ref %build-inputs "less"))
(gzip (assoc-ref %build-inputs "gzip")) (gzip (assoc-ref %build-inputs "gzip"))
(bzip2 (assoc-ref %build-inputs "bzip2")) (bzip2 (assoc-ref %build-inputs "bzip2"))
@ -110,17 +111,24 @@ a flexible and convenient way.")
(string-append "--with-systemdtmpfilesdir=" (string-append "--with-systemdtmpfilesdir="
%output "/lib/tmpfiles.d")) %output "/lib/tmpfiles.d"))
(map (lambda (prog) (map (lambda (prog)
(string-append "--with-" prog "=" groff "/bin/" prog)) (string-append "--with-" prog "=" groff-minimal
"/bin/" prog))
'("nroff" "eqn" "neqn" "tbl" "refer" "pic")))) '("nroff" "eqn" "neqn" "tbl" "refer" "pic"))))
;; At run time we should refer to GROFF-MINIMAL, not GROFF (the latter
;; pulls in Perl.)
#:disallowed-references (,groff)
#:modules ((guix build gnu-build-system) #:modules ((guix build gnu-build-system)
(guix build utils) (guix build utils)
(srfi srfi-1)))) (srfi srfi-1))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)
("groff" ,groff))) ;needed at build time (troff, grops, soelim, etc.)
(inputs (inputs
`(("flex" ,flex) `(("flex" ,flex)
("gdbm" ,gdbm) ("gdbm" ,gdbm)
("groff" ,groff) ("groff-minimal" ,groff-minimal)
("less" ,less) ("less" ,less)
("libpipeline" ,libpipeline) ("libpipeline" ,libpipeline)
("util-linux" ,util-linux))) ("util-linux" ,util-linux)))