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