kodi: 18.9 -> 19.0
This commit is contained in:
parent
1ec1a234d8
commit
145d22ad8d
|
@ -1,9 +1,10 @@
|
||||||
{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
|
{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
|
||||||
, pkg-config, cmake, gnumake, yasm, python2Packages
|
, pkg-config, cmake, gnumake, yasm, python3Packages
|
||||||
, libgcrypt, libgpgerror, libunistring
|
, libgcrypt, libgpgerror, libunistring
|
||||||
, boost, avahi, lame
|
, boost, avahi, lame
|
||||||
, gettext, pcre-cpp, yajl, fribidi, which
|
, gettext, pcre-cpp, yajl, fribidi, which
|
||||||
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
|
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
|
||||||
|
, gtest, ncurses, spdlog
|
||||||
, libxml2, systemd
|
, libxml2, systemd
|
||||||
, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
|
, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
|
||||||
, libjpeg, libpng, libtiff
|
, libjpeg, libpng, libtiff
|
||||||
|
@ -42,17 +43,18 @@ assert udevSupport -> udev != null;
|
||||||
assert usbSupport -> libusb-compat-0_1 != null && ! udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
|
assert usbSupport -> libusb-compat-0_1 != null && ! udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
|
||||||
assert vdpauSupport -> libvdpau != null;
|
assert vdpauSupport -> libvdpau != null;
|
||||||
assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
|
assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
|
||||||
|
assert useGbm || useWayland || x11Support;
|
||||||
|
|
||||||
let
|
let
|
||||||
kodiReleaseDate = "20200728";
|
kodiReleaseDate = "20210219";
|
||||||
kodiVersion = "18.9";
|
kodiVersion = "19.0";
|
||||||
rel = "Leia";
|
rel = "Matrix";
|
||||||
|
|
||||||
kodi_src = fetchFromGitHub {
|
kodi_src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "xbmc";
|
repo = "xbmc";
|
||||||
rev = "${kodiVersion}-${rel}";
|
rev = "${kodiVersion}-${rel}";
|
||||||
sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
|
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeProto = fetchurl {
|
cmakeProto = fetchurl {
|
||||||
|
@ -87,9 +89,9 @@ let
|
||||||
|
|
||||||
ffmpeg = kodiDependency rec {
|
ffmpeg = kodiDependency rec {
|
||||||
name = "FFmpeg";
|
name = "FFmpeg";
|
||||||
version = "4.0.3";
|
version = "4.3.1";
|
||||||
rev = "${version}-${rel}-18.2";
|
rev = "${version}-${rel}-Beta1";
|
||||||
sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy";
|
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
||||||
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
||||||
|
@ -151,6 +153,12 @@ let
|
||||||
postPatch = cmakeProtoPatch;
|
postPatch = cmakeProtoPatch;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kodi_platforms =
|
||||||
|
lib.optional useGbm "gbm" ++
|
||||||
|
lib.optional useWayland "wayland" ++
|
||||||
|
lib.optional x11Support "x11"
|
||||||
|
;
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}";
|
name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}";
|
||||||
|
|
||||||
|
@ -158,10 +166,11 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gnutls libidn libtasn1 nasm p11-kit
|
gnutls libidn libtasn1 nasm p11-kit
|
||||||
libxml2 python2Packages.python
|
libxml2 python3Packages.python
|
||||||
boost libmicrohttpd
|
boost libmicrohttpd
|
||||||
gettext pcre-cpp yajl fribidi libva libdrm
|
gettext pcre-cpp yajl fribidi libva libdrm
|
||||||
openssl gperf tinyxml2 taglib libssh
|
openssl gperf tinyxml2 taglib libssh
|
||||||
|
gtest ncurses spdlog
|
||||||
alsaLib libGL libGLU fontconfig freetype ftgl
|
alsaLib libGL libGLU fontconfig freetype ftgl
|
||||||
libjpeg libpng libtiff
|
libjpeg libpng libtiff
|
||||||
libmpeg2 libsamplerate libmad
|
libmpeg2 libsamplerate libmad
|
||||||
|
@ -210,7 +219,7 @@ in stdenv.mkDerivation {
|
||||||
which
|
which
|
||||||
pkg-config gnumake
|
pkg-config gnumake
|
||||||
autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
|
autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
|
||||||
jre_headless yasm gettext python2Packages.python flatbuffers
|
jre_headless yasm gettext python3Packages.python flatbuffers
|
||||||
|
|
||||||
# for TexturePacker
|
# for TexturePacker
|
||||||
giflib zlib libpng libjpeg lzo
|
giflib zlib libpng libjpeg lzo
|
||||||
|
@ -221,6 +230,8 @@ in stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
"-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
|
||||||
|
"-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}"
|
||||||
"-Dlibdvdcss_URL=${libdvdcss.src}"
|
"-Dlibdvdcss_URL=${libdvdcss.src}"
|
||||||
"-Dlibdvdnav_URL=${libdvdnav.src}"
|
"-Dlibdvdnav_URL=${libdvdnav.src}"
|
||||||
"-Dlibdvdread_URL=${libdvdread.src}"
|
"-Dlibdvdread_URL=${libdvdread.src}"
|
||||||
|
@ -231,14 +242,9 @@ in stdenv.mkDerivation {
|
||||||
"-DLIRC_DEVICE=/run/lirc/lircd"
|
"-DLIRC_DEVICE=/run/lirc/lircd"
|
||||||
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
||||||
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
|
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
|
||||||
"-DPYTHON_EXECUTABLE=${buildPackages.python2Packages.python}/bin/python"
|
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
||||||
] ++ lib.optional useWayland [
|
] ++ lib.optional useWayland [
|
||||||
"-DCORE_PLATFORM_NAME=wayland"
|
|
||||||
"-DWAYLAND_RENDER_SYSTEM=gl"
|
|
||||||
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
||||||
] ++ lib.optional useGbm [
|
|
||||||
"-DCORE_PLATFORM_NAME=gbm"
|
|
||||||
"-DGBM_RENDER_SYSTEM=gles"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
||||||
|
@ -256,14 +262,14 @@ in stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \
|
substituteInPlace xbmc/platform/posix/PosixTimezone.cpp \
|
||||||
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
for p in $(ls $out/bin/) ; do
|
for p in $(ls $out/bin/) ; do
|
||||||
wrapProgram $out/bin/$p \
|
wrapProgram $out/bin/$p \
|
||||||
--prefix PATH ":" "${lib.makeBinPath ([ python2Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
|
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
||||||
++ lib.optional nfsSupport libnfs
|
++ lib.optional nfsSupport libnfs
|
||||||
|
@ -279,7 +285,7 @@ in stdenv.mkDerivation {
|
||||||
installCheckPhase = "$out/bin/kodi --version";
|
installCheckPhase = "$out/bin/kodi --version";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
pythonPackages = python2Packages;
|
pythonPackages = python3Packages;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, stdenv, callPackage, fetchFromGitHub
|
{ lib, stdenv, callPackage, fetchFromGitHub
|
||||||
, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
|
, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
|
||||||
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
|
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
|
||||||
, python2Packages, expat, glib, nspr, nss, openssl
|
, python3Packages, expat, glib, nspr, nss, openssl
|
||||||
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
|
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
@ -9,7 +9,7 @@ with lib;
|
||||||
let self = rec {
|
let self = rec {
|
||||||
|
|
||||||
pluginDir = "/share/kodi/addons";
|
pluginDir = "/share/kodi/addons";
|
||||||
rel = "Leia";
|
rel = "Matrix";
|
||||||
|
|
||||||
kodi = kodiPlain;
|
kodi = kodiPlain;
|
||||||
|
|
||||||
|
@ -451,7 +451,7 @@ let self = rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
yatp = python2Packages.toPythonModule (mkKodiPlugin rec {
|
yatp = python3Packages.toPythonModule (mkKodiPlugin rec {
|
||||||
plugin = "yatp";
|
plugin = "yatp";
|
||||||
namespace = "plugin.video.yatp";
|
namespace = "plugin.video.yatp";
|
||||||
version = "3.3.2";
|
version = "3.3.2";
|
||||||
|
@ -467,8 +467,8 @@ let self = rec {
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
simpleplugin
|
simpleplugin
|
||||||
python2Packages.requests
|
python3Packages.requests
|
||||||
python2Packages.libtorrent-rasterbar
|
python3Packages.libtorrent-rasterbar
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
Loading…
Reference in a new issue