summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish SHUKLA <ashish.is@lostca.se>2024-09-14 00:18:07 +0000
committerJonathan Brielmaier <jonathan.brielmaier@web.de>2024-10-02 23:25:02 +0200
commitea84538b887df3aa3bdd61d5e4c284f1548e5520 (patch)
treed055acd207406d0a37edf56b39ce9499a778c5fe
parent2be61e5d23f30b57a7db873015a4cc293049b2ca (diff)
nonguix: binary: Improve .deb unpacking.
.deb could contain data.tar compressed in any format, not just .xz as it assumes now. * nonguix/build/binary-build-system (unpack-deb): find a data.tar archive to extract. Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
-rw-r--r--nonguix/build/binary-build-system.scm15
1 files changed, 10 insertions, 5 deletions
diff --git a/nonguix/build/binary-build-system.scm b/nonguix/build/binary-build-system.scm
index e5bbc48..f5fcaaf 100644
--- a/nonguix/build/binary-build-system.scm
+++ b/nonguix/build/binary-build-system.scm
@@ -2,12 +2,14 @@
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
(define-module (nonguix build binary-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module (nonguix build utils)
#:use-module (guix build utils)
#:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
#:export (%standard-phases
binary-build))
@@ -139,11 +141,14 @@ The inputs are optional when the file is an executable."
(define (unpack-deb deb-file)
(invoke "ar" "x" deb-file)
- (invoke "tar" "xvf" "data.tar.xz")
- (invoke "rm" "-rfv" "control.tar.gz"
- "data.tar.xz"
- deb-file
- "debian-binary"))
+ (let ((data-file (find file-exists?
+ (list "data.tar.xz" "data.tar.gz"
+ "data.tar.bz2"))))
+ (invoke "tar" "xvf" data-file)
+ (invoke "rm" "-rfv" "control.tar.gz"
+ data-file
+ deb-file
+ "debian-binary")))
(define* (binary-unpack #:key source #:allow-other-keys)
(let* ((files (filter (lambda (f)