Unverified Commit faf93f97 authored by Maciej Krüger's avatar Maciej Krüger Committed by GitHub
Browse files

Merge pull request #266926 from nbraud/mpvScripts/buildLua/extraScripts

mpvScripts.buildLua: Add `extraScripts` parameter, infer `scriptName` better
parents 1aeb6d14 ad949a8d
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
{ 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)
)
+2 −2
Original line number Diff line number Diff line
@@ -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";
+3 −1
Original line number Diff line number Diff line
@@ -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";