kodi 14.2-r1 added from anarchy overlay.

This commit is contained in:
Kolan Sh 2015-07-22 12:24:31 +03:00
parent f521bbdb80
commit e2f97fd2fa
12 changed files with 880 additions and 0 deletions

1
media-tv/kodi/Manifest Normal file
View File

@ -0,0 +1 @@
DIST kodi-14.2.tar.gz 70703786 SHA256 d9cb8590430a925fb789a5beb4da2695cdcd2d2500dd31126f3b77b31aa267f4 SHA512 08330a47cc87d0c2ea74ed29f60987d77f39a9241b4b9dde015eef6ed8af07ea1307e3eba4dd8d10cca0a9d46be9b611e99ecee2f1fe8d9200b5739f1087a9fa WHIRLPOOL 1403d74cca5dbaf520a97d89370151058c2c455d9525ca1ec2d72759f2a9a4fdc37232fec6fdaa97e511a183eb6c3906c47fc13373297eb72fe3860506cc9eb8

34
media-tv/kodi/files/generate.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# Generate the various interface files that normally requires java.
# This makes building the release versions much nicer.
set -eux
PV=$1
PN=kodi
P="${PN}-${PV}"
DISTDIR="/usr/portage/distfiles"
GITDIR="/usr/local/src/kodi/git"
if [[ ${PV} != "9999" ]] ; then
rm -rf xbmc-*/
tar xf ${DISTDIR}/${P}.tar.gz
d=$(echo xbmc-*/)
else
stamp=$(date --date="$(git log -n1 --pretty=format:%ci master)" -u +%Y%m%d)
P+="-${stamp}"
cd ${GITDIR}
d=.
fi
#cd ${d} && git init . && git add . && git commit -qmm && cd ..
make -C ${d} -j -f codegenerator.mk
tar="${DISTDIR}/${P}-generated-addons.tar.xz"
tar cf - \
${d}/xbmc/interfaces/python/generated/*.cpp \
${d}/xbmc/interfaces/json-rpc/ServiceDescription.h \
| xz > "${tar}"
if [[ ${PV} != "9999" ]] ; then
rm -rf xbmc-*/
fi
du -b "${tar}"

View File

@ -0,0 +1,16 @@
sniped from:
http://cvs.rpmfusion.org/viewvc/rpms/kodi/devel/kodi-14.0-dvddemux-ffmpeg.patch?root=free&view=markup
--- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -519,10 +519,6 @@
void CDVDDemuxFFmpeg::Flush()
{
- // naughty usage of an internal ffmpeg function
- if (m_pFormatContext)
- av_read_frame_flush(m_pFormatContext);
-
m_currentPts = DVD_NOPTS_VALUE;
m_pkt.result = -1;

View File

@ -0,0 +1,13 @@
diff -Nur xbmc-14.1-Helix.orig/bootstrap.mk xbmc-14.1-Helix.new/bootstrap.mk
--- xbmc-14.1-Helix.orig/bootstrap.mk 2015-03-29 13:38:25.594436410 +0200
+++ xbmc-14.1-Helix.new/bootstrap.mk 2015-03-29 13:39:03.601098833 +0200
@@ -2,7 +2,7 @@
BOOTSTRAP_SUBDIRS += xbmc/screensavers/rsxs-0.9/configure.ac
BOOTSTRAP_SUBDIRS += xbmc/visualizations/Goom/goom2k4-0/configure.in
BOOTSTRAP_SUBDIRS += lib/cpluff/configure.ac
-BOOTSTRAP_SUBDIRS += lib/gtest/configure.ac
+#BOOTSTRAP_SUBDIRS += lib/gtest/configure.ac
ifneq ($(wildcard lib/libdvd/libdvdcss/configure.ac),)
BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdcss/configure.ac

View File

@ -0,0 +1,16 @@
http://bugs.gentoo.org/400617
do not force any particular ABI or FPU or SIMD compiler flags for arm
targets. let the toolchain and user CFLAGS control that.
--- a/configure.in
+++ b/configure.in
@@ -571,7 +571,7 @@
elif test "$target_platform" = "target_raspberry_pi"; then
ARCH="arm"
use_arch="arm"
-elif test "$use_arch" = "arm"; then
+elif false; then
CFLAGS="$CFLAGS -mno-apcs-stack-check"
CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
FFMPEG_EXTRACFLAGS=""

View File

@ -0,0 +1,14 @@
diff --git a/system/settings/settings.xml b/system/settings/settings.xml
index f92bd59..a856784 100644
--- a/system/settings/settings.xml
+++ b/system/settings/settings.xml
@@ -92,7 +92,7 @@
<group id="2">
<setting id="lookandfeel.enablerssfeeds" type="boolean" label="13305" help="36111">
<level>1</level>
- <default>true</default>
+ <default>false</default>
<control type="toggle" />
</setting>
<setting id="lookandfeel.rssedit" type="string" parent="lookandfeel.enablerssfeeds" label="21450" help="36112">

View File

@ -0,0 +1,37 @@
diff -Nur xbmc-14.1-Helix.orig/configure.in xbmc-14.1-Helix.new/configure.in
--- xbmc-14.1-Helix.orig/configure.in 2015-01-29 23:57:10.000000000 +0100
+++ xbmc-14.1-Helix.new/configure.in 2015-03-30 22:08:00.661976231 +0200
@@ -1206,9 +1206,6 @@
AC_DEFINE([SDL_VERSION],[1],["SDL major version"])
fi
else
-if test "$target_platform" != "target_android" ; then
- AC_CHECK_LIB([jasper], [main],, AC_MSG_ERROR($missing_library)) # check for cximage
-fi
if test "x$use_alsa" != "xno"; then
PKG_CHECK_MODULES([ALSA], [alsa],
[INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"; use_alsa=yes],
diff -Nur xbmc-14.1-Helix.orig/lib/cximage-6.0/Makefile.in xbmc-14.1-Helix.new/lib/cximage-6.0/Makefile.in
--- xbmc-14.1-Helix.orig/lib/cximage-6.0/Makefile.in 2015-01-29 23:57:10.000000000 +0100
+++ xbmc-14.1-Helix.new/lib/cximage-6.0/Makefile.in 2015-03-30 21:38:27.188665277 +0200
@@ -4,8 +4,8 @@
ARCHIVE=$(SO:.so=.a)
SYSDIR=../../system
SLIB=$(SYSDIR)/$(SO)
-DIRS=CxImage raw jbig
-SLIBS=CxImage/cximage.a raw/raw.a jbig/jbig.a
+DIRS=CxImage raw
+SLIBS=CxImage/cximage.a raw/raw.a
ifeq ($(findstring osx,$(ARCH)), osx)
export ARCH
@@ -21,7 +21,7 @@
CxImage/*.o jasper/*/*.o jbig/*.o raw/*.o
else
$(CXX) $(CFLAGS) $(LDFLAGS) -shared -o $(SLIB) -Wl,--whole-archive $(SLIBS) \
- -Wl,--no-whole-archive -lpng -ljasper -ljpeg -ltiff -lz -Wl,--unresolved-symbols=ignore-all
+ -Wl,--no-whole-archive -lpng -ljpeg -ltiff -lz -Wl,--unresolved-symbols=ignore-all
endif
$(SLIBS): compile

View File

@ -0,0 +1,126 @@
diff -Nur xbmc-14.1-Helix.orig/bootstrap.mk xbmc-14.1-Helix.new/bootstrap.mk
--- xbmc-14.1-Helix.orig/bootstrap.mk 2015-03-29 14:04:47.011082386 +0200
+++ xbmc-14.1-Helix.new/bootstrap.mk 2015-03-29 16:47:34.189335973 +0200
@@ -8,7 +8,6 @@
BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdcss/configure.ac
DVD_CSS=lib/libdvd/libdvdcss/configure
endif
-BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdread/configure.ac
BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdnav/configure.ac
ifneq ($(wildcard pvr-addons/Makefile.am),)
@@ -18,10 +17,6 @@
BOOTSTRAP_TARGETS=$(basename $(BOOTSTRAP_SUBDIRS))
all: $(BOOTSTRAP_TARGETS)
-#preserve order for libdvd. dvdcss (if present) -> dvdread -> dvdnav.
-lib/libdvd/libdvdread/configure: $(DVD_CSS)
-lib/libdvd/libdvdnav/configure: lib/libdvd/libdvdread/configure
-
%: %.ac
autoreconf -vif $(@D)
-@rm -rf $(@D)/autom4te.cache
diff -Nur xbmc-14.1-Helix.orig/configure.in xbmc-14.1-Helix.new/configure.in
--- xbmc-14.1-Helix.orig/configure.in 2015-03-29 14:04:45.591082404 +0200
+++ xbmc-14.1-Helix.new/configure.in 2015-03-29 22:08:05.119084347 +0200
@@ -1155,6 +1155,9 @@
PKG_CHECK_MODULES([SIDPLAY], [libsidplay2],
[INCLUDES="$INCLUDES $SIDPLAY_CFLAGS"; LIBS="$LIBS $SIDPLAY_LIBS"],
AC_MSG_ERROR($missing_library))
+PKG_CHECK_MODULES([DVDREAD], [dvdread],
+ [INCLUDES="$INCLUDES $DVDREAD_CFLAGS"; LIBS="$LIBS $DVDREAD_LIBS"],
+ AC_MSG_ERROR($missing_library))
if test "$use_optical_drive" = "yes"; then
PKG_CHECK_MODULES([CDIO], [libcdio],
@@ -2684,27 +2687,9 @@
--with-pic
], [$SKIP_CONFIG_DVDCSS])
-XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
- ./configure2 \
- --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src $DROID_DVDLIB_SEEK64" \
- --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
- --host=$host_alias \
- --build=$build_alias \
- --target=$target_alias \
- --enable-static \
- --disable-shared \
- --disable-strip \
- --disable-opts \
- --cc="$CC" &&
- mkdir -p `pwd`/../includes/dvdread
- cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
- cp `pwd`/../libdvdread/src/dvdread/*.h `pwd`/../includes/dvdread
-], [0])
-
XB_CONFIG_MODULE([lib/libdvd/libdvdnav], [
./configure2 \
--extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes $DROID_DVDLIB_SEEK64" \
- --extra-ldflags="-L`pwd`/../libdvdread/obj" \
--with-dvdread-config="`pwd`/../dvdread-config" \
--prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
--host=$host_alias \
diff -Nur xbmc-14.1-Helix.orig/lib/libdvd/Makefile.in xbmc-14.1-Helix.new/lib/libdvd/Makefile.in
--- xbmc-14.1-Helix.orig/lib/libdvd/Makefile.in 2015-03-29 14:04:46.297749062 +0200
+++ xbmc-14.1-Helix.new/lib/libdvd/Makefile.in 2015-03-29 22:09:58.232416198 +0200
@@ -5,8 +5,7 @@
SYSDIR=@abs_top_srcdir@/system/players/dvdplayer
SOS= libdvdnav-$(ARCH).so
-DIRS= libdvdread \
- libdvdnav
+DIRS= libdvdnav
WRAPPER=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.o
WRAPPER_MACH_ALIAS=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_alias
@@ -48,9 +47,9 @@
$(CC) $(LDFLAGS) -Wl,-alias_list,$(WRAPPER_MACH_ALIAS) -o $@ \
$(WRAPPER) libdvdcss/src/*.o $(BUNDLE1_O)
-$(SYSDIR)/libdvdnav-$(ARCH).so: $($(WRAPPER)) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a
+$(SYSDIR)/libdvdnav-$(ARCH).so: $($(WRAPPER)) $(DVDCSS_A) libdvdnav/obj/libdvdnav.a
$(CC) $(LDFLAGS) -Wl,-alias_list,$(WRAPPER_MACH_ALIAS) -o $@ \
- $(WRAPPER) $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o $(BUNDLE1_O)
+ $(WRAPPER) $(DVDCSS_O) libdvdnav/obj/*.o $(BUNDLE1_O)
else
@@ -59,10 +58,10 @@
libdvdcss/src/*.o -Wl,--unresolved-symbols=ignore-all -lm \
`cat $(WRAPPER:.o=.def)` $(WRAPPER)
-$(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a
- $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o -lm \
+$(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdnav/obj/libdvdnav.a
+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdnav/obj/*.o -lm \
-Wl,--unresolved-symbols=ignore-all \
- `cat $(WRAPPER:.o=.def)` $(WRAPPER)
+ `cat $(WRAPPER:.o=.def)` $(WRAPPER) -ldvdread
endif
@@ -70,10 +69,6 @@
libdvdcss: compile
$(MAKE) -C $@
-libdvdread/obj/libdvdread.a: libdvdread;
-libdvdread: compile
- $(MAKE) -C $@
-
libdvdnav/obj/libdvdnav.a: libdvdnav;
libdvdnav: compile
$(MAKE) -C $@
diff -Nur xbmc-14.1-Helix.orig/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h xbmc-14.1-Helix.new/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h
--- xbmc-14.1-Helix.orig/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h 2015-03-29 14:04:45.834415734 +0200
+++ xbmc-14.1-Helix.new/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h 2015-03-29 22:11:12.095748564 +0200
@@ -34,6 +34,8 @@
#define HAVE_CONFIG_H
#endif
+ // pull in Kodi's config h instead of dvdnav's one
+ #include "xbmc/config.h"
#include "dvdnav/dvdnav_internal.h"
#include "dvdnav/vm.h"
#include "dvdnav/dvd_types.h"

View File

@ -0,0 +1,154 @@
diff -Nur xbmc-14.1-Helix.orig/Makefile.in xbmc-14.1-Helix.new/Makefile.in
--- xbmc-14.1-Helix.orig/Makefile.in 2015-03-29 13:22:15.207782443 +0200
+++ xbmc-14.1-Helix.new/Makefile.in 2015-03-29 13:24:11.881114247 +0200
@@ -203,7 +203,6 @@
LIB_DIRS=\
lib/cximage-6.0 \
lib/libexif \
- lib/libhdhomerun \
lib/cpluff \
lib/xbmc-dll-symbols
@@ -424,8 +423,6 @@
$(MAKE) -C lib/libexif
cmyth: dllloader
$(MAKE) -C lib/cmyth
-libhdhomerun: dllloader
- $(MAKE) -C lib/libhdhomerun
papcodecs: dllloader dvdpcodecs
test -d system/players/paplayer || mkdir system/players/paplayer
$(MAKE) -C lib/vgmstream
@@ -453,7 +450,7 @@
codecs: papcodecs dvdpcodecs dvdpextcodecs
-libs: $(LIBSSE4) libhdhomerun imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
+libs: $(LIBSSE4) imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
externals: codecs libs visualizations screensavers libaddon pvraddons
diff -Nur xbmc-14.1-Helix.orig/configure.in xbmc-14.1-Helix.new/configure.in
--- xbmc-14.1-Helix.orig/configure.in 2015-03-29 13:22:15.131115777 +0200
+++ xbmc-14.1-Helix.new/configure.in 2015-03-29 13:33:17.384440443 +0200
@@ -1246,6 +1246,7 @@
XB_FIND_SONAME([MODPLUG], [modplug])
XB_FIND_SONAME([ASS], [ass])
XB_FIND_SONAME([MPEG2], [mpeg2])
+XB_FIND_SONAME([HDHOMERUN], [hdhomerun])
XB_FIND_SONAME([SIDPLAY2], [sidplay2])
# WebServer
@@ -2467,7 +2468,6 @@
lib/libexif/Makefile \
lib/libXDAAP/Makefile \
lib/cmyth/Makefile \
- lib/libhdhomerun/Makefile \
lib/libsquish/Makefile \
lib/cximage-6.0/Makefile \
lib/libUPnP/Makefile \
diff -Nur xbmc-14.1-Helix.orig/xbmc/DllPaths_generated.h.in xbmc-14.1-Helix.new/xbmc/DllPaths_generated.h.in
--- xbmc-14.1-Helix.orig/xbmc/DllPaths_generated.h.in 2015-03-29 13:22:15.334449107 +0200
+++ xbmc-14.1-Helix.new/xbmc/DllPaths_generated.h.in 2015-03-29 13:34:43.741105982 +0200
@@ -28,7 +28,7 @@
#define DLL_PATH_CPLUFF "special://xbmcbin/system/libcpluff-@ARCH@.so"
#define DLL_PATH_IMAGELIB "special://xbmcbin/system/ImageLib-@ARCH@.so"
#define DLL_PATH_LIBEXIF "special://xbmcbin/system/libexif-@ARCH@.so"
-#define DLL_PATH_LIBHDHOMERUN "special://xbmcbin/system/hdhomerun-@ARCH@.so"
+#define DLL_PATH_LIBHDHOMERUN "@HDHOMERUN_SONAME@"
#define DLL_PATH_MEDIAINFO "special://xbmcbin/system/mediainfo-@ARCH@.so"
#define DLL_PATH_LIBCMYTH "special://xbmcbin/system/libcmyth-@ARCH@.so"
diff -Nur xbmc-14.1-Helix.orig/xbmc/filesystem/DllHDHomeRun.h xbmc-14.1-Helix.new/xbmc/filesystem/DllHDHomeRun.h
--- xbmc-14.1-Helix.orig/xbmc/filesystem/DllHDHomeRun.h 2015-03-29 13:22:15.421115773 +0200
+++ xbmc-14.1-Helix.new/xbmc/filesystem/DllHDHomeRun.h 2015-03-29 13:37:08.767771175 +0200
@@ -20,7 +20,7 @@
*/
#include "DynamicDll.h"
-#include "lib/libhdhomerun/hdhomerun.h"
+#include <hdhomerun/hdhomerun.h>
class DllHdHomeRunInterface
{
@@ -41,30 +41,55 @@
class DllHdHomeRun : public DllDynamic, public DllHdHomeRunInterface
{
- DECLARE_DLL_WRAPPER(DllHdHomeRun, DLL_PATH_LIBHDHOMERUN)
- DEFINE_METHOD5(int, discover_find_devices_custom, (uint32_t p1, uint32_t p2, uint32_t p3, struct hdhomerun_discover_device_t p4[], int p5))
- DEFINE_METHOD2(struct hdhomerun_device_t*, device_create_from_str, (const char* p1, struct hdhomerun_debug_t *p2))
- DEFINE_METHOD1(void, device_destroy, (struct hdhomerun_device_t* p1))
- DEFINE_METHOD1(int, device_stream_start, (struct hdhomerun_device_t* p1))
- DEFINE_METHOD3(uint8_t*, device_stream_recv, (struct hdhomerun_device_t* p1, size_t p2, size_t* p3))
- DEFINE_METHOD1(void, device_stream_stop, (struct hdhomerun_device_t* p1))
- DEFINE_METHOD2(int, device_set_tuner_channel, (struct hdhomerun_device_t *p1, const char *p2))
- DEFINE_METHOD2(int, device_set_tuner_program, (struct hdhomerun_device_t *p1, const char *p2))
- DEFINE_METHOD2(int, device_set_tuner_from_str, (struct hdhomerun_device_t *p1, const char *p2))
- DEFINE_METHOD2(void, device_set_tuner, (struct hdhomerun_device_t *p1, unsigned int p2))
- DEFINE_METHOD3(int, device_get_tuner_status, (struct hdhomerun_device_t *p1, char **p2, struct hdhomerun_tuner_status_t *p3));
- BEGIN_METHOD_RESOLVE()
- RESOLVE_METHOD_RENAME(hdhomerun_discover_find_devices_custom, discover_find_devices_custom)
- RESOLVE_METHOD_RENAME(hdhomerun_device_create_from_str, device_create_from_str)
- RESOLVE_METHOD_RENAME(hdhomerun_device_destroy, device_destroy)
- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_start, device_stream_start)
- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_recv, device_stream_recv)
- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_stop, device_stream_stop)
- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_channel, device_set_tuner_channel)
- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_program, device_set_tuner_program)
- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_from_str, device_set_tuner_from_str)
- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner, device_set_tuner)
- RESOLVE_METHOD_RENAME(hdhomerun_device_get_tuner_status, device_get_tuner_status)
- END_METHOD_RESOLVE()
+ virtual ~DllHdHomeRun () {};
+
+ virtual int discover_find_devices_custom (uint32_t p1, uint32_t p2, uint32_t p3, struct hdhomerun_discover_device_t p4[], int p5)
+ { return ::hdhomerun_discover_find_devices_custom (p1, p2, p3, p4, p5); }
+
+ virtual struct hdhomerun_device_t *device_create_from_str (const char* p1, struct hdhomerun_debug_t *p2)
+ { return ::hdhomerun_device_create_from_str (p1, p2); }
+
+ virtual void device_destroy (struct hdhomerun_device_t* p1)
+ { ::hdhomerun_device_destroy (p1); }
+
+ virtual int device_stream_start (struct hdhomerun_device_t* p1)
+ { return ::hdhomerun_device_stream_start (p1); }
+
+
+ virtual uint8_t *device_stream_recv (struct hdhomerun_device_t* p1, size_t p2, size_t* p3)
+ {
+ uint8_t *retval;
+
+ size_t tmp = *p3;
+ retval = ::hdhomerun_device_stream_recv (p1, p2, &tmp);
+ *p3 = tmp;
+
+ return retval;
+ }
+
+ virtual void device_stream_stop (struct hdhomerun_device_t* p1)
+ { ::hdhomerun_device_stream_stop (p1); }
+
+ virtual int device_set_tuner_channel (struct hdhomerun_device_t *p1, const char *p2)
+ { return ::hdhomerun_device_set_tuner_channel (p1, p2); }
+
+ virtual int device_set_tuner_program (struct hdhomerun_device_t *p1, const char *p2)
+ { return ::hdhomerun_device_set_tuner_program (p1, p2); }
+
+
+ virtual int device_set_tuner_from_str (struct hdhomerun_device_t *p1, const char *p2)
+ { return ::hdhomerun_device_set_tuner_from_str (p1, p2); }
+
+
+ virtual void device_set_tuner (struct hdhomerun_device_t *p1, unsigned int p2)
+ { ::hdhomerun_device_set_tuner (p1, p2); }
+
+ virtual int device_get_tuner_status (struct hdhomerun_device_t *p1, char **p2, struct hdhomerun_tuner_status_t *p3)
+ { return ::hdhomerun_device_get_tuner_status (p1, p2, p3); }
+
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() { return true; }
+ virtual void Unload() {}
};

View File

@ -0,0 +1,62 @@
diff -Nur xbmc-14.1-Helix.orig/Makefile.in xbmc-14.1-Helix.new/Makefile.in
--- xbmc-14.1-Helix.orig/Makefile.in 2015-01-29 23:57:10.000000000 +0100
+++ xbmc-14.1-Helix.new/Makefile.in 2015-03-29 13:13:12.564456208 +0200
@@ -191,7 +191,6 @@
PAPCODECS_DIRS= \
lib/nosefart \
lib/timidity \
- lib/libsidplay2 \
lib/stsound/StSoundLibrary \
lib/snesapu/SNES/SNESAPU \
lib/vgmstream
@@ -433,7 +432,7 @@
$(MAKE) -C lib/timidity
$(MAKE) -C lib/nosefart
ifneq ($(findstring arm-osx,@ARCH@), arm-osx)
- $(MAKE) -C lib/libsidplay2
+# $(MAKE) -C lib/libsidplay2
endif
ifeq (@USE_ASAP_CODEC@,1)
ifneq ($(findstring osx,@ARCH@), osx)
diff -Nur xbmc-14.1-Helix.orig/configure.in xbmc-14.1-Helix.new/configure.in
--- xbmc-14.1-Helix.orig/configure.in 2015-01-29 23:57:10.000000000 +0100
+++ xbmc-14.1-Helix.new/configure.in 2015-03-29 13:18:54.094451741 +0200
@@ -1152,6 +1152,9 @@
PKG_CHECK_MODULES([TAGLIB], [taglib >= 1.8],
[INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
AC_MSG_ERROR($missing_library))
+PKG_CHECK_MODULES([SIDPLAY], [libsidplay2],
+ [INCLUDES="$INCLUDES $SIDPLAY_CFLAGS"; LIBS="$LIBS $SIDPLAY_LIBS"],
+ AC_MSG_ERROR($missing_library))
if test "$use_optical_drive" = "yes"; then
PKG_CHECK_MODULES([CDIO], [libcdio],
@@ -1243,6 +1246,7 @@
XB_FIND_SONAME([MODPLUG], [modplug])
XB_FIND_SONAME([ASS], [ass])
XB_FIND_SONAME([MPEG2], [mpeg2])
+XB_FIND_SONAME([SIDPLAY2], [sidplay2])
# WebServer
if test "$use_webserver" = "yes"; then
@@ -2448,7 +2452,6 @@
lib/timidity/Makefile \
lib/asap/Makefile \
lib/nosefart/Makefile \
- lib/libsidplay2/Makefile \
lib/vgmstream/Makefile \
lib/snesapu/SNES/SNESAPU/Makefile \
lib/stsound/StSoundLibrary/Makefile \
diff -Nur xbmc-14.1-Helix.orig/xbmc/DllPaths_generated.h.in xbmc-14.1-Helix.new/xbmc/DllPaths_generated.h.in
--- xbmc-14.1-Helix.orig/xbmc/DllPaths_generated.h.in 2015-01-29 23:57:10.000000000 +0100
+++ xbmc-14.1-Helix.new/xbmc/DllPaths_generated.h.in 2015-03-29 13:19:41.124451123 +0200
@@ -54,7 +54,7 @@
#define DLL_PATH_MODULE_CODEC "special://xbmcbin/system/players/paplayer/dumb-@ARCH@.so"
#define DLL_PATH_MPC_CODEC "special://xbmcbin/system/players/paplayer/libmpcdec-@ARCH@.so"
#define DLL_PATH_NSF_CODEC "special://xbmcbin/system/players/paplayer/nosefart-@ARCH@.so"
-#define DLL_PATH_SID_CODEC "special://xbmcbin/system/players/paplayer/libsidplay2-@ARCH@.so"
+#define DLL_PATH_SID_CODEC "@SIDPLAY2_SONAME@"
#define DLL_PATH_SPC_CODEC "special://xbmcbin/system/players/paplayer/SNESAPU-@ARCH@.so"
#define DLL_PATH_VGM_CODEC "special://xbmcbin/system/players/paplayer/vgmstream-@ARCH@.so"
#define DLL_PATH_WAVPACK_CODEC "@WAVPACK_SONAME@"

View File

@ -0,0 +1,67 @@
http://trac.xbmc.org/ticket/11775
make mythtv support optional
diff --git a/Makefile.in b/Makefile.in
index 9ffae7e..17cc525 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -209,7 +209,7 @@ LIB_DIRS=\
lib/cpluff \
lib/xbmc-dll-symbols
-ifeq (@USE_MYSQL@,1)
+ifeq (@USE_MYTHTV@,1)
LIB_DIRS += lib/cmyth
CMYTH=cmyth
endif
diff --git a/configure.in b/configure.in
index d44825f..629d7b4 100755
--- a/configure.in
+++ b/configure.in
@@ -479,6 +479,12 @@ AC_ARG_ENABLE([mysql],
[AS_HELP_STRING([--disable-mysql],
[disable mysql])],
+AC_ARG_ENABLE([mythtv],
+ [AS_HELP_STRING([--disable-mythtv],
+ [disable mythtv])],
+ [use_mythtv=$enableval],
+ [use_mythtv=yes])
+
AC_ARG_ENABLE([webserver],
[AS_HELP_STRING([--disable-webserver],
[disable webserver])],
@@ -1080,6 +1086,9 @@ if test "$use_mysql" = "yes"; then
else
AC_MSG_ERROR($missing_program)
fi
+ if test "$use_mythtv" = "yes"; then
+ AC_DEFINE([HAVE_MYTHTV],[1],["Define to 1 if you want mythtv support"])
+ fi
fi
AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
@@ -2372,6 +2381,15 @@ else
final_message="$final_message\n MySQL:\tNo"
USE_MYSQL=0
fi
+
+if test "$use_mythtv" = "yes"; then
+ final_message="$final_message\n MythTV:\tYes"
+ USE_MYTHTV=1
+else
+ final_message="$final_message\n MythTV:\tNo"
+ USE_MYTHTV=0
+fi
+
if test "$use_webserver" = "yes"; then
final_message="$final_message\n Webserver:\tYes"
USE_WEB_SERVER=1
@@ -2675,6 +2693,7 @@ AC_SUBST(USE_LIBUDEV)
AC_SUBST(USE_LIBUSB)
AC_SUBST(USE_LIBCEC)
AC_SUBST(USE_MYSQL)
+AC_SUBST(USE_MYTHTV)
AC_SUBST(USE_WAYLAND)

View File

@ -0,0 +1,340 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
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 flag-o-matic eutils python-single-r1 multiprocessing autotools
CODENAME="Helix"
case ${PV} in
9999)
EGIT_REPO_URI="git://github.com/xbmc/xbmc.git"
inherit git-2
;;
*|*_p*)
MY_PV=${PV/_p/_r}
MY_P="${PN}-${MY_PV}"
SRC_URI="https://github.com/xbmc/xbmc/archive/${MY_PV}-${CODENAME}.tar.gz -> ${P}.tar.gz"
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 avahi bluetooth bluray caps cec css debug +fishbmc gles goom hdhomerun java joystick midi mysql nfs +opengl profile +projectm pulseaudio pvr +rsxs rtmp +samba sdl sftp test +texturepacker udisks upnp upower +usb vaapi vdpau webserver +X +xrandr"
REQUIRED_USE="
pvr? ( mysql )
rsxs? ( X )
xrandr? ( X )
joystick? ( sdl )
"
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-2.2 )
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
media-libs/alsa-lib
media-libs/flac
media-libs/fontconfig
media-libs/freetype
>=media-libs/glew-1.5.6
>=media-libs/libass-0.9.7
bluray? ( media-libs/libbluray )
css? ( media-libs/libdvdcss )
media-libs/libdvdread[css?]
hdhomerun? ( >=media-libs/libhdhomerun-20140121 )
media-libs/libmad
media-libs/libmodplug
media-libs/libmpeg2
media-libs/libogg
media-libs/libpng
projectm? ( media-libs/libprojectm )
media-libs/libsamplerate
sdl? (
media-libs/libsdl2
media-libs/sdl-image
)
>=media-libs/taglib-1.8
media-libs/libvorbis
media-libs/tiff
pulseaudio? ( media-sound/pulseaudio )
media-sound/sidplay
media-sound/wavpack
>=media-video/ffmpeg-2.4:=[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 )
sys-apps/dbus
caps? ( sys-libs/libcap )
sys-libs/zlib
virtual/jpeg
usb? ( virtual/libusb )
mysql? ( virtual/mysql )
opengl? (
virtual/glu
virtual/opengl
)
gles? (
virtual/opengl
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
xrandr? ( 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
texturepacker? (
media-libs/libsdl
media-libs/sdl-image
)
X? ( x11-proto/xineramaproto )
dev-util/cmake
x86? ( dev-lang/nasm )
java? ( virtual/jre )
test? ( dev-cpp/gtest )
virtual/jre"
pkg_setup() {
python-single-r1_pkg_setup
}
src_unpack() {
[[ ${PV} == "9999" ]] && git-2_src_unpack || default
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-9999-nomythtv.patch
epatch "${FILESDIR}"/${P}-no-arm-flags.patch #400617
epatch "${FILESDIR}"/${PN}-14.0-dvddemux-ffmpeg.patch #526992#36
# Patches snatched from Debian and Fedora
epatch "${FILESDIR}"/${P}-privacy.patch
epatch "${FILESDIR}"/${P}-use-external-libsidplay.patch
epatch "${FILESDIR}"/${P}-use-external-libhdhomerun.patch
epatch "${FILESDIR}"/${P}-disable-gtest.patch
epatch "${FILESDIR}"/${P}-use-external-dvdread.patch
epatch "${FILESDIR}"/${P}-remove-ljbig-and-ljasper.patch
# The mythtv patch touches configure.ac, so force a regen
rm -f configure
# Snatched from Fedora
if ! use hdhomerun; then
sed -i configure.in -e '/hdhomerun/d'
cd xbmc/filesystem
rm HDHomeRunFile.cpp HDHomeRunFile.h
rm HDHomeRunDirectory.cpp HDHomeRunDirectory.h
sed -i Makefile.in -e '/HDHomeRunFile\.cpp/d'
sed -i Makefile.in -e '/HDHomeRunDirectory\.cpp/d'
sed -i DirectoryFactory.cpp -e '/HomeRun/d'
sed -i FileFactory.cpp -e '/HomeRun/d'
cd "${S}"
fi
# Snatched from Debian & Fedora - remove bundled libraries, forces
# build system to use external versions
rm -r lib/afpfs-ng \
lib/cximage-6.0/jasper \
lib/cximage-6.0/jbig \
lib/cximage-6.0/jpeg \
lib/cximage-6.0/mng \
lib/cximage-6.0/png \
lib/cximage-6.0/tiff \
lib/cximage-6.0/zlib \
lib/enca \
lib/gtest \
lib/libUPnP/Neptune/ThirdParty/zlib-* \
lib/libbluray \
lib/libcec \
lib/libhdhomerun \
lib/libmicrohttpd \
lib/libmodplug \
lib/libmpeg2 \
lib/librtmp \
lib/libsidplay2 \
lib/taglib \
lib/win32 \
project/Win32BuildSetup \
xbmc/cores/dvdplayer/DVDCodecs/Video/libmpeg2
for i in libdvdcss libdvdread includes
do
rm -r lib/libdvd/$i
done
# some dirs ship generated autotools, some dont
multijob_init
local d
for d in $(printf 'f:\n\t@echo $(BOOTSTRAP_TARGETS)\ninclude bootstrap.mk\n' | emake -f - f) ; 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
# Ensure jsonschemabuilder is avaliable
emake -C tools/depends/native/JsonSchemaBuilder/
# Must generate files
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))
# Snatched from Fedora
if use hdhomerun; then
append-libs -lhdhomerun
fi
econf \
--docdir=/usr/share/doc/${PF} \
--disable-ccache \
--disable-optimizations \
--with-ffmpeg=shared \
$(use_enable airplay) \
$(use_enable avahi) \
$(use_enable bluray libbluray) \
$(use_enable caps libcap) \
$(use_enable cec libcec) \
$(use_enable css dvdcss) \
$(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 pvr mythtv) \
$(use_enable rsxs) \
$(use_enable rtmp) \
$(use_enable samba) \
$(use_enable sdl) \
$(use_enable sftp ssh) \
$(use_enable usb libusb) \
$(use_enable test gtest) \
$(use_enable texturepacker) \
$(use_enable upnp) \
$(use_enable vaapi) \
$(use_enable vdpau) \
$(use_enable webserver) \
$(use_enable X x11) \
$(use_enable xrandr)
}
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 and disabled by USE flag).
local disabled_addons=(
repository.pvr-{android,ios,osx{32,64},win32}.xbmc.org
visualization.dxspectrum
)
use fishbmc || disabled_addons+=( visualization.fishbmc )
use projectm || disabled_addons+=( visualization.{milkdrop,projectm} )
use rsxs || disabled_addons+=( screensaver.rsxs.{euphoria,plasma,solarwinds} )
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
}