about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science/misc/toil/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/misc/toil/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/science/misc/toil/default.nix92
1 files changed, 92 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/science/misc/toil/default.nix b/nixpkgs/pkgs/applications/science/misc/toil/default.nix
new file mode 100644
index 000000000000..7fc070f4f9f7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/toil/default.nix
@@ -0,0 +1,92 @@
+{ lib
+, fetchFromGitHub
+, python3
+, rsync
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "toil";
+  version = "5.7.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "DataBiosphere";
+    repo = pname;
+    rev = "refs/tags/releases/${version}";
+    hash = "sha256-m+XvNyzd0ly2YqKhgxezgGaCXLs3CmupJMnp5RIZqNI=";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "docker>=3.7.2, <6" "docker"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    addict
+    dill
+    docker
+    enlighten
+    psutil
+    py-tes
+    pypubsub
+    python-dateutil
+    pytz
+    pyyaml
+    requests
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    rsync
+  ] ++ (with python3.pkgs; [
+    boto
+    botocore
+    flask
+    mypy-boto3-s3
+    pytestCheckHook
+    stubserver
+  ]);
+
+  pytestFlagsArray = [
+    "src/toil/test"
+  ];
+
+  pythonImportsCheck = [
+    "toil"
+  ];
+
+  disabledTestPaths = [
+    # Tests are reaching their timeout
+    "src/toil/test/docs/scriptsTest.py"
+    "src/toil/test/jobStores/jobStoreTest.py"
+    "src/toil/test/provisioners/aws/awsProvisionerTest.py"
+    "src/toil/test/src"
+    "src/toil/test/wdl"
+    "src/toil/test/utils/utilsTest.py"
+  ];
+
+  disabledTests = [
+    # Tests fail starting with 5.7.1
+    "testServices"
+    "testConcurrencyWithDisk"
+    "testJobConcurrency"
+    "testNestedResourcesDoNotBlock"
+    "test_omp_threads"
+    "testFileSingle"
+    "testFileSingle10000"
+    "testFileSingleCheckpoints"
+    "testFileSingleNonCaching"
+    "testFetchJobStoreFiles"
+    "testFetchJobStoreFilesWSymlinks"
+    "testJobStoreContents"
+    "test_cwl_on_arm"
+    "test_cwl_toil_kill"
+  ];
+
+  meta = with lib; {
+    description = "Workflow engine written in pure Python";
+    homepage = "https://toil.ucsc-cgl.org/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}