summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Dreyer <ktdreyer@ktdreyer.com>2013-05-06 19:58:51 -0600
committerKen Dreyer <ktdreyer@ktdreyer.com>2013-05-06 20:02:42 -0600
commit150a1efb4826aa96b0ee5c4dfb5ea188272264cc (patch)
treef819f27f13f1240126848e338912a8483a1ae988
parent1e0e9e273039a6f4d6033fbd913e77746e814463 (diff)
downloadxbmc-rpm-150a1efb4826aa96b0ee5c4dfb5ea188272264cc.tar.gz
xbmc-rpm-150a1efb4826aa96b0ee5c4dfb5ea188272264cc.tar.xz
xbmc-rpm-150a1efb4826aa96b0ee5c4dfb5ea188272264cc.zip
add "master" patches to support nightly builds
I anticipate that we will be able to provide nightly builds against Git master shortly. The dvdread and hdhomerun patches must be rebased against master in order to apply cleanly. However, we should still ship the older patches against 12.x so that we can continue to provide "stable" Frodo builds for Fedora. Add the patches into the tree using a "-master" designation. Our automatic nightly build script will use these versions of the patches instead of the 12.2 versions.
-rw-r--r--xbmc-master-dvdread.patch134
-rw-r--r--xbmc-master-hdhomerun.patch146
2 files changed, 280 insertions, 0 deletions
diff --git a/xbmc-master-dvdread.patch b/xbmc-master-dvdread.patch
new file mode 100644
index 0000000..140cda4
--- /dev/null
+++ b/xbmc-master-dvdread.patch
@@ -0,0 +1,134 @@
+commit 77d7f661bc63ed217065e5c37fbb92f6d2e099fd
+Author: Ken Dreyer <ktdreyer@ktdreyer.com>
+Date: Mon May 6 17:07:40 2013 -0600
+
+ Fedora: use external dvdread
+
+ Original patch by Alex Lancaster <alexlan[AT]fedoraproject org>
+ (cherry picked from commit 9f9845af842a376d5bdf70742785e7727695fd03)
+
+diff --git a/bootstrap.mk b/bootstrap.mk
+index 8bc4795..1fc31a4 100644
+--- a/bootstrap.mk
++++ b/bootstrap.mk
+@@ -8,7 +8,6 @@ ifneq ($(wildcard lib/libdvd/libdvdcss/configure.ac),)
+ 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 @@ endif
+ 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 --git a/configure.in b/configure.in
+index d89353c..04dac86 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2686,29 +2686,9 @@ XB_CONFIG_MODULE([lib/libdvd/libdvdcss], [
+ --with-pic
+ ], [$SKIP_CONFIG_DVDCSS])
+
+-XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
+- ./configure2 \
+- --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src" \
+- --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" &&
+- $MAKE dvdread-config &&
+- 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" \
+- --extra-ldflags="-L`pwd`/../libdvdread/obj" \
+- --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \
++ --extra-cflags="$CFLAGS -fPIC -DPIC" \
+ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+ --host=$host_alias \
+ --build=$build_alias \
+diff --git a/lib/libdvd/Makefile.in b/lib/libdvd/Makefile.in
+index 69d2286..1f5eebb 100644
+--- a/lib/libdvd/Makefile.in
++++ b/lib/libdvd/Makefile.in
+@@ -5,8 +5,7 @@ CXX=@CXX@
+
+ 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
+@@ -14,7 +13,7 @@ WRAPPER_MACH_ALIAS=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_al
+ ifeq ($(findstring osx,$(ARCH)),osx)
+ LDFLAGS +=-bundle -undefined dynamic_lookup -read_only_relocs suppress
+ else
+-LDFLAGS += -shared -fPIC -rdynamic
++LDFLAGS += -shared -fPIC -rdynamic -ldvdread
+ endif
+
+ ifeq ($(ARCH), powerpc-osx)
+@@ -35,8 +34,7 @@ SLIB=$(addprefix $(SYSDIR)/, $(SOS))
+
+ DISTCLEAN_FILES=includes/dvdread/*.h \
+ includes/dvdcss/*.h \
+- libdvdnav/config.h \
+- libdvdread/config.h
++ libdvdnav/config.h
+
+ .PHONY: $(DIRS) compile
+
+@@ -48,9 +46,9 @@ $(SYSDIR)/libdvdcss-$(ARCH).so: $($(WRAPPER)) libdvdcss/src/.libs/libdvdcss.a
+ $(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,8 +57,8 @@ $(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/src/.libs/libdvdcss.a
+ 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)
+
+@@ -70,10 +68,6 @@ libdvdcss/src/.libs/libdvdcss.a: libdvdcss;
+ libdvdcss: compile
+ $(MAKE) -C $@
+
+-libdvdread/obj/libdvdread.a: libdvdread;
+-libdvdread: compile
+- $(MAKE) -C $@
+-
+ libdvdnav/obj/libdvdnav.a: libdvdnav;
+ libdvdnav: compile
+ $(MAKE) -C $@
diff --git a/xbmc-master-hdhomerun.patch b/xbmc-master-hdhomerun.patch
new file mode 100644
index 0000000..a5a797c
--- /dev/null
+++ b/xbmc-master-hdhomerun.patch
@@ -0,0 +1,146 @@
+commit 2f7bbc5de48fbd105fabbd79aae270cbcb3ade03
+Author: Ken Dreyer <ktdreyer@ktdreyer.com>
+Date: Fri Aug 24 19:34:47 2012 -0600
+
+ Fedora: use external hdhomerun
+
+ Original patch by Alex Lancaster <alexlan[AT]fedoraproject org>
+ (cherry picked from commit ef5c269992b32d67de7547e9f530b6c971381f45)
+
+diff --git a/Makefile.in b/Makefile.in
+index 3cbe1a2..5d6aaf7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -186,7 +186,6 @@ endif
+ LIB_DIRS=\
+ lib/cximage-6.0 \
+ lib/libexif \
+- lib/libhdhomerun \
+ lib/cpluff \
+ lib/xbmc-dll-symbols
+
+@@ -363,8 +362,6 @@ libexif: dllloader
+ $(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/xbadpcm
+@@ -393,7 +390,7 @@ endif
+
+ codecs: papcodecs dvdpcodecs
+
+-libs: libhdhomerun imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
++libs: imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
+
+ externals: codecs libs visualizations screensavers libaddon pvraddons
+
+diff --git a/configure.in b/configure.in
+index 04dac86..38d7698 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2399,7 +2399,6 @@ OUTPUT_FILES="Makefile \
+ lib/libexif/Makefile \
+ lib/libXDAAP/Makefile \
+ lib/cmyth/Makefile \
+- lib/libhdhomerun/Makefile \
+ lib/libsquish/Makefile \
+ lib/cximage-6.0/Makefile \
+ lib/libUPnP/Makefile \
+diff --git a/xbmc/filesystem/DllHDHomeRun.h b/xbmc/filesystem/DllHDHomeRun.h
+index e49ff31..41b4591 100644
+--- a/xbmc/filesystem/DllHDHomeRun.h
++++ b/xbmc/filesystem/DllHDHomeRun.h
+@@ -20,7 +20,7 @@
+ */
+
+ #include "DynamicDll.h"
+-#include "lib/libhdhomerun/hdhomerun.h"
++#include <hdhomerun/hdhomerun.h>
+
+ class DllHdHomeRunInterface
+ {
+@@ -41,30 +41,56 @@ public:
+
+ 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()
++public:
++ 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() {}
+ };
+