Unverified Commit fba4f0f7 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

snakemake: 8.20.1 -> 8.23.0 (#348616)

parents c3227c53 a019ba32
Loading
Loading
Loading
Loading
+170 −0
Original line number Diff line number Diff line
{ lib
, fetchPypi
, python3
, stress
{
  lib,
  stdenv,
  fetchPypi,
  python3Packages,
  stress,
  versionCheckHook,
}:

python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
  pname = "snakemake";
  version = "8.20.1";
  format = "setuptools";
  version = "8.23.0";

  pyproject = true;

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-adNwIA1z/TwWsa0gQb4hAsUvHInjd30sm1dYKXvvXy8=";
    hash = "sha256-XENI9VJW62KyrxDGSwQiygggYZOu9yW2QSNyp4BO9Us=";
  };

  postPatch = ''
@@ -23,8 +27,13 @@ python3.pkgs.buildPythonApplication rec {
      --replace-fail '"unit_tests/templates"' '"'"$PWD"'/snakemake/unit_tests/templates"'
  '';

  propagatedBuildInputs = with python3.pkgs; [
  build-system = with python3Packages; [
    setuptools
  ];

  dependencies = with python3Packages; [
    appdirs
    conda-inject
    configargparse
    connection-pool
    datrie
@@ -59,7 +68,7 @@ python3.pkgs.buildPythonApplication rec {
  # for the current basic test suite. Slurm, Tibanna and Tes require extra
  # setup.

  nativeCheckInputs = with python3.pkgs; [
  nativeCheckInputs = with python3Packages; [
    numpy
    pandas
    pytestCheckHook
@@ -68,7 +77,9 @@ python3.pkgs.buildPythonApplication rec {
    snakemake-executor-plugin-cluster-generic
    snakemake-storage-plugin-fs
    stress
    versionCheckHook
  ];
  versionCheckProgramArg = [ "--version" ];

  pytestFlagsArray = [
    "tests/tests.py"
@@ -79,38 +90,54 @@ python3.pkgs.buildPythonApplication rec {
    "tests/test_api.py"
  ];

  # Some will be disabled via https://github.com/snakemake/snakemake/pull/3074
  disabledTests = [
    # requires graphviz
    "test_filegraph"
    # requires s3
    "test_storage"
    "test_default_storage"
    "test_output_file_cache_storage"
    # requires peppy and eido
    "test_pep"
    "test_modules_peppy"
    # requires perl
    "test_shadow"
    # requires snakemake-storage-plugin-http
  disabledTests =
    [
      # FAILED tests/tests.py::test_env_modules - AssertionError: expected successful execution
      "test_ancient"
    "test_modules_prefix"
    # requires snakemake-storage-plugin-s3
    "test_deploy_sources"
    # requires modules
      "test_conda_create_envs_only"
      "test_env_modules"
    # issue with locating template file
      "test_generate_unit_tests"
    # weird
      "test_modules_prefix"
      "test_strict_mode"
      # Requires perl
      "test_shadow"
      # Require peppy and eido
      "test_peppy"
      "test_modules_peppy"
      "test_pep_pathlib"

      # CalledProcessError
      "test_filegraph" # requires graphviz
      "test_github_issue1384"

      # AssertionError: assert 127 == 1
      "test_issue1256"
      "test_issue2574"
    "test_github_issue1384"
    # future-proofing
    "conda"
    "singularity"
    "apptainer"
    "container"

      # Require `snakemake-storage-plugin-fs` (circular dependency)
      "test_default_storage"
      "test_default_storage_local_job"
      "test_deploy_sources"
      "test_output_file_cache_storage"
      "test_storage"
    ]
    ++ lib.optionals stdenv.isDarwin [
      # Unclear failure:
      # AssertionError: expected successful execution
      # `__darwinAllowLocalNetworking` doesn't help
      "test_excluded_resources_not_submitted_to_cluster"
      "test_group_job_resources_with_pipe"
      "test_group_jobs_resources"
      "test_group_jobs_resources_with_limited_resources"
      "test_group_jobs_resources_with_max_threads"
      "test_issue850"
      "test_issue860"
      "test_multicomp_group_jobs"
      "test_queue_input"
      "test_queue_input_dryrun"
      "test_queue_input_forceall"
      "test_resources_submitted_to_cluster"
      "test_scopes_submitted_to_cluster"
    ];

  pythonImportsCheck = [
@@ -121,10 +148,11 @@ python3.pkgs.buildPythonApplication rec {
    export HOME="$(mktemp -d)"
  '';

  meta = with lib; {
  meta = {
    homepage = "https://snakemake.github.io";
    license = licenses.mit;
    license = lib.licenses.mit;
    description = "Python-based execution environment for make-like workflows";
    changelog = "https://github.com/snakemake/snakemake/blob/v${version}/CHANGELOG.md";
    mainProgram = "snakemake";
    longDescription = ''
      Snakemake is a workflow management system that aims to reduce the complexity of
@@ -133,6 +161,10 @@ python3.pkgs.buildPythonApplication rec {
      workflows are essentially Python scripts extended by declarative code to define
      rules. Rules describe how to create output files from input files.
    '';
    maintainers = with maintainers; [ helkafen renatoGarcia veprbl ];
    maintainers = with lib.maintainers; [
      helkafen
      renatoGarcia
      veprbl
    ];
  };
}
+47 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,

  # build-system
  poetry-core,

  # dependencies
  pyyaml,
}:

buildPythonPackage rec {
  pname = "conda-inject";
  version = "1.3.2";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "koesterlab";
    repo = "conda-inject";
    rev = "refs/tags/v${version}";
    hash = "sha256-M4+bz7ZuHlcF8tF5kSCUjjkIHG75eCCW1IJxcwxNL6o=";
  };

  build-system = [
    poetry-core
  ];

  dependencies = [
    pyyaml
  ];

  pythonImportsCheck = [
    "conda_inject"
  ];

  # no tests
  doCheck = false;

  meta = {
    description = "Helper functions for injecting a conda environment into the current python environment";
    homepage = "https://github.com/koesterlab/conda-inject";
    changelog = "https://github.com/koesterlab/conda-inject/blob/${src.rev}/CHANGELOG.md";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ GaetanLepage ];
  };
}
+10 −9
Original line number Diff line number Diff line
@@ -10,19 +10,19 @@

buildPythonPackage rec {
  pname = "snakemake-interface-executor-plugins";
  version = "9.2.0";
  format = "pyproject";
  version = "9.3.2";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "snakemake";
    repo = pname;
    repo = "snakemake-interface-executor-plugins";
    rev = "refs/tags/v${version}";
    hash = "sha256-WMbJP17YnDzFVcr6YepT5Ltw+Jo6PPn7ayIrjx2k+go=";
    hash = "sha256-3XdsEnL+kuYhNOeAxkAsjTJ2R6NOtq97zPhQg9kdFkI=";
  };

  nativeBuildInputs = [ poetry-core ];
  build-system = [ poetry-core ];

  propagatedBuildInputs = [
  dependencies = [
    argparse-dataclass
    throttler
    snakemake-interface-common
@@ -30,10 +30,11 @@ buildPythonPackage rec {

  pythonImportsCheck = [ "snakemake_interface_executor_plugins" ];

  meta = with lib; {
  meta = {
    description = "This package provides a stable interface for interactions between Snakemake and its executor plugins";
    homepage = "https://github.com/snakemake/snakemake-interface-executor-plugins";
    license = licenses.mit;
    maintainers = with maintainers; [ veprbl ];
    changelog = "https://github.com/snakemake/snakemake-interface-executor-plugins/blob/${src.rev}/CHANGELOG.md";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ veprbl ];
  };
}
+0 −2
Original line number Diff line number Diff line
@@ -18387,8 +18387,6 @@ with pkgs;
  smc = callPackage ../tools/misc/smc { };
  snakemake = callPackage ../applications/science/misc/snakemake { };
  snore = callPackage ../tools/misc/snore { };
  snzip = callPackage ../tools/archivers/snzip { };
+3 −1
Original line number Diff line number Diff line
@@ -2514,6 +2514,8 @@ self: super: with self; {
  conda = callPackage ../development/python-modules/conda { };
  conda-inject = callPackage ../development/python-modules/conda-inject { };
  conda-libmamba-solver = callPackage ../development/python-modules/conda-libmamba-solver { };
  conda-package-handling = callPackage ../development/python-modules/conda-package-handling { };
@@ -14536,7 +14538,7 @@ self: super: with self; {
  });
  snakemake = toPythonModule (pkgs.snakemake.override {
    python3 = python;
    python3Packages = self;
  });
  snakemake-executor-plugin-cluster-generic = callPackage ../development/python-modules/snakemake-executor-plugin-cluster-generic { };
Loading