;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015 Sou Bunnbu ;;; ;;; 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 . (define-module (gnu services dbus) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system shadow) #:use-module (gnu system pam) #:use-module ((gnu packages glib) #:select (dbus))
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Hogan <code@greghogan.com>2022-07-20 15:08:56 +0000
committerLudovic Courtès <ludo@gnu.org>2022-08-04 12:05:47 +0200
commita46a980abe87a7f3d214cffcc46c91c76efce0c9 (patch)
tree2b081f89f39b41bace8631ee09245a4f64335f81 /gnu/build/chromium-extension.scm
parent95139f9cc413f948c5f831e8460f83f457518637 (diff)
downloadguix-a46a980abe87a7f3d214cffcc46c91c76efce0c9.tar.gz
guix-a46a980abe87a7f3d214cffcc46c91c76efce0c9.zip
gnu: libomp-13: Reference llvm-13 version string.
* gnu/packages/llvm.scm (libomp-13): Reference llvm-13 version string. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/build/chromium-extension.scm')
0 files changed, 0 insertions, 0 deletions
(lambda (port) (close-fdes 1) (dup2 (port->fdes port) 1) (execl prog))) (waitpid pid))))))) (define dbus-shepherd-service (match-lambda (($ dbus) (list (shepherd-service (documentation "Run the D-Bus system daemon.") (provision '(dbus-system)) (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$dbus "/bin/dbus-daemon") "--nofork" "--system") #:pid-file "/var/run/dbus/pid")) (stop #~(make-kill-destructor))))))) (define dbus-root-service-type (service-type (name 'dbus) (extensions (list (service-extension shepherd-root-service-type dbus-shepherd-service) (service-extension activation-service-type dbus-activation) (service-extension etc-service-type dbus-etc-files) (service-extension account-service-type (const %dbus-accounts)) (service-extension setuid-program-service-type dbus-setuid-programs))) ;; Extensions consist of lists of packages (representing D-Bus ;; services) that we just concatenate. (compose concatenate) ;; The service's parameters field is extended by augmenting ;; its 'services' field. (extend (lambda (config services) (dbus-configuration (inherit config) (services (append (dbus-configuration-services config) services))))) (default-value (dbus-configuration)))) (define* (dbus-service #:key (dbus dbus) (services '())) "Return a service that runs the \"system bus\", using @var{dbus}, with support for @var{services}. @uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication facility. Its system bus is used to allow system services to communicate and be notified of system-wide events. @var{services} must be a list of packages that provide an @file{etc/dbus-1/system.d} directory containing additional D-Bus configuration and policy files. For example, to allow avahi-daemon to use the system bus, @var{services} must be equal to @code{(list avahi)}." (service dbus-root-service-type (dbus-configuration (dbus dbus) (services services)))) ;;; ;;; Polkit privilege management service. ;;; (define-record-type* polkit-configuration make-polkit-configuration polkit-configuration? (polkit polkit-configuration-polkit ; (default polkit)) (actions polkit-configuration-actions ;list of (default '()))) (define %polkit-accounts (list (user-group (name "polkitd") (system? #t)) (user-account (name "polkitd") (group "polkitd") (system? #t) (comment "Polkit daemon user") (home-directory "/var/empty") (shell "/run/current-system/profile/sbin/nologin")))) (define %polkit-pam-services (list (unix-pam-service "polkit-1"))) (define (polkit-directory packages) "Return a directory containing an @file{actions} and possibly a @file{rules.d} sub-directory, for use as @file{/etc/polkit-1}." (with-imported-modules '((guix build union)) (computed-file "etc-polkit-1" #~(begin (use-modules (guix build union) (srfi srfi-26)) (union-build #$output (map (cut string-append <> "/share/polkit-1") (list #$@packages))))))) (define polkit-etc-files (match-lambda (($ polkit packages) `(("polkit-1" ,(polkit-directory (cons polkit packages))))))) (define polkit-setuid-programs (match-lambda (($ polkit) (list (file-append polkit "/lib/polkit-1/polkit-agent-helper-1") (file-append polkit "/bin/pkexec"))))) (define polkit-service-type (service-type (name 'polkit) (extensions (list (service-extension account-service-type (const %polkit-accounts)) (service-extension pam-root-service-type (const %polkit-pam-services)) (service-extension dbus-root-service-type (compose list polkit-configuration-polkit)) (service-extension etc-service-type polkit-etc-files) (service-extension setuid-program-service-type polkit-setuid-programs))) ;; Extensions are lists of packages that provide polkit rules ;; or actions under share/polkit-1/{actions,rules.d}. (compose concatenate) (extend (lambda (config actions) (polkit-configuration (inherit config) (actions (append (polkit-configuration-actions config) actions))))) (default-value (polkit-configuration)))) (define* (polkit-service #:key (polkit polkit)) "Return a service that runs the @uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege management service}, which allows system administrators to grant access to privileged operations in a structured way. By querying the Polkit service, a privileged system component can know when it should grant additional capabilities to ordinary users. For example, an ordinary user can be granted the capability to suspend the system if the user is logged in locally." (service polkit-service-type (polkit-configuration (polkit polkit)))) ;;; dbus.scm ends here