[SCM] kodi/master: Refresh patches

rbalint at users.alioth.debian.org rbalint at users.alioth.debian.org
Mon Feb 8 10:39:09 UTC 2016


The following commit has been merged in the master branch:
commit 35e379ddbe17105d7c5a45487d7efc60cd5201e2
Author: Balint Reczey <balint at balintreczey.hu>
Date:   Sat Feb 6 11:25:15 2016 +0100

    Refresh patches

diff --git a/debian/patches/02_allow_all_arches.patch b/debian/patches/02_allow_all_arches.patch
index 73c41b2..b6b01ef 100644
--- a/debian/patches/02_allow_all_arches.patch
+++ b/debian/patches/02_allow_all_arches.patch
@@ -13,7 +13,7 @@ entering uncharted territory.
 
 --- a/configure.ac
 +++ b/configure.ac
-@@ -715,7 +715,8 @@
+@@ -681,7 +681,8 @@
       USE_STATIC_FFMPEG=1
       ;;
    *)
diff --git a/debian/patches/03-privacy.patch b/debian/patches/03-privacy.patch
index c0387a6..7a8bf5d 100644
--- a/debian/patches/03-privacy.patch
+++ b/debian/patches/03-privacy.patch
@@ -1,6 +1,6 @@
 --- a/system/settings/settings.xml
 +++ b/system/settings/settings.xml
-@@ -97,7 +97,7 @@
+@@ -110,7 +110,7 @@
        <group id="2">
          <setting id="lookandfeel.enablerssfeeds" type="boolean" label="13305" help="36111">
            <level>0</level>
diff --git a/debian/patches/04-differentiate-from-vanilla-Kodi.patch b/debian/patches/04-differentiate-from-vanilla-Kodi.patch
index 05543e3..bb2795d 100644
--- a/debian/patches/04-differentiate-from-vanilla-Kodi.patch
+++ b/debian/patches/04-differentiate-from-vanilla-Kodi.patch
@@ -1,8 +1,8 @@
 --- a/addons/skin.confluence/720p/Home.xml
 +++ b/addons/skin.confluence/720p/Home.xml
-@@ -27,6 +27,18 @@
- 			<include>Window_OpenClose_Animation</include>
- 			<visible>!Skin.HasSetting(homepageWeatherinfo)</visible>
+@@ -19,6 +19,18 @@
+ 			<animation effect="slide" time="200" condition="Window.Previous(Home)">WindowOpen</animation>
+ 			<animation effect="slide" time="200" condition="Window.Next(Home)">WindowClose</animation>
  		</control>
 +		<control type="image">
 +			<description>LOGO2</description>
@@ -18,10 +18,21 @@
 +		</control>
  		<!-- Music Info -->
  		<control type="group">
- 			<left>0</left>
---- a/xbmc/GUIInfoManager.cpp
-+++ b/xbmc/GUIInfoManager.cpp
-@@ -4348,12 +4348,12 @@
+ 			<depth>DepthMenu</depth>
+diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
+index d38502c..e5f7597 100644
+--- a/xbmc/utils/SystemInfo.cpp
++++ b/xbmc/utils/SystemInfo.cpp
+@@ -436,7 +436,7 @@ bool CSysInfo::Save(TiXmlNode *settings) const
+ const std::string& CSysInfo::GetAppName(void)
+ {
+   assert(CCompileInfo::GetAppName() != NULL);
+-  static const std::string appName(CCompileInfo::GetAppName());
++  static const std::string appName(StringUtils::Format("%s from Debian", CCompileInfo::GetAppName()));
+ 
+   return appName;
+ }
+@@ -1244,12 +1244,12 @@ std::string CSysInfo::GetVersionShort()
    if (strlen(CCompileInfo::GetSuffix()) == 0)
      return StringUtils::Format("%d.%d", CCompileInfo::GetMajor(), CCompileInfo::GetMinor());
    else
@@ -29,19 +40,10 @@
 +    return StringUtils::Format("%d.%d-%s Debian package version:%s", CCompileInfo::GetMajor(), CCompileInfo::GetMinor(), CCompileInfo::GetSuffix(), DEB_VERSION);
  }
  
- std::string CGUIInfoManager::GetVersion()
+ std::string CSysInfo::GetVersion()
  {
 -  return GetVersionShort() + " Git:" + CCompileInfo::GetSCMID();
-+  return GetVersionShort() + " Git: (unknown)";
- }
- 
- std::string CGUIInfoManager::GetBuild()
-@@ -4363,7 +4363,7 @@
- 
- std::string CGUIInfoManager::GetAppName()
- {
--  return CCompileInfo::GetAppName();
-+  return StringUtils::Format("%s from Debian", CCompileInfo::GetAppName());
++  return GetVersionShort() + " Git:unknown)";
  }
  
- void CGUIInfoManager::SetDisplayAfterSeek(unsigned int timeOut, int seekOffset)
+ std::string CSysInfo::GetBuildDate()
diff --git a/debian/patches/05-dont-require-neon-on-arm-armhf.patch b/debian/patches/05-dont-require-neon-on-arm-armhf.patch
index 5d53acc..0b3343e 100644
--- a/debian/patches/05-dont-require-neon-on-arm-armhf.patch
+++ b/debian/patches/05-dont-require-neon-on-arm-armhf.patch
@@ -5,11 +5,9 @@ Description: Don't use NEON on arm and armhf architectures
 Author: Balint Reczey <balint at balintreczey.hu>
 Forwarded: not-needed
 
-diff --git a/configure.ac b/configure.ac
-index 1f94a25..377cc1a 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -685,7 +685,7 @@ case $host in
+@@ -650,7 +650,7 @@
       ARCH="arm"
       use_arch="arm"
       use_joystick=no
diff --git a/debian/patches/06-use-external-libraries.patch b/debian/patches/06-use-external-libraries.patch
index 17d54cc..adaa613 100644
--- a/debian/patches/06-use-external-libraries.patch
+++ b/debian/patches/06-use-external-libraries.patch
@@ -3,30 +3,10 @@ Description: Use system's libraries instead of the embedded ones
 Author: Balint Reczey <balint at balintreczey.hu>
 Forwarded: not-needed
 
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -187,7 +187,6 @@
- LIB_DIRS=\
- 	lib/cximage-6.0 \
- 	lib/libexif \
--	lib/libhdhomerun \
- 	lib/cpluff \
- 	lib/xbmc-dll-symbols
- 
-@@ -411,7 +410,7 @@
- 
- codecs: dvdpcodecs dvdpextcodecs
- 
--libs: $(LIBSSE4) libhdhomerun imagelib libexif system/libcpluff- at ARCH@.so
-+libs: $(LIBSSE4) imagelib libexif system/libcpluff- at ARCH@.so
- 
- externals: codecs libs visualizations screensavers libaddon
- 
 --- a/bootstrap.mk
 +++ b/bootstrap.mk
-@@ -2,7 +2,7 @@
- BOOTSTRAP_SUBDIRS += xbmc/screensavers/rsxs-0.9/configure.ac
- BOOTSTRAP_SUBDIRS += xbmc/visualizations/Goom/goom2k4-0/configure.ac
+@@ -1,6 +1,6 @@
+ BOOTSTRAP_SUBDIRS += configure.ac
  BOOTSTRAP_SUBDIRS += lib/cpluff/configure.ac
 -BOOTSTRAP_SUBDIRS += lib/gtest/configure.ac
 +#BOOTSTRAP_SUBDIRS += lib/gtest/configure.ac
@@ -35,7 +15,7 @@ Forwarded: not-needed
  BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdcss/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1219,6 +1219,9 @@
+@@ -1190,6 +1190,9 @@
  PKG_CHECK_MODULES([TAGLIB],  [taglib >= 1.8],
    [INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
    AC_MSG_ERROR($missing_library))
@@ -45,22 +25,6 @@ Forwarded: not-needed
  
  if test "$use_optical_drive" = "yes"; then
    PKG_CHECK_MODULES([CDIO],       [libcdio],
-@@ -1313,6 +1316,7 @@
- XB_FIND_SONAME([VORBISFILE],  [vorbisfile])
- XB_FIND_SONAME([ASS],         [ass])
- XB_FIND_SONAME([MPEG2],       [mpeg2])
-+XB_FIND_SONAME([HDHOMERUN],   [hdhomerun])
- 
- # WebServer
- if test "$use_webserver" = "yes"; then
-@@ -2478,7 +2482,6 @@
-     xbmc/network/Makefile \
-     xbmc/network/upnp/Makefile \
-     lib/libexif/Makefile \
--    lib/libhdhomerun/Makefile \
-     lib/cximage-6.0/Makefile \
-     lib/libUPnP/Makefile \
-     xbmc/DllPaths_generated.h \
 --- a/lib/cximage-6.0/Makefile.in
 +++ b/lib/cximage-6.0/Makefile.in
 @@ -4,8 +4,8 @@
@@ -83,28 +47,6 @@ Forwarded: not-needed
  endif
  
  $(SLIBS): compile 
---- a/xbmc/DllPaths_generated.h.in
-+++ b/xbmc/DllPaths_generated.h.in
-@@ -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_LIBRTMP       "@RTMP_SONAME@"
---- a/xbmc/filesystem/DllHDHomeRun.h
-+++ b/xbmc/filesystem/DllHDHomeRun.h
-@@ -20,7 +20,7 @@
-  */
- 
- #include "DynamicDll.h"
--#include "lib/libhdhomerun/hdhomerun.h"
-+#include "libhdhomerun/hdhomerun.h"
- 
- class DllHdHomeRunInterface
- {
 --- a/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h
 +++ b/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h
 @@ -34,6 +34,8 @@
@@ -116,180 +58,6 @@ Forwarded: not-needed
   #include "dvdnav/dvdnav_internal.h"
   #include "dvdnav/vm.h"
   #include "dvdnav/dvd_types.h"
---- a/xbmc/screensavers/rsxs-0.9/lib/Makefile.am
-+++ b/xbmc/screensavers/rsxs-0.9/lib/Makefile.am
-@@ -31,20 +31,20 @@
- ## begin gnulib module alloca
- 
- 
--libmisc_a_LIBADD += @ALLOCA@
-+#libmisc_a_LIBADD += @ALLOCA@
- ## end   gnulib module alloca
- 
- ## begin gnulib module alloca-opt
- 
--BUILT_SOURCES += $(ALLOCA_H)
--EXTRA_DIST += alloca_.h
-+#BUILT_SOURCES += $(ALLOCA_H)
-+#EXTRA_DIST += alloca_.h
- 
- # We need the following in order to create <alloca.h> when the system
- # doesn't have one that works with the given compiler.
--alloca.h: alloca_.h
--	cp $(srcdir)/alloca_.h $@-t
--	mv $@-t $@
--MOSTLYCLEANFILES += alloca.h alloca.h-t
-+#alloca.h: alloca_.h
-+#	cp $(srcdir)/alloca_.h $@-t
-+#	mv $@-t $@
-+#MOSTLYCLEANFILES += alloca.h alloca.h-t
- 
- ## end   gnulib module alloca-opt
- 
-@@ -59,15 +59,15 @@
- 
- ## begin gnulib module argz
- 
--BUILT_SOURCES += $(ARGZ_H)
--EXTRA_DIST += argz_.h
-+#BUILT_SOURCES += $(ARGZ_H)
-+#EXTRA_DIST += argz_.h
- 
- # We need the following in order to create <argz.h> when the system
- # doesn't have one that works with the given compiler.
--argz.h: argz_.h
--	cp $(srcdir)/argz_.h $@-t
--	mv $@-t $@
--MOSTLYCLEANFILES += argz.h argz.h-t
-+#argz.h: argz_.h
-+#	cp $(srcdir)/argz_.h $@-t
-+#	mv $@-t $@
-+#MOSTLYCLEANFILES += argz.h argz.h-t
- 
- ## end   gnulib module argz
- 
-@@ -85,15 +85,15 @@
- 
- ## begin gnulib module getopt
- 
--BUILT_SOURCES += $(GETOPT_H)
--EXTRA_DIST += getopt_.h getopt_int.h
-+#BUILT_SOURCES += $(GETOPT_H)
-+#EXTRA_DIST += getopt_.h getopt_int.h
- 
- # We need the following in order to create <getopt.h> when the system
- # doesn't have one that works with the given compiler.
--getopt.h: getopt_.h
--	cp $(srcdir)/getopt_.h $@-t
--	mv $@-t $@
--MOSTLYCLEANFILES += getopt.h getopt.h-t
-+#getopt.h: getopt_.h
-+#	cp $(srcdir)/getopt_.h $@-t
-+#	mv $@-t $@
-+#MOSTLYCLEANFILES += getopt.h getopt.h-t
- 
- ## end   gnulib module getopt
- 
-@@ -129,15 +129,15 @@
- 
- ## begin gnulib module stdbool
- 
--BUILT_SOURCES += $(STDBOOL_H)
--EXTRA_DIST += stdbool_.h
-+#BUILT_SOURCES += $(STDBOOL_H)
-+#EXTRA_DIST += stdbool_.h
- 
- # We need the following in order to create <stdbool.h> when the system
- # doesn't have one that works.
--stdbool.h: stdbool_.h
--	sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@-t
--	mv $@-t $@
--MOSTLYCLEANFILES += stdbool.h stdbool.h-t
-+#stdbool.h: stdbool_.h
-+#	sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool_.h > $@-t
-+#	mv $@-t $@
-+# MOSTLYCLEANFILES += stdbool.h stdbool.h-t
- 
- ## end   gnulib module stdbool
- 
-@@ -175,13 +175,13 @@
- 
- ## begin gnulib module unistd
- 
--BUILT_SOURCES += $(UNISTD_H)
-+#BUILT_SOURCES += $(UNISTD_H)
- 
- # We need the following in order to create an empty placeholder for
- # <unistd.h> when the system doesn't have one.
--unistd.h:
--	echo '/* Empty placeholder for $@.  */' >$@
--MOSTLYCLEANFILES += unistd.h
-+#unistd.h:
-+#	echo '/* Empty placeholder for $@.  */' >$@
-+#MOSTLYCLEANFILES += unistd.h
- 
- ## end   gnulib module unistd
- 
---- a/xbmc/screensavers/rsxs-0.9/Makefile.am
-+++ b/xbmc/screensavers/rsxs-0.9/Makefile.am
-@@ -1,6 +1,6 @@
- ## Process this file with automake to produce Makefile.in
- 
--SUBDIRS = lib libltdl src config
-+SUBDIRS = src config
- EXTRA_DIST = scripts THANKS
- DISTCHECK_CONFIGURE_FLAGS = --without-xscreensaver
- ACLOCAL_AMFLAGS = -I m4
---- a/xbmc/screensavers/rsxs-0.9/configure.ac
-+++ b/xbmc/screensavers/rsxs-0.9/configure.ac
-@@ -8,7 +8,7 @@
- AC_SUBST(RELEASE, 1)
- 
- AC_CONFIG_MACRO_DIR(m4)
--AC_CONFIG_LIBOBJ_DIR(lib)
-+#AC_CONFIG_LIBOBJ_DIR(lib)
- 
- AC_GNU_SOURCE
- 
---- a/xbmc/screensavers/rsxs-0.9/src/Makefile.common
-+++ b/xbmc/screensavers/rsxs-0.9/src/Makefile.common
-@@ -10,13 +10,13 @@
- SOUND = ../sound.hh ../sound.cc ../oggsound.hh ../oggsound.cc
- DLOPEN = ../dlopen.hh
- 
--LIBMISC = $(top_builddir)/lib/libmisc.a
-+LIBMISC = 
- if DLOPEN
--LIBLTDL = $(top_builddir)/libltdl/libltdl.a
--LIBLTDL_CPPFLAGS = -I$(top_builddir)/libltdl
-+LIBLTDL = 
-+LIBLTDL_CPPFLAGS =
- endif DLOPEN
- 
--AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" -I$(srcdir)/.. -I$(top_srcdir)/lib $(X_CPPFLAGS) -D_LINUX -DXBMC
-+AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" -I$(srcdir)/.. $(X_CPPFLAGS) -D_LINUX -DXBMC
- AM_LDFLAGS =
- AM_CXXFLAGS =
- 
---- a/xbmc/screensavers/rsxs-0.9/src/solarwinds/Makefile.xbmc
-+++ b/xbmc/screensavers/rsxs-0.9/src/solarwinds/Makefile.xbmc
-@@ -1,4 +1,4 @@
- plasma.xbs: solarwinds.o wind.o
--	g++ -shared -o SolarWinds.xbs ../common.o solarwinds.o wind.o ../../lib/libmisc.a -lXmu
-+	g++ -shared -o SolarWinds.xbs ../common.o solarwinds.o wind.o -lXmu
- #	cp SolarWinds.xbs /home/yuvalt/XBMC/screensavers/
- 	cp SolarWinds.xbs ../../../../../XBMC/screensavers/
---- a/xbmc/screensavers/rsxs-0.9/xbmc/Makefile.in
-+++ b/xbmc/screensavers/rsxs-0.9/xbmc/Makefile.in
-@@ -8,7 +8,7 @@
- 
- DIRS=$(RSXS)
- 
--RSXS-OBJS=$(RSXS)/src/common.o $(RSXS)/src/color.o $(RSXS)/lib/libmisc.a
-+RSXS-OBJS=$(RSXS)/src/common.o $(RSXS)/src/color.o
- 
- SOLARWINDS-OUT=$(OUTDIR)/screensaver.rsxs.solarwinds/Solarwinds.xbs
- SOLARWINDS-DEP=$(RSXS)/src/solarwinds/rs-solarwinds
 --- a/tools/depends/native/TexturePacker/Makefile
 +++ b/tools/depends/native/TexturePacker/Makefile
 @@ -9,13 +9,13 @@
diff --git a/debian/patches/07-use-system-groovy.patch b/debian/patches/07-use-system-groovy.patch
index 32d66bf..142ef14 100644
--- a/debian/patches/07-use-system-groovy.patch
+++ b/debian/patches/07-use-system-groovy.patch
@@ -9,9 +9,9 @@ Forwarded: not-needed
  
  $(GENDIR)/%.cpp: $(GENDIR)/%.xml $(JAVA) $(SWIG) $(DOXY_XML_PATH)
  	# Work around potential groovy bug reported at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733234
--	$(JAVA) -cp "$(GROOVY_DIR)/groovy-all-2.1.7.jar:$(GROOVY_DIR)/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" \
+-	$(JAVA) -cp "$(GROOVY_DIR)/groovy-all-2.4.4.jar:$(GROOVY_DIR)/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" \
 -          org.codehaus.groovy.tools.FileSystemCompiler -d $(TOPDIR)/tools/codegenerator $(TOPDIR)/tools/codegenerator/Helper.groovy  $(TOPDIR)/tools/codegenerator/SwigTypeParser.groovy $(INTERFACES_DIR)/python/MethodType.groovy $(INTERFACES_DIR)/python/PythonTools.groovy
--	$(JAVA) -cp "$(GROOVY_DIR)/groovy-all-2.1.7.jar:$(GROOVY_DIR)/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" \
+-	$(JAVA) -cp "$(GROOVY_DIR)/groovy-all-2.4.4.jar:$(GROOVY_DIR)/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" \
 -          groovy.ui.GroovyMain $(TOPDIR)/tools/codegenerator/Generator.groovy $< $(INTERFACES_DIR)/python/PythonSwig.cpp.template $@ $(DOXY_XML_PATH)
 +	groovyc -cp "/usr/share/java/groovy.jar:/usr/share/java/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" -d tools/codegenerator tools/codegenerator/Helper.groovy  tools/codegenerator/SwigTypeParser.groovy $(INTERFACES_DIR)/python/MethodType.groovy $(INTERFACES_DIR)/python/PythonTools.groovy
 +	groovy -cp "/usr/share/java/groovy.jar:/usr/share/java/commons-lang-2.6.jar:$(TOPDIR)/tools/codegenerator:$(INTERFACES_DIR)/python" \
diff --git a/debian/patches/08-fix-s390x-build.patch b/debian/patches/08-fix-s390x-build.patch
index ce54219..57eadc6 100644
--- a/debian/patches/08-fix-s390x-build.patch
+++ b/debian/patches/08-fix-s390x-build.patch
@@ -71,106 +71,3 @@ Forwarded: not-needed
  long long cas2(volatile long long* pAddr, long long expectedVal, long long swapVal);
  #endif
  long AtomicIncrement(volatile long* pAddr);
---- a/xbmc/threads/LockFree.cpp
-+++ b/xbmc/threads/LockFree.cpp
-@@ -43,7 +43,7 @@
-     top = pStack->top;
-     pNode->next.ptr = top.ptr; // Link in the new node
-     newTop.ptr = pNode;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-   } while(cas((long*)&pStack->top, atomic_ptr_to_long(top), atomic_ptr_to_long(newTop)) != atomic_ptr_to_long(top));
- #else
-     newTop.version = top.version + 1;
-@@ -61,7 +61,7 @@
-     if (top.ptr == NULL)
-       return NULL;
-     newTop.ptr = ((lf_node*)top.ptr)->next.ptr; // Unlink the current top node
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-   } while(cas((long*)&pStack->top, atomic_ptr_to_long(top), atomic_ptr_to_long(newTop)) != atomic_ptr_to_long(top));
- #else
-     newTop.version = top.version + 1;
-@@ -188,7 +188,7 @@
-   {
-     tail = pQueue->tail;
-     next = ((lf_queue_node*)tail.ptr)->next;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-     if (atomic_ptr_to_long(tail) == atomic_ptr_to_long(pQueue->tail)) // Check consistency
- #else
-     if (atomic_ptr_to_long_long(tail) == atomic_ptr_to_long_long(pQueue->tail)) // Check consistency
-@@ -197,7 +197,7 @@
-       if (next.ptr == NULL) // Was tail pointing to the last node?
-       {
-         node.ptr = pNode;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-         if (cas((long*)&((lf_queue_node*)tail.ptr)->next, atomic_ptr_to_long(next), atomic_ptr_to_long(node)) == atomic_ptr_to_long(next)) // Try to link node at end
- #else
-         node.version = next.version + 1;
-@@ -208,7 +208,7 @@
-       else // tail was lagging, try to help...
-       {
-         node.ptr = next.ptr;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-         cas((long*)&pQueue->tail, atomic_ptr_to_long(tail), atomic_ptr_to_long(node)); // We don't care if we  are successful or not
- #else
-         node.version = tail.version + 1;
-@@ -218,7 +218,7 @@
-     }
-   } while (true); // Keep trying until the enqueue is done
-   node.ptr = pNode;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-   cas((long*)&pQueue->tail, atomic_ptr_to_long(tail), atomic_ptr_to_long(node)); // Try to swing the tail to the new node
- #else
-   node.version = tail.version + 1;
-@@ -237,7 +237,7 @@
-     head = pQueue->head;
-     tail = pQueue->tail;
-     next = ((lf_queue_node*)head.ptr)->next;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-     if (atomic_ptr_to_long(head) == atomic_ptr_to_long(pQueue->head)) // Check consistency
- #else
-     if (atomic_ptr_to_long_long(head) == atomic_ptr_to_long_long(pQueue->head)) // Check consistency
-@@ -248,7 +248,7 @@
-         if (next.ptr == NULL) // Queue is empty
-           return NULL;
-         node.ptr = next.ptr;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-         cas((long*)&pQueue->tail, atomic_ptr_to_long(tail), atomic_ptr_to_long(node)); // Tail is lagging. Try to advance it.
- #else
-         node.version = tail.version + 1;
-@@ -259,7 +259,7 @@
-       {
-         pVal = ((lf_queue_node*)next.ptr)->value;
-         node.ptr = next.ptr;
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-         if (cas((long*)&pQueue->head, atomic_ptr_to_long(head), atomic_ptr_to_long(node)) == atomic_ptr_to_long(head))
- #else
-         node.version = head.version + 1;
---- a/xbmc/threads/LockFree.h
-+++ b/xbmc/threads/LockFree.h
-@@ -30,7 +30,7 @@
- // A unique-valued pointer. Version is incremented with each write.
- union atomic_ptr
- {
--#if !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__)
-+#if !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__s390x__)
-   long long d;
-   struct {
-     void* ptr;
-@@ -44,7 +44,7 @@
- #endif
- };
- 
--#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)
-+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__s390x__)
-   #define atomic_ptr_to_long(p) (long) *((long*)&p)
- #else
-   // This is ugly but correct as long as sizeof(void*) == sizeof(long)...
diff --git a/debian/patches/10-dont-use-omitted-files.patch b/debian/patches/10-dont-use-omitted-files.patch
index 56ef370..43d2d31 100644
--- a/debian/patches/10-dont-use-omitted-files.patch
+++ b/debian/patches/10-dont-use-omitted-files.patch
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2506,7 +2506,6 @@
+@@ -2400,7 +2400,6 @@
      tools/Linux/${APP_NAME_LC}-standalone.sh \
      tools/Linux/${APP_NAME_LC}-xsession.desktop \
      tools/EventClients/Makefile \
@@ -8,3 +8,15 @@
      xbmc/peripherals/bus/Makefile \
      xbmc/peripherals/devices/Makefile \
      xbmc/android/activity/Makefile \
+--- a/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
++++ b/xbmc/interfaces/builtins/ApplicationBuiltins.cpp
+@@ -21,7 +21,9 @@
+ #include "ApplicationBuiltins.h"
+ 
+ #include "Application.h"
++#if defined(HAS_FILESYSTEM_RAR)
+ #include "filesystem/RarManager.h"
++#endif
+ #include "filesystem/ZipManager.h"
+ #include "messaging/ApplicationMessenger.h"
+ #include "interfaces/AnnouncementManager.h"
diff --git a/debian/patches/11-build-with-ffmpeg-2.9.patch b/debian/patches/11-build-with-ffmpeg-2.9.patch
index d0c456f..a2d8190 100644
--- a/debian/patches/11-build-with-ffmpeg-2.9.patch
+++ b/debian/patches/11-build-with-ffmpeg-2.9.patch
@@ -3,9 +3,9 @@ Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
 Last-Update: <2015-11-02>
 Forwarded: https://github.com/xbmc/xbmc/pull/8112
 
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/FFmpeg.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/FFmpeg.h
-@@ -33,23 +33,6 @@ extern "C" {
+--- a/xbmc/cores/FFmpeg.h
++++ b/xbmc/cores/FFmpeg.h
+@@ -33,23 +33,6 @@
  #include "libpostproc/postprocess.h"
  }
  
@@ -29,9 +29,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  inline int PPCPUFlags()
  {
    unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures();
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
-@@ -2932,7 +2932,7 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
++++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+@@ -2932,7 +2932,7 @@
    }
    else if (m_format == RENDER_FMT_NV12)
    {
@@ -40,7 +40,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      for (int i = 0; i < 2; i++)
      {
        src[i]       = im->plane[i];
-@@ -2941,13 +2941,13 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+@@ -2941,13 +2941,13 @@
    }
    else if (m_format == RENDER_FMT_YUYV422)
    {
@@ -56,7 +56,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      src[0]       = im->plane[0];
      srcStride[0] = im->stride[0];
    }
-@@ -2965,8 +2965,8 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+@@ -2965,8 +2965,8 @@
  
    m_context = sws_getCachedContext(m_context,
                                                   im->width, im->height, (AVPixelFormat)srcFormat,
@@ -67,7 +67,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    uint8_t *dst[]       = { m_rgbBuffer, 0, 0, 0 };
    int      dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
-@@ -2995,7 +2995,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+@@ -2995,7 +2995,7 @@
  
    if (m_format == RENDER_FMT_YUV420P)
    {
@@ -76,7 +76,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      for (int i = 0; i < 3; i++)
      {
        srcTop[i]       = im->plane[i];
-@@ -3006,7 +3006,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+@@ -3006,7 +3006,7 @@
    }
    else if (m_format == RENDER_FMT_NV12)
    {
@@ -85,7 +85,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      for (int i = 0; i < 2; i++)
      {
        srcTop[i]       = im->plane[i];
-@@ -3017,7 +3017,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+@@ -3017,7 +3017,7 @@
    }
    else if (m_format == RENDER_FMT_YUYV422)
    {
@@ -94,7 +94,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      srcTop[0]       = im->plane[0];
      srcStrideTop[0] = im->stride[0] * 2;
      srcBot[0]       = im->plane[0] + im->stride[0];
-@@ -3025,7 +3025,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+@@ -3025,7 +3025,7 @@
    }
    else if (m_format == RENDER_FMT_UYVY422)
    {
@@ -103,7 +103,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      srcTop[0]       = im->plane[0];
      srcStrideTop[0] = im->stride[0] * 2;
      srcBot[0]       = im->plane[0] + im->stride[0];
-@@ -3045,8 +3045,8 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+@@ -3045,8 +3045,8 @@
  
    m_context = sws_getCachedContext(m_context,
                                                   im->width, im->height >> 1, (AVPixelFormat)srcFormat,
@@ -114,9 +114,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    uint8_t *dstTop[]    = { m_rgbBuffer, 0, 0, 0 };
    uint8_t *dstBot[]    = { m_rgbBuffer + m_sourceWidth * m_sourceHeight * 2, 0, 0, 0 };
    int      dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
-@@ -1944,8 +1944,8 @@ void CLinuxRendererGLES::UploadYV12Textu
+--- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
++++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+@@ -2006,8 +2006,8 @@
  #endif
      {
        m_sw_context = sws_getCachedContext(m_sw_context,
@@ -127,43 +127,45 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
          SWS_FAST_BILINEAR, NULL, NULL, NULL);
  
        uint8_t *src[]  = { im->plane[0], im->plane[1], im->plane[2], 0 };
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/WinRenderer.cpp
-@@ -96,13 +96,13 @@ CWinRenderer::~CWinRenderer()
+--- a/xbmc/cores/VideoRenderers/WinRenderer.cpp
++++ b/xbmc/cores/VideoRenderers/WinRenderer.cpp
+@@ -95,14 +95,14 @@
  
  static enum PixelFormat PixelFormatFromFormat(ERenderFormat format)
  {
--  if      (format == RENDER_FMT_YUV420P)   return PIX_FMT_YUV420P;
--  else if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10;
--  else if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16;
--  else if (format == RENDER_FMT_NV12)      return PIX_FMT_NV12;
--  else if (format == RENDER_FMT_UYVY422)   return PIX_FMT_UYVY422;
--  else if (format == RENDER_FMT_YUYV422)   return PIX_FMT_YUYV422;
--  else return PIX_FMT_NONE;
-+  if      (format == RENDER_FMT_YUV420P)   return AV_PIX_FMT_YUV420P;
-+  else if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10;
-+  else if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16;
-+  else if (format == RENDER_FMT_NV12)      return AV_PIX_FMT_NV12;
-+  else if (format == RENDER_FMT_UYVY422)   return AV_PIX_FMT_UYVY422;
-+  else if (format == RENDER_FMT_YUYV422)   return AV_PIX_FMT_YUYV422;
-+  else return AV_PIX_FMT_NONE;
+-  if (format == RENDER_FMT_DXVA)      return PIX_FMT_NV12;
+-  if (format == RENDER_FMT_YUV420P)   return PIX_FMT_YUV420P;
+-  if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10;
+-  if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16;
+-  if (format == RENDER_FMT_NV12)      return PIX_FMT_NV12;
+-  if (format == RENDER_FMT_UYVY422)   return PIX_FMT_UYVY422;
+-  if (format == RENDER_FMT_YUYV422)   return PIX_FMT_YUYV422;
+-  return PIX_FMT_NONE;
++  if (format == RENDER_FMT_DXVA)      return AV_PIX_FMT_NV12;
++  if (format == RENDER_FMT_YUV420P)   return AV_PIX_FMT_YUV420P;
++  if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10;
++  if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16;
++  if (format == RENDER_FMT_NV12)      return AV_PIX_FMT_NV12;
++  if (format == RENDER_FMT_UYVY422)   return AV_PIX_FMT_UYVY422;
++  if (format == RENDER_FMT_YUYV422)   return AV_PIX_FMT_YUYV422;
++  return AV_PIX_FMT_NONE;
  }
  
  void CWinRenderer::ManageTextures()
-@@ -754,8 +754,8 @@ void CWinRenderer::RenderSW()
+@@ -721,8 +721,8 @@
    // 1. convert yuv to rgb
    m_sw_scale_ctx = sws_getCachedContext(m_sw_scale_ctx,
-                                                       m_sourceWidth, m_sourceHeight, format,
--                                                      m_sourceWidth, m_sourceHeight, PIX_FMT_BGRA,
--                                                      SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
-+                                                      m_sourceWidth, m_sourceHeight, AV_PIX_FMT_BGRA,
-+                                                      SWS_FAST_BILINEAR, NULL, NULL, NULL);
+                                         m_sourceWidth, m_sourceHeight, format,
+-                                        m_sourceWidth, m_sourceHeight, PIX_FMT_BGRA,
+-                                        SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++                                        m_sourceWidth, m_sourceHeight, AV_PIX_FMT_BGRA,
++                                        SWS_FAST_BILINEAR, NULL, NULL, NULL);
  
    YUVBuffer* buf = (YUVBuffer*)m_VideoBuffers[m_iYV12RenderBuffer];
  
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
-@@ -42,7 +42,7 @@ extern "C" {
+--- a/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
+@@ -39,7 +39,7 @@
  #include "libswscale/swscale.h"
  }
  
@@ -172,7 +174,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
  {
    DVDVideoPicture* pPicture = new DVDVideoPicture;
-@@ -267,13 +267,13 @@ DVDVideoPicture* CDVDCodecUtils::Convert
+@@ -264,13 +264,13 @@
  
          int dstformat;
          if (format == RENDER_FMT_UYVY422)
@@ -185,12 +187,12 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
 -        struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, PIX_FMT_YUV420P,
 +        struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, AV_PIX_FMT_YUV420P,
                                                             pPicture->iWidth, pPicture->iHeight, (AVPixelFormat)dstformat,
--                                                           SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
-+                                                           SWS_FAST_BILINEAR, NULL, NULL, NULL);
+-                                                           SWS_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++                                                           SWS_BILINEAR, NULL, NULL, NULL);
          sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride);
          sws_freeContext(ctx);
        }
-@@ -464,25 +464,25 @@ double CDVDCodecUtils::NormalizeFramedur
+@@ -403,25 +403,25 @@
  }
  
  struct EFormatMap {
@@ -227,7 +229,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    {
      if(p->pix_fmt == fmt)
        return p->format;
-@@ -492,10 +492,10 @@ ERenderFormat CDVDCodecUtils::EFormatFro
+@@ -431,10 +431,10 @@
  
  int CDVDCodecUtils::PixfmtFromEFormat(ERenderFormat fmt)
  {
@@ -240,9 +242,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
 -  return PIX_FMT_NONE;
 +  return AV_PIX_FMT_NONE;
  }
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
-@@ -79,8 +79,8 @@ enum DecoderState
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -77,8 +77,8 @@
    STATE_SW_MULTI
  };
  
@@ -253,7 +255,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    CDVDVideoCodecFFmpeg* ctx  = (CDVDVideoCodecFFmpeg*)avctx->opaque;
  
-@@ -106,8 +106,8 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
+@@ -104,8 +104,8 @@
      avctx->hwaccel_context = 0;
    }
  
@@ -263,17 +265,17 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
 +  while(*cur != AV_PIX_FMT_NONE)
    {
  #ifdef HAVE_LIBVDPAU
-     if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::Get().GetBool("videoplayer.usevdpau"))
-@@ -139,7 +139,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
+     if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))
+@@ -137,7 +137,7 @@
  #endif
  #ifdef HAVE_LIBVA
      // mpeg4 vaapi decoding is disabled
--    if(*cur == PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi"))
-+    if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi"))
+-    if(*cur == PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))
++    if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))
      {
        VAAPI::CDecoder* dec = new VAAPI::CDecoder();
        if(dec->Open(avctx, ctx->m_pCodecContext, *cur, ctx->m_uSurfacesCount) == true)
-@@ -216,11 +216,11 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre
+@@ -214,11 +214,11 @@
  
    for(std::vector<ERenderFormat>::iterator it = options.m_formats.begin(); it != options.m_formats.end(); ++it)
    {
@@ -288,7 +290,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    pCodec = avcodec_find_decoder(hints.codec);
  
-@@ -657,7 +657,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCom
+@@ -655,7 +655,7 @@
    pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc;
    pDvdVideoPicture->color_matrix = m_pCodecContext->colorspace;
    if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG
@@ -297,7 +299,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      pDvdVideoPicture->color_range = 1;
    else
      pDvdVideoPicture->color_range = 0;
-@@ -740,8 +740,8 @@ bool CDVDVideoCodecFFmpeg::GetPicture(DV
+@@ -738,8 +738,8 @@
    pDvdVideoPicture->iFlags |= pDvdVideoPicture->data[0] ? 0 : DVP_FLAG_DROPPED;
    pDvdVideoPicture->extended_format = 0;
  
@@ -308,9 +310,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    pDvdVideoPicture->format = CDVDCodecUtils::EFormatFromPixfmt(pix_fmt);
    return true;
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
-@@ -46,7 +46,7 @@ public:
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+@@ -46,7 +46,7 @@
      public:
               IHardwareDecoder() {}
      virtual ~IHardwareDecoder() {};
@@ -319,7 +321,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      virtual int  Decode    (AVCodecContext* avctx, AVFrame* frame) = 0;
      virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture) = 0;
      virtual int  Check     (AVCodecContext* avctx) = 0;
-@@ -77,7 +77,7 @@ public:
+@@ -77,7 +77,7 @@
    void               SetHardware(IHardwareDecoder* hardware);
  
  protected:
@@ -328,7 +330,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    int  FilterOpen(const std::string& filters, bool scale);
    void FilterClose();
-@@ -119,7 +119,7 @@ protected:
+@@ -119,7 +119,7 @@
    int m_iLastKeyframe;
    double m_dts;
    bool   m_started;
@@ -337,9 +339,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    double m_decoderPts;
    int    m_skippedDeint;
    bool   m_requestSkipDeint;
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
-@@ -546,11 +546,11 @@ void CDVDVideoCodecVDA::DisplayQueuePop(
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+@@ -554,11 +554,11 @@
  
  void CDVDVideoCodecVDA::UYVY422_to_YUV420P(uint8_t *yuv422_ptr, int yuv422_stride, DVDVideoPicture *picture)
  {
@@ -355,7 +357,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    if (swcontext)
    {
      uint8_t  *src[] = { yuv422_ptr, 0, 0, 0 };
-@@ -566,11 +566,11 @@ void CDVDVideoCodecVDA::UYVY422_to_YUV42
+@@ -574,11 +574,11 @@
  
  void CDVDVideoCodecVDA::BGRA_to_YUV420P(uint8_t *bgra_ptr, int bgra_stride, DVDVideoPicture *picture)
  {
@@ -371,9 +373,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    if (swcontext)
    {
      uint8_t  *src[] = { bgra_ptr, 0, 0, 0 };
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
-@@ -794,7 +794,7 @@ static bool CheckCompatibility(AVCodecCo
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+@@ -886,7 +886,7 @@
    return true;
  }
  
@@ -382,7 +384,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    if (!CheckCompatibility(avctx))
      return false;
-@@ -1129,9 +1129,9 @@ bool CDecoder::OpenDecoder()
+@@ -1135,9 +1135,9 @@
    return true;
  }
  
@@ -394,9 +396,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
      return true;
    return false;
  }
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
-@@ -115,7 +115,7 @@ class CDecoder
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
+@@ -141,7 +141,7 @@
  public:
    CDecoder();
   ~CDecoder();
@@ -405,7 +407,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    virtual int  Decode    (AVCodecContext* avctx, AVFrame* frame);
    virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
    virtual int  Check     (AVCodecContext* avctx);
-@@ -129,7 +129,7 @@ public:
+@@ -154,7 +154,7 @@
    int   GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
    void  RelBuffer(uint8_t *data);
  
@@ -414,9 +416,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    void CloseDXVADecoder();
  
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
-@@ -479,7 +479,7 @@ CDecoder::~CDecoder()
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+@@ -479,7 +479,7 @@
    Close();
  }
  
@@ -425,9 +427,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    // don't support broken wrappers by default
    // nvidia cards with a vaapi to vdpau wrapper
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
-@@ -406,7 +406,7 @@ public:
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
+@@ -406,7 +406,7 @@
    CDecoder();
    virtual ~CDecoder();
  
@@ -436,9 +438,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    virtual int  Decode    (AVCodecContext* avctx, AVFrame* frame);
    virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
    virtual void Reset();
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
-@@ -184,7 +184,7 @@ void CDecoder::Close()
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
+@@ -186,7 +186,7 @@
    m_bitstream = NULL;
  }
  
@@ -447,9 +449,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    Close();
  
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
-@@ -35,7 +35,7 @@ class CDecoder
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
+@@ -35,7 +35,7 @@
  public:
    CDecoder();
   ~CDecoder();
@@ -458,9 +460,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    virtual int Decode(AVCodecContext* avctx, AVFrame* frame);
    virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
    virtual int Check(AVCodecContext* avctx);
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
-@@ -483,7 +483,7 @@ CDecoder::CDecoder() : m_vdpauOutput(&m_
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+@@ -486,7 +486,7 @@
    m_vdpauConfig.context = 0;
  }
  
@@ -469,7 +471,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    // check if user wants to decode this format with VDPAU
    std::string gpuvendor = g_Windowing.GetRenderVendor();
-@@ -757,7 +757,7 @@ int CDecoder::Check(AVCodecContext* avct
+@@ -760,7 +760,7 @@
    return 0;
  }
  
@@ -478,9 +480,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  {
    if (format == AV_PIX_FMT_VDPAU)
      return true;
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
-@@ -556,7 +556,7 @@ public:
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
+@@ -556,7 +556,7 @@
    CDecoder();
    virtual ~CDecoder();
  
@@ -489,7 +491,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    virtual int  Decode    (AVCodecContext* avctx, AVFrame* frame);
    virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
    virtual void Reset();
-@@ -571,7 +571,7 @@ public:
+@@ -571,7 +571,7 @@
    bool Supports(VdpVideoMixerFeature feature);
    bool Supports(EINTERLACEMETHOD method);
    EINTERLACEMETHOD AutoInterlaceMethod();
@@ -498,9 +500,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
    static void FFReleaseBuffer(void *opaque, uint8_t *data);
    static int FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
-@@ -1617,7 +1617,7 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPack
+--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
++++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+@@ -1638,7 +1638,7 @@
  
    // for video we need a decoder to get desired information into codec context
    if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && st->codec->extradata &&
@@ -509,7 +511,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
    {
      // open a decoder, it will be cleared down by ffmpeg on closing the stream
      if (!st->codec->codec)
-@@ -1674,7 +1674,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
+@@ -1695,7 +1695,7 @@
        st = m_pFormatContext->streams[idx];
        if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
        {
@@ -518,7 +520,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
            return true;
          hasVideo = true;
        }
-@@ -1687,7 +1687,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
+@@ -1708,7 +1708,7 @@
        st = m_pFormatContext->streams[i];
        if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
        {
@@ -527,9 +529,9 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
            return true;
          hasVideo = true;
        }
---- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDFileInfo.cpp
-@@ -275,7 +275,7 @@ bool CDVDFileInfo::ExtractThumb(const st
+--- a/xbmc/cores/dvdplayer/DVDFileInfo.cpp
++++ b/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+@@ -275,7 +275,7 @@
  
              uint8_t *pOutBuf = new uint8_t[nWidth * nHeight * 4];
              struct SwsContext *context = sws_getContext(picture.iWidth, picture.iHeight,
@@ -538,24 +540,24 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
  
              if (context)
              {
---- kodi-15.2~rc3+dfsg1.orig/xbmc/pictures/Picture.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/pictures/Picture.cpp
-@@ -330,9 +330,9 @@ void CPicture::GetScale(unsigned int wid
- bool CPicture::ScaleImage(uint8_t *in_pixels, unsigned int in_width, unsigned int in_height, unsigned int in_pitch,
-                           uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch)
+--- a/xbmc/pictures/Picture.cpp
++++ b/xbmc/pictures/Picture.cpp
+@@ -342,9 +342,9 @@
+                           uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch,
+                           CPictureScalingAlgorithm::Algorithm scalingAlgorithm /* = CPictureScalingAlgorithm::NoAlgorithm */)
  {
 -  struct SwsContext *context = sws_getContext(in_width, in_height, PIX_FMT_BGRA,
 -                                                         out_width, out_height, PIX_FMT_BGRA,
--                                                         SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+-                                                         CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm) | SwScaleCPUFlags(), NULL, NULL, NULL);
 +  struct SwsContext *context = sws_getContext(in_width, in_height, AV_PIX_FMT_BGRA,
 +                                                         out_width, out_height, AV_PIX_FMT_BGRA,
-+                                                         SWS_FAST_BILINEAR, NULL, NULL, NULL);
++                                                         CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm), NULL, NULL, NULL);
  
    uint8_t *src[] = { in_pixels, 0, 0, 0 };
    int     srcStride[] = { (int)in_pitch, 0, 0, 0 };
---- kodi-15.2~rc3+dfsg1.orig/xbmc/video/FFmpegVideoDecoder.cpp
-+++ kodi-15.2~rc3+dfsg1/xbmc/video/FFmpegVideoDecoder.cpp
-@@ -248,7 +248,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
+--- a/xbmc/video/FFmpegVideoDecoder.cpp
++++ b/xbmc/video/FFmpegVideoDecoder.cpp
+@@ -252,7 +252,7 @@
        return false;
  
      // Due to a bug in swsscale we need to allocate one extra line of data
@@ -564,7 +566,7 @@ Forwarded: https://github.com/xbmc/xbmc/pull/8112
        return false;
    }
  
-@@ -283,7 +283,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
+@@ -287,7 +287,7 @@
  
    // We got the video frame, render it into the picture buffer
    struct SwsContext * context = sws_getContext( m_pCodecCtx->width, m_pCodecCtx->height, m_pCodecCtx->pix_fmt,
diff --git a/debian/patches/series b/debian/patches/series
index dbc5f5c..102357f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,4 @@
 0001-arm64-Fix-build-breakages-due-to-architecture-specif.patch
-01_reproducible_build.patch
 02_allow_all_arches.patch
 03-privacy.patch
 04-differentiate-from-vanilla-Kodi.patch
@@ -7,6 +6,5 @@
 06-use-external-libraries.patch
 07-use-system-groovy.patch
 08-fix-s390x-build.patch
-09-use-correct-ftgl.h.patch
 10-dont-use-omitted-files.patch
 11-build-with-ffmpeg-2.9.patch
diff --git a/debian/rules b/debian/rules
index 63c534b..d40c69b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -93,7 +93,7 @@ DEJAVUSANS=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
 endif
 
 override_dh_auto_configure: configure
-	sed -i 's/DEB_VERSION/"'$(VERSION)'"/' xbmc/GUIInfoManager.cpp xbmc/Application.cpp
+	sed -i 's/DEB_VERSION/"'$(VERSION)'"/' xbmc/utils/SystemInfo.cpp
 	mkdir -p xbmc/visualizations/XBMCProjectM/libprojectM/fonts
 	-ln -s /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf xbmc/visualizations/XBMCProjectM/libprojectM/fonts/
 	-ln -s /usr/share/fonts/truetype/ttf-bitstream-vera/VeraMono.ttf xbmc/visualizations/XBMCProjectM/libprojectM/fonts/

-- 
kodi packaging



More information about the pkg-multimedia-commits mailing list