1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org>
4 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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))
25 (define-public libdaemon
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"
37 ;; This used to be the canonical URL but it vanished.
38 ;; See <http://bugs.gnu.org/18639>.
40 ;; "http://0pointer.de/lennart/projects/libdaemon/libdaemon-"
45 "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"))
46 (file-name (string-append name "-" version ".tar.gz"))))
47 (build-system gnu-build-system)
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"
54 ;; TODO: Move this globally on the next
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"))
63 ;; XXX: Stale URL, missing replacement. See <http://bugs.gnu.org/18639>.
64 (home-page "http://0pointer.de/lennart/projects/libdaemon/")
66 (synopsis "Lightweight C library that eases the writing of UNIX daemons")
68 "Libdaemon is a lightweight C library that eases the writing of UNIX
69 daemons. It consists of the following parts:
71 • A wrapper around fork() which does the correct daemonization procedure of
74 • A wrapper around syslog() for simpler and compatible log output to Syslog
77 • An API for writing PID files
79 • An API for serializing UNIX signals into a pipe for usage with select() or
82 • An API for running subprocesses with STDOUT and STDERR redirected to
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.")