ceph: 19.2.0 -> 19.2.1 (#381075)

authored by Niklas Hambüchen and committed by GitHub 7175b2d9 f91fa97e

+26 -12
+26 -12
pkgs/tools/filesystems/ceph/default.nix
··· 27 # Runtime dependencies 28 arrow-cpp, 29 babeltrace, 30 - boost186, 31 bzip2, 32 cryptsetup, 33 cunit, ··· 297 }; 298 }; 299 300 - boost' = boost186.override { 301 enablePython = true; 302 inherit python; 303 }; ··· 347 ); 348 inherit (ceph-python-env.python) sitePackages; 349 350 - version = "19.2.0"; 351 src = fetchurl { 352 url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz"; 353 - hash = "sha256-30vkW1j49hFIxyxzkssSKVSq0VqiwLfDtOb62xfxadM="; 354 }; 355 in 356 rec { ··· 365 hash = "sha256-21fi5tMIs/JmuhwPYMWtampv/aqAe+EoPAXZLJlOvgo="; 366 stripLen = 1; 367 extraPrefix = "src/s3select/"; 368 - }) 369 - 370 - (fetchpatch2 { 371 - name = "ceph-gcc-14.patch"; 372 - url = "https://github.com/ceph/ceph/commit/0eace4ea9ea42412d4d6a16d24a8660642e41173.patch?full_index=1"; 373 - hash = "sha256-v+AExf/npe4NgmVl2j6o8860nwF9YuzC/vR0TWxTrIE="; 374 }) 375 376 ./boost-1.85.patch ··· 477 "${placeholder "out"}/${ceph-python-env.sitePackages}" 478 ]; 479 480 - # replace /sbin and /bin based paths with direct nix store paths 481 - # increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters 482 preConfigure = '' 483 substituteInPlace src/common/module.c \ 484 --replace "char command[128];" "char command[256];" \ 485 --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \
··· 27 # Runtime dependencies 28 arrow-cpp, 29 babeltrace, 30 + # Note when trying to upgrade boost: 31 + # * When upgrading Ceph, it's recommended to check which boost version Ceph uses on Fedora, 32 + # and default to that. 33 + # * The version that Ceph downloads if `-DWITH_SYSTEM_BOOST:BOOL=ON` is not given 34 + # is declared in `cmake/modules/BuildBoost.cmake` line `set(boost_version ...)`. 35 + # 36 + # If you want to upgrade to boost >= 1.86, you need a Ceph version that 37 + # has this PR in: 38 + # https://github.com/ceph/ceph/pull/61312 39 + boost183, 40 bzip2, 41 cryptsetup, 42 cunit, ··· 306 }; 307 }; 308 309 + boost' = boost183.override { 310 enablePython = true; 311 inherit python; 312 }; ··· 356 ); 357 inherit (ceph-python-env.python) sitePackages; 358 359 + version = "19.2.1"; 360 src = fetchurl { 361 url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz"; 362 + hash = "sha256-QEX3LHxySVgLBg21iQga1DnyQsXFi6593e+WSjgT/h8="; 363 }; 364 in 365 rec { ··· 374 hash = "sha256-21fi5tMIs/JmuhwPYMWtampv/aqAe+EoPAXZLJlOvgo="; 375 stripLen = 1; 376 extraPrefix = "src/s3select/"; 377 }) 378 379 ./boost-1.85.patch ··· 480 "${placeholder "out"}/${ceph-python-env.sitePackages}" 481 ]; 482 483 + # * `unset AS` because otherwise the Ceph CMake build errors with 484 + # configure: error: No modern nasm or yasm found as required. Nasm should be v2.11.01 or later (v2.13 for AVX512) and yasm should be 1.2.0 or later. 485 + # because the code at 486 + # https://github.com/intel/isa-l/blob/633add1b569fe927bace3960d7c84ed9c1b38bb9/configure.ac#L99-L191 487 + # doesn't even consider using `nasm` or `yasm` but instead uses `$AS` 488 + # from `gcc-wrapper`. 489 + # (Ceph's error message is extra confusing, because it says 490 + # `No modern nasm or yasm found` when in fact it found e.g. `nasm` 491 + # but then uses `$AS` instead. 492 + # * replace /sbin and /bin based paths with direct nix store paths 493 + # * increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters 494 preConfigure = '' 495 + unset AS 496 + 497 substituteInPlace src/common/module.c \ 498 --replace "char command[128];" "char command[256];" \ 499 --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \