about summary refs log tree commit diff
path: root/pkgs/servers/bazarr
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2022-11-04 13:27:35 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2022-11-07 09:59:25 +0100
commit667e5581d16745bcda791300ae7e2d73f49fff25 (patch)
tree2313aa89b356cf710ec8f8f59eb3f8039ed49eb2 /pkgs/servers/bazarr
parent4488784f4924c8d696c9bc1d6b04646be0c1db3f (diff)
bazarr: update expr
* Add runtime program dependencies to buildInputs, instead of setting
  that up as part of the install phase. This allows hacking on bazarr
  straight from `nix-shell -A bazarr`.
* Add missing preInstall/postInstall hooks.
* Quote shell variables.
* Simplify install path: $out/share/${pname}-${version} -> $out/share/${pname}.
  (There's no point in having the version there, and without proper deep
  overrides it can also create some problems.)
Diffstat (limited to 'pkgs/servers/bazarr')
-rw-r--r--pkgs/servers/bazarr/default.nix34
1 files changed, 25 insertions, 9 deletions
diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix
index 2c58a0fdb323e..ce9b031892225 100644
--- a/pkgs/servers/bazarr/default.nix
+++ b/pkgs/servers/bazarr/default.nix
@@ -1,5 +1,11 @@
 { stdenv, lib, fetchurl, makeWrapper, unzip, python3, unrar, ffmpeg, nixosTests }:
 
+let
+  runtimeProgDeps = [
+    ffmpeg
+    unrar
+  ];
+in
 stdenv.mkDerivation rec {
   pname = "bazarr";
   version = "1.1.2";
@@ -13,16 +19,26 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ unzip makeWrapper ];
 
+  buildInputs = [
+    (python3.withPackages (ps: [ ps.lxml ps.numpy ps.gevent ps.gevent-websocket ]))
+  ] ++ runtimeProgDeps;
+
   installPhase = ''
-    mkdir -p $out/{bin,share/${pname}-${version}}
-    cp -r * $out/share/${pname}-${version}
-    makeWrapper "${
-      (python3.withPackages
-        (ps: [ ps.lxml ps.numpy ps.gevent ps.gevent-websocket ])).interpreter
-    }" \
-      $out/bin/bazarr \
-      --add-flags "$out/share/${pname}-${version}/bazarr.py" \
-      --suffix PATH : ${lib.makeBinPath [ unrar ffmpeg ]}
+    runHook preInstall
+
+    mkdir -p "$out"/{bin,share/${pname}}
+    cp -r * "$out/share/${pname}"
+
+    # Add missing shebang and execute perms so that patchShebangs can do its
+    # thing.
+    sed -i "1i #!/usr/bin/env python3" "$out/share/${pname}/bazarr.py"
+    chmod +x "$out/share/${pname}/bazarr.py"
+
+    makeWrapper "$out/share/${pname}/bazarr.py" \
+        "$out/bin/bazarr" \
+        --suffix PATH : ${lib.makeBinPath runtimeProgDeps}
+
+    runHook postInstall
   '';
 
   passthru.tests = {