11{
22 lib ,
33 stdenv ,
4- fetchPypi ,
4+ fetchFromGitHub ,
55 python3Packages ,
66 stress ,
77 versionCheckHook ,
8+ writableTmpDirAsHomeHook ,
89} :
910
1011python3Packages . buildPythonApplication rec {
1112 pname = "snakemake" ;
12- version = "8.23.0" ;
13-
13+ version = "8.29.0" ;
1414 pyproject = true ;
1515
16- src = fetchPypi {
17- inherit pname version ;
18- hash = "sha256-XENI9VJW62KyrxDGSwQiygggYZOu9yW2QSNyp4BO9Us=" ;
16+ src = fetchFromGitHub {
17+ owner = "snakemake" ;
18+ repo = "snakemake" ;
19+ tag = "v${ version } " ;
20+ hash = "sha256-vGa0N5jbm+b4FH1rkvZI5yI005K0D5AP29JGK2wscps=" ;
1921 } ;
2022
2123 postPatch = ''
@@ -25,11 +27,11 @@ python3Packages.buildPythonApplication rec {
2527 --replace-fail 'del os.environ["PYTHONPATH"]' "pass"
2628 substituteInPlace snakemake/unit_tests/__init__.py \
2729 --replace-fail '"unit_tests/templates"' '"'"$PWD"'/snakemake/unit_tests/templates"'
30+ substituteInPlace snakemake/assets/__init__.py \
31+ --replace-fail "raise err" "return bytes('err','ascii')"
2832 '' ;
2933
30- build-system = with python3Packages ; [
31- setuptools
32- ] ;
34+ build-system = with python3Packages ; [ setuptools ] ;
3335
3436 dependencies = with python3Packages ; [
3537 appdirs
@@ -68,17 +70,21 @@ python3Packages.buildPythonApplication rec {
6870 # for the current basic test suite. Slurm, Tibanna and Tes require extra
6971 # setup.
7072
71- nativeCheckInputs = with python3Packages ; [
72- numpy
73- pandas
74- pytestCheckHook
75- pytest-mock
76- requests-mock
77- snakemake-executor-plugin-cluster-generic
78- snakemake-storage-plugin-fs
79- stress
80- versionCheckHook
81- ] ;
73+ nativeCheckInputs =
74+ ( with python3Packages ; [
75+ numpy
76+ pandas
77+ pytestCheckHook
78+ pytest-mock
79+ requests-mock
80+ snakemake-executor-plugin-cluster-generic
81+ snakemake-storage-plugin-fs
82+ stress
83+ versionCheckHook
84+ polars
85+ ] )
86+ ++ [ writableTmpDirAsHomeHook ] ;
87+
8288 versionCheckProgramArg = [ "--version" ] ;
8389
8490 pytestFlagsArray = [
@@ -140,13 +146,7 @@ python3Packages.buildPythonApplication rec {
140146 "test_scopes_submitted_to_cluster"
141147 ] ;
142148
143- pythonImportsCheck = [
144- "snakemake"
145- ] ;
146-
147- preCheck = ''
148- export HOME="$(mktemp -d)"
149- '' ;
149+ pythonImportsCheck = [ "snakemake" ] ;
150150
151151 meta = {
152152 homepage = "https://snakemake.github.io" ;
0 commit comments