;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Alex Kost ;;; Copyright © 2018 Efraim Flashner ;;; ;;; 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 tv) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) (define-public tvtime (package (name "tvtime") (version "1.0.11") (source (origin (method url-fetch) (uri (string-append "https://linuxtv.org/downloads/tvtime/tvtime-" version ".tar.gz")) (sha256 (base32 "1367rl3n6qxwf30lqyz234zpb43s9xjhig3hrvbg7cbqcl8g4fs0")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-glibc-compatability (lambda _ (substitute* "src/get_media_devices.c" (("") "\n#include ")) #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("libx11" ,libx11) ("libxext" ,libxext) ("libxt" ,libxt) ("libxtst" ,libxtst) ("libxinerama" ,libxinerama) ("libxv" ,libxv) ("libxxf86vm" ,libxxf86vm) ("libpng" ,libpng) ("libxml2" ,libxml2) ("freetype" ,freetype) ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://tvtime.sourceforge.net") (synopsis "Television viewer") (description "Tvtime processes the input from your video capture card and displays it on a monitor. It focuses on a high visual quality.") (license license:gpl2+))) est....* tests/records.scm ("define-record-type* & sanitize without default value"): New test. Ludovic Courtès 2021-08-12records: Support field sanitizers....* guix/records.scm (make-syntactic-constructor): Add #:sanitizers. [field-sanitizer]: New procedure. [wrap-field-value]: Honor F's sanitizer. (define-record-type*)[field-sanitizer]: New procedure. Pass #:sanitizer to 'make-syntactic-constructor'. * tests/records.scm ("define-record-type* & sanitize") ("define-record-type* & sanitize & thunked"): New tests. Ludovic Courtès 2021-04-29diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6....* guix/diagnostics.scm (source-properties->location): Add clause for vectors. * guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6. * tests/guix-package.sh: Relax regexp for the "unbound variable" diagnostic check. * tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6. * tests/records.scm (location-alist): New procedure. ("define-record-type* & wrong field specifier") ("define-record-type* & wrong field specifier, identifier") ("define-record-type* & duplicate initializers"): Use it. Ludovic Courtès 2020-01-16records: Improve reporting of "invalid field specifier" errors....Previously users would just see: error: invalid field specifier without source location or hints. * guix/records.scm (expand): Add optional 'parent-form' parameter and pass it to 'syntax-violation' when it is true. (make-syntactic-constructor): Pass S as a third argument to 'report-invalid-field-specifier'. * guix/ui.scm (report-load-error): For 'syntax-error', show SUBFORM or FORM in the message. * tests/records.scm ("define-record-type* & wrong field specifier"): Add a 'subform' parameter and adjust test accordingly. ("define-record-type* & wrong field specifier, identifier"): New test. * tests/guix-system.sh: Add test. Ludovic Courtès