1{
2 stdenv,
3 lib,
4 rel,
5 addonDir,
6 buildKodiBinaryAddon,
7 fetchFromGitHub,
8 pugixml,
9 glib,
10 nspr,
11 nss,
12 gtest,
13 rapidjson,
14}:
15let
16 bento4 = fetchFromGitHub {
17 owner = "xbmc";
18 repo = "Bento4";
19 tag = "1.6.0-641-3-${rel}";
20 hash = "sha256-ycWQvXgr1DQ3Wng73S8i6y6XmcUD/iN8OKfO1czgsnY=";
21 };
22in
23buildKodiBinaryAddon rec {
24 pname = "inputstream-adaptive";
25 namespace = "inputstream.adaptive";
26 version = "21.5.13";
27
28 src = fetchFromGitHub {
29 owner = "xbmc";
30 repo = "inputstream.adaptive";
31 tag = "${version}-${rel}";
32 hash = "sha256-XcRg0FtoN7SXRVEBWM9gIlLOMGT3x64s9WD12UJdblw=";
33 };
34
35 extraCMakeFlags = [
36 "-DENABLE_INTERNAL_BENTO4=ON"
37 "-DBENTO4_URL=${bento4}"
38 ];
39
40 extraNativeBuildInputs = [ gtest ];
41
42 extraBuildInputs = [
43 pugixml
44 rapidjson
45 ];
46
47 extraRuntimeDependencies = [
48 glib
49 nspr
50 nss
51 (lib.getLib stdenv.cc.cc)
52 ];
53
54 extraInstallPhase =
55 let
56 n = namespace;
57 in
58 ''
59 ${lib.optionalString stdenv.hostPlatform.isAarch64 "ln -s $out/lib/addons/${n}/libcdm_aarch64_loader.so $out/${addonDir}/${n}/libcdm_aarch64_loader.so"}
60 '';
61
62 meta = with lib; {
63 homepage = "https://github.com/xbmc/inputstream.adaptive";
64 description = "Kodi inputstream addon for several manifest types";
65 platforms = platforms.all;
66 license = licenses.gpl2Only;
67 teams = [ teams.kodi ];
68 };
69}