aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/libdaemon.scm
blob: e47d66cfa7ecddb8322a50f75ac3b0cb9b94c516 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (gnu packages libdaemon)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu))

(define-public libdaemon
  (package
    (name "libdaemon")
    (version "0.14")
    (source (origin
             (method url-fetch)
             (uri (list
                   (string-append
                    "mirror://debian/pool/main/libd/libdaemon/libdaemon_"
                    version ".orig.tar.gz")
                   "http://pkgs.fedoraproject.org/repo/pkgs/libdaemon/libdaemon-0.14.tar.gz/509dc27107c21bcd9fbf2f95f5669563/libdaemon-0.14.tar.gz"

                   ;; This used to be the canonical URL but it vanished.
                   ;; See <http://bugs.gnu.org/18639>.
                   ;; (string-append
                   ;;  "http://0pointer.de/lennart/projects/libdaemon/libdaemon-"
                   ;;  version ".tar.gz")
                   ))
             (sha256
              (base32
               "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"))
             (file-name (string-append name "-" version ".tar.gz"))))
    (build-system gnu-build-system)
    (arguments
     (if (%current-target-system)
         ;; The 'setpgrp' test cannot provide an answer when cross-compiling,
         ;; so provide the right one for glibc.
         `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes"

                                   ;; TODO: Move this globally on the next
                                   ;; rebuild cycle.
                                   ;; Set a valid localstatedir for the
                                   ;; benefit of the default
                                   ;; 'daemon_pid_file_proc', used by the
                                   ;; Hurd's console client.
                                   "--localstatedir=/var"))
         '()))

    ;; XXX: Stale URL, missing replacement.  See <http://bugs.gnu.org/18639>.
    (home-page "http://0pointer.de/lennart/projects/libdaemon/")

    (synopsis "Lightweight C library that eases the writing of UNIX daemons")
    (description
     "Libdaemon is a lightweight C library that eases the writing of UNIX
daemons.  It consists of the following parts:

  • A wrapper around fork() which does the correct daemonization procedure of
    a process

  • A wrapper around syslog() for simpler and compatible log output to Syslog
    or STDERR

  • An API for writing PID files

  • An API for serializing UNIX signals into a pipe for usage with select() or
    poll()

  • An API for running subprocesses with STDOUT and STDERR redirected to
    syslog.

APIs like these are used in most daemon software available.  It is not that
simple to get it done right and code duplication is not a goal.")
    (license lgpl2.1+)))
ew exported variable. Adjusted-by: Vagrant Cascadian <vagrant@debian.org> Signed-off-by: Caliph Nomble <nomble@palism.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> 2019-05-09bootloader: grub: Remove unneeded 'terminal_output'.Ludovic Courtès Fixes <https://bugs.gnu.org/35585>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. This statement was added in 8d058e7b1b1a409d3d9cc29c5650a98db4e78783 but turned out to be unnecessary. * gnu/bootloader/grub.scm (grub-configuration-file): Remove 'terminal_output' statement. 2019-04-29gnu: u-boot: Update to 2019.04.Vagrant Cascadian * gnu/packages/bootloaders.scm (u-boot): Update to 2019.04. [source]: Add patch. (u-boot-novena): Update dynamic patch to handle config key rename. (u-boot-am335x-evm): New variable. (u-boot-am335x-boneblack): Build with modified am335x-evm config. (u-boot-novena): Fix typo in description. * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Use u-boot-am335x-boneblack. * gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2019-04-03gnu: Add configuration for depthcharge bootloader.Timothy Sample * gnu/bootloader/depthcharge: New file. * gnu/local.mk [GNU_SYSTEM_MODULES]: Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-03-24bootloader: Add a 'keyboard-layout' field.Ludovic Courtès * gnu/bootloader/grub.scm (keyboard-layout-file): New procedure. (grub-configuration-file)[keyboard-layout-file]: New variable. [builder]: Use it. * gnu/bootloader.scm (<bootloader-configuration>)[keyboard-layout]: New field. * doc/guix.texi (Bootloader Configuration): Document it. Co-authored-by: nee <nee-git@hidamari.blue> 2019-03-16bootloader: Use 'invoke/quiet' when running 'grub-install' and co.Ludovic Courtès This hides potentially confusing GRUB messages from the user, such as "Installing for i386-pc platform." * gnu/bootloader/extlinux.scm (install-extlinux): Use 'invoke/quiet' instead of 'system*' and 'error'. * gnu/bootloader/grub.scm (install-grub, install-grub-efi): Likewise. * guix/scripts/system.scm (bootloader-installer-script): Guard against 'message-condition?' and handle them properly. 2019-03-13Remove traces of "GuixSD".Ludovic Courtès * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove mentions of "GuixSD". * gnu/bootloader/grub.scm (install-grub-efi): Likewise. * gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to "Guix_image". (initialize-hard-disk): Search for the "Guix_image" label. * gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD". * gnu/installer/newt/welcome.scm (run-welcome-page): Likewise. * gnu/packages/audio.scm (supercollider)[description]: Likewise. * gnu/packages/curl.scm (curl): Likewise. * gnu/packages/emacs.scm (emacs): Likewise. * gnu/packages/gnome.scm (network-manager): Likewise. * gnu/packages/julia.scm (julia): Likewise. * gnu/packages/linux.scm (alsa-plugins): Likewise. (powertop, wireless-regdb): Likewise. * gnu/packages/package-management.scm (guix): Likewise. * gnu/packages/polkit.scm (polkit): Likewise. * gnu/packages/tex.scm (texlive-bin): Likewise. * gnu/services/base.scm (file-systems->fstab): Likewise. * gnu/services/cups.scm (%cups-activation): Likewise. * gnu/services/mail.scm (%dovecot-activation): Likewise. * gnu/services/messaging.scm (prosody-configuration)[log]: Likewise. * gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise. * gnu/system/install.scm (installation-os)[file-systems]: Change root file system label to "Guix_image". * gnu/system/mapped-devices.scm (check-device-initrd-modules): Remove "GuixSD". * gnu/system/vm.scm (system-docker-image): Likewise. (system-disk-image)[root-label]: Change to "Guix_image". * gnu/tests/install.scm (run-install): Remove "GuixSD". * guix/modules.scm (guix-module-name?): Likewise. * nix/libstore/optimise-store.cc: Likewise. 2018-11-22gnu: Add u-boot-pinebook.Vagrant Cascadian * gnu/packages/patches/u-boot-pinebook-a64-update-dts.patch: New file. * gnu/packages/patches/u-boot-pinebook-syscon-node.patch: New file. * gnu/packages/patches/u-boot-pinebook-mmc-calibration.patch: New file. * gnu/packages/patches/u-boot-pinebook-video-bridge.patch: New file. * gnu/packages/patches/u-boot-pinebook-r_i2c-controller.patch: New file. * gnu/packages/patches/u-boot-pinebook-dts.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/bootloaders.scm (u-boot-pinebook): New exported variable. * gnu/bootloader/u-boot.scm (u-boot-pinebook-bootloader): New exported variable. * gnu/system/install.scm (pinebook-installation-os): New exported variable. 2018-11-18bootloader: De-monadify configuration file generators.Ludovic Courtès * gnu/bootloader/extlinux.scm: Remove unneeded imports. (extlinux-configuration-file): Use 'computed-file' instead of 'gexp->derivation'. * gnu/bootloader/grub.scm (svg->png): Likewise. (grub-background-image, eye-candy): Adjust accordingly, return non-monadically. (grub-configuration-file): Likewise, and use 'computed-file' instead of 'gexp->derivation'. * gnu/bootloader/u-boot.scm: Remove unneeded imports. * gnu/system.scm: Add 'lower-object' call. 2018-09-14gnu: Rename "banana-pi" to "bananapi".Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): Rename to... (u-boot-bananapi-m2-ultra-bootloader): ...this. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): Rename to... (u-boot-bananapi-m2-ultra): ...this. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): Rename to... (bananapi-m2-ultra-installation-os): ...this. 2018-06-26bootloader: grub-efi: Identify as "GuixSD" instead of "grub".Marius Bakke * gnu/bootloader/grub.scm (install-grub-efi): Pass "--bootloader-id" to grub-install. 2018-06-26bootloader: grub-efi: Support EFI directories relative to MOUNT-POINT.Marius Bakke * gnu/bootloader/grub.scm (install-grub-efi): When MOUNT-POINT/EFI-DIR exists, install there rather than EFI-DIR directly. 2018-06-01bootloader: grub: Use 'with-extensions'.Ludovic Courtès * gnu/bootloader/grub.scm (svg->png): Use 'with-extensions'. Remove 'add-to-load-path' calls. * gnu/build/svg.scm: Use (rsvg) and (cairo) the normal way. Remove 'module-autoload!' calls. 2018-06-01bootloader: grub: Simplify 'svg->png'.Ludovic Courtès * gnu/bootloader/grub.scm (svg->png): Remove now unneeded #:guile-for-build argument. 2018-05-29system: Add u-boot-puma-rk3399.Vagrant Cascadian * gnu/packages/bootloaders.scm (u-boot-puma-rk3399): New variable. (make-u-boot-package)[arguments]: Add '.rksd' files to the files installed during custom 'install phase. * gnu/bootloader/u-boot.scm (u-boot-puma-rk3399-bootloader): New exported variable. * gnu/system/install.scm (rk3399-puma-installation-os): New exported variable. * gnu/packages/firmware.scm (arm-trusted-firmware-puma-rk3399): New variable. (rk3399-cortex-m0): New variable. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2018-05-28file-systems: Remove 'title' field and add <file-system-label>.Ludovic Courtès The 'title' field was easily overlooked and was an endless source of confusion. Now, the value of the 'device' field is self-contained. * gnu/system/file-systems.scm (<file-system>): Change constructor name to '%file-system'. [title]: Remove. (<file-system-label>): New record type with printer. (report-deprecation, device-expression) (process-file-system-declaration, file-system): New macros. (file-system-title): New procedure. (file-system->spec, spec->file-system): Adjust to handle <file-system-label>. * gnu/system.scm (bootable-kernel-arguments): Add case for 'file-system-label?'. (read-boot-parameters): Likewise. (mapped-device-user): Avoid 'file-system-title'. (fs->boot-device): Remove. (operating-system-boot-parameters): Use 'file-system-device' instead of 'fs->boot-device'. (device->sexp): Add case for 'file-system-label?'. * gnu/bootloader/grub.scm (grub-root-search): Add case for 'file-system-label?'. * gnu/system/examples/bare-bones.tmpl, gnu/system/examples/beaglebone-black.tmpl, gnu/system/examples/lightweight-desktop.tmpl, gnu/system/examples/vm-image.tmpl: Remove uses of 'title'. * gnu/system/vm.scm (virtualized-operating-system): Remove uses of 'file-system-title'. * guix/scripts/system.scm (check-file-system-availability): Likewise, and adjust fix-it hint. (check-initrd-modules)[file-system-/dev]: Likewise. * gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title' parameter. [canonical-title]: Remove. Match on SPEC's type rather than on CANONICAL-TITLE. (mount-file-system): Adjust caller. * gnu/build/linux-boot.scm (boot-system): Interpret ROOT here. * gnu/services/base.scm (file-system->fstab-entry): Remove use of 'file-system-title'. * doc/guix.texi (File Systems): Remove documentation of the 'title' field. Rewrite documentation of 'device' and document 'file-system-label'. 2018-05-18system: Add u-boot-pine64-plus installer.Vagrant Cascadian * gnu/bootloader/u-boot.scm (u-boot-pine64-plus-bootloader): New exported variable. * gnu/system/install.scm (pine64-plus-installation-os): New exported variable. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2018-05-12bootloader: extlinux: Fix menu support with u-boot.Vagrant Cascadian * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Set MENU TITLE in generated extlinux.conf. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2018-05-11system: Add u-boot-novena installer.Vagrant Cascadian * gnu/packages/bootloaders.scm (u-boot-novena): New variable. * gnu/bootloader/u-boot.scm (u-boot-novena-bootloader): New exported variable. * gnu/system/install.scm (novena-installation-os): New exported variable. 2018-05-11system: Add wandboard installer.Vagrant Cascadian * gnu/bootloader/u-boot.scm (u-boot-wandboard-bootloader): New exported variable. * gnu/system/install.scm (wandboard-installation-os): New exported variable. 2018-05-11system: Add mx6cuboxi installer.Vagrant Cascadian * gnu/bootloader/u-boot.scm (u-boot-mx6cuboxi-bootloader): New exported variable. * gnu/system/install.scm (mx6cuboxi-installation-os): New exported variable. 2018-02-18gnu: Pass "--target=i386-pc" when installing GRUB for legacy BIOS.Ricardo Wurmus * gnu/bootloader/grub.scm (install-grub): Add "--target=i386-pc" to the list of arguments to "grub-install". Fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30311>. 2018-01-22system: Add A20 OLinuXino LIME installer.Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime-installation-os): New exported variable. 2018-01-20system: Add Nintendo NES Classic Edition installer.Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-nintendo-nes-classic-edition-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-nintendo-nes-classic-edition): New exported variable. * gnu/system/install.scm (nintendo-nes-classic-edition-installation-os): New exported variable. 2018-01-20system: Add A20 OLinuXino MICRO installer.Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-micro-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-micro): New exported variable. * gnu/system/install.scm (a20-olinuxino-micro-installation-os): New exported variable. 2018-01-20system: Add A20 OLinuXino LIME2 installer.Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime2-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime2): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime2-emmc-installation-os): New exported variable. 2018-01-20system: Add Banana Pi M2 Ultra installer.Danny Milosavljevic * gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): New exported variable. (install-allwinner-u-boot): New variable. (u-boot-allwinner-bootloader): New variable. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): New exported variable. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): New exported variable.