2014-12-24 09:57:34 +00:00
|
|
|
{ stdenv, lib, fetchurl, makeWrapper
|
2016-10-18 12:53:18 +00:00
|
|
|
, pkgconfig, cmake, gnumake, yasm, python2
|
2016-10-08 16:07:15 +00:00
|
|
|
, boost, avahi, libdvdcss, libdvdnav, libdvdread, lame, autoreconfHook
|
2016-04-15 07:57:13 +00:00
|
|
|
, gettext, pcre-cpp, yajl, fribidi, which
|
2014-12-24 09:57:34 +00:00
|
|
|
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
|
|
|
|
, libX11, xproto, inputproto, libxml2
|
|
|
|
, libXt, libXmu, libXext, xextproto
|
|
|
|
, libXinerama, libXrandr, randrproto
|
|
|
|
, libXtst, libXfixes, fixesproto, systemd
|
2016-02-29 07:31:58 +00:00
|
|
|
, SDL, SDL2, SDL_image, SDL_mixer, alsaLib
|
2014-12-24 09:57:34 +00:00
|
|
|
, mesa, glew, fontconfig, freetype, ftgl
|
|
|
|
, libjpeg, jasper, libpng, libtiff
|
|
|
|
, libmpeg2, libsamplerate, libmad
|
|
|
|
, libogg, libvorbis, flac, libxslt
|
|
|
|
, lzo, libcdio, libmodplug, libass, libbluray
|
|
|
|
, sqlite, mysql, nasm, gnutls, libva, wayland
|
|
|
|
, curl, bzip2, zip, unzip, glxinfo, xdpyinfo
|
2016-02-21 14:31:41 +00:00
|
|
|
, libcec, libcec_platform, dcadec, libuuid
|
|
|
|
, libcrossguid
|
2014-12-24 09:57:34 +00:00
|
|
|
, dbus_libs ? null, dbusSupport ? true
|
|
|
|
, udev, udevSupport ? true
|
|
|
|
, libusb ? null, usbSupport ? false
|
|
|
|
, samba ? null, sambaSupport ? true
|
|
|
|
, libmicrohttpd, bash
|
|
|
|
# TODO: would be nice to have nfsSupport (needs libnfs library)
|
2015-06-03 05:33:27 +00:00
|
|
|
, rtmpdump ? null, rtmpSupport ? true
|
2014-12-24 09:57:34 +00:00
|
|
|
, libvdpau ? null, vdpauSupport ? true
|
2015-05-27 19:42:15 +00:00
|
|
|
, libpulseaudio ? null, pulseSupport ? true
|
2016-02-29 07:31:58 +00:00
|
|
|
, joystickSupport ? true
|
2014-12-24 09:57:34 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
assert dbusSupport -> dbus_libs != null;
|
|
|
|
assert udevSupport -> udev != null;
|
|
|
|
assert usbSupport -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable
|
|
|
|
assert sambaSupport -> samba != null;
|
|
|
|
assert vdpauSupport -> libvdpau != null;
|
2015-05-27 19:42:15 +00:00
|
|
|
assert pulseSupport -> libpulseaudio != null;
|
2015-06-03 05:33:27 +00:00
|
|
|
assert rtmpSupport -> rtmpdump != null;
|
2014-12-24 09:57:34 +00:00
|
|
|
|
|
|
|
let
|
2016-10-08 16:07:15 +00:00
|
|
|
rel = "Krypton";
|
|
|
|
ffmpeg_3_1_6 = fetchurl {
|
|
|
|
url = "https://github.com/xbmc/FFmpeg/archive/3.1.6-${rel}.tar.gz";
|
|
|
|
sha256 = "14jicb26s20nr3qmfpazszpc892yjwjn81zbsb8szy3a5xs19y81";
|
2014-12-24 09:57:34 +00:00
|
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
2015-02-02 19:14:50 +00:00
|
|
|
name = "kodi-" + version;
|
2016-10-08 16:07:15 +00:00
|
|
|
version = "17.0";
|
2014-12-24 09:57:34 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2015-02-02 19:14:50 +00:00
|
|
|
url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
|
2016-10-08 16:07:15 +00:00
|
|
|
sha256 = "0ib59x733yf8ivsw82qlsq43jn5214n668nrn5df2flpjcjgmzsb";
|
2014-12-24 09:57:34 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
makeWrapper libxml2 gnutls
|
2016-10-18 12:53:18 +00:00
|
|
|
pkgconfig cmake gnumake yasm python2
|
2014-12-24 09:57:34 +00:00
|
|
|
boost libmicrohttpd autoreconfHook
|
2016-04-15 07:57:13 +00:00
|
|
|
gettext pcre-cpp yajl fribidi libva
|
2014-12-24 09:57:34 +00:00
|
|
|
openssl gperf tinyxml2 taglib libssh swig jre
|
|
|
|
libX11 xproto inputproto which
|
|
|
|
libXt libXmu libXext xextproto
|
|
|
|
libXinerama libXrandr randrproto
|
|
|
|
libXtst libXfixes fixesproto
|
|
|
|
SDL SDL_image SDL_mixer alsaLib
|
|
|
|
mesa glew fontconfig freetype ftgl
|
|
|
|
libjpeg jasper libpng libtiff wayland
|
|
|
|
libmpeg2 libsamplerate libmad
|
|
|
|
libogg libvorbis flac libxslt systemd
|
|
|
|
lzo libcdio libmodplug libass libbluray
|
2015-04-01 23:39:50 +00:00
|
|
|
sqlite mysql.lib nasm avahi libdvdcss lame
|
2014-12-24 09:57:34 +00:00
|
|
|
curl bzip2 zip unzip glxinfo xdpyinfo
|
2016-02-21 14:31:41 +00:00
|
|
|
libcec libcec_platform dcadec libuuid
|
|
|
|
libcrossguid
|
2014-12-24 09:57:34 +00:00
|
|
|
]
|
|
|
|
++ lib.optional dbusSupport dbus_libs
|
|
|
|
++ lib.optional udevSupport udev
|
|
|
|
++ lib.optional usbSupport libusb
|
|
|
|
++ lib.optional sambaSupport samba
|
|
|
|
++ lib.optional vdpauSupport libvdpau
|
2015-05-27 19:42:15 +00:00
|
|
|
++ lib.optional pulseSupport libpulseaudio
|
2016-02-29 07:31:58 +00:00
|
|
|
++ lib.optional rtmpSupport rtmpdump
|
|
|
|
++ lib.optional joystickSupport SDL2;
|
|
|
|
|
2014-12-24 09:57:34 +00:00
|
|
|
|
|
|
|
dontUseCmakeConfigure = true;
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace xbmc/linux/LinuxTimezone.cpp \
|
|
|
|
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
|
|
|
|
substituteInPlace tools/depends/target/ffmpeg/autobuild.sh \
|
|
|
|
--replace "/bin/bash" "${bash}/bin/bash -ex"
|
2016-10-08 16:07:15 +00:00
|
|
|
cp ${ffmpeg_3_1_6} tools/depends/target/ffmpeg/ffmpeg-3.1.6-${rel}.tar.gz
|
|
|
|
ln -s ${libdvdcss.src} tools/depends/target/libdvdcss/libdvdcss-master.tar.gz
|
|
|
|
ln -s ${libdvdnav.src} tools/depends/target/libdvdnav/libdvdnav-master.tar.gz
|
|
|
|
ln -s ${libdvdread.src} tools/depends/target/libdvdread/libdvdread-master.tar.gz
|
2014-12-24 09:57:34 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
./bootstrap
|
|
|
|
'';
|
|
|
|
|
2015-08-03 23:51:42 +00:00
|
|
|
configureFlags = [ ]
|
2014-12-24 09:57:34 +00:00
|
|
|
++ lib.optional (!sambaSupport) "--disable-samba"
|
|
|
|
++ lib.optional vdpauSupport "--enable-vdpau"
|
2015-06-03 05:33:27 +00:00
|
|
|
++ lib.optional pulseSupport "--enable-pulse"
|
2016-02-29 07:31:58 +00:00
|
|
|
++ lib.optional rtmpSupport "--enable-rtmp"
|
|
|
|
++ lib.optional joystickSupport "--enable-joystick";
|
2014-12-24 09:57:34 +00:00
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
for p in $(ls $out/bin/) ; do
|
|
|
|
wrapProgram $out/bin/$p \
|
2016-10-18 12:53:18 +00:00
|
|
|
--prefix PATH ":" "${python2}/bin" \
|
2014-12-24 09:57:34 +00:00
|
|
|
--prefix PATH ":" "${glxinfo}/bin" \
|
|
|
|
--prefix PATH ":" "${xdpyinfo}/bin" \
|
2015-10-06 13:32:17 +00:00
|
|
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
2016-03-08 08:57:58 +00:00
|
|
|
[ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ]
|
2015-10-06 13:32:17 +00:00
|
|
|
}"
|
2014-12-24 09:57:34 +00:00
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = http://kodi.tv/;
|
|
|
|
description = "Media center";
|
|
|
|
license = stdenv.lib.licenses.gpl2;
|
|
|
|
platforms = platforms.linux;
|
2016-05-17 11:57:28 +00:00
|
|
|
maintainers = with maintainers; [ domenkozar titanous edwtjo ];
|
2014-12-24 09:57:34 +00:00
|
|
|
};
|
|
|
|
}
|