about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-12-24 10:57:34 +0100
committerDomen Kožar <domen@dev.si>2014-12-24 10:57:41 +0100
commit20e0da55f56ed25c8de428a620c0c7671cf4f26d (patch)
tree6218e30eca8e817342b283e1a7a68a14360278cd /pkgs/applications/video
parentc998edfb6d0e492b3d3f924d0c14324d57db70db (diff)
downloadnixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar.gz
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar.bz2
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar.lz
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar.xz
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.tar.zst
nixlib-20e0da55f56ed25c8de428a620c0c7671cf4f26d.zip
add kodi 14.0 (renamed from xbmc, new release)
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/kodi/default.nix120
1 files changed, 120 insertions, 0 deletions
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
new file mode 100644
index 000000000000..8735b8a78a1a
--- /dev/null
+++ b/pkgs/applications/video/kodi/default.nix
@@ -0,0 +1,120 @@
+{ stdenv, lib, fetchurl, makeWrapper
+, pkgconfig, cmake, gnumake, yasm, pythonFull
+, boost, avahi, libdvdcss, lame, autoreconfHook
+, gettext, pcre, yajl, fribidi, which
+, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
+, libX11, xproto, inputproto, libxml2
+, libXt, libXmu, libXext, xextproto
+, libXinerama, libXrandr, randrproto
+, libXtst, libXfixes, fixesproto, systemd
+, SDL, SDL_image, SDL_mixer, alsaLib
+, 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
+, 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)
+# TODO: librtmp
+, libvdpau ? null, vdpauSupport ? true
+, pulseaudio ? null, pulseSupport ? true
+, libcec ? null, cecSupport ? true
+}:
+
+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;
+assert pulseSupport -> pulseaudio != null;
+assert cecSupport   -> libcec != null;
+
+let
+  ffmpeg_2_4_4 = fetchurl {
+    url = "https://github.com/xbmc/FFmpeg/archive/2.4.4-Helix.tar.gz";
+    sha256 = "1pkkmnq0kbwb13ps1wk01709lp3l2dzbfay6l29zj1204lbc3anb";
+  };
+in stdenv.mkDerivation rec {
+    name = "kodi-14.0";
+
+    src = fetchurl {
+      url = "https://github.com/xbmc/xbmc/archive/14.0-Helix.tar.gz";
+      sha256 = "14hip50gg3qgfb0mw7wrdqvw77mxdg9x1abfrqv1ydjrrjansx0i";
+    };
+
+    buildInputs = [
+      makeWrapper libxml2 gnutls
+      pkgconfig cmake gnumake yasm pythonFull
+      boost libmicrohttpd autoreconfHook
+      gettext pcre yajl fribidi libva
+      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
+      sqlite mysql nasm avahi libdvdcss lame
+      curl bzip2 zip unzip glxinfo xdpyinfo
+    ]
+    ++ lib.optional dbusSupport dbus_libs
+    ++ lib.optional udevSupport udev
+    ++ lib.optional usbSupport libusb
+    ++ lib.optional sambaSupport samba
+    ++ lib.optional vdpauSupport libvdpau
+    ++ lib.optional pulseSupport pulseaudio
+    ++ lib.optional cecSupport libcec;
+
+    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"
+      cp ${ffmpeg_2_4_4} tools/depends/target/ffmpeg/ffmpeg-2.4.4-Helix.tar.gz
+    '';
+
+    preConfigure = ''
+      ./bootstrap
+    '';
+
+    configureFlags = [
+      "--enable-external-libraries"
+    ]
+    ++ lib.optional (!sambaSupport) "--disable-samba"
+    ++ lib.optional vdpauSupport "--enable-vdpau"
+    ++ lib.optional pulseSupport "--enable-pulse";
+
+    postInstall = ''
+      for p in $(ls $out/bin/) ; do
+        wrapProgram $out/bin/$p \
+          --prefix PATH ":" "${pythonFull}/bin" \
+          --prefix PATH ":" "${glxinfo}/bin" \
+          --prefix PATH ":" "${xdpyinfo}/bin" \
+          --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libcec}/lib"
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://kodi.tv/;
+      description = "Media center";
+      license = stdenv.lib.licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.iElectric maintainers.titanous ];
+    };
+}