Subject: bug#34449: closed (Re: [bug#34449] [PATCH] gnu: Add trydiffoscope.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 13 Feb 2019 23:59:02 +0000

Your bug report

#34449: [PATCH] gnu: Add trydiffoscope.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34449: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34449
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#34449] [PATCH] gnu: Add trydiffoscope.
From: Leo Famulari <[email-masked]>
To: Vagrant Cascadian <[email-masked]>
Cc: Julien Lepiller <[email-masked]>, [email-masked]
Date: Wed, 13 Feb 2019 18:58:05 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed, Feb 13, 2019 at 01:43:13PM -0800, Vagrant Cascadian wrote:
> I couldn't really think of a straightforward way to mention the
> diffoscope package, but the attached patch updates the synopsis and
> description to address the other mentioned issues.

Okay, sometimes these non-code parts are actually the hardest! :)

I pushed as commit 706460a35754a47bf832a40de4f22271e7088226 with the
changes below.

I found that the software didn't work without the requests module, and
that the man page was being installed to a location that is not
idiomatic for Guix.

`trydiffoscope --webbrowser foo bar` is super nice!

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 51d6698ee0..eff8d5c3fd 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Sou Bunnbu <[email-masked]>
 ;;; Copyright © 2018 Eric Bavier <[email-masked]>
 ;;; Copyright © 2019 Efraim Flashner <[email-masked]>
+;;; Copyright © 2019 Vagrant Cascadian <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -625,24 +626,25 @@ compare two tarballs, ISO images, or PDFs just as easily.")
        (modify-phases %standard-phases
          (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((share (string-append (assoc-ref outputs "out") "/usr/share/")))
+             (let* ((share (string-append (assoc-ref outputs "out") "/share/")))
                (mkdir-p (string-append share "/man/man1/" ))
                (invoke "rst2man.py"
                        "trydiffoscope.1.rst"
                        (string-append share "/man/man1/trydiffoscope.1"))
                (mkdir-p (string-append share "/doc/" ,name "-" ,version))
                (install-file "./README.rst"
-                          (string-append share "/doc/" ,name "-" ,version))))))))
+                          (string-append share "/doc/" ,name "-" ,version)))
+             #t)))))
+    (propagated-inputs
+     `(("python-requests" ,python-requests)))
     (native-inputs
      `(("gzip" ,gzip)
        ("python-docutils" ,python-docutils)))
     (build-system python-build-system)
     (home-page "https://try.diffoscope.org")
-    (synopsis "Client for remote service to compare files and archives in depth")
-    (description
-     "This is a client for the remote diffoscope service located at:
-
-https://try.diffoscope.org
+    (synopsis "Client for remote diffoscope service")
+    (description "This is a client for the @url{https://try.diffoscope.org,
+remote diffoscope service}.
 
 Diffoscope tries to get to the bottom of what makes files or directories
 different.  It recursively unpacks archives of many kinds and transforms
@@ -650,7 +652,7 @@ various binary formats into more human readable forms to compare them.  It can
 compare two tarballs, ISO images, or PDFs just as easily.
 
 Results are displayed by default, stored as local text or html files, or made
-available via a URL on https://try.diffoscope.org. Results stored on the
+available via a URL on @url{https://try.diffoscope.org}.  Results stored on the
 server are purged after 30 days.")
     (license license:gpl3+)))

Subject: [PATCH] gnu: Add trydiffoscope.
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Date: Mon, 11 Feb 2019 18:08:36 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/package-management (trydiffoscope): New variable.
---
 gnu/packages/package-management.scm | 44 +++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 587d028d92..49208e3191 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -606,6 +606,50 @@ various binary formats into more human readable forms to compare them.  It can
 compare two tarballs, ISO images, or PDFs just as easily.")
     (license license:gpl3+)))
 
+(define-public trydiffoscope
+ (package
+   (name "trydiffoscope")
+   (version "67.0.1")
+   (source
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://salsa.debian.org/reproducible-builds/trydiffoscope.git")
+            (commit version)))
+      (file-name (git-file-name name version))
+      (sha256
+       (base32
+        "03b66cjii7l2yiwffj6ym6mycd5drx7prfp4j2550281pias6mjh"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((share (string-append (assoc-ref outputs "out") "/usr/share/")))
+               (mkdir-p (string-append share "/man/man1/" ))
+               (invoke "rst2man.py"
+                       "trydiffoscope.1.rst"
+                       (string-append share "/man/man1/trydiffoscope.1"))
+               (mkdir-p (string-append share "/doc/" ,name "-" ,version))
+               (install-file "./README.rst"
+                          (string-append share "/doc/" ,name "-" ,version))))))))
+    (native-inputs
+     `(("gzip" ,gzip)
+       ("python-docutils" ,python-docutils)))
+    (build-system python-build-system)
+    (home-page "https://try.diffoscope.org")
+    (synopsis "Compare files and archives in depth")
+    (description
+     "This is a minimal diffoscope client that connects to the service:
+
+https://try.diffoscope.org.
+
+Diffoscope tries to get to the bottom of what makes files or directories
+different.  It recursively unpacks archives of many kinds and transforms
+various binary formats into more human readable forms to compare them.  It can
+compare two tarballs, ISO images, or PDFs just as easily.")
+    (license license:gpl3+)))
+
 (define-public python-anaconda-client
   (package
     (name "python-anaconda-client")
-- 
2.20.1