widevine-cdm: add aarch64-linux

+91 -34
+49
pkgs/by-name/wi/widevine-cdm/aarch64-linux.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchurl, 5 + fetchFromGitHub, 6 + squashfsTools, 7 + python3, 8 + }: 9 + 10 + stdenv.mkDerivation (finalAttrs: { 11 + pname = "widevine-cdm"; 12 + version = "${finalAttrs.lacrosVersion}-${builtins.substring 0 7 finalAttrs.widevineInstaller.rev}"; 13 + lacrosVersion = "120.0.6098.0"; 14 + 15 + widevineInstaller = fetchFromGitHub { 16 + owner = "AsahiLinux"; 17 + repo = "widevine-installer"; 18 + rev = "7a3928fe1342fb07d96f61c2b094e3287588958b"; 19 + sha256 = "sha256-XI1y4pVNpXS+jqFs0KyVMrxcULOJ5rADsgvwfLF6e0Y="; 20 + }; 21 + 22 + src = fetchurl { 23 + url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/chromeos-lacros-arm64-squash-zstd-${finalAttrs.lacrosVersion}"; 24 + hash = "sha256-OKV8w5da9oZ1oSGbADVPCIkP9Y0MVLaQ3PXS3ZBLFXY="; 25 + }; 26 + 27 + nativeBuildInputs = [ 28 + squashfsTools 29 + python3 30 + ]; 31 + 32 + unpackPhase = '' 33 + unsquashfs -q $src 'WidevineCdm/*' 34 + python3 $widevineInstaller/widevine_fixup.py squashfs-root/WidevineCdm/_platform_specific/cros_arm64/libwidevinecdm.so libwidevinecdm.so 35 + cp squashfs-root/WidevineCdm/manifest.json . 36 + cp squashfs-root/WidevineCdm/LICENSE LICENSE.txt 37 + ''; 38 + 39 + # Accoring to widevine-installer: "Hack because Chromium hardcodes a check for this right now..." 40 + postInstall = '' 41 + install -vD manifest.json "$out/share/google/chrome/WidevineCdm/manifest.json" 42 + install -vD LICENSE.txt "$out/share/google/chrome/WidevineCdm/License.txt" 43 + install -vD libwidevinecdm.so "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_arm64/libwidevinecdm.so" 44 + mkdir -p "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64" 45 + touch "$out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so" 46 + ''; 47 + 48 + meta = import ./meta.nix lib; 49 + })
+12
pkgs/by-name/wi/widevine-cdm/meta.nix
··· 1 + lib: { 2 + description = "Widevine CDM"; 3 + homepage = "https://www.widevine.com"; 4 + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 5 + license = lib.licenses.unfree; 6 + maintainers = with lib.maintainers; [ jlamur ]; 7 + platforms = lib.map (lib.removeSuffix ".nix") ( 8 + lib.filter (name: name != "meta.nix" && name != "package.nix") ( 9 + builtins.attrNames (builtins.readDir ./.) 10 + ) 11 + ); 12 + }
+2 -34
pkgs/by-name/wi/widevine-cdm/package.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - fetchzip, 5 - }: 6 - 7 - stdenv.mkDerivation rec { 8 - pname = "widevine-cdm"; 9 - version = "4.10.2830.0"; 10 - 11 - src = fetchzip { 12 - url = "https://dl.google.com/widevine-cdm/${version}-linux-x64.zip"; 13 - hash = "sha256-XDnsan1ulnIK87Owedb2s9XWLzk1K2viGGQe9LN/kcE="; 14 - stripRoot = false; 15 - }; 16 - 17 - installPhase = '' 18 - runHook preInstall 19 - 20 - install -vD manifest.json $out/share/google/chrome/WidevineCdm/manifest.json 21 - install -vD LICENSE.txt $out/share/google/chrome/WidevineCdm/LICENSE.txt 22 - install -vD libwidevinecdm.so $out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so 1 + { stdenv, callPackage }: 23 2 24 - runHook postInstall 25 - ''; 26 - 27 - meta = with lib; { 28 - description = "Widevine CDM"; 29 - homepage = "https://www.widevine.com"; 30 - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 31 - license = licenses.unfree; 32 - maintainers = with maintainers; [ jlamur ]; 33 - platforms = [ "x86_64-linux" ]; 34 - }; 35 - } 3 + callPackage (./. + "/${stdenv.hostPlatform.system}.nix") { inherit stdenv; }
+28
pkgs/by-name/wi/widevine-cdm/x86_64-linux.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchzip, 5 + }: 6 + 7 + stdenv.mkDerivation (finalAttrs: { 8 + pname = "widevine-cdm"; 9 + version = "4.10.2830.0"; 10 + 11 + src = fetchzip { 12 + url = "https://dl.google.com/widevine-cdm/${finalAttrs.version}-linux-x64.zip"; 13 + hash = "sha256-XDnsan1ulnIK87Owedb2s9XWLzk1K2viGGQe9LN/kcE="; 14 + stripRoot = false; 15 + }; 16 + 17 + installPhase = '' 18 + runHook preInstall 19 + 20 + install -vD manifest.json $out/share/google/chrome/WidevineCdm/manifest.json 21 + install -vD LICENSE.txt $out/share/google/chrome/WidevineCdm/LICENSE.txt 22 + install -vD libwidevinecdm.so $out/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so 23 + 24 + runHook postInstall 25 + ''; 26 + 27 + meta = import ./meta.nix lib; 28 + })