[PATCH 0/2] Update Disarchive to 0.6.0

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Timothy Sample
Owner
unassigned
Submitted by
Timothy Sample
Severity
normal
T
T
Timothy Sample wrote on 28 Jan 07:05 +0100
(address . guix-patches@gnu.org)(name . Timothy Sample)(address . samplet@ngyro.com)
20240128060701.845-2-samplet@ngyro.com
Hello reviewers,

This small series updates Disarchive to 0.6.0, bringing in support for bzip2.
I would appreciate someone giving it a once over, since the Guix package
depends on the Disarchive package. Fortunately, we have the existing XZ
support, so I just followed that example. :)

I ran tests and made sure that I could ‘guix pull’ from my checkout. I even
tested that Disarchive from the resulting profile could be used on bzip2 and
XZ files. I did a similar test of the Guix package. Everything looks pretty
good.

Timothy Sample (2):
gnu: Add guile-bzip2.
gnu: disarchive: Update to 0.6.0.

gnu/packages/backup.scm | 7 ++++---
gnu/packages/guile.scm | 24 +++++++++++++++++++++++-
gnu/packages/package-management.scm | 4 +++-
guix/self.scm | 5 +++++
4 files changed, 35 insertions(+), 5 deletions(-)


base-commit: dc8aa525174d25331d74576faf0643e45bc152c4
--
2.41.0
T
T
Timothy Sample wrote on 28 Jan 07:12 +0100
[PATCH 1/2] gnu: Add guile-bzip2.
(address . 68769@debbugs.gnu.org)
20240128061223.1317-1-samplet@ngyro.com
* gnu/packages/guile.scm (guile-bzip2): New package.
---
gnu/packages/guile.scm | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 9169c09648..18b022460a 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com>
;;; Copyright © 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2021, 2024 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -996,4 +996,26 @@ (define-public guile-lzma
libraries, like Guile-zlib.")
(license license:gpl3+)))
+(define-public guile-bzip2
+ (package
+ (name "guile-bzip2")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://files.ngyro.com/guile-bzip2/guile-bzip2-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1qnxk5fzg8m9ik1ckhjvi22kkhd810mrg8jzxiizhk920b69wbdh"))))
+ (build-system gnu-build-system)
+ (native-inputs (list guile-3.0 guile-bytestructures pkg-config))
+ (inputs (list guile-3.0 bzip2))
+ (propagated-inputs (list guile-bytestructures))
+ (home-page "https://ngyro.com/software/guile-bzip2.html")
+ (synopsis "Guile bindings for libbzip2")
+ (description "Guile-bzip2 is a Guile wrapper for the libbzip2
+library. It exposes an interface similar to other Guile compression
+libraries, like Guile-zlib.")
+ (license license:gpl3+)))
+
;;; guile.scm ends here
--
2.41.0
T
T
Timothy Sample wrote on 28 Jan 07:12 +0100
[PATCH 2/2] gnu: disarchive: Update to 0.6.0.
(address . 68769@debbugs.gnu.org)
20240128061223.1317-2-samplet@ngyro.com
* gnu/packages/backup.scm (disarchive): Update to 0.6.0; add
'guile-bzip2' as an input.
* gnu/packages/package-management.scm (guix): Add 'guile-bzip2' as
an input to enable bzip2 support when using Disarchive.
* guix/self.scm (%packages): Add 'guile-bzip2'.
(compiled-guix): Include 'guile-bzip2' as a dependency when building
the 'guix' command.
---
gnu/packages/backup.scm | 7 ++++---
gnu/packages/package-management.scm | 4 +++-
guix/self.scm | 5 +++++
3 files changed, 12 insertions(+), 4 deletions(-)

Toggle diff (94 lines)
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 3126464347..60ce18cc2e 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1270,27 +1270,28 @@ (define-public burp
(define-public disarchive
(package
(name "disarchive")
- (version "0.5.0")
+ (version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.ngyro.com/disarchive/"
"disarchive-" version ".tar.gz"))
(sha256
(base32
- "16sjplkn9nr7zhfrqll7l1m2b2j4hg8k29p6bqjap9fkj6zpn2q2"))))
+ "1s4lyhhh1zsaxgn11hy2b1kdvnvpipii68wba0hwr471rd43m08k"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
pkg-config
guile-3.0 ;for cross-compilation
+ guile-bzip2
guile-gcrypt
guile-lzma
guile-quickcheck))
(inputs
(list guile-3.0 zlib))
(propagated-inputs
- (list guile-gcrypt guile-lzma))
+ (list guile-bzip2 guile-gcrypt guile-lzma))
(home-page "https://ngyro.com/software/disarchive.html")
(synopsis "Software archive disassembler")
(description "Disarchive can disassemble software archives into data
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 2f6957e9d8..b9870588a7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -411,11 +411,12 @@ (define-public guix
(ssh (assoc-ref inputs "guile-ssh"))
(gnutls (assoc-ref inputs "guile-gnutls"))
(disarchive (assoc-ref inputs "disarchive"))
+ (bzip2 (assoc-ref inputs "guile-bzip2"))
(lzma (assoc-ref inputs "guile-lzma"))
(locales (assoc-ref inputs "glibc-utf8-locales"))
(deps (list gcrypt json sqlite gnutls git
bs ssh zlib lzlib zstd guile-lib
- disarchive lzma))
+ disarchive bzip2 lzma))
(deps* (if avahi (cons avahi deps) deps))
(effective
(read-line
@@ -520,6 +521,7 @@ (define-public guix
("bootstrap/xz" ,(bootstrap-executable "xz" (%current-system)))
("disarchive" ,disarchive) ;for 'guix perform-download'
+ ("guile-bzip2" ,guile-bzip2) ;for Disarchive
("guile-lzma" ,guile-lzma) ;for Disarchive
("git-minimal" ,git-minimal) ;for 'guix perform-download'
diff --git a/guix/self.scm b/guix/self.scm
index f378548959..19c6d08e01 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -65,6 +65,7 @@ (define %packages
("guile-gnutls" . ,(ref 'tls 'guile-gnutls))
("guix-daemon" . ,(ref 'package-management 'guix-daemon))
("disarchive" . ,(ref 'backup 'disarchive))
+ ("guile-bzip2" . ,(ref 'guile 'guile-bzip2))
("guile-lzma" . ,(ref 'guile 'guile-lzma))
("gzip" . ,(ref 'compression 'gzip))
("bzip2" . ,(ref 'compression 'bzip2))
@@ -827,6 +828,9 @@ (define* (compiled-guix source #:key
(define disarchive
(specification->package "disarchive"))
+ (define guile-bzip2
+ (specification->package "guile-bzip2"))
+
(define guile-lzma
(specification->package "guile-lzma"))
@@ -1058,6 +1062,7 @@ (define* (compiled-guix source #:key
#:source source
#:dependencies
(cons* disarchive
+ guile-bzip2
guile-lzma
dependencies)
#:guile guile-for-build
--
2.41.0
L
L
Ludovic Courtès wrote on 12 Feb 22:43 +0100
Re: [bug#68769] [PATCH 0/2] Update Disarchive to 0.6.0
(name . Timothy Sample)(address . samplet@ngyro.com)(address . 68769@debbugs.gnu.org)
87o7clbbog.fsf@gnu.org
Hi Timothy,

I thought I had replied but apparently not (?).

Timothy Sample <samplet@ngyro.com> skribis:

Toggle quote (10 lines)
> This small series updates Disarchive to 0.6.0, bringing in support for bzip2.
> I would appreciate someone giving it a once over, since the Guix package
> depends on the Disarchive package. Fortunately, we have the existing XZ
> support, so I just followed that example. :)
>
> I ran tests and made sure that I could ‘guix pull’ from my checkout. I even
> tested that Disarchive from the resulting profile could be used on bzip2 and
> XZ files. I did a similar test of the Guix package. Everything looks pretty
> good.

This is excellent news! LGTM!

I applied the patches and built Disarchive + guile-bzip2 on
x86_64-linux. ‘make as-derivation’ also gives me a valid ‘guix’.
So green lights from me.

One change that’s missing is this, used for
Toggle diff (19 lines)
diff --git a/etc/disarchive-manifest.scm b/etc/disarchive-manifest.scm
index 41f64eae4f..3dbfa356df 100644
--- a/etc/disarchive-manifest.scm
+++ b/etc/disarchive-manifest.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +35,8 @@ (define (tarball-origin? origin)
(and (origin-hash origin)
(or (string-suffix? ".tar.gz" file)
(string-suffix? ".tgz" file)
+ (string-suffix? ".tar.bz2" file)
+ (string-suffix? ".tbz2" file)
(string-suffix? ".tar.xz" file)
(string-suffix? ".tar" file))))))
Go for it!

Ludo’.
T
T
Timothy Sample wrote on 13 Feb 16:43 +0100
(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)(address . 68769-done@debbugs.gnu.org)
87zfw4xtdb.fsf@ngyro.com
Ludovic Courtès <ludovic.courtes@inria.fr> writes:

Toggle quote (8 lines)
> Timothy Sample <samplet@ngyro.com> skribis:
>
>> This small series updates Disarchive to 0.6.0.
>
> One change that’s missing is this [...].
>
> Go for it!

Applied with the missing change. Thanks for the review!
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 68769@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 68769
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch