diff options
author | Maciej Krüger <mkg20001@gmail.com> | 2023-11-22 14:13:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-22 14:13:57 +0100 |
commit | faf93f97506e045a1eb0744036816d2c848014be (patch) | |
tree | cf251ed4e05e8083a944dd745afeecb15ea1c0a5 /pkgs/applications/video/mpv | |
parent | 1aeb6d1456ba48c8b4753b092966ea62a8682194 (diff) | |
parent | ad949a8de8af5aa0625639290b13e22bb0b3e80b (diff) | |
download | nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar.gz nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar.bz2 nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar.lz nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar.xz nixlib-faf93f97506e045a1eb0744036816d2c848014be.tar.zst nixlib-faf93f97506e045a1eb0744036816d2c848014be.zip |
Merge pull request #266926 from nbraud/mpvScripts/buildLua/extraScripts
mpvScripts.buildLua: Add `extraScripts` parameter, infer `scriptName` better
Diffstat (limited to 'pkgs/applications/video/mpv')
-rw-r--r-- | pkgs/applications/video/mpv/scripts/buildLua.nix | 23 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/quality-menu.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/thumbnail.nix | 4 |
3 files changed, 24 insertions, 7 deletions
diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix index b86642305fc6..769e11798a6a 100644 --- a/pkgs/applications/video/mpv/scripts/buildLua.nix +++ b/pkgs/applications/video/mpv/scripts/buildLua.nix @@ -1,10 +1,24 @@ { lib , 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 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 { dontBuild = true; preferLocalBuild = true; @@ -12,11 +26,12 @@ lib.makeOverridable ( outputHashMode = "recursive"; installPhase = '' runHook preInstall - install -m644 -Dt $out/share/mpv/scripts ${scriptPath} + install -m644 -Dt "${scriptsDir}" \ + ${escapedList ([ scriptPath ] ++ extraScripts)} runHook postInstall ''; - passthru.scriptName = fileName scriptPath; + passthru = { inherit scriptName; }; meta.platforms = lib.platforms.all; } args) ) diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/applications/video/mpv/scripts/quality-menu.nix index d0eb2ca0119b..e4d82d17ca39 100644 --- a/pkgs/applications/video/mpv/scripts/quality-menu.nix +++ b/pkgs/applications/video/mpv/scripts/quality-menu.nix @@ -15,8 +15,8 @@ buildLua rec { hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns="; }; - passthru.scriptName = "quality-menu.lua"; - scriptPath = if oscSupport then "*.lua" else passthru.scriptName; + scriptPath = "quality-menu.lua"; + extraScripts = lib.optional oscSupport "quality-menu-osc.lua"; meta = with lib; { description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly"; diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix index 29509bd033f3..4ed545363839 100644 --- a/pkgs/applications/video/mpv/scripts/thumbnail.nix +++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix @@ -15,7 +15,9 @@ buildLua rec { postPatch = "patchShebangs concat_files.py"; 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; { description = "A lua script to show preview thumbnails in mpv's OSC seekbar"; |