summary refs log tree commit diff
path: root/gnu/packages/man.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-03-07 20:21:57 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-03-09 19:54:34 -0500
commitd8c9d27ffbc600aa04ecf933aad84c90b9869f1a (patch)
tree4d988a0e23d2d56eb8f12b1a6af3813daf42e2c0 /gnu/packages/man.scm
parent7b9a23ea315d2b4efde755c3bd0b1db3cacba9c2 (diff)
downloadguix-d8c9d27ffbc600aa04ecf933aad84c90b9869f1a.tar.gz
gnu: Add man2html.
* gnu/packages/man.scm (man2html): New variable.

Change-Id: Ia9d290b52af29867f6b3e0fff1aa0af8c788a9cc
Diffstat (limited to 'gnu/packages/man.scm')
-rw-r--r--gnu/packages/man.scm47
1 files changed, 46 insertions, 1 deletions
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 71fcf2f4bc..780f6bf6d8 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Imran Iqbal <imran@imraniqbal.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -219,6 +219,51 @@ accessed using the man command.  It uses a Berkeley DB database in place of
 the traditional flat-text whatis databases.")
     (license license:gpl2+)))
 
+(define-public man2html
+  (package
+    (name "man2html")
+    (version "1.6g-16")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/debian/man2html")
+                    (commit (string-append "debian/" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cxm8b2x4cjmyidi4gfz9q29zrhaxhbnsiqcmlnyr1bdhjsmk786"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;no test suite
+      ;; The source include a man page viewer as well as the man2html
+      ;; converter.  We're only interested in the converter, so we specify the
+      ;; explicit 'manhtml' target.
+      #:make-flags #~(list (string-append "bindir=" #$output "/bin")
+                           "manhtml")
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'configure
+                     (lambda _
+                       (setenv "CC" #$(cc-for-target))
+                       (invoke "./configure"
+                               (string-append "-prefix=" #$output))))
+                   (add-before 'install 'chdir
+                     (lambda _
+                       (chdir "man2html")))
+                   (replace 'install
+                     ;; This is needed because the 'manhtml' top level target
+                     ;; doesn't exist in man2html/Makefile.
+                     (lambda* (#:key make-flags #:allow-other-keys
+                               #:rest args)
+                       (apply (assoc-ref %standard-phases 'install)
+                              `(,@args #:make-flags
+                                       ,(delete "manhtml" make-flags))))))))
+    (home-page "https://salsa.debian.org/debian/man2html")
+    (synopsis "Man pages to HTML format converter")
+    (description "@command{man2html} is a command-line tool for converting man
+pages into HTML format.")
+    (license license:gpl2+)))
+
 (define-public mandoc
   (package
     (name "mandoc")