You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
2.4 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2012, 2013 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. (define-module (gnu packages libsigsegv)
  19. #:use-module (guix licenses)
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu))
  23. (define-public libsigsegv
  24. (package
  25. (name "libsigsegv")
  26. (version "2.10")
  27. (source (origin
  28. (method url-fetch)
  29. (uri (string-append
  30. "mirror://gnu/libsigsegv/libsigsegv-"
  31. version ".tar.gz"))
  32. (sha256
  33. (base32 "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44"))))
  34. (build-system gnu-build-system)
  35. (home-page "http://www.gnu.org/software/libsigsegv/")
  36. (synopsis "Library for handling page faults")
  37. (arguments
  38. ;; On MIPS, work around this error:
  39. ;;
  40. ;; In file included from fault-linux-mips-old.h:18:0,
  41. ;; [...]
  42. ;; linux-libre-headers-cross-mips64el-linux-gnu-3.3.8/include/asm/sigcontext.h:57:8: error: redefinition of 'struct sigcontext'
  43. (if (string-contains (or (%current-target-system) (%current-system))
  44. "mips64el")
  45. `(#:phases (alist-cons-before
  46. 'configure 'patch-mips-old-h
  47. (lambda _
  48. (substitute* "src/fault-linux-mips-old.h"
  49. (("#include <asm/sigcontext\\.h>") "")))
  50. %standard-phases))
  51. '()))
  52. (description
  53. "libsigsegv is a library to handle page faults, which occur when a
  54. program tries to access an unavailable region of memory, in user mode. By
  55. catching and handling page faults, the program can implement pageable virtual
  56. memory, stack overflow handlers, and so on.")
  57. (license gpl2+)))