···2727 # Runtime dependencies
2828 arrow-cpp,
2929 babeltrace,
3030- boost186,
3030+ # Note when trying to upgrade boost:
3131+ # * When upgrading Ceph, it's recommended to check which boost version Ceph uses on Fedora,
3232+ # and default to that.
3333+ # * The version that Ceph downloads if `-DWITH_SYSTEM_BOOST:BOOL=ON` is not given
3434+ # is declared in `cmake/modules/BuildBoost.cmake` line `set(boost_version ...)`.
3535+ #
3636+ # If you want to upgrade to boost >= 1.86, you need a Ceph version that
3737+ # has this PR in:
3838+ # https://github.com/ceph/ceph/pull/61312
3939+ boost183,
3140 bzip2,
3241 cryptsetup,
3342 cunit,
···297306 };
298307 };
299308300300- boost' = boost186.override {
309309+ boost' = boost183.override {
301310 enablePython = true;
302311 inherit python;
303312 };
···347356 );
348357 inherit (ceph-python-env.python) sitePackages;
349358350350- version = "19.2.0";
359359+ version = "19.2.1";
351360 src = fetchurl {
352361 url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz";
353353- hash = "sha256-30vkW1j49hFIxyxzkssSKVSq0VqiwLfDtOb62xfxadM=";
362362+ hash = "sha256-QEX3LHxySVgLBg21iQga1DnyQsXFi6593e+WSjgT/h8=";
354363 };
355364in
356365rec {
···365374 hash = "sha256-21fi5tMIs/JmuhwPYMWtampv/aqAe+EoPAXZLJlOvgo=";
366375 stripLen = 1;
367376 extraPrefix = "src/s3select/";
368368- })
369369-370370- (fetchpatch2 {
371371- name = "ceph-gcc-14.patch";
372372- url = "https://github.com/ceph/ceph/commit/0eace4ea9ea42412d4d6a16d24a8660642e41173.patch?full_index=1";
373373- hash = "sha256-v+AExf/npe4NgmVl2j6o8860nwF9YuzC/vR0TWxTrIE=";
374377 })
375378376379 ./boost-1.85.patch
···477480 "${placeholder "out"}/${ceph-python-env.sitePackages}"
478481 ];
479482480480- # replace /sbin and /bin based paths with direct nix store paths
481481- # increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters
483483+ # * `unset AS` because otherwise the Ceph CMake build errors with
484484+ # 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.
485485+ # because the code at
486486+ # https://github.com/intel/isa-l/blob/633add1b569fe927bace3960d7c84ed9c1b38bb9/configure.ac#L99-L191
487487+ # doesn't even consider using `nasm` or `yasm` but instead uses `$AS`
488488+ # from `gcc-wrapper`.
489489+ # (Ceph's error message is extra confusing, because it says
490490+ # `No modern nasm or yasm found` when in fact it found e.g. `nasm`
491491+ # but then uses `$AS` instead.
492492+ # * replace /sbin and /bin based paths with direct nix store paths
493493+ # * increase the `command` buffer size since 2 nix store paths cannot fit within 128 characters
482494 preConfigure = ''
495495+ unset AS
496496+483497 substituteInPlace src/common/module.c \
484498 --replace "char command[128];" "char command[256];" \
485499 --replace "/sbin/modinfo" "${kmod}/bin/modinfo" \