diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/hurd-manifest.scm | 77 | ||||
-rw-r--r-- | etc/teams.scm.in | 6 | ||||
-rw-r--r-- | etc/teams/qt/common.scm | 50 | ||||
-rw-r--r-- | etc/teams/qt/qt-manifest.scm | 34 | ||||
-rw-r--r-- | etc/teams/qt/qt5-manifest.scm | 34 |
5 files changed, 200 insertions, 1 deletions
diff --git a/etc/hurd-manifest.scm b/etc/hurd-manifest.scm new file mode 100644 index 0000000000..1b1d0a53b4 --- /dev/null +++ b/etc/hurd-manifest.scm @@ -0,0 +1,77 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; +;;; 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/>. + +;;; Commentary: +;;; +;;; This file defines a manifest with a selection of packages for Cuirass to +;;; build for GNU/Hurd. +;;; +;;; Code: + +(use-modules (gnu) + (gnu system hurd) + (guix packages) + (guix utils) + (ice-9 match) + (srfi srfi-1)) + +(use-package-modules + base bootloaders commencement compression file gawk gdb gettext guile + hurd less m4 package-management python ssh version-control) + +(define (input->package input) + "Return the INPUT as package, or #f." + (match input + ((label (and (? package?) package)) + package) + ((label (and (? package?) package . output)) + (cons package output)) + (_ #f))) + +(define guix-dependencies + (filter-map input->package + (fold alist-delete (package-direct-inputs guix) + '("glibc-utf8-locales" "graphviz" "po4a")))) + +(define (package-without-tests p) + (package/inherit p + (arguments + (substitute-keyword-arguments (package-arguments p) + ((#:tests? _ #f) #f))))) + +(packages->manifest + (cons* + ;; where it all starts + hello + + ;; development utililities + diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz + + ;; development packages + gcc-toolchain gdb-minimal git-minimal gnu-make + gettext-minimal python-minimal + + ;; ourselves! + (package-without-tests guix) + + ;; system + grub-minimal grub + + (append + guix-dependencies + %base-packages/hurd))) diff --git a/etc/teams.scm.in b/etc/teams.scm.in index d7ac146fda..9481b44168 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -614,11 +614,15 @@ GLib/GIO, GTK, GStreamer and Webkit." "maxim.cournoyer@gmail.com") gnome qt telephony) +(define-member (person "Katherine Cox-Buday" + "cox.katherine.e+guix@gmail.com") + emacs go lisp) + (define (find-team name) (or (hash-ref %teams (string->symbol name)) (error (format #false - "no such team: ~a~%" name)))) + "no such team: ~a~%" name)))) (define (find-team-by-scope files) "Return the team(s) which scope matches at least one of the FILES, as list diff --git a/etc/teams/qt/common.scm b/etc/teams/qt/common.scm new file mode 100644 index 0000000000..8e11ac220b --- /dev/null +++ b/etc/teams/qt/common.scm @@ -0,0 +1,50 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@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 related to linux-libre. +;;; Simplistically, it selects packages whose names begin with "linux-libre". +;;; It is used to assist continuous integration of the kernel packages. + +(use-modules (guix packages) + (guix profiles) + (guix utils) + (gnu packages)) + +(define* (qt-packages-manifest #:key major-version negate-version-test?) + "Return a manifest of Qt packages for MAJOR-VERSION, or any version if left +unspecified. If NEGATE-VERSION-TEST? is true, select all the Qt packages +*not* matching MAJOR-VERSION." + (manifest + (map package->manifest-entry + (fold-packages + (lambda (package lst) + (let ((uri (and=> (package-source package) + (lambda (x) + (and (origin? x) + (origin-uri x)))))) + (if (and uri + (string? uri) + (string-prefix? "mirror://qt/" uri) + (if major-version + ((if negate-version-test? not identity) + (string=? major-version (version-major + (package-version package)))) + #t)) + (cons package lst) + lst))) + '())))) diff --git a/etc/teams/qt/qt-manifest.scm b/etc/teams/qt/qt-manifest.scm new file mode 100644 index 0000000000..0d8fa95bfe --- /dev/null +++ b/etc/teams/qt/qt-manifest.scm @@ -0,0 +1,34 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@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 related to linux-libre. +;;; Simplistically, it selects packages whose names begin with "linux-libre". +;;; It is used to assist continuous integration of the kernel packages. + +(load "common.scm") + +;;; Commentary: +;;; +;;; This manifest can be used to update the latest Qt packages collection, via +;;; e.g.: +;;; +;;; ./pre-inst-env guix refresh -u -m etc/teams/qt/qt-manifest.scm +;;; +;;; Code: + +(qt-packages-manifest #:major-version "5" #:negate-version-test? #t) diff --git a/etc/teams/qt/qt5-manifest.scm b/etc/teams/qt/qt5-manifest.scm new file mode 100644 index 0000000000..34fdf479bf --- /dev/null +++ b/etc/teams/qt/qt5-manifest.scm @@ -0,0 +1,34 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@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 related to linux-libre. +;;; Simplistically, it selects packages whose names begin with "linux-libre". +;;; It is used to assist continuous integration of the kernel packages. + +(load "common.scm") + +;;; Commentary: +;;; +;;; This manifest can be used to update the Qt 5 packages collection, via +;;; e.g.: +;;; +;;; ./pre-inst-env guix refresh -u -m etc/teams/qt/qt5-manifest.scm --target-version=5.15.10 +;;; +;;; Code: + +(qt-packages-manifest #:major-version "5") |