From 16142636a43cac70e5c23ed34a4c063a37fb7218 Mon Sep 17 00:00:00 2001 From: Dave Gallant Date: Fri, 13 Aug 2021 20:59:59 -0400 Subject: [PATCH] Bump changedetection to 0.38.2 --- common/changedetection.io/default.nix | 20 ++++++ common/packages.nix | 1 + flake.nix | 1 + .../overlays/changedetection.io/default.nix | 63 ++++++++++++++++++- 4 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 common/changedetection.io/default.nix diff --git a/common/changedetection.io/default.nix b/common/changedetection.io/default.nix new file mode 100644 index 0000000..3d1642f --- /dev/null +++ b/common/changedetection.io/default.nix @@ -0,0 +1,20 @@ +{ config, pkgs, ... }: +let + changedetectionDir = "/var/lib/changedetection.io/"; +in +{ + systemd.services.changedetection = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + preStart = '' + mkdir -p ${changedetectionDir}/datastore + ''; + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.changedetection.io}/bin/changedetection.py -d ${changedetectionDir}/datastore"; + Restart = "on-failure"; + WorkingDirectory = "${changedetectionDir}"; + }; + }; + +} diff --git a/common/packages.nix b/common/packages.nix index 24999ef..bd57b16 100644 --- a/common/packages.nix +++ b/common/packages.nix @@ -170,6 +170,7 @@ in audio-recorder authy calibre + changedetection.io cryptsetup firejail glibcLocales diff --git a/flake.nix b/flake.nix index 2412adb..0e6e157 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,7 @@ ./common/fonts.nix ./common/linux.nix ./common/netdata/default.nix + ./common/changedetection.io/default.nix ./common/opensnitch/default.nix ./common/networking.nix ./common/packages.nix diff --git a/modules/overlays/changedetection.io/default.nix b/modules/overlays/changedetection.io/default.nix index 8d6a3e3..55355d5 100644 --- a/modules/overlays/changedetection.io/default.nix +++ b/modules/overlays/changedetection.io/default.nix @@ -3,6 +3,16 @@ let py = python3.override { packageOverrides = self: super: { + jsonpath-ng = super.buildPythonPackage rec { + pname = "jsonpath-ng"; + doCheck = false; + propagatedBuildInputs = with py.pkgs; [ decorator ply six wtforms ]; + version = "1.5.3"; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-onOxgqgsElbaq4ajE7k3BZJhtcX4xPo/w4uIKzRN1Wc="; + }; + }; timeago = super.buildPythonPackage rec { pname = "timeago"; version = "1.0.15"; @@ -11,6 +21,51 @@ let sha256 = "sha256-z85CDYKJKvayQ50Pae6z6Ha77dq2Zww8iOv3Z2QHv0w="; }; }; + flask = super.buildPythonPackage rec { + pname = "Flask"; + version = "1.1.4"; + propagatedBuildInputs = with py.pkgs; [ click jinja2 itsdangerous werkzeug ]; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-D762GA04OpGG0NbtlU4AQq2fGODo3giLK0GdUmkn0ZY="; + }; + }; + click = super.buildPythonPackage rec { + pname = "click"; + version = "7.1.2"; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo="; + }; + }; + jinja2 = super.buildPythonPackage rec { + pname = "Jinja2"; + version = "2.11.3"; + propagatedBuildInputs = with py.pkgs; [ markupsafe ]; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-ptWEM94K6AA0fKsfowQ867q+i6qdKeZo8cdoy4ejM8Y="; + }; + }; + itsdangerous = super.buildPythonPackage rec { + pname = "itsdangerous"; + version = "1.1.0"; + propagatedBuildInputs = with py.pkgs; [ markupsafe ]; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-MhsDPQfypBNtPsdi6snxahDM1g9TwMka+QIXrOe6Hxk="; + }; + }; + werkzeug = super.buildPythonPackage rec { + pname = "Werkzeug"; + version = "1.0.1"; + doCheck = false; + propagatedBuildInputs = with py.pkgs; [ markupsafe ]; + src = super.fetchPypi { + inherit version pname; + sha256 = "sha256-bICx5a02ZSkOo5MguR4b4eDV9gZSuWSjBwIW3oPS5Hw="; + }; + }; inscriptis = super.buildPythonPackage rec { pname = "inscriptis"; version = "1.2"; @@ -26,25 +81,27 @@ in with py.pkgs; buildPythonApplication rec { pname = "changedetection.io"; - version = "0.30"; + version = "0.38.2"; src = fetchFromGitHub { owner = "dgtlmoon"; repo = "changedetection.io"; - rev = "1d66160e8c9bd3cef8e1727fe66572f8b5065757"; - hash = "sha256-J0J6Jj9f2FD2aH4RWR1VnarX1vqnb5T6YmycxhzuyDw="; + rev = "00fe4d4e41f8e2c7690f164da43f1aba1b6a517e"; + hash = "sha256-BQyX0lzFC97ly/9TyohXBRluURPJ3nAuPjX6JzXKmXg"; }; patches = [ (substituteAll { src = ./setup.patch; }) ]; propagatedBuildInputs = with py.pkgs; [ apprise + beautifulsoup4 chardet eventlet feedgen flask flask_login inscriptis + jsonpath-ng pytest pytest-flask pytz