nonguix: binary: Cleanup when an unknown binary extension is detected.

The binary-unpack phase suffered from a problem for unknown binary file
extensions, see: !336 (comment 1709385147) . This patch fixes the
incorrect behavior by effectively restoring the state of the directory
tree before the phase.

* nonguix/build/binary-build-system.scm (binary-unpack): Restore the
environment as it was before this phase.
* nongnu/packages/clojure.scm (clj-kondo)[arguments]: No longer delete
'binary-unpack phase.
* nongnu/packages/game-development.scm (libsteam)[arguments]: dito.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
This commit is contained in:
Giacomo Leidi 2023-12-29 22:23:03 +01:00 committed by Jonathan Brielmaier
parent 4f2dca3915
commit a328f6c91f
No known key found for this signature in database
GPG key ID: ECFC83988B4E4B9F
3 changed files with 6 additions and 3 deletions

View file

@ -101,7 +101,6 @@ lets you focus on your code.")
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib"))) (list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
#:install-plan `'(("clj-kondo" "/bin/")) #:install-plan `'(("clj-kondo" "/bin/"))
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(delete 'binary-unpack)
(add-after 'unpack 'chmod (add-after 'unpack 'chmod
(lambda _ (lambda _
(chmod "clj-kondo" #o755)))))) (chmod "clj-kondo" #o755))))))

View file

@ -144,7 +144,6 @@ development should opt for GLSL rather than Cg.")
(copy-file (assoc-ref inputs "source") "libsteam_api.so") (copy-file (assoc-ref inputs "source") "libsteam_api.so")
(chmod "libsteam_api.so" #o644) (chmod "libsteam_api.so" #o644)
#t)) #t))
(delete 'binary-unpack)
(add-after 'install 'symlink (add-after 'install 'symlink
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))

View file

@ -155,7 +155,12 @@ The inputs are optional when the file is an executable."
(chdir "binary") (chdir "binary")
(match binary-file (match binary-file
((? deb-file?) (unpack-deb binary-file)) ((? deb-file?) (unpack-deb binary-file))
(_ (format #t "Unknown file type: ~a~%" (basename binary-file))))))) (_
(begin
(format #t "Unknown file type: ~a~%" (basename binary-file))
;; Cleanup after ourselves
(chdir "..")
(rmdir "binary")))))))
(define %standard-phases (define %standard-phases
;; Everything is as with the GNU Build System except for the `binary-unpack', ;; Everything is as with the GNU Build System except for the `binary-unpack',