Merge pull request #299256 from NixOS/pr/snakemake-storage-plugin-s3_init

python311Packages.snakemake-storage-plugin-{s3,xrootd}: init
This commit is contained in:
Dmitry Kalinkin 2024-04-12 18:10:46 -04:00 committed by GitHub
commit 17bd78bfb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 113 additions and 0 deletions

View File

@ -0,0 +1,54 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, boto3
, botocore
, poetry-core
, snakemake
, snakemake-interface-storage-plugins
, snakemake-interface-common
, urllib3
}:
buildPythonPackage rec {
pname = "snakemake-storage-plugin-s3";
version = "0.2.10";
format = "pyproject";
src = fetchFromGitHub {
owner = "snakemake";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-k21DRQdSUFkdwNb7MZJmClhIg+pdSc7H6FkDrbf4DT8=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace ">=2.0,<2.2" "*"
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
boto3
botocore
snakemake-interface-storage-plugins
snakemake-interface-common
urllib3
];
nativeCheckInputs = [
snakemake
];
pythonImportsCheck = [ "snakemake_storage_plugin_s3" ];
meta = with lib; {
description = "A Snakemake storage plugin for S3 API storage (AWS S3, MinIO, etc.)";
homepage = "https://github.com/snakemake/snakemake-storage-plugin-s3";
license = licenses.mit;
maintainers = with maintainers; [ veprbl ];
};
}

View File

@ -0,0 +1,51 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, snakemake
, snakemake-interface-storage-plugins
, snakemake-interface-common
, xrootd
}:
buildPythonPackage rec {
pname = "snakemake-storage-plugin-xrootd";
version = "unstable-2023-12-16";
format = "pyproject";
src = fetchFromGitHub {
owner = "snakemake";
repo = pname;
rev = "408f1e956b5427c34b49eeca340492a438e8eccb";
hash = "sha256-CcSG//D9kz0Q4LtaSngJpCtY0dbNFFuKMVmBxR1fcMo=";
};
# xrootd<6.0.0,>=5.6.4 not satisfied by version 5.7rc20240303
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'xrootd = "^5.6.4"' ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
snakemake-interface-storage-plugins
snakemake-interface-common
xrootd
];
nativeCheckInputs = [
snakemake
];
pythonImportsCheck = [ "snakemake_storage_plugin_xrootd" ];
meta = with lib; {
description = "A Snakemake storage plugin for handling input and output via XRootD";
homepage = "https://github.com/snakemake/snakemake-storage-plugin-xrootd";
license = licenses.mit;
maintainers = with maintainers; [ veprbl ];
};
}

View File

@ -13914,6 +13914,10 @@ self: super: with self; {
inherit (self) python;
});
snakemake = toPythonModule (pkgs.snakemake.override {
python3 = python;
});
snakemake-executor-plugin-cluster-generic = callPackage ../development/python-modules/snakemake-executor-plugin-cluster-generic { };
snakemake-interface-common = callPackage ../development/python-modules/snakemake-interface-common { };
@ -13924,6 +13928,10 @@ self: super: with self; {
snakemake-interface-storage-plugins = callPackage ../development/python-modules/snakemake-interface-storage-plugins { };
snakemake-storage-plugin-s3 = callPackage ../development/python-modules/snakemake-storage-plugin-s3 { };
snakemake-storage-plugin-xrootd = callPackage ../development/python-modules/snakemake-storage-plugin-xrootd { };
snakebite = callPackage ../development/python-modules/snakebite { };
snakeviz = callPackage ../development/python-modules/snakeviz { };