diff --git a/pkgs/by-name/wi/widevine-cdm/aarch64-linux.nix b/pkgs/by-name/wi/widevine-cdm/aarch64-linux.nix new file mode 100644 index 000000000000..f8ce102acdda --- /dev/null +++ b/pkgs/by-name/wi/widevine-cdm/aarch64-linux.nix @@ -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; +}) diff --git a/pkgs/by-name/wi/widevine-cdm/meta.nix b/pkgs/by-name/wi/widevine-cdm/meta.nix new file mode 100644 index 000000000000..0361d3ee1da5 --- /dev/null +++ b/pkgs/by-name/wi/widevine-cdm/meta.nix @@ -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 ./.) + ) + ); +} diff --git a/pkgs/by-name/wi/widevine-cdm/package.nix b/pkgs/by-name/wi/widevine-cdm/package.nix new file mode 100644 index 000000000000..f4e0d12fbe49 --- /dev/null +++ b/pkgs/by-name/wi/widevine-cdm/package.nix @@ -0,0 +1,3 @@ +{ stdenv, callPackage }: + +callPackage (./. + "/${stdenv.hostPlatform.system}.nix") { inherit stdenv; } diff --git a/pkgs/applications/networking/browsers/misc/widevine-cdm.nix b/pkgs/by-name/wi/widevine-cdm/x86_64-linux.nix similarity index 59% rename from pkgs/applications/networking/browsers/misc/widevine-cdm.nix rename to pkgs/by-name/wi/widevine-cdm/x86_64-linux.nix index a5e7bc2f1b40..07432c73527f 100644 --- a/pkgs/applications/networking/browsers/misc/widevine-cdm.nix +++ b/pkgs/by-name/wi/widevine-cdm/x86_64-linux.nix @@ -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; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09e9f0fbe412..7f92b9a4fd31 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };