nixpkgs/pkgs/applications/video/mpv/scripts/sponsorblock.nix
lunik1 b41e56b751
mpvScripts: use stdenvNoCC
mpv lua scripts do not require a C compiler
2021-04-20 18:38:09 +01:00

52 lines
1.7 KiB
Nix

{ lib, stdenvNoCC, fetchFromGitHub, fetchpatch, python3 }:
# Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
stdenvNoCC.mkDerivation {
pname = "mpv_sponsorblock";
version = "unstable-2020-07-05";
src = fetchFromGitHub {
owner = "po5";
repo = "mpv_sponsorblock";
rev = "f71e49e0531350339134502e095721fdc66eac20";
sha256 = "1fr4cagzs26ygxyk8dxqvjw4n85fzv6is6cb1jhr2qnsjg6pa0p8";
};
dontBuild = true;
patches = [
# Use XDG_DATA_HOME and XDG_CACHE_HOME if defined for UID and DB
# Necessary to avoid sponsorblock to write in the nix store at runtime.
# https://github.com/po5/mpv_sponsorblock/pull/17
(fetchpatch {
url = "https://github.com/po5/mpv_sponsorblock/pull/17/commits/e65b360a7d03a3430b4829e457a6670b2f617b09.patch";
sha256 = "00wv0pvbz0dz2ibka66zhl2jk0pil4pyv6ipjfz37i81q6szyhs5";
})
(fetchpatch {
url = "https://github.com/po5/mpv_sponsorblock/pull/17/commits/3832304d959205e99120a14c0560ed3c37104b08.patch";
sha256 = "149ffvn714n2m3mqs8mgrbs24bcr74kqfkx7wyql36ndhm88xd2z";
})
];
postPatch = ''
substituteInPlace sponsorblock.lua \
--replace "python3" "${python3}/bin/python3" \
--replace 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\""
'';
installPhase = ''
mkdir -p $out/share/mpv/scripts
cp -r sponsorblock.lua sponsorblock_shared $out/share/mpv/scripts/
'';
passthru.scriptName = "sponsorblock.lua";
meta = with lib; {
description = "mpv script to skip sponsored segments of YouTube videos";
homepage = "https://github.com/po5/mpv_sponsorblock";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ pacien ];
};
}