media-tv/kodi: version bump #544760
authorMike Frysinger <vapier@gentoo.org>
Wed, 26 Aug 2015 05:26:12 +0000 (01:26 -0400)
committerMike Frysinger <vapier@gentoo.org>
Wed, 26 Aug 2015 05:26:12 +0000 (01:26 -0400)
media-tv/kodi/Manifest
media-tv/kodi/files/kodi-15.1-gcc-5.patch [new file with mode: 0644]
media-tv/kodi/files/kodi-15.1-texturepacker.patch [new file with mode: 0644]
media-tv/kodi/kodi-15.1.ebuild [new file with mode: 0644]

index 4ef5ffdc0a5abb546cbcc6a528afd003ea27623d..5ee483305dd5354a77f40a2d3a9ded44b77225ff 100644 (file)
@@ -1,2 +1,4 @@
 DIST kodi-14.1-generated-addons.tar.xz 71072 SHA256 0666eae88a3214f7577544975524b95a9f55b107cde5124d5d299351427c5d39 SHA512 a26889ba8af33316ac61bbf5a55ec6cd72cb867eac9b6d7c626ff890f3287de8704cf8372a5e2b72d6075ab8c31ba3d8465d1da0c9437065fe6e0171a560142f WHIRLPOOL 34a7067964febd71d5e07333a1ef90c14ad3d7d09e82aa4a3245b8174b068a1b2b31d0d6e5d20a449d11d34701b59611b725c8f37ce61702489c84bda16f227a
 DIST kodi-14.1.tar.gz 70832109 SHA256 a38059e292cf8523918834e49fcc2d688525ceb7951ddf7f5ee535f4147255d6 SHA512 05dccad279073fc804faf2f179ba370f612d53c823dd333fdd151e05de37eb8202cc981ba48afff695d475bafde9c8f05f562fe09883593a70299a2f098a9849 WHIRLPOOL 464ff2673c9e65466dff73d3c91b8754ee68d64b4a18ebb0b0c6e8efa2da1cc32ab22686530a8469a105bf7a089d8928db64c5c61d272462c13485006875b506
+DIST kodi-15.1-generated-addons.tar.xz 73988 SHA256 97f0236542044a909d982cbf9a031f76395a59a1d4a79187c1102845579ed8f2 SHA512 559c188471c84503840b8b2010b73f15cf083367a1e1d0d5cfe7c144e36821a07c6fff1ff379ad8e8b254bc0cc2555c0a17ae998003adf86b051febde97bf2f1 WHIRLPOOL 01b76391d6aa7c624ad23329c962416cdf4662b96e99724bb566d7ed20b08b1525acd4f12671eef04ac10e5255d097f7c2452d2bfd87f7dfd3f4c1cd621fe2a6
+DIST kodi-15.1.tar.gz 61477835 SHA256 72b2610d8fbff807128d74429f25bf6716ba880c27c2c5d9fad012ec7fc70705 SHA512 b597253aa51d3d446ecb85ffe163362b5e55717d6fee16eab81725b9cdf0a5a9e4a2291aa526b9e63fbb34ef206100df30c9368684e2ddedc49e35f140d604f0 WHIRLPOOL 3596c00f9d25193e1e84cdfbf7fe5a6e6bdcce37caa710b8dd2b0b7aaa043164410459009dc793991373886abed8755298ee8803edf7b90227509d0c3578b8b9
diff --git a/media-tv/kodi/files/kodi-15.1-gcc-5.patch b/media-tv/kodi/files/kodi-15.1-gcc-5.patch
new file mode 100644 (file)
index 0000000..b96cc82
--- /dev/null
@@ -0,0 +1,172 @@
+fix from upstream
+
+From 38693b251f5d80a7414b077e02c1636af65afb3d Mon Sep 17 00:00:00 2001
+From: Craig Andrews <candrews@integralblue.com>
+Date: Thu, 30 Jul 2015 23:06:41 -0400
+Subject: [PATCH] [rsxs] Use stdbool.h from GCC 5.2.0
+
+---
+ xbmc/screensavers/rsxs-0.9/lib/stdbool_.h | 137 +++++++++---------------------
+ 1 file changed, 38 insertions(+), 99 deletions(-)
+
+diff --git a/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h b/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h
+index efa80ba..a951510 100644
+--- a/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h
++++ b/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h
+@@ -1,115 +1,54 @@
+-/* Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
++/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
+-   This program is free software; you can redistribute it and/or modify
+-   it under the terms of the GNU General Public License as published by
+-   the Free Software Foundation; either version 2, or (at your option)
+-   any later version.
++This file is part of GCC.
+-   This program is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
+-   You should have received a copy of the GNU General Public License
+-   along with this program; if not, write to the Free Software Foundation,
+-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
+-#ifndef _STDBOOL_H
+-#define _STDBOOL_H
+-
+-/* ISO C 99 <stdbool.h> for platforms that lack it.  */
+-
+-/* Usage suggestions:
+-
+-   Programs that use <stdbool.h> should be aware of some limitations
+-   and standards compliance issues.
+-
+-   Standards compliance:
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
+-       - <stdbool.h> must be #included before 'bool', 'false', 'true'
+-         can be used.
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
++<http://www.gnu.org/licenses/>.  */
+-       - You cannot assume that sizeof (bool) == 1.
++/*
++ * ISO C Standard:  7.16  Boolean type and values  <stdbool.h>
++ */
+-       - Programs should not undefine the macros bool, true, and false,
+-         as C99 lists that as an "obsolescent feature".
+-
+-   Limitations of this substitute, when used in a C89 environment:
+-
+-       - <stdbool.h> must be #included before the '_Bool' type can be used.
+-
+-       - You cannot assume that _Bool is a typedef; it might be a macro.
++#ifndef _STDBOOL_H
++#define _STDBOOL_H
+-       - In C99, casts and automatic conversions to '_Bool' or 'bool' are
+-         performed in such a way that every nonzero value gets converted
+-         to 'true', and zero gets converted to 'false'.  This doesn't work
+-         with this substitute.  With this substitute, only the values 0 and 1
+-         give the expected result when converted to _Bool' or 'bool'.
++#ifndef __cplusplus
+-   Also, it is suggested that programs use 'bool' rather than '_Bool';
+-   this isn't required, but 'bool' is more common.  */
++#define bool  _Bool
++#define true  1
++#define false 0
++#else /* __cplusplus */
+-/* 7.16. Boolean type and values */
++/* Supporting _Bool in C++ is a GCC extension.  */
++#define _Bool bool
+-/* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
+-   definitions below, but temporarily we have to #undef them.  */
+-#ifdef __BEOS__
+-# include <OS.h> /* defines bool but not _Bool */
+-# undef false
+-# undef true
++#if __cplusplus < 201103L
++/* Defining these macros in C++98 is a GCC extension.  */
++#define bool  bool
++#define false false
++#define true  true
+ #endif
+-/* For the sake of symbolic names in gdb, we define true and false as
+-   enum constants, not only as macros.
+-   It is tempting to write
+-      typedef enum { false = 0, true = 1 } _Bool;
+-   so that gdb prints values of type 'bool' symbolically. But if we do
+-   this, values of type '_Bool' may promote to 'int' or 'unsigned int'
+-   (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
+-   (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
+-   enum; this ensures that '_Bool' promotes to 'int'.  */
+-#if defined __cplusplus || defined __BEOS__
+-  /* A compiler known to have 'bool'.  */
+-  /* If the compiler already has both 'bool' and '_Bool', we can assume they
+-     are the same types.  */
+-# if !@HAVE__BOOL@
+-typedef bool _Bool;
+-# endif
+-#else
+-# if !defined __GNUC__
+-   /* If @HAVE__BOOL@:
+-        Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
+-        the built-in _Bool type is used.  See
+-          http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+-          http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+-          http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+-        Similar bugs are likely with other compilers as well; this file
+-        wouldn't be used if <stdbool.h> was working.
+-        So we override the _Bool type.
+-      If !@HAVE__BOOL@:
+-        Need to define _Bool ourselves. As 'signed char' or as an enum type?
+-        Use of a typedef, with SunPRO C, leads to a stupid
+-          "warning: _Bool is a keyword in ISO C99".
+-        Use of an enum type, with IRIX cc, leads to a stupid
+-          "warning(1185): enumerated type mixed with another type".
+-        The only benefit of the enum type, debuggability, is not important
+-        with these compilers.  So use 'signed char' and no typedef.  */
+-#  define _Bool signed char
+-enum { false = 0, true = 1 };
+-# else
+-   /* With this compiler, trust the _Bool type if the compiler has it.  */
+-#  if !@HAVE__BOOL@
+-typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
+-#  endif
+-# endif
+-#endif
+-#define bool _Bool
++#endif /* __cplusplus */
+-/* The other macros must be usable in preprocessor directives.  */
+-#define false 0
+-#define true 1
+-#define __bool_true_false_are_defined 1
++/* Signal that all the definitions are present.  */
++#define __bool_true_false_are_defined 1
+-#endif /* _STDBOOL_H */
++#endif        /* stdbool.h */
+-- 
+2.4.4
+
diff --git a/media-tv/kodi/files/kodi-15.1-texturepacker.patch b/media-tv/kodi/files/kodi-15.1-texturepacker.patch
new file mode 100644 (file)
index 0000000..19309c5
--- /dev/null
@@ -0,0 +1,25 @@
+--- tools/depends/native/TexturePacker/Makefile
++++ tools/depends/native/TexturePacker/Makefile
+@@ -9,14 +9,10 @@
+ ifeq ($(NATIVEPLATFORM),)
+   PLATFORM = native
+-  EXTRA_CONFIGURE = --enable-static
+ else
+   PLATFORM = $(NATIVEPLATFORM)
+ endif
+-ifeq ($(NATIVE_OS), linux)
+-  EXTRA_CONFIGURE = --enable-static
+-endif
+ ifeq ($(NATIVE_OS), android)
+   EXTRA_CONFIGURE = --enable-static
+ endif
+@@ -35,7 +35,6 @@ all: .installed-$(PLATFORM)
+ $(PLATFORM): ../libsquish-native/.installed-$(PLATFORM)
+       -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+       cd $(PLATFORM); cp -a $(SOURCE)/* .
+-      cd $(PLATFORM); ./autogen.sh
+       cd $(PLATFORM); ./configure --prefix=$(PREFIX) $(EXTRA_CONFIGURE) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)"
diff --git a/media-tv/kodi/kodi-15.1.ebuild b/media-tv/kodi/kodi-15.1.ebuild
new file mode 100644 (file)
index 0000000..80d6765
--- /dev/null
@@ -0,0 +1,283 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+# Does not work with py3 here
+# It might work with py:2.5 but I didn't test that
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit eutils linux-info python-single-r1 multiprocessing autotools
+
+CODENAME="Isengard"
+case ${PV} in
+9999)
+       EGIT_REPO_URI="git://github.com/xbmc/xbmc.git"
+       inherit git-r3
+       ;;
+*|*_p*)
+       MY_PV=${PV/_p/_r}
+       MY_P="${PN}-${MY_PV}"
+       SRC_URI="http://mirrors.kodi.tv/releases/source/${MY_PV}-${CODENAME}.tar.gz -> ${P}.tar.gz
+               https://github.com/xbmc/xbmc/archive/${PV}-${CODENAME}.tar.gz -> ${P}.tar.gz
+               !java? ( http://mirrors.kodi.tv/releases/source/${MY_P}-generated-addons.tar.xz )"
+       KEYWORDS="~amd64 ~x86"
+
+       S=${WORKDIR}/xbmc-${PV}-${CODENAME}
+       ;;
+esac
+
+DESCRIPTION="Kodi is a free and open source media-player and entertainment hub"
+HOMEPAGE="http://kodi.tv/ http://kodi.wiki/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="airplay alsa avahi bluetooth bluray caps cec css dbus debug +fishbmc gles goom java joystick midi mysql nfs +opengl profile +projectm pulseaudio +rsxs rtmp +samba sftp +spectrum test +texturepacker udisks upnp upower +usb vaapi vdpau +waveform webserver +X"
+REQUIRED_USE="
+       rsxs? ( X )
+       udisks? ( dbus )
+       upower? ( dbus )
+"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+       app-arch/bzip2
+       app-arch/unzip
+       app-arch/zip
+       app-i18n/enca
+       airplay? ( app-pda/libplist )
+       dev-libs/boost
+       dev-libs/expat
+       dev-libs/fribidi
+       dev-libs/libcdio[-minimal]
+       cec? ( >=dev-libs/libcec-3.0 )
+       dev-libs/libpcre[cxx]
+       dev-libs/libxml2
+       dev-libs/libxslt
+       >=dev-libs/lzo-2.04
+       dev-libs/tinyxml[stl]
+       dev-libs/yajl
+       dev-python/simplejson[${PYTHON_USEDEP}]
+       media-fonts/corefonts
+       media-fonts/roboto
+       alsa? ( media-libs/alsa-lib )
+       media-libs/flac
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/jasper
+       media-libs/jbigkit
+       >=media-libs/libass-0.9.7
+       bluray? ( media-libs/libbluray )
+       css? ( media-libs/libdvdcss )
+       media-libs/libmad
+       media-libs/libmodplug
+       media-libs/libmpeg2
+       media-libs/libogg
+       media-libs/libpng
+       projectm? ( media-libs/libprojectm )
+       media-libs/libsamplerate
+       joystick? ( media-libs/libsdl2 )
+       >=media-libs/taglib-1.8
+       media-libs/libvorbis
+       media-libs/tiff
+       pulseaudio? ( media-sound/pulseaudio )
+       media-sound/wavpack
+       >=media-video/ffmpeg-2.6:=[encode]
+       rtmp? ( media-video/rtmpdump )
+       avahi? ( net-dns/avahi )
+       nfs? ( net-fs/libnfs )
+       webserver? ( net-libs/libmicrohttpd[messages] )
+       sftp? ( net-libs/libssh[sftp] )
+       net-misc/curl
+       samba? ( >=net-fs/samba-3.4.6[smbclient(+)] )
+       bluetooth? ( net-wireless/bluez )
+       dbus? ( sys-apps/dbus )
+       caps? ( sys-libs/libcap )
+       sys-libs/zlib
+       virtual/jpeg
+       usb? ( virtual/libusb )
+       mysql? ( virtual/mysql )
+       opengl? (
+               virtual/glu
+               virtual/opengl
+               >=media-libs/glew-1.5.6
+       )
+       gles? (
+               media-libs/mesa[gles2]
+       )
+       vaapi? ( x11-libs/libva[opengl] )
+       vdpau? (
+               || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 )
+               media-video/ffmpeg[vdpau]
+       )
+       X? (
+               x11-apps/xdpyinfo
+               x11-apps/mesa-progs
+               x11-libs/libXinerama
+               x11-libs/libXrandr
+               x11-libs/libXrender
+       )"
+RDEPEND="${COMMON_DEPEND}
+       !media-tv/xbmc
+       udisks? ( sys-fs/udisks:0 )
+       upower? ( || ( sys-power/upower sys-power/upower-pm-utils ) )"
+DEPEND="${COMMON_DEPEND}
+       app-arch/xz-utils
+       dev-lang/swig
+       dev-util/gperf
+       X? ( x11-proto/xineramaproto )
+       dev-util/cmake
+       x86? ( dev-lang/nasm )
+       java? ( virtual/jre )
+       test? ( dev-cpp/gtest )"
+# Force java for latest git version to avoid having to hand maintain the
+# generated addons package.  #488118
+[[ ${PV} == "9999" ]] && DEPEND+=" virtual/jre"
+
+CONFIG_CHECK="~IP_MULTICAST"
+ERROR_IP_MULTICAST="
+In some cases Kodi needs to access multicast addresses.
+Please consider enabling IP_MULTICAST under Networking options.
+"
+
+pkg_setup() {
+       check_extra_config
+       python-single-r1_pkg_setup
+}
+
+src_unpack() {
+       [[ ${PV} == "9999" ]] && git-r3_src_unpack || default
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-9999-no-arm-flags.patch #400617
+       epatch "${FILESDIR}"/${P}-texturepacker.patch
+       epatch "${FILESDIR}"/${P}-gcc-5.patch #544760
+
+       # some dirs ship generated autotools, some dont
+       multijob_init
+       local d dirs=(
+               tools/depends/native/TexturePacker/src/configure
+               $(printf 'f:\n\t@echo $(BOOTSTRAP_TARGETS)\ninclude bootstrap.mk\n' | emake -f - f)
+       )
+       for d in "${dirs[@]}" ; do
+               [[ -e ${d} ]] && continue
+               pushd ${d/%configure/.} >/dev/null || die
+               AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" \
+               multijob_child_init eautoreconf
+               popd >/dev/null
+       done
+       multijob_finish
+       elibtoolize
+
+       [[ ${PV} == "9999" ]] && emake -f codegenerator.mk
+
+       # Disable internal func checks as our USE/DEPEND
+       # stuff handles this just fine already #408395
+       export ac_cv_lib_avcodec_ff_vdpau_vc1_decode_picture=yes
+
+       # Fix the final version string showing as "exported"
+       # instead of the SVN revision number.
+       export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported}
+
+       # avoid long delays when powerkit isn't running #348580
+       sed -i \
+               -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
+               xbmc/linux/*.cpp || die
+
+       epatch_user #293109
+
+       # Tweak autotool timestamps to avoid regeneration
+       find . -type f -exec touch -r configure {} +
+}
+
+src_configure() {
+       # Disable documentation generation
+       export ac_cv_path_LATEX=no
+       # Avoid help2man
+       export HELP2MAN=$(type -P help2man || echo true)
+       # No configure flage for this #403561
+       export ac_cv_lib_bluetooth_hci_devid=$(usex bluetooth)
+       # Requiring java is asine #434662
+       [[ ${PV} != "9999" ]] && export ac_cv_path_JAVA_EXE=$(which $(usex java java true))
+
+       econf \
+               --docdir=/usr/share/doc/${PF} \
+               --disable-ccache \
+               --disable-optimizations \
+               --with-ffmpeg=shared \
+               $(use_enable alsa) \
+               $(use_enable airplay) \
+               $(use_enable avahi) \
+               $(use_enable bluray libbluray) \
+               $(use_enable caps libcap) \
+               $(use_enable cec libcec) \
+               $(use_enable css dvdcss) \
+               $(use_enable dbus) \
+               $(use_enable debug) \
+               $(use_enable fishbmc) \
+               $(use_enable gles) \
+               $(use_enable goom) \
+               $(use_enable joystick) \
+               $(use_enable midi mid) \
+               $(use_enable mysql) \
+               $(use_enable nfs) \
+               $(use_enable opengl gl) \
+               $(use_enable profile profiling) \
+               $(use_enable projectm) \
+               $(use_enable pulseaudio pulse) \
+               $(use_enable rsxs) \
+               $(use_enable rtmp) \
+               $(use_enable samba) \
+               $(use_enable sftp ssh) \
+               $(use_enable spectrum) \
+               $(use_enable usb libusb) \
+               $(use_enable test gtest) \
+               $(use_enable texturepacker) \
+               $(use_enable upnp) \
+               $(use_enable vaapi) \
+               $(use_enable vdpau) \
+               $(use_enable waveform) \
+               $(use_enable webserver) \
+               $(use_enable X x11)
+}
+
+src_compile() {
+       emake V=1
+}
+
+src_install() {
+       default
+       rm "${ED}"/usr/share/doc/*/{LICENSE.GPL,copying.txt}*
+
+       domenu tools/Linux/kodi.desktop
+       newicon media/icon48x48.png kodi.png
+
+       # Remove optional addons (platform specific).
+       local disabled_addons=(
+               repository.pvr-{android,ios,osx{32,64},win32}.xbmc.org
+               visualization.dxspectrum
+               visualization.vortex
+       )
+       rm -rf "${disabled_addons[@]/#/${ED}/usr/share/kodi/addons/}"
+
+       # Remove fonconfig settings that are used only on MacOSX.
+       # Can't be patched upstream because they just find all files and install
+       # them into same structure like they have in git.
+       rm -rf "${ED}"/usr/share/kodi/system/players/dvdplayer/etc
+
+       # Replace bundled fonts with system ones
+       # teletext.ttf: unknown
+       # bold-caps.ttf: unknown
+       # roboto: roboto-bold, roboto-regular
+       # arial.ttf: font mashed from droid/roboto, not removed wrt bug#460514
+       rm -rf "${ED}"/usr/share/kodi/addons/skin.confluence/fonts/Roboto-*
+       dosym /usr/share/fonts/roboto/Roboto-Regular.ttf \
+               /usr/share/kodi/addons/skin.confluence/fonts/Roboto-Regular.ttf
+       dosym /usr/share/fonts/roboto/Roboto-Bold.ttf \
+               /usr/share/kodi/addons/skin.confluence/fonts/Roboto-Bold.ttf
+
+       python_domodule tools/EventClients/lib/python/xbmcclient.py
+       python_newscript "tools/EventClients/Clients/Kodi Send/kodi-send.py" kodi-send
+}