diff options
| -rw-r--r-- | CODEOWNERS | 9 | ||||
| -rwxr-xr-x | etc/teams.scm | 17 | ||||
| -rw-r--r-- | etc/teams/beam/elixir-manifest.scm | 60 | ||||
| -rw-r--r-- | etc/teams/beam/erlang-manifest.scm | 60 |
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 | |||
| 12 | gnu/packages/fluidplug\.scm @guix/audio | 12 | gnu/packages/fluidplug\.scm @guix/audio |
| 13 | gnu/packages/xiph\.scm @guix/audio | 13 | gnu/packages/xiph\.scm @guix/audio |
| 14 | 14 | ||
| 15 | gnu/packages/elixir(-.+|)\.scm$ @guix/beam | ||
| 16 | guix/build/mix-build-system\.scm @guix/beam | ||
| 17 | guix/build-system/mix\.scm @guix/beam | ||
| 18 | gnu/packages/erlang(-.+|)\.scm$ @guix/beam | ||
| 19 | guix/build/rebar-build-system\.scm @guix/beam | ||
| 20 | guix/build-system/rebar\.scm @guix/beam | ||
| 21 | guix/import/hexpm\.scm @guix/beam | ||
| 22 | guix/scripts/import/hexpm\.scm @guix/beam | ||
| 23 | |||
| 15 | gnu/packages/commencement\.scm @guix/bootstrap | 24 | gnu/packages/commencement\.scm @guix/bootstrap |
| 16 | gnu/packages/mes\.scm @guix/bootstrap | 25 | gnu/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 | ||
| 471 | Telecom Platform (OTP), Erlang and Elxir languages and packages, development | ||
| 472 | of 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)))) | ||
