1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 setuptools-scm,
8 fsspec,
9 xrootd,
10 pkgs,
11 pytestCheckHook,
12 stdenv,
13}:
14
15buildPythonPackage rec {
16 pname = "fsspec-xrootd";
17 version = "0.3.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "CoffeaTeam";
24 repo = "fsspec-xrootd";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-fhamfMWlsiiqfU9c9XDfLEEkRbMAqm74rc2bGF3fRaM=";
27 };
28
29 nativeBuildInputs = [
30 setuptools
31 setuptools-scm
32 ];
33
34 propagatedBuildInputs = [
35 fsspec
36 xrootd
37 ];
38
39 pythonImportsCheck = [ "fsspec_xrootd" ];
40
41 nativeCheckInputs = [
42 pkgs.xrootd
43 pytestCheckHook
44 ];
45
46 disabledTests = [
47 # Fails (on aarch64-linux) as it runs sleep, touch, stat and makes assumptions about the
48 # scheduler and the filesystem.
49 "test_touch_modified"
50 ];
51
52 # Timeout related tests hang indifinetely
53 disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_basicio.py" ];
54
55 meta = with lib; {
56 description = "XRootD implementation for fsspec";
57 homepage = "https://github.com/CoffeaTeam/fsspec-xrootd";
58 changelog = "https://github.com/CoffeaTeam/fsspec-xrootd/releases/tag/v${version}";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ GaetanLepage ];
61 };
62}