diff --git a/pkgs/by-name/dm/dmtcp/package.nix b/pkgs/by-name/dm/dmtcp/package.nix index 4d2cecc48dcf..5f99f69deef5 100644 --- a/pkgs/by-name/dm/dmtcp/package.nix +++ b/pkgs/by-name/dm/dmtcp/package.nix @@ -7,37 +7,43 @@ python3, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "dmtcp"; - version = "unstable-2022-02-28"; + version = "4.1.0"; src = fetchFromGitHub { owner = "dmtcp"; repo = "dmtcp"; - rev = "133687764c6742906006a1d247e3b83cd860fa1d"; - hash = "sha256-9Vr8IhoeATCfyt7Lp7kYe/7e87mFX9KMNGTqxJgIztE="; + tag = finalAttrs.version; + hash = "sha256-5laifZ/8oYJrNO5JOggCbPKmA9XiHEC79C/hk+0TdeQ="; }; dontDisableStatic = true; + nativeCheckInputs = [ + perl + python3 + ]; + env.HAS_PYTHON3 = "yes"; + 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)\"" + --replace-fail '#define ELF_INTERPRETER \"$interp\"' \ + "#define ELF_INTERPRETER \\\"$(cat $NIX_CC/nix-support/dynamic-linker)\\\"" substituteInPlace src/restartscript.cpp \ - --replace /bin/bash ${stdenv.shell} + --replace-fail /bin/bash ${stdenv.shell} substituteInPlace util/dmtcp_restart_wrapper.sh \ - --replace /bin/bash ${stdenv.shell} + --replace-fail /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 ${python3.interpreter} \ - --replace "os.environ['USER']" "\"nixbld1\"" \ - --replace "os.getenv('USER')" "\"nixbld1\"" + --replace-fail /bin/bash ${bash}/bin/bash \ + --replace-fail /usr/bin/perl ${perl}/bin/perl \ + --replace-fail '/usr/bin/env python3' ${python3.interpreter} \ + --replace-fail "os.environ['USER']" "\"nixbld1\"" \ + --replace-fail "os.getenv('USER')" "\"nixbld1\"" ''; meta = { @@ -48,8 +54,10 @@ stdenv.mkDerivation { 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/"; + homepage = "http://dmtcp.github.io/"; license = lib.licenses.lgpl3Plus; # most files seem this or LGPL-2.1+ - platforms = lib.intersectLists lib.platforms.linux lib.platforms.x86; # broken on ARM and Darwin + platforms = lib.intersectLists lib.platforms.linux ( + lib.platforms.x86 ++ lib.platforms.aarch ++ lib.platforms.riscv + ); }; -} +})