Merge pull request #285505 from GaetanLepage/xroot

xrootd: 5.5.5 -> 5.6.6, python311Packages.xrootd: init at 5.6.6

authored by Dmitry Kalinkin and committed by GitHub 419da635 e03be91f

+96 -13
+12
pkgs/applications/science/misc/root/default.nix
··· 2 2 , lib 3 3 , callPackage 4 4 , fetchurl 5 + , fetchpatch 5 6 , makeWrapper 6 7 , cmake 7 8 , coreutils ··· 109 110 110 111 patches = [ 111 112 ./sw_vers.patch 113 + 114 + # compatibility with recent XRootD 115 + # https://github.com/root-project/root/pull/13752 116 + (fetchpatch { 117 + url = "https://github.com/root-project/root/commit/3d3cda6c520791282298782189cdb8ca07ace4b9.diff"; 118 + hash = "sha256-O3aXzrOEQiPjZgbAj9TL6Wt/adN1kKFwjooeaFRyT4I="; 119 + }) 120 + (fetchpatch { 121 + url = "https://github.com/root-project/root/commit/6e7798e62dbed1ffa8b91a180fa5a080b7c04ba3.diff"; 122 + hash = "sha256-47/J631DBnVlvM1Pm9iicKXDKAqN8v9hjAstQuHmH8Q="; 123 + }) 112 124 ]; 113 125 114 126 preConfigure = ''
+1 -1
pkgs/by-name/sc/scitokens-cpp/package.nix
··· 25 25 homepage = "https://github.com/scitokens/scitokens-cpp/"; 26 26 description = 27 27 "A C++ implementation of the SciTokens library with a C library interface"; 28 - platforms = platforms.linux; 28 + platforms = platforms.unix; 29 29 license = licenses.asl20; 30 30 maintainers = with maintainers; [ evey ]; 31 31 };
+41
pkgs/development/python-modules/xrootd/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , cmake 4 + , setuptools 5 + , wheel 6 + , pkgs 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "xrootd"; 11 + pyproject = true; 12 + 13 + inherit (pkgs.xrootd) version src; 14 + 15 + sourceRoot = "${src.name}/bindings/python"; 16 + 17 + nativeBuildInputs = [ 18 + cmake 19 + setuptools 20 + wheel 21 + ]; 22 + 23 + buildInputs = [ 24 + pkgs.xrootd 25 + ]; 26 + 27 + dontUseCmakeConfigure = true; 28 + 29 + pythonImportsCheck = [ "XRootD" ]; 30 + 31 + # Tests are only compatible with Python 2 32 + doCheck = false; 33 + 34 + meta = with lib; { 35 + description = "The XRootD central repository"; 36 + homepage = "https://github.com/xrootd/xrootd"; 37 + changelog = "https://github.com/xrootd/xrootd/releases/tag/v${version}"; 38 + license = licenses.gpl3Only; 39 + maintainers = with maintainers; [ GaetanLepage ]; 40 + }; 41 + }
+40 -12
pkgs/tools/networking/xrootd/default.nix
··· 2 2 , stdenv 3 3 , callPackage 4 4 , fetchFromGitHub 5 + , davix 5 6 , cmake 6 7 , cppunit 8 + , gtest 7 9 , makeWrapper 8 10 , pkg-config 9 11 , curl ··· 14 16 , libxml2 15 17 , openssl 16 18 , readline 19 + , scitokens-cpp 17 20 , systemd 18 21 , voms 19 22 , zlib ··· 22 25 # If not null, the builder will 23 26 # move "$out/etc" to "$out/etc.orig" and symlink "$out/etc" to externalEtc. 24 27 , externalEtc ? "/etc" 28 + , removeReferencesTo 25 29 }: 26 30 27 31 stdenv.mkDerivation (finalAttrs: { 28 - 29 - __structuredAttrs = true; 30 - 31 32 pname = "xrootd"; 32 - version = "5.5.5"; 33 + version = "5.6.6"; 33 34 34 35 src = fetchFromGitHub { 35 36 owner = "xrootd"; 36 37 repo = "xrootd"; 37 38 rev = "v${finalAttrs.version}"; 38 39 fetchSubmodules = true; 39 - hash = "sha256-SLmxv8opN7z4V07S9kLGo8HG7Ql62iZQLtf3zGemwA8="; 40 + hash = "sha256-vSZKTsDMY5bhfniFOQ11VA30gjfb4Y8tCC7JNjNw8Y0="; 40 41 }; 41 42 42 43 outputs = [ "bin" "out" "dev" "man" ] ··· 62 63 cmake 63 64 makeWrapper 64 65 pkg-config 66 + removeReferencesTo 65 67 ]; 66 68 67 69 buildInputs = [ 70 + davix 68 71 curl 69 72 libkrb5 70 73 libuuid ··· 72 75 libxml2 73 76 openssl 74 77 readline 78 + scitokens-cpp 75 79 zlib 80 + ] 81 + ++ lib.optionals (!stdenv.isDarwin) [ 82 + # https://github.com/xrootd/xrootd/blob/5b5a1f6957def2816b77ec773c7e1bfb3f1cfc5b/cmake/XRootDFindLibs.cmake#L58 76 83 fuse 77 84 ] 78 85 ++ lib.optionals stdenv.isLinux [ ··· 80 87 voms 81 88 ] 82 89 ++ lib.optionals enableTestRunner [ 90 + gtest 83 91 cppunit 84 92 ]; 85 93 86 94 preConfigure = '' 87 95 patchShebangs genversion.sh 96 + substituteInPlace cmake/XRootDConfig.cmake.in \ 97 + --replace-fail "@PACKAGE_CMAKE_INSTALL_" "@CMAKE_INSTALL_FULL_" 98 + '' + lib.optionalString stdenv.isDarwin '' 99 + sed -i cmake/XRootDOSDefs.cmake -e '/set( MacOSX TRUE )/ainclude( GNUInstallDirs )' 88 100 ''; 89 101 90 102 # https://github.com/xrootd/xrootd/blob/master/packaging/rhel/xrootd.spec.in#L665-L675= ··· 98 110 install -m 644 -t "$out/etc/xrootd/client.plugins.d" ../packaging/common/client-plugin.conf.example 99 111 mkdir -p "$out/etc/logrotate.d" 100 112 install -m 644 -T ../packaging/common/xrootd.logrotate "$out/etc/logrotate.d/xrootd" 113 + '' 114 + # Leaving those in bin/ leads to a cyclic reference between $dev and $bin 115 + # This happens since https://github.com/xrootd/xrootd/commit/fe268eb622e2192d54a4230cea54c41660bd5788 116 + # So far, this xrootd-config script does not seem necessary in $bin 117 + + '' 118 + moveToOutput "bin/xrootd-config" "$dev" 119 + moveToOutput "bin/.xrootd-config-wrapped" "$dev" 101 120 '' + lib.optionalString stdenv.isLinux '' 102 121 mkdir -p "$out/lib/systemd/system" 103 122 install -m 644 -t "$out/lib/systemd/system" ../packaging/common/*.service ../packaging/common/*.socket 104 123 ''; 105 124 106 - cmakeFlags = lib.optionals enableTestRunner [ 125 + cmakeFlags = [ 126 + "-DXRootD_VERSION_STRING=${finalAttrs.version}" 127 + ] ++ lib.optionals enableTestRunner [ 128 + "-DFORCE_ENABLED=TRUE" 129 + "-DENABLE_DAVIX=TRUE" 130 + "-DENABLE_FUSE=${if (!stdenv.isDarwin) then "TRUE" else "FALSE"}" # not supported 131 + "-DENABLE_MACAROONS=OFF" 132 + "-DENABLE_PYTHON=FALSE" # built separately 133 + "-DENABLE_SCITOKENS=TRUE" 107 134 "-DENABLE_TESTS=TRUE" 135 + "-DENABLE_VOMS=${if stdenv.isLinux then "TRUE" else "FALSE"}" 108 136 ]; 109 137 110 - makeWrapperArgs = [ 111 - # Workaround the library-not-found issue 112 - # happening to binaries compiled with xrootd libraries. 113 - # See #169677 114 - "--prefix" "${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH" ":" "${placeholder "out"}/lib" 115 - ]; 138 + # Workaround the library-not-found issue 139 + # happening to binaries compiled with xrootd libraries. 140 + # See #169677 141 + preFixup = '' 142 + makeWrapperArgs+=("--prefix" "${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH" ":" "${placeholder "out"}/lib") 143 + ''; 116 144 117 145 postFixup = '' 118 146 while IFS= read -r FILE; do
+2
pkgs/top-level/python-packages.nix
··· 16417 16417 16418 16418 xpybutil = callPackage ../development/python-modules/xpybutil { }; 16419 16419 16420 + xrootd = callPackage ../development/python-modules/xrootd { }; 16421 + 16420 16422 xsdata = callPackage ../development/python-modules/xsdata { }; 16421 16423 16422 16424 xstatic-asciinema-player = callPackage ../development/python-modules/xstatic-asciinema-player { };