nixpkgs/pkgs/tools/filesystems/ceph
Niklas Hambüchen f8262c2cc6 ceph: 17.2.5 -> 18.2.0
The following issues were encountered during the upgrade:

* "Could NOT find thrift (missing: thrift_LIBRARIES thrift_INCLUDE_DIR)"
  Fixed by disabling Jaeger support, see added comment.
* ```
  /build/ceph-18.2.0/src/extblkdev/ExtBlkDevInterface.h:38:10: fatal error: sys/capability.h: No such file or directory
    38 | #include <sys/capability.h>
  ```
  Fixed by `libcap` dependency.
  Ceph's Debian dependencies include both `libcap` and `libcap-ng`:
  c8c946c970/debian/control (L38-L39)
* ```
  Manually-specified variables were not used by the project:
    MGR_PYTHON_VERSION
  ```
  Dropped 4 years ago for Ceph 15:
  5fc657b40d
  So I removed the flag.
* Warning:
  ```
  -- Could NOT find nasm
  ```
  Looking at the code (macros such as `HAVE_NASM_X64`), nasm existence actually results in some optimised crypto SIMD instructions being compiled, so we probably want this for performance.
  Adding `nasm` to `nativeBuildInputs` first brought error:
  ```
  /nix/store/p6dlr3skfhxpyphipg2bqnj52999banh-bash-5.2-p15/bin/bash: line 1: /build/ceph-18.2.0/src/nasm-wrapper: cannot execute: required file not found
  make[2]: *** [src/crypto/isa-l/CMakeFiles/ceph_crypto_isal.dir/build.make:117: src/crypto/isa-l/CMakeFiles/ceph_crypto_isal.dir/isa-l_crypto/aes/cbc_multibinary.asm.o] Error 127
  ```
  Solution: `patchShebangs src/nasm-wrapper`, even better `patchShebangs src/`.
* ```
  Manually-specified variables were not used by the project:
    WITH_SYSTEM_CIMG
    WITH_SYSTEM_JSONCPP
  ```
  These never were Ceph CMake options, so I removed them.
* `libcap-ng` is Linux-only, and only used for the `mount.ceph` command:
  c8c946c970/src/CMakeLists.txt (L829-L830)
  Thus use it for Linux only.
* The Parquet build error is now gone, so we can enable support for it.
2023-08-08 02:16:59 +00:00
..
default.nix ceph: 17.2.5 -> 18.2.0 2023-08-08 02:16:59 +00:00