diff --git a/pkgs/tools/networking/xrootd/default.nix b/pkgs/tools/networking/xrootd/default.nix index 93683bc6f7fa..b6fa0bab28d3 100644 --- a/pkgs/tools/networking/xrootd/default.nix +++ b/pkgs/tools/networking/xrootd/default.nix @@ -37,6 +37,11 @@ stdenv.mkDerivation rec { outputs = [ "bin" "out" "dev" "man" ]; passthru.tests = lib.optionalAttrs enableTests { + test-xrdcp = callPackage ./test-xrdcp.nix { + url = "root://eospublic.cern.ch//eos/opendata/alice/2010/LHC10h/000138275/ESD/0000/AliESDs.root"; + hash = "sha256-tIcs2oi+8u/Qr+P7AAaPTbQT+DEt26gEdc4VNerlEHY="; + }; + } // lib.optionalAttrs stdenv.isLinux { test-runner = callPackage ./test-runner.nix { }; }; @@ -47,6 +52,7 @@ stdenv.mkDerivation rec { buildInputs = [ curl + fuse libkrb5 libuuid libxcrypt @@ -56,7 +62,6 @@ stdenv.mkDerivation rec { zlib ] ++ lib.optionals stdenv.isLinux [ - fuse systemd voms ] diff --git a/pkgs/tools/networking/xrootd/test-xrdcp.nix b/pkgs/tools/networking/xrootd/test-xrdcp.nix new file mode 100644 index 000000000000..3b29e195813a --- /dev/null +++ b/pkgs/tools/networking/xrootd/test-xrdcp.nix @@ -0,0 +1,19 @@ +{ lib +, runCommandLocal +, buildPlatform +, xrootd +, url +, hash +}: runCommandLocal (baseNameOf url) +{ + nativeBuildInputs = [ xrootd ]; + outputHashAlgo = null; + outputHashMode = "flat"; + outputHash = hash; + inherit url; +} +# Set [DY]LD_LIBRARY_PATH to workaround #169677 +# TODO: Remove the library path after #200830 get merged +'' + ${lib.optionalString buildPlatform.isDarwin "DY"}LD_LIBRARY_PATH=${lib.makeLibraryPath [ xrootd ]} xrdcp --force "$url" "$out" +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 934369c4a36d..1b0812d00386 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1601,7 +1601,12 @@ with pkgs; xpaste = callPackage ../tools/text/xpaste { }; - xrootd = callPackage ../tools/networking/xrootd { }; + xrootd = callPackage ../tools/networking/xrootd { + fuse = + if hostPlatform.isDarwin then osxfuse + else if hostPlatform.isLinux then fuse + else null; + }; xtrt = callPackage ../tools/archivers/xtrt { };