mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-16 09:03:42 +00:00
octoprint-plugins: use same python as octoprint, use overlays
- ensure the plugins use the same python as octoprint - overlay of overriding plugins - drop octoprint-plugins attribute
This commit is contained in:
parent
610da69d28
commit
7066dc85ba
@ -17,9 +17,9 @@ let
|
|||||||
|
|
||||||
cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON fullConfig);
|
cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON fullConfig);
|
||||||
|
|
||||||
pluginsEnv = pkgs.python.buildEnv.override {
|
pluginsEnv = package.python.withPackages (ps: [ps.octoprint] ++ (cfg.plugins ps));
|
||||||
extraLibs = cfg.plugins pkgs.octoprint-plugins;
|
|
||||||
};
|
package = pkgs.octoprint;
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -106,7 +106,6 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
path = [ pluginsEnv ];
|
path = [ pluginsEnv ];
|
||||||
environment.PYTHONPATH = makeSearchPathOutput "lib" pkgs.python.sitePackages [ pluginsEnv ];
|
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
if [ -e "${cfg.stateDir}/config.yaml" ]; then
|
if [ -e "${cfg.stateDir}/config.yaml" ]; then
|
||||||
@ -119,7 +118,7 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.octoprint}/bin/octoprint serve -b ${cfg.stateDir}";
|
ExecStart = "${pluginsEnv}/bin/octoprint serve -b ${cfg.stateDir}";
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, python3 }:
|
{ pkgs, stdenv, lib, fetchFromGitHub, python3
|
||||||
|
# To include additional plugins, pass them here as an overlay.
|
||||||
|
, packageOverrides ? self: super: {}
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
mkOverride = attrname: version: sha256:
|
mkOverride = attrname: version: sha256:
|
||||||
self: super: {
|
self: super: {
|
||||||
@ -11,6 +14,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
py = python3.override {
|
py = python3.override {
|
||||||
|
self = py;
|
||||||
packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([
|
packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([
|
||||||
(mkOverride "flask" "0.12.5" "fac2b9d443e49f7e7358a444a3db5950bdd0324674d92ba67f8f1f15f876b14f")
|
(mkOverride "flask" "0.12.5" "fac2b9d443e49f7e7358a444a3db5950bdd0324674d92ba67f8f1f15f876b14f")
|
||||||
(mkOverride "tornado" "4.5.3" "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d")
|
(mkOverride "tornado" "4.5.3" "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d")
|
||||||
@ -19,8 +23,8 @@ let
|
|||||||
# Octoprint holds back jinja2 to 2.8.1 due to breaking changes.
|
# Octoprint holds back jinja2 to 2.8.1 due to breaking changes.
|
||||||
# This old version does not have updated test config for pytest 4,
|
# This old version does not have updated test config for pytest 4,
|
||||||
# and pypi tarball doesn't contain tests dir anyways.
|
# and pypi tarball doesn't contain tests dir anyways.
|
||||||
(pself: psuper: {
|
(self: super: {
|
||||||
jinja2 = psuper.jinja2.overridePythonAttrs (oldAttrs: rec {
|
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
|
||||||
version = "2.8.1";
|
version = "2.8.1";
|
||||||
src = oldAttrs.src.override {
|
src = oldAttrs.src.override {
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -29,69 +33,72 @@ let
|
|||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
httpretty = psuper.httpretty.overridePythonAttrs (oldAttrs: rec {
|
httpretty = super.httpretty.overridePythonAttrs (oldAttrs: rec {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
celery = psuper.celery.overridePythonAttrs (oldAttrs: rec {
|
celery = super.celery.overridePythonAttrs (oldAttrs: rec {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
(self: super: {
|
||||||
|
octoprint = self.buildPythonPackage rec {
|
||||||
|
pname = "OctoPrint";
|
||||||
|
version = "1.4.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "foosel";
|
||||||
|
repo = "OctoPrint";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1zla1ayr62lkvkr828dh3y287rzj3rv1hpij9kws44ynn4i582ga";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [
|
||||||
|
awesome-slugify flask flask_assets rsa requests pkginfo watchdog
|
||||||
|
semantic-version werkzeug flaskbabel tornado
|
||||||
|
psutil pyserial flask_login netaddr markdown
|
||||||
|
pylru pyyaml sarge feedparser netifaces click websocket_client
|
||||||
|
scandir chainmap future wrapt monotonic emoji jinja2
|
||||||
|
frozendict cachelib sentry-sdk filetype markupsafe
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
|
||||||
|
|
||||||
|
checkInputs = with super; [ pytestCheckHook mock ddt ];
|
||||||
|
|
||||||
|
postPatch = let
|
||||||
|
ignoreVersionConstraints = [
|
||||||
|
"sentry-sdk"
|
||||||
|
];
|
||||||
|
in ''
|
||||||
|
sed -r -i \
|
||||||
|
${lib.concatStringsSep "\n" (map (e:
|
||||||
|
''-e 's@${e}[<>=]+.*@${e}",@g' \''
|
||||||
|
) ignoreVersionConstraints)}
|
||||||
|
setup.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontUseSetuptoolsCheck = true;
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
rm pytest.ini
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
"test_check_setup" # Why should it be able to call pip?
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
"test_set_external_modification"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://octoprint.org/;
|
||||||
|
description = "The snappy web interface for your 3D printer";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(import ./plugins.nix {inherit pkgs;})
|
||||||
|
packageOverrides
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
in with py.pkgs; toPythonApplication octoprint
|
||||||
ignoreVersionConstraints = [
|
|
||||||
"sentry-sdk"
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
|
||||||
py.pkgs.buildPythonApplication rec {
|
|
||||||
pname = "OctoPrint";
|
|
||||||
version = "1.4.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "foosel";
|
|
||||||
repo = "OctoPrint";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1zla1ayr62lkvkr828dh3y287rzj3rv1hpij9kws44ynn4i582ga";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = with py.pkgs; [
|
|
||||||
awesome-slugify flask flask_assets rsa requests pkginfo watchdog
|
|
||||||
semantic-version werkzeug flaskbabel tornado
|
|
||||||
psutil pyserial flask_login netaddr markdown
|
|
||||||
pylru pyyaml sarge feedparser netifaces click websocket_client
|
|
||||||
scandir chainmap future wrapt monotonic emoji jinja2
|
|
||||||
frozendict cachelib sentry-sdk filetype markupsafe
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
|
|
||||||
|
|
||||||
checkInputs = with py.pkgs; [ pytestCheckHook mock ddt ];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
sed -r -i \
|
|
||||||
${lib.concatStringsSep "\n" (map (e:
|
|
||||||
''-e 's@${e}[<>=]+.*@${e}",@g' \''
|
|
||||||
) ignoreVersionConstraints)}
|
|
||||||
setup.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontUseSetuptoolsCheck = true;
|
|
||||||
|
|
||||||
preCheck = ''
|
|
||||||
export HOME=$(mktemp -d)
|
|
||||||
rm pytest.ini
|
|
||||||
'';
|
|
||||||
|
|
||||||
disabledTests = [
|
|
||||||
"test_check_setup" # Why should it be able to call pip?
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
"test_set_external_modification"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = https://octoprint.org/;
|
|
||||||
description = "The snappy web interface for your 3D printer";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
@ -1,255 +1,255 @@
|
|||||||
{ stdenv, fetchgit, fetchFromGitHub, octoprint, python2Packages, marlin-calc }:
|
{ pkgs }:
|
||||||
|
|
||||||
let
|
with pkgs;
|
||||||
buildPlugin = args: python2Packages.buildPythonPackage (args // {
|
|
||||||
|
self: super: let
|
||||||
|
buildPlugin = args: self.buildPythonPackage (args // {
|
||||||
pname = "OctoPrintPlugin-${args.pname}";
|
pname = "OctoPrintPlugin-${args.pname}";
|
||||||
inherit (args) version;
|
inherit (args) version;
|
||||||
propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ [ octoprint ];
|
propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ [ super.octoprint ];
|
||||||
# none of the following have tests
|
# none of the following have tests
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
in {
|
||||||
|
inherit buildPlugin;
|
||||||
|
|
||||||
self = {
|
# Deprecated alias
|
||||||
|
m3d-fio = self.m33-fio; # added 2016-08-13
|
||||||
|
|
||||||
# Deprecated alias
|
m33-fio = buildPlugin rec {
|
||||||
m3d-fio = self.m33-fio; # added 2016-08-13
|
pname = "M33-Fio";
|
||||||
|
version = "1.21";
|
||||||
|
|
||||||
m33-fio = buildPlugin rec {
|
src = fetchFromGitHub {
|
||||||
pname = "M33-Fio";
|
owner = "donovan6000";
|
||||||
version = "1.21";
|
repo = "M33-Fio";
|
||||||
|
rev = "V${version}";
|
||||||
src = fetchFromGitHub {
|
sha256 = "1la3611kkqn8yiwjn6cizc45ri8pnk6ckld1na4nk6mqk88jvjq7";
|
||||||
owner = "donovan6000";
|
|
||||||
repo = "M33-Fio";
|
|
||||||
rev = "V${version}";
|
|
||||||
sha256 = "1la3611kkqn8yiwjn6cizc45ri8pnk6ckld1na4nk6mqk88jvjq7";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./m33-fio-one-library.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
rm -rf octoprint_m33fio/static/libraries/*
|
|
||||||
(
|
|
||||||
cd 'shared library source'
|
|
||||||
make
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "OctoPrint plugin for the Micro 3D printer";
|
|
||||||
homepage = https://github.com/donovan6000/M33-Fio;
|
|
||||||
license = licenses.gpl3;
|
|
||||||
maintainers = with maintainers; [ abbradar ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mqtt = buildPlugin rec {
|
patches = [
|
||||||
pname = "MQTT";
|
./m33-fio-one-library.patch
|
||||||
version = "0.8.6";
|
];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
postPatch = ''
|
||||||
owner = "OctoPrint";
|
rm -rf octoprint_m33fio/static/libraries/*
|
||||||
repo = "OctoPrint-MQTT";
|
(
|
||||||
rev = version;
|
cd 'shared library source'
|
||||||
sha256 = "0y1jnfplcy8mh3szrfbbvngl02j49cbdizglrfsry4fvqg50zjxd";
|
make
|
||||||
};
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = with python2Packages; [ paho-mqtt ];
|
meta = with stdenv.lib; {
|
||||||
|
description = "OctoPrint plugin for the Micro 3D printer";
|
||||||
meta = with stdenv.lib; {
|
homepage = https://github.com/donovan6000/M33-Fio;
|
||||||
description = "Publish printer status MQTT";
|
license = licenses.gpl3;
|
||||||
homepage = https://github.com/OctoPrint/OctoPrint-MQTT;
|
maintainers = with maintainers; [ abbradar ];
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
titlestatus = buildPlugin rec {
|
|
||||||
pname = "TitleStatus";
|
|
||||||
version = "0.0.4";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "MoonshineSG";
|
|
||||||
repo = "OctoPrint-TitleStatus";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Show printers status in window title";
|
|
||||||
homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ abbradar ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
stlviewer = buildPlugin rec {
|
|
||||||
pname = "STLViewer";
|
|
||||||
version = "0.4.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "jneilliii";
|
|
||||||
repo = "OctoPrint-STLViewer";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A simple stl viewer tab for OctoPrint";
|
|
||||||
homepage = https://github.com/jneilliii/Octoprint-STLViewer;
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ abbradar ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
curaenginelegacy = buildPlugin rec {
|
|
||||||
pname = "CuraEngineLegacy";
|
|
||||||
version = "1.0.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "OctoPrint";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1cdb276wfyf3wcfj5g3migd6b6aqmkrxncrqjfcfx4j4k3xac965";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Plugin for slicing via Cura Legacy from within OctoPrint";
|
|
||||||
homepage = "https://github.com/OctoPrint/OctoPrint-CuraEngineLegacy";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ gebner ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
touchui = buildPlugin rec {
|
|
||||||
pname = "TouchUI";
|
|
||||||
version = "0.3.13";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "BillyBlaze";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "0qk12ysabdzy6cna3l4f8v3qcnppppwxxsjx2i0xn1nd0cv6yzwh";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Touch friendly interface for a small TFT module or phone for OctoPrint";
|
|
||||||
homepage = "https://github.com/BillyBlaze/OctoPrint-TouchUI";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ gebner ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
psucontrol = buildPlugin rec {
|
|
||||||
pname = "PSUControl";
|
|
||||||
version = "0.1.8";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kantlivelong";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "0aj38d7b7d5pzmzq841pip18cpg18wy2vrxq2nd13875597y54b8";
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
# optional; RPi.GPIO is broken on vanilla kernels
|
|
||||||
sed /RPi.GPIO/d -i requirements.txt
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "OctoPrint plugin to control ATX/AUX power supply";
|
|
||||||
homepage = "https://github.com/kantlivelong/OctoPrint-PSUControl";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ gebner ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
printtimegenius = buildPlugin rec {
|
|
||||||
pname = "PrintTimeGenius";
|
|
||||||
version = "2.2.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "eyal0";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1dr93vbpxgxw3b1q4rwam8f4dmiwr5vnfr9796g6jx8xkpfzzy1h";
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
# PrintTimeGenius ships with marlin-calc binaries for multiple architectures
|
|
||||||
rm */analyzers/marlin-calc*
|
|
||||||
sed 's@"{}.{}".format(binary_base_name, machine)@"${marlin-calc}/bin/marlin-calc"@' -i */analyzers/analyze_progress.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./printtimegenius-logging.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Better print time estimation for OctoPrint";
|
|
||||||
homepage = "https://github.com/eyal0/OctoPrint-PrintTimeGenius";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ gebner ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
abl-expert = buildPlugin rec {
|
|
||||||
pname = "ABL_Expert";
|
|
||||||
version = "2019-12-21";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://framagit.org/razer/Octoprint_ABL_Expert/";
|
|
||||||
rev = "f11fbe05088ad618bfd9d064ac3881faec223f33";
|
|
||||||
sha256 = "026r4prkyvwzxag5pv36455q7s3gaig37nmr2nbvhwq3d2lbi5s4";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Marlin auto bed leveling control, mesh correction, and z probe handling";
|
|
||||||
homepage = "https://framagit.org/razer/Octoprint_ABL_Expert/";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ WhittlesJr ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gcodeeditor = buildPlugin rec {
|
|
||||||
pname = "GcodeEditor";
|
|
||||||
version = "0.2.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ieatacid";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "0c6p78r3vd6ys3kld308pyln09zjbr9yif1ljvcx6wlml2i5l1vh";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Edit gcode on OctoPrint";
|
|
||||||
homepage = "https://github.com/Sebclem/OctoPrint-SimpleEmergencyStop";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ WhittlesJr ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
simpleemergencystop = buildPlugin rec {
|
|
||||||
pname = "SimpleEmergencyStop";
|
|
||||||
version = "0.2.5";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Sebclem";
|
|
||||||
repo = "OctoPrint-${pname}";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "10wadv09wv2h96igvq3byw9hz1si82n3c7v5y0ii3j7hm2d06y8p";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A simple plugin that add an emergency stop buton on NavBar of OctoPrint";
|
|
||||||
homepage = "https://github.com/ieatacid/OctoPrint-GcodeEditor";
|
|
||||||
license = licenses.agpl3;
|
|
||||||
maintainers = with maintainers; [ WhittlesJr ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in self
|
mqtt = buildPlugin rec {
|
||||||
|
pname = "MQTT";
|
||||||
|
version = "0.8.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "OctoPrint";
|
||||||
|
repo = "OctoPrint-MQTT";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0y1jnfplcy8mh3szrfbbvngl02j49cbdizglrfsry4fvqg50zjxd";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with super; [ paho-mqtt ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Publish printer status MQTT";
|
||||||
|
homepage = https://github.com/OctoPrint/OctoPrint-MQTT;
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
titlestatus = buildPlugin rec {
|
||||||
|
pname = "TitleStatus";
|
||||||
|
version = "0.0.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "MoonshineSG";
|
||||||
|
repo = "OctoPrint-TitleStatus";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Show printers status in window title";
|
||||||
|
homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ abbradar ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
stlviewer = buildPlugin rec {
|
||||||
|
pname = "STLViewer";
|
||||||
|
version = "0.4.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jneilliii";
|
||||||
|
repo = "OctoPrint-STLViewer";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A simple stl viewer tab for OctoPrint";
|
||||||
|
homepage = https://github.com/jneilliii/Octoprint-STLViewer;
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ abbradar ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
curaenginelegacy = buildPlugin rec {
|
||||||
|
pname = "CuraEngineLegacy";
|
||||||
|
version = "1.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "OctoPrint";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1cdb276wfyf3wcfj5g3migd6b6aqmkrxncrqjfcfx4j4k3xac965";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Plugin for slicing via Cura Legacy from within OctoPrint";
|
||||||
|
homepage = "https://github.com/OctoPrint/OctoPrint-CuraEngineLegacy";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
touchui = buildPlugin rec {
|
||||||
|
pname = "TouchUI";
|
||||||
|
version = "0.3.13";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "BillyBlaze";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0qk12ysabdzy6cna3l4f8v3qcnppppwxxsjx2i0xn1nd0cv6yzwh";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Touch friendly interface for a small TFT module or phone for OctoPrint";
|
||||||
|
homepage = "https://github.com/BillyBlaze/OctoPrint-TouchUI";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
psucontrol = buildPlugin rec {
|
||||||
|
pname = "PSUControl";
|
||||||
|
version = "0.1.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kantlivelong";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0aj38d7b7d5pzmzq841pip18cpg18wy2vrxq2nd13875597y54b8";
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# optional; RPi.GPIO is broken on vanilla kernels
|
||||||
|
sed /RPi.GPIO/d -i requirements.txt
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "OctoPrint plugin to control ATX/AUX power supply";
|
||||||
|
homepage = "https://github.com/kantlivelong/OctoPrint-PSUControl";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
printtimegenius = buildPlugin rec {
|
||||||
|
pname = "PrintTimeGenius";
|
||||||
|
version = "2.2.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "eyal0";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1dr93vbpxgxw3b1q4rwam8f4dmiwr5vnfr9796g6jx8xkpfzzy1h";
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# PrintTimeGenius ships with marlin-calc binaries for multiple architectures
|
||||||
|
rm */analyzers/marlin-calc*
|
||||||
|
sed 's@"{}.{}".format(binary_base_name, machine)@"${pkgs.marlin-calc}/bin/marlin-calc"@' -i */analyzers/analyze_progress.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./printtimegenius-logging.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Better print time estimation for OctoPrint";
|
||||||
|
homepage = "https://github.com/eyal0/OctoPrint-PrintTimeGenius";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ gebner ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
abl-expert = buildPlugin rec {
|
||||||
|
pname = "ABL_Expert";
|
||||||
|
version = "2019-12-21";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://framagit.org/razer/Octoprint_ABL_Expert/";
|
||||||
|
rev = "f11fbe05088ad618bfd9d064ac3881faec223f33";
|
||||||
|
sha256 = "026r4prkyvwzxag5pv36455q7s3gaig37nmr2nbvhwq3d2lbi5s4";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Marlin auto bed leveling control, mesh correction, and z probe handling";
|
||||||
|
homepage = "https://framagit.org/razer/Octoprint_ABL_Expert/";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ WhittlesJr ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gcodeeditor = buildPlugin rec {
|
||||||
|
pname = "GcodeEditor";
|
||||||
|
version = "0.2.6";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ieatacid";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0c6p78r3vd6ys3kld308pyln09zjbr9yif1ljvcx6wlml2i5l1vh";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Edit gcode on OctoPrint";
|
||||||
|
homepage = "https://github.com/Sebclem/OctoPrint-SimpleEmergencyStop";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ WhittlesJr ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
simpleemergencystop = buildPlugin rec {
|
||||||
|
pname = "SimpleEmergencyStop";
|
||||||
|
version = "0.2.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Sebclem";
|
||||||
|
repo = "OctoPrint-${pname}";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "10wadv09wv2h96igvq3byw9hz1si82n3c7v5y0ii3j7hm2d06y8p";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A simple plugin that add an emergency stop buton on NavBar of OctoPrint";
|
||||||
|
homepage = "https://github.com/ieatacid/OctoPrint-GcodeEditor";
|
||||||
|
license = licenses.agpl3;
|
||||||
|
maintainers = with maintainers; [ WhittlesJr ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -20900,7 +20900,7 @@ in
|
|||||||
|
|
||||||
octoprint = callPackage ../applications/misc/octoprint { };
|
octoprint = callPackage ../applications/misc/octoprint { };
|
||||||
|
|
||||||
octoprint-plugins = callPackage ../applications/misc/octoprint/plugins.nix { };
|
octoprint-plugins = throw ''octoprint-plugins are now part of the octoprint package set.'';
|
||||||
|
|
||||||
ocrad = callPackage ../applications/graphics/ocrad { };
|
ocrad = callPackage ../applications/graphics/ocrad { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user