fix firefox widevine
This commit is contained in:
parent
d806ed0581
commit
498ffad0c4
5 changed files with 36 additions and 27 deletions
35
system/widevine/default.nix
Normal file
35
system/widevine/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
||||
(final: prev: {
|
||||
wrapFirefox =
|
||||
browser: opts:
|
||||
let
|
||||
extraPrefs = (opts.extraPrefs or "") + ''
|
||||
lockPref("media.gmp-widevinecdm.version", "system-installed");
|
||||
lockPref("media.gmp-widevinecdm.visible", true);
|
||||
lockPref("media.gmp-widevinecdm.enabled", true);
|
||||
lockPref("media.gmp-widevinecdm.autoupdate", false);
|
||||
lockPref("media.eme.enabled", true);
|
||||
lockPref("media.eme.encrypted-media-encryption-scheme.enabled", true);
|
||||
'';
|
||||
widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm";
|
||||
widevineOutDir = "$out/gmp-widevinecdm/system-installed";
|
||||
in
|
||||
(prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: {
|
||||
buildCommand = previousAttrs.buildCommand + ''
|
||||
mkdir -p "${widevineOutDir}"
|
||||
ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"
|
||||
ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json"
|
||||
wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}"
|
||||
'';
|
||||
});
|
||||
})
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue