mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2024-11-26 18:35:19 +01:00
utils: Add 'concatenate-files' function.
* nonguix/build/utils.scm (concatenate-files): New function.
This commit is contained in:
parent
663c4c3e6c
commit
cb9d65923e
1 changed files with 16 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
|
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is not part of GNU Guix.
|
;;; This file is not part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -20,9 +21,11 @@
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 binary-ports)
|
#:use-module (ice-9 binary-ports)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
|
#:use-module (srfi srfi-26)
|
||||||
#:export (64-bit?
|
#:export (64-bit?
|
||||||
make-desktop-entry-file
|
make-desktop-entry-file
|
||||||
make-wrapper))
|
make-wrapper
|
||||||
|
concatenate-files))
|
||||||
|
|
||||||
(define (64-bit? file)
|
(define (64-bit? file)
|
||||||
"Return true if ELF file is in 64-bit format, false otherwise.
|
"Return true if ELF file is in 64-bit format, false otherwise.
|
||||||
|
@ -183,3 +186,15 @@ contents:
|
||||||
(dirname real-file)
|
(dirname real-file)
|
||||||
(canonicalize-path real-file))))
|
(canonicalize-path real-file))))
|
||||||
(chmod wrapper #o755))
|
(chmod wrapper #o755))
|
||||||
|
|
||||||
|
(define (concatenate-files files result)
|
||||||
|
"Make RESULT the concatenation of all of FILES."
|
||||||
|
(define (dump file port)
|
||||||
|
(put-bytevector
|
||||||
|
port
|
||||||
|
(call-with-input-file file
|
||||||
|
get-bytevector-all)))
|
||||||
|
|
||||||
|
(call-with-output-file result
|
||||||
|
(lambda (port)
|
||||||
|
(for-each (cut dump <> port) files))))
|
||||||
|
|
Loading…
Reference in a new issue