summary refs log tree commit diff
diff options
context:
space:
mode:
authorPascal Bach <pascal.bach@nextrem.ch>2019-02-28 19:07:00 +0100
committerPascal Bach <pascal.bach@nextrem.ch>2019-02-28 19:07:00 +0100
commit8b3ffebcdcaf169854b953541a12d0fc075102ea (patch)
treef44cf5df74705fdaa2d24bd8239b9014bcc896e3
parent51c897c37d86240b774e0c00ca44b51db9281dcb (diff)
downloadnixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar.gz
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar.bz2
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar.lz
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar.xz
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.tar.zst
nixpkgs-8b3ffebcdcaf169854b953541a12d0fc075102ea.zip
tautulli/plexpy: 1.4.25 -> 2.1.26 (renamed)
PlexPy was renamed to Tautulli.

This renames the module as well as the application accordingly.
Aliases are kept for backwards compatibility.

# Conflicts:
#	nixos/modules/services/misc/tautulli.nix
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/services/misc/tautulli.nix (renamed from nixos/modules/services/misc/plexpy.nix)28
-rw-r--r--pkgs/servers/plexpy/default.nix41
-rw-r--r--pkgs/servers/tautulli/default.nix55
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix2
7 files changed, 75 insertions, 57 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 32b3f14e82d..6297b9c5f40 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -424,7 +424,7 @@
   ./services/misc/parsoid.nix
   ./services/misc/phd.nix
   ./services/misc/plex.nix
-  ./services/misc/plexpy.nix
+  ./services/misc/tautulli.nix
   ./services/misc/pykms.nix
   ./services/misc/radarr.nix
   ./services/misc/redmine.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 1e6557e1f0e..7fb58a2b800 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -186,6 +186,9 @@ with lib;
     # parsoid
     (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] [ "services" "parsoid" "wikis" ])
 
+    # plexpy / tautulli
+    (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ])
+
     # piwik was renamed to matomo
     (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
     (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ])
diff --git a/nixos/modules/services/misc/plexpy.nix b/nixos/modules/services/misc/tautulli.nix
index 25fdaed6930..50e45036647 100644
--- a/nixos/modules/services/misc/plexpy.nix
+++ b/nixos/modules/services/misc/tautulli.nix
@@ -3,49 +3,49 @@
 with lib;
 
 let
-  cfg = config.services.plexpy;
+  cfg = config.services.tautulli;
 in
 {
   options = {
-    services.plexpy = {
-      enable = mkEnableOption "PlexPy Plex Monitor";
+    services.tautulli = {
+      enable = mkEnableOption "Tautulli Plex Monitor";
 
       dataDir = mkOption {
         type = types.str;
         default = "/var/lib/plexpy";
-        description = "The directory where PlexPy stores its data files.";
+        description = "The directory where Tautulli stores its data files.";
       };
 
       configFile = mkOption {
         type = types.str;
         default = "/var/lib/plexpy/config.ini";
-        description = "The location of PlexPy's config file.";
+        description = "The location of Tautulli's config file.";
       };
 
       port = mkOption {
         type = types.int;
         default = 8181;
-        description = "TCP port where PlexPy listens.";
+        description = "TCP port where Tautulli listens.";
       };
 
       user = mkOption {
         type = types.str;
         default = "plexpy";
-        description = "User account under which PlexPy runs.";
+        description = "User account under which Tautulli runs.";
       };
 
       group = mkOption {
         type = types.str;
         default = "nogroup";
-        description = "Group under which PlexPy runs.";
+        description = "Group under which Tautulli runs.";
       };
 
       package = mkOption {
         type = types.package;
-        default = pkgs.plexpy;
-        defaultText = "pkgs.plexpy";
+        default = pkgs.tautulli;
+        defaultText = "pkgs.tautulli";
         description = ''
-          The PlexPy package to use.
+          The Tautulli package to use.
         '';
       };
     };
@@ -56,8 +56,8 @@ in
       "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -"
     ];
 
-    systemd.services.plexpy = {
-      description = "PlexPy Plex Monitor";
+    systemd.services.tautulli = {
+      description = "Tautulli Plex Monitor";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
@@ -65,7 +65,7 @@ in
         User = cfg.user;
         Group = cfg.group;
         GuessMainPID = "false";
-        ExecStart = "${cfg.package}/bin/plexpy --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port} --pidfile ${cfg.dataDir}/plexpy.pid --nolaunch";
+        ExecStart = "${cfg.package}/bin/tautulli --datadir ${cfg.dataDir} --config ${cfg.configFile} --port ${toString cfg.port} --pidfile ${cfg.dataDir}/tautulli.pid --nolaunch";
         Restart = "on-failure";
       };
     };
diff --git a/pkgs/servers/plexpy/default.nix b/pkgs/servers/plexpy/default.nix
deleted file mode 100644
index 2875ecc5240..00000000000
--- a/pkgs/servers/plexpy/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{stdenv, fetchFromGitHub, python}:
-
-stdenv.mkDerivation rec {
-  version = "1.4.25";
-  pname = "plexpy";
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "JonnyWong16";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0a4ynrfamlwkgqil4n61v47p21czxpjdzg0mias4kdjam2nnwnjx";
-  };
-
-  buildPhase = ":";
-
-  installPhase = ''
-    mkdir -p $out
-    cp -R * $out/
-
-    # Remove superfluous Python checks from main script;
-    # prepend shebang
-    echo "#!${python.interpreter}" > $out/PlexPy.py
-    tail -n +7 PlexPy.py >> $out/PlexPy.py
-
-    mkdir $out/bin
-    # Can't just symlink to the main script, since it uses __file__ to
-    # import bundled packages and manage the service
-    echo "#!/bin/bash" > $out/bin/plexpy
-    echo "$out/PlexPy.py \$*" >> $out/bin/plexpy
-    chmod +x $out/bin/plexpy
-  '';
-
-  meta  = with stdenv.lib; {
-    description = "A Python based monitoring and tracking tool for Plex Media Server.";
-    homepage = http://jonnywong16.github.io/plexpy/;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ csingley ];
-  };
-}
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
new file mode 100644
index 00000000000..5dcd958b799
--- /dev/null
+++ b/pkgs/servers/tautulli/default.nix
@@ -0,0 +1,55 @@
+{stdenv, fetchFromGitHub, python }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.26";
+  pname = "Tautulli";
+  name = "${pname}-${version}";
+
+  pythonPath = [ python.pkgs.setuptools ];
+  buildInputs = [ python.pkgs.setuptools ];
+  nativeBuildInputs = [ python.pkgs.wrapPython ];
+
+  src = fetchFromGitHub {
+    owner = "Tautulli";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1gq13dazbqbzdb0wfw87maprr9nva357zdj8x0lfrbasi3h5522q";
+  };
+
+  buildPhase = ":";
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R * $out/
+
+    # Remove the PlexPy.py compatibility file as it won't work after wrapping.
+    # We still have the plexpy executable in bin for compatibility.
+    rm $out/PlexPy.py
+
+    # Remove superfluous Python checks from main script;
+    # prepend shebang
+    echo "#!${python.interpreter}" > $out/Tautulli.py
+    tail -n +7 Tautulli.py >> $out/Tautulli.py
+
+
+    mkdir $out/bin
+    # Can't just symlink to the main script, since it uses __file__ to
+    # import bundled packages and manage the service
+    echo "#!/bin/bash" > $out/bin/tautulli
+    echo "$out/Tautulli.py \$*" >> $out/bin/tautulli
+    chmod +x $out/bin/tautulli
+
+    # Creat backwards compatibility symlink to bin/plexpy
+    ln -s $out/bin/tautulli $out/bin/plexpy
+
+    wrapPythonProgramsIn "$out" "$out $pythonPath"
+  '';
+
+  meta  = with stdenv.lib; {
+    description = "A Python based monitoring and tracking tool for Plex Media Server.";
+    homepage = https://tautulli.com/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ csingley ];
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 252a87266e7..717e67ba819 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -234,6 +234,7 @@ mapAliases ({
   pidginwindowmerge = pidgin-window-merge; # added 2018-01-08
   piwik = matomo; # added 2018-01-16
   pltScheme = racket; # just to be sure
+  plexpy = tautulli; # plexpy got renamed to tautulli, added 2019-02-22
   pmtools = acpica-tools; # added 2018-11-01
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
   postgresql94 = postgresql_9_4;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1aae4e7598e..631cde06973 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4926,7 +4926,7 @@ in
 
   plex = callPackage ../servers/plex { };
 
-  plexpy = callPackage ../servers/plexpy { python = python2; };
+  tautulli = callPackage ../servers/tautulli { python = python2; };
 
   ploticus = callPackage ../tools/graphics/ploticus {
     libpng = libpng12;