diff --git a/flake.lock b/flake.lock index 85306af64..cbc90502f 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1756696532, - "narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=", + "lastModified": 1785141334, + "narHash": "sha256-kh35kIx7el4Jk8Ki3BH9/Pn1eZYSYLJ6LMALos0zOy0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f", + "rev": "38a4887411571457d700c51c64a6e49ead2ed5ab", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c7484f02a..25db1bef6 100644 --- a/flake.nix +++ b/flake.nix @@ -163,7 +163,7 @@ reuse cppcheck pre-commit - ruby # for pre-commit markdownlint hook + ruby # For pre-commit markdownlint hook ]; mkShellFor = @@ -171,20 +171,14 @@ stdenv.mkDerivation { name = "${pkg.pname}-${stdenv.cc.cc.pname}-devShell"; - # disable all hardening to suppress warnings in debug builds + # Disable all hardening to suppress warnings in debug builds hardeningDisable = [ "all" ]; - # inherit inputs from pkg + # Inherit inputs from pkg buildInputs = pkg.buildInputs ++ packages; nativeBuildInputs = pkg.nativeBuildInputs ++ packages; propagatedBuildInputs = pkg.propagatedBuildInputs; propagatedNativeBuildInputs = pkg.propagatedNativeBuildInputs; - - # configure nix-ld for pre-commit - env = { - NIX_LD = lib.fileContents "${stdenv.cc}/nix-support/dynamic-linker"; - NIX_LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.gcc-unwrapped.lib ]; - }; }; in rec { diff --git a/packaging/nix/opendssc.nix b/packaging/nix/opendssc.nix index a93abf624..f2dd203b4 100644 --- a/packaging/nix/opendssc.nix +++ b/packaging/nix/opendssc.nix @@ -2,12 +2,15 @@ # SPDX-License-Identifier: Apache-2.0 { lib, - stdenv, + gcc14Stdenv, cmake, fetchsvn, libuuid, }: -stdenv.mkDerivation { + +# We need to stick to gcc14 because OpenDSS is broken and doesn't build on GCC 15. +# See: https://sourceforge.net/p/electricdss/discussion/experts/thread/732634c990/ +gcc14Stdenv.mkDerivation { pname = "opendssc"; version = "10.1.0.1"; diff --git a/packaging/nix/villas.nix b/packaging/nix/villas.nix index 246150a67..2826816c0 100644 --- a/packaging/nix/villas.nix +++ b/packaging/nix/villas.nix @@ -46,7 +46,7 @@ lib, makeWrapper, pkg-config, - stdenv, + gcc14Stdenv, system, # Optional dependencies boxfort, @@ -92,7 +92,10 @@ spdlog, linuxHeaders, }: -stdenv.mkDerivation { + +# We need to stick to gcc14 because OpenDSS is broken and doesn't build on GCC 15. +# See: https://sourceforge.net/p/electricdss/discussion/experts/thread/732634c990/ +gcc14Stdenv.mkDerivation { inherit src version; pname = "villas"; outputs = [