1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 python3Packages,
6 libspnav,
7 jq,
8}:
9
10let
11
12 self = {
13
14 octoprint = stdenv.mkDerivation rec {
15 pname = "Cura-OctoPrintPlugin";
16 version = "3.5.18";
17
18 src = fetchFromGitHub {
19 owner = "fieldOfView";
20 repo = "Cura-OctoPrintPlugin";
21 rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
22 sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
23 };
24
25 propagatedBuildInputs = with python3Packages; [
26 netifaces
27 ];
28
29 installPhase = ''
30 mkdir -p $out/lib/cura/plugins/OctoPrintPlugin
31 cp -rv . $out/lib/cura/plugins/OctoPrintPlugin/
32 '';
33
34 meta = with lib; {
35 description = "Enables printing directly to OctoPrint and monitoring the process";
36 homepage = "https://github.com/fieldOfView/Cura-OctoPrintPlugin";
37 license = licenses.agpl3Plus;
38 maintainers = with maintainers; [ ];
39 };
40 };
41
42 rawmouse = stdenv.mkDerivation rec {
43 pname = "RawMouse";
44 version = "1.1.0";
45
46 src = fetchFromGitHub {
47 owner = "smartavionics";
48 repo = "RawMouse";
49 rev = version;
50 sha256 = "0hvi7qwd4xfnqnhbj9dgfjmvv9df7s42asf3fdfxv43n6nx74scw";
51 };
52
53 nativeBuildInputs = [ jq ];
54
55 propagatedBuildInputs = with python3Packages; [
56 hidapi
57 ];
58
59 buildPhase = ''
60 jq 'del(.devices) | .libspnav="${libspnav}/lib/libspnav.so"' \
61 <RawMouse/config.json >RawMouse/config.json.new
62 mv RawMouse/config.json.new RawMouse/config.json
63
64 # remove prebuilt binaries
65 rm -r RawMouse/hidapi
66 '';
67
68 installPhase = ''
69 mkdir -p $out/lib/cura/plugins/RawMouse
70 cp -rv . $out/lib/cura/plugins/RawMouse/
71 '';
72
73 meta = with lib; {
74 description = "Cura plugin for HID mice such as 3Dconnexion spacemouse";
75 homepage = "https://github.com/smartavionics/RawMouse";
76 license = licenses.agpl3Plus;
77 maintainers = with maintainers; [ ];
78 };
79 };
80
81 };
82
83in
84self