;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2020 Giacomo Leidi ;;; ;;; 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 libedit) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages ncurses)) (define-public libedit (package (name "libedit") (version "20191231-3.1") (source (origin (method url-fetch) (uri (string-append "https://thrysoee.dk/editline" "/libedit-" version ".tar.gz")) (sha256 (base32 "0wch48nml28jj6ild889745dsg2agm7mpvrmbl1gi98nw6vjrf6v")))) (build-system gnu-build-system) (inputs (list ncurses)) (home-page "https://thrysoee.dk/editline/") (synopsis "NetBSD Editline library") (description "This is an autotool- and libtoolized port of the NetBSD Editline library (libedit). This Berkeley-style licensed command line editor library provides generic line editing, history, and tokenization functions, similar to those found in GNU Readline.") (license bsd-3))) (define-public editline (package (name "editline") (version "1.17.1") (source (origin (method url-fetch) (uri (string-append "https://ftp.troglobit.com/editline/editline-" version ".tar.xz")) (sha256 (base32 "03pw3z6pz590v8xfnjx0yynnzij2sb9xwjbvqvdzsid56crkn8nz")))) (build-system gnu-build-system) (home-page "https://troglobit.com/projects/editline/") (synopsis "Line editing library") (description "@code{editline} is a small line editing library. It can be linked into almost any program to provide command line editing and history functions. It is call compatible with the GNU Readline library, but at a fraction of the size, and as a result fewer features.") (license bsd-4))) services/shepherd.scm?id=6c0e7b266523a2cc381c76392c830a237d9e41a9'>services: Validate 'provision' field of <shepherd-service>....Fixes <https://issues.guix.gnu.org/63979>. * gnu/services/shepherd.scm (validate-provision): New procedure. (<shepherd-service>)[provision]: Use it. Co-authored-by: Bruno Victal <mirai@makinata.eu> Ludovic Courtès 2023-05-13services: shepherd: Default to 0.10....* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.10. * gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Likewise. Ludovic Courtès 2022-11-18services: shepherd: Define 'shepherd-configuration-action' helper....* gnu/services/shepherd.scm (shepherd-configuration-action): New * doc/guix.texi (Shepherd Services): Document it. Ludovic Courtès 2022-09-29services: shepherd: Leave the finalization thread in peace....This gets rid of that (in)famous at boot time: error in finalization thread: Success This was caused by the file-descriptor closing loop, which would clause the finalization pipe, leading the finalization thread to (erroneously) error out. Thanks to Josselin Poiret for locating the problem! * gnu/services/shepherd.scm (shepherd-boot-gexp): In 'loop', replace 'close-fdes' with a pair of 'fcntl' calls to add FD_CLOEXEC. Ludovic Courtès 2022-09-13services: shepherd: Install O_CLOEXEC variant of 'call-with-input-file' & co....Fixes a bug introduced with the Shepherd 0.9.2 upgrade in commit 1ba0e38267c9ff8bb476285091be6e297bbf136e whereby files opened by, say, the 'start' method of 'urandom-seed', could leak into the execution environment of some other service--e.g., 'term-tty4'. * gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Override 'call-with-input-file' and 'call-with-output-file'. Ludovic Courtès 2022-09-11services: shepherd: Open /dev/null as O_CLOEXEC....Failing to do that, that file descriptor could be inherited by child processes as of Shepherd 0.9.2. * gnu/services/shepherd.scm (shepherd-configuration-file): Open /dev/null as O_CLOEXEC. Ludovic Courtès