aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
blob: da8cea8ab020a615e5f1bb2d9e900a62764d322c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{
  stdenv, lib, fetchFromGitHub, makeDesktopItem, prusa-slicer
}:
let
  appname = "SuperSlicer";
  version = "2.2.54.0";
  pname = "super-slicer";
  description = "PrusaSlicer fork with more features and faster development cycle";
  override = super: {
    inherit version pname;

    src = fetchFromGitHub {
      owner = "supermerill";
      repo = "SuperSlicer";
      sha256 = "sha256-vvuUecysSdBvGBKOariQnsGJ9/Qccwp/lSq8WCED+Uk=";
      rev = version;
    };

    # See https://github.com/supermerill/SuperSlicer/issues/432
    cmakeFlags = super.cmakeFlags ++ [
      "-DSLIC3R_BUILD_TESTS=0"
    ];

    postInstall = ''
      mkdir -p "$out/share/pixmaps/"
      ln -s "$out/share/SuperSlicer/icons/Slic3r.png" "$out/share/pixmaps/${appname}.png"
      mkdir -p "$out/share/applications"
      cp "$desktopItem"/share/applications/* "$out/share/applications/"
    '';

    desktopItem = makeDesktopItem {
      name = appname;
      exec = "superslicer";
      icon = appname;
      comment = description;
      desktopName = appname;
      genericName = "3D printer tool";
      categories = "Development;";
    };

    meta = with stdenv.lib; {
      inherit description;
      homepage = "https://github.com/supermerili/SuperSlicer";
      license = licenses.agpl3;
      maintainers = with maintainers; [ cab404 moredread ];
    };

  };
in prusa-slicer.overrideAttrs override