widevine-cdm: add aarch64 support (#343393)
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
{
|
||||
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;
|
||||
})
|
||||
@@ -0,0 +1,12 @@
|
||||
lib: {
|
||||
description = "Widevine CDM";
|
||||
homepage = "https://www.widevine.com";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ jlamur ];
|
||||
platforms = lib.map (lib.removeSuffix ".nix") (
|
||||
lib.filter (name: name != "meta.nix" && name != "package.nix") (
|
||||
builtins.attrNames (builtins.readDir ./.)
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{ stdenv, callPackage }:
|
||||
|
||||
callPackage (./. + "/${stdenv.hostPlatform.system}.nix") { inherit stdenv; }
|
||||
+4
-11
@@ -4,12 +4,12 @@
|
||||
fetchzip,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "widevine-cdm";
|
||||
version = "4.10.2830.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dl.google.com/widevine-cdm/${version}-linux-x64.zip";
|
||||
url = "https://dl.google.com/widevine-cdm/${finalAttrs.version}-linux-x64.zip";
|
||||
hash = "sha256-XDnsan1ulnIK87Owedb2s9XWLzk1K2viGGQe9LN/kcE=";
|
||||
stripRoot = false;
|
||||
};
|
||||
@@ -24,12 +24,5 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Widevine CDM";
|
||||
homepage = "https://www.widevine.com";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ jlamur ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
meta = import ./meta.nix lib;
|
||||
})
|
||||
@@ -18307,8 +18307,6 @@ with pkgs;
|
||||
|
||||
aitrack = libsForQt5.callPackage ../applications/misc/aitrack { };
|
||||
|
||||
widevine-cdm = callPackage ../applications/networking/browsers/misc/widevine-cdm.nix { };
|
||||
|
||||
tidal-dl = python3Packages.callPackage ../tools/audio/tidal-dl { };
|
||||
|
||||
tubekit = callPackage ../applications/networking/cluster/tubekit/wrapper.nix { };
|
||||
|
||||
Reference in New Issue
Block a user