Merge pull request #206969 from ShamrockLee/xrootd-fuse

xrootd: provide fuse support (xrootdfs) for Darwin and fix the tests
This commit is contained in:
Weijia Wang 2023-02-02 23:33:12 +01:00 committed by GitHub
commit d34529b0f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 2 deletions

View file

@ -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
]

View file

@ -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"
''

View file

@ -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 { };