diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-03-21 23:18:54 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-03-21 23:18:54 +0100 |
commit | 081850816f98c7f5d815ac7251c69bf2ada50cc0 (patch) | |
tree | 609b7e9e9c267e8c382bdebf8295b9f45bab6cc4 /guix/build-system/meson.scm | |
parent | 792d526a256773d1abe00b73c2a2131037148139 (diff) | |
parent | 93f178b5a84a8cc5a0c552290191efd2310588b5 (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'guix/build-system/meson.scm')
-rw-r--r-- | guix/build-system/meson.scm | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm index 8d49020454..370d185545 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> -;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -109,9 +109,25 @@ (system (%current-system)) (imported-modules %meson-build-system-modules) (modules '((guix build meson-build-system) - (guix build utils)))) + (guix build utils))) + allowed-references + disallowed-references) "Build SOURCE using MESON, and with INPUTS, assuming that SOURCE has a 'meson.build' file." + + ;; TODO: Copied from build-system/gnu, factorize this! + (define canonicalize-reference + (match-lambda + ((? package? p) + (derivation->output-path (package-derivation store p system + #:graft? #f))) + (((? package? p) output) + (derivation->output-path (package-derivation store p system + #:graft? #f) + output)) + ((? string? output) + output))) + (define builder `(let ((build-phases (if ,glib-or-gtk? ,phases @@ -159,7 +175,15 @@ has a 'meson.build' file." #:inputs inputs #:modules imported-modules #:outputs outputs - #:guile-for-build guile-for-build)) + #:guile-for-build guile-for-build + #:allowed-references + (and allowed-references + (map canonicalize-reference + allowed-references)) + #:disallowed-references + (and disallowed-references + (map canonicalize-reference + disallowed-references)))) (define meson-build-system (build-system |