[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
?