summary refs log blame commit diff
path: root/pkgs/development/libraries/libsigsegv/default.nix
blob: 4a13bfd9994b78a9e5b1c463fcf926b4fdb39b56 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                             
                                                        
  

                         
                           


                                                   
                                                                    

    

                                                                     
                              


                                                       
                                                               










                                                                            
                                           
 
                      
                                          

    
{ stdenv, fetchurl
, buildPlatform, hostPlatform
, enableSigbusFix ? false # required by kernels < 3.18.6
}:

stdenv.mkDerivation rec {
  name = "libsigsegv-2.11";

  src = fetchurl {
    url = "mirror://gnu/libsigsegv/${name}.tar.gz";
    sha256 = "063swdvq7mbmc1clv0rnh20grwln1zfc2qnm0sa1hivcxyr2wz6x";
  };

  patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;

  doCheck = true; # not cross;

  meta = {
    homepage = http://www.gnu.org/software/libsigsegv/;
    description = "Library to handle page faults in user mode";

    longDescription = ''
      GNU libsigsegv is a library for handling page faults in user mode. A
      page fault occurs when a program tries to access to a region of memory
      that is currently not available. Catching and handling a page fault is
      a useful technique for implementing pageable virtual memory,
      memory-mapped access to persistent databases, generational garbage
      collectors, stack overflow handlers, distributed shared memory, and
      more.
    '';

    license = stdenv.lib.licenses.gpl2Plus;

    maintainers = [ ];
    platforms = stdenv.lib.platforms.unix;
  };
}