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