1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatch-vcs,
6 hatchling,
7 snakemake,
8 snakemake-interface-storage-plugins,
9 snakemake-interface-common,
10 xrootd,
11}:
12
13buildPythonPackage rec {
14 pname = "snakemake-storage-plugin-xrootd";
15 version = "0.4.1";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "snakemake";
20 repo = "snakemake-storage-plugin-xrootd";
21 tag = "v${version}";
22 hash = "sha256-vfMAgOTmT3uzUZHXeKsd8Ze3+b3nFsVHDhkPG+xvz+k=";
23 };
24
25 # xrootd<6.0.0,>=5.6.4 not satisfied by version 5.7rc20240303
26 pythonRelaxDeps = [ "xrootd" ];
27
28 build-system = [
29 hatch-vcs
30 hatchling
31 ];
32
33 dependencies = [
34 snakemake-interface-storage-plugins
35 snakemake-interface-common
36 xrootd
37 ];
38
39 nativeCheckInputs = [ snakemake ];
40
41 pythonImportsCheck = [ "snakemake_storage_plugin_xrootd" ];
42
43 meta = with lib; {
44 description = "Snakemake storage plugin for handling input and output via XRootD";
45 homepage = "https://github.com/snakemake/snakemake-storage-plugin-xrootd";
46 license = licenses.mit;
47 maintainers = with maintainers; [ veprbl ];
48 };
49}