diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/dmtcp')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix | 47 | ||||
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch | 11 |
2 files changed, 58 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix b/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix new file mode 100644 index 000000000000..534e57354474 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/dmtcp/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, bash, perl, python }: + +stdenv.mkDerivation rec { + name = "dmtcp-${version}"; + version = "2.5.2"; + + src = fetchFromGitHub { + owner = "dmtcp"; + repo = "dmtcp"; + rev = version; + sha256 = "1sq38in4wk855yhfnzbs9xpnps97fhja93w08xjmx7szzm33g5a8"; + }; + + dontDisableStatic = true; + + patches = [ ./ld-linux-so-buffer-size.patch ]; + + postPatch = '' + patchShebangs . + + substituteInPlace configure \ + --replace '#define ELF_INTERPRETER "$interp"' \ + "#define ELF_INTERPRETER \"$(cat $NIX_CC/nix-support/dynamic-linker)\"" + substituteInPlace src/dmtcp_coordinator.cpp \ + --replace /bin/bash ${stdenv.shell} + substituteInPlace util/gdb-add-symbol-file \ + --replace /bin/bash ${stdenv.shell} + substituteInPlace test/autotest.py \ + --replace /bin/bash ${bash}/bin/bash \ + --replace /usr/bin/perl ${perl}/bin/perl \ + --replace /usr/bin/python ${python}/bin/python \ + --replace "os.environ['USER']" "\"nixbld1\"" \ + --replace "os.getenv('USER')" "\"nixbld1\"" + ''; + + meta = { + description = "Distributed MultiThreaded Checkpointing"; + longDescription = '' + DMTCP (Distributed MultiThreaded Checkpointing) is a tool to + transparently checkpointing the state of an arbitrary group of + programs spread across many machines and connected by sockets. It does + not modify the user's program or the operating system. + ''; + homepage = http://dmtcp.sourceforge.net/; + license = stdenv.lib.licenses.lgpl3Plus; # most files seem this or LGPL-2.1+ + }; +} diff --git a/nixpkgs/pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch b/nixpkgs/pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch new file mode 100644 index 000000000000..5a81dad0cc90 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/dmtcp/ld-linux-so-buffer-size.patch @@ -0,0 +1,11 @@ +--- dmtcp-2.5.1-src/src/util_exec.cpp 2017-09-19 13:36:22.947587034 +0200 ++++ dmtcp-2.5.1-src/src/util_exec.cpp 2017-09-19 13:36:32.221313460 +0200 +@@ -178,7 +178,7 @@ + + static string ld_linux_so_path(int version, bool is32bitElf = false) + { +- char buf[80]; ++ char buf[128]; + #if (defined(__x86_64__) || defined(__aarch64__)) && !defined(CONFIG_M32) + if (is32bitElf) { + sprintf(buf, "/lib/ld-linux.so.%d", version); |