aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2024 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 libsigsegv)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu))

(define-public libsigsegv
  (package
   (name "libsigsegv")
   (version "2.14")
   (source (origin
            (method url-fetch)
            (uri (string-append
                  "mirror://gnu/libsigsegv/libsigsegv-"
                  version ".tar.gz"))
            (sha256
             (base32 "15d2r831xz94s7540nvb1gbfl062g7mrnj88m60wyr1kh10kkb6d"))))
   (build-system gnu-build-system)
   (home-page "https://www.gnu.org/software/libsigsegv/")
   (synopsis "Library for handling page faults")
   (arguments
    `(;; The shared library isn't built by default but some packages need it.
      #:configure-flags '("--enable-shared")
      ;; On some architectures 'struct sigcontext' gets redefined from
      ;; %linux-libre-headers/include/asm/sigcontext.h
      ,@(cond ((%current-target-system)
               `(#:phases (modify-phases %standard-phases
                            (add-before 'configure 'patch-asm-sigcontext-h
                              (lambda _
                                (substitute* (find-files "src" "^fault-.*-old\\.h$")
                                  (("#include <asm/sigcontext\\.h>") "")))))))
              (else '()))))
   (description
    "GNU libsigsegv is a library to handle page faults, which occur when a
program tries to access an unavailable region of memory, in user mode.  By
catching and handling page faults, the program can implement pageable virtual
memory, stack overflow handlers, and so on.")
   (license gpl2+)))
piler. * tests/gexp.scm ("file-append", "file-append, output") ("file-append, nested", "gexp->file + file-append"): New tests. * doc/guix.texi (G-Expressions): Use it in 'nscd' and 'list-files' examples. Document 'file-append'. Ludovic Courtès 2016-09-07doc: Update package count....* doc/guix.texi (Limitations): Update package count. Ludovic Courtès 2016-09-07gnu: Add rpc-daemon service...* gnu/services/nfs.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. John Darrington 2016-09-07guix hash: Add --exclude-vcs option....* guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option. (%options): Add --exclude-vcs option. (guix-hash): Handle exclude-vcs option. * doc/guix.texi ("Invoking guix hash"): Update doc. * tests/guix-hash.sh: Add test. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen 2016-09-06services: Add sddm service....* gnu/services/sddm.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (@deftp, @deffn): Add documentation. David Craven 2016-09-06services: syslog: Use syslog-configuration....* gnu/services/base.scm (<syslog-configuration>): New variable. (syslog-service-type): Use <syslog-configuration>. (syslog-service): Use <syslog-configuration>. * gnu/tests/base.scm (%avahi-os): Use <syslog-configuration>. * doc/guix.texi (syslog-configuration-type): Add @deftp. (syslog-service): Update @deffn. David Craven 2016-09-05Add (guix modules)....* guix/modules.scm, tests/modules.scm: New files. * Makefile.am (MODULES, SCM_TESTS): Add them. * doc/guix.texi (G-Expressions): Add an example of 'source-module-closure'. Ludovic Courtès 2016-09-02doc: Fix typos....* doc/guix.texi: Fix typo. * doc/emacs.texi: Fix multiple typos. Alex Kost 2016-09-01packages: Add 'package-input-rewriting'....* guix/packages.scm (package-input-rewriting): New procedure. * tests/packages.scm ("package-input-rewriting"): New test. * doc/guix.texi (Defining Packages): Document it. (Package Transformation Options): Add cross-reference. Ludovic Courtès 2016-08-31doc: Fix 'ntp-service' typo....Reported by Vincent Legoll <vincent.legoll@gmail.com>. * doc/guix.texi (Networking Services): Change #:name-service to #:servers in 'ntp-service' documentation. Ludovic Courtès 2016-08-30doc: Update '--show' example to use '@' syntax....* doc/guix.texi (Invoking guix package): Use '@' syntax in --show example. Ludovic Courtès 2016-08-28system: Add 'create-home-directory?' field to <user-account>....* gnu/system/shadow.scm (<user-account>)[create-home-directory?]: New field. (user-account->gexp): Serialize it. * gnu/build/activation.scm (activate-users+groups)[activate-user]: Update 'match-lambda' pattern accordingly. Pass #:create-home? to 'ensure-user'. (add-user, modify-user, ensure-user): Add #:create-home? parameter and honor it. * doc/guix.texi (User Accounts): Document it. Ludovic Courtès 2016-08-19services: guix: Add 'authorized-keys' configuration knob....* gnu/services/base.scm (hydra-key-authorization): Add 'key' parameter and honor it. (%default-authorized-guix-keys): New variable. (<guix-configuration>)[authorized-keys]: New field. (guix-shepherd-service): Adjust 'match' clause accordingly. (guix-activation): Adjust call to 'hydra-key-authorization'. * doc/guix.texi (Base Services): Document 'authorized-keys'. Ludovic Courtès 2016-08-18doc: Fix typos....* doc/guix.texi: Fix multiple typos. Alex Kost 2016-08-05services: Add spice vdagent service....* gnu/services/spice.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Various Services): New subheading. David Craven 2016-08-05doc: Make 'Lirc Service' a subsubheading of 'Various Services'....* doc/guix.texi (Various Services)[Lirc Service]: New subsubheading. [lirc] New cindex. David Craven 2016-08-04Merge branch 'core-updates'Mark H Weaver 2016-08-04Revert "Merge branch 'core-updates'"...This reverts commit 455859a50f88f625d13fc2f304111f02369b366b. Mark H Weaver 2016-08-03doc: Fix typos....* doc/guix.texi (Application Setup): Use @xref, not @pxref, when starting a sentence. (Scheduled Job Execution): Remove extra indent in example; fix typos. Ludovic Courtès 2016-08-02doc: Clarify distinction between "service" and "Shepherd service"....* doc/guix.texi (Services): Distinguish "service" and "Shepherd service". Add xref to "Shepherd Services". Ludovic Courtès 2016-08-02doc: Fix typo....* doc/guix.texi (Locales): Add missing 'of'. Ludovic Courtès 2016-08-02doc: Add "Installing GuixSD in a VM" node....* doc/guix.texi (Installing GuixSD in a VM): New node. (USB Stick Installation): Refer to it. (System Installation): Mention "GuixSD". Co-authored-by: Ludovic Courtès <ludo@gnu.org> Vincent Legoll 2016-08-02gnu-maintenance: Add KDE updater....* guix/gnu-maintenance.scm (kde-package?, latest-kde-release): New private functions. (%kde-updater): New public variable. * guix/scripts/refresh.scm (list-updaters): Add %kde-updater. * doc/guix.texi (Invoking guix refresh): Mention the new updater. David Craven 2016-08-01Merge branch 'core-updates'Ludovic Courtès 2016-08-01install: Add nvi to the image....* gnu/system/install.scm (installation-os)[packages]: Add NVI. * doc/guix.texi (Proceeding with the Installation): Mention it. Ludovic Courtès 2016-07-28Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge 2016-07-26environment: Set 'GUIX_ENVIRONMENT' to the profile....* guix/scripts/environment.scm (create-environment): Set 'GUIX_ENVIRONMENT' to PROFILE. * tests/guix-environment.sh: Test it. * doc/guix.texi (Invoking guix environment): Document it. Ludovic Courtès 2016-07-26doc: Explain authentication in "System Installation"....Suggested by Vincent Legoll <vincent.legoll@gmail.com>. * doc/guix.texi (OPENPGP-SIGNING-KEY-ID): New constant. (Binary Installation): Use it. (USB Stick Installation): Copy and adjust the authentication bit from "Binary Installation". Ludovic Courtès 2016-07-26doc: Better illustration use of package revision numbers....* doc/guix.texi (Version Numbers): Add the revision to the example of the git package used in 7.6.3. Signed-off-by: Ludovic Courtès <ludo@gnu.org> ng0 2016-07-25system: Add mapped devices for RAID....* gnu/system/mapped-devices.scm (raid-device-mapping, open-raid-device, close-raid-device): New variables. * doc/guix.texi (Mapped Devices): Add documentation for RAID devices, reorganize documentation for LUKS devices. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Andreas Enge 2016-07-25Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge 2016-07-25doc: Explain when guix edit is read-only....* doc/guix.texi (Invoking guix edit): Explain when you can and can't edit the recipe. Signed-off-by: Alex Kost <alezost@gmail.com> myglc2 2016-07-25doc: Describe how to make X server find TrueType fonts....* doc/guix.texi (Application Setup): Document how to add TrueType fonts installed in a Guix profile to the X server font path. Alex Kost 2016-07-22Merge branch 'master' into core-updates...Resolved conflicts: * gnu/packages/scheme.scm: Conflict in import of (guix licenses). On master, "#:hide (openssl)" was used. On core-updates, "#:select (some licenses)" was used. The latter won the conflict. * gnu/packages/version-control.scm (git)[arguments]: Whitespace conflict in 'install-shell-completion. Leo Famulari 2016-07-22doc: Mention quoting and keywords....Suggested by Vincent Legoll <vincent.legoll@gmail.com>. * doc/guix.texi (Defining Packages): Remove quasiquote in 'arguments' example. Mention quoting and keywords, with references to Guile's manual. Ludovic Courtès 2016-07-20publish: Handle '/file' URLs, for content-addressed files....* guix/scripts/publish.scm (render-content-addressed-file): New procedure. (http-write): Add 'application/octet-stream' case. (make-request-handler): Add /file/NAME/sha256/HASH URLs. * tests/publish.scm ("/file/NAME/sha256/HASH") ("/file/NAME/sha256/INVALID-NIX-BASE32-STRING") ("/file/NAME/sha256/INVALID-HASH"): New tests. * doc/guix.texi (Invoking guix publish): Mention the /file URLs. Ludovic Courtès 2016-07-20Merge branch 'master' into core-updatesLudovic Courtès 2016-07-19services: Add pam-limits-service....* gnu/system/pam.scm (<pam-limits-entry>): New record type. (pam-limits-entry, pam-limits-entry->string): New procedures. * gnu/services/base.scm (pam-limits-service-type): New variable. (pam-limits-service): New procedure. * doc/guix.texi (Base Services): Document it. Ricardo Wurmus 2016-07-19doc: Mention zlib as an optional dependency....* doc/guix.texi (Requirements): Mention zlib. (Invoking guix publish): Fix typo. Ludovic Courtès 2016-07-19publish: Add '--compression'....* guix/scripts/publish.scm (show-help, %options): Add '--compression'. (<compression>): New record type. (%no-compression, %default-gzip-compression): New variables. (%default-options): Add 'compression' key. (narinfo-string): Add #:compression parameter and honor it. (render-narinfo): Likewise. (render-nar): Likewise. <top level>: Add call to 'declare-header!'. (swallow-zlib-error): New macro. (nar-response-port): New procedure. (http-write): Add call to 'force-output'. Use 'nar-response-port' instead of 'response-port'. Use 'swallow-zlib-error'. (make-request-handler): Add #:compression parameter and honor it. Add "nar/gzip" URL handler. (run-publish-server): Add #:compression parameter and honor it. (guix-publish): Honor --compression. * tests/publish.scm (http-get-port, wait-until-ready): New procedures. <top level>: Run main server with "-C0". Call 'wait-until-ready'. ("/nar/gzip/*", "/*.narinfo with compression"): New tests. * doc/guix.texi (Invoking guix publish): Document it. Ludovic Courtès 2016-07-15services: Add 'dropbear-service'....* gnu/services/ssh.scm (<dropbear-configuration>): New record type. (dropbear-activation, dropbear-shepherd-service, dropbear-service): New procedures. (dropbear-service-type): New variable. * doc/guix.texi (Networking Services): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org> David Craven 2016-07-13doc: Explain 'guix hash -r' for Git checkouts....* doc/guix.texi (origin Reference): Add xref to "guix download" and "guix hash". (Invoking guix hash): Provide an example to compute the hash of a Git checkout. Co-authored-by: Troy Sankey <sankeytms@gmail.com> Ludovic Courtès 2016-07-12packages: <origin> no longer has an 'imported-modules' field....* guix/packages.scm (<origin>)[imported-modules]: Remove. (patch-and-repack): Remove #:imported-modules. Use 'with-imported-modules'. Remove #:modules argument to 'gexp->derivation'. (origin->derivation): Adjust accordingly. * doc/guix.texi (origin Reference): Adjust accordingly. Ludovic Courtès 2016-07-12gexp: 'program-file' and 'gexp->script' no longer have #:modules....* guix/gexp.scm (<program-file>)[modules]: Remove. (program-file): Remove #:modules and adjust accordingly. (program-file-compiler): Likewise. (gexp->script): Likewise. Ludovic Courtès 2016-07-12gexp: 'computed-file' no longer has a #:modules parameter....* guix/gexp.scm (<computed-file>)[modules]: Remove. (computed-file): Remove #:modules. (computed-file-compiler): Likewise. * doc/guix.texi (G-Expressions): Adjust accordingly. Ludovic Courtès 2016-07-12services: <shepherd-service> no longer has an 'imported-modules' field....* gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]: Remove. (%default-imported-modules): Make private. (shepherd-service-file): Use 'with-imported-modules'. (shepherd-configuration-file): Remove 'modules' and the calls to 'imported-modules' and 'compiled-modules'. Use 'with-imported-modules' instead. * doc/guix.texi (Shepherd Services): Adjust accordingly. * gnu/services/base.scm (file-system-shepherd-service): Use 'with-imported-modules'. Remove 'imported-modules' field. * gnu/system/mapped-devices.scm (device-mapping-service-type): Remove 'imported-modules'. (open-luks-device): Use 'with-imported-modules'. * gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules' field and use 'with-imported-modules'. Ludovic Courtès 2016-07-12gexp: 'gexp->file' emits code to set '%load-path'....* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it. * gnu/system.scm (operating-system-parameters-file): Pass #:set-load-path? #f. * doc/guix.texi (G-Expressions): Adjust accordingly. Ludovic Courtès