all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: Leo Famulari <leo@famulari.name>
Cc: 34449@debbugs.gnu.org
Subject: [bug#34449] [PATCH] gnu: Add trydiffoscope.
Date: Wed, 13 Feb 2019 13:43:13 -0800	[thread overview]
Message-ID: <87lg2j5pqm.fsf@ponder> (raw)
In-Reply-To: <20190212203742.GA31872@jasmine.lan>


[-- Attachment #1.1: Type: text/plain, Size: 2540 bytes --]

On 2019-02-12, Leo Famulari wrote:
> On Tue, Feb 12, 2019 at 12:16:42AM -0800, Vagrant Cascadian wrote:
>> On 2019-02-12, Julien Lepiller wrote:
>> >>+    (synopsis "Compare files and archives in depth")
>
> This synopsis doesn't make clear that this is a client for a remote
> service. Can you rewrite it?
>
>> >>+    (description
>> >>+     "This is a minimal diffoscope client that connects to the
>> >>service:
>
> Also, I think it's better to replace "diffoscope client" with something
> like "client for the remote diffoscope service located at [...]" since
> diffoscope is not inherently a client-service tool. Also it would be
> great to mention the full diffoscope package :)
>
> Can you send an updated patch?

>> > Iiuc, this is a client to connect to a service that runs diffoscope
>> > for you. But we already have diffoscope, so what's the point?
>> 
>> Yes, that's the jist of it.  The main advantage is that it has a much
>> smaller dependency chain locally.
>> 
>> I find it useful on some of the not-particularly-fast ARM systems I've
>> been running GNU Guix, where storage may be limited or slow, and
>> substitutes may not be available as often, and build times
>> are... remarkable.
>
> Yes, and diffoscope runs can also be really expensive. It's nice to
> offload them.
>
> Also, if the service makes statements about whether submissions are
> logged or made public, can you put that in the package description?

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.


>> > What do you think?
>
> We can have SaaSS in Guix. There are already some packages that are
> SaaSS. So I think this package is okay.
>
> It's "extra okay" in my opinion since the service is AGPL, part of
> Debian, and we have a package for the tool in question.
>
> Guix is developed under the Free System Distribution Guidelines, which
> don't mention remote services or SaaSS at all:
>
> https://www.gnu.org/distros/free-system-distribution-guidelines.en.html
>
> And some discussion on the subject of services in the context of free
> software that largely reflect how we handle SaaSS in Guix:
>
> https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.en.html

Thanks for sharing your perspective and links to further reading on
these issues!  It really helps to get a feel for the norms of the
project.


live well,
  vagrant


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-trydiffoscope.patch --]
[-- Type: text/x-diff, Size: 2961 bytes --]

From 54b99d80b90a9f56fa95654a4b1bf254acb27f9c Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Mon, 11 Feb 2019 20:21:39 +0000
Subject: [PATCH] gnu: Add trydiffoscope.

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

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index af9667cd91..51d6698ee0 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -606,6 +606,54 @@ 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 "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
+
+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.
+
+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
+server are purged after 30 days.")
+    (license license:gpl3+)))
+
 (define-public python-anaconda-client
   (package
     (name "python-anaconda-client")
-- 
2.20.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

  parent reply	other threads:[~2019-02-13 21:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-12  2:08 [bug#34449] [PATCH] gnu: Add trydiffoscope Vagrant Cascadian
2019-02-12  7:31 ` Julien Lepiller
2019-02-12  8:16   ` Vagrant Cascadian
2019-02-12  9:34     ` Julien Lepiller
2019-02-12 20:37     ` Leo Famulari
2019-02-13  8:05       ` Julien Lepiller
2019-02-13 21:43       ` Vagrant Cascadian [this message]
2019-02-13 23:58         ` bug#34449: " Leo Famulari
2019-02-14  0:26           ` [bug#34449] " Vagrant Cascadian
2019-02-14  0:32             ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lg2j5pqm.fsf@ponder \
    --to=vagrant@reproducible-builds.org \
    --cc=34449@debbugs.gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.