From 39c613fa629724e051b7adb9c5d9415935817c8b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 26 Aug 2015 01:26:12 -0400 Subject: [PATCH] media-tv/kodi: version bump #544760 --- media-tv/kodi/Manifest | 2 + media-tv/kodi/files/kodi-15.1-gcc-5.patch | 172 +++++++++++ .../kodi/files/kodi-15.1-texturepacker.patch | 25 ++ media-tv/kodi/kodi-15.1.ebuild | 283 ++++++++++++++++++ 4 files changed, 482 insertions(+) create mode 100644 media-tv/kodi/files/kodi-15.1-gcc-5.patch create mode 100644 media-tv/kodi/files/kodi-15.1-texturepacker.patch create mode 100644 media-tv/kodi/kodi-15.1.ebuild diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest index 4ef5ffdc0a5a..5ee483305dd5 100644 --- a/media-tv/kodi/Manifest +++ b/media-tv/kodi/Manifest @@ -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 index 000000000000..b96cc82c0579 --- /dev/null +++ b/media-tv/kodi/files/kodi-15.1-gcc-5.patch @@ -0,0 +1,172 @@ +fix from upstream + +From 38693b251f5d80a7414b077e02c1636af65afb3d Mon Sep 17 00:00:00 2001 +From: Craig Andrews +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 , 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 for platforms that lack it. */ +- +-/* Usage suggestions: +- +- Programs that use 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. + +- - 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 ++. */ + +- - You cannot assume that sizeof (bool) == 1. ++/* ++ * ISO C Standard: 7.16 Boolean type and values ++ */ + +- - 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: +- +- - 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 already #defines false 0, true 1. We use the same +- definitions below, but temporarily we have to #undef them. */ +-#ifdef __BEOS__ +-# include /* 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 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 index 000000000000..19309c58d447 --- /dev/null +++ b/media-tv/kodi/files/kodi-15.1-texturepacker.patch @@ -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 index 000000000000..80d676586fbd --- /dev/null +++ b/media-tv/kodi/kodi-15.1.ebuild @@ -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 +} -- 2.26.2