diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-03-23 21:45:21 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-03-23 21:45:21 -0400 |
commit | 839bb4616f13171a23ad7937bf57d0a01d61d42a (patch) | |
tree | 01de78a5ce973b9fb7ac0f9216d64f736f8e163d /guix/build-system | |
parent | 0357bbbcd850f9220078a62da3c30358b8983765 (diff) | |
parent | ef71e3290916583973724316e815cee840c1b6d8 (diff) |
Merge remote-tracking branch 'origin/master' into staging.
With resolved conflicts in:
gnu/packages/ibus.scm
gnu/packages/image.scm
gnu/packages/lisp.scm
gnu/packages/virtualization.scm
Diffstat (limited to 'guix/build-system')
35 files changed, 201 insertions, 72 deletions
diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm index 211fd11311..047f884b19 100644 --- a/guix/build-system/android-ndk.scm +++ b/guix/build-system/android-ndk.scm @@ -26,8 +26,6 @@ #:use-module (guix packages) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (android-ndk-build-system)) (define %android-ndk-build-system-modules diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index 08a4c996f9..cfb033f6a5 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%ant-build-system-modules ant-build ant-build-system)) diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 74a3e47da1..2b17cee37b 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -33,9 +33,7 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:use-module (ice-9 regex) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:use-module (gnu packages) #:export (%asdf-build-system-modules %asdf-build-modules diff --git a/guix/build-system/chicken.scm b/guix/build-system/chicken.scm index 07666d1321..9f518e66e6 100644 --- a/guix/build-system/chicken.scm +++ b/guix/build-system/chicken.scm @@ -27,7 +27,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%chicken-build-system-modules chicken-build chicken-build-system diff --git a/guix/build-system/clojure.scm b/guix/build-system/clojure.scm index 2a0713d297..fb897356bc 100644 --- a/guix/build-system/clojure.scm +++ b/guix/build-system/clojure.scm @@ -33,8 +33,6 @@ #:select ((search-path-specification->sexp . search-path-spec->sexp))) #:use-module (guix utils) - - #:use-module (ice-9 match) #:export (%clojure-build-system-modules clojure-build clojure-build-system)) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 0aabc95b90..09e3ac85db 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -24,12 +24,10 @@ #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%cmake-build-system-modules cmake-build cmake-build-system)) diff --git a/guix/build-system/copy.scm b/guix/build-system/copy.scm index 6efc2b2766..4091eb7847 100644 --- a/guix/build-system/copy.scm +++ b/guix/build-system/copy.scm @@ -28,7 +28,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%copy-build-system-modules default-glibc diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm index 8aa93d5b0f..b4011cdb83 100644 --- a/guix/build-system/dub.scm +++ b/guix/build-system/dub.scm @@ -29,8 +29,6 @@ #:use-module (guix packages) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (dub-build-system)) (define (default-ldc) diff --git a/guix/build-system/dune.scm b/guix/build-system/dune.scm index 3f81d21441..afe5b24f22 100644 --- a/guix/build-system/dune.scm +++ b/guix/build-system/dune.scm @@ -25,10 +25,8 @@ #:use-module (guix gexp) #:use-module (guix search-paths) #:use-module (guix build-system) - #:use-module ((guix build-system gnu) #:prefix gnu:) #:use-module ((guix build-system ocaml) #:prefix ocaml:) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%dune-build-system-modules dune-build diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm index 3df68789ff..ebf97a5344 100644 --- a/guix/build-system/emacs.scm +++ b/guix/build-system/emacs.scm @@ -28,8 +28,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%emacs-build-system-modules emacs-build emacs-build-system) diff --git a/guix/build-system/font.scm b/guix/build-system/font.scm index a99f76c66b..aac130da4e 100644 --- a/guix/build-system/font.scm +++ b/guix/build-system/font.scm @@ -22,7 +22,6 @@ #:use-module (guix monads) #:use-module (guix utils) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index aa9703829b..e956354687 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -24,14 +24,12 @@ #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module ((guix build glib-or-gtk-build-system) #:select (%gdk-pixbuf-loaders-cache-file)) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%glib-or-gtk-build-system-modules glib-or-gtk-build glib-or-gtk-cross-build diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index e62ee18367..c363c3910f 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -22,7 +22,6 @@ #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix packages) diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm index ffc892260a..1bd292e267 100644 --- a/guix/build-system/guile.scm +++ b/guix/build-system/guile.scm @@ -25,7 +25,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (%guile-build-system-modules guile-build-system)) @@ -129,6 +128,7 @@ (phases '%standard-phases) (source-directory ".") + (scheme-file-regexp %scheme-file-regexp) not-compiled-file-regexp (compile-flags %compile-flags) (imported-modules %guile-build-system-modules) @@ -154,6 +154,7 @@ #:target #$target #:outputs %outputs #:source-directory #$source-directory + #:scheme-file-regexp #$scheme-file-regexp #:not-compiled-file-regexp #$not-compiled-file-regexp #:compile-flags #$compile-flags #:inputs %build-target-inputs diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index dc83512d30..b8858421c2 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -32,7 +32,6 @@ #:use-module (guix build-system gnu) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (hackage-uri %haskell-build-system-modules @@ -109,10 +108,7 @@ version REVISION." ,@(standard-packages))) (build-inputs `(("haskell" ,haskell) ,@native-inputs)) - ;; XXX: this is a hack to get around issue #41569. - (outputs (match outputs - (("out") (cons "static" outputs)) - (_ outputs))) + (outputs outputs) (build haskell-build) (arguments (substitute-keyword-arguments diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index 66e7711bcd..b5521e38e4 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -29,8 +29,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%julia-build-system-modules julia-build julia-build-system)) diff --git a/guix/build-system/maven.scm b/guix/build-system/maven.scm index 0af5922692..3daff07323 100644 --- a/guix/build-system/maven.scm +++ b/guix/build-system/maven.scm @@ -26,7 +26,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%maven-build-system-modules default-maven diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm index b0bf8cb6e6..d7d807f5b6 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -30,7 +30,6 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%meson-build-system-modules meson-build-system make-cross-file)) @@ -74,16 +73,9 @@ for TRIPLET." ;; for selecting optimisations, so set it to something ;; arbitrary. (#t "strawberries"))) - (endian . ,(cond ((string-prefix? "powerpc64le-" triplet) "little") - ((string-prefix? "mips64el-" triplet) "little") - ((target-x86-32? triplet) "little") - ((target-x86-64? triplet) "little") - ;; At least in Guix. Aarch64 and 32-bit arm - ;; have a big-endian mode as well. - ((target-arm? triplet) "little") - ((target-ppc32? triplet) "big") - ((target-riscv64? triplet) "little") - (#t (error "meson: unknown architecture")))))) + (endian . ,(if (target-little-endian? triplet) + "little" + "big")))) (define (make-binaries-alist triplet) "Make an associatoin list describing what should go into diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index 7d4745ab32..787235deeb 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%minify-build-system-modules minify-build minify-build-system)) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 24bd677bfc..3f73390809 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -29,7 +29,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (%node-build-system-modules node-build node-build-system)) diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm index 921c1f8629..27d5183640 100644 --- a/guix/build-system/ocaml.scm +++ b/guix/build-system/ocaml.scm @@ -25,7 +25,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%ocaml-build-system-modules package-with-ocaml4.07 diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 43ec2fdcb6..7c6deb34bf 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -22,12 +22,10 @@ #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%perl-build-system-modules perl-build perl-cross-build diff --git a/guix/build-system/pyproject.scm b/guix/build-system/pyproject.scm index 8f3b562ca3..44d6650ba9 100644 --- a/guix/build-system/pyproject.scm +++ b/guix/build-system/pyproject.scm @@ -22,18 +22,14 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%pyproject-build-system-modules default-python pyproject-build diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index c8f04b2298..cca009fb28 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -24,7 +24,6 @@ #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) @@ -32,9 +31,7 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%python-build-system-modules package-with-python2 strip-python2-variant diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm index 7e3a54f1f8..cb33212abd 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -33,7 +33,6 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%qt-build-system-modules qt-build qt-build-system)) diff --git a/guix/build-system/r.scm b/guix/build-system/r.scm index 9b360ae581..708b9e18fe 100644 --- a/guix/build-system/r.scm +++ b/guix/build-system/r.scm @@ -27,7 +27,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%r-build-system-modules r-build r-build-system diff --git a/guix/build-system/rakudo.scm b/guix/build-system/rakudo.scm index 05a4d9c2ad..3b30fdfd0e 100644 --- a/guix/build-system/rakudo.scm +++ b/guix/build-system/rakudo.scm @@ -26,7 +26,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix packages) - #:use-module (ice-9 match) #:export (%rakudo-build-system-modules rakudo-build rakudo-build-system)) diff --git a/guix/build-system/rebar.scm b/guix/build-system/rebar.scm index 6ca5abe4d6..de1294ec3f 100644 --- a/guix/build-system/rebar.scm +++ b/guix/build-system/rebar.scm @@ -26,8 +26,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (hexpm-uri hexpm-package-url %rebar-build-system-modules diff --git a/guix/build-system/renpy.scm b/guix/build-system/renpy.scm index f1070951ee..3039e3c63b 100644 --- a/guix/build-system/renpy.scm +++ b/guix/build-system/renpy.scm @@ -21,16 +21,13 @@ (define-module (guix build-system renpy) #:use-module (guix store) #:use-module (guix utils) - #:use-module (guix memoization) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%renpy-build-system-modules default-renpy renpy-build diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm index 0aa273b4f4..a3793a9381 100644 --- a/guix/build-system/ruby.scm +++ b/guix/build-system/ruby.scm @@ -23,11 +23,9 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (rubygems-uri %ruby-build-system-modules ruby-build diff --git a/guix/build-system/scons.scm b/guix/build-system/scons.scm index 9af24d40f8..046ddef740 100644 --- a/guix/build-system/scons.scm +++ b/guix/build-system/scons.scm @@ -25,7 +25,6 @@ #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) - #:use-module (ice-9 match) #:export (%scons-build-system-modules scons-build scons-build-system)) diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index 336e192d83..d970c1beb9 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -28,7 +28,6 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix svn-download) - #:use-module (ice-9 match) #:export (%texlive-build-system-modules texlive-build texlive-build-system diff --git a/guix/build-system/tree-sitter.scm b/guix/build-system/tree-sitter.scm new file mode 100644 index 0000000000..21c4eb35b2 --- /dev/null +++ b/guix/build-system/tree-sitter.scm @@ -0,0 +1,195 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build-system tree-sitter) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix monads) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix build-system node) + #:use-module (ice-9 match) + #:export (%tree-sitter-build-system-modules + tree-sitter-build + tree-sitter-build-system)) + +(define %tree-sitter-build-system-modules + ;; Build-side modules imported by default. + `((guix build tree-sitter-build-system) + ,@%node-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME from the given arguments." + (define private-keywords + `(#:inputs #:native-inputs #:outputs ,@(if target + '() + '(#:target)))) + (define node + (module-ref (resolve-interface '(gnu packages node)) + 'node-lts)) + (define tree-sitter + (module-ref (resolve-interface '(gnu packages tree-sitter)) + 'tree-sitter)) + (define tree-sitter-cli + (module-ref (resolve-interface '(gnu packages tree-sitter)) + 'tree-sitter-cli)) + ;; Grammars depend on each other via JS modules, which we package into a + ;; dedicated js output. + (define grammar-inputs + (map (match-lambda + ((name package) + `(,name ,package "js"))) + inputs)) + (bag + (name name) + (system system) (target target) + (build-inputs `(,@(if source + `(("source" ,source)) + '()) + ("node" ,node) + ("tree-sitter-cli" ,tree-sitter-cli) + ,@native-inputs + ,@(if target '() grammar-inputs) + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(if target + (standard-cross-packages target 'host) + '()) + ,@(standard-packages))) + (host-inputs `(("tree-sitter" ,tree-sitter) + ,@(if target grammar-inputs '()))) + ;; Keep the standard inputs of 'gnu-buid-system'. + (target-inputs (if target + (standard-cross-packages target 'target) + '())) + ;; XXX: this is a hack to get around issue #41569. + (outputs (match outputs + (("out") (cons "js" outputs)) + (_ outputs))) + (build (if target tree-sitter-cross-build tree-sitter-build)) + (arguments (strip-keyword-arguments private-keywords arguments)))) + +(define* (tree-sitter-build name inputs + #:key + source + (phases '%standard-phases) + (grammar-directories '(".")) + (tests? #t) + (outputs '("out" "js")) + (search-paths '()) + (system (%current-system)) + (guile #f) + (imported-modules %tree-sitter-build-system-modules) + (modules '((guix build utils) + (guix build tree-sitter-build-system)))) + (define builder + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) + (tree-sitter-build #:name #$name + #:source #+source + #:system #$system + #:phases #$phases + #:tests? #$tests? + #:grammar-directories '#$grammar-directories + #:outputs #$(outputs->gexp outputs) + #:search-paths + '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs #$(input-tuples->gexp inputs))))) + + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + system #:graft? #f))) + (gexp->derivation name builder + #:system system + #:guile-for-build guile))) + +(define* (tree-sitter-cross-build name + #:key + target + build-inputs target-inputs host-inputs + guile source + (phases '%standard-phases) + (grammar-directories '(".")) + (tests? #t) + (outputs '("out" "js")) + (search-paths '()) + (native-search-paths '()) + (system (%current-system)) + (build (nix-system->gnu-triplet system)) + (imported-modules + %tree-sitter-build-system-modules) + (modules + '((guix build utils) + (guix build tree-sitter-build-system)))) + (define builder + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) + + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) + + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) + + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) + + (tree-sitter-build #:name #$name + #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:phases #$phases + #:tests? #$tests? + #:grammar-directories '#$grammar-directories + #:outputs #$(outputs->gexp outputs) + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths ' + #$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths + '#$(sexp->gexp + (map + search-path-specification->sexp + native-search-paths)))))) + + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + system #:graft? #f))) + (gexp->derivation name builder + #:system system + #:target target + #:guile-for-build guile))) + +(define tree-sitter-build-system + (build-system + (name 'tree-sitter) + (description "The Tree-sitter grammar build system") + (lower lower))) + +;;; tree-sitter.scm ends here diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index 378ae481b9..e08884baf1 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -18,12 +18,10 @@ (define-module (guix build-system trivial) #:use-module (guix store) - #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) #:use-module (guix build-system) - #:use-module (ice-9 match) #:export (trivial-build-system)) (define* (lower name diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm index 1d520050f6..91b3d0d100 100644 --- a/guix/build-system/waf.scm +++ b/guix/build-system/waf.scm @@ -22,14 +22,11 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix packages) - #:use-module (guix derivations) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module ((guix build-system python) #:select (default-python default-python2)) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) #:export (%waf-build-system-modules waf-build waf-build-system)) |