summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-03-20 22:11:07 +0100
committerLudovic Courtès <ludo@gnu.org>2022-03-21 23:03:35 +0100
commitfe83583b7fbf14907f60ec9652f5fdd1b960e10e (patch)
tree4afd7f476190bf58ec5c604d668f862c57cd22d1
parentad85ca09777052426e801788032beb7592f0f21a (diff)
downloadguix-fe83583b7fbf14907f60ec9652f5fdd1b960e10e.tar.gz
gnu: shadow: Add variant with man pages.
* gnu/packages/admin.scm (shadow)[properties]: New field.
(shadow-with-man-pages): New variable.
-rw-r--r--gnu/packages/admin.scm19
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 9867dd8729..8331c42f8b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022 Eric Bavier <bavier@posteo.net>
@@ -876,10 +876,27 @@ hostname.")
      "Shadow provides a number of authentication-related tools, including:
 login, passwd, su, groupadd, and useradd.")
 
+    (properties '((hidden? . #t)))                ;see below
+
     ;; The `vipw' program is GPLv2+.
     ;; libmisc/salt.c is public domain.
     (license license:bsd-3)))
 
+(define-public shadow-with-man-pages
+  ;; TODO: Merge with 'shadow' on the next core-updates cycle.
+  (package/inherit shadow
+    (properties '())                              ;not hidden
+    (arguments
+     (substitute-keyword-arguments (package-arguments shadow)
+       ((#:phases phases '%standard-phases)
+        `(modify-phases ,phases
+           (add-after 'install 'install-man-pages
+             (lambda _
+               ;; The top-level Makefile.am wrongfully has "SUBDIRS += man"
+               ;; under "if ENABLE_REGENERATE_MAN", even though prebuilt man
+               ;; pages are available.  Thus, install them manually.
+               (invoke "make" "-C" "man" "install")))))))))
+
 (define-public mingetty
   (package
     (name "mingetty")