Subject: [bug#39445] [PATCH v2 1/2] gnu: ripgrep: Install the manpage.

From: Jakub Kądziołka <[email-masked]>
Date: Sun, 9 Feb 2020 22:51:09 +0100

* gnu/packages/rust-apps.scm (ripgrep)[native-inputs]: Add ASCIIDOC to
  compile the manpage.
  (ripgrep)[arguments]: Add phase: 'install-manpage. Add #:modules
  argument to import (ice-9 match).
---
This patch no longer applies after #39500, so I'm sending a new version
to resolve the conflict. I have also added a second patch to the
patchstack that enables the PCRE2 feature, as sending it separately
would have some potential for generating merge conflicts.

 gnu/packages/rust-apps.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index d1d7d225a7..ddc9f6ed37 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -25,6 +25,7 @@
   #:use-module (guix packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crates-io)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages tls)
@@ -226,7 +227,24 @@ provides defaults for 80% of the use cases.")
         ("rust-termcolor" ,rust-termcolor-1.0))
        #:cargo-development-inputs
        (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:modules ((ice-9 match)
+                  (guix build cargo-build-system)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'install-manpage
+           ;; NOTE: This is done before 'check so that there's only one output
+           ;; directory with the man page.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (match (find-files "target" "^rg\\.1$")
+               ((manpage)
+                (install-file manpage (string-append
+                                        (assoc-ref outputs "out")
+                                        "/share/man/man1"))))
+             #t)))))
+    (native-inputs
+     `(("asciidoc" ,asciidoc)))
     (home-page "https://github.com/BurntSushi/ripgrep")
     (synopsis "Line-oriented search tool")
     (description
-- 
2.25.0