gnu: diffoscope: Install the man page.
authorTobias Geerinckx-Rice <me@tobias.gr>
Thu, 25 Jun 2020 16:55:20 +0000 (18:55 +0200)
committerTobias Geerinckx-Rice <me@tobias.gr>
Thu, 25 Jun 2020 16:55:55 +0000 (18:55 +0200)
* gnu/packages/diffoscope.scm (diffoscope)[arguments]:
Add ‘build-man-page’ and ‘install-man-page’ phases.
[native-inputs]: Add help2man.

gnu/packages/diffoscope.scm

index f5387f8..6ccb4fd 100644 (file)
                         (("\\['getfacl',")
                          (string-append "['" (which "getfacl") "',")))
                       #t))
+                  (add-after 'build 'build-man-page
+                    (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                      (apply invoke "make" "-C" "doc" make-flags)))
                   (add-before 'check 'writable-test-data
                     (lambda _
-                      ;; tests may need needs write access to tests
-                      ;; directory
+                      ;; Tests may need write access to tests directory.
                       (for-each make-file-writable (find-files "tests"))
                       #t))
                   (add-before 'check 'delete-failing-test
                     (lambda _
-                      ;; this requires /sbin to be on the path
+                      ;; This requires /sbin to be in $PATH.
                       (delete-file "tests/test_tools.py")
-                      #t)))))
+                      #t))
+                  (add-after 'install 'install-man-page
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (man (string-append out "/share/man/man1")))
+                        (install-file "doc/diffoscope.1" man)
+                        #t))))))
     (inputs `(("rpm" ,rpm)              ;for rpm-python
               ("python-file" ,python-file)
               ("python-debian" ,python-debian)
               ("acl" ,acl)              ;for getfacl
               ("colordiff" ,colordiff)
               ("xxd" ,xxd)))
-    ;; Below are modules used for tests.
-    (native-inputs `(("python-pytest" ,python-pytest)
+    (native-inputs `(("help2man" ,help2man)
+                     ;; Below are modules used for tests.
+                     ("python-pytest" ,python-pytest)
                      ("python-chardet" ,python-chardet)
                      ("python-binwalk" ,python-binwalk)
                      ("python-h5py" ,python-h5py)
                      ("python-pypdf2" ,python-pypdf2)
                      ("python-progressbar33" ,python-progressbar33)
-                     ;; test suite skips tests when tool is missing
+                     ;; The test suite skips tests when these are missing.
                      ,@(match (%current-system)
                          ;; ghc is only available on x86 currently.
                          ((or "x86_64-linux" "i686-linux")