summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/httpserver
diff options
context:
space:
mode:
authorChris Hall <followingthepath@gmail.com>2025-09-05 12:00:06 +1000
committerChris Hall <followingthepath@gmail.com>2025-09-08 10:28:10 +1000
commitb17f1938a1cdadacf54b0b5a35251c01c933bd52 (patch)
treec4a733a6de66bd1be5f7b2bab76035de41fceec9 /pkgs/development/python-modules/httpserver
parente040850a7d346e2604a9cbd68208d6818c033334 (diff)
hdf5-threadsafe: fix cmake flag, disable c++ api.
Short: - fix incorrect cmake flag `"-DDHDF5_ENABLE_THREADSAFE:BOOL=ON"` -> `"-DHDF5_ENABLE_THREADSAFE:BOOL=ON"`. - disable unsupported c++ api in hdf5-threadsafe. Breaking: Note: this bug means that historically nixpkgs was building hdf5-threadsafe without threadsafety enabled, but with c++ support. C++ and threadsafe are unsupported, so this fix is a slight breaking change if downstream users were relying on hdf5-threadsafe exposing the c++ api. If we instead want to expose both c++ and threadsafe, we would need "-DALLOW_UNSUPPORTED=ON", but then we are exposing a combination not supported or tested by upstream. Related: typo introduced in https://github.com/NixOS/nixpkgs/commit/cbd4d659e34c27cae5f48d7fdf6b2863f6492e6f in the transition to cmake `"--enable-threadsafe"` was changed to `"-DDHDF5_ENABLE_THREADSAFE:BOOL=ON"`. Note the double `D`, the correct syntax is `-DFLAG_NAME=VALUE`. C++ was enabled by default in https://github.com/NixOS/nixpkgs/commit/9046690c73d913972e510566f03fad33fbe7eaf1 Longer: ``` $ nix build .#legacyPackages.aarch64-darwin.hdf5-threadsafe $ nix log $(nix eval --raw .#legacyPackages.aarch64-darwin.hdf5-threadsafe.drvPath) [...] CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_INSTALL_BINDIR CMAKE_INSTALL_DOCDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_INFODIR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_LIBEXECDIR CMAKE_INSTALL_LOCALEDIR CMAKE_INSTALL_MANDIR CMAKE_INSTALL_SBINDIR CMAKE_POLICY_DEFAULT_CMP0025 DHDF5_ENABLE_THREADSAFE [...] ``` ``` $ git grep -ni 'DHDF5_ENABLE_THREADSAFE' pkgs/tools/misc/hdf5/default.nix:93: "-DDHDF5_ENABLE_THREADSAFE:BOOL=ON" ``` We can see the correct version of this flag in the hdf5 repo ``` $ git grep -ni 'HDF5_ENABLE_THREADSAFE' .github/workflows/arm-main-cmake.yml:94: -DHDF5_ENABLE_THREADSAFE:BOOL=ON \ [...] CMakeBuildOptions.cmake:59:option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF) [...] ``` after this fix we can again inspect the cmake output, and we no longer see a warning for this unsupported variable ``` $ nix build .#legacyPackages.aarch64-darwin.hdf5-threadsafe $ nix log $(nix eval --raw .#legacyPackages.aarch64-darwin.hdf5-threadsafe.drvPath) [...] CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_INSTALL_BINDIR CMAKE_INSTALL_DOCDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_INFODIR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_LIBEXECDIR CMAKE_INSTALL_LOCALEDIR CMAKE_INSTALL_MANDIR CMAKE_INSTALL_SBINDIR CMAKE_POLICY_DEFAULT_CMP0025 [...] ``` if we try to compile with both cppSupport and threadsafe we receive ``` > CMake Error at CMakeLists.txt:959 (message): > **** C++ and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ``` Testing: Builds clean on aarch64-darwin and x86_64-linux.
Diffstat (limited to 'pkgs/development/python-modules/httpserver')
0 files changed, 0 insertions, 0 deletions