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