Merge pull request #266926 from nbraud/mpvScripts/buildLua/extraScripts
mpvScripts.buildLua: Add `extraScripts` parameter, infer `scriptName` better
This commit is contained in:
commit
faf93f9750
3 changed files with 24 additions and 7 deletions
|
@ -1,10 +1,24 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenvNoCC }:
|
, stdenvNoCC }:
|
||||||
|
|
||||||
let fileName = pathStr: lib.last (lib.splitString "/" pathStr);
|
let
|
||||||
|
escapedList = with lib; concatMapStringsSep " " (s: "'${escape [ "'" ] s}'");
|
||||||
|
fileName = pathStr: lib.last (lib.splitString "/" pathStr);
|
||||||
|
scriptsDir = "$out/share/mpv/scripts";
|
||||||
in
|
in
|
||||||
lib.makeOverridable (
|
lib.makeOverridable (
|
||||||
{ pname, scriptPath ? "${pname}.lua", ... }@args:
|
{ pname
|
||||||
|
, extraScripts ? []
|
||||||
|
, ... }@args:
|
||||||
|
let
|
||||||
|
# either passthru.scriptName, inferred from scriptPath, or from pname
|
||||||
|
scriptName = (args.passthru or {}).scriptName or (
|
||||||
|
if args ? scriptPath
|
||||||
|
then fileName args.scriptPath
|
||||||
|
else "${pname}.lua"
|
||||||
|
);
|
||||||
|
scriptPath = args.scriptPath or "./${scriptName}";
|
||||||
|
in
|
||||||
stdenvNoCC.mkDerivation (lib.attrsets.recursiveUpdate {
|
stdenvNoCC.mkDerivation (lib.attrsets.recursiveUpdate {
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
@ -12,11 +26,12 @@ lib.makeOverridable (
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
install -m644 -Dt $out/share/mpv/scripts ${scriptPath}
|
install -m644 -Dt "${scriptsDir}" \
|
||||||
|
${escapedList ([ scriptPath ] ++ extraScripts)}
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.scriptName = fileName scriptPath;
|
passthru = { inherit scriptName; };
|
||||||
meta.platforms = lib.platforms.all;
|
meta.platforms = lib.platforms.all;
|
||||||
} args)
|
} args)
|
||||||
)
|
)
|
||||||
|
|
|
@ -15,8 +15,8 @@ buildLua rec {
|
||||||
hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns=";
|
hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.scriptName = "quality-menu.lua";
|
scriptPath = "quality-menu.lua";
|
||||||
scriptPath = if oscSupport then "*.lua" else passthru.scriptName;
|
extraScripts = lib.optional oscSupport "quality-menu-osc.lua";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly";
|
description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly";
|
||||||
|
|
|
@ -15,7 +15,9 @@ buildLua rec {
|
||||||
postPatch = "patchShebangs concat_files.py";
|
postPatch = "patchShebangs concat_files.py";
|
||||||
dontBuild = false;
|
dontBuild = false;
|
||||||
|
|
||||||
scriptPath = "mpv_thumbnail_script_{client_osc,server}.lua";
|
scriptPath = "mpv_thumbnail_script_client_osc.lua";
|
||||||
|
extraScripts = [ "mpv_thumbnail_script_server.lua" ];
|
||||||
|
passthru.scriptName = "mpv_thumbnail_script_{client_osc,server}.lua";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A lua script to show preview thumbnails in mpv's OSC seekbar";
|
description = "A lua script to show preview thumbnails in mpv's OSC seekbar";
|
||||||
|
|
Loading…
Reference in a new issue