From 2ab66546720c3fb60678b365ed5be5474a1e2cad Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 1 Aug 2024 17:20:33 +0300 Subject: [PATCH] prusa-slicer: build with clang See comment for why. --- pkgs/applications/misc/prusa-slicer/default.nix | 3 +++ pkgs/top-level/all-packages.nix | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index 96fc551595b5..a9d78e9884e1 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -128,6 +128,9 @@ stdenv.mkDerivation (finalAttrs: { # prusa-slicer uses dlopen on `libudev.so` at runtime NIX_LDFLAGS = lib.optionalString withSystemd "-ludev"; + # FIXME: remove in 2.8.0 + NIX_CFLAGS_COMPILE = "-Wno-enum-constexpr-conversion"; + prePatch = '' # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx # now seems to be integrated into the main lib. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a10324e004e..736492f80f44 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33835,7 +33835,10 @@ with pkgs; printrun = callPackage ../applications/misc/printrun { }; prusa-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer { - stdenv = if stdenv.isDarwin then overrideSDK llvmPackages_14.stdenv "11.0" else stdenv; + # Build with clang even on Linux, because GCC uses absolutely obscene amounts of memory + # on this particular code base (OOM with 32GB memory and --cores 16 on GCC, succeeds + # with --cores 32 on clang). + stdenv = if stdenv.isDarwin then overrideSDK llvmPackages.stdenv "11.0" else llvmPackages.stdenv; }; super-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer/super-slicer.nix { };