Commit e994574e authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by Anderson Torres
Browse files

mpv: add test "mpv-scripts-should-not-collide"

parent 6d2647ba
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
# Arguments that this derivation gets when it is created with `callPackage`
{ stdenv
, buildEnv
, lib
, makeWrapper
, mpvScripts
, symlinkJoin
, writeTextDir
, yt-dlp
}:

@@ -71,6 +74,20 @@ let

      passthru.unwrapped = mpv;

      passthru.tests.mpv-scripts-should-not-collide = buildEnv {
        name = "mpv-scripts-env";
        paths = lib.pipe mpvScripts [
          # filters "override" "overrideDerivation" "recurseForDerivations"
          (lib.filterAttrs (key: script: lib.isDerivation script))
          # replaces unfree and meta.broken scripts with decent placeholders
          (lib.mapAttrsToList (key: script:
            if (builtins.tryEval script.outPath).success
            then script
            else writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}"
          ))
        ];
      };

      postBuild = ''
        # wrapProgram can't operate on symlinks
        rm "$out/bin/mpv"