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.)

+25 -9
+25 -9
pkgs/servers/bazarr/default.nix
··· 1 1 { stdenv, lib, fetchurl, makeWrapper, unzip, python3, unrar, ffmpeg, nixosTests }: 2 2 3 + let 4 + runtimeProgDeps = [ 5 + ffmpeg 6 + unrar 7 + ]; 8 + in 3 9 stdenv.mkDerivation rec { 4 10 pname = "bazarr"; 5 11 version = "1.1.2"; ··· 13 19 14 20 nativeBuildInputs = [ unzip makeWrapper ]; 15 21 22 + buildInputs = [ 23 + (python3.withPackages (ps: [ ps.lxml ps.numpy ps.gevent ps.gevent-websocket ])) 24 + ] ++ runtimeProgDeps; 25 + 16 26 installPhase = '' 17 - mkdir -p $out/{bin,share/${pname}-${version}} 18 - cp -r * $out/share/${pname}-${version} 19 - makeWrapper "${ 20 - (python3.withPackages 21 - (ps: [ ps.lxml ps.numpy ps.gevent ps.gevent-websocket ])).interpreter 22 - }" \ 23 - $out/bin/bazarr \ 24 - --add-flags "$out/share/${pname}-${version}/bazarr.py" \ 25 - --suffix PATH : ${lib.makeBinPath [ unrar ffmpeg ]} 27 + runHook preInstall 28 + 29 + mkdir -p "$out"/{bin,share/${pname}} 30 + cp -r * "$out/share/${pname}" 31 + 32 + # Add missing shebang and execute perms so that patchShebangs can do its 33 + # thing. 34 + sed -i "1i #!/usr/bin/env python3" "$out/share/${pname}/bazarr.py" 35 + chmod +x "$out/share/${pname}/bazarr.py" 36 + 37 + makeWrapper "$out/share/${pname}/bazarr.py" \ 38 + "$out/bin/bazarr" \ 39 + --suffix PATH : ${lib.makeBinPath runtimeProgDeps} 40 + 41 + runHook postInstall 26 42 ''; 27 43 28 44 passthru.tests = {