From c85f069148b33115f67f260e6ef2f10e4e80707e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 1 Dec 2017 10:49:47 +0100 Subject: [PATCH] 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. --- gnu/packages/man.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 4f6ed15750..8abdaf48f6 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Alex Kost @@ -68,7 +68,7 @@ a flexible and convenient way.") "0gqgs4zc3r87apns0k5qp689p2ylxx2596s2mkmkxjjay99brv88")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-test-shebangs (lambda* (#:key outputs #:allow-other-keys) @@ -88,6 +88,7 @@ a flexible and convenient way.") #t))) #:configure-flags (let ((groff (assoc-ref %build-inputs "groff")) + (groff-minimal (assoc-ref %build-inputs "groff-minimal")) (less (assoc-ref %build-inputs "less")) (gzip (assoc-ref %build-inputs "gzip")) (bzip2 (assoc-ref %build-inputs "bzip2")) @@ -110,17 +111,24 @@ a flexible and convenient way.") (string-append "--with-systemdtmpfilesdir=" %output "/lib/tmpfiles.d")) (map (lambda (prog) - (string-append "--with-" prog "=" groff "/bin/" prog)) + (string-append "--with-" prog "=" groff-minimal + "/bin/" prog)) '("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) (guix build utils) (srfi srfi-1)))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("groff" ,groff))) ;needed at build time (troff, grops, soelim, etc.) (inputs `(("flex" ,flex) ("gdbm" ,gdbm) - ("groff" ,groff) + ("groff-minimal" ,groff-minimal) ("less" ,less) ("libpipeline" ,libpipeline) ("util-linux" ,util-linux)))