about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/cura/plugins.nix
blob: 95d3a2aa93336b9c012c32227aa427957bd95683 (plain) (blame)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{ lib, stdenv, fetchFromGitHub, python3Packages, libspnav, jq }:

let

  self = {

    octoprint = stdenv.mkDerivation rec {
      pname = "Cura-OctoPrintPlugin";
      version = "3.5.18";

      src = fetchFromGitHub {
        owner = "fieldOfView";
        repo = pname;
        rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
        sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
      };

      propagatedBuildInputs = with python3Packages; [
        netifaces
      ];

      installPhase = ''
        mkdir -p $out/lib/cura/plugins/OctoPrintPlugin
        cp -rv . $out/lib/cura/plugins/OctoPrintPlugin/
      '';

      meta = with lib; {
        description = "Enables printing directly to OctoPrint and monitoring the process";
        homepage = "https://github.com/fieldOfView/Cura-OctoPrintPlugin";
        license = licenses.agpl3;
        maintainers = with maintainers; [ gebner ];
      };
    };

    rawmouse = stdenv.mkDerivation rec {
      pname = "RawMouse";
      version = "1.1.0";

      src = fetchFromGitHub {
        owner = "smartavionics";
        repo = pname;
        rev = version;
        sha256 = "0hvi7qwd4xfnqnhbj9dgfjmvv9df7s42asf3fdfxv43n6nx74scw";
      };

      nativeBuildInputs = [ jq ];

      propagatedBuildInputs = with python3Packages; [
        hidapi
      ];

      buildPhase = ''
        jq 'del(.devices) | .libspnav="${libspnav}/lib/libspnav.so"' \
          <RawMouse/config.json >RawMouse/config.json.new
        mv RawMouse/config.json.new RawMouse/config.json

        # remove prebuilt binaries
        rm -r RawMouse/hidapi
      '';

      installPhase = ''
        mkdir -p $out/lib/cura/plugins/RawMouse
        cp -rv . $out/lib/cura/plugins/RawMouse/
      '';

      meta = with lib; {
        description = "Cura plugin for HID mice such as 3Dconnexion spacemouse";
        homepage = "https://github.com/smartavionics/RawMouse";
        license = licenses.agpl3Plus;
        maintainers = with maintainers; [ gebner ];
      };
    };

  };

in self