GNU bug report logs - #47027
Disarchive package

Previous Next

Package: guix-patches;

Reported by: Timothy Sample <samplet <at> ngyro.com>

Date: Tue, 9 Mar 2021 19:38:01 UTC

Severity: normal

Done: Timothy Sample <samplet <at> ngyro.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47027 in the body.
You can then email your comments to 47027 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Tue, 09 Mar 2021 19:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Timothy Sample <samplet <at> ngyro.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 09 Mar 2021 19:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: guix-patches <at> gnu.org
Subject: Disarchive package
Date: Tue, 09 Mar 2021 14:37:31 -0500
Hi Guix,

These patches add Disarchive and one of its dependencies,
Guile-QuickCheck.

They are pretty straight forward, but I am a little shaky about using
“guile-3.0-latest”, so I would appreciate another pair of eyes.  The
reason it’s there is because Disarchive opportunistically uses the SWH
code from Guix if it is available.  If I use plain “guile-3.0”, I get
“incompatible bytecode” errors when restoring archives from SWH.

TIA!


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Tue, 09 Mar 2021 19:41:01 GMT) Full text and rfc822 format available.

Message #8 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: 47027 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet <at> ngyro.com>
Subject: [PATCH 1/2] gnu: Add guile-quickcheck.
Date: Tue,  9 Mar 2021 14:39:24 -0500
* gnu/packages/guile-xyz.scm (guile-quickcheck): New variable.
---
 gnu/packages/guile-xyz.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index bd26010918..5f4329be11 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -22,7 +22,7 @@
 ;;; Copyright © 2018 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2019 swedebugia <swedebugia <at> riseup.net>
 ;;; Copyright © 2019, 2020 Amar Singh <nly <at> disroot.org>
-;;; Copyright © 2019 Timothy Sample <samplet <at> ngyro.com>
+;;; Copyright © 2019, 2021 Timothy Sample <samplet <at> ngyro.com>
 ;;; Copyright © 2019, 2020 Martin Becze <mjbecze <at> riseup.net>
 ;;; Copyright © 2020 Evan Straw <evan.straw99 <at> gmail.com>
 ;;; Copyright © 2020 Jack Hill <jackhill <at> jackhill.us>
@@ -4616,3 +4616,29 @@ binary which is smaller and faster to generate and parse.  This package provides
 a Guile implementation of CBOR.")
     (home-page "https://inqlab.net/git/guile-cbor.git")
     (license license:gpl3+)))
+
+(define-public guile-quickcheck
+  (package
+    (name "guile-quickcheck")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://files.ngyro.com/"
+                                  "guile-quickcheck/guile-quickcheck-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "03mwi1l3354x52nar0zwhcm0x29yai9xjln4p4gbchwvx5dsr6fb"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("guile" ,guile-3.0)))
+    (home-page "https://ngyro.com/software/guile-quickcheck.html")
+    (synopsis "Randomized property-based testing for Guile")
+    (description "This Guile library provides tools for randomized,
+property-based testing.  It follows closely the QuickCheck library
+written in Haskell.  You can use it to define a property (a predicate
+with specifications for its inputs) and test it by generating many
+random inputs and seeing if it holds.")
+    (license license:gpl3+)))
-- 
2.30.1





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Tue, 09 Mar 2021 19:41:02 GMT) Full text and rfc822 format available.

Message #11 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: 47027 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet <at> ngyro.com>
Subject: [PATCH 2/2] gnu: Add disarchive.
Date: Tue,  9 Mar 2021 14:39:25 -0500
* gnu/packages/archival.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk              |  1 +
 gnu/packages/archival.scm | 60 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 gnu/packages/archival.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 3a516d487f..775080190e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -88,6 +88,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/apl.scm				\
   %D%/packages/apr.scm				\
   %D%/packages/arcan.scm			\
+  %D%/packages/archival.scm			\
   %D%/packages/aspell.scm			\
   %D%/packages/assembly.scm			\
   %D%/packages/astronomy.scm			\
diff --git a/gnu/packages/archival.scm b/gnu/packages/archival.scm
new file mode 100644
index 0000000000..6bb1370664
--- /dev/null
+++ b/gnu/packages/archival.scm
@@ -0,0 +1,60 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Timothy Sample <samplet <at> ngyro.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages archival)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages guile-xyz)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define with-guile-3.0-latest
+  (package-input-rewriting `((,guile-3.0 . ,guile-3.0-latest)) #:deep? #f))
+
+(define-public disarchive
+  (package
+    (name "disarchive")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://files.ngyro.com/disarchive/"
+                                  "disarchive-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0yvcfv2zlfqwmigd2xpzfkairz4w32b9gi1pbj5id55z21p0k49c"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("guile-quickcheck" ,(with-guile-3.0-latest guile-quickcheck))))
+    (inputs
+     `(("guile" ,guile-3.0-latest)
+       ("guile-gcrypt" ,(with-guile-3.0-latest guile-gcrypt))
+       ("zlib" ,zlib)))
+    (home-page "https://ngyro.com/software/disarchive.html")
+    (synopsis "Software archive disassembler")
+    (description "Disarchive can disassemble software archives into data
+and metadata.  The goal is to create a small amount of metadata that
+can be used to recreate a software archive bit-for-bit from the
+original files.  For example, a software archive made using tar and
+Gzip will need to describe the order of files in the tarball and the
+compression parameters used by Gzip.")
+    (license license:gpl3+)))
-- 
2.30.1





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Wed, 10 Mar 2021 10:01:01 GMT) Full text and rfc822 format available.

Message #14 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Timothy Sample <samplet <at> ngyro.com>, 47027 <at> debbugs.gnu.org
Subject: Re: [PATCH 1/2] gnu: Add guile-quickcheck.
Date: Wed, 10 Mar 2021 11:00:09 +0100
This package seems fine to add on its own.
W.r.t. the description I'd avoid overusing the word "library".  In
particular, I'd like to compare it to ghc-quickcheck, which starts with
"QuickCheck is a library".
Perhaps something among the lines of 
  "Guile-Quickcheck is a library for random testing of program
properties inspired similar to ghc-quickcheck.  You can use it to
express properties, which functions should satisfy, as Scheme code and
then check whether they hold in a large number of randomly generated
cases."
would make more sense?

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Wed, 10 Mar 2021 10:24:02 GMT) Full text and rfc822 format available.

Message #17 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Timothy Sample <samplet <at> ngyro.com>, 47027 <at> debbugs.gnu.org
Subject: Re: [PATCH 2/2] gnu: Add disarchive.
Date: Wed, 10 Mar 2021 11:23:44 +0100
I've checked and the package seems to build fine with Guile 3.0.2.  I
think the bytecode mismatch happens, because Guix compiles stuff with
3.0.2 by default, but users have 3.0.5 in their system, which is not
bytecode-compatible.  (As an exception, Guix itself seems to be
compiled with Guile 3.0.5 for performance reasons).

I think it would be fine to add with Guile 3.0.2, perhaps adding a note
that Guile 3.0.5 will effectively be required to use Guix interop?  If
not, could you provide a script, that breaks in a way other than
recompiling the mismatching code?

As far as the location is concerned, I personally do not like adding
too many single-package files.  Would it make sense to add this to
compression.scm (like gzip) or backup.scm (like libarchive)?

Regards,
Leo 





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Thu, 11 Mar 2021 22:18:02 GMT) Full text and rfc822 format available.

Message #20 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Timothy Sample <samplet <at> ngyro.com>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Thu, 11 Mar 2021 23:17:24 +0100
Hi!

Leo Prikler <leo.prikler <at> student.tugraz.at> skribis:

> I've checked and the package seems to build fine with Guile 3.0.2.  I
> think the bytecode mismatch happens, because Guix compiles stuff with
> 3.0.2 by default, but users have 3.0.5 in their system, which is not
> bytecode-compatible.  (As an exception, Guix itself seems to be
> compiled with Guile 3.0.5 for performance reasons).
>
> I think it would be fine to add with Guile 3.0.2, perhaps adding a note
> that Guile 3.0.5 will effectively be required to use Guix interop?  If
> not, could you provide a script, that breaks in a way other than
> recompiling the mismatching code?

I tend to agree here: I don’t think ‘guile-3.0-latest’ is needed in this
case.  The only case where you need it is if it depends on a library,
such as Guix, that is itself built with ‘guile-3.0-latest’.

> As far as the location is concerned, I personally do not like adding
> too many single-package files.  Would it make sense to add this to
> compression.scm (like gzip) or backup.scm (like libarchive)?

Maybe there’ll be other packages eventually in archival.scm, like the
SWH Python code?  It’s fine with me, but I don’t have a strong opinion.

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Thu, 11 Mar 2021 22:43:02 GMT) Full text and rfc822 format available.

Message #23 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Timothy Sample <samplet <at> ngyro.com>,
 Leo Prikler <leo.prikler <at> student.tugraz.at>, guix-patches <at> gnu.org,
 47027 <at> debbugs.gnu.org
Subject: Re: [bug#47027] Disarchive package
Date: Thu, 11 Mar 2021 23:43:10 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès 写道:
> Maybe there’ll be other packages eventually in archival.scm, 
> like the
> SWH Python code?

Yes, that's the intention.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Thu, 11 Mar 2021 22:43:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Fri, 12 Mar 2021 03:07:02 GMT) Full text and rfc822 format available.

Message #29 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Thu, 11 Mar 2021 22:06:37 -0500
Hi,

Thanks Leo for the review!  (And to Ludo and Tobias for follow ups.)

Ludovic Courtès <ludo <at> gnu.org> writes:

> Leo Prikler <leo.prikler <at> student.tugraz.at> skribis:
>
>> I've checked and the package seems to build fine with Guile 3.0.2.  I
>> think the bytecode mismatch happens, because Guix compiles stuff with
>> 3.0.2 by default, but users have 3.0.5 in their system, which is not
>> bytecode-compatible.  (As an exception, Guix itself seems to be
>> compiled with Guile 3.0.5 for performance reasons).
>>
>> I think it would be fine to add with Guile 3.0.2, perhaps adding a note
>> that Guile 3.0.5 will effectively be required to use Guix interop?  If
>> not, could you provide a script, that breaks in a way other than
>> recompiling the mismatching code?
>
> I tend to agree here: I don’t think ‘guile-3.0-latest’ is needed in this
> case.  The only case where you need it is if it depends on a library,
> such as Guix, that is itself built with ‘guile-3.0-latest’.

Well, now I’m second guessing myself.  :)

It is just the auto compilation notes and warnings that I’m worried
about.  The module closure of “swh.scm” works fine on Guile 3.0.2.

Eventually, the daemon will invoke Disarchive via “builtin:download” and
“perform-download.scm”.  I intend to use the Scheme interface there,
which means Disarchive will be runing on Guile 3.0.5.  For that, it
would be preferable to have a Guile 3.0.5 version of Disarchive, right?

On the other hand, when using Disarchive to extract metadata (e.g., with
Cuirass), the SWH code is not needed at all.

I will resurrect my patch for calling Disarchive from Guix, and come
back to this when I know exactly what kind of package I need for that to
work smoothly.

>> As far as the location is concerned, I personally do not like adding
>> too many single-package files.  Would it make sense to add this to
>> compression.scm (like gzip) or backup.scm (like libarchive)?
>
> Maybe there’ll be other packages eventually in archival.scm, like the
> SWH Python code?  It’s fine with me, but I don’t have a strong opinion.

I don’t feel strongly about it either.  There’s other software besides
Disarchive and SWH that could be called “archival”, and I think it’s
more accurate than the other options.


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Fri, 12 Mar 2021 10:10:01 GMT) Full text and rfc822 format available.

Message #32 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Timothy Sample <samplet <at> ngyro.com>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Fri, 12 Mar 2021 11:08:54 +0100
Hi,
Am Donnerstag, den 11.03.2021, 22:06 -0500 schrieb Timothy Sample:
> It is just the auto compilation notes and warnings that I’m worried
> about.  The module closure of “swh.scm” works fine on Guile 3.0.2.
> 
> Eventually, the daemon will invoke Disarchive via “builtin:download”
> and
> “perform-download.scm”.  I intend to use the Scheme interface there,
> which means Disarchive will be runing on Guile 3.0.5.  For that, it
> would be preferable to have a Guile 3.0.5 version of Disarchive,
> right?
Guix offers package transformations on a command line/code level. 
Having packaged disarchival for Guile 3.0.2, it should be trivial to
provide a variant for Guix, that uses Guile 3.0.5.

Looking at the package description for Guix itself, it does not seem as
though an exception would be needed, though.  All of its dependencies
seem to "build and link" fine with Guile 3.0.2 even though Guix uses
3.0.5.  Perhaps it's because you're calling into Guix and thus forming
a dependency cycle or perhaps Guix is really good at hiding such
messages from the user otherwise (not that I know of any particularly
large effort to do so). 

> > > As far as the location is concerned, I personally do not like
> > > adding
> > > too many single-package files.  Would it make sense to add this
> > > to
> > > compression.scm (like gzip) or backup.scm (like libarchive)?
> > 
> > Maybe there’ll be other packages eventually in archival.scm, like
> > the
> > SWH Python code?  It’s fine with me, but I don’t have a strong
> > opinion.
> 
> I don’t feel strongly about it either.  There’s other software
> besides
> Disarchive and SWH that could be called “archival”, and I think it’s
> more accurate than the other options.
I think in that case it'd be fine, but OTOH we group libraries by
programming language and prefix them as well.  For instance, a python
library, that communicates with SWH would probably go to python-web or
python-xyz and be prefixed with python-.  Likewise, if disarchive is
not supposed to be primarily used as a command line tool, I think
putting it into guile-xyz as "guile-disarchive" makes more sense. 
WDYT?

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Fri, 12 Mar 2021 16:46:02 GMT) Full text and rfc822 format available.

Message #35 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Fri, 12 Mar 2021 17:45:15 +0100
Hello!

Timothy Sample <samplet <at> ngyro.com> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Leo Prikler <leo.prikler <at> student.tugraz.at> skribis:
>>
>>> I've checked and the package seems to build fine with Guile 3.0.2.  I
>>> think the bytecode mismatch happens, because Guix compiles stuff with
>>> 3.0.2 by default, but users have 3.0.5 in their system, which is not
>>> bytecode-compatible.  (As an exception, Guix itself seems to be
>>> compiled with Guile 3.0.5 for performance reasons).
>>>
>>> I think it would be fine to add with Guile 3.0.2, perhaps adding a note
>>> that Guile 3.0.5 will effectively be required to use Guix interop?  If
>>> not, could you provide a script, that breaks in a way other than
>>> recompiling the mismatching code?
>>
>> I tend to agree here: I don’t think ‘guile-3.0-latest’ is needed in this
>> case.  The only case where you need it is if it depends on a library,
>> such as Guix, that is itself built with ‘guile-3.0-latest’.
>
> Well, now I’m second guessing myself.  :)
>
> It is just the auto compilation notes and warnings that I’m worried
> about.  The module closure of “swh.scm” works fine on Guile 3.0.2.
>
> Eventually, the daemon will invoke Disarchive via “builtin:download” and
> “perform-download.scm”.  I intend to use the Scheme interface there,
> which means Disarchive will be runing on Guile 3.0.5.  For that, it
> would be preferable to have a Guile 3.0.5 version of Disarchive, right?

No, that’s fine.  Guile 3.0.5 can run 3.0.2 bytecode without any
warnings; what yields warnings is doing it the other way around.
Anyway, we can always revisit this if problems come up.

> On the other hand, when using Disarchive to extract metadata (e.g., with
> Cuirass), the SWH code is not needed at all.
>
> I will resurrect my patch for calling Disarchive from Guix, and come
> back to this when I know exactly what kind of package I need for that to
> work smoothly.

Yay!

>>> As far as the location is concerned, I personally do not like adding
>>> too many single-package files.  Would it make sense to add this to
>>> compression.scm (like gzip) or backup.scm (like libarchive)?
>>
>> Maybe there’ll be other packages eventually in archival.scm, like the
>> SWH Python code?  It’s fine with me, but I don’t have a strong opinion.
>
> I don’t feel strongly about it either.  There’s other software besides
> Disarchive and SWH that could be called “archival”, and I think it’s
> more accurate than the other options.

Dunno maybe you can do as Leo suggests by putting it in guile-xyz.scm or
some such.

Thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Mon, 15 Mar 2021 21:55:02 GMT) Full text and rfc822 format available.

Message #38 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Timothy Sample <samplet <at> ngyro.com>, 47027 <at> debbugs.gnu.org
Subject: Re: [bug#47027] [PATCH 1/2] gnu: Add guile-quickcheck.
Date: Sun, 14 Mar 2021 22:12:56 +0100
[Message part 1 (text/plain, inline)]
On Tue, 2021-03-09 at 14:39 -0500, Timothy Sample wrote:
> [...]
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("guile" ,guile-3.0)))

Shouldn't the "guile" input be included in the native-inputs
as well (perhaps only native-inputs suffices), for cross-compilation?
Guile's compiled .go are architecture-dependent.  (Make sure the
--target= option is passed to "guild compile" in the Makefile.am
if it isn't already.)

Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Wed, 17 Mar 2021 20:53:02 GMT) Full text and rfc822 format available.

Message #41 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: Timothy Sample <samplet <at> ngyro.com>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Wed, 17 Mar 2021 21:52:35 +0100
Hi,

Maxime Devos <maximedevos <at> telenet.be> skribis:

> On Tue, 2021-03-09 at 14:39 -0500, Timothy Sample wrote:
>> [...]
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)))
>> +    (inputs
>> +     `(("guile" ,guile-3.0)))
>
> Shouldn't the "guile" input be included in the native-inputs
> as well (perhaps only native-inputs suffices), for cross-compilation?

Yes it should, good point.

Thank you.

Ludo’, impatient to see Disarchive pushed.  :-)




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Sun, 21 Mar 2021 10:30:02 GMT) Full text and rfc822 format available.

Message #44 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Sun, 21 Mar 2021 11:29:00 +0100
Ping!  :-)

Ludovic Courtès <ludo <at> gnu.org> skribis:

> Hello!
>
> Timothy Sample <samplet <at> ngyro.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> Leo Prikler <leo.prikler <at> student.tugraz.at> skribis:
>>>
>>>> I've checked and the package seems to build fine with Guile 3.0.2.  I
>>>> think the bytecode mismatch happens, because Guix compiles stuff with
>>>> 3.0.2 by default, but users have 3.0.5 in their system, which is not
>>>> bytecode-compatible.  (As an exception, Guix itself seems to be
>>>> compiled with Guile 3.0.5 for performance reasons).
>>>>
>>>> I think it would be fine to add with Guile 3.0.2, perhaps adding a note
>>>> that Guile 3.0.5 will effectively be required to use Guix interop?  If
>>>> not, could you provide a script, that breaks in a way other than
>>>> recompiling the mismatching code?
>>>
>>> I tend to agree here: I don’t think ‘guile-3.0-latest’ is needed in this
>>> case.  The only case where you need it is if it depends on a library,
>>> such as Guix, that is itself built with ‘guile-3.0-latest’.
>>
>> Well, now I’m second guessing myself.  :)
>>
>> It is just the auto compilation notes and warnings that I’m worried
>> about.  The module closure of “swh.scm” works fine on Guile 3.0.2.
>>
>> Eventually, the daemon will invoke Disarchive via “builtin:download” and
>> “perform-download.scm”.  I intend to use the Scheme interface there,
>> which means Disarchive will be runing on Guile 3.0.5.  For that, it
>> would be preferable to have a Guile 3.0.5 version of Disarchive, right?
>
> No, that’s fine.  Guile 3.0.5 can run 3.0.2 bytecode without any
> warnings; what yields warnings is doing it the other way around.
> Anyway, we can always revisit this if problems come up.
>
>> On the other hand, when using Disarchive to extract metadata (e.g., with
>> Cuirass), the SWH code is not needed at all.
>>
>> I will resurrect my patch for calling Disarchive from Guix, and come
>> back to this when I know exactly what kind of package I need for that to
>> work smoothly.
>
> Yay!
>
>>>> As far as the location is concerned, I personally do not like adding
>>>> too many single-package files.  Would it make sense to add this to
>>>> compression.scm (like gzip) or backup.scm (like libarchive)?
>>>
>>> Maybe there’ll be other packages eventually in archival.scm, like the
>>> SWH Python code?  It’s fine with me, but I don’t have a strong opinion.
>>
>> I don’t feel strongly about it either.  There’s other software besides
>> Disarchive and SWH that could be called “archival”, and I think it’s
>> more accurate than the other options.
>
> Dunno maybe you can do as Leo suggests by putting it in guile-xyz.scm or
> some such.
>
> Thanks!
>
> Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Sun, 21 Mar 2021 11:12:02 GMT) Full text and rfc822 format available.

Message #47 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Ludovic Courtès <ludo <at> gnu.org>, Timothy Sample
 <samplet <at> ngyro.com>
Cc: 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Sun, 21 Mar 2021 12:10:57 +0100
Am Sonntag, den 21.03.2021, 11:29 +0100 schrieb Ludovic Courtès:
> Ping!  :-)
I've pushed guile-quickcheck as
4cd88522f233dcb9affa3d3b0eada154439487c1, so we now only need to
discuss what to do with (guile-)?disarchive.

> > Hello!
> > 
> > Timothy Sample <samplet <at> ngyro.com> skribis:
> > 
> > > Ludovic Courtès <ludo <at> gnu.org> writes:
> > > 
> > > > Leo Prikler <leo.prikler <at> student.tugraz.at> skribis:
> > > > 
> > > > > I've checked and the package seems to build fine with Guile
> > > > > 3.0.2.  I
> > > > > think the bytecode mismatch happens, because Guix compiles
> > > > > stuff with
> > > > > 3.0.2 by default, but users have 3.0.5 in their system, which
> > > > > is not
> > > > > bytecode-compatible.  (As an exception, Guix itself seems to
> > > > > be
> > > > > compiled with Guile 3.0.5 for performance reasons).
> > > > > 
> > > > > I think it would be fine to add with Guile 3.0.2, perhaps
> > > > > adding a note
> > > > > that Guile 3.0.5 will effectively be required to use Guix
> > > > > interop?  If
> > > > > not, could you provide a script, that breaks in a way other
> > > > > than
> > > > > recompiling the mismatching code?
> > > > 
> > > > I tend to agree here: I don’t think ‘guile-3.0-latest’ is
> > > > needed in this
> > > > case.  The only case where you need it is if it depends on a
> > > > library,
> > > > such as Guix, that is itself built with ‘guile-3.0-latest’.
> > > 
> > > Well, now I’m second guessing myself.  :)
> > > 
> > > It is just the auto compilation notes and warnings that I’m
> > > worried
> > > about.  The module closure of “swh.scm” works fine on Guile
> > > 3.0.2.
> > > 
> > > Eventually, the daemon will invoke Disarchive via
> > > “builtin:download” and
> > > “perform-download.scm”.  I intend to use the Scheme interface
> > > there,
> > > which means Disarchive will be runing on Guile 3.0.5.  For that,
> > > it
> > > would be preferable to have a Guile 3.0.5 version of Disarchive,
> > > right?
> > 
> > No, that’s fine.  Guile 3.0.5 can run 3.0.2 bytecode without any
> > warnings; what yields warnings is doing it the other way around.
> > Anyway, we can always revisit this if problems come up.
> > 
> > > On the other hand, when using Disarchive to extract metadata
> > > (e.g., with
> > > Cuirass), the SWH code is not needed at all.
> > > 
> > > I will resurrect my patch for calling Disarchive from Guix, and
> > > come
> > > back to this when I know exactly what kind of package I need for
> > > that to
> > > work smoothly.
> > 
> > Yay!
> > 
> > > > > As far as the location is concerned, I personally do not like
> > > > > adding
> > > > > too many single-package files.  Would it make sense to add
> > > > > this to
> > > > > compression.scm (like gzip) or backup.scm (like libarchive)?
> > > > 
> > > > Maybe there’ll be other packages eventually in archival.scm,
> > > > like the
> > > > SWH Python code?  It’s fine with me, but I don’t have a strong
> > > > opinion.
> > > 
> > > I don’t feel strongly about it either.  There’s other software
> > > besides
> > > Disarchive and SWH that could be called “archival”, and I think
> > > it’s
> > > more accurate than the other options.
> > 
> > Dunno maybe you can do as Leo suggests by putting it in guile-
> > xyz.scm or
> > some such.
> > 
> > Thanks!
> > 
> > Ludo’.





Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Sun, 21 Mar 2021 14:14:02 GMT) Full text and rfc822 format available.

Message #50 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Sun, 21 Mar 2021 10:13:02 -0400
Hi,

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> Am Sonntag, den 21.03.2021, 11:29 +0100 schrieb Ludovic Courtès:
>> Ping!  :-)
> I've pushed guile-quickcheck as
> 4cd88522f233dcb9affa3d3b0eada154439487c1, so we now only need to
> discuss what to do with (guile-)?disarchive.

Hey thanks Leo!

I will put Disarchive in “backup.scm” with Guile 3.0.2.  In my eyes, it
is a regular command-line program that happens to have a Scheme
interface.  (Thanks Ludo – I didn’t know Guile 3.0.5 was fine with 3.0.2
bytecode).

I need to release a new version though, hence the delay.  While working
on the download code, I wanted some changes to Disarchive.  Now, it lets
Guix figure out how to download the Disarchive specification file and
the directory from SWH.  This allows Guix to reuse all of its
specialized HTTP code, simplifies Disarchive, and makes it more suitable
for use outside of Guix (by Nix or SWH or whatever).  It all works here
with a database I set up at <https://disarchive.ngyro.com>.  Right now,
I am finishing one last UI tweak (stopping Disarchive from printing a
backtrace when the directory does not exist in the SWH archive).  Then,
I will release 0.2.0 and push this patch with the new version.  Then –
finally – we can talk about using it.

Thanks for your continued patience!  :)


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Sun, 21 Mar 2021 15:00:02 GMT) Full text and rfc822 format available.

Message #53 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Timothy Sample <samplet <at> ngyro.com>, Leo Prikler
 <leo.prikler <at> student.tugraz.at>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 47027 <at> debbugs.gnu.org
Subject: Re: [bug#47027] Disarchive package
Date: Sun, 21 Mar 2021 15:59:05 +0100
[Message part 1 (text/plain, inline)]
On Sun, 2021-03-21 at 10:13 -0400, Timothy Sample wrote:
> Hi,
> 
> [...] It all works here
> with a database I set up at <https://disarchive.ngyro.com>;.

That web page is saying ‘403 Forbidden --- nginx’.

> Thanks for your continued patience!  :)

Thank you for your continued work,

Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Sun, 21 Mar 2021 17:00:02 GMT) Full text and rfc822 format available.

Message #56 received at 47027 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027 <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Sun, 21 Mar 2021 17:59:13 +0100
Howdy!

Timothy Sample <samplet <at> ngyro.com> skribis:

> I will put Disarchive in “backup.scm” with Guile 3.0.2.  In my eyes, it
> is a regular command-line program that happens to have a Scheme
> interface.  (Thanks Ludo – I didn’t know Guile 3.0.5 was fine with 3.0.2
> bytecode).

Alright!

> I need to release a new version though, hence the delay.  While working
> on the download code, I wanted some changes to Disarchive.  Now, it lets
> Guix figure out how to download the Disarchive specification file and
> the directory from SWH.  This allows Guix to reuse all of its
> specialized HTTP code, simplifies Disarchive, and makes it more suitable
> for use outside of Guix (by Nix or SWH or whatever).  It all works here
> with a database I set up at <https://disarchive.ngyro.com>.  Right now,
> I am finishing one last UI tweak (stopping Disarchive from printing a
> backtrace when the directory does not exist in the SWH archive).  Then,
> I will release 0.2.0 and push this patch with the new version.  Then –
> finally – we can talk about using it.

That sounds great—always improving.

> Thanks for your continued patience!  :)

Did you mean my continued impatience?  :-)

Thanks for the great quality work, as always!

Ludo’.




Reply sent to Timothy Sample <samplet <at> ngyro.com>:
You have taken responsibility. (Tue, 23 Mar 2021 04:47:02 GMT) Full text and rfc822 format available.

Notification sent to Timothy Sample <samplet <at> ngyro.com>:
bug acknowledged by developer. (Tue, 23 Mar 2021 04:47:02 GMT) Full text and rfc822 format available.

Message #61 received at 47027-done <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027-done <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Tue, 23 Mar 2021 00:45:51 -0400
Hey,

Timothy Sample <samplet <at> ngyro.com> writes:

> Right now, I am finishing one last UI tweak (stopping Disarchive from
> printing a backtrace when the directory does not exist in the SWH
> archive).  Then, I will release 0.2.0 and push this patch with the
> new version.

Done and pushed!

> Then – finally – we can talk about using it.

See <https://issues.guix.gnu.org/47336>.


-- Tim




Information forwarded to guix-patches <at> gnu.org:
bug#47027; Package guix-patches. (Tue, 23 Mar 2021 11:03:01 GMT) Full text and rfc822 format available.

Message #64 received at 47027-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Timothy Sample <samplet <at> ngyro.com>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47027-done <at> debbugs.gnu.org
Subject: Re: bug#47027: Disarchive package
Date: Tue, 23 Mar 2021 12:01:59 +0100
Hi Timothy,

Timothy Sample <samplet <at> ngyro.com> skribis:

> Timothy Sample <samplet <at> ngyro.com> writes:
>
>> Right now, I am finishing one last UI tweak (stopping Disarchive from
>> printing a backtrace when the directory does not exist in the SWH
>> archive).  Then, I will release 0.2.0 and push this patch with the
>> new version.
>
> Done and pushed!
>
>> Then – finally – we can talk about using it.
>
> See <https://issues.guix.gnu.org/47336>.

Woohoo, congrats on the new release and thank you for all this!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 20 Apr 2021 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 343 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.