diff options
-rw-r--r-- | pkgs/applications/science/logic/fast-downward/default.nix | 55 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/fast-downward/default.nix b/pkgs/applications/science/logic/fast-downward/default.nix new file mode 100644 index 00000000000..21ce6be3e6c --- /dev/null +++ b/pkgs/applications/science/logic/fast-downward/default.nix @@ -0,0 +1,55 @@ +{ stdenv, lib, fetchhg, cmake, which, python3, osi, cplex }: + +stdenv.mkDerivation rec { + name = "fast-downward-2019-05-13"; + + src = fetchhg { + url = "http://hg.fast-downward.org/"; + rev = "090f5df5d84a"; + sha256 = "14pcjz0jfzx5269axg66iq8js7lm2w3cnqrrhhwmz833prjp945g"; + }; + + nativeBuildInputs = [ cmake which ]; + buildInputs = [ python3 python3.pkgs.wrapPython osi ]; + + cmakeFlags = + lib.optional osi.withCplex [ "-DDOWNWARD_CPLEX_ROOT=${cplex}/cplex" ]; + + enableParallelBuilding = true; + + postPatch = '' + cd src + # Needed because the package tries to be too smart. + export CC="$(which $CC)" + export CXX="$(which $CXX)" + ''; + + installPhase = '' + install -Dm755 bin/downward $out/libexec/fast-downward/downward + cp -r ../translate $out/libexec/fast-downward/ + install -Dm755 ../../fast-downward.py $out/bin/fast-downward + mkdir -p $out/${python3.sitePackages} + cp -r ../../driver $out/${python3.sitePackages} + + wrapPythonProgramsIn $out/bin "$out $pythonPath" + wrapPythonProgramsIn $out/libexec/fast-downward/translate "$out $pythonPath" + # Because fast-downward calls `python translate.py` we need to return wrapped scripts back. + for i in $out/libexec/fast-downward/translate/.*-wrapped; do + name="$(basename "$i")" + name1="''${name#.}" + name2="''${name1%-wrapped}" + dir="$(dirname "$i")" + dest="$dir/$name2" + echo "Moving $i to $dest" + mv "$i" "$dest" + done + ''; + + meta = with stdenv.lib; { + description = "A domain-independent planning system"; + homepage = "http://www.fast-downward.org/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bcace250bdb..79a31ca1d36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22820,6 +22820,8 @@ in else smlnj; }; + fast-downward = callPackage ../applications/science/logic/fast-downward { }; + twelf = callPackage ../applications/science/logic/twelf { smlnj = if stdenv.isDarwin then smlnjBootstrap |