diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2025-03-09 20:59:43 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2025-06-15 16:56:57 +0200 |
commit | cba452dadf14da9176c6eed7f931b4e32c12ee4b (patch) | |
tree | 4d6e52957bd64bf74cbc5dc33d4929edb9eae4ce /etc | |
parent | 07fb82154483ac4b620bbba3b26bb2b838e5d67a (diff) |
teams: emacs: Add manifest.
* etc/teams/emacs/emacs-manifest.scm: New file.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/teams/emacs/emacs-manifest.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/etc/teams/emacs/emacs-manifest.scm b/etc/teams/emacs/emacs-manifest.scm new file mode 100644 index 0000000000..6b7bf8bead --- /dev/null +++ b/etc/teams/emacs/emacs-manifest.scm @@ -0,0 +1,51 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Liliana Marie Prikler <liliana.prikler@gmail.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/>. + +;;; This file returns a manifest of packages built using the emacs-build-system. +;;; It is used to assist continuous integration of the emacs-team branch. + +(use-modules (guix packages) + (guix profiles) + (guix gexp) + (guix build-system) + (ice-9 match) + (srfi srfi-1) + (srfi srfi-26)) + +(define* (has-emacs-build-system? build-system #:key modules #:allow-other-keys) + (or (eq? (build-system-name build-system) 'emacs) + (any + (match-lambda + (('guix 'build 'emacs-build-system) #t) + ('((guix build emacs-build-system) . _) #t) + (_ #f)) + (cond + ((gexp? modules) (gexp->approximate-sexp modules)) + ((pair? modules) modules) + (else '()))))) + +(manifest + (map package->manifest-entry + (fold-packages + (lambda (package lst) + (if (apply has-emacs-build-system? + (package-build-system package) + (package-arguments package)) + (cons package lst) + lst)) + (list)))) |