The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
Without the change build fails on `master` as
https://hydra.nixos.org/build/250334809:
In file included from /build/source/srsue/hdr/phy/phy_metrics.h:26,
from /build/source/srsue/hdr/phy/phy_common.h:25,
from /build/source/srsue/src/phy/phy_common.cc:26:
In member function 'std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = float; long unsigned int _Nm = 5]',
inlined from 'void srsue::phy_common::reset_measurements(uint32_t)' at /build/source/srsue/src/phy/phy_common.cc:662:18,
inlined from 'void srsue::phy_common::reset()' at /build/source/srsue/src/phy/phy_common.cc:918:21:
/nix/store/qs1nwzbp2ml3cxzsxihn82hl0w73snr0-gcc-13.2.0/include/c++/13.2.0/array:203:24: error: array subscript 5 is above array bounds of 'std::__array_traits<float, 5>::_Type' {aka 'float [5]'} [-Werror=array-bounds=]
203 | return _M_elems[__n];
| ~~~~~~~~^
Blanket `-Werror` is prone to build failures on newer toolchains.
Disable it via exposed `cmake` configure knob.
Not using simply stdenv = gcc12Stdenv due to errors like this:
/nix/store/...-binutils-2.40/bin/ld: /nix/store/...-boost-1.81.0/lib/libboost_program_options.so.1.81.0: undefined reference to `std::ios_base_library_init()@GLIBCXX_3.4.32'
collect2: error: ld returned 1 exit status
make[2]: *** [gr-fec/lib/reed-solomon/CMakeFiles/gr_fec_rstest.dir/build.make:131: gr-fec/lib/reed-solomon/gr_fec_rstest] Error 1
make[1]: *** [CMakeFiles/Makefile2:2165: gr-fec/lib/reed-solomon/CMakeFiles/gr_fec_rstest.dir/all] Error 2
Without the change build fails against `gcc-13` on `master` as
https://hydra.nixos.org/build/246569430:
In file included from /build/source/apps/m17-mod.cpp:3:
/build/source/include/m17cxx/Util.h:213:47: error: 'uint8_t' was not declared in this scope
213 | constexpr bool get_bit_index(const std::array<uint8_t, N>& input, size_t index)
| ^~~~~~~
/build/source/include/m17cxx/Util.h:12:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
11 | #include <limits>
+++ |+#include <cstdint>
12 |