diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2022-11-04 13:27:35 +0100 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2022-11-07 09:59:25 +0100 |
commit | 667e5581d16745bcda791300ae7e2d73f49fff25 (patch) | |
tree | 2313aa89b356cf710ec8f8f59eb3f8039ed49eb2 /pkgs/servers/bazarr | |
parent | 4488784f4924c8d696c9bc1d6b04646be0c1db3f (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.nix | 34 |
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 = { |