Updated nixpkgs/pkgs/os-specific/linux/dmtcp
[nixpkgs-libre.git] / pkgs / os-specific / linux / dmtcp / default.nix
blobf2ff4a66a42366cdd6ab9b21da2f6ae6d74bbfbc
1 {stdenv, fetchurl, perl, python}:
3 # Perl and python are needed in order to run the test suite.
5 let
6   pname = "dmtcp";
7   version = "1.1.4";
8 in
10 stdenv.mkDerivation {
11   name = "${pname}-${version}";
13   src = fetchurl {
14     url = "mirror://sourceforge/${pname}/${pname}_${version}.tar.gz";
15     sha256 = "0asqzndy4is285rmd1dw406ar3wkfaaw9ivyrmhx2w5lwf4gl7sk";
16   };
18   buildInputs = [ perl python ];
20   doCheck = true;
22   preCheck = ''
23     substituteInPlace dmtcp/src/dmtcp_coordinator.cpp \
24       --replace /bin/bash /bin/sh
25     substituteInPlace utils/gdb-add-symbol-file \
26       --replace /bin/bash /bin/sh
27     substituteInPlace test/autotest.py \
28       --replace /usr/bin/env $(type -p env) \
29       --replace /bin/bash $(type -p bash) \
30       --replace /usr/bin/perl $(type -p perl) \
31       --replace /usr/bin/python $(type -p python)
32   '';
34   meta = {
35     description = "Distributed MultiThreaded Checkpointing";
36     longDescription = ''
37       DMTCP (Distributed MultiThreaded Checkpointing) is a tool to
38       transparently checkpointing the state of an arbitrary group of
39       programs spread across many machines and connected by sockets. It does
40       not modify the user's program or the operating system.
41     '';
42     homepage = http://dmtcp.sourceforge.net/;
43     license = "LGPL";
44   };