nix/packages/helium-browser/widevine-x86_64-linux.nix

44 lines
940 B
Nix

{
lib,
stdenv,
fetchurl,
go-crx3,
}:
let
manifest = builtins.fromJSON (builtins.readFile ./x86_64-manifest.json);
in
stdenv.mkDerivation (finalAttrs: {
pname = "widevine-cdm";
version = manifest.version;
src = fetchurl {
url = manifest.url;
hash = manifest.sri;
};
nativeBuildInputs = [ go-crx3 ];
unpackPhase = ''
unpackDir="src"
cp "$src" "$unpackDir".crx # go-crx3 doesn't like .crx3 extensions
crx3 unpack "$unpackDir".crx
cd "$unpackDir"
'';
installPhase = ''
runHook preInstall
install -vD manifest.json $out/share/helium/WidevineCdm/manifest.json
install -vD LICENSE $out/share/helium/WidevineCdm/LICENSE.txt
install -vD _platform_specific/linux_x64/libwidevinecdm.so $out/share/helium/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
runHook postInstall
'';
passthru.updateScript = ./update-x86_64.py;
meta = import ./meta.nix lib;
})