refactor widevine

This commit is contained in:
Sean Kovacs 2026-03-16 17:18:51 -04:00
commit 0fc6174d47
Signed by: sckova
GPG key ID: 00F325187C68651A

View file

@ -7,7 +7,19 @@
}: }:
{ {
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [ nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
(final: prev: { (
final: prev:
let
# Determine the correct directory name based on the system architecture
archDir =
if final.stdenv.hostPlatform.isAarch64 then
"linux_arm64"
else if final.stdenv.hostPlatform.isx86_64 then
"linux_x64"
else
throw "Unsupported architecture for Widevine CDM";
in
{
wrapFirefox = wrapFirefox =
browser: opts: browser: opts:
let let
@ -25,11 +37,12 @@
(prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: { (prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: {
buildCommand = previousAttrs.buildCommand + '' buildCommand = previousAttrs.buildCommand + ''
mkdir -p "${widevineOutDir}" mkdir -p "${widevineOutDir}"
ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so" ln -s "${widevineCdmDir}/_platform_specific/${archDir}/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"
ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json" ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json"
wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}" wrapProgram "$oldExe" --set MOZ_GMP_PATH "${widevineOutDir}"
''; '';
}); });
}) }
)
]; ];
} }