nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
André-Patrick Bubel f9e2c5443c prusa-slicer: use patched wxWidgets
With the upstream wxWidgets version prusa-slicer crashes under certain
circumstances (https://github.com/NixOS/nixpkgs/issues/168358)

Prusa3D provides a patched version of wxWidgets, fixing this and other issues.

The 'wxGTK31-gtk3-override' option provides a way to specify the
wxWidgets package, e.g. so that `super-slicer` can use its own version.
2022-04-24 10:12:37 +02:00

61 lines
1.7 KiB
Nix

{ lib, fetchFromGitHub, makeDesktopItem, prusa-slicer, wxGTK31-gtk3 }:
let
appname = "SuperSlicer";
pname = "super-slicer";
description = "PrusaSlicer fork with more features and faster development cycle";
versions = {
stable = { version = "2.3.57.12"; sha256 = "sha256-lePhDRHI++9zs54bTt2/Lu6ZQ7egjJCWb752aI0s7Mw=="; };
latest = { version = "2.3.57.12"; sha256 = "sha256-lePhDRHI++9zs54bTt2/Lu6ZQ7egjJCWb752aI0s7Mw=="; };
};
override = { version, sha256 }: super: {
inherit version pname;
src = fetchFromGitHub {
owner = "supermerill";
repo = "SuperSlicer";
inherit sha256;
rev = version;
fetchSubmodules = true;
};
patches = null;
# We don't need PS overrides anymore, and gcode-viewer is embedded in the binary.
postInstall = null;
separateDebugInfo = true;
# See https://github.com/supermerill/SuperSlicer/issues/432
cmakeFlags = super.cmakeFlags ++ [
"-DSLIC3R_BUILD_TESTS=0"
];
desktopItems = [
(makeDesktopItem {
name = "superslicer";
exec = "superslicer";
icon = appname;
comment = description;
desktopName = appname;
genericName = "3D printer tool";
categories = [ "Development" ];
})
];
meta = with lib; {
inherit description;
homepage = "https://github.com/supermerill/SuperSlicer";
license = licenses.agpl3;
maintainers = with maintainers; [ cab404 moredread ];
mainProgram = "superslicer";
};
passthru = allVersions;
};
prusa-slicer' = prusa-slicer.override { wxGTK31-gtk3-override = wxGTK31-gtk3; };
allVersions = builtins.mapAttrs (_name: version: (prusa-slicer'.overrideAttrs (override version))) versions;
in
allVersions.stable