;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2017, 2018 Alex Kost ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2021 Alexandru-Sergiu Marton ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2022 Jai Vetrivelan ;;; ;;; 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 packages dunst) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg)) (define-public dunst (package (name "dunst") (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dunst-project/dunst") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1nfxf2rahngxpy606yrizrz16d0pswl5sa9jfzpv7h19x6xy24vx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output) (string-append "SYSCONFDIR=" %output "/etc") ;; Otherwise it tries to install service file ;; to "dbus" store directory. (string-append "SERVICEDIR_DBUS=" %output "/share/dbus-1/services") "dunstify") #:phases (modify-phases %standard-phases (delete 'configure)))) (native-inputs (list pkg-config perl ; for pod2man which)) (inputs (list dbus librsvg ; for svg support glib cairo pango libnotify ; for dunstify libx11 libxscrnsaver libxinerama libxrandr libxdg-basedir wayland)) ; for wayland support (home-page "https://dunst-project.org/") (synopsis "Customizable and lightweight notification daemon") (description "Dunst is a highly configurable and minimalistic notification daemon. It provides @code{org.freedesktop.Notifications} D-Bus service, so it is started automatically on the first call via D-Bus.") (license license:bsd-3))) mit/tests/records.scm?id=d2be7e3c4ba8d6d0dde9b4c0bff623ab85637424'>records: Support custom 'this' identifiers....This lets record users choose an identifier other than 'this-record'. * guix/records.scm (make-syntactic-constructor): Add #:this-identifier. [wrap-field-value]: Honor it. (define-record-type*): Add form with extra THIS-IDENTIFIER and honor it. * tests/records.scm ("define-record-type* & thunked & inherit & custom this"): New test. Ludovic Courtès 2019-03-25records: Allow thunked fields to refer to 'this-record'....* guix/records.scm (this-record): New syntax parameter. (make-syntactic-constructor)[wrap-field-value]: When F is thunked, return a one-argument lambda instead of a thunk, and parameterize THIS-RECORD. (define-record-type*)[thunked-field-accessor-definition]: Pass X to (real-get X). * tests/records.scm ("define-record-type* & thunked & this-record") ("define-record-type* & thunked & default & this-record") ("define-record-type* & thunked & inherit & this-record"): New tests. Ludovic Courtès 2019-01-22records: Detect duplicate field initializers....* guix/records.scm (report-duplicate-field-specifier): New procedure. (make-syntactic-constructor): Call it. * tests/records.scm ("define-record-type* & duplicate initializers"): New test. Co-authored-by: Mark H Weaver <mhw@netris.org> Ludovic Courtès 2018-08-31records: Adjust to test changes in 'record-abi-mismatch-error'....Fixes a test failure introduced in de5cbd4a38a33e0412f1c481fe8e01a871dc13e5. * guix/records.scm (abi-check): Refer to TYPE in an unquoted context so we get at the RTD. * tests/records.scm ("ABI checks"): Adjust 'catch' handler to changes in the 'record-abi-mismatch-error' arguments. Ludovic Courtès 2018-05-23records: Insert record type ABI checks in constructors....* guix/records.scm (print-record-abi-mismatch-error): New procedure. <top level>: Add 'set-exception-printer!' call. (current-abi-identifier, abi-check): New procedures. (make-syntactic-constructor): Add #:abi-cookie parameter. Insert calls to 'abi-check'. (define-record-type*)[compute-abi-cookie]: New procedure. Use it and emit a definition of the 'current-abi-identifier' for TYPE. * tests/records.scm ("ABI checks"): New test. Ludovic Courtès