50 lines
1.7 KiB
Nix
50 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
fetchFromGitHub,
|
|
squashfsTools,
|
|
python3,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "widevine-cdm";
|
|
version = "${finalAttrs.lacrosVersion}-${builtins.substring 0 7 finalAttrs.widevineInstaller.rev}";
|
|
lacrosVersion = "120.0.6098.0";
|
|
|
|
widevineInstaller = fetchFromGitHub {
|
|
owner = "AsahiLinux";
|
|
repo = "widevine-installer";
|
|
rev = "7a3928fe1342fb07d96f61c2b094e3287588958b";
|
|
sha256 = "sha256-XI1y4pVNpXS+jqFs0KyVMrxcULOJ5rADsgvwfLF6e0Y=";
|
|
};
|
|
|
|
src = fetchurl {
|
|
url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/chromeos-lacros-arm64-squash-zstd-${finalAttrs.lacrosVersion}";
|
|
hash = "sha256-OKV8w5da9oZ1oSGbADVPCIkP9Y0MVLaQ3PXS3ZBLFXY=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
squashfsTools
|
|
python3
|
|
];
|
|
|
|
unpackPhase = ''
|
|
unsquashfs -q $src 'WidevineCdm/*'
|
|
python3 $widevineInstaller/widevine_fixup.py squashfs-root/WidevineCdm/_platform_specific/cros_arm64/libwidevinecdm.so libwidevinecdm.so
|
|
cp squashfs-root/WidevineCdm/manifest.json .
|
|
cp squashfs-root/WidevineCdm/LICENSE LICENSE.txt
|
|
'';
|
|
|
|
# Accoring to widevine-installer: "Hack because Chromium hardcodes a check for this right now..."
|
|
postInstall = ''
|
|
install -vD manifest.json "$out/share/google/chrome/WidevineCdm/manifest.json"
|
|
install -vD LICENSE.txt "$out/share/google/chrome/WidevineCdm/License.txt"
|
|
install -vD libwidevinecdm.so "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_arm64/libwidevinecdm.so"
|
|
mkdir -p "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64"
|
|
touch "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
|
'';
|
|
|
|
meta = import ./meta.nix lib;
|
|
})
|