mirakurun: init at 3.3.0

This commit is contained in:
midchildan
2018-09-09 00:34:46 +09:00
parent 066c604eec
commit c1caf509a9
4 changed files with 679 additions and 1 deletions

View File

@@ -60,6 +60,36 @@ let
nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ];
});
mirakurun = super.mirakurun.override rec {
nativeBuildInputs = with pkgs; [ makeWrapper ];
postInstall = let
runtimeDeps = [ nodejs ] ++ (with pkgs; [ bash which v4l_utils ]);
in
''
substituteInPlace $out/lib/node_modules/mirakurun/processes.json \
--replace "/usr/local" ""
# XXX: Files copied from the Nix store are non-writable, so they need
# to be given explicit write permissions
substituteInPlace $out/lib/node_modules/mirakurun/lib/Mirakurun/config.js \
--replace 'fs.copyFileSync("config/server.yml", path);' \
'fs.copyFileSync("config/server.yml", path); fs.chmodSync(path, 0o644);' \
--replace 'fs.copyFileSync("config/tuners.yml", path);' \
'fs.copyFileSync("config/tuners.yml", path); fs.chmodSync(path, 0o644);' \
--replace 'fs.copyFileSync("config/channels.yml", path);' \
'fs.copyFileSync("config/channels.yml", path); fs.chmodSync(path, 0o644);'
# XXX: The original mirakurun command uses PM2 to manage the Mirakurun
# server. However, we invoke the server directly and let systemd
# manage it to avoid complication. This is okay since no features
# unique to PM2 is currently being used.
makeWrapper ${nodejs}/bin/npm $out/bin/mirakurun \
--add-flags "start" \
--run "cd $out/lib/node_modules/mirakurun" \
--prefix PATH : ${pkgs.lib.makeBinPath runtimeDeps}
'';
};
node-inspector = super.node-inspector.override {
buildInputs = [ self.node-pre-gyp ];
meta.broken = since "10";