gnu: emacs-consult: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / libdaemon.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
10 ;;;
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19 (define-module (gnu packages libdaemon)
20 #:use-module (guix licenses)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu))
24
25 (define-public libdaemon
26 (package
27 (name "libdaemon")
28 (version "0.14")
29 (source (origin
30 (method url-fetch)
31 (uri (list
32 (string-append
33 "mirror://debian/pool/main/libd/libdaemon/libdaemon_"
34 version ".orig.tar.gz")
35 "http://pkgs.fedoraproject.org/repo/pkgs/libdaemon/libdaemon-0.14.tar.gz/509dc27107c21bcd9fbf2f95f5669563/libdaemon-0.14.tar.gz"
36
37 ;; This used to be the canonical URL but it vanished.
38 ;; See <http://bugs.gnu.org/18639>.
39 ;; (string-append
40 ;; "http://0pointer.de/lennart/projects/libdaemon/libdaemon-"
41 ;; version ".tar.gz")
42 ))
43 (sha256
44 (base32
45 "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"))
46 (file-name (string-append name "-" version ".tar.gz"))))
47 (build-system gnu-build-system)
48 (arguments
49 (if (%current-target-system)
50 ;; The 'setpgrp' test cannot provide an answer when cross-compiling,
51 ;; so provide the right one for glibc.
52 `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes"
53
54 ;; TODO: Move this globally on the next
55 ;; rebuild cycle.
56 ;; Set a valid localstatedir for the
57 ;; benefit of the default
58 ;; 'daemon_pid_file_proc', used by the
59 ;; Hurd's console client.
60 "--localstatedir=/var"))
61 '()))
62
63 ;; XXX: Stale URL, missing replacement. See <http://bugs.gnu.org/18639>.
64 (home-page "http://0pointer.de/lennart/projects/libdaemon/")
65
66 (synopsis "Lightweight C library that eases the writing of UNIX daemons")
67 (description
68 "Libdaemon is a lightweight C library that eases the writing of UNIX
69 daemons. It consists of the following parts:
70
71 • A wrapper around fork() which does the correct daemonization procedure of
72 a process
73
74 • A wrapper around syslog() for simpler and compatible log output to Syslog
75 or STDERR
76
77 • An API for writing PID files
78
79 • An API for serializing UNIX signals into a pipe for usage with select() or
80 poll()
81
82 • An API for running subprocesses with STDOUT and STDERR redirected to
83 syslog.
84
85 APIs like these are used in most daemon software available. It is not that
86 simple to get it done right and code duplication is not a goal.")
87 (license lgpl2.1+)))