summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CODEOWNERS9
-rwxr-xr-xetc/teams.scm17
-rw-r--r--etc/teams/beam/elixir-manifest.scm60
-rw-r--r--etc/teams/beam/erlang-manifest.scm60
4 files changed, 145 insertions, 1 deletions
diff --git a/CODEOWNERS b/CODEOWNERS
index b2e2ea61c4d..f09d4747ae3 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -12,6 +12,15 @@ gnu/packages/audio\.scm @guix/audio
12gnu/packages/fluidplug\.scm @guix/audio 12gnu/packages/fluidplug\.scm @guix/audio
13gnu/packages/xiph\.scm @guix/audio 13gnu/packages/xiph\.scm @guix/audio
14 14
15gnu/packages/elixir(-.+|)\.scm$ @guix/beam
16guix/build/mix-build-system\.scm @guix/beam
17guix/build-system/mix\.scm @guix/beam
18gnu/packages/erlang(-.+|)\.scm$ @guix/beam
19guix/build/rebar-build-system\.scm @guix/beam
20guix/build-system/rebar\.scm @guix/beam
21guix/import/hexpm\.scm @guix/beam
22guix/scripts/import/hexpm\.scm @guix/beam
23
15gnu/packages/commencement\.scm @guix/bootstrap 24gnu/packages/commencement\.scm @guix/bootstrap
16gnu/packages/mes\.scm @guix/bootstrap 25gnu/packages/mes\.scm @guix/bootstrap
17 26
diff --git a/etc/teams.scm b/etc/teams.scm
index b47f0dfdd9e..91c0d9f437e 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -464,6 +464,21 @@ already exists. Lookup team IDs among CURRENT-TEAMS."
464 "gnu/packages/fluidplug.scm" 464 "gnu/packages/fluidplug.scm"
465 "gnu/packages/xiph.scm"))) 465 "gnu/packages/xiph.scm")))
466 466
467(define-team beam
468 (team 'beam
469 #:name "Erlang/Elixir/BEAM team"
470 #:description "The virtual machine at the core of the Erlang Open
471Telecom Platform (OTP), Erlang and Elxir languages and packages, development
472of Rebar and Mix build systems and Hex.pm importer."
473 #:scope (list (make-regexp* "^gnu/packages/elixir(-.+|)\\.scm$")
474 "guix/build/mix-build-system.scm"
475 "guix/build-system/mix.scm"
476 (make-regexp* "^gnu/packages/erlang(-.+|)\\.scm$")
477 "guix/build/rebar-build-system.scm"
478 "guix/build-system/rebar.scm"
479 "guix/import/hexpm.scm"
480 "guix/scripts/import/hexpm.scm")))
481
467(define-team bootstrap 482(define-team bootstrap
468 (team 'bootstrap 483 (team 'bootstrap
469 #:name "Bootstrap" 484 #:name "Bootstrap"
@@ -1328,7 +1343,7 @@ the \"texlive\" importer."
1328(define-member (person "Giacomo Leidi" 1343(define-member (person "Giacomo Leidi"
1329 "goodoldpaul@autistici.org" 1344 "goodoldpaul@autistici.org"
1330 "fishinthecalculator") 1345 "fishinthecalculator")
1331 audio) 1346 audio beam)
1332 1347
1333(define-member (person "Saku Laesvuori" 1348(define-member (person "Saku Laesvuori"
1334 "saku@laesvuori.fi" 1349 "saku@laesvuori.fi"
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))))