diff --git a/pkgs/applications/video/kodi-packages/certifi/default.nix b/pkgs/applications/video/kodi-packages/certifi/default.nix new file mode 100644 index 00000000000..b27e612d86d --- /dev/null +++ b/pkgs/applications/video/kodi-packages/certifi/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "certifi"; + namespace = "script.module.certifi"; + version = "2019.11.28+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0vsd68izv1ix0hb1gm74qq3zff0sxmhfhjyh7y9005zzp2gpi62v"; + }; + + meta = with lib; { + homepage = "https://certifi.io"; + description = "Python package for providing Mozilla's CA Bundle"; + license = licenses.mpl20; + }; +} diff --git a/pkgs/applications/video/kodi-packages/chardet/default.nix b/pkgs/applications/video/kodi-packages/chardet/default.nix new file mode 100644 index 00000000000..02ea0f54d52 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/chardet/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "chardet"; + namespace = "script.module.chardet"; + version = "3.0.4+matrix.3"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "05928dj4fsj2zg8ajdial3sdf8izddq64sr0al3zy1gqw91jp80f"; + }; + + meta = with lib; { + homepage = "https://github.com/Freso/script.module.chardet"; + description = "Universal encoding detector"; + license = licenses.lgpl2Only; + }; +} diff --git a/pkgs/applications/video/kodi-packages/idna/default.nix b/pkgs/applications/video/kodi-packages/idna/default.nix new file mode 100644 index 00000000000..96d317830fd --- /dev/null +++ b/pkgs/applications/video/kodi-packages/idna/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "idna"; + namespace = "script.module.idna"; + version = "2.8.1+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "02s75fhfmbs3a38wvxba51aj3lv5bidshjdkl6yjfji6waxpr9xh"; + }; + + meta = with lib; { + homepage = "https://github.com/Freso/script.module.idna"; + description = "Internationalized Domain Names for Python"; + license = licenses.bsd3; + }; +} diff --git a/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix new file mode 100644 index 00000000000..3ccfdd1eb0d --- /dev/null +++ b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "inputstreamhelper"; + namespace = "script.module.inputstreamhelper"; + version = "0.5.2+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "18lkksljfa57w69yklbldf7dgyykrm84pd10mdjdqdm88fdiiijk"; + }; + + meta = with lib; { + homepage = "https://github.com/emilsvennesson/script.module.inputstreamhelper"; + description = "A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback"; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/video/kodi-packages/myconnpy/default.nix b/pkgs/applications/video/kodi-packages/myconnpy/default.nix new file mode 100644 index 00000000000..38624612209 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/myconnpy/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "myconnpy"; + namespace = "script.module.myconnpy"; + version = "8.0.18+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k"; + }; + + meta = with lib; { + homepage = "http://dev.mysql.com/doc/connector-python/en/index.html"; + description = "MySQL Connector/Python"; + license = licenses.gpl2Only; + }; +} diff --git a/pkgs/applications/video/kodi-packages/netflix/default.nix b/pkgs/applications/video/kodi-packages/netflix/default.nix new file mode 100644 index 00000000000..20440153f76 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/netflix/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstreamhelper, requests, myconnpy }: +buildKodiAddon rec { + pname = "netflix"; + namespace = "plugin.video.netflix"; + version = "1.14.1"; + + src = fetchFromGitHub { + owner = "CastagnaIT"; + repo = namespace; + rev = "v${version}"; + sha256 = "0vv3234gg4brp0gvrsl4vdskmpfbyk4z7cjmmj31zn4m8j33japn"; + }; + + propagatedBuildInputs = [ + signals + inputstreamhelper + requests + myconnpy + ]; + + meta = with lib; { + homepage = "https://github.com/CastagnaIT/plugin.video.netflix"; + description = "Netflix VOD Services Add-on"; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/video/kodi-packages/requests/default.nix b/pkgs/applications/video/kodi-packages/requests/default.nix new file mode 100644 index 00000000000..73fa20f47fb --- /dev/null +++ b/pkgs/applications/video/kodi-packages/requests/default.nix @@ -0,0 +1,24 @@ +{ lib, buildKodiAddon, fetchzip, certifi, chardet, idna, urllib3 }: +buildKodiAddon rec { + pname = "requests"; + namespace = "script.module.requests"; + version = "2.22.0+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "09576galkyzhw8fhy2h4aablm5rm2v08g0mdmg9nn55dlxhkkljq"; + }; + + propagatedBuildInputs = [ + certifi + chardet + idna + urllib3 + ]; + + meta = with lib; { + homepage = "http://python-requests.org"; + description = "Python HTTP for Humans"; + license = licenses.asl20; + }; +} diff --git a/pkgs/applications/video/kodi-packages/signals/default.nix b/pkgs/applications/video/kodi-packages/signals/default.nix new file mode 100644 index 00000000000..5ade48aa813 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/signals/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "signals"; + namespace = "script.module.addon.signals"; + version = "0.0.6+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs"; + }; + + meta = with lib; { + homepage = "https://github.com/ruuk/script.module.addon.signals"; + description = "Provides signal/slot mechanism for inter-addon communication"; + license = licenses.lgpl21Only; + }; +} diff --git a/pkgs/applications/video/kodi-packages/urllib3/default.nix b/pkgs/applications/video/kodi-packages/urllib3/default.nix new file mode 100644 index 00000000000..5d54aa6ea03 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/urllib3/default.nix @@ -0,0 +1,17 @@ +{ lib, buildKodiAddon, fetchzip }: +buildKodiAddon rec { + pname = "urllib3"; + namespace = "script.module.urllib3"; + version = "1.25.8+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "080yq8ns0sag6rmdag1hjwi0whcmp35wzqjp3by92m81cpszs75q"; + }; + + meta = with lib; { + homepage = "https://urllib3.readthedocs.io/en/latest/"; + description = "HTTP library with thread-safe connection pooling, file post, and more"; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/kodi-packages.nix b/pkgs/top-level/kodi-packages.nix index d31eb3b0ef8..0ff32f38217 100644 --- a/pkgs/top-level/kodi-packages.nix +++ b/pkgs/top-level/kodi-packages.nix @@ -64,6 +64,8 @@ let self = rec { joystick = callPackage ../applications/video/kodi-packages/joystick { }; + netflix = callPackage ../applications/video/kodi-packages/netflix { }; + svtplay = callPackage ../applications/video/kodi-packages/svtplay { }; steam-controller = callPackage ../applications/video/kodi-packages/steam-controller { }; @@ -80,10 +82,28 @@ let self = rec { osmc-skin = callPackage ../applications/video/kodi-packages/osmc-skin { }; - inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { }; - vfs-sftp = callPackage ../applications/video/kodi-packages/vfs-sftp { }; vfs-libarchive = callPackage ../applications/video/kodi-packages/vfs-libarchive { }; + # addon packages (dependencies) + + certifi = callPackage ../applications/video/kodi-packages/certifi { }; + + chardet = callPackage ../applications/video/kodi-packages/chardet { }; + + idna = callPackage ../applications/video/kodi-packages/idna { }; + + inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { }; + + inputstreamhelper = callPackage ../applications/video/kodi-packages/inputstreamhelper { }; + + myconnpy = callPackage ../applications/video/kodi-packages/myconnpy { }; + + requests = callPackage ../applications/video/kodi-packages/requests { }; + + signals = callPackage ../applications/video/kodi-packages/signals { }; + + urllib3 = callPackage ../applications/video/kodi-packages/urllib3 { }; + }; in self