diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-10-08 23:26:24 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-10-08 23:31:34 +0200 |
commit | a1679b74c9aa20bb51bc4add82ebb7ba78926b9c (patch) | |
tree | 40457ca25c4bf06e203b2b261b15977d2ee36891 /guix/build-system | |
parent | ea3d456a5a4ec1bc4cf9a60f04c2ed49881f2b67 (diff) |
Revert the #51061 patch series for now.
This reverts commits f63c79bf7674df012517f8e9148f94c611e35f32
..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing.
See <https://issues.guix.gnu.org/51061#32>.
Diffstat (limited to 'guix/build-system')
-rw-r--r-- | guix/build-system/rebar3.scm | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/guix/build-system/rebar3.scm b/guix/build-system/rebar3.scm deleted file mode 100644 index af0d0edc59..0000000000 --- a/guix/build-system/rebar3.scm +++ /dev/null @@ -1,143 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.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 rebar3) - #:use-module (guix store) - #: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) - #:use-module (ice-9 match) - #:use-module (srfi srfi-26) - #:export (%rebar3-build-system-modules - rebar3-build - rebar3-build-system)) - -;; -;; Standard build procedure for Erlang packages using Rebar3. -;; - -(define %rebar3-build-system-modules - ;; Build-side modules imported by default. - `((guix build rebar3-build-system) - ,@%gnu-build-system-modules)) - -(define (default-rebar3) - "Return the default Rebar3 package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((erlang-mod (resolve-interface '(gnu packages erlang)))) - (module-ref erlang-mod 'rebar3))) - -(define (default-erlang) - "Return the default Erlang package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((erlang-mod (resolve-interface '(gnu packages erlang)))) - (module-ref erlang-mod 'erlang))) - -(define* (lower name - #:key source inputs native-inputs outputs system target - (rebar (default-rebar3)) - (erlang (default-erlang)) - #:allow-other-keys - #:rest arguments) - "Return a bag for NAME." - (define private-keywords - '(#:source #:target #:rebar #:inputs #:native-inputs)) - - (and (not target) ;XXX: no cross-compilation - (bag - (name name) - (system system) - (host-inputs `(,@(if source - `(("source" ,source)) - '()) - ,@inputs)) - (build-inputs `(("rebar" ,rebar) - ("erlang" ,erlang) ;; for escriptize - ,@native-inputs - ;; Keep the standard inputs of 'gnu-build-system'. - ,@(standard-packages))) - (outputs outputs) - (build rebar3-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) - -(define* (rebar3-build store name inputs - #:key - (tests? #t) - (test-target "eunit") - (configure-flags ''()) - (make-flags ''("skip_deps=true" "-vv")) - (build-target "compile") - ;; TODO: pkg-name - (phases '(@ (guix build rebar3-build-system) - %standard-phases)) - (outputs '("out")) - (search-paths '()) - (system (%current-system)) - (guile #f) - (imported-modules %rebar3-build-system-modules) - (modules '((guix build rebar3-build-system) - (guix build utils)))) - "Build SOURCE with INPUTS." - (define builder - `(begin - (use-modules ,@modules) - (rebar3-build #:name ,name - #:source ,(match (assoc-ref inputs "source") - (((? derivation? source)) - (derivation->output-path source)) - ((source) - source) - (source - source)) - #:make-flags ,make-flags - #:configure-flags ,configure-flags - #:system ,system - #:tests? ,tests? - #:test-target ,test-target - #:build-target ,build-target - #:phases ,phases - #:outputs %outputs - #:search-paths ',(map search-path-specification->sexp - search-paths) - #:inputs %build-inputs))) - - (define guile-for-build - (match guile - ((? package?) - (package-derivation store guile system #:graft? #f)) - (#f ; the default - (let* ((distro (resolve-interface '(gnu packages commencement))) - (guile (module-ref distro 'guile-final))) - (package-derivation store guile system #:graft? #f))))) - - (build-expression->derivation store name builder - #:inputs inputs - #:system system - #:modules imported-modules - #:outputs outputs - #:guile-for-build guile-for-build)) - -(define rebar3-build-system - (build-system - (name 'rebar3) - (description "The standard Rebar3 build system") - (lower lower))) |