summaryrefslogtreecommitdiff
path: root/etc/teams
diff options
context:
space:
mode:
authorGiacomo Leidi <goodoldpaul@autistici.org>2025-10-01 16:45:52 +0200
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-11-09 19:56:43 +0000
commit80554b297bf56fe03579ebecb24536b0e76ee5e7 (patch)
tree578c19951ce91d880c461417bba133372c3a14be /etc/teams
parent98868ea4e3990c43c59c2f8cfb37c3f944d053d9 (diff)
teams: Add BEAM team.
* CODEOWNERS: Regenerate. * etc/teams.scm (beam): New variable. ("Giacomo Leidi"): Add to BEAM team. * etc/teams/beam/elixir-manifest.scm: New file. * etc/teams/beam/erlang-manifest.scm: New file. Change-Id: I0a42ef400f2d63aac5672d25277aabfca0e6fe28 Reviewed-by: Hartmut Goebel <h.goebel@crazy-compilers.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'etc/teams')
-rw-r--r--etc/teams/beam/elixir-manifest.scm60
-rw-r--r--etc/teams/beam/erlang-manifest.scm60
2 files changed, 120 insertions, 0 deletions
diff --git a/etc/teams/beam/elixir-manifest.scm b/etc/teams/beam/elixir-manifest.scm
new file mode 100644
index 00000000000..1e622310c13
--- /dev/null
+++ b/etc/teams/beam/elixir-manifest.scm
@@ -0,0 +1,60 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19;;; This file returns a manifest of packages built using the mix-build-system.
20;;; It is used to assist continuous integration of the beam-team branch.
21;;;
22;;;
23;;; You can use it to build all covered packages with:
24;;;
25;;; ./pre-inst-env guix build -m etc/teams/beam/elixir-manifest.scm
26;;;
27;;; or to update them with:
28;;;
29;;; ./pre-inst-env guix refresh -u -m etc/teams/beam/elixir-manifest.scm
30
31(use-modules (guix packages)
32 (guix profiles)
33 (guix gexp)
34 (guix build-system)
35 (ice-9 match)
36 (srfi srfi-1)
37 (srfi srfi-26))
38
39(define* (has-mix-build-system? build-system #:key modules #:allow-other-keys)
40 (or (eq? (build-system-name build-system) 'mix)
41 (any
42 (match-lambda
43 (('guix 'build 'mix-build-system) #t)
44 ('((guix build mix-build-system) . _) #t)
45 (_ #f))
46 (cond
47 ((gexp? modules) (gexp->approximate-sexp modules))
48 ((pair? modules) modules)
49 (else '())))))
50
51(manifest
52 (map package->manifest-entry
53 (fold-packages
54 (lambda (package lst)
55 (if (apply has-mix-build-system?
56 (package-build-system package)
57 (package-arguments package))
58 (cons package lst)
59 lst))
60 (list))))
diff --git a/etc/teams/beam/erlang-manifest.scm b/etc/teams/beam/erlang-manifest.scm
new file mode 100644
index 00000000000..d4f647c2479
--- /dev/null
+++ b/etc/teams/beam/erlang-manifest.scm
@@ -0,0 +1,60 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19;;; This file returns a manifest of packages built using the rebar-build-system.
20;;; It is used to assist continuous integration of the beam-team branch.
21;;;
22;;;
23;;; You can use it to build all covered packages with:
24;;;
25;;; ./pre-inst-env guix build -m etc/teams/beam/erlang-manifest.scm
26;;;
27;;; or to update them with:
28;;;
29;;; ./pre-inst-env guix refresh -u -m etc/teams/beam/erlang-manifest.scm
30
31(use-modules (guix packages)
32 (guix profiles)
33 (guix gexp)
34 (guix build-system)
35 (ice-9 match)
36 (srfi srfi-1)
37 (srfi srfi-26))
38
39(define* (has-rebar-build-system? build-system #:key modules #:allow-other-keys)
40 (or (eq? (build-system-name build-system) 'rebar)
41 (any
42 (match-lambda
43 (('guix 'build 'rebar-build-system) #t)
44 ('((guix build rebar-build-system) . _) #t)
45 (_ #f))
46 (cond
47 ((gexp? modules) (gexp->approximate-sexp modules))
48 ((pair? modules) modules)
49 (else '())))))
50
51(manifest
52 (map package->manifest-entry
53 (fold-packages
54 (lambda (package lst)
55 (if (apply has-rebar-build-system?
56 (package-build-system package)
57 (package-arguments package))
58 (cons package lst)
59 lst))
60 (list))))