From f2970727de9bdbb503846705b53720660c14273b Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Fri, 19 May 2023 01:04:31 +0200 Subject: nonguix: Add chromium-binary-build-system. This build system is an extension to the binary-build-system, designed to abstract some common boilerplate necessary for packaging Chromium based software. * nonguix/build-system/chromium-binary.scm: New file; * nonguix/build/chromium-binary-build-system.scm: new file; * nonguix/build/utils.scm (build-paths-for-input): new variable; (build-paths-from-inputs): New variable. Signed-off-by: Jonathan Brielmaier --- nonguix/build/utils.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'nonguix/build/utils.scm') diff --git a/nonguix/build/utils.scm b/nonguix/build/utils.scm index fd92a12..e7d6966 100644 --- a/nonguix/build/utils.scm +++ b/nonguix/build/utils.scm @@ -1,15 +1,18 @@ ;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Alex Griffin +;;; Copyright © 2023 Giacomo Leidi (define-module (nonguix build utils) #:use-module (ice-9 match) #:use-module (ice-9 binary-ports) #:use-module (guix build utils) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (64-bit? make-wrapper - concatenate-files)) + concatenate-files + build-paths-from-inputs)) (define (64-bit? file) "Return true if ELF file is in 64-bit format, false otherwise. @@ -94,3 +97,23 @@ contents: (call-with-output-file result (lambda (port) (for-each (cut dump <> port) files)))) + +(define build-paths-for-input + (lambda (dirs input) + (filter-map + (lambda (sub-directory) + (let ((directory + (string-append + input "/" sub-directory))) + (and + (directory-exists? directory) + directory))) + dirs))) + +(define build-paths-from-inputs + (lambda (dirs inputs) + (reduce append '() + (map + (lambda (input) + (build-paths-for-input dirs input)) + inputs)))) -- cgit v1.2.3