about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/tautulli
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-03-16 17:16:21 +0000
committerAlyssa Ross <hi@alyssa.is>2019-03-16 22:36:36 +0000
commitcb6d0ec12187e0c2c11b203f3d8fa62790628141 (patch)
tree0ca0fedc67d5676e89438cffa3e0865eee0962e4 /nixpkgs/pkgs/servers/tautulli
parent4d83b8e578d3a0b78d2694921c944172b009036a (diff)
parentda1a2b1eeafa66b4419b4f275396d8a731eccb61 (diff)
downloadnixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar.gz
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar.bz2
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar.lz
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar.xz
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.tar.zst
nixlib-cb6d0ec12187e0c2c11b203f3d8fa62790628141.zip
Merge commit 'da1a2b1eeafa66b4419b4f275396d8a731eccb61'
Diffstat (limited to 'nixpkgs/pkgs/servers/tautulli')
-rw-r--r--nixpkgs/pkgs/servers/tautulli/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/tautulli/default.nix b/nixpkgs/pkgs/servers/tautulli/default.nix
new file mode 100644
index 000000000000..5dcd958b799f
--- /dev/null
+++ b/nixpkgs/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 ];
+  };
+}