1{ lib, stdenv, fetchurl
2, enableSigbusFix ? false # required by kernels < 3.18.6
3}:
4
5stdenv.mkDerivation rec {
6 pname = "libsigsegv";
7 version = "2.14";
8
9 src = fetchurl {
10 url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz";
11 sha256 = "sha256-zaw5QYAzZM+BqQhJm+t5wgDq1gtrW0DK0ST9HgbKopU=";
12 };
13
14 patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;
15
16 doCheck = true; # not cross;
17
18 meta = {
19 homepage = "https://www.gnu.org/software/libsigsegv/";
20 description = "Library to handle page faults in user mode";
21
22 longDescription = ''
23 GNU libsigsegv is a library for handling page faults in user mode. A
24 page fault occurs when a program tries to access to a region of memory
25 that is currently not available. Catching and handling a page fault is
26 a useful technique for implementing pageable virtual memory,
27 memory-mapped access to persistent databases, generational garbage
28 collectors, stack overflow handlers, distributed shared memory, and
29 more.
30 '';
31
32 license = lib.licenses.gpl2Plus;
33
34 maintainers = [ ];
35 platforms = lib.platforms.unix;
36 };
37}