nixpkgs-suyu/pkgs/applications/misc/octoprint/ffmpeg-path.patch
Martin Weinelt fe6d9366c9
octoprint: 1.5.3 -> 1.6.1
Hardcode path to pip so octoprint will find it and recognize it cannot
write to its install dir with the /nix/store. This causes less, at least
when looking at the log output, compared to not having pip accessible at
all.

Hardcore path to ffmpeg, because it is not reasonable on a NixOS setup
to not treat this as a dependency. At the same time we hide the related
settings form, so the user cannot overwrite it.
Having the user input a sensible path would require installing ffmpeg
into the environment, not a great solution, so patching it is.
2021-08-23 01:55:11 +02:00

41 lines
2 KiB
Diff

diff --git a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2 b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
index 79342dcd7..6165a4119 100644
--- a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
+++ b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
@@ -29,14 +29,3 @@
{% include "snippets/settings/webcam/webcamStreamUrl.jinja2" %}
{% include "snippets/settings/webcam/webcamSnapshotUrl.jinja2" %}
</form>
-
-<h4>{{ _('Timelapse Recordings') }}</h4>
-
-{% trans %}<p>
- To render the snapshots into timelapse recordings, OctoPrint also needs to
- know the correct <strong>path to FFMPEG</strong>.
-</p>{% endtrans %}
-
-<form class="form-horizontal" data-bind="with: settingsViewModel" onsubmit="return false;">
- {% include "snippets/settings/webcam/ffmpegPath.jinja2" %}
-</form>
diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py
index c3e6cea10..ced2f8fa0 100644
--- a/src/octoprint/server/api/settings.py
+++ b/src/octoprint/server/api/settings.py
@@ -130,7 +130,7 @@ def getSettings():
"snapshotUrl": s.get(["webcam", "snapshot"]),
"snapshotTimeout": s.getInt(["webcam", "snapshotTimeout"]),
"snapshotSslValidation": s.getBoolean(["webcam", "snapshotSslValidation"]),
- "ffmpegPath": s.get(["webcam", "ffmpeg"]),
+ "ffmpegPath": "@ffmpeg@",
"ffmpegCommandline": s.get(["webcam", "ffmpegCommandline"]),
"bitrate": s.get(["webcam", "bitrate"]),
"ffmpegThreads": s.get(["webcam", "ffmpegThreads"]),
@@ -548,8 +548,6 @@ def _saveSettings(data):
["webcam", "snapshotSslValidation"],
data["webcam"]["snapshotSslValidation"],
)
- if "ffmpegPath" in data["webcam"]:
- s.set(["webcam", "ffmpeg"], data["webcam"]["ffmpegPath"])
if "ffmpegCommandline" in data["webcam"]:
commandline = data["webcam"]["ffmpegCommandline"]
if not all(