···154154 The module now includes an optional config check, that is enabled by default, to make the change obvious before any deployment.
155155 More information about the configuration syntax change is available in the [upstream repository](https://github.com/prometheus/snmp_exporter/blob/b75fc6b839ee3f3ccbee68bee55f1ae99555084a/auth-split-migration.md).
156156157157+- [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
158158+157159## Other Notable Changes {#sec-release-24.05-notable-changes}
158160159161<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
···897897 certs = attrValues cfg.certs;
898898 in [
899899 {
900900- assertion = cfg.email != null || all (certOpts: certOpts.email != null) certs;
900900+ assertion = cfg.defaults.email != null || all (certOpts: certOpts.email != null) certs;
901901 message = ''
902902 You must define `security.acme.certs.<name>.email` or
903903- `security.acme.email` to register with the CA. Note that using
903903+ `security.acme.defaults.email` to register with the CA. Note that using
904904 many different addresses for certs may trigger account rate limits.
905905 '';
906906 }
···264264 inherit bintools;
265265 inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang;
266266267267- # Expose the C++ standard library we're using. See the comments on "General
268268- # libc++ support". This is also relevant when using older gcc than the
269269- # stdenv's, as may be required e.g. by CUDAToolkit's nvcc.
270270- cxxStdlib =
271271- let
272272- givenLibcxx = libcxx.isLLVM or false;
273273- givenGccForLibs = useGccForLibs && gccForLibs.langCC or false;
274274- in
275275- if (!givenLibcxx) && givenGccForLibs then
276276- { kind = "libstdc++"; package = gccForLibs; solib = gccForLibs_solib; }
277277- else if givenLibcxx then
278278- { kind = "libc++"; package = libcxx; solib = libcxx_solib;}
279279- else
280280- # We're probably using the `libstdc++` that came with our `gcc`.
281281- # TODO: this is maybe not always correct?
282282- # TODO: what happens when `nativeTools = true`?
283283- { kind = "libstdc++"; package = cc; solib = cc_solib; }
284284- ;
285285-286267 emacsBufferSetup = pkgs: ''
287268 ; We should handle propagation here too
288269 (mapc
···462443 echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
463444 echo "-L${gccForLibs_solib}/lib" >> $out/nix-support/cc-ldflags
464445 ''
465465- # The above "fix" may be incorrect; gcc.cc.lib doesn't contain a
466466- # `target-triple` dir but the correct fix may be to just remove the above?
467467- #
468468- # For clang it's not necessary (see `--gcc-toolchain` below) and for other
469469- # situations adding in the above will bring in lots of other gcc libraries
470470- # (i.e. sanitizer libraries, `libatomic`, `libquadmath`) besides just
471471- # `libstdc++`; this may actually break clang.
472446473447 # TODO We would like to connect this to `useGccForLibs`, but we cannot yet
474448 # because `libcxxStdenv` on linux still needs this. Maybe someday we'll
···1919 assertCondition = true;
2020in
21212222+/*
2223# We should use libstdc++ at least as new as nixpkgs' stdenv's one.
2324assert let
2425 cxxStdlibCuda = cudaStdenv.cc.cxxStdlib.package;
2526 cxxStdlibNixpkgs = stdenv.cc.cxxStdlib.package;
2727+2828+ # Expose the C++ standard library we're using. See the comments on "General
2929+ # libc++ support". This is also relevant when using older gcc than the
3030+ # stdenv's, as may be required e.g. by CUDAToolkit's nvcc.
3131+ cxxStdlib = libcxx:
3232+ let
3333+ givenLibcxx = libcxx != null && (libcxx.isLLVM or false);
3434+ givenGccForLibs = libcxx != null && !(libcxx.isLLVM or false) && (libcxx.isGNU or false);
3535+ libcxx_solib = "${lib.getLib libcxx}/lib";
3636+ in
3737+ if (!givenLibcxx) && givenGccForLibs then
3838+ { kind = "libstdc++"; package = libcxx; solib = libcxx_solib; }
3939+ else if givenLibcxx then
4040+ { kind = "libc++"; package = libcxx; solib = libcxx_solib;}
4141+ else
4242+ # We're probably using the `libstdc++` that came with our `gcc`.
4343+ # TODO: this is maybe not always correct?
4444+ # TODO: what happens when `nativeTools = true`?
4545+ { kind = "libstdc++"; package = cc; solib = cc_solib; }
4646+ ;
2647in
2748((stdenv.cc.cxxStdlib.kind or null) == "libstdc++")
2849-> lib.versionAtLeast cxxStdlibCuda.version cxxStdlibNixpkgs.version;
5050+*/
29513052lib.extendDerivation assertCondition passthruExtra cudaStdenv
+1-1
pkgs/development/cuda-modules/cuda/overrides.nix
···112112 useCcForLibs = true;
113113 gccForLibs = ccForLibs-wrapper.cc;
114114 };
115115- cxxStdlibDir = ccForLibs-wrapper.cxxStdlib.solib;
115115+ cxxStdlibDir = ccForLibs-wrapper.cxxStdlib.solib or (throw "necessary to fix CI");
116116 in
117117 {
118118