* [meta-oe][PATCH 01/49] libqmi: Fix build with clang
@ 2016-11-23 9:21 Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 02/49] meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils Khem Raj
` (47 more replies)
0 siblings, 48 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../libqmi/libqmi/0001-Detect-clang.patch | 84 ++++++++++++++++++++++
.../recipes-connectivity/libqmi/libqmi_1.16.0.bb | 4 +-
2 files changed, 87 insertions(+), 1 deletion(-)
create mode 100644 meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch b/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
new file mode 100644
index 0000000..4047ffb
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
@@ -0,0 +1,84 @@
+From 4cfb728804157e8f3c69e11ba4df449d8f76388f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Oct 2016 04:42:26 +0000
+Subject: [PATCH] Detect clang
+
+Check for clang compiler since we need to disable
+unused-function warning for clang, at same time
+pass werror when checking for compiler options if
+werror is enabled so spurious options do not get
+enabled. Only the ones that are supported by given
+compiler are accepted.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+---
+ m4/compiler-warnings.m4 | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/m4/compiler-warnings.m4 b/m4/compiler-warnings.m4
+index de4a8b0..e4ba718 100644
+--- a/m4/compiler-warnings.m4
++++ b/m4/compiler-warnings.m4
+@@ -2,10 +2,30 @@ AC_DEFUN([LIBQMI_COMPILER_WARNINGS],
+ [AC_ARG_ENABLE(more-warnings,
+ AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
+ set_more_warnings="$enableval",set_more_warnings=error)
++
++# Clang throws a lot of warnings when it does not understand a flag. Disable
++# this warning for now so other warnings are visible.
++AC_MSG_CHECKING([if compiling with clang])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
++#ifndef __clang__
++ not clang
++#endif
++ ]])],
++ [CLANG=yes],
++ [CLANG=no]
++)
++AC_MSG_RESULT([$CLANG])
++AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
++CFLAGS="$CFLAGS $CLANG_FLAGS"
++LDFLAGS="$LDFLAGS $CLANG_FLAGS"
++
+ AC_MSG_CHECKING(for more warnings)
+ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ AC_MSG_RESULT(yes)
+ CFLAGS="-Wall -std=gnu89 $CFLAGS"
++ if test "x$set_more_warnings" = xerror; then
++ WERROR="-Werror"
++ fi
+
+ for option in -Wmissing-declarations -Wmissing-prototypes \
+ -Wdeclaration-after-statement -Wstrict-prototypes \
+@@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ -Wmissing-include-dirs -Waggregate-return \
+ -Wformat-security; do
+ SAVE_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS $option"
++ CFLAGS="$CFLAGS $option $WERROR"
+ AC_MSG_CHECKING([whether gcc understands $option])
+ AC_TRY_COMPILE([], [],
+ has_option=yes,
+ has_option=no,)
+ if test $has_option = no; then
+ CFLAGS="$SAVE_CFLAGS"
++ else
++ CFLAGS="$SAVE_CFLAGS $option"
+ fi
+ AC_MSG_RESULT($has_option)
+ unset has_option
+ unset SAVE_CFLAGS
+ done
++ CFLAGS="$CFLAGS $WERROR"
+ unset option
+- if test "x$set_more_warnings" = xerror; then
+- CFLAGS="$CFLAGS -Werror"
+- fi
++ unset WERROR
+ else
+ AC_MSG_RESULT(no)
+ fi
+--
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb b/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
index 5ac889f..679b102 100644
--- a/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
+++ b/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
@@ -11,6 +11,8 @@ DEPENDS = "glib-2.0 libgudev libmbim"
inherit autotools pkgconfig bash-completion
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-Detect-clang.patch \
+ "
SRC_URI[md5sum] = "4970c110f160b33637a3515004c637b2"
SRC_URI[sha256sum] = "7ab6bb47fd23bf4d3fa17424e40ea5552d08b19e5ee4f125f21f316c8086ba2a"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 02/49] meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 03/49] boinc: Add recipe for boinc-client Khem Raj
` (46 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/conf/distro/include/meta_oe_security_flags.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
index b0d30a3..93f35e2 100644
--- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
@@ -6,3 +6,6 @@ SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 03/49] boinc: Add recipe for boinc-client
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 02/49] meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 04/49] libplist: Remove rpaths surgically Khem Raj
` (45 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../boinc/boinc-client/boinc-AM_CONDITIONAL.patch | 24 ++++++
.../boinc/boinc-client/cross-compile.patch | 98 ++++++++++++++++++++++
.../boinc/boinc-client/gtk-configure.patch | 29 +++++++
.../boinc/boinc-client/opengl_m4_check.patch | 19 +++++
.../recipes-extended/boinc/boinc-client_7.6.33.bb | 77 +++++++++++++++++
5 files changed, 247 insertions(+)
create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
create mode 100644 meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
create mode 100644 meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
new file mode 100644
index 0000000..7becb94
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -0,0 +1,24 @@
+Add configure check for gtk2+ and objc++
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+--- A/configure.ac
++++ B/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CC
+ AC_PROG_CXX
+ AC_PROG_F77
+ AC_PROG_CPP
++AC_PROG_OBJCXX
+ AC_PROG_MAKE_SET
+ SAH_LINKS
+ AC_LANG_PUSH(C)
+@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
+ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
+ AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+
++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
++
+ dnl ======================================================================
+ dnl some more vodoo required for building portable client-binary (client, clientgui)
+ dnl ======================================================================
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
new file mode 100644
index 0000000..287391a
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
@@ -0,0 +1,98 @@
+Remove rpath, its bad for cross compiling to encode
+build time rpaths
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: boinc-client_release-7.6-7.6.33/api/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am
++++ boinc-client_release-7.6-7.6.33/api/Makefile.am
+@@ -43,18 +43,18 @@ endif
+
+ lib_LTLIBRARIES = libboinc_api.la
+ libboinc_api_la_SOURCES = $(api_files)
+-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+
+ if BUILD_GRAPHICS_API
+ lib_LTLIBRARIES += libboinc_graphics2.la
+ libboinc_graphics2_la_SOURCES = $(graphics2_files)
+ libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs
+-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg
++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg
+ endif #BUILD_GRAPHICS_API
+
+ lib_LTLIBRARIES += libboinc_opencl.la
+ libboinc_opencl_la_SOURCES = $(opencl_files)
+-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+
+ if INSTALL_HEADERS
+ ## install only headers that are meant for exporting the API !!
+Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am
++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am
+@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la
+ libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)
+ libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_la_LIBADD =
+
+ if ENABLE_BOINCCRYPT
+@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la
+ libboinc_crypt_la_SOURCES = crypt.cpp
+ libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)
+ libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)
+-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_crypt_la_LIBADD =
+ endif
+
+@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la
+ libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)
+ libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_fcgi_la_LIBADD =
+ endif
+ # end of "if ENABLE_FCGI"
+Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am
++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am
+@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la
+ libsched_la_SOURCES = $(libsched_sources)
+ libsched_la_CFLAGS = $(AM_CPPFLAGS)
+ libsched_la_CXXFLAGS = $(AM_CPPFLAGS)
+-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_la_LIBADD= $(SSL_LIBS)
+
+ ## install only headers that are meant for exporting the API !!
+@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la
+ libsched_fcgi_la_SOURCES = $(libsched_sources)
+ libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+ libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_fcgi_la_LIBADD=
+
+ endif
+Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am
++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am
+@@ -61,7 +61,7 @@ endif
+
+ lib_LTLIBRARIES = libboinc_zip.la
+ libboinc_zip_la_SOURCES = $(libboinc_zip_sources)
+-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_zip_la_LIBADD =
+
+ # Some OSs may not prefix libraries with lib.
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
new file mode 100644
index 0000000..4ae8d58
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
@@ -0,0 +1,29 @@
+Check for gtk2+ only when manager is enabled
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: boinc-client_release-7.6-7.6.33/configure.ac
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/configure.ac
++++ boinc-client_release-7.6-7.6.33/configure.ac
+@@ -1033,6 +1033,11 @@ else
+ AM_CONDITIONAL([GUI_GTK], false)
+ fi
+
++dnl ---------- GTK+2.0-----------------------------------------------------
++if test "X${no_x}" != "Xyes"; then
++ PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
++fi
++
+ dnl ---------- libNotify --------------------------------------------------
+ if test "${enable_manager}" = yes ; then
+ PKG_CHECK_MODULES(LIBNOTIFY, [libnotify])
+@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test
+ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
+ AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+
+-PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
+
+ dnl ======================================================================
+ dnl some more vodoo required for building portable client-binary (client, clientgui)
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
new file mode 100644
index 0000000..0b057ea
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
@@ -0,0 +1,19 @@
+Do not add prefix/lib to library search path
+let sysroot take care of that
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate[Cross-compile specific]
+
+Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4
++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+@@ -58,7 +58,7 @@ else
+ else
+ ax_try_lib="${ax_lib}"
+ fi
+- LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
++ LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[
+ # if HAVE_WINDOWS_H && defined(_WIN32)
diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
new file mode 100644
index 0000000..ac5f755
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
@@ -0,0 +1,77 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Open-source software for volunteer computing"
+DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
+source software platform which supports distributed computing, primarily in \
+the form of volunteer computing and desktop Grid computing. It is well \
+suited for problems which are often described as trivially parallel. BOINC \
+is the underlying software used by projects such as SETI@home, Einstein@Home, \
+ClimatePrediciton.net, the World Community Grid, and many other distributed \
+computing projects. \
+This package installs the BOINC client software, which will allow your \
+computer to participate in one or more BOINC projects, using your spare \
+computer time to search for cures for diseases, model protein folding, study \
+global warming, discover sources of gravitational waves, and many other types \
+of scientific and mathematical research."
+
+HOMEPAGE = "http://boinc.berkeley.edu/"
+LICENSE = "LGPLv2+ & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
+SECTION = "applications"
+DEPENDS = "curl \
+ jpeg \
+ openssl \
+ sqlite3 \
+ virtual/libgl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
+ nettle \
+"
+
+SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \
+ file://boinc-AM_CONDITIONAL.patch \
+ file://opengl_m4_check.patch \
+ file://cross-compile.patch \
+ file://gtk-configure.patch \
+"
+SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"
+SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"
+
+inherit gettext autotools-brokensep pkgconfig
+
+S = "${WORKDIR}/${BPN}_release-7.6-${PV}"
+
+EXTRA_OECONF += "\
+ --enable-libraries \
+ --enable-unicode \
+ --enable-shared \
+ --enable-dynamic-client-linkage \
+ --enable-client \
+ --disable-server \
+ --disable-static \
+ --disable-manager \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ --without-wxdir \
+ --without-x \
+ --with-boinc-platform=${TARGET_SYS} \
+"
+export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
+
+do_configure_prepend () {
+ if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0"
+ then
+ export GTK2_CFLAGS=""
+ export GTK2_LIBS=""
+ fi
+}
+
+do_compile_prepend () {
+ # Disable rpaths
+ sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool
+ sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool
+ sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 04/49] libplist: Remove rpaths surgically
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 02/49] meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 03/49] boinc: Add recipe for boinc-client Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 05/49] meta_oe_security_flags.inc: Add libcec, libmodplug, libcdio Khem Raj
` (44 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Check for files first before operating on it
Fixes QA errors like below
/usr/lib/python2.7/site-packages/plist/__init__.py
/usr/lib/python2.7/site-packages/plist/_plist.so
/usr/lib/python2.7/site-packages/plist/plist.py
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libplist: 3 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
index 10d40fb..f789796 100644
--- a/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
+++ b/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
@@ -16,8 +16,16 @@ SRC_URI = "http://www.libimobiledevice.org/downloads/libplist-${PV}.tar.bz2 \
SRC_URI[md5sum] = "2a9e0258847d50f9760dc3ece25f4dc6"
SRC_URI[sha256sum] = "a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec"
-PACKAGES =+ "${PN}-utils ${PN}++"
+do_install_append () {
+ if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
+ chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
+ fi
+}
+
+PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python"
FILES_${PN} = "${libdir}/libplist${SOLIBS}"
FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
FILES_${PN}-utils = "${bindir}/*"
+FILES_${PN}-python = "${libdir}/python*/site-packages/*"
+
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 05/49] meta_oe_security_flags.inc: Add libcec, libmodplug, libcdio
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (2 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 04/49] libplist: Remove rpaths surgically Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 06/49] dcadec, libsquish: Add new recipes Khem Raj
` (43 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/conf/distro/include/meta_oe_security_flags.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
index 93f35e2..2559948 100644
--- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
@@ -9,3 +9,6 @@ SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 06/49] dcadec, libsquish: Add new recipes
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (3 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 05/49] meta_oe_security_flags.inc: Add libcec, libmodplug, libcdio Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 07/49] libcec: Update to 3.1.0+ Khem Raj
` (42 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
Transport from meta-dominion, to support
new kodi mediacenter
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-multimedia/dca/dcadec_0.2.0.bb | 17 +++++++++++++++++
.../recipes-multimedia/libsquish/libsquish_git.bb | 19 +++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
create mode 100644 meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
diff --git a/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
new file mode 100644
index 0000000..45b53c1
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "DTS Coherent Acoustics decoder with support for HD extensions"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c"
+
+SRCREV = "b93deed1a231dd6dd7e39b9fe7d2abe05aa00158"
+SRC_URI = "git://github.com/foo86/dcadec.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+inherit lib_package
+
+EXTRA_OEMAKE = "CONFIG_SHARED=1"
+
+do_install() {
+ oe_runmake install DESTDIR="${D}" PREFIX="${prefix}"
+}
diff --git a/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
new file mode 100644
index 0000000..f060f1e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "The squish library (abbreviated to libsquish) is an open source DXT compression library written in C++ "
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://alpha.cpp;beginline=3;endline=22;md5=6665e479f71feb92d590ea9ae9b9f6d5"
+
+PV = "1.10+git${SRCPV}"
+
+SRCREV = "52e7d93c5947f72380521116c05d97c528863ba8"
+SRC_URI = "git://github.com/OpenELEC/libsquish.git;protocol=https"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix}"
+
+do_install() {
+ install -d ${D}${includedir}
+ install -d ${D}${libdir}/pkgconfig
+ oe_runmake install
+}
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 07/49] libcec: Update to 3.1.0+
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (4 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 06/49] dcadec, libsquish: Add new recipes Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes Khem Raj
` (41 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
Depends on p8platform therefore add recipe for
p8platform
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-extended/libcec/libcec_git.bb | 18 ++++++++++++------
meta-oe/recipes-extended/p8platform/p8platform_git.bb | 18 ++++++++++++++++++
2 files changed, 30 insertions(+), 6 deletions(-)
create mode 100644 meta-oe/recipes-extended/p8platform/p8platform_git.bb
diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb
index 0f2a64e..32ab4b9 100644
--- a/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -2,18 +2,24 @@ SUMMARY = "USB CEC Adaptor communication Library"
HOMEPAGE = "http://libcec.pulse-eight.com/"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e61fd86f9c947b430126181da2c6c715"
-DEPENDS = "udev lockdev"
+DEPENDS = "p8platform udev lockdev"
-PV = "2.1.4"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
-SRCREV = "81e38211724bc6e8bd7a60f484433053ed682635"
-SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release"
+PV = "3.1.0+gitr${SRCPV}"
+
+SRCREV = "6d68d21243aa92862592435e8396b4280ea46c3f"
+SRC_URI = "git://github.com/Pulse-Eight/libcec.git"
S = "${WORKDIR}/git"
-inherit autotools pkgconfig
+inherit cmake pkgconfig
+
+# Disable python wrapper, it doesn't have crosscompiles
+EXTRA_OECMAKE = "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \
+ -DSKIP_PYTHON_WRAPPER=1"
# cec-client and xbmc need the .so present to work :(
FILES_${PN} += "${libdir}/*.so"
diff --git a/meta-oe/recipes-extended/p8platform/p8platform_git.bb b/meta-oe/recipes-extended/p8platform/p8platform_git.bb
new file mode 100644
index 0000000..f6347c2
--- /dev/null
+++ b/meta-oe/recipes-extended/p8platform/p8platform_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
+HOMEPAGE = "http://libcec.pulse-eight.com/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/os.h;md5=752555fa94e82005d45fd201fee5bd33"
+
+PV = "2.1.0"
+
+SRC_URI = "git://github.com/Pulse-Eight/platform.git"
+SRCREV = "d7bceb64541cb046421cbcd4c98d91e9bf24822f"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir}"
+
+FILES_${PN}-dev += "${libdir}/p8-platform"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (5 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 07/49] libcec: Update to 3.1.0+ Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-26 0:15 ` Martin Jansa
2016-11-23 9:21 ` [meta-oe][PATCH 09/49] fwts: Update to 16.09 release Khem Raj
` (40 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
16.x is the default since its the latest released version
remove obsoleted xbmc recipes
rename to recipes-mediacenter
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../kodi/jsonschemabuilder-native.bb | 24 +
...re-don-t-try-to-run-stuff-to-find-tinyxml.patch | 25 +
...uild-breakages-due-to-architecture-specif.patch | 83 ++
.../0003-configure-add-aarch64-support.patch | 50 +
...gure-remove-gles-neon-wayland-assumptions.patch | 39 +
.../kodi/kodi-16/0005-handle-SIGTERM.patch | 158 +++
...-to-read-frequency-output-if-using-intel-.patch | 26 +
.../kodi/kodi-16/0006-ffmpeg30.patch | 646 +++++++++
...b.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch | 85 ++
...ding-issue-when-reading-certain-id3v1-tag.patch | 82 ++
...lib-cximage-6.0-fix-compilation-with-gcc6.patch | 1438 ++++++++++++++++++++
...10-curl-support-version-7.5.0-and-upwards.patch | 34 +
...bmc_pvr_types.h-Fix-compilation-with-gcc6.patch | 30 +
...re-don-t-try-to-run-stuff-to-find-tinyxml.patch | 25 +
.../kodi/kodi-17/0002-handle-SIGTERM.patch | 163 +++
...-to-read-frequency-output-if-using-intel-.patch | 26 +
.../kodi/kodi-17/0004-Disable-DVD-support.patch | 35 +
.../0001-Update-to-p8-platform.patch | 427 ++++++
.../kodi/kodi-addon-pvr-hts_git.bb | 55 +
.../0001-Fix-build-after-platform-rename.patch | 67 +
.../0001-fix-cross-compile-badness.patch | 40 +
.../kodi-platform-02_no-multi-lib.patch | 12 +
.../recipes-mediacenter/kodi/kodi-platform_git.bb | 39 +
.../recipes-mediacenter/kodi/kodi-startup.bb | 20 +
.../kodi/kodi-startup/kodi.service | 14 +
.../recipes-mediacenter/kodi/kodi_16.bb | 188 +++
.../recipes-mediacenter/kodi/kodi_17.bb | 181 +++
...on-t-run-python-distutils-to-find-STAGING.patch | 31 -
...d-ios-Add-memory-barriers-to-atomic-Add-S.patch | 97 --
...d-ios-Add-memory-barriers-to-cas-assembly.patch | 69 -
...igure-cope-with-ld-is-gold-DISTRO_FEATURE.patch | 43 -
.../xbmc/configure.in-Avoid-running-code.patch | 32 -
.../recipes-mediacentre/xbmc/xbmc_git.bb | 97 --
33 files changed, 4012 insertions(+), 369 deletions(-)
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0002-arm64-Fix-build-breakages-due-to-architecture-specif.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0003-configure-add-aarch64-support.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0004-configure-remove-gles-neon-wayland-assumptions.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0005-handle-SIGTERM.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-add-support-to-read-frequency-output-if-using-intel-.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-ffmpeg30.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0007-https-github.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0010-curl-support-version-7.5.0-and-upwards.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-Fix-build-after-platform-rename.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
diff --git a/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb b/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
new file mode 100644
index 0000000..094ccff
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://JsonSchemaBuilder.cpp;beginline=2;endline=18;md5=1f67721215c03f66545390f6e45b99c7"
+
+SRCREV = "b587e98911fcedc4b800cd923a882c7aeeaa2146"
+
+PV = "16.0+gitr${SRCPV}"
+SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Jarvis"
+
+inherit autotools-brokensep gettext native
+
+S = "${WORKDIR}/git/tools/depends/native/JsonSchemaBuilder/src"
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
new file mode 100644
index 0000000..772ab2c
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
@@ -0,0 +1,25 @@
+From 27fc03853c9305d285a80563db27aea5ddebda2a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 6 Feb 2016 15:43:01 +0100
+Subject: [PATCH 1/7] configure: don't try to run stuff to find tinyxml
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 95f285b..d26c5d0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1109,7 +1109,7 @@ AC_CHECK_LIB([bluetooth], [hci_devid],, AC_MSG_RESULT([Could not find suitable
+ AC_LANG_PUSH([C++])
+ PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2],
+ [INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"],
+- [AC_RUN_IFELSE(
++ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <tinyxml.h>
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0002-arm64-Fix-build-breakages-due-to-architecture-specif.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0002-arm64-Fix-build-breakages-due-to-architecture-specif.patch
new file mode 100644
index 0000000..8da5cb9
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0002-arm64-Fix-build-breakages-due-to-architecture-specif.patch
@@ -0,0 +1,83 @@
+From 0ef6bf309d3acf433e1c113306c8a9933c7fb7da Mon Sep 17 00:00:00 2001
+From: Edmund Grimley Evans <edmund.grimley.evans@gmail.com>
+Date: Wed, 26 Aug 2015 08:00:58 +0200
+Subject: [PATCH 2/7] arm64: Fix build breakages due to architecture specific
+ guards
+
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796532
+---
+ xbmc/cores/DllLoader/DllLoader.h | 2 +-
+ xbmc/cores/DllLoader/ldt_keeper.c | 2 +-
+ xbmc/cores/VideoRenderers/LinuxRendererGL.h | 2 +-
+ xbmc/threads/Atomics.cpp | 2 +-
+ xbmc/utils/MathUtils.h | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/DllLoader/DllLoader.h b/xbmc/cores/DllLoader/DllLoader.h
+index 070aee6..e669203 100644
+--- a/xbmc/cores/DllLoader/DllLoader.h
++++ b/xbmc/cores/DllLoader/DllLoader.h
+@@ -23,7 +23,7 @@
+ #include "coffldr.h"
+ #include "LibraryLoader.h"
+
+-#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__)
++#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
+ #define USE_LDT_KEEPER
+ #include "ldt_keeper.h"
+ #endif
+diff --git a/xbmc/cores/DllLoader/ldt_keeper.c b/xbmc/cores/DllLoader/ldt_keeper.c
+index 8af9a86..1c0cdb2 100644
+--- a/xbmc/cores/DllLoader/ldt_keeper.c
++++ b/xbmc/cores/DllLoader/ldt_keeper.c
+@@ -19,7 +19,7 @@
+ */
+
+ //#ifndef __powerpc__
+-#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__)
++#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
+
+ #include "ldt_keeper.h"
+
+diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.h b/xbmc/cores/VideoRenderers/LinuxRendererGL.h
+index fcdea8d..5a3e3df 100644
+--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.h
++++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.h
+@@ -323,7 +323,7 @@ protected:
+
+
+ inline int NP2( unsigned x ) {
+-#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__)
++#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
+ // If there are any issues compiling this, just append a ' && 0'
+ // to the above to make it '#if defined(TARGET_POSIX) && 0'
+
+diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
+index 417b2b6..c172867 100644
+--- a/xbmc/threads/Atomics.cpp
++++ b/xbmc/threads/Atomics.cpp
+@@ -106,7 +106,7 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
+ ///////////////////////////////////////////////////////////////////////////
+ long long cas2(volatile long long* pAddr, long long expectedVal, long long swapVal)
+ {
+-#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)// PowerPC and ARM
++#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__aarch64__) // PowerPC and ARM
+ // Not available/required
+ // Hack to allow compilation
+ throw "cas2 is not implemented";
+diff --git a/xbmc/utils/MathUtils.h b/xbmc/utils/MathUtils.h
+index 21b6a37..1039ba9 100644
+--- a/xbmc/utils/MathUtils.h
++++ b/xbmc/utils/MathUtils.h
+@@ -35,7 +35,7 @@
+ #if defined(__ppc__) || \
+ defined(__powerpc__) || \
+ defined(__mips__) || \
+- defined(__arm__)
++ defined(__arm__) || defined(__aarch64__)
+ #define DISABLE_MATHUTILS_ASM_ROUND_INT
+ #endif
+
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0003-configure-add-aarch64-support.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0003-configure-add-aarch64-support.patch
new file mode 100644
index 0000000..6bf58c6
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0003-configure-add-aarch64-support.patch
@@ -0,0 +1,50 @@
+From 8d7649565863731593e1a4123195b6ce9961cd12 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 9 Feb 2016 13:35:36 +0100
+Subject: [PATCH 3/7] configure: add aarch64 support
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.ac | 11 +++++++++++
+ m4/xbmc_arch.m4 | 3 +++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index d26c5d0..8aad06d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -656,6 +656,17 @@ case $host in
+ use_wayland=no
+ USE_STATIC_FFMPEG=1
+ ;;
++ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ target_platform=target_linux
++ ARCH="aarch64"
++ use_arch="aarch64"
++ use_joystick=no
++ use_neon=yes
++ use_gles=yes
++ use_gl=no
++ use_wayland=no
++ USE_STATIC_FFMPEG=1
++ ;;
+ arm*-*linux-android*)
+ target_platform=target_android
+ use_arch="arm"
+diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
+index 0b66a82..ad09584 100644
+--- a/m4/xbmc_arch.m4
++++ b/m4/xbmc_arch.m4
+@@ -63,6 +63,9 @@ case $host in
+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
++ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
++ ;;
+ mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0004-configure-remove-gles-neon-wayland-assumptions.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0004-configure-remove-gles-neon-wayland-assumptions.patch
new file mode 100644
index 0000000..6232e0d
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0004-configure-remove-gles-neon-wayland-assumptions.patch
@@ -0,0 +1,39 @@
+From e9c7f4d2b134e7b8721487c19a50d9e443db95b5 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 11 Feb 2016 14:56:49 +0100
+Subject: [PATCH 4/7] configure: remove gles/neon/wayland assumptions
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.ac | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8aad06d..e7178ee 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -650,10 +650,6 @@ case $host in
+ ARCH="arm"
+ use_arch="arm"
+ use_joystick=no
+- use_neon=yes
+- use_gles=yes
+- use_gl=no
+- use_wayland=no
+ USE_STATIC_FFMPEG=1
+ ;;
+ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
+@@ -661,10 +657,6 @@ case $host in
+ ARCH="aarch64"
+ use_arch="aarch64"
+ use_joystick=no
+- use_neon=yes
+- use_gles=yes
+- use_gl=no
+- use_wayland=no
+ USE_STATIC_FFMPEG=1
+ ;;
+ arm*-*linux-android*)
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0005-handle-SIGTERM.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0005-handle-SIGTERM.patch
new file mode 100644
index 0000000..efb774e
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0005-handle-SIGTERM.patch
@@ -0,0 +1,158 @@
+From bc991427b10a83ac652ba0186f0b8bd46d441c8a Mon Sep 17 00:00:00 2001
+From: Stefan Saraev <stefan@saraev.ca>
+Date: Mon, 15 Dec 2014 21:28:54 +0200
+Subject: [PATCH 5/7] handle SIGTERM
+
+0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
+
+so, when shutdown/reboot is requested:
+
+1. save an exit code (for CEC...)
+2. call CPowerManager::{Reboot,PowerDown}
+3. ... then systemd sends TERM and waits xx seconds before sending KILL
+4. CApplication::Stop has xx seconds to save guisettings.xml and boo
+5. CEC thread has xx seconds to switch off after it received OnQuit
+6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
+7. KILL
+---
+ xbmc/Application.cpp | 17 ++++++++++++-----
+ xbmc/Application.h | 1 +
+ xbmc/XBApplicationEx.cpp | 1 +
+ xbmc/XBApplicationEx.h | 1 +
+ xbmc/main/main.cpp | 15 +++++++++++++++
+ 5 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index 0e3d6da..74c3b7b 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -2502,12 +2502,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+ switch (pMsg->dwMessage)
+ {
+ case TMSG_POWERDOWN:
+- Stop(EXITCODE_POWERDOWN);
++ SetExitCode(EXITCODE_POWERDOWN);
+ g_powerManager.Powerdown();
+ break;
+
+ case TMSG_QUIT:
+- Stop(EXITCODE_QUIT);
++ SetExitCode(EXITCODE_QUIT);
+ break;
+
+ case TMSG_SHUTDOWN:
+@@ -2528,12 +2528,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+
+ case TMSG_RESTART:
+ case TMSG_RESET:
+- Stop(EXITCODE_REBOOT);
++ SetExitCode(EXITCODE_REBOOT);
+ g_powerManager.Reboot();
+ break;
+
+ case TMSG_RESTARTAPP:
+ #if defined(TARGET_WINDOWS) || defined(TARGET_LINUX)
++ SetExitCode(EXITCODE_RESTARTAPP);
+ Stop(EXITCODE_RESTARTAPP);
+ #endif
+ break;
+@@ -2920,12 +2921,19 @@ bool CApplication::Cleanup()
+ }
+ }
+
++void CApplication::SetExitCode(int exitCode)
++{
++ // save it for CEC
++ m_ExitCode = exitCode;
++ m_ExitCodeSet = true;
++}
++
+ void CApplication::Stop(int exitCode)
+ {
+ try
+ {
+ CVariant vExitCode(CVariant::VariantTypeObject);
+- vExitCode["exitcode"] = exitCode;
++ vExitCode["exitcode"] = m_ExitCode;
+ CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
+
+ // Abort any active screensaver
+@@ -2952,7 +2960,6 @@ void CApplication::Stop(int exitCode)
+
+ m_bStop = true;
+ m_AppFocused = false;
+- m_ExitCode = exitCode;
+ CLog::Log(LOGNOTICE, "stop all");
+
+ // cancel any jobs from the jobmanager
+diff --git a/xbmc/Application.h b/xbmc/Application.h
+index d7e5eee..b9fe604 100644
+--- a/xbmc/Application.h
++++ b/xbmc/Application.h
+@@ -154,6 +154,7 @@ public:
+ void StartPVRManager();
+ void StopPVRManager();
+ bool IsCurrentThread() const;
++ void SetExitCode(int exitCode);
+ void Stop(int exitCode);
+ void RestartApp();
+ void UnloadSkin(bool forReload = false);
+diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
+index 048a6c1..fa99ac1 100644
+--- a/xbmc/XBApplicationEx.cpp
++++ b/xbmc/XBApplicationEx.cpp
+@@ -40,6 +40,7 @@ CXBApplicationEx::CXBApplicationEx()
+ m_bStop = false;
+ m_AppFocused = true;
+ m_ExitCode = EXITCODE_QUIT;
++ m_ExitCodeSet = false;
+ m_renderGUI = false;
+ }
+
+diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
+index c46cba1..ed3f35f 100644
+--- a/xbmc/XBApplicationEx.h
++++ b/xbmc/XBApplicationEx.h
+@@ -40,6 +40,7 @@ public:
+ // Variables for timing
+ bool m_bStop;
+ int m_ExitCode;
++ bool m_ExitCodeSet;
+ bool m_AppFocused;
+ bool m_renderGUI;
+
+diff --git a/xbmc/main/main.cpp b/xbmc/main/main.cpp
+index 01027f8..4cfb04e 100644
+--- a/xbmc/main/main.cpp
++++ b/xbmc/main/main.cpp
+@@ -41,12 +41,27 @@
+ #include "input/linux/LIRC.h"
+ #endif
+ #include "XbmcContext.h"
++#include "Application.h"
++
++void xbmc_term_handler(int signum)
++{
++ CLog::Log(LOGINFO, "Received SIGTERM...");
++ if (!g_application.m_ExitCodeSet)
++ g_application.SetExitCode(EXITCODE_RESTARTAPP);
++ g_application.Stop(EXITCODE_RESTARTAPP);
++}
+
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ int main(int argc, char* argv[])
+ {
++ // SIGTERM handler
++ struct sigaction action;
++ memset(&action, 0, sizeof(struct sigaction));
++ action.sa_handler = xbmc_term_handler;
++ sigaction(SIGTERM, &action, NULL);
++
+ // set up some xbmc specific relationships
+ XBMC::Context context;
+
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-add-support-to-read-frequency-output-if-using-intel-.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-add-support-to-read-frequency-output-if-using-intel-.patch
new file mode 100644
index 0000000..059abca
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-add-support-to-read-frequency-output-if-using-intel-.patch
@@ -0,0 +1,26 @@
+From 3145f271b9ac67a34481e4e3ad371b4769aca2f0 Mon Sep 17 00:00:00 2001
+From: Stephan Raue <stephan@openelec.tv>
+Date: Mon, 1 Sep 2014 03:16:37 +0200
+Subject: [PATCH 6/7] add support to read frequency output if using intel's
+ pstate driver
+
+---
+ xbmc/utils/CPUInfo.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
+index 660d355..8074520 100644
+--- a/xbmc/utils/CPUInfo.cpp
++++ b/xbmc/utils/CPUInfo.cpp
+@@ -269,6 +269,8 @@ CCPUInfo::CCPUInfo(void)
+ m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
+
+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
++ if (m_fCPUFreq == NULL)
++ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
+ if (!m_fCPUFreq)
+ {
+ m_cpuInfoForFreq = true;
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-ffmpeg30.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-ffmpeg30.patch
new file mode 100644
index 0000000..9164d48
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0006-ffmpeg30.patch
@@ -0,0 +1,646 @@
+Add support for ffmpeg 3.0
+
+Changes from original commit are only in file paths & quilt refresh.
+
+commit c31b7d374062f87c7512d9872cbceac920465913
+Author: Philip Langdale <philipl@overt.org>
+Date: Mon Sep 21 19:49:36 2015 -0700
+
+ ffmpeg: Update AVPixelFormat and AV_PIX_FMT_* to compile with master
+
+ The deprecated PixelFormat and PIX_FMT_* names have been removed in
+ ffmpeg master.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Downloaded from
+https://gitweb.gentoo.org/repo/gentoo.git/tree/media-tv/kodi/files/kodi-16-ffmpeg3.patch]
+
+Index: xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/FFmpeg.h
++++ xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h
+@@ -24,7 +24,6 @@
+ #include "utils/CPUInfo.h"
+
+ extern "C" {
+-#include "libswscale/swscale.h"
+ #include "libavcodec/avcodec.h"
+ #include "libavformat/avformat.h"
+ #include "libavutil/avutil.h"
+@@ -33,23 +32,6 @@ extern "C" {
+ #include "libpostproc/postprocess.h"
+ }
+
+-inline int SwScaleCPUFlags()
+-{
+- unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures();
+- int flags = 0;
+-
+- if (cpuFeatures & CPU_FEATURE_MMX)
+- flags |= SWS_CPU_CAPS_MMX;
+- if (cpuFeatures & CPU_FEATURE_MMX2)
+- flags |= SWS_CPU_CAPS_MMX2;
+- if (cpuFeatures & CPU_FEATURE_3DNOW)
+- flags |= SWS_CPU_CAPS_3DNOW;
+- if (cpuFeatures & CPU_FEATURE_ALTIVEC)
+- flags |= SWS_CPU_CAPS_ALTIVEC;
+-
+- return flags;
+-}
+-
+ inline int PPCPUFlags()
+ {
+ unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures();
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
+@@ -39,7 +39,7 @@ extern "C" {
+ #include "libswscale/swscale.h"
+ }
+
+-// allocate a new picture (PIX_FMT_YUV420P)
++// allocate a new picture (AV_PIX_FMT_YUV420P)
+ DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
+ {
+ DVDVideoPicture* pPicture = new DVDVideoPicture;
+@@ -264,13 +264,13 @@ DVDVideoPicture* CDVDCodecUtils::Convert
+
+ int dstformat;
+ if (format == RENDER_FMT_UYVY422)
+- dstformat = PIX_FMT_UYVY422;
++ dstformat = AV_PIX_FMT_UYVY422;
+ else
+- dstformat = PIX_FMT_YUYV422;
++ dstformat = AV_PIX_FMT_YUYV422;
+
+- 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_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ SWS_BILINEAR, NULL, NULL, NULL);
+ sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride);
+ sws_freeContext(ctx);
+ }
+@@ -403,25 +403,25 @@ double CDVDCodecUtils::NormalizeFramedur
+ }
+
+ struct EFormatMap {
+- PixelFormat pix_fmt;
++ AVPixelFormat pix_fmt;
+ ERenderFormat format;
+ };
+
+ static const EFormatMap g_format_map[] = {
+- { PIX_FMT_YUV420P, RENDER_FMT_YUV420P }
+-, { PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P }
+-, { PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 }
+-, { PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 }
+-, { PIX_FMT_UYVY422, RENDER_FMT_UYVY422 }
+-, { PIX_FMT_YUYV422, RENDER_FMT_YUYV422 }
+-, { PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI }
+-, { PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA }
+-, { PIX_FMT_NONE , RENDER_FMT_NONE }
++ { AV_PIX_FMT_YUV420P, RENDER_FMT_YUV420P }
++, { AV_PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P }
++, { AV_PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 }
++, { AV_PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 }
++, { AV_PIX_FMT_UYVY422, RENDER_FMT_UYVY422 }
++, { AV_PIX_FMT_YUYV422, RENDER_FMT_YUYV422 }
++, { AV_PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI }
++, { AV_PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA }
++, { AV_PIX_FMT_NONE , RENDER_FMT_NONE }
+ };
+
+ ERenderFormat CDVDCodecUtils::EFormatFromPixfmt(int fmt)
+ {
+- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p)
++ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p)
+ {
+ if(p->pix_fmt == fmt)
+ return p->format;
+@@ -431,10 +431,10 @@ ERenderFormat CDVDCodecUtils::EFormatFro
+
+ int CDVDCodecUtils::PixfmtFromEFormat(ERenderFormat fmt)
+ {
+- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p)
++ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p)
+ {
+ if(p->format == fmt)
+ return p->pix_fmt;
+ }
+- return PIX_FMT_NONE;
++ return AV_PIX_FMT_NONE;
+ }
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -77,8 +77,8 @@ enum DecoderState
+ STATE_SW_MULTI
+ };
+
+-enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
+- , const PixelFormat * fmt )
++enum AVPixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
++ , const AVPixelFormat * fmt )
+ {
+ CDVDVideoCodecFFmpeg* ctx = (CDVDVideoCodecFFmpeg*)avctx->opaque;
+
+@@ -104,8 +104,8 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
+ avctx->hwaccel_context = 0;
+ }
+
+- const PixelFormat * cur = fmt;
+- while(*cur != PIX_FMT_NONE)
++ const AVPixelFormat * cur = fmt;
++ while(*cur != AV_PIX_FMT_NONE)
+ {
+ #ifdef HAVE_LIBVDPAU
+ if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))
+@@ -137,7 +137,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
+ #endif
+ #ifdef HAVE_LIBVA
+ // mpeg4 vaapi decoding is disabled
+- 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)
+@@ -214,11 +214,11 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre
+
+ for(std::vector<ERenderFormat>::iterator it = options.m_formats.begin(); it != options.m_formats.end(); ++it)
+ {
+- m_formats.push_back((PixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it));
++ m_formats.push_back((AVPixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it));
+ if(*it == RENDER_FMT_YUV420P)
+- m_formats.push_back(PIX_FMT_YUVJ420P);
++ m_formats.push_back(AV_PIX_FMT_YUVJ420P);
+ }
+- m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */
++ m_formats.push_back(AV_PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */
+
+ pCodec = avcodec_find_decoder(hints.codec);
+
+@@ -655,7 +655,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCom
+ pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc;
+ pDvdVideoPicture->color_matrix = m_pCodecContext->colorspace;
+ if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG
+- || m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P)
++ || m_pCodecContext->pix_fmt == AV_PIX_FMT_YUVJ420P)
+ pDvdVideoPicture->color_range = 1;
+ else
+ pDvdVideoPicture->color_range = 0;
+@@ -738,8 +738,8 @@ bool CDVDVideoCodecFFmpeg::GetPicture(DV
+ pDvdVideoPicture->iFlags |= pDvdVideoPicture->data[0] ? 0 : DVP_FLAG_DROPPED;
+ pDvdVideoPicture->extended_format = 0;
+
+- PixelFormat pix_fmt;
+- pix_fmt = (PixelFormat)m_pFrame->format;
++ AVPixelFormat pix_fmt;
++ pix_fmt = (AVPixelFormat)m_pFrame->format;
+
+ pDvdVideoPicture->format = CDVDCodecUtils::EFormatFromPixfmt(pix_fmt);
+ return true;
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+@@ -46,7 +46,7 @@ public:
+ public:
+ IHardwareDecoder() {}
+ virtual ~IHardwareDecoder() {};
+- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces) = 0;
++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces) = 0;
+ 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:
+ void SetHardware(IHardwareDecoder* hardware);
+
+ protected:
+- static enum PixelFormat GetFormat(struct AVCodecContext * avctx, const PixelFormat * fmt);
++ static enum AVPixelFormat GetFormat(struct AVCodecContext * avctx, const AVPixelFormat * fmt);
+
+ int FilterOpen(const std::string& filters, bool scale);
+ void FilterClose();
+@@ -119,7 +119,7 @@ protected:
+ int m_iLastKeyframe;
+ double m_dts;
+ bool m_started;
+- std::vector<PixelFormat> m_formats;
++ std::vector<AVPixelFormat> m_formats;
+ double m_decoderPts;
+ int m_skippedDeint;
+ bool m_requestSkipDeint;
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+@@ -554,11 +554,11 @@ void CDVDVideoCodecVDA::DisplayQueuePop(
+
+ void CDVDVideoCodecVDA::UYVY422_to_YUV420P(uint8_t *yuv422_ptr, int yuv422_stride, DVDVideoPicture *picture)
+ {
+- // convert PIX_FMT_UYVY422 to PIX_FMT_YUV420P.
++ // convert AV_PIX_FMT_UYVY422 to AV_PIX_FMT_YUV420P.
+ struct SwsContext *swcontext = sws_getContext(
+- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_UYVY422,
+- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P,
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_UYVY422,
++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P,
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
+ if (swcontext)
+ {
+ uint8_t *src[] = { yuv422_ptr, 0, 0, 0 };
+@@ -574,11 +574,11 @@ void CDVDVideoCodecVDA::UYVY422_to_YUV42
+
+ void CDVDVideoCodecVDA::BGRA_to_YUV420P(uint8_t *bgra_ptr, int bgra_stride, DVDVideoPicture *picture)
+ {
+- // convert PIX_FMT_BGRA to PIX_FMT_YUV420P.
++ // convert AV_PIX_FMT_BGRA to AV_PIX_FMT_YUV420P.
+ struct SwsContext *swcontext = sws_getContext(
+- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_BGRA,
+- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P,
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_BGRA,
++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P,
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
+ if (swcontext)
+ {
+ uint8_t *src[] = { bgra_ptr, 0, 0, 0 };
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+@@ -886,7 +886,7 @@ static bool CheckCompatibility(AVCodecCo
+ return true;
+ }
+
+-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces)
++bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces)
+ {
+ if (!CheckCompatibility(avctx))
+ return false;
+@@ -1135,9 +1135,9 @@ bool CDecoder::OpenDecoder()
+ return true;
+ }
+
+-bool CDecoder::Supports(enum PixelFormat fmt)
++bool CDecoder::Supports(enum AVPixelFormat fmt)
+ {
+- if(fmt == PIX_FMT_DXVA2_VLD)
++ if(fmt == AV_PIX_FMT_DXVA2_VLD)
+ return true;
+ return false;
+ }
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
+@@ -141,7 +141,7 @@ class CDecoder
+ public:
+ CDecoder();
+ ~CDecoder();
+- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces);
++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces);
+ virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
+ virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
+ virtual int Check (AVCodecContext* avctx);
+@@ -154,7 +154,7 @@ public:
+ int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
+ void RelBuffer(uint8_t *data);
+
+- static bool Supports(enum PixelFormat fmt);
++ static bool Supports(enum AVPixelFormat fmt);
+
+ void CloseDXVADecoder();
+
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+@@ -479,7 +479,7 @@ CDecoder::~CDecoder()
+ Close();
+ }
+
+-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces)
++bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces)
+ {
+ // don't support broken wrappers by default
+ // nvidia cards with a vaapi to vdpau wrapper
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
+@@ -406,7 +406,7 @@ public:
+ CDecoder();
+ virtual ~CDecoder();
+
+- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
+ virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
+ virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
+ virtual void Reset();
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
+@@ -186,7 +186,7 @@ void CDecoder::Close()
+ m_bitstream = NULL;
+ }
+
+-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces)
++bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces)
+ {
+ Close();
+
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
+@@ -35,7 +35,7 @@ class CDecoder
+ public:
+ CDecoder();
+ ~CDecoder();
+- virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
++ virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
+ virtual int Decode(AVCodecContext* avctx, AVFrame* frame);
+ virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
+ virtual int Check(AVCodecContext* avctx);
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+@@ -486,7 +486,7 @@ CDecoder::CDecoder() : m_vdpauOutput(&m_
+ m_vdpauConfig.context = 0;
+ }
+
+-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces)
++bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces)
+ {
+ // check if user wants to decode this format with VDPAU
+ std::string gpuvendor = g_Windowing.GetRenderVendor();
+@@ -760,7 +760,7 @@ int CDecoder::Check(AVCodecContext* avct
+ return 0;
+ }
+
+-bool CDecoder::IsVDPAUFormat(PixelFormat format)
++bool CDecoder::IsVDPAUFormat(AVPixelFormat format)
+ {
+ if (format == AV_PIX_FMT_VDPAU)
+ return true;
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
+@@ -556,7 +556,7 @@ public:
+ CDecoder();
+ virtual ~CDecoder();
+
+- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
+ virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
+ virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
+ virtual void Reset();
+@@ -571,7 +571,7 @@ public:
+ bool Supports(VdpVideoMixerFeature feature);
+ bool Supports(EINTERLACEMETHOD method);
+ EINTERLACEMETHOD AutoInterlaceMethod();
+- static bool IsVDPAUFormat(PixelFormat fmt);
++ static bool IsVDPAUFormat(AVPixelFormat fmt);
+
+ static void FFReleaseBuffer(void *opaque, uint8_t *data);
+ static int FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+@@ -1638,7 +1638,7 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPack
+
+ // for video we need a decoder to get desired information into codec context
+ if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && st->codec->extradata &&
+- (!st->codec->width || st->codec->pix_fmt == PIX_FMT_NONE))
++ (!st->codec->width || st->codec->pix_fmt == AV_PIX_FMT_NONE))
+ {
+ // open a decoder, it will be cleared down by ffmpeg on closing the stream
+ if (!st->codec->codec)
+@@ -1695,7 +1695,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
+ st = m_pFormatContext->streams[idx];
+ if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
+ {
+- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE)
++ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE)
+ return true;
+ hasVideo = true;
+ }
+@@ -1708,7 +1708,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
+ st = m_pFormatContext->streams[i];
+ if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
+ {
+- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE)
++ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE)
+ return true;
+ hasVideo = true;
+ }
+Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+@@ -275,7 +275,7 @@ bool CDVDFileInfo::ExtractThumb(const st
+
+ uint8_t *pOutBuf = new uint8_t[nWidth * nHeight * 4];
+ struct SwsContext *context = sws_getContext(picture.iWidth, picture.iHeight,
+- PIX_FMT_YUV420P, nWidth, nHeight, PIX_FMT_BGRA, SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ AV_PIX_FMT_YUV420P, nWidth, nHeight, AV_PIX_FMT_BGRA, SWS_FAST_BILINEAR, NULL, NULL, NULL);
+
+ if (context)
+ {
+Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+@@ -2932,7 +2932,7 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+ }
+ else if (m_format == RENDER_FMT_NV12)
+ {
+- srcFormat = PIX_FMT_NV12;
++ srcFormat = AV_PIX_FMT_NV12;
+ for (int i = 0; i < 2; i++)
+ {
+ src[i] = im->plane[i];
+@@ -2941,13 +2941,13 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+ }
+ else if (m_format == RENDER_FMT_YUYV422)
+ {
+- srcFormat = PIX_FMT_YUYV422;
++ srcFormat = AV_PIX_FMT_YUYV422;
+ src[0] = im->plane[0];
+ srcStride[0] = im->stride[0];
+ }
+ else if (m_format == RENDER_FMT_UYVY422)
+ {
+- srcFormat = PIX_FMT_UYVY422;
++ srcFormat = AV_PIX_FMT_UYVY422;
+ src[0] = im->plane[0];
+ srcStride[0] = im->stride[0];
+ }
+@@ -2965,8 +2965,8 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
+
+ m_context = sws_getCachedContext(m_context,
+ im->width, im->height, (AVPixelFormat)srcFormat,
+- im->width, im->height, (AVPixelFormat)PIX_FMT_BGRA,
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ im->width, im->height, (AVPixelFormat)AV_PIX_FMT_BGRA,
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
+
+ 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
+
+ if (m_format == RENDER_FMT_YUV420P)
+ {
+- srcFormat = PIX_FMT_YUV420P;
++ srcFormat = AV_PIX_FMT_YUV420P;
+ for (int i = 0; i < 3; i++)
+ {
+ srcTop[i] = im->plane[i];
+@@ -3006,7 +3006,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+ }
+ else if (m_format == RENDER_FMT_NV12)
+ {
+- srcFormat = PIX_FMT_NV12;
++ srcFormat = AV_PIX_FMT_NV12;
+ for (int i = 0; i < 2; i++)
+ {
+ srcTop[i] = im->plane[i];
+@@ -3017,7 +3017,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
+ }
+ else if (m_format == RENDER_FMT_YUYV422)
+ {
+- srcFormat = PIX_FMT_YUYV422;
++ srcFormat = AV_PIX_FMT_YUYV422;
+ 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
+ }
+ else if (m_format == RENDER_FMT_UYVY422)
+ {
+- srcFormat = PIX_FMT_UYVY422;
++ srcFormat = AV_PIX_FMT_UYVY422;
+ 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
+
+ m_context = sws_getCachedContext(m_context,
+ im->width, im->height >> 1, (AVPixelFormat)srcFormat,
+- im->width, im->height >> 1, (AVPixelFormat)PIX_FMT_BGRA,
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++ im->width, im->height >> 1, (AVPixelFormat)AV_PIX_FMT_BGRA,
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
+ 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 };
+Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+@@ -2006,8 +2006,8 @@ void CLinuxRendererGLES::UploadYV12Textu
+ #endif
+ {
+ m_sw_context = sws_getCachedContext(m_sw_context,
+- im->width, im->height, PIX_FMT_YUV420P,
+- im->width, im->height, PIX_FMT_RGBA,
++ im->width, im->height, AV_PIX_FMT_YUV420P,
++ im->width, im->height, AV_PIX_FMT_RGBA,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
+
+ uint8_t *src[] = { im->plane[0], im->plane[1], im->plane[2], 0 };
+Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp
++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp
+@@ -94,16 +94,16 @@ CWinRenderer::~CWinRenderer()
+ UnInit();
+ }
+
+-static enum PixelFormat PixelFormatFromFormat(ERenderFormat format)
++static enum AVPixelFormat PixelFormatFromFormat(ERenderFormat format)
+ {
+- 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()
+@@ -719,13 +719,13 @@ void CWinRenderer::Render(DWORD flags)
+
+ void CWinRenderer::RenderSW()
+ {
+- enum PixelFormat format = PixelFormatFromFormat(m_format);
++ enum AVPixelFormat format = PixelFormatFromFormat(m_format);
+
+ // 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);
+
+ YUVBuffer* buf = (YUVBuffer*)m_VideoBuffers[m_iYV12RenderBuffer];
+
+Index: xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/pictures/Picture.cpp
++++ xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp
+@@ -342,9 +342,9 @@ bool CPicture::ScaleImage(uint8_t *in_pi
+ 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,
+- 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,
++ CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm), NULL, NULL, NULL);
+
+ uint8_t *src[] = { in_pixels, 0, 0, 0 };
+ int srcStride[] = { (int)in_pitch, 0, 0, 0 };
+Index: xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp
+===================================================================
+--- xbmc-16.0-Jarvis.orig/xbmc/video/FFmpegVideoDecoder.cpp
++++ xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp
+@@ -252,7 +252,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
+ return false;
+
+ // Due to a bug in swsscale we need to allocate one extra line of data
+- if ( avpicture_alloc( m_pFrameRGB, PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 )
++ if ( avpicture_alloc( m_pFrameRGB, AV_PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 )
+ return false;
+ }
+
+@@ -287,7 +287,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
+
+ // 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,
+- m_frameRGBwidth, m_frameRGBheight, PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL );
++ m_frameRGBwidth, m_frameRGBheight, AV_PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL );
+
+ sws_scale( context, m_pFrame->data, m_pFrame->linesize, 0, m_pCodecCtx->height,
+ m_pFrameRGB->data, m_pFrameRGB->linesize );
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0007-https-github.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0007-https-github.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch
new file mode 100644
index 0000000..89a06a5
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0007-https-github.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch
@@ -0,0 +1,85 @@
+From 1ec2dca41d4e50d06f35a98f2fef6f81fd0571ae Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 19 Feb 2016 10:41:36 +0100
+Subject: [PATCH 7/7]
+ https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-999.42-KEY_EPG.patch
+
+---
+ system/keymaps/keyboard.xml | 2 ++
+ xbmc/input/XBMC_keysym.h | 1 +
+ xbmc/input/XBMC_keytable.cpp | 1 +
+ xbmc/input/XBMC_vkeys.h | 1 +
+ xbmc/input/linux/LinuxInputDevices.cpp | 1 +
+ 5 files changed, 6 insertions(+)
+
+diff --git a/system/keymaps/keyboard.xml b/system/keymaps/keyboard.xml
+index 9833cff..4bcc1ce 100644
+--- a/system/keymaps/keyboard.xml
++++ b/system/keymaps/keyboard.xml
+@@ -95,6 +95,7 @@
+ <sleep>ActivateWindow(shutdownmenu)</sleep>
+ <!-- PVR windows -->
+ <e>ActivateWindow(TVGuide)</e>
++ <epg>ActivateWindow(TVGuide)</epg>
+ <h>ActivateWindow(TVChannels)</h>
+ <j>ActivateWindow(RadioChannels)</j>
+ <k>ActivateWindow(TVRecordings)</k>
+@@ -246,6 +247,7 @@
+ <TVGuide>
+ <keyboard>
+ <e>PreviousMenu</e>
++ <epg>PreviousMenu</epg>
+ </keyboard>
+ </TVGuide>
+ <MyFiles>
+diff --git a/xbmc/input/XBMC_keysym.h b/xbmc/input/XBMC_keysym.h
+index 89c21f5..e7410ec 100644
+--- a/xbmc/input/XBMC_keysym.h
++++ b/xbmc/input/XBMC_keysym.h
+@@ -229,6 +229,7 @@ typedef enum {
+ XBMCK_FAVORITES = 0x14d,
+ XBMCK_HOMEPAGE = 0x14e,
+ XBMCK_CONFIG = 0x14f,
++ XBMCK_EPG = 0x150,
+
+ // Add any other keys here
+
+diff --git a/xbmc/input/XBMC_keytable.cpp b/xbmc/input/XBMC_keytable.cpp
+index 4d05464..14fd384 100644
+--- a/xbmc/input/XBMC_keytable.cpp
++++ b/xbmc/input/XBMC_keytable.cpp
+@@ -243,6 +243,7 @@ static const XBMCKEYTABLE XBMCKeyTable[] =
+ , { XBMCK_FAVORITES, 0, 0, XBMCVK_FAVORITES, "favorites" }
+ , { XBMCK_HOMEPAGE , 0, 0, XBMCVK_HOMEPAGE, "homepage" }
+ , { XBMCK_CONFIG, 0, 0, XBMCVK_CONFIG, "config" }
++, { XBMCK_EPG , 0, 0, XBMCVK_EPG, "epg" }
+ };
+
+ static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
+diff --git a/xbmc/input/XBMC_vkeys.h b/xbmc/input/XBMC_vkeys.h
+index af114c9..4e3787c 100644
+--- a/xbmc/input/XBMC_vkeys.h
++++ b/xbmc/input/XBMC_vkeys.h
+@@ -221,6 +221,7 @@ typedef enum {
+ XBMCVK_FAVORITES = 0xE9,
+ XBMCVK_HOMEPAGE = 0xEA,
+ XBMCVK_CONFIG = 0xEB,
++ XBMCVK_EPG = 0xEC,
+
+ XBMCVK_LAST = 0xFF
+ } XBMCVKey;
+diff --git a/xbmc/input/linux/LinuxInputDevices.cpp b/xbmc/input/linux/LinuxInputDevices.cpp
+index 9f3e866..73f338f 100644
+--- a/xbmc/input/linux/LinuxInputDevices.cpp
++++ b/xbmc/input/linux/LinuxInputDevices.cpp
+@@ -268,6 +268,7 @@ KeyMap keyMap[] = {
+ { KEY_FILE , XBMCK_LAUNCH_FILE_BROWSER},
+ { KEY_SELECT , XBMCK_RETURN },
+ { KEY_CONFIG , XBMCK_CONFIG },
++ { KEY_EPG , XBMCK_EPG },
+ // The Little Black Box Remote Additions
+ { 384 , XBMCK_LEFT }, // Red
+ { 378 , XBMCK_RIGHT }, // Green
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
new file mode 100644
index 0000000..dc428d6
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
@@ -0,0 +1,82 @@
+From 78571ed421e3fd3d5244cd76670e4e1bab69132f Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Fri, 27 May 2016 17:30:28 +0200
+Subject: [PATCH 1/1] Fix nullpadding issue when reading certain id3v1 tags
+
+backported from upstream commit to master branch:
+
+https://github.com/xbmc/xbmc/commit/cdabf9dd9e82f4b2d639fb769db08227a7c52046
+
+to fix problems with taglib-1.11:
+
+http://trac.kodi.tv/ticket/16454
+https://github.com/taglib/taglib/issues/741#issuecomment-218059031
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ xbmc/music/tags/TagLoaderTagLib.cpp | 21 ---------------------
+ xbmc/music/tags/TagLoaderTagLib.h | 3 +++
+ 2 files changed, 3 insertions(+), 21 deletions(-)
+
+diff --git a/xbmc/music/tags/TagLoaderTagLib.cpp b/xbmc/music/tags/TagLoaderTagLib.cpp
+index b78a591..0fc346a 100644
+--- a/xbmc/music/tags/TagLoaderTagLib.cpp
++++ b/xbmc/music/tags/TagLoaderTagLib.cpp
+@@ -46,31 +46,12 @@
+ #include "utils/URIUtils.h"
+ #include "utils/log.h"
+ #include "utils/StringUtils.h"
+-#include "utils/CharsetConverter.h"
+ #include "utils/Base64.h"
+ #include "settings/AdvancedSettings.h"
+
+ using namespace TagLib;
+ using namespace MUSIC_INFO;
+
+-template<class T>
+-class TagStringHandler : public T
+-{
+-public:
+- TagStringHandler() {}
+- virtual ~TagStringHandler() {}
+- virtual String parse(const ByteVector &data) const
+- {
+- std::string strSource(data.data(), data.size());
+- std::string strUTF8;
+- g_charsetConverter.unknownToUTF8(strSource, strUTF8);
+- return String(strUTF8, String::UTF8);
+- }
+-};
+-
+-static const TagStringHandler<ID3v1::StringHandler> ID3v1StringHandler;
+-static const TagStringHandler<ID3v2::Latin1StringHandler> ID3v2StringHandler;
+-
+ CTagLoaderTagLib::CTagLoaderTagLib()
+ {
+ }
+@@ -824,8 +805,6 @@ bool CTagLoaderTagLib::Load(const std::string& strFileName, CMusicInfoTag& tag,
+ return false;
+ }
+
+- ID3v1::Tag::setStringHandler(&ID3v1StringHandler);
+- ID3v2::Tag::setLatin1StringHandler(&ID3v2StringHandler);
+ TagLib::File* file = NULL;
+ TagLib::APE::File* apeFile = NULL;
+ TagLib::ASF::File* asfFile = NULL;
+diff --git a/xbmc/music/tags/TagLoaderTagLib.h b/xbmc/music/tags/TagLoaderTagLib.h
+index f83ea4f..0edb84f 100644
+--- a/xbmc/music/tags/TagLoaderTagLib.h
++++ b/xbmc/music/tags/TagLoaderTagLib.h
+@@ -44,6 +44,9 @@
+ #include <taglib/mp4tag.h>
+ #include "ImusicInfoTagLoader.h"
+
++#include <string>
++#include <vector>
++
+ namespace MUSIC_INFO
+ {
+ class CMusicInfoTag;
+--
+2.8.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
new file mode 100644
index 0000000..a8de36c
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
@@ -0,0 +1,1438 @@
+From 8f82e51563f0e1bc9b7a8adf669ad2b66e7ce3e5 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Thu, 28 Apr 2016 17:17:40 +0200
+Subject: [PATCH] lib/cximage-6.0: fix compilation with gcc6
+
+For a quick fix I renamed min() to cxmin() and max() to cxmax() to
+prevent the conflict with the gcc definition.
+
+Forum thread for reference:
+http://forum.kodi.tv/showthread.php?tid=263884
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(Patch sent upstream: https://github.com/xbmc/xbmc/pull/9703)
+---
+ lib/cximage-6.0/CxImage/ximabmp.cpp | 6 +-
+ lib/cximage-6.0/CxImage/ximadef.h | 8 +-
+ lib/cximage-6.0/CxImage/ximadsp.cpp | 182 +++++++++++++++++------------------
+ lib/cximage-6.0/CxImage/ximage.cpp | 4 +-
+ lib/cximage-6.0/CxImage/ximagif.cpp | 6 +-
+ lib/cximage-6.0/CxImage/ximahist.cpp | 12 +--
+ lib/cximage-6.0/CxImage/ximaint.cpp | 8 +-
+ lib/cximage-6.0/CxImage/ximaiter.h | 4 +-
+ lib/cximage-6.0/CxImage/ximajbg.cpp | 2 +-
+ lib/cximage-6.0/CxImage/ximapal.cpp | 14 +--
+ lib/cximage-6.0/CxImage/ximapng.cpp | 12 +--
+ lib/cximage-6.0/CxImage/ximaraw.cpp | 4 +-
+ lib/cximage-6.0/CxImage/ximasel.cpp | 50 +++++-----
+ lib/cximage-6.0/CxImage/ximath.cpp | 8 +-
+ lib/cximage-6.0/CxImage/ximatif.cpp | 6 +-
+ lib/cximage-6.0/CxImage/ximatran.cpp | 138 +++++++++++++-------------
+ lib/cximage-6.0/CxImage/ximawnd.cpp | 16 +--
+ 17 files changed, 236 insertions(+), 244 deletions(-)
+
+diff --git a/lib/cximage-6.0/CxImage/ximabmp.cpp b/lib/cximage-6.0/CxImage/ximabmp.cpp
+index 726ff91..55842b1 100644
+--- a/lib/cximage-6.0/CxImage/ximabmp.cpp
++++ b/lib/cximage-6.0/CxImage/ximabmp.cpp
+@@ -46,7 +46,7 @@ bool CxImageBMP::Encode(CxFile * hFile)
+ bihtoh(&infohdr);
+
+ // Write the file header
+- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1);
++ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1);
+ hFile->Write(&infohdr,sizeof(BITMAPINFOHEADER),1);
+ //and DIB+ALPHA interlaced
+ BYTE *srcalpha = AlphaGetPointer();
+@@ -64,7 +64,7 @@ bool CxImageBMP::Encode(CxFile * hFile)
+ #endif //CXIMAGE_SUPPORT_ALPHA
+ {
+ // Write the file header
+- hFile->Write(&hdr,min(14,sizeof(BITMAPFILEHEADER)),1);
++ hFile->Write(&hdr,cxmin(14,sizeof(BITMAPFILEHEADER)),1);
+ //copy attributes
+ memcpy(pDib,&head,sizeof(BITMAPINFOHEADER));
+ bihtoh((BITMAPINFOHEADER*)pDib);
+@@ -86,7 +86,7 @@ bool CxImageBMP::Decode(CxFile * hFile)
+ BITMAPFILEHEADER bf;
+ DWORD off = hFile->Tell(); //<CSC>
+ cx_try {
+- if (hFile->Read(&bf,min(14,sizeof(bf)),1)==0) cx_throw("Not a BMP");
++ if (hFile->Read(&bf,cxmin(14,sizeof(bf)),1)==0) cx_throw("Not a BMP");
+
+ bf.bfSize = my_ntohl(bf.bfSize);
+ bf.bfOffBits = my_ntohl(bf.bfOffBits);
+diff --git a/lib/cximage-6.0/CxImage/ximadef.h b/lib/cximage-6.0/CxImage/ximadef.h
+index fe383bf..53ea452 100644
+--- a/lib/cximage-6.0/CxImage/ximadef.h
++++ b/lib/cximage-6.0/CxImage/ximadef.h
+@@ -53,12 +53,8 @@
+ #define CXIMAGE_SUPPORT_WINDOWS 0
+ #endif
+
+-#ifndef min
+-#define min(a,b) (((a)<(b))?(a):(b))
+-#endif
+-#ifndef max
+-#define max(a,b) (((a)>(b))?(a):(b))
+-#endif
++#define cxmin(a,b) (((a)<(b))?(a):(b))
++#define cxmax(a,b) (((a)>(b))?(a):(b))
+
+ #ifndef PI
+ #define PI 3.141592653589793f
+diff --git a/lib/cximage-6.0/CxImage/ximadsp.cpp b/lib/cximage-6.0/CxImage/ximadsp.cpp
+index 8425bb2..813253b 100644
+--- a/lib/cximage-6.0/CxImage/ximadsp.cpp
++++ b/lib/cximage-6.0/CxImage/ximadsp.cpp
+@@ -389,8 +389,8 @@ RGBQUAD CxImage::RGBtoHSL(RGBQUAD lRGBColor)
+ G = lRGBColor.rgbGreen;
+ B = lRGBColor.rgbBlue;
+
+- cMax = max( max(R,G), B); /* calculate lightness */
+- cMin = min( min(R,G), B);
++ cMax = cxmax( cxmax(R,G), B); /* calculate lightness */
++ cMin = cxmin( cxmin(R,G), B);
+ L = (BYTE)((((cMax+cMin)*HSLMAX)+RGBMAX)/(2*RGBMAX));
+
+ if (cMax==cMin){ /* r=g=b --> achromatic case */
+@@ -489,9 +489,9 @@ RGBQUAD CxImage::YUVtoRGB(RGBQUAD lYUVColor)
+ G = (int)( Y - 0.344f * U - 0.714f * V);
+ B = (int)( Y + 1.770f * U);
+
+- R= min(255,max(0,R));
+- G= min(255,max(0,G));
+- B= min(255,max(0,B));
++ R= cxmin(255,cxmax(0,R));
++ G= cxmin(255,cxmax(0,G));
++ B= cxmin(255,cxmax(0,B));
+ RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
+ return rgb;
+ }
+@@ -510,9 +510,9 @@ RGBQUAD CxImage::RGBtoYUV(RGBQUAD lRGBColor)
+ U = (int)((B-Y) * 0.565f + 128);
+ V = (int)((R-Y) * 0.713f + 128);
+
+- Y= min(255,max(0,Y));
+- U= min(255,max(0,U));
+- V= min(255,max(0,V));
++ Y= cxmin(255,cxmax(0,Y));
++ U= cxmin(255,cxmax(0,U));
++ V= cxmin(255,cxmax(0,V));
+ RGBQUAD yuv={(BYTE)V,(BYTE)U,(BYTE)Y,0};
+ return yuv;
+ }
+@@ -528,9 +528,9 @@ RGBQUAD CxImage::YIQtoRGB(RGBQUAD lYIQColor)
+ G = (int)( Y - 0.273f * I - 0.647f * Q);
+ B = (int)( Y - 1.104f * I + 1.701f * Q);
+
+- R= min(255,max(0,R));
+- G= min(255,max(0,G));
+- B= min(255,max(0,B));
++ R= cxmin(255,cxmax(0,R));
++ G= cxmin(255,cxmax(0,G));
++ B= cxmin(255,cxmax(0,B));
+ RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
+ return rgb;
+ }
+@@ -546,9 +546,9 @@ RGBQUAD CxImage::RGBtoYIQ(RGBQUAD lRGBColor)
+ I = (int)( 0.5960f * R - 0.2742f * G - 0.3219f * B + 128);
+ Q = (int)( 0.2109f * R - 0.5229f * G + 0.3120f * B + 128);
+
+- Y= min(255,max(0,Y));
+- I= min(255,max(0,I));
+- Q= min(255,max(0,Q));
++ Y= cxmin(255,cxmax(0,Y));
++ I= cxmin(255,cxmax(0,I));
++ Q= cxmin(255,cxmax(0,Q));
+ RGBQUAD yiq={(BYTE)Q,(BYTE)I,(BYTE)Y,0};
+ return yiq;
+ }
+@@ -565,9 +565,9 @@ RGBQUAD CxImage::XYZtoRGB(RGBQUAD lXYZColor)
+ G = (int)( -0.969256f * X + 1.875992f * Y + 0.041556f * Z * k);
+ B = (int)( 0.055648f * X - 0.204043f * Y + 1.057311f * Z * k);
+
+- R= min(255,max(0,R));
+- G= min(255,max(0,G));
+- B= min(255,max(0,B));
++ R= cxmin(255,cxmax(0,R));
++ G= cxmin(255,cxmax(0,G));
++ B= cxmin(255,cxmax(0,B));
+ RGBQUAD rgb={(BYTE)B,(BYTE)G,(BYTE)R,0};
+ return rgb;
+ }
+@@ -583,9 +583,9 @@ RGBQUAD CxImage::RGBtoXYZ(RGBQUAD lRGBColor)
+ Y = (int)( 0.212671f * R + 0.715160f * G + 0.072169f * B);
+ Z = (int)((0.019334f * R + 0.119193f * G + 0.950227f * B)*0.918483657f);
+
+- //X= min(255,max(0,X));
+- //Y= min(255,max(0,Y));
+- //Z= min(255,max(0,Z));
++ //X= cxmin(255,cxmax(0,X));
++ //Y= cxmin(255,cxmax(0,Y));
++ //Z= cxmin(255,cxmax(0,Z));
+ RGBQUAD xyz={(BYTE)Z,(BYTE)Y,(BYTE)X,0};
+ return xyz;
+ }
+@@ -707,7 +707,7 @@ bool CxImage::Light(long brightness, long contrast)
+
+ BYTE cTable[256]; //<nipper>
+ for (int i=0;i<256;i++) {
+- cTable[i] = (BYTE)max(0,min(255,(int)((i-128)*c + brightness + 0.5f)));
++ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)((i-128)*c + brightness + 0.5f)));
+ }
+
+ return Lut(cTable);
+@@ -830,11 +830,11 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset)
+ }
+ }
+ if (Kfactor==0 || ksumcur==0){
+- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b + Koffset)));
++ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset)));
+ } else if (ksumtot == ksumcur) {
+- cPtr2[iY1] = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset)));
++ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset)));
+ } else {
+- cPtr2[iY1] = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
++ cPtr2[iY1] = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
+ }
+ }
+ }
+@@ -863,17 +863,17 @@ bool CxImage::Filter(long* kernel, long Ksize, long Kfactor, long Koffset)
+ }
+ }
+ if (Kfactor==0 || ksumcur==0){
+- c.rgbRed = (BYTE)min(255, max(0,(int)(r + Koffset)));
+- c.rgbGreen = (BYTE)min(255, max(0,(int)(g + Koffset)));
+- c.rgbBlue = (BYTE)min(255, max(0,(int)(b + Koffset)));
++ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r + Koffset)));
++ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g + Koffset)));
++ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b + Koffset)));
+ } else if (ksumtot == ksumcur) {
+- c.rgbRed = (BYTE)min(255, max(0,(int)(r/Kfactor + Koffset)));
+- c.rgbGreen = (BYTE)min(255, max(0,(int)(g/Kfactor + Koffset)));
+- c.rgbBlue = (BYTE)min(255, max(0,(int)(b/Kfactor + Koffset)));
++ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(r/Kfactor + Koffset)));
++ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(g/Kfactor + Koffset)));
++ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(b/Kfactor + Koffset)));
+ } else {
+- c.rgbRed = (BYTE)min(255, max(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset)));
+- c.rgbGreen = (BYTE)min(255, max(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset)));
+- c.rgbBlue = (BYTE)min(255, max(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
++ c.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)((r*ksumtot)/(ksumcur*Kfactor) + Koffset)));
++ c.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)((g*ksumtot)/(ksumcur*Kfactor) + Koffset)));
++ c.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)((b*ksumtot)/(ksumcur*Kfactor) + Koffset)));
+ }
+ tmp.BlindSetPixelColor(x,y,c);
+ }
+@@ -1078,8 +1078,8 @@ bool CxImage::Edge(long Ksize)
+ //
+ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffset, bool bMixAlpha)
+ {
+- long lWide = min(GetWidth(),imgsrc2.GetWidth()-lXOffset);
+- long lHeight = min(GetHeight(),imgsrc2.GetHeight()-lYOffset);
++ long lWide = cxmin(GetWidth(),imgsrc2.GetWidth()-lXOffset);
++ long lHeight = cxmin(GetHeight(),imgsrc2.GetHeight()-lYOffset);
+
+ bool bEditAlpha = imgsrc2.AlphaIsValid() & bMixAlpha;
+
+@@ -1112,16 +1112,16 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse
+ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)((rgb1.rgbReserved+rgb2.rgbReserved)/2);
+ break;
+ case OpAdd:
+- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue+rgb2.rgbBlue));
+- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen+rgb2.rgbGreen));
+- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed+rgb2.rgbRed));
+- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved+rgb2.rgbReserved));
++ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue+rgb2.rgbBlue));
++ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen+rgb2.rgbGreen));
++ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed+rgb2.rgbRed));
++ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved+rgb2.rgbReserved));
+ break;
+ case OpSub:
+- rgbDest.rgbBlue = (BYTE)max(0,min(255,rgb1.rgbBlue-rgb2.rgbBlue));
+- rgbDest.rgbGreen = (BYTE)max(0,min(255,rgb1.rgbGreen-rgb2.rgbGreen));
+- rgbDest.rgbRed = (BYTE)max(0,min(255,rgb1.rgbRed-rgb2.rgbRed));
+- if (bEditAlpha) rgbDest.rgbReserved = (BYTE)max(0,min(255,rgb1.rgbReserved-rgb2.rgbReserved));
++ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,rgb1.rgbBlue-rgb2.rgbBlue));
++ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,rgb1.rgbGreen-rgb2.rgbGreen));
++ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,rgb1.rgbRed-rgb2.rgbRed));
++ if (bEditAlpha) rgbDest.rgbReserved = (BYTE)cxmax(0,cxmin(255,rgb1.rgbReserved-rgb2.rgbReserved));
+ break;
+ case OpAnd:
+ rgbDest.rgbBlue = (BYTE)(rgb1.rgbBlue&rgb2.rgbBlue);
+@@ -1202,11 +1202,11 @@ void CxImage::Mix(CxImage & imgsrc2, ImageOpType op, long lXOffset, long lYOffse
+ double dSmallAmt = dSmall*((double)rgb2.rgbBlue);
+
+ if( lAverage < lThresh+1){
+- rgbDest.rgbBlue = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbBlue) +
++ rgbDest.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbBlue) +
+ dSmallAmt)));
+- rgbDest.rgbGreen = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbGreen) +
++ rgbDest.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbGreen) +
+ dSmallAmt)));
+- rgbDest.rgbRed = (BYTE)max(0,min(255,(int)(dLarge*((double)rgb1.rgbRed) +
++ rgbDest.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(dLarge*((double)rgb1.rgbRed) +
+ dSmallAmt)));
+ }
+ else
+@@ -1274,9 +1274,9 @@ bool CxImage::ShiftRGB(long r, long g, long b)
+ #endif //CXIMAGE_SUPPORT_SELECTION
+ {
+ color = BlindGetPixelColor(x,y);
+- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + r)));
+- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + g)));
+- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + b)));
++ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + r)));
++ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + g)));
++ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + b)));
+ BlindSetPixelColor(x,y,color);
+ }
+ }
+@@ -1284,9 +1284,9 @@ bool CxImage::ShiftRGB(long r, long g, long b)
+ } else {
+ for(DWORD j=0; j<head.biClrUsed; j++){
+ color = GetPaletteColor((BYTE)j);
+- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + r)));
+- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + g)));
+- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + b)));
++ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + r)));
++ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + g)));
++ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + b)));
+ SetPaletteColor((BYTE)j,color);
+ }
+ }
+@@ -1310,7 +1310,7 @@ bool CxImage::Gamma(float gamma)
+
+ BYTE cTable[256]; //<nipper>
+ for (int i=0;i<256;i++) {
+- cTable[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
++ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
+ }
+
+ return Lut(cTable);
+@@ -1337,21 +1337,21 @@ bool CxImage::GammaRGB(float gammaR, float gammaG, float gammaB)
+ dMax = pow(255.0, dinvgamma) / 255.0;
+ BYTE cTableR[256];
+ for (i=0;i<256;i++) {
+- cTableR[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
++ cTableR[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
+ }
+
+ dinvgamma = 1/gammaG;
+ dMax = pow(255.0, dinvgamma) / 255.0;
+ BYTE cTableG[256];
+ for (i=0;i<256;i++) {
+- cTableG[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
++ cTableG[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
+ }
+
+ dinvgamma = 1/gammaB;
+ dMax = pow(255.0, dinvgamma) / 255.0;
+ BYTE cTableB[256];
+ for (i=0;i<256;i++) {
+- cTableB[i] = (BYTE)max(0,min(255,(int)( pow((double)i, dinvgamma) / dMax)));
++ cTableB[i] = (BYTE)cxmax(0,cxmin(255,(int)( pow((double)i, dinvgamma) / dMax)));
+ }
+
+ return Lut(cTableR, cTableG, cTableB);
+@@ -1442,11 +1442,11 @@ bool CxImage::Noise(long level)
+ {
+ color = BlindGetPixelColor(x,y);
+ n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
+- color.rgbRed = (BYTE)max(0,min(255,(int)(color.rgbRed + n)));
++ color.rgbRed = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbRed + n)));
+ n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
+- color.rgbGreen = (BYTE)max(0,min(255,(int)(color.rgbGreen + n)));
++ color.rgbGreen = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbGreen + n)));
+ n=(long)((rand()/(float)RAND_MAX - 0.5)*level);
+- color.rgbBlue = (BYTE)max(0,min(255,(int)(color.rgbBlue + n)));
++ color.rgbBlue = (BYTE)cxmax(0,cxmin(255,(int)(color.rgbBlue + n)));
+ BlindSetPixelColor(x,y,color);
+ }
+ }
+@@ -1561,8 +1561,8 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
+
+ //DFT buffers
+ double *real2,*imag2;
+- real2 = (double*)malloc(max(w,h) * sizeof(double));
+- imag2 = (double*)malloc(max(w,h) * sizeof(double));
++ real2 = (double*)malloc(cxmax(w,h) * sizeof(double));
++ imag2 = (double*)malloc(cxmax(w,h) * sizeof(double));
+
+ /* Transform the rows */
+ real = (double *)malloc(w * sizeof(double));
+@@ -1617,7 +1617,7 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
+
+ /* converting from double to byte, there is a HUGE loss in the dynamics
+ "nn" tries to keep an acceptable SNR, but 8bit=48dB: don't ask more */
+- double nn=pow((double)2,(double)log((double)max(w,h))/(double)log((double)2)-4);
++ double nn=pow((double)2,(double)log((double)cxmax(w,h))/(double)log((double)2)-4);
+ //reversed gain for reversed transform
+ if (direction==-1) nn=1/nn;
+ //bMagnitude : just to see it on the screen
+@@ -1626,15 +1626,15 @@ bool CxImage::FFT2(CxImage* srcReal, CxImage* srcImag, CxImage* dstReal, CxImage
+ for (j=0;j<h;j++) {
+ for (k=0;k<w;k++) {
+ if (bMagnitude){
+- tmpReal->SetPixelIndex(k,j,(BYTE)max(0,min(255,(nn*(3+log(_cabs(grid[k][j])))))));
++ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(nn*(3+log(_cabs(grid[k][j])))))));
+ if (grid[k][j].x==0){
+- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/0.0000000001)*nn)))));
++ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/0.0000000001)*nn)))));
+ } else {
+- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn)))));
++ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128+(atan(grid[k][j].y/grid[k][j].x)*nn)))));
+ }
+ } else {
+- tmpReal->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].x*nn))));
+- tmpImag->SetPixelIndex(k,j,(BYTE)max(0,min(255,(128 + grid[k][j].y*nn))));
++ tmpReal->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].x*nn))));
++ tmpImag->SetPixelIndex(k,j,(BYTE)cxmax(0,cxmin(255,(128 + grid[k][j].y*nn))));
+ }
+ }
+ }
+@@ -1922,7 +1922,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
+
+ correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
+
+- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
++ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
+ }
+ }
+
+@@ -1943,7 +1943,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
+
+ correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
+
+- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
++ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
+ }
+ }
+ for (x=0;x<=w;x+=w){
+@@ -1963,7 +1963,7 @@ bool CxImage::RepairChannel(CxImage *ch, float radius)
+
+ correction = ((1.0+iy*iy)*ixx - ix*iy*ixy + (1.0+ix*ix)*iyy)/(1.0+ix*ix+iy*iy);
+
+- tmp.BlindSetPixelIndex(x,y,(BYTE)min(255,max(0,(xy0 + radius * correction + 0.5))));
++ tmp.BlindSetPixelIndex(x,y,(BYTE)cxmin(255,cxmax(0,(xy0 + radius * correction + 0.5))));
+ }
+ }
+
+@@ -2621,8 +2621,8 @@ bool CxImage::SelectiveBlur(float radius, BYTE threshold, CxImage* iDst)
+ }
+
+ //build the difference mask
+- BYTE thresh_dw = (BYTE)max( 0 ,(int)(128 - threshold));
+- BYTE thresh_up = (BYTE)min(255,(int)(128 + threshold));
++ BYTE thresh_dw = (BYTE)cxmax( 0 ,(int)(128 - threshold));
++ BYTE thresh_up = (BYTE)cxmin(255,(int)(128 + threshold));
+ long kernel[]={-100,-100,-100,-100,801,-100,-100,-100,-100};
+ if (!Tmp.Filter(kernel,3,800,128)){
+ delete [] pPalette;
+@@ -2755,7 +2755,7 @@ bool CxImage::UnsharpMask(float radius /*= 5.0*/, float amount /*= 0.5*/, int th
+ if (abs(diff) < threshold){
+ dest_row[z] = cur_row[z];
+ } else {
+- dest_row[z] = (BYTE)min(255, max(0,(int)(cur_row[z] + amount * diff)));
++ dest_row[z] = (BYTE)cxmin(255, cxmax(0,(int)(cur_row[z] + amount * diff)));
+ }
+ }
+ }
+@@ -2952,7 +2952,7 @@ bool CxImage::RedEyeRemove(float strength)
+ float a = 1.0f-5.0f*((float)((x-0.5f*(xmax+xmin))*(x-0.5f*(xmax+xmin))+(y-0.5f*(ymax+ymin))*(y-0.5f*(ymax+ymin))))/((float)((xmax-xmin)*(ymax-ymin)));
+ if (a<0) a=0;
+ color = BlindGetPixelColor(x,y);
+- color.rgbRed = (BYTE)(a*min(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed);
++ color.rgbRed = (BYTE)(a*cxmin(color.rgbGreen,color.rgbBlue)+(1.0f-a)*color.rgbRed);
+ BlindSetPixelColor(x,y,color);
+ }
+ }
+@@ -2990,7 +2990,7 @@ bool CxImage::Saturate(const long saturation, const long colorspace)
+ case 1:
+ {
+ for (int i=0;i<256;i++) {
+- cTable[i] = (BYTE)max(0,min(255,(int)(i + saturation)));
++ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)(i + saturation)));
+ }
+ for(long y=ymin; y<ymax; y++){
+ info.nProgress = (long)(100*(y-ymin)/(ymax-ymin));
+@@ -3012,7 +3012,7 @@ bool CxImage::Saturate(const long saturation, const long colorspace)
+ case 2:
+ {
+ for (int i=0;i<256;i++) {
+- cTable[i] = (BYTE)max(0,min(255,(int)((i-128)*(100 + saturation)/100.0f + 128.5f)));
++ cTable[i] = (BYTE)cxmax(0,cxmin(255,(int)((i-128)*(100 + saturation)/100.0f + 128.5f)));
+ }
+ for(long y=ymin; y<ymax; y++){
+ info.nProgress = (long)(100*(y-ymin)/(ymax-ymin));
+@@ -3242,10 +3242,10 @@ int CxImage::OptimalThreshold(long method, RECT * pBox, CxImage* pContrastMask)
+
+ long xmin,xmax,ymin,ymax;
+ if (pBox){
+- xmin = max(pBox->left,0);
+- xmax = min(pBox->right,head.biWidth);
+- ymin = max(pBox->bottom,0);
+- ymax = min(pBox->top,head.biHeight);
++ xmin = cxmax(pBox->left,0);
++ xmax = cxmin(pBox->right,head.biWidth);
++ ymin = cxmax(pBox->bottom,0);
++ ymax = cxmin(pBox->top,head.biHeight);
+ } else {
+ xmin = ymin = 0;
+ xmax = head.biWidth; ymax=head.biHeight;
+@@ -3463,7 +3463,7 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa
+ r.top = r.bottom + nBoxSize;
+ int threshold = OptimalThreshold(method, &r, pContrastMask);
+ if (threshold <0) return false;
+- mask.SetPixelIndex(x,y,(BYTE)max(0,min(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold))));
++ mask.SetPixelIndex(x,y,(BYTE)cxmax(0,cxmin(255,nBias+((1.0f-fGlobalLocalBalance)*threshold + fGlobalLocalBalance*globalthreshold))));
+ }
+ }
+
+@@ -3490,10 +3490,6 @@ bool CxImage::AdaptiveThreshold(long method, long nBoxSize, CxImage* pContrastMa
+ * Note: nOpacity=0 && bSelectFilledArea=true act as a "magic wand"
+ * \return true if everything is ok
+ */
+-#if defined(XBMC) && !defined(_WIN32)
+-int max(int a, int b) { return a > b ? a : b; }
+-int min(int a, int b) { return a < b ? a : b; }
+-#endif
+
+ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFillColor, const BYTE nTolerance,
+ BYTE nOpacity, const bool bSelectFilledArea, const BYTE nSelectionLevel)
+@@ -3538,8 +3534,8 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil
+ if (IsIndexed()){ //--- Generic indexed image, no tolerance OR Grayscale image with tolerance
+ BYTE idxRef = GetPixelIndex(xStart,yStart);
+ BYTE idxFill = GetNearestIndex(cFillColor);
+- BYTE idxMin = (BYTE)min(255, max(0,(int)(idxRef - nTolerance)));
+- BYTE idxMax = (BYTE)min(255, max(0,(int)(idxRef + nTolerance)));
++ BYTE idxMin = (BYTE)cxmin(255, cxmax(0,(int)(idxRef - nTolerance)));
++ BYTE idxMax = (BYTE)cxmin(255, cxmax(0,(int)(idxRef + nTolerance)));
+
+ while(!q.empty())
+ {
+@@ -3575,12 +3571,12 @@ bool CxImage::FloodFill(const long xStart, const long yStart, const RGBQUAD cFil
+ } else { //--- RGB image
+ RGBQUAD cRef = GetPixelColor(xStart,yStart);
+ RGBQUAD cRefMin, cRefMax;
+- cRefMin.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed - nTolerance)));
+- cRefMin.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen - nTolerance)));
+- cRefMin.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue - nTolerance)));
+- cRefMax.rgbRed = (BYTE)min(255, max(0,(int)(cRef.rgbRed + nTolerance)));
+- cRefMax.rgbGreen = (BYTE)min(255, max(0,(int)(cRef.rgbGreen + nTolerance)));
+- cRefMax.rgbBlue = (BYTE)min(255, max(0,(int)(cRef.rgbBlue + nTolerance)));
++ cRefMin.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed - nTolerance)));
++ cRefMin.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen - nTolerance)));
++ cRefMin.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue - nTolerance)));
++ cRefMax.rgbRed = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbRed + nTolerance)));
++ cRefMax.rgbGreen = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbGreen + nTolerance)));
++ cRefMax.rgbBlue = (BYTE)cxmin(255, cxmax(0,(int)(cRef.rgbBlue + nTolerance)));
+
+ while(!q.empty())
+ {
+diff --git a/lib/cximage-6.0/CxImage/ximage.cpp b/lib/cximage-6.0/CxImage/ximage.cpp
+index e81d3c6..26c6993 100644
+--- a/lib/cximage-6.0/CxImage/ximage.cpp
++++ b/lib/cximage-6.0/CxImage/ximage.cpp
+@@ -460,7 +460,7 @@ bool CxImage::CreateFromArray(BYTE* pArray,DWORD dwWidth,DWORD dwHeight,DWORD dw
+ src+=4;
+ }
+ } else {
+- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline));
++ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline));
+ }
+ }
+ return true;
+@@ -500,7 +500,7 @@ bool CxImage::CreateFromMatrix(BYTE** ppMatrix,DWORD dwWidth,DWORD dwHeight,DWOR
+ src+=4;
+ }
+ } else {
+- memcpy(dst,src,min(info.dwEffWidth,dwBytesperline));
++ memcpy(dst,src,cxmin(info.dwEffWidth,dwBytesperline));
+ }
+ }
+ }
+diff --git a/lib/cximage-6.0/CxImage/ximagif.cpp b/lib/cximage-6.0/CxImage/ximagif.cpp
+index b89e061..64b1ccc 100644
+--- a/lib/cximage-6.0/CxImage/ximagif.cpp
++++ b/lib/cximage-6.0/CxImage/ximagif.cpp
+@@ -478,7 +478,7 @@ bool CxImageGIF::Encode(CxFile * fp, CxImage ** pImages, int pagecount, bool bLo
+ ghost.EncodeHeader(fp);
+
+ if (m_loops!=1){
+- ghost.SetLoops(max(0,m_loops-1));
++ ghost.SetLoops(cxmax(0,m_loops-1));
+ ghost.EncodeLoopExtension(fp);
+ }
+
+@@ -1340,10 +1340,10 @@ void CxImageGIF::GetComment(char* sz_comment_out)
+ ////////////////////////////////////////////////////////////////////////////////
+ void CxImageGIF::GifMix(CxImage & imgsrc2, struct_image & imgdesc)
+ {
+- long ymin = max(0,(long)(GetHeight()-imgdesc.t - imgdesc.h));
++ long ymin = cxmax(0,(long)(GetHeight()-imgdesc.t - imgdesc.h));
+ long ymax = GetHeight()-imgdesc.t;
+ long xmin = imgdesc.l;
+- long xmax = min(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w));
++ long xmax = cxmin(GetWidth(), (DWORD)(imgdesc.l + imgdesc.w));
+
+ long ibg2= imgsrc2.GetTransIndex();
+ BYTE i2;
+diff --git a/lib/cximage-6.0/CxImage/ximahist.cpp b/lib/cximage-6.0/CxImage/ximahist.cpp
+index a2aed03..5391107 100644
+--- a/lib/cximage-6.0/CxImage/ximahist.cpp
++++ b/lib/cximage-6.0/CxImage/ximahist.cpp
+@@ -110,7 +110,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ // calculate LUT
+ BYTE lut[256];
+ for (x = 0; x <256; x++){
+- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
++ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
+ }
+
+ for (y=0; y<head.biHeight; y++) {
+@@ -152,7 +152,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ // calculate LUT
+ BYTE lut[256];
+ for (x = 0; x <256; x++){
+- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
++ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
+ }
+
+ // normalize image
+@@ -225,7 +225,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ BYTE range = maxR - minR;
+ if (range != 0) {
+ for (x = 0; x <256; x++){
+- lutR[x] = (BYTE)max(0,min(255,(255 * (x - minR) / range)));
++ lutR[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minR) / range)));
+ }
+ } else lutR[minR] = minR;
+
+@@ -233,7 +233,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ range = maxG - minG;
+ if (range != 0) {
+ for (x = 0; x <256; x++){
+- lutG[x] = (BYTE)max(0,min(255,(255 * (x - minG) / range)));
++ lutG[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minG) / range)));
+ }
+ } else lutG[minG] = minG;
+
+@@ -241,7 +241,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ range = maxB - minB;
+ if (range != 0) {
+ for (x = 0; x <256; x++){
+- lutB[x] = (BYTE)max(0,min(255,(255 * (x - minB) / range)));
++ lutB[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minB) / range)));
+ }
+ } else lutB[minB] = minB;
+
+@@ -292,7 +292,7 @@ bool CxImage::HistogramStretch(long method, double threshold)
+ // calculate LUT
+ BYTE lut[256];
+ for (x = 0; x <256; x++){
+- lut[x] = (BYTE)max(0,min(255,(255 * (x - minc) / (maxc - minc))));
++ lut[x] = (BYTE)cxmax(0,cxmin(255,(255 * (x - minc) / (maxc - minc))));
+ }
+
+ for(y=0; y<head.biHeight; y++){
+diff --git a/lib/cximage-6.0/CxImage/ximaint.cpp b/lib/cximage-6.0/CxImage/ximaint.cpp
+index 989d76c..5d49213 100644
+--- a/lib/cximage-6.0/CxImage/ximaint.cpp
++++ b/lib/cximage-6.0/CxImage/ximaint.cpp
+@@ -26,8 +26,8 @@ void CxImage::OverflowCoordinates(long &x, long &y, OverflowMethod const ofMetho
+ switch (ofMethod) {
+ case OM_REPEAT:
+ //clip coordinates
+- x=max(x,0); x=min(x, head.biWidth-1);
+- y=max(y,0); y=min(y, head.biHeight-1);
++ x=cxmax(x,0); x=cxmin(x, head.biWidth-1);
++ y=cxmax(y,0); y=cxmin(y, head.biHeight-1);
+ break;
+ case OM_WRAP:
+ //wrap coordinates
+@@ -59,8 +59,8 @@ void CxImage::OverflowCoordinates(float &x, float &y, OverflowMethod const ofMet
+ switch (ofMethod) {
+ case OM_REPEAT:
+ //clip coordinates
+- x=max(x,0); x=min(x, head.biWidth-1);
+- y=max(y,0); y=min(y, head.biHeight-1);
++ x=cxmax(x,0); x=cxmin(x, head.biWidth-1);
++ y=cxmax(y,0); y=cxmin(y, head.biHeight-1);
+ break;
+ case OM_WRAP:
+ //wrap coordinates
+diff --git a/lib/cximage-6.0/CxImage/ximaiter.h b/lib/cximage-6.0/CxImage/ximaiter.h
+index 9788919..01a720b 100644
+--- a/lib/cximage-6.0/CxImage/ximaiter.h
++++ b/lib/cximage-6.0/CxImage/ximaiter.h
+@@ -140,7 +140,7 @@ inline void CImageIterator::SetY(int y)
+ inline void CImageIterator::SetRow(BYTE *buf, int n)
+ {
+ if (n<0) n = (int)ima->GetEffWidth();
+- else n = min(n,(int)ima->GetEffWidth());
++ else n = cxmin(n,(int)ima->GetEffWidth());
+
+ if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0)) memcpy(IterImage,buf,n);
+ }
+@@ -148,7 +148,7 @@ inline void CImageIterator::SetRow(BYTE *buf, int n)
+ inline void CImageIterator::GetRow(BYTE *buf, int n)
+ {
+ if ((IterImage!=NULL)&&(buf!=NULL)&&(n>0))
+- memcpy(buf,IterImage,min(n,(int)ima->GetEffWidth()));
++ memcpy(buf,IterImage,cxmin(n,(int)ima->GetEffWidth()));
+ }
+ /////////////////////////////////////////////////////////////////////
+ inline BYTE* CImageIterator::GetRow()
+diff --git a/lib/cximage-6.0/CxImage/ximajbg.cpp b/lib/cximage-6.0/CxImage/ximajbg.cpp
+index 06fb9bf..8a01e28 100644
+--- a/lib/cximage-6.0/CxImage/ximajbg.cpp
++++ b/lib/cximage-6.0/CxImage/ximajbg.cpp
+@@ -145,7 +145,7 @@ bool CxImageJBG::Encode(CxFile * hFile)
+ jbg_enc_init(&jbig_state, w, h, planes, &buffer, jbig_data_out, hFile);
+
+ //jbg_enc_layers(&jbig_state, 2);
+- //jbg_enc_lrlmax(&jbig_state, 800, 600);
++ //jbg_enc_lrlcxmax(&jbig_state, 800, 600);
+
+ // Specify a few other options (each is ignored if negative)
+ int dl = -1, dh = -1, d = -1, l0 = -1, mx = -1;
+diff --git a/lib/cximage-6.0/CxImage/ximapal.cpp b/lib/cximage-6.0/CxImage/ximapal.cpp
+index b3bd3da..3788c98 100644
+--- a/lib/cximage-6.0/CxImage/ximapal.cpp
++++ b/lib/cximage-6.0/CxImage/ximapal.cpp
+@@ -398,8 +398,8 @@ void CxImage::RGBtoBGR(BYTE *buffer, int length)
+ {
+ if (buffer && (head.biClrUsed==0)){
+ BYTE temp;
+- length = min(length,(int)info.dwEffWidth);
+- length = min(length,(int)(3*head.biWidth));
++ length = cxmin(length,(int)info.dwEffWidth);
++ length = cxmin(length,(int)(3*head.biWidth));
+ for (int i=0;i<length;i+=3){
+ temp = buffer[i]; buffer[i] = buffer[i+2]; buffer[i+2] = temp;
+ }
+@@ -444,7 +444,7 @@ void CxImage::SetPalette(DWORD n, BYTE *r, BYTE *g, BYTE *b)
+ if (!g) g = r;
+ if (!b) b = g;
+ RGBQUAD* ppal=GetPalette();
+- DWORD m=min(n,head.biClrUsed);
++ DWORD m=cxmin(n,head.biClrUsed);
+ for (DWORD i=0; i<m;i++){
+ ppal[i].rgbRed=r[i];
+ ppal[i].rgbGreen=g[i];
+@@ -457,7 +457,7 @@ void CxImage::SetPalette(rgb_color *rgb,DWORD nColors)
+ {
+ if ((!rgb)||(pDib==NULL)||(head.biClrUsed==0)) return;
+ RGBQUAD* ppal=GetPalette();
+- DWORD m=min(nColors,head.biClrUsed);
++ DWORD m=cxmin(nColors,head.biClrUsed);
+ for (DWORD i=0; i<m;i++){
+ ppal[i].rgbRed=rgb[i].r;
+ ppal[i].rgbGreen=rgb[i].g;
+@@ -469,7 +469,7 @@ void CxImage::SetPalette(rgb_color *rgb,DWORD nColors)
+ void CxImage::SetPalette(RGBQUAD* pPal,DWORD nColors)
+ {
+ if ((pPal==NULL)||(pDib==NULL)||(head.biClrUsed==0)) return;
+- memcpy(GetPalette(),pPal,min(GetPaletteSize(),nColors*sizeof(RGBQUAD)));
++ memcpy(GetPalette(),pPal,cxmin(GetPaletteSize(),nColors*sizeof(RGBQUAD)));
+ info.last_c_isvalid = false;
+ }
+ ////////////////////////////////////////////////////////////////////////////////
+@@ -654,10 +654,10 @@ void CxImage::SetClrImportant(DWORD ncolors)
+
+ switch(head.biBitCount){
+ case 1:
+- head.biClrImportant = min(ncolors,2);
++ head.biClrImportant = cxmin(ncolors,2);
+ break;
+ case 4:
+- head.biClrImportant = min(ncolors,16);
++ head.biClrImportant = cxmin(ncolors,16);
+ break;
+ case 8:
+ head.biClrImportant = ncolors;
+diff --git a/lib/cximage-6.0/CxImage/ximapng.cpp b/lib/cximage-6.0/CxImage/ximapng.cpp
+index a58441c..4b5cc50 100644
+--- a/lib/cximage-6.0/CxImage/ximapng.cpp
++++ b/lib/cximage-6.0/CxImage/ximapng.cpp
+@@ -206,9 +206,9 @@ bool CxImagePNG::Decode(CxFile *hFile)
+ } else SetGrayPalette(); //<DP> needed for grayscale PNGs
+
+ #ifdef USE_NEW_LIBPNG_API
+- int nshift = max(0,(_bit_depth>>3)-1)<<3;
++ int nshift = cxmax(0,(_bit_depth>>3)-1)<<3;
+ #else
+- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3;
++ int nshift = cxmax(0,(info_ptr->bit_depth>>3)-1)<<3;
+ #endif
+
+ #ifdef USE_NEW_LIBPNG_API
+@@ -255,10 +255,10 @@ bool CxImagePNG::Decode(CxFile *hFile)
+ if (pal){
+ DWORD ip;
+ #ifdef USE_NEW_LIBPNG_API
+- for (ip=0;ip<min(head.biClrUsed,(unsigned long)_num_trans);ip++)
++ for (ip=0;ip<cxmin(head.biClrUsed,(unsigned long)_num_trans);ip++)
+ pal[ip].rgbReserved=_trans_alpha[ip];
+ #else
+- for (ip=0;ip<min(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
++ for (ip=0;ip<cxmin(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
+ #if PNG_LIBPNG_VER > 10399
+ pal[ip].rgbReserved=info_ptr->trans_alpha[ip];
+ #else
+@@ -737,9 +737,9 @@ bool CxImagePNG::Encode(CxFile *hFile)
+ #endif // CXIMAGE_SUPPORT_ALPHA // <vho>
+
+ #ifdef USE_NEW_LIBPNG_API
+- int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8));
++ int row_size = cxmax(info.dwEffWidth, (_width * _channels * _bit_depth / 8));
+ #else
+- int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8));
++ int row_size = cxmax(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8));
+ info_ptr->rowbytes = row_size;
+ #endif
+ BYTE *row_pointers = new BYTE[row_size];
+diff --git a/lib/cximage-6.0/CxImage/ximaraw.cpp b/lib/cximage-6.0/CxImage/ximaraw.cpp
+index fd86f96..52d964d 100644
+--- a/lib/cximage-6.0/CxImage/ximaraw.cpp
++++ b/lib/cximage-6.0/CxImage/ximaraw.cpp
+@@ -216,7 +216,7 @@ bool CxImageRAW::Decode(CxFile *hFile)
+
+ DWORD size = dcr.width * (dcr.colors*dcr.opt.output_bps/8);
+ RGBtoBGR(ppm,size);
+- memcpy(GetBits(dcr.height - 1 - row), ppm, min(size,GetEffWidth()));
++ memcpy(GetBits(dcr.height - 1 - row), ppm, cxmin(size,GetEffWidth()));
+ }
+ free (ppm);
+
+@@ -298,7 +298,7 @@ bool CxImageRAW::GetExifThumbnail(const char *filename, const char *outname, int
+ // Resizing.
+ if (image.GetWidth() > 256 || image.GetHeight() > 256)
+ {
+- float amount = 256.0f / max(image.GetWidth(), image.GetHeight());
++ float amount = 256.0f / cxmax(image.GetWidth(), image.GetHeight());
+ image.Resample((long)(image.GetWidth() * amount), (long)(image.GetHeight() * amount), 0);
+ }
+
+diff --git a/lib/cximage-6.0/CxImage/ximasel.cpp b/lib/cximage-6.0/CxImage/ximasel.cpp
+index 3a7c9a1..37cd10f 100644
+--- a/lib/cximage-6.0/CxImage/ximasel.cpp
++++ b/lib/cximage-6.0/CxImage/ximasel.cpp
+@@ -113,15 +113,15 @@ bool CxImage::SelectionAddRect(RECT r, BYTE level)
+ if (r.left<r.right) {r2.left=r.left; r2.right=r.right; } else {r2.left=r.right ; r2.right=r.left; }
+ if (r.bottom<r.top) {r2.bottom=r.bottom; r2.top=r.top; } else {r2.bottom=r.top ; r2.top=r.bottom; }
+
+- if (info.rSelectionBox.top <= r2.top) info.rSelectionBox.top = max(0L,min(head.biHeight,r2.top+1));
+- if (info.rSelectionBox.left > r2.left) info.rSelectionBox.left = max(0L,min(head.biWidth,r2.left));
+- if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = max(0L,min(head.biWidth,r2.right+1));
+- if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = max(0L,min(head.biHeight,r2.bottom));
++ if (info.rSelectionBox.top <= r2.top) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,r2.top+1));
++ if (info.rSelectionBox.left > r2.left) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,r2.left));
++ if (info.rSelectionBox.right <= r2.right) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,r2.right+1));
++ if (info.rSelectionBox.bottom > r2.bottom) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,r2.bottom));
+
+- long ymin = max(0L,min(head.biHeight,r2.bottom));
+- long ymax = max(0L,min(head.biHeight,r2.top+1));
+- long xmin = max(0L,min(head.biWidth,r2.left));
+- long xmax = max(0L,min(head.biWidth,r2.right+1));
++ long ymin = cxmax(0L,cxmin(head.biHeight,r2.bottom));
++ long ymax = cxmax(0L,cxmin(head.biHeight,r2.top+1));
++ long xmin = cxmax(0L,cxmin(head.biWidth,r2.left));
++ long xmax = cxmax(0L,cxmin(head.biWidth,r2.right+1));
+
+ for (long y=ymin; y<ymax; y++)
+ memset(pSelection + xmin + y * head.biWidth, level, xmax-xmin);
+@@ -144,18 +144,18 @@ bool CxImage::SelectionAddEllipse(RECT r, BYTE level)
+ long xcenter = (r.right + r.left)/2;
+ long ycenter = (r.top + r.bottom)/2;
+
+- if (info.rSelectionBox.left > (xcenter - xradius)) info.rSelectionBox.left = max(0L,min(head.biWidth,(xcenter - xradius)));
+- if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = max(0L,min(head.biWidth,(xcenter + xradius + 1)));
+- if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = max(0L,min(head.biHeight,(ycenter - yradius)));
+- if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = max(0L,min(head.biHeight,(ycenter + yradius + 1)));
++ if (info.rSelectionBox.left > (xcenter - xradius)) info.rSelectionBox.left = cxmax(0L,cxmin(head.biWidth,(xcenter - xradius)));
++ if (info.rSelectionBox.right <= (xcenter + xradius)) info.rSelectionBox.right = cxmax(0L,cxmin(head.biWidth,(xcenter + xradius + 1)));
++ if (info.rSelectionBox.bottom > (ycenter - yradius)) info.rSelectionBox.bottom = cxmax(0L,cxmin(head.biHeight,(ycenter - yradius)));
++ if (info.rSelectionBox.top <= (ycenter + yradius)) info.rSelectionBox.top = cxmax(0L,cxmin(head.biHeight,(ycenter + yradius + 1)));
+
+- long xmin = max(0L,min(head.biWidth,xcenter - xradius));
+- long xmax = max(0L,min(head.biWidth,xcenter + xradius + 1));
+- long ymin = max(0L,min(head.biHeight,ycenter - yradius));
+- long ymax = max(0L,min(head.biHeight,ycenter + yradius + 1));
++ long xmin = cxmax(0L,cxmin(head.biWidth,xcenter - xradius));
++ long xmax = cxmax(0L,cxmin(head.biWidth,xcenter + xradius + 1));
++ long ymin = cxmax(0L,cxmin(head.biHeight,ycenter - yradius));
++ long ymax = cxmax(0L,cxmin(head.biHeight,ycenter + yradius + 1));
+
+ long y,yo;
+- for (y=ymin; y<min(ycenter,ymax); y++){
++ for (y=ymin; y<cxmin(ycenter,ymax); y++){
+ for (long x=xmin; x<xmax; x++){
+ yo = (long)(ycenter - yradius * sqrt(1-pow((float)(x - xcenter)/(float)xradius,2)));
+ if (yo<y) pSelection[x + y * head.biWidth] = level;
+@@ -268,10 +268,10 @@ bool CxImage::SelectionAddPolygon(POINT *points, long npoints, BYTE level)
+ RECT r2;
+ if (current->x < next->x) {r2.left=current->x; r2.right=next->x; } else {r2.left=next->x ; r2.right=current->x; }
+ if (current->y < next->y) {r2.bottom=current->y; r2.top=next->y; } else {r2.bottom=next->y ; r2.top=current->y; }
+- if (localbox.top < r2.top) localbox.top = max(0L,min(head.biHeight-1,r2.top+1));
+- if (localbox.left > r2.left) localbox.left = max(0L,min(head.biWidth-1,r2.left-1));
+- if (localbox.right < r2.right) localbox.right = max(0L,min(head.biWidth-1,r2.right+1));
+- if (localbox.bottom > r2.bottom) localbox.bottom = max(0L,min(head.biHeight-1,r2.bottom-1));
++ if (localbox.top < r2.top) localbox.top = cxmax(0L,cxmin(head.biHeight-1,r2.top+1));
++ if (localbox.left > r2.left) localbox.left = cxmax(0L,cxmin(head.biWidth-1,r2.left-1));
++ if (localbox.right < r2.right) localbox.right = cxmax(0L,cxmin(head.biWidth-1,r2.right+1));
++ if (localbox.bottom > r2.bottom) localbox.bottom = cxmax(0L,cxmin(head.biHeight-1,r2.bottom-1));
+
+ i++;
+ }
+@@ -385,10 +385,10 @@ bool CxImage::SelectionAddPolygon(POINT *points, long npoints, BYTE level)
+ for (x=localbox.left; x<=localbox.right; x++)
+ if (plocal[x + yoffset]!=1) pSelection[x + yoffset]=level;
+ }
+- if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = min(head.biHeight,localbox.top + 1);
+- if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = min(head.biWidth,localbox.left);
+- if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = min(head.biWidth,localbox.right + 1);
+- if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = min(head.biHeight,localbox.bottom);
++ if (info.rSelectionBox.top <= localbox.top) info.rSelectionBox.top = cxmin(head.biHeight,localbox.top + 1);
++ if (info.rSelectionBox.left > localbox.left) info.rSelectionBox.left = cxmin(head.biWidth,localbox.left);
++ if (info.rSelectionBox.right <= localbox.right) info.rSelectionBox.right = cxmin(head.biWidth,localbox.right + 1);
++ if (info.rSelectionBox.bottom > localbox.bottom) info.rSelectionBox.bottom = cxmin(head.biHeight,localbox.bottom);
+
+ free(plocal);
+ free(pix);
+diff --git a/lib/cximage-6.0/CxImage/ximath.cpp b/lib/cximage-6.0/CxImage/ximath.cpp
+index 37533e2..f84eb72 100644
+--- a/lib/cximage-6.0/CxImage/ximath.cpp
++++ b/lib/cximage-6.0/CxImage/ximath.cpp
+@@ -64,10 +64,10 @@ CxRect2 CxRect2::CrossSection(CxRect2 const &r2) const
+ */
+ {
+ CxRect2 cs;
+- cs.botLeft.x=max(botLeft.x, r2.botLeft.x);
+- cs.botLeft.y=max(botLeft.y, r2.botLeft.y);
+- cs.topRight.x=min(topRight.x, r2.topRight.x);
+- cs.topRight.y=min(topRight.y, r2.topRight.y);
++ cs.botLeft.x=cxmax(botLeft.x, r2.botLeft.x);
++ cs.botLeft.y=cxmax(botLeft.y, r2.botLeft.y);
++ cs.topRight.x=cxmin(topRight.x, r2.topRight.x);
++ cs.topRight.y=cxmin(topRight.y, r2.topRight.y);
+ if (cs.botLeft.x<=cs.topRight.x && cs.botLeft.y<=cs.topRight.y) {
+ return cs;
+ } else {
+diff --git a/lib/cximage-6.0/CxImage/ximatif.cpp b/lib/cximage-6.0/CxImage/ximatif.cpp
+index 658392a..002766c 100644
+--- a/lib/cximage-6.0/CxImage/ximatif.cpp
++++ b/lib/cximage-6.0/CxImage/ximatif.cpp
+@@ -470,9 +470,9 @@ bool CxImageTIF::Decode(CxFile * hFile)
+ if ( cb > 0.00304 ) cb = 1.055 * pow(cb,0.41667) - 0.055;
+ else cb = 12.92 * cb;
+
+- c.rgbRed =(BYTE)max(0,min(255,(int)(cr*255)));
+- c.rgbGreen=(BYTE)max(0,min(255,(int)(cg*255)));
+- c.rgbBlue =(BYTE)max(0,min(255,(int)(cb*255)));
++ c.rgbRed =(BYTE)cxmax(0,cxmin(255,(int)(cr*255)));
++ c.rgbGreen=(BYTE)cxmax(0,cxmin(255,(int)(cg*255)));
++ c.rgbBlue =(BYTE)cxmax(0,cxmin(255,(int)(cb*255)));
+
+ SetPixelColor(xi,yi,c);
+ #if CXIMAGE_SUPPORT_ALPHA
+diff --git a/lib/cximage-6.0/CxImage/ximatran.cpp b/lib/cximage-6.0/CxImage/ximatran.cpp
+index 64a71e7..84d5e03 100644
+--- a/lib/cximage-6.0/CxImage/ximatran.cpp
++++ b/lib/cximage-6.0/CxImage/ximatran.cpp
+@@ -302,12 +302,12 @@ bool CxImage::RotateLeft(CxImage* iDst)
+ for (ys = 0; ys < newHeight; ys+=RBLOCK) {
+ if (head.biBitCount==24) {
+ //RGB24 optimized pixel access:
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){ //do rotation
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){ //do rotation
+ info.nProgress = (long)(100*x/newWidth);
+ x2=newWidth-x-1;
+ dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(x,ys);
+ srcPtr = (BYTE*) BlindGetPixelPointer(ys, x2);
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ //imgDest.SetPixelColor(x, y, GetPixelColor(y, x2));
+ *(dstPtr) = *(srcPtr);
+ *(dstPtr+1) = *(srcPtr+1);
+@@ -318,19 +318,19 @@ bool CxImage::RotateLeft(CxImage* iDst)
+ }//for x
+ } else {
+ //anything else than 24bpp (and 1bpp): palette
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ info.nProgress = (long)(100*x/newWidth); //<Anatoly Ivasyuk>
+ x2=newWidth-x-1;
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y, x2));
+ }//for y
+ }//for x
+ }//if (version selection)
+ #if CXIMAGE_SUPPORT_ALPHA
+ if (AlphaIsValid()) {
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ x2=newWidth-x-1;
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ imgDest.AlphaSet(x,y,BlindAlphaGet(y, x2));
+ }//for y
+ }//for x
+@@ -343,9 +343,9 @@ bool CxImage::RotateLeft(CxImage* iDst)
+ imgDest.info.rSelectionBox.right = newWidth-info.rSelectionBox.bottom;
+ imgDest.info.rSelectionBox.bottom = info.rSelectionBox.left;
+ imgDest.info.rSelectionBox.top = info.rSelectionBox.right;
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ x2=newWidth-x-1;
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ imgDest.SelectionSet(x,y,BlindSelectionGet(y, x2));
+ }//for y
+ }//for x
+@@ -447,12 +447,12 @@ bool CxImage::RotateRight(CxImage* iDst)
+ for (ys = 0; ys < newHeight; ys+=RBLOCK) {
+ if (head.biBitCount==24) {
+ //RGB24 optimized pixel access:
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ info.nProgress = (long)(100*y/newHeight); //<Anatoly Ivasyuk>
+ y2=newHeight-y-1;
+ dstPtr = (BYTE*) imgDest.BlindGetPixelPointer(xs,y);
+ srcPtr = (BYTE*) BlindGetPixelPointer(y2, xs);
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ //imgDest.SetPixelColor(x, y, GetPixelColor(y2, x));
+ *(dstPtr) = *(srcPtr);
+ *(dstPtr+1) = *(srcPtr+1);
+@@ -463,19 +463,19 @@ bool CxImage::RotateRight(CxImage* iDst)
+ }//for y
+ } else {
+ //anything else than BW & RGB24: palette
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ info.nProgress = (long)(100*y/newHeight); //<Anatoly Ivasyuk>
+ y2=newHeight-y-1;
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ imgDest.SetPixelIndex(x, y, BlindGetPixelIndex(y2, x));
+ }//for x
+ }//for y
+ }//if
+ #if CXIMAGE_SUPPORT_ALPHA
+ if (AlphaIsValid()){
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ y2=newHeight-y-1;
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ imgDest.AlphaSet(x,y,BlindAlphaGet(y2, x));
+ }//for x
+ }//for y
+@@ -488,9 +488,9 @@ bool CxImage::RotateRight(CxImage* iDst)
+ imgDest.info.rSelectionBox.right = info.rSelectionBox.top;
+ imgDest.info.rSelectionBox.bottom = newHeight-info.rSelectionBox.right;
+ imgDest.info.rSelectionBox.top = newHeight-info.rSelectionBox.left;
+- for (y = ys; y < min(newHeight, ys+RBLOCK); y++){
++ for (y = ys; y < cxmin(newHeight, ys+RBLOCK); y++){
+ y2=newHeight-y-1;
+- for (x = xs; x < min(newWidth, xs+RBLOCK); x++){
++ for (x = xs; x < cxmin(newWidth, xs+RBLOCK); x++){
+ imgDest.SelectionSet(x,y,BlindSelectionGet(y2, x));
+ }//for x
+ }//for y
+@@ -608,10 +608,10 @@ bool CxImage::Rotate(float angle, CxImage* iDst)
+ newP4.x = (float)(p4.x*cos_angle - p4.y*sin_angle);
+ newP4.y = (float)(p4.x*sin_angle + p4.y*cos_angle);
+
+- leftTop.x = min(min(newP1.x,newP2.x),min(newP3.x,newP4.x));
+- leftTop.y = min(min(newP1.y,newP2.y),min(newP3.y,newP4.y));
+- rightBottom.x = max(max(newP1.x,newP2.x),max(newP3.x,newP4.x));
+- rightBottom.y = max(max(newP1.y,newP2.y),max(newP3.y,newP4.y));
++ leftTop.x = cxmin(cxmin(newP1.x,newP2.x),cxmin(newP3.x,newP4.x));
++ leftTop.y = cxmin(cxmin(newP1.y,newP2.y),cxmin(newP3.y,newP4.y));
++ rightBottom.x = cxmax(cxmax(newP1.x,newP2.x),cxmax(newP3.x,newP4.x));
++ rightBottom.y = cxmax(cxmax(newP1.y,newP2.y),cxmax(newP3.y,newP4.y));
+ leftBottom.x = leftTop.x;
+ leftBottom.y = rightBottom.y;
+ rightTop.x = rightBottom.x;
+@@ -740,10 +740,10 @@ bool CxImage::Rotate2(float angle,
+ }//if
+
+ //(read new dimensions from location of corners)
+- float minx = (float) min(min(newp[0].x,newp[1].x),min(newp[2].x,newp[3].x));
+- float miny = (float) min(min(newp[0].y,newp[1].y),min(newp[2].y,newp[3].y));
+- float maxx = (float) max(max(newp[0].x,newp[1].x),max(newp[2].x,newp[3].x));
+- float maxy = (float) max(max(newp[0].y,newp[1].y),max(newp[2].y,newp[3].y));
++ float minx = (float) cxmin(cxmin(newp[0].x,newp[1].x),cxmin(newp[2].x,newp[3].x));
++ float miny = (float) cxmin(cxmin(newp[0].y,newp[1].y),cxmin(newp[2].y,newp[3].y));
++ float maxx = (float) cxmax(cxmax(newp[0].x,newp[1].x),cxmax(newp[2].x,newp[3].x));
++ float maxy = (float) cxmax(cxmax(newp[0].y,newp[1].y),cxmax(newp[2].y,newp[3].y));
+ int newWidth = (int) floor(maxx-minx+0.5f);
+ int newHeight= (int) floor(maxy-miny+0.5f);
+ float ssx=((maxx+minx)- ((float) newWidth-1))/2.0f; //start for x
+@@ -1003,12 +1003,12 @@ bool CxImage::Resample(long newx, long newy, int mode, CxImage* iDst)
+ if (info.nEscape) break;
+ fY = y * yScale;
+ ifY = (int)fY;
+- ifY1 = min(ymax, ifY+1);
++ ifY1 = cxmin(ymax, ifY+1);
+ dy = fY - ifY;
+ for(long x=0; x<newx; x++){
+ fX = x * xScale;
+ ifX = (int)fX;
+- ifX1 = min(xmax, ifX+1);
++ ifX1 = cxmin(xmax, ifX+1);
+ dx = fX - ifX;
+ // Interpolate using the four nearest pixels in the source
+ if (head.biClrUsed){
+@@ -1328,9 +1328,9 @@ bool CxImage::DecreaseBpp(DWORD nbit, bool errordiffusion, RGBQUAD* ppal, DWORD
+ eb=(long)c.rgbBlue - (long)ce.rgbBlue;
+
+ c = GetPixelColor(x+1,y);
+- c.rgbRed = (BYTE)min(255L,max(0L,(long)c.rgbRed + ((er*7)/16)));
+- c.rgbGreen = (BYTE)min(255L,max(0L,(long)c.rgbGreen + ((eg*7)/16)));
+- c.rgbBlue = (BYTE)min(255L,max(0L,(long)c.rgbBlue + ((eb*7)/16)));
++ c.rgbRed = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbRed + ((er*7)/16)));
++ c.rgbGreen = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbGreen + ((eg*7)/16)));
++ c.rgbBlue = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbBlue + ((eb*7)/16)));
+ SetPixelColor(x+1,y,c);
+ int coeff=1;
+ for(int i=-1; i<2; i++){
+@@ -1343,9 +1343,9 @@ bool CxImage::DecreaseBpp(DWORD nbit, bool errordiffusion, RGBQUAD* ppal, DWORD
+ coeff=1; break;
+ }
+ c = GetPixelColor(x+i,y+1);
+- c.rgbRed = (BYTE)min(255L,max(0L,(long)c.rgbRed + ((er * coeff)/16)));
+- c.rgbGreen = (BYTE)min(255L,max(0L,(long)c.rgbGreen + ((eg * coeff)/16)));
+- c.rgbBlue = (BYTE)min(255L,max(0L,(long)c.rgbBlue + ((eb * coeff)/16)));
++ c.rgbRed = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbRed + ((er * coeff)/16)));
++ c.rgbGreen = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbGreen + ((eg * coeff)/16)));
++ c.rgbBlue = (BYTE)cxmin(255L,cxmax(0L,(long)c.rgbBlue + ((eb * coeff)/16)));
+ SetPixelColor(x+i,y+1,c);
+ }
+ }
+@@ -1566,10 +1566,10 @@ bool CxImage::Dither(long method)
+ }
+
+ nlevel = GetPixelIndex(x + 1, y) + (error * 8) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 1, y, level);
+ nlevel = GetPixelIndex(x + 2, y) + (error * 4) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 2, y, level);
+ int i;
+ for (i = -2; i < 3; i++) {
+@@ -1591,7 +1591,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 1, level);
+ }
+ }
+@@ -1620,10 +1620,10 @@ bool CxImage::Dither(long method)
+ }
+
+ nlevel = GetPixelIndex(x + 1, y) + (error * 8) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 1, y, level);
+ nlevel = GetPixelIndex(x + 2, y) + (error * 4) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 2, y, level);
+ int i;
+ for (i = -2; i < 3; i++) {
+@@ -1645,7 +1645,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 1, level);
+ }
+ for (i = -2; i < 3; i++) {
+@@ -1667,7 +1667,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 2, level);
+ }
+ }
+@@ -1696,10 +1696,10 @@ bool CxImage::Dither(long method)
+ }
+
+ nlevel = GetPixelIndex(x + 1, y) + (error * 7) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 1, y, level);
+ nlevel = GetPixelIndex(x + 2, y) + (error * 5) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 2, y, level);
+ int i;
+ for (i = -2; i < 3; i++) {
+@@ -1721,7 +1721,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 1, level);
+ }
+ for (i = -2; i < 3; i++) {
+@@ -1743,7 +1743,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 2, level);
+ }
+ }
+@@ -1772,10 +1772,10 @@ bool CxImage::Dither(long method)
+ }
+
+ nlevel = GetPixelIndex(x + 1, y) + (error * 5) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 1, y, level);
+ nlevel = GetPixelIndex(x + 2, y) + (error * 3) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + 2, y, level);
+ int i;
+ for (i = -2; i < 3; i++) {
+@@ -1797,7 +1797,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 1) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 1, level);
+ }
+ for (i = -1; i < 2; i++) {
+@@ -1813,7 +1813,7 @@ bool CxImage::Dither(long method)
+ break;
+ }
+ nlevel = GetPixelIndex(x + i, y + 2) + (error * coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(x + i, y + 2, level);
+ }
+ }
+@@ -1845,76 +1845,76 @@ bool CxImage::Dither(long method)
+ int tmp_index_y = y;
+ int tmp_coeff = 32;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x - 3;
+ tmp_index_y = y + 1;
+ tmp_coeff = 12;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x - 1;
+ tmp_coeff = 26;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x + 1;
+ tmp_coeff = 30;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x + 3;
+ tmp_coeff = 16;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x - 2;
+ tmp_index_y = y + 2;
+ tmp_coeff = 12;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x;
+ tmp_coeff = 26;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x + 2;
+ tmp_coeff = 12;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x - 3;
+ tmp_index_y = y + 3;
+ tmp_coeff = 5;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x - 1;
+ tmp_coeff = 12;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x + 1;
+ tmp_coeff = 12;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+
+ tmp_index_x = x + 3;
+ tmp_coeff = 5;
+ nlevel = GetPixelIndex(tmp_index_x, tmp_index_y) + (error * tmp_coeff) / TotalCoeffSum;
+- level = (BYTE)min(255, max(0, (int)nlevel));
++ level = (BYTE)cxmin(255, cxmax(0, (int)nlevel));
+ SetPixelIndex(tmp_index_x, tmp_index_y, level);
+ }
+ }
+@@ -1941,7 +1941,7 @@ bool CxImage::Dither(long method)
+ Bmatrix[i] = (BYTE)(dither);
+ }
+
+- int scale = max(0,(8-2*order));
++ int scale = cxmax(0,(8-2*order));
+ int level;
+ for (long y=0;y<head.biHeight;y++){
+ info.nProgress = (long)(100*y/head.biHeight);
+@@ -1981,7 +1981,7 @@ bool CxImage::Dither(long method)
+ }
+
+ nlevel = GetPixelIndex(x+1,y) + (error * 7)/16;
+- level = (BYTE)min(255,max(0,(int)nlevel));
++ level = (BYTE)cxmin(255,cxmax(0,(int)nlevel));
+ SetPixelIndex(x+1,y,level);
+ for(int i=-1; i<2; i++){
+ switch(i){
+@@ -1993,7 +1993,7 @@ bool CxImage::Dither(long method)
+ coeff=1; break;
+ }
+ nlevel = GetPixelIndex(x+i,y+1) + (error * coeff)/16;
+- level = (BYTE)min(255,max(0,(int)nlevel));
++ level = (BYTE)cxmin(255,cxmax(0,(int)nlevel));
+ SetPixelIndex(x+i,y+1,level);
+ }
+ }
+@@ -2031,7 +2031,7 @@ bool CxImage::CropRotatedRectangle( long topx, long topy, long width, long heigh
+ if ( fabs(angle)<0.0002 )
+ return Crop( topx, topy, topx+width, topy+height, iDst);
+
+- startx = min(topx, topx - (long)(sin_angle*(double)height));
++ startx = cxmin(topx, topx - (long)(sin_angle*(double)height));
+ endx = topx + (long)(cos_angle*(double)width);
+ endy = topy + (long)(cos_angle*(double)height + sin_angle*(double)width);
+ // check: corners of the rectangle must be inside
+@@ -2079,10 +2079,10 @@ bool CxImage::Crop(long left, long top, long right, long bottom, CxImage* iDst)
+ {
+ if (!pDib) return false;
+
+- long startx = max(0L,min(left,head.biWidth));
+- long endx = max(0L,min(right,head.biWidth));
+- long starty = head.biHeight - max(0L,min(top,head.biHeight));
+- long endy = head.biHeight - max(0L,min(bottom,head.biHeight));
++ long startx = cxmax(0L,cxmin(left,head.biWidth));
++ long endx = cxmax(0L,cxmin(right,head.biWidth));
++ long starty = head.biHeight - cxmax(0L,cxmin(top,head.biHeight));
++ long endy = head.biHeight - cxmax(0L,cxmin(bottom,head.biHeight));
+
+ if (startx==endx || starty==endy) return false;
+
+@@ -2443,8 +2443,8 @@ bool CxImage::CircleTransform(int type,long rmax,float Koeff)
+ nx=x+(x%32)-16;
+ ny=y;
+ }
+-// nx=max(xmin,min(nx,xmax));
+-// ny=max(ymin,min(ny,ymax));
++// nx=cxmax(xmin,cxmin(nx,xmax));
++// ny=cxmax(ymin,cxmin(ny,ymax));
+ }
+ else { nx=-1;ny=-1;}
+ if (head.biClrUsed==0){
+diff --git a/lib/cximage-6.0/CxImage/ximawnd.cpp b/lib/cximage-6.0/CxImage/ximawnd.cpp
+index 2ae2f93..7029cc7 100644
+--- a/lib/cximage-6.0/CxImage/ximawnd.cpp
++++ b/lib/cximage-6.0/CxImage/ximawnd.cpp
+@@ -682,10 +682,10 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
+ RECT clipbox,paintbox;
+ GetClipBox(hdc,&clipbox);
+
+- paintbox.top = min(clipbox.bottom,max(clipbox.top,y));
+- paintbox.left = min(clipbox.right,max(clipbox.left,x));
+- paintbox.right = max(clipbox.left,min(clipbox.right,x+cx));
+- paintbox.bottom = max(clipbox.top,min(clipbox.bottom,y+cy));
++ paintbox.top = cxmin(clipbox.bottom,cxmax(clipbox.top,y));
++ paintbox.left = cxmin(clipbox.right,cxmax(clipbox.left,x));
++ paintbox.right = cxmax(clipbox.left,cxmin(clipbox.right,x+cx));
++ paintbox.bottom = cxmax(clipbox.top,cxmin(clipbox.bottom,y+cy));
+
+ long destw = paintbox.right - paintbox.left;
+ long desth = paintbox.bottom - paintbox.top;
+@@ -730,12 +730,12 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
+
+ for(yy=0;yy<desth;yy++){
+ dy = head.biHeight-(ymax-yy-y)*fy;
+- sy = max(0L,(long)floor(dy));
++ sy = cxmax(0L,(long)floor(dy));
+ psrc = info.pImage+sy*info.dwEffWidth;
+ pdst = pbase+yy*ew;
+ for(xx=0;xx<destw;xx++){
+ dx = (xx+xmin-x)*fx;
+- sx = max(0L,(long)floor(dx));
++ sx = cxmax(0L,(long)floor(dx));
+ #if CXIMAGE_SUPPORT_INTERPOLATION
+ if (bSmooth){
+ if (fx > 1 && fy > 1) {
+@@ -813,7 +813,7 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
+
+ for(yy=0;yy<desth;yy++){
+ dy = head.biHeight-(ymax-yy-y)*fy;
+- sy = max(0L,(long)floor(dy));
++ sy = cxmax(0L,(long)floor(dy));
+
+ alphaoffset = sy*head.biWidth;
+ pdst = pbase + yy*ew;
+@@ -821,7 +821,7 @@ long CxImage::Draw(HDC hdc, long x, long y, long cx, long cy, RECT* pClipRect, b
+
+ for(xx=0;xx<destw;xx++){
+ dx = (xx+xmin-x)*fx;
+- sx = max(0L,(long)floor(dx));
++ sx = cxmax(0L,(long)floor(dx));
+
+ if (bAlpha) a=pAlpha[alphaoffset+sx]; else a=255;
+ a =(BYTE)((a*(1+info.nAlphaMax))>>8);
+--
+2.8.0.rc3
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0010-curl-support-version-7.5.0-and-upwards.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0010-curl-support-version-7.5.0-and-upwards.patch
new file mode 100644
index 0000000..b6743ae
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0010-curl-support-version-7.5.0-and-upwards.patch
@@ -0,0 +1,34 @@
+From 7d3c70b163bc67aeb1fdef8fd2347b39f311c584 Mon Sep 17 00:00:00 2001
+From: fritsch <peter.fruehberger@gmail.com>
+Date: Sun, 24 Jul 2016 20:24:07 +0200
+Subject: [PATCH] Curl: Adjust multi_cleanup method which returns CURLMcode
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+(backported from upstream commit:
+ https://github.com/xbmc/xbmc/commit/2a8d3e7f6cffea52740b8392a3be8ec251d5ff70)
+---
+ xbmc/filesystem/DllLibCurl.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xbmc/filesystem/DllLibCurl.h b/xbmc/filesystem/DllLibCurl.h
+index db97f92..9e78a91 100644
+--- a/xbmc/filesystem/DllLibCurl.h
++++ b/xbmc/filesystem/DllLibCurl.h
+@@ -52,7 +52,7 @@ namespace XCURL
+ virtual CURLMcode multi_fdset(CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)=0;
+ virtual CURLMcode multi_timeout(CURLM *multi_handle, long *timeout)=0;
+ virtual CURLMsg* multi_info_read(CURLM *multi_handle, int *msgs_in_queue)=0;
+- virtual void multi_cleanup(CURL_HANDLE * handle )=0;
++ virtual CURLMcode multi_cleanup(CURLM * handle )=0;
+ virtual struct curl_slist* slist_append(struct curl_slist *, const char *)=0;
+ virtual void slist_free_all(struct curl_slist *)=0;
+ };
+@@ -77,7 +77,7 @@ namespace XCURL
+ DEFINE_METHOD5(CURLMcode, multi_fdset, (CURLM *p1, fd_set *p2, fd_set *p3, fd_set *p4, int *p5))
+ DEFINE_METHOD2(CURLMcode, multi_timeout, (CURLM *p1, long *p2))
+ DEFINE_METHOD2(CURLMsg*, multi_info_read, (CURLM *p1, int *p2))
+- DEFINE_METHOD1(void, multi_cleanup, (CURLM *p1))
++ DEFINE_METHOD1(CURLMcode, multi_cleanup, (CURLM *p1))
+ DEFINE_METHOD2(struct curl_slist*, slist_append, (struct curl_slist * p1, const char * p2))
+ DEFINE_METHOD1(void, slist_free_all, (struct curl_slist * p1))
+ DEFINE_METHOD1(const char *, easy_strerror, (CURLcode p1))
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
new file mode 100644
index 0000000..a3a9d50
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
@@ -0,0 +1,30 @@
+From a17e8d39cf01e26955574acd236b4ef5b54b8c3b Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Mon, 5 Sep 2016 12:34:20 +0200
+Subject: [PATCH 2/2] xbmc_pvr_types.h: Fix compilation with gcc6
+
+Backport of upstream commit from master branch:
+https://github.com/xbmc/xbmc/commit/c8a346109926fa03bf6882c0b6e3885af0e0f8ed
+
+This patch can be removed when Kodi is bumped to 17.0-Krypton.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ xbmc/addons/include/xbmc_pvr_types.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/xbmc/addons/include/xbmc_pvr_types.h b/xbmc/addons/include/xbmc_pvr_types.h
+index c5ab20b..e518de1 100644
+--- a/xbmc/addons/include/xbmc_pvr_types.h
++++ b/xbmc/addons/include/xbmc_pvr_types.h
+@@ -34,6 +34,7 @@
+ #endif
+ #include <string.h>
+ #include <stdint.h>
++#include <stdio.h>
+
+ #include "xbmc_addon_types.h"
+ #include "xbmc_epg_types.h"
+--
+2.9.3
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
new file mode 100644
index 0000000..b3780db
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
@@ -0,0 +1,25 @@
+From 53c7b1667a41b25775d1dc009d8ced61f383da0b Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 6 Feb 2016 15:43:01 +0100
+Subject: [PATCH 1/3] configure: don't try to run stuff to find tinyxml
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5a41fb4..243c7e5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1043,7 +1043,7 @@ fi
+ AC_LANG_PUSH([C++])
+ PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2],
+ [INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"],
+- [AC_RUN_IFELSE(
++ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <tinyxml.h>
+--
+2.10.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch
new file mode 100644
index 0000000..b2af5de
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch
@@ -0,0 +1,163 @@
+From 1c1484303a055bfde655ffae3829554aaefc2e07 Mon Sep 17 00:00:00 2001
+From: Stefan Saraev <stefan@saraev.ca>
+Date: Wed, 2 Nov 2016 11:28:34 -0700
+Subject: [PATCH 2/3] handle SIGTERM
+
+0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
+
+so, when shutdown/reboot is requested:
+
+1. save an exit code (for CEC...)
+2. call CPowerManager::{Reboot,PowerDown}
+3. ... then systemd sends TERM and waits xx seconds before sending KILL
+4. CApplication::Stop has xx seconds to save guisettings.xml and boo
+5. CEC thread has xx seconds to switch off after it received OnQuit
+6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
+7. KILL
+
+Signed-off-by: Stefan Saraev <stefan@saraev.ca>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/Application.cpp | 17 ++++++++++++-----
+ xbmc/Application.h | 1 +
+ xbmc/XBApplicationEx.cpp | 1 +
+ xbmc/XBApplicationEx.h | 1 +
+ xbmc/platform/posix/main.cpp | 15 +++++++++++++++
+ 5 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index 4c118e0..58b151a 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -2428,12 +2428,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+ switch (pMsg->dwMessage)
+ {
+ case TMSG_POWERDOWN:
+- Stop(EXITCODE_POWERDOWN);
++ SetExitCode(EXITCODE_POWERDOWN);
+ g_powerManager.Powerdown();
+ break;
+
+ case TMSG_QUIT:
+- Stop(EXITCODE_QUIT);
++ SetExitCode(EXITCODE_QUIT);
+ break;
+
+ case TMSG_SHUTDOWN:
+@@ -2454,12 +2454,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+
+ case TMSG_RESTART:
+ case TMSG_RESET:
+- Stop(EXITCODE_REBOOT);
++ SetExitCode(EXITCODE_REBOOT);
+ g_powerManager.Reboot();
+ break;
+
+ case TMSG_RESTARTAPP:
+ #if defined(TARGET_WINDOWS) || defined(TARGET_LINUX)
++ SetExitCode(EXITCODE_RESTARTAPP);
+ Stop(EXITCODE_RESTARTAPP);
+ #endif
+ break;
+@@ -2883,6 +2884,13 @@ bool CApplication::Cleanup()
+ }
+ }
+
++void CApplication::SetExitCode(int exitCode)
++{
++ // save it for CEC
++ m_ExitCode = exitCode;
++ m_ExitCodeSet = true;
++}
++
+ void CApplication::Stop(int exitCode)
+ {
+ try
+@@ -2890,7 +2898,7 @@ void CApplication::Stop(int exitCode)
+ m_frameMoveGuard.unlock();
+
+ CVariant vExitCode(CVariant::VariantTypeObject);
+- vExitCode["exitcode"] = exitCode;
++ vExitCode["exitcode"] = m_ExitCode;
+ CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
+
+ // Abort any active screensaver
+@@ -2924,7 +2932,6 @@ void CApplication::Stop(int exitCode)
+
+ m_bStop = true;
+ m_AppFocused = false;
+- m_ExitCode = exitCode;
+ CLog::Log(LOGNOTICE, "stop all");
+
+ // cancel any jobs from the jobmanager
+diff --git a/xbmc/Application.h b/xbmc/Application.h
+index 22aca81..9992677 100644
+--- a/xbmc/Application.h
++++ b/xbmc/Application.h
+@@ -160,6 +160,7 @@ public:
+ void StopPVRManager();
+ void ReinitPVRManager();
+ bool IsCurrentThread() const;
++ void SetExitCode(int exitCode);
+ void Stop(int exitCode);
+ void RestartApp();
+ void UnloadSkin(bool forReload = false);
+diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
+index 035aed2..34102f5 100644
+--- a/xbmc/XBApplicationEx.cpp
++++ b/xbmc/XBApplicationEx.cpp
+@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx()
+ m_bStop = false;
+ m_AppFocused = true;
+ m_ExitCode = EXITCODE_QUIT;
++ m_ExitCodeSet = false;
+ m_renderGUI = false;
+ }
+
+diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
+index 9bc14fa..f696b89 100644
+--- a/xbmc/XBApplicationEx.h
++++ b/xbmc/XBApplicationEx.h
+@@ -42,6 +42,7 @@ public:
+ // Variables for timing
+ bool m_bStop;
+ int m_ExitCode;
++ bool m_ExitCodeSet;
+ bool m_AppFocused;
+ bool m_renderGUI;
+
+diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
+index a8b64e5..3d80032 100644
+--- a/xbmc/platform/posix/main.cpp
++++ b/xbmc/platform/posix/main.cpp
+@@ -41,12 +41,27 @@
+ #include "input/linux/LIRC.h"
+ #endif
+ #include "platform/XbmcContext.h"
++#include "Application.h"
++
++void xbmc_term_handler(int signum)
++{
++ CLog::Log(LOGINFO, "Received SIGTERM...");
++ if (!g_application.m_ExitCodeSet)
++ g_application.SetExitCode(EXITCODE_RESTARTAPP);
++ g_application.Stop(EXITCODE_RESTARTAPP);
++}
+
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ int main(int argc, char* argv[])
+ {
++ // SIGTERM handler
++ struct sigaction action;
++ memset(&action, 0, sizeof(struct sigaction));
++ action.sa_handler = xbmc_term_handler;
++ sigaction(SIGTERM, &action, NULL);
++
+ // set up some xbmc specific relationships
+ XBMC::Context context;
+
+--
+2.10.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch
new file mode 100644
index 0000000..d638550
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch
@@ -0,0 +1,26 @@
+From 4ef1e9dab9193f1a5305d25c8eda97f8f06ea154 Mon Sep 17 00:00:00 2001
+From: Stephan Raue <stephan@openelec.tv>
+Date: Mon, 1 Sep 2014 03:16:37 +0200
+Subject: [PATCH 3/3] add support to read frequency output if using intel's
+ pstate driver
+
+---
+ xbmc/utils/CPUInfo.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
+index 5e2ebbd..fd04d5a 100644
+--- a/xbmc/utils/CPUInfo.cpp
++++ b/xbmc/utils/CPUInfo.cpp
+@@ -274,6 +274,8 @@ CCPUInfo::CCPUInfo(void)
+ m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
+
+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
++ if (m_fCPUFreq == NULL)
++ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
+ if (!m_fCPUFreq)
+ {
+ m_cpuInfoForFreq = true;
+--
+2.10.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch
new file mode 100644
index 0000000..6f5f9a2
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch
@@ -0,0 +1,35 @@
+From 191cf3f084b4d34846711034a7fe3078f8243c82 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Nov 2016 12:39:20 -0700
+Subject: [PATCH 4/4] Disable DVD support
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 58b3a17..b7c3fce 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -10,8 +10,7 @@ EC_DIRS= \
+ tools/EventClients
+
+ DVDPCODECS_DIRS= \
+- lib \
+- lib/libdvd
++ lib
+
+ VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
+ xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
+@@ -343,7 +342,6 @@ libaddon: exports
+ $(MAKE) -C lib/addons/library.xbmc.pvr
+ $(MAKE) -C lib/addons/library.kodi.inputstream
+ dvdpcodecs: dllloader
+- $(MAKE) -C lib/libdvd
+
+ dvdpextcodecs:
+
+--
+2.10.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
new file mode 100644
index 0000000..c4a6ae7
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
@@ -0,0 +1,427 @@
+From 06a8224c99282ac1a606edd9e8ea3f591112942d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 18 Feb 2016 14:04:31 +0100
+Subject: [PATCH] Update to p8-platform
+
+---
+ CMakeLists.txt | 6 +++---
+ pvr.hts/changelog.txt | 4 ++--
+ src/AutoRecordings.cpp | 2 +-
+ src/HTSPConnection.cpp | 8 +++----
+ src/HTSPDemuxer.cpp | 2 +-
+ src/HTSPVFS.cpp | 6 +++---
+ src/TimeRecordings.cpp | 2 +-
+ src/Tvheadend.cpp | 4 ++--
+ src/Tvheadend.h | 38 +++++++++++++++++-----------------
+ src/client.cpp | 4 ++--
+ src/client.h | 4 ++--
+ src/tvheadend/Subscription.cpp | 2 +-
+ src/tvheadend/Subscription.h | 4 ++--
+ src/tvheadend/utilities/AsyncState.cpp | 4 ++--
+ src/tvheadend/utilities/AsyncState.h | 6 +++---
+ 15 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0842682..cb04942 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,10 +6,10 @@ enable_language(CXX)
+
+ find_package(kodi REQUIRED)
+ find_package(kodiplatform REQUIRED)
+-find_package(platform REQUIRED)
++find_package(p8-platform REQUIRED)
+
+ include_directories(${kodiplatform_INCLUDE_DIRS}
+- ${platform_INCLUDE_DIRS}
++ ${p8-platform_INCLUDE_DIRS}
+ ${KODI_INCLUDE_DIR}
+ ${PROJECT_SOURCE_DIR}/lib)
+
+@@ -95,7 +95,7 @@ list(APPEND HTS_SOURCES
+
+ add_subdirectory(lib/libhts)
+
+-set(DEPLIBS ${platform_LIBRARIES} hts)
++set(DEPLIBS ${p8-platform_LIBRARIES} hts)
+ if(WIN32)
+ list(APPEND DEPLIBS ws2_32)
+ endif()
+diff --git a/pvr.hts/changelog.txt b/pvr.hts/changelog.txt
+index 9ffa33c..1e7fe30 100644
+--- a/pvr.hts/changelog.txt
++++ b/pvr.hts/changelog.txt
+@@ -49,7 +49,7 @@
+ - fixed: Autorec: Start and stop time handling.
+ - fixed: LocaltimeToUTC conversion (timer settings clock display incorrect).
+ - fixed: Several issues with predictive tuning.
+-- added: build: Automatically fill in platform and library name.
++- added: build: Automatically fill in p8-platform and library name.
+ - fixed: Use epg data only for creation of epg-based timers.
+ - improved: Do not try to reconnect to tvh while suspending or not fully awake again.
+
+@@ -97,7 +97,7 @@
+ - added: support for creating repeating timers, aka time schedules
+ - fixed: conditions for addon restart after settings changes
+ - internal: fixed build system regressions introduced with move to cmake
+-- internal: updated to use libplatform
++- internal: updated to use libp8-platform
+
+ 2.1.7
+ - added: support for radio channel groups
+diff --git a/src/AutoRecordings.cpp b/src/AutoRecordings.cpp
+index 5fa60a0..d9e5e1d 100644
+--- a/src/AutoRecordings.cpp
++++ b/src/AutoRecordings.cpp
+@@ -26,7 +26,7 @@
+ #include "tvheadend/utilities/Utilities.h"
+ #include "tvheadend/utilities/Logger.h"
+
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::entity;
+ using namespace tvheadend::utilities;
+diff --git a/src/HTSPConnection.cpp b/src/HTSPConnection.cpp
+index aec1296..86f5004 100644
+--- a/src/HTSPConnection.cpp
++++ b/src/HTSPConnection.cpp
+@@ -19,9 +19,9 @@
+ *
+ */
+
+-#include "platform/threads/mutex.h"
+-#include "platform/util/StringUtils.h"
+-#include "platform/sockets/tcp.h"
++#include "p8-platform/threads/mutex.h"
++#include "p8-platform/util/StringUtils.h"
++#include "p8-platform/sockets/tcp.h"
+
+ extern "C" {
+ #include "libhts/htsmsg_binary.h"
+@@ -33,7 +33,7 @@ extern "C" {
+
+ using namespace std;
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::utilities;
+
+diff --git a/src/HTSPDemuxer.cpp b/src/HTSPDemuxer.cpp
+index a6e1f12..7f45345 100644
+--- a/src/HTSPDemuxer.cpp
++++ b/src/HTSPDemuxer.cpp
+@@ -27,7 +27,7 @@
+
+ using namespace std;
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::utilities;
+
+diff --git a/src/HTSPVFS.cpp b/src/HTSPVFS.cpp
+index 0463f56..0404bab 100644
+--- a/src/HTSPVFS.cpp
++++ b/src/HTSPVFS.cpp
+@@ -19,8 +19,8 @@
+ *
+ */
+
+-#include "platform/threads/mutex.h"
+-#include "platform/util/StringUtils.h"
++#include "p8-platform/threads/mutex.h"
++#include "p8-platform/util/StringUtils.h"
+ #include "tvheadend/utilities/Logger.h"
+
+ extern "C" {
+@@ -30,7 +30,7 @@ extern "C" {
+ #include "Tvheadend.h"
+
+ using namespace std;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend::utilities;
+
+ /*
+diff --git a/src/TimeRecordings.cpp b/src/TimeRecordings.cpp
+index 5d34938..97aae09 100644
+--- a/src/TimeRecordings.cpp
++++ b/src/TimeRecordings.cpp
+@@ -25,7 +25,7 @@
+ #include "tvheadend/utilities/Utilities.h"
+ #include "tvheadend/utilities/Logger.h"
+
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::entity;
+ using namespace tvheadend::utilities;
+diff --git a/src/Tvheadend.cpp b/src/Tvheadend.cpp
+index 2057241..14c3bd4 100644
+--- a/src/Tvheadend.cpp
++++ b/src/Tvheadend.cpp
+@@ -23,7 +23,7 @@
+ #include <ctime>
+ #include <memory>
+
+-#include "platform/util/StringUtils.h"
++#include "p8-platform/util/StringUtils.h"
+
+ #include "Tvheadend.h"
+ #include "tvheadend/utilities/Utilities.h"
+@@ -31,7 +31,7 @@
+
+ using namespace std;
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::entity;
+ using namespace tvheadend::utilities;
+diff --git a/src/Tvheadend.h b/src/Tvheadend.h
+index 2ce4552..e794716 100644
+--- a/src/Tvheadend.h
++++ b/src/Tvheadend.h
+@@ -22,10 +22,10 @@
+ */
+
+ #include "client.h"
+-#include "platform/sockets/tcp.h"
+-#include "platform/threads/threads.h"
+-#include "platform/threads/mutex.h"
+-#include "platform/util/buffer.h"
++#include "p8-platform/sockets/tcp.h"
++#include "p8-platform/threads/threads.h"
++#include "p8-platform/threads/mutex.h"
++#include "p8-platform/util/buffer.h"
+ #include "kodi/xbmc_codec_types.h"
+ #include "kodi/xbmc_stream_utils.hpp"
+ #include "kodi/libXBMC_addon.h"
+@@ -88,7 +88,7 @@ class CHTSPMessage;
+
+ /* Typedefs */
+ typedef std::map<uint32_t,CHTSPResponse*> CHTSPResponseList;
+-typedef PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
++typedef P8PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
+
+ /*
+ * HTSP Response handler
+@@ -98,10 +98,10 @@ class CHTSPResponse
+ public:
+ CHTSPResponse();
+ ~CHTSPResponse();
+- htsmsg_t *Get ( PLATFORM::CMutex &mutex, uint32_t timeout );
++ htsmsg_t *Get ( P8PLATFORM::CMutex &mutex, uint32_t timeout );
+ void Set ( htsmsg_t *m );
+ private:
+- PLATFORM::CCondition<volatile bool> m_cond;
++ P8PLATFORM::CCondition<volatile bool> m_cond;
+ bool m_flag;
+ htsmsg_t *m_msg;
+ };
+@@ -146,7 +146,7 @@ public:
+ * HTSP Connection registration thread
+ */
+ class CHTSPRegister
+- : public PLATFORM::CThread
++ : public P8PLATFORM::CThread
+ {
+ friend class CHTSPConnection;
+
+@@ -163,7 +163,7 @@ private:
+ * HTSP Connection
+ */
+ class CHTSPConnection
+- : public PLATFORM::CThread
++ : public P8PLATFORM::CThread
+ {
+ friend class CHTSPRegister;
+
+@@ -190,7 +190,7 @@ public:
+ inline bool IsConnected ( void ) const { return m_ready; }
+ bool WaitForConnection ( void );
+
+- inline PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
++ inline P8PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
+
+ void OnSleep ( void );
+ void OnWake ( void );
+@@ -202,10 +202,10 @@ private:
+ bool SendHello ( void );
+ bool SendAuth ( const std::string &u, const std::string &p );
+
+- PLATFORM::CTcpSocket *m_socket;
+- PLATFORM::CMutex m_mutex;
++ P8PLATFORM::CTcpSocket *m_socket;
++ P8PLATFORM::CMutex m_mutex;
+ CHTSPRegister m_regThread;
+- PLATFORM::CCondition<volatile bool> m_regCond;
++ P8PLATFORM::CCondition<volatile bool> m_regCond;
+ bool m_ready;
+ uint32_t m_seq;
+ std::string m_serverName;
+@@ -273,13 +273,13 @@ public:
+ void SetStreamingProfile(const std::string &profile);
+
+ private:
+- PLATFORM::CMutex m_mutex;
++ P8PLATFORM::CMutex m_mutex;
+ CHTSPConnection &m_conn;
+- PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
++ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
+ ADDON::XbmcStreamProperties m_streams;
+ std::map<int,int> m_streamStat;
+ int64_t m_seekTime;
+- PLATFORM::CCondition<volatile int64_t> m_seekCond;
++ P8PLATFORM::CCondition<volatile int64_t> m_seekCond;
+ bool m_seeking;
+ bool m_speedChange;
+ tvheadend::status::SourceInfo m_sourceInfo;
+@@ -350,7 +350,7 @@ private:
+ * Root object for Tvheadend connection
+ */
+ class CTvheadend
+- : public PLATFORM::CThread
++ : public P8PLATFORM::CThread
+ {
+ public:
+ CTvheadend();
+@@ -422,7 +422,7 @@ private:
+ */
+ tvheadend::Profiles m_profiles;
+
+- PLATFORM::CMutex m_mutex;
++ P8PLATFORM::CMutex m_mutex;
+
+ CHTSPConnection m_conn;
+
+@@ -519,7 +519,7 @@ public:
+ */
+ bool WaitForConnection ( void )
+ {
+- PLATFORM::CLockObject lock(m_conn.Mutex());
++ P8PLATFORM::CLockObject lock(m_conn.Mutex());
+ return m_conn.WaitForConnection();
+ }
+ std::string GetServerName ( void )
+diff --git a/src/client.cpp b/src/client.cpp
+index 94d2db9..3295914 100644
+--- a/src/client.cpp
++++ b/src/client.cpp
+@@ -22,14 +22,14 @@
+ #include "client.h"
+ #include "kodi/xbmc_pvr_dll.h"
+ #include "kodi/libKODI_guilib.h"
+-#include "platform/util/util.h"
++#include "p8-platform/util/util.h"
+ #include "Tvheadend.h"
+ #include "tvheadend/Settings.h"
+ #include "tvheadend/utilities/Logger.h"
+
+ using namespace std;
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::utilities;
+
+diff --git a/src/client.h b/src/client.h
+index 3a5f950..a10659b 100644
+--- a/src/client.h
++++ b/src/client.h
+@@ -20,8 +20,8 @@
+ *
+ */
+
+-#include "platform/os.h"
+-#include "platform/threads/mutex.h"
++#include "p8-platform/os.h"
++#include "p8-platform/threads/mutex.h"
+ #include "kodi/libXBMC_addon.h"
+ #include "kodi/libXBMC_pvr.h"
+ #include "kodi/libXBMC_codec.h"
+diff --git a/src/tvheadend/Subscription.cpp b/src/tvheadend/Subscription.cpp
+index 182ca7f..e18af1e 100644
+--- a/src/tvheadend/Subscription.cpp
++++ b/src/tvheadend/Subscription.cpp
+@@ -23,7 +23,7 @@
+ #include "utilities/Logger.h"
+ #include "../Tvheadend.h"
+
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+ using namespace tvheadend;
+ using namespace tvheadend::utilities;
+
+diff --git a/src/tvheadend/Subscription.h b/src/tvheadend/Subscription.h
+index b03bcce..363e5ef 100644
+--- a/src/tvheadend/Subscription.h
++++ b/src/tvheadend/Subscription.h
+@@ -22,7 +22,7 @@
+ */
+
+ #include <string>
+-#include "platform/threads/mutex.h"
++#include "p8-platform/threads/mutex.h"
+
+ extern "C"
+ {
+@@ -146,6 +146,6 @@ namespace tvheadend
+ std::string m_profile;
+ CHTSPConnection &m_conn;
+
+- mutable PLATFORM::CMutex m_mutex;
++ mutable P8PLATFORM::CMutex m_mutex;
+ };
+ }
+diff --git a/src/tvheadend/utilities/AsyncState.cpp b/src/tvheadend/utilities/AsyncState.cpp
+index 0c30a93..1f4fdf3 100644
+--- a/src/tvheadend/utilities/AsyncState.cpp
++++ b/src/tvheadend/utilities/AsyncState.cpp
+@@ -22,7 +22,7 @@
+ #include "AsyncState.h"
+
+ using namespace tvheadend::utilities;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ struct Param {
+ eAsyncState state;
+@@ -37,7 +37,7 @@ AsyncState::AsyncState(int timeout)
+
+ eAsyncState AsyncState::GetState()
+ {
+- PLATFORM::CLockObject lock(m_mutex);
++ P8PLATFORM::CLockObject lock(m_mutex);
+ return m_state;
+ }
+
+diff --git a/src/tvheadend/utilities/AsyncState.h b/src/tvheadend/utilities/AsyncState.h
+index 1d672da..0819cd8 100644
+--- a/src/tvheadend/utilities/AsyncState.h
++++ b/src/tvheadend/utilities/AsyncState.h
+@@ -22,7 +22,7 @@
+ #ifndef ASYNCSTATE_H
+ #define ASYNCSTATE_H
+
+-#include "platform/threads/mutex.h"
++#include "p8-platform/threads/mutex.h"
+
+ namespace tvheadend {
+ namespace utilities {
+@@ -75,8 +75,8 @@ namespace tvheadend {
+ static bool PredicateCallback ( void *param );
+
+ eAsyncState m_state;
+- PLATFORM::CMutex m_mutex;
+- PLATFORM::CCondition<bool> m_condition;
++ P8PLATFORM::CMutex m_mutex;
++ P8PLATFORM::CCondition<bool> m_condition;
+ int m_timeout;
+
+ };
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
new file mode 100644
index 0000000..1f33a8a
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Kodi Media Center PVR plugins"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/client.cpp;md5=c8f6b73c5bc1048a3d6506700a7a91d2"
+
+DEPENDS = " \
+ zip-native \
+ p8platform \
+ kodi-platform \
+ "
+
+SRCREV_pvrhts = "7f75b70527922aef953123ff97ebaa22d9fb7cb4"
+
+SRCREV_FORMAT = "pvrhts"
+
+PV = "2.2.13+gitr${SRCPV}"
+SRC_URI = "git://github.com/kodi-pvr/pvr.hts.git;branch=Jarvis;destsuffix=pvr.hts;name=pvrhts \
+ file://0001-Update-to-p8-platform.patch \
+ "
+
+inherit cmake pkgconfig gettext
+
+S = "${WORKDIR}/pvr.hts"
+
+EXTRA_OECMAKE = " \
+ -DADDONS_TO_BUILD=pvr.hts \
+ -DADDON_SRC_PREFIX=${WORKDIR}/git \
+ -DCMAKE_BUILD_TYPE=Debug \
+ -DCMAKE_INSTALL_PREFIX=${datadir}/kodi/addons \
+ -DCMAKE_MODULE_PATH=${STAGING_DIR_HOST}${libdir}/kodi \
+ -DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix} \
+ -DPACKAGE_ZIP=1 \
+ "
+
+do_compile_prepend() {
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
+ -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
+ ${B}/CMakeFiles/*/flags.make
+ sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
+ ${B}/CMakeFiles/*/link.txt
+}
+
+# Make zip package for manual installation
+do_install_append() {
+ install -d ${D}${datadir}/kodi/addons/packages/
+ ( cd ${D}${datadir}/kodi/addons
+ zip -r ${D}${datadir}/kodi/addons/packages/pvr.hts-${PV}.zip pvr.hts -x '*.debug*' )
+}
+
+# Doesn't get added automagically, dlopen()?
+RDEPENDS_${PN} = "libkodiplatform"
+
+INSANE_SKIP_${PN} = "dev-so"
+FILES_${PN} += "${datadir}/kodi"
+FILES_${PN}-dbg += "${datadir}/kodi/addons/*/.debug/"
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-Fix-build-after-platform-rename.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-Fix-build-after-platform-rename.patch
new file mode 100644
index 0000000..35e5134
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-Fix-build-after-platform-rename.patch
@@ -0,0 +1,67 @@
+From 7cf366faa7a24c7146c745c8cd8dc3ae3d1cabea Mon Sep 17 00:00:00 2001
+From: Garrett Brown <themagnificentmrb@gmail.com>
+Date: Thu, 7 Jan 2016 15:55:22 -0800
+Subject: [PATCH] Fix build after platform rename
+
+update source code to use renamed platform pkg
+---
+ CMakeLists.txt | 6 +++---
+ debian/control | 2 +-
+ src/util/XMLUtils.h | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2ce8c0d..bf6b659 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,7 +8,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
+ find_package(kodi REQUIRED)
+ find_package(TinyXML REQUIRED)
+ find_package(Threads REQUIRED)
+-find_package(platform REQUIRED)
++find_package(p8-platform REQUIRED)
+ include(UseMultiArch.cmake)
+ include(CheckAtomic.cmake)
+
+@@ -36,10 +36,10 @@ endif()
+
+ set(SOURCES src/util/XMLUtils.cpp)
+
+-include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR} ${platform_INCLUDE_DIRS})
++include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR} ${p8-platform_INCLUDE_DIRS})
+
+ add_library(kodiplatform ${SOURCES} ${PLAT_SOURCES})
+-target_link_libraries(kodiplatform ${kodiplatform_LIBRARIES} ${platform_LIBRARIES})
++target_link_libraries(kodiplatform ${kodiplatform_LIBRARIES} ${p8-platform_LIBRARIES})
+ set_target_properties(kodiplatform PROPERTIES VERSION ${kodiplatform_VERSION_MAJOR}.${kodiplatform_VERSION_MINOR}.${kodiplatform_VERSION_PATCH}
+ SOVERSION ${kodiplatform_VERSION_MAJOR}.0)
+
+diff --git a/debian/control b/debian/control
+index 42cadb2..e40c982 100644
+--- a/debian/control
++++ b/debian/control
+@@ -1,7 +1,7 @@
+ Source: kodiplatform
+ Priority: extra
+ Maintainer: Arne Morten Kvarving <arne.morten.kvarving@sintef.no>
+-Build-Depends: debhelper (>= 8.0.0), cmake, libtinyxml-dev, kodi-addon-dev, libplatform-dev
++Build-Depends: debhelper (>= 8.0.0), cmake, libtinyxml-dev, kodi-addon-dev, libp8-platform-dev
+ Standards-Version: 3.9.2
+ Section: libs
+
+diff --git a/src/util/XMLUtils.h b/src/util/XMLUtils.h
+index f22fd07..a10d831 100644
+--- a/src/util/XMLUtils.h
++++ b/src/util/XMLUtils.h
+@@ -21,7 +21,7 @@
+ *
+ */
+
+-#include <platform/util/StdString.h>
++#include <p8-platform/util/StdString.h>
+ #include "tinyxml.h"
+
+ class XMLUtils
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
new file mode 100644
index 0000000..27e9d21
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
@@ -0,0 +1,40 @@
+From 3136317f096ea7fda4fb907e775a01952c4aae3d Mon Sep 17 00:00:00 2001
+From: Stefan Saraev <stefan@saraev.ca>
+Date: Fri, 19 Feb 2016 10:33:00 +0100
+Subject: [PATCH] fix cross compile badness
+
+From https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-platform/patches/kodi-platform-01_crosscompile-badness.patch
+---
+ CMakeLists.txt | 2 +-
+ kodiplatform-config.cmake.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bf6b659..9abe773 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,7 +22,7 @@ if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+ endif()
+
+-set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
++set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX_TOOLCHAIN}/include/kodi")
+ IF(WIN32)
+ LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows")
+ ENDIF(WIN32)
+diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in
+index 3fc5273..60bdf1b 100644
+--- a/kodiplatform-config.cmake.in
++++ b/kodiplatform-config.cmake.in
+@@ -10,7 +10,7 @@
+ #
+ # propagate these properties from one build system to the other
+ set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@")
+-set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include)
++set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX_TOOLCHAIN@/include)
+ set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
+ set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@")
+ set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@")
+--
+2.0.1
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
new file mode 100644
index 0000000..a13c53b
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9abe773..ae433fc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,7 +9,6 @@ find_package(kodi REQUIRED)
+ find_package(TinyXML REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(p8-platform REQUIRED)
+-include(UseMultiArch.cmake)
+ include(CheckAtomic.cmake)
+
+ set(kodiplatform_NAME kodiplatform)
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
new file mode 100644
index 0000000..5077454
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
+HOMEPAGE = "http://libcec.pulse-eight.com/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/util/XMLUtils.cpp;beginline=2;endline=18;md5=dae8e846500e70dd8ecee55f3f018c30"
+
+DEPENDS = "libtinyxml kodi"
+
+PV = "16.0.0"
+
+SRCREV = "15edaf78d6307eaa5e1d17028122d8bce9d55aa2"
+SRC_URI = "git://github.com/xbmc/kodi-platform.git \
+ file://0001-Fix-build-after-platform-rename.patch \
+ file://0001-fix-cross-compile-badness.patch \
+ file://kodi-platform-02_no-multi-lib.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=${STAGING_DIR_TARGET} \
+ -DCMAKE_INSTALL_LIBDIR=${libdir} \
+ -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \
+ -DKODI_INCLUDE_DIR=${STAGING_LIBDIR}/kodi \
+ -DKODI_INCLUDE_DIR=${STAGING_INCDIR}/kodi \
+ "
+
+do_compile_prepend() {
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
+ -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
+ ${B}/CMakeFiles/kodiplatform.dir/flags.make
+ sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
+ ${B}/CMakeFiles/kodiplatform.dir/link.txt
+}
+
+RPROVIDES_${PN} += "libkodiplatform"
+FILES_${PN}-dev += "${libdir}/*platform"
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
new file mode 100644
index 0000000..955d02b
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Systemd service for kodi startup"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+PV = "1.0"
+
+SRC_URI = "file://kodi.service"
+
+inherit systemd
+
+do_install() {
+ install -d ${D}/lib/systemd/system
+ install -m 0644 ${WORKDIR}/kodi.service ${D}/lib/systemd/system/
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "kodi.service"
+
+RDEPENDS_${PN} += "xinit kodi"
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service b/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
new file mode 100644
index 0000000..29d0394
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Kodi media thing
+
+[Service]
+User=root
+Type=simple
+SuccessExitStatus=0 1
+IOSchedulingClass=realtime
+IOSchedulingPriority=0
+
+ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- /usr/bin/X :0
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
new file mode 100644
index 0000000..38a53ee
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
@@ -0,0 +1,188 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
+
+FILESPATH =. "${FILE_DIRNAME}/kodi-16:"
+
+DEPENDS = " \
+ cmake-native \
+ curl-native \
+ gperf-native \
+ jsonschemabuilder-native \
+ nasm-native \
+ swig-native \
+ yasm-native \
+ zip-native \
+ avahi \
+ boost \
+ bzip2 \
+ curl \
+ dcadec \
+ enca \
+ expat \
+ faad2 \
+ ffmpeg \
+ fontconfig \
+ fribidi \
+ giflib \
+ jasper \
+ libass \
+ libcdio \
+ libcec \
+ libmad \
+ libmicrohttpd \
+ libmms \
+ libmms \
+ libmodplug \
+ libpcre \
+ libplist \
+ libsamplerate0 \
+ libsdl-image \
+ libsdl-mixer \
+ libsquish \
+ libssh \
+ libtinyxml \
+ libusb1 \
+ libxslt \
+ lzo \
+ mpeg2dec \
+ python \
+ samba \
+ sqlite3 \
+ taglib \
+ virtual/egl \
+ virtual/libsdl \
+ wavpack \
+ yajl \
+ zlib \
+ ${@enable_glew(bb, d)} \
+ "
+
+PROVIDES = "xbmc"
+
+SRCREV = "4982009b56d184f8ce7890e947d0bd986e49828a"
+PV = "16.1+gitr${SRCPV}"
+SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Jarvis \
+ file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+ file://0002-arm64-Fix-build-breakages-due-to-architecture-specif.patch \
+ file://0003-configure-add-aarch64-support.patch \
+ file://0004-configure-remove-gles-neon-wayland-assumptions.patch \
+ file://0005-handle-SIGTERM.patch \
+ file://0006-add-support-to-read-frequency-output-if-using-intel-.patch \
+ file://0006-ffmpeg30.patch \
+ file://0007-https-github.com-OpenELEC-OpenELEC.tv-blob-master-pa.patch \
+ file://0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch \
+ file://0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch \
+ file://0010-curl-support-version-7.5.0-and-upwards.patch \
+ file://0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch \
+"
+
+inherit autotools-brokensep gettext pythonnative
+
+S = "${WORKDIR}/git"
+
+# breaks compilation
+ASNEEDED = ""
+
+ACCEL ?= ""
+ACCEL_x86 = "vaapi vdpau"
+ACCEL_x86-64 = "vaapi vdpau"
+
+PACKAGECONFIG ??= "${ACCEL}"
+PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
+PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
+
+PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
+PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
+PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+
+EXTRA_OECONF_append_rpi = "--disable-openmax --enable-player=omxplayer --with-platform=raspberry-pi"
+#LDFLAGS_append_rpi = " -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm -lvchostif -lmmal -lmmal_core -lmmal_util "
+LDFLAGS_append_rpi = " -lvchostif "
+EXTRA_OECONF = " \
+ --disable-debug \
+ --disable-libcap \
+ --disable-ccache \
+ --disable-mid \
+ --enable-libusb \
+ --enable-airplay \
+ --enable-alsa \
+ --disable-optical-drive \
+ --with-ffmpeg=shared \
+ --enable-texturepacker=no \
+"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+# for python modules
+export HOST_SYS
+export BUILD_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+export PYTHON_DIR
+
+def enable_glew(bb, d):
+ if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+ return "glew"
+ return ""
+
+do_configure() {
+ ( for i in $(find ${S} -name "configure.*" ) ; do
+ cd $(dirname $i) && gnu-configize --force || true
+ done )
+ make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
+
+ BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ BOOTSTRAP_STANDALONE=1 make -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ oe_runconf
+}
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
+INSANE_SKIP_${PN} = "rpaths"
+
+FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
+FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
+
+# kodi uses some kind of dlopen() method for libcec so we need to add it manually
+# OpenGL builds need glxinfo, that's in mesa-demos
+RRECOMMENDS_${PN}_append = " libcec \
+ python \
+ python-lang \
+ python-re \
+ python-netclient \
+ python-html \
+ python-difflib \
+ python-json \
+ python-zlib \
+ python-shell \
+ python-sqlite3 \
+ python-compression \
+ libcurl \
+ ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
+"
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
+ glibc-gconv-ibm850 \
+ glibc-gconv-unicode \
+ glibc-gconv-utf-32 \
+ glibc-charmap-utf-8 \
+ glibc-localedata-en-us \
+ "
+
+RPROVIDES_${PN} += "xbmc"
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
new file mode 100644
index 0000000..bdf077a
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -0,0 +1,181 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
+
+DEFAULT_PREFERENCE = "-1"
+
+FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
+
+DEPENDS = " \
+ cmake-native \
+ curl-native \
+ gperf-native \
+ jsonschemabuilder-native \
+ nasm-native \
+ swig-native \
+ yasm-native \
+ zip-native \
+ avahi \
+ boost \
+ bzip2 \
+ curl \
+ dcadec \
+ enca \
+ expat \
+ faad2 \
+ ffmpeg \
+ fontconfig \
+ fribidi \
+ giflib \
+ jasper \
+ libass \
+ libcdio \
+ libcec \
+ libmad \
+ libmicrohttpd \
+ libmms \
+ libmms \
+ libmodplug \
+ libpcre \
+ libplist \
+ libsamplerate0 \
+ libsdl-image \
+ libsdl-mixer \
+ libsquish \
+ libssh \
+ libtinyxml \
+ libusb1 \
+ libxslt \
+ lzo \
+ mpeg2dec \
+ python \
+ samba \
+ sqlite3 \
+ taglib \
+ virtual/egl \
+ virtual/libsdl \
+ wavpack \
+ yajl \
+ zlib \
+ ${@enable_glew(bb, d)} \
+ "
+
+PROVIDES = "xbmc"
+
+SRCREV = "32c7788e7cce711be5b7f3893c82dddd79658268"
+PV = "17.0+gitr${SRCPV}"
+SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
+ file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+ file://0002-handle-SIGTERM.patch \
+ file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
+ file://0004-Disable-DVD-support.patch \
+"
+
+inherit autotools-brokensep gettext pythonnative
+
+S = "${WORKDIR}/git"
+
+# breaks compilation
+ASNEEDED = ""
+
+ACCEL ?= ""
+ACCEL_x86 = "vaapi vdpau"
+ACCEL_x86-64 = "vaapi vdpau"
+
+PACKAGECONFIG ??= "${ACCEL}"
+PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
+PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
+
+PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
+PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
+PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+
+EXTRA_OECONF_append_rpi = " --disable-openmax --enable-player=omxplayer --with-platform=raspberry-pi2"
+LDFLAGS_append_rpi = " -lvchostif "
+EXTRA_OECONF = " \
+ --disable-debug \
+ --disable-libcap \
+ --disable-ccache \
+ --disable-mid \
+ --enable-libusb \
+ --enable-alsa \
+ --enable-airplay \
+ --disable-optical-drive \
+ --with-ffmpeg=shared \
+ --enable-texturepacker=no \
+"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+# for python modules
+export HOST_SYS
+export BUILD_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+export PYTHON_DIR
+
+def enable_glew(bb, d):
+ if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+ return "glew"
+ return ""
+
+do_configure() {
+ ( for i in $(find ${S} -name "configure.*" ) ; do
+ cd $(dirname $i) && gnu-configize --force || true
+ done )
+ make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
+
+ BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ BOOTSTRAP_STANDALONE=1 make -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ oe_runconf
+}
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
+INSANE_SKIP_${PN} = "rpaths"
+
+FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
+FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
+
+# kodi uses some kind of dlopen() method for libcec so we need to add it manually
+# OpenGL builds need glxinfo, that's in mesa-demos
+RRECOMMENDS_${PN}_append = " libcec \
+ python \
+ python-lang \
+ python-re \
+ python-netclient \
+ python-html \
+ python-difflib \
+ python-json \
+ python-zlib \
+ python-shell \
+ python-sqlite3 \
+ python-compression \
+ libcurl \
+ ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
+"
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
+ glibc-gconv-ibm850 \
+ glibc-gconv-unicode \
+ glibc-gconv-utf-32 \
+ glibc-charmap-utf-8 \
+ glibc-localedata-en-us \
+ "
+
+RPROVIDES_${PN} += "xbmc"
+
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
deleted file mode 100644
index dfc3959..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0dce5a2abd9f42876616c35772a4d71c5399543c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 17 Dec 2011 11:38:15 +0100
-Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- m4/ax_python_devel.m4 | 7 +------
- 1 files changed, 1 insertions(+), 6 deletions(-)
-
-diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
-index adbd207..dee70f6 100644
---- a/m4/ax_python_devel.m4
-+++ b/m4/ax_python_devel.m4
-@@ -151,12 +151,7 @@ $ac_distutils_result])
- #
- AC_MSG_CHECKING([for Python include path])
- if test -z "$PYTHON_CPPFLAGS"; then
-- python_path=`$PYTHON -c "import distutils.sysconfig; \
-- print (distutils.sysconfig.get_python_inc ());"`
-- if test -n "${python_path}"; then
-- python_path="-I$python_path"
-- fi
-- PYTHON_CPPFLAGS=$python_path
-+ PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}"
- fi
- AC_MSG_RESULT([$PYTHON_CPPFLAGS])
- AC_SUBST([PYTHON_CPPFLAGS])
---
-1.7.2.5
-
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
deleted file mode 100644
index e0a4037..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 7b2a8a7869d257cba35f53f6d877877c29cdac27 Mon Sep 17 00:00:00 2001
-From: Paul Menzel <paulepanter@users.sourceforge.net>
-Date: Sun, 14 Aug 2011 21:53:47 +0200
-Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses."
-
-This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1.
-
-The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
-
- make -C xbmc/threads
- make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
- CPP Atomics.o
- /tmp/ccIzTm3L.s: Assembler messages:
- /tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish'
- make[1]: *** [Atomics.o] Error 1
- make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
- make: *** [xbmc/threads/threads.a] Error 2
----
- xbmc/threads/Atomics.cpp | 8 --------
- 1 files changed, 0 insertions(+), 8 deletions(-)
-
-diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
-index 5b09f18..0a98a7e 100644
---- a/xbmc/threads/Atomics.cpp
-+++ b/xbmc/threads/Atomics.cpp
-@@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "add %0, #1 \n" // (val += 1)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr)
- : "r1"
-@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "add %0, %2 \n" // (val += amount)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr), "r"(amount)
- : "r1"
-@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "sub %0, #1 \n" // (val -= 1)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr)
- : "r1"
-@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "sub %0, %2 \n" // (val -= amount)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr), "r"(amount)
- : "r1"
---
-1.7.2.5
-
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
deleted file mode 100644
index 629017b..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From aaae1616a09d359b52e929f944ca0ceb4bb7f831 Mon Sep 17 00:00:00 2001
-From: Paul Menzel <paulepanter@users.sourceforge.net>
-Date: Sun, 14 Aug 2011 21:55:09 +0200
-Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses."
-
-This reverts commit 92bab651e2253d172879995b50985645b77fecd2.
-
-The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
-
- CPP Atomics.o
- make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows'
- CPP GUIMediaWindow.o
- /tmp/ccrsywuV.s: Assembler messages:
- /tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish'
- /tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish'
- make[1]: *** [Atomics.o] Error 1
- make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/threads'
- make: *** [xbmc/threads/threads.a] Error 2
----
- xbmc/threads/Atomics.cpp | 33 ++++++++++++++++-----------------
- 1 files changed, 16 insertions(+), 17 deletions(-)
-
-diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
-index 0a98a7e..0967eb2 100644
---- a/xbmc/threads/Atomics.cpp
-+++ b/xbmc/threads/Atomics.cpp
-@@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
- #elif defined(__arm__)
- long cas(volatile long* pAddr, long expectedVal, long swapVal)
- {
-- register long prev;
-- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
-- "1: \n"
-- "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1) into prev (%0) and lock pAddr,
-- "cmp %0, %2 \n" // Verify that the current value (%0) == old value (%2)
-- "bne 2f \n" // Bail if the two values are not equal [not as expected]
-- "strex r1, %3, [%1] \n"
-- "cmp r1, #0 \n"
-- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
-- "2: \n"
-- : "=&r" (prev)
-- : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
-- : "r1"
-- );
-- return prev;
-+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal));
-+// register long prev;
-+// asm volatile (
-+// "1: \n"
-+// "ldrex %0, [%1] \n" /* Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, */
-+// "cmp %0, %2 \n" /* Verify that the current value (%0) == old value (%2) */
-+// "bne 2f \n" /* Bail if the two values are not equal [not as expected] */
-+// "strex r1, %3, [%1] \n"
-+// "cmp r1, #0 \n"
-+// "bne 1b \n"
-+// "2: "
-+// : "=&r" (prev)
-+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
-+// : "r1"
-+// );
-+// return prev;
- }
-
- #elif defined(__mips__)
---
-1.7.2.5
-
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
deleted file mode 100644
index 345e20e..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 11 Mar 2013 11:04:29 +0100
-Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Stature: backport
-
- configure.in | 12 +++++++-----
- 1 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index ef94683..c8b459b 100755
---- a/configure.in
-+++ b/configure.in
-@@ -18,9 +18,14 @@ tolower(){
- # check for library basenames
- AC_DEFUN([XB_FIND_SONAME],
- [
-+ #set -x
- if [[ "$host_vendor" != "apple" ]]; then
- AC_MSG_CHECKING([for lib$2 soname])
- $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
-+ if [[ -z $$1_FILENAME ]]; then
-+ #try gold linker syntax
-+ $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "$2")
-+ fi
- if [[ ! -z $$1_FILENAME ]]; then
- $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
- fi
-@@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME],
- AC_MSG_RESULT([$$1_SONAME])
- AC_SUBST($1_SONAME)
- fi
-+ #set +x
- ])
-
- # Function to push and pop libs and includes for a command
---
-1.7.7.6
-
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
deleted file mode 100644
index 5c14059..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Sat, 6 Oct 2012 06:40:03 -0300
-Subject: [PATCH] configure.in: Avoid running code or we break cross-compile
-
-Upstream-Status: Backport [similar change done for 12.0]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- configure.in | 6 +-----
- 1 files changed, 1 insertions(+), 5 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index ef94683..d7efcb0 100755
---- a/configure.in
-+++ b/configure.in
-@@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" = "yes"; then
- AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
-
- # Disable vdpau support if external libavcodec doesn't have it
-- AC_RUN_IFELSE(
-- AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]],
-- [[avcodec_register_all();
-- AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau");
-- return (codec) ? 0 : 1;]]),,
-+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
- [if test "x$use_vdpau" = "xyes"; then
- AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
- else
---
-1.7.2.5
-
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
deleted file mode 100644
index 0d8dd5c..0000000
--- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-SUMMARY = "XBMC Media Center"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
-
-DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad"
-#require recipes/egl/egl.inc
-
-
-SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
-
-# multiple issues
-PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
-
-PV = "11.0+gitr${SRCPV}"
-PR = "r14"
-SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \
- file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \
- file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \
- file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \
- file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \
- file://configure.in-Avoid-running-code.patch \
-"
-
-inherit autotools gettext python-dir
-
-S = "${WORKDIR}/git"
-
-# breaks compilation
-CCACHE = ""
-
-CACHED_CONFIGUREVARS += " \
- ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}"
-PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew"
-PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,"
-
-EXTRA_OECONF = " \
- --disable-rpath \
- --enable-libusb \
- --enable-airplay \
- --disable-optical-drive \
- --enable-external-libraries \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \
-"
-
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
-EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
-
-# for python modules
-export STAGING_LIBDIR
-export STAGING_INCDIR
-export PYTHON_DIR
-
-do_configure() {
- sh bootstrap
- oe_runconf
-}
-
-PARALLEL_MAKE = ""
-
-do_compile_prepend() {
- for i in $(find . -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
- done
-
- for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
- done
-}
-
-INSANE_SKIP_${PN} = "rpaths"
-
-# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
-do_install_append_arm() {
- sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
-}
-
-FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug"
-
-# xbmc uses some kind of dlopen() method for libcec so we need to add it manually
-# OpenGL builds need glxinfo, that's in mesa-demos
-RRECOMMENDS_${PN}_append = " libcec \
- python \
- python-lang \
- python-re \
- python-netclient \
- libcurl \
- xdpyinfo \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \
-"
-RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 09/49] fwts: Update to 16.09 release
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (6 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 10/49] libvdpau: Add recipe Khem Raj
` (39 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
license change is just year change from 2014 to 2016
Fix build with clang while here
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...nstant-logical-operand-warning-with-clang.patch | 81 ++++++++++++++++++++++
meta-oe/recipes-test/fwts/fwts_git.bb | 21 ++++--
2 files changed, 95 insertions(+), 7 deletions(-)
create mode 100644 meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch b/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
new file mode 100644
index 0000000..ccfe580
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
@@ -0,0 +1,81 @@
+From 953cff93c85d3cfd5cbcac56e14443dc5f6e5fbd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 01:57:16 +0000
+Subject: [PATCH] ignore constant-logical-operand warning with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/uefi/uefirtauthvar/uefirtauthvar.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+Index: git/src/uefi/uefirtauthvar/uefirtauthvar.c
+===================================================================
+--- git.orig/src/uefi/uefirtauthvar/uefirtauthvar.c
++++ git/src/uefi/uefirtauthvar/uefirtauthvar.c
+@@ -142,6 +142,9 @@ static int uefirtauthvar_deinit(fwts_fra
+ return FWTS_OK;
+ }
+
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wconstant-logical-operand"
++
+ static int check_fw_support(fwts_framework *fw, uint64_t status)
+ {
+ if ((status == EFI_INVALID_PARAMETER) &&
+@@ -172,6 +175,8 @@ static int check_fw_support(fwts_framewo
+ return FWTS_OK;
+ }
+
++#pragma clang diagnostic pop
++
+ /*
+ * Set the created authenticated variable, AuthVarCreate,
+ * and checking the data size and data.
+Index: git/src/lib/src/fwts_acpi_tables.c
+===================================================================
+--- git.orig/src/lib/src/fwts_acpi_tables.c
++++ git/src/lib/src/fwts_acpi_tables.c
+@@ -392,10 +392,14 @@ static int fwts_acpi_handle_fadt(
+ /* Determine FACS addr and load it.
+ * Will ignore the missing FACS in the hardware-reduced mode.
+ */
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Waddress-of-packed-member"
++
+ result = fwts_acpi_handle_fadt_tables(fw, fadt,
+ "FACS", "FIRMWARE_CTRL", "X_FIRMWARE_CTRL",
+ &fadt->firmware_control, &fadt->x_firmware_ctrl,
+ provenance);
++
+ if (result != FWTS_OK) {
+ if ((result == FWTS_NULL_POINTER) &&
+ fwts_acpi_is_reduced_hardware(fadt)) {
+@@ -414,6 +418,7 @@ static int fwts_acpi_handle_fadt(
+ return FWTS_ERROR;
+ }
+ return FWTS_OK;
++#pragma clang diagnostic pop
+ }
+
+ /*
+Index: git/src/dmi/dmicheck/dmicheck.c
+===================================================================
+--- git.orig/src/dmi/dmicheck/dmicheck.c
++++ git/src/dmi/dmicheck/dmicheck.c
+@@ -209,6 +209,8 @@ static const char *uuid_patterns[] = {
+ "0A0A0A0A-0A0A-0A0A-0A0A-0A0A0A0A0A0A",
+ NULL,
+ };
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wunneeded-internal-declaration"
+
+ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
+ { "Invalid", FWTS_SMBIOS_CHASSIS_INVALID },
+@@ -245,6 +247,7 @@ static const fwts_chassis_type_map fwts_
+ { "Convertible", FWTS_SMBIOS_CHASSIS_CONVERTIBLE },
+ { "Detachable", FWTS_SMBIOS_CHASSIS_DETACHABLE },
+ };
++#pragma clang diagnostic pop
+
+ /* Remapping table from buggy version numbers to correct values */
+ static const fwts_dmi_version dmi_versions[] = {
diff --git a/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-oe/recipes-test/fwts/fwts_git.bb
index 197fe20..b04be02 100644
--- a/meta-oe/recipes-test/fwts/fwts_git.bb
+++ b/meta-oe/recipes-test/fwts/fwts_git.bb
@@ -3,22 +3,29 @@ DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to
HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-PV = "14.12.00"
+PV = "16.09.00"
-SRCREV = "efc18d16294f492b7f72bba64344b2eed50e6a69"
-SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
+SRCREV = "15386283ad55e2a5b9366c1f43f4531ef79b01cb"
+SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \
+ file://0001-ignore-constant-logical-operand-warning-with-clang.patch \
+ "
S = "${WORKDIR}/git"
-DEPENDS = "libpcre json-c glib-2.0"
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
-inherit autotools-brokensep
+DEPENDS = "libpcre json-c glib-2.0 dtc"
-CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=misleading-indentation"
+inherit autotools pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
FILES_${PN}-dbg += "${libdir}/fwts/.debug"
+
+TOOLCHAIN = "gcc"
+
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 10/49] libvdpau: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (7 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 09/49] fwts: Update to 16.09 release Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-12-17 23:53 ` Martin Jansa
2016-11-23 9:21 ` [meta-oe][PATCH 11/49] krb5: Add -fPIC to compile flags Khem Raj
` (38 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
From: Koen Kooi <koen@dominion.thruhere.net>
Needed for x86 machines
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-graphics/vdpau/libvdpau_git.bb | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
new file mode 100644
index 0000000..31f4df4
--- /dev/null
+++ b/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext dri2proto"
+
+PV = "1.1.1+git${SRCPV}"
+
+SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_install_append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 11/49] krb5: Add -fPIC to compile flags
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (8 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 10/49] libvdpau: Add recipe Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 12/49] Disable PIE for libvdpau Khem Raj
` (37 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Fixes errors on x86_64 e.g.
errors.so: relocation R_X86_64_PC32 against symbol `k5_vset_error' can not be used when making a shared object; recompile with -fPIC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
index e2d0594..06f7f90 100644
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
@@ -51,8 +51,8 @@ CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regc
ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
ac_cv_file__etc_TIMEZONE=no"
-CFLAGS_append = " -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-LDFLAGS_append = " -lpthread"
+CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+LDFLAGS_append = " -pthread"
FILES_${PN} += "${datadir}/gnats"
FILES_${PN}-doc += "${datadir}/examples"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 12/49] Disable PIE for libvdpau
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (9 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 11/49] krb5: Add -fPIC to compile flags Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 13/49] kodi: Fix build with pic on x86_64 Khem Raj
` (36 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/conf/distro/include/meta_oe_security_flags.inc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
index 2559948..e57cc5b 100644
--- a/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ b/meta-oe/conf/distro/include/meta_oe_security_flags.inc
@@ -12,3 +12,8 @@ SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}"
+
+#| /mnt/b/build/tmp-glibc/sysroots/intel-corei7-64/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
+#| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start'
+
+SECURITY_CFLAGS_pn-libvdpau = "${SECURITY_NO_PIE_CFLAGS}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 13/49] kodi: Fix build with pic on x86_64
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (10 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 12/49] Disable PIE for libvdpau Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 14/49] kodi-17: Add packageconfig for lcms support Khem Raj
` (35 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Upgrade 17.x to latest on master
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../0012-Always-compile-libcpluff-as-PIC.patch | 30 ++++++++++++++++++++++
.../0005-Always-compile-libcpluff-as-PIC.patch | 30 ++++++++++++++++++++++
.../recipes-mediacenter/kodi/kodi_16.bb | 1 +
.../recipes-mediacenter/kodi/kodi_17.bb | 3 ++-
4 files changed, 63 insertions(+), 1 deletion(-)
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-16/0012-Always-compile-libcpluff-as-PIC.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0012-Always-compile-libcpluff-as-PIC.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0012-Always-compile-libcpluff-as-PIC.patch
new file mode 100644
index 0000000..f4b22cd
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-16/0012-Always-compile-libcpluff-as-PIC.patch
@@ -0,0 +1,30 @@
+From 1fa9026dbcaaf674aedc9734034869934845812a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 13:10:00 -0700
+Subject: [PATCH] Always compile libcpluff as PIC
+
+Fixes errors e.g.
+
+ld: lib/cpluff/libcpluff/.libs/libcpluff.a(pcontrol.o): relocation R_X86_64_PC32 against symbol `cp_stop_plugins' can not be used when making a shared object; recompile with -fPIC
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5d47a4a..cd59129 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2636,7 +2636,7 @@ XB_CONFIG_MODULE([lib/cpluff], [
+ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+ --host=$host_alias \
+ --build=$build_alias \
+- --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
++ --target=$target_alias --with-pic=yes CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
+ #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"
+ ], [0])
+
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch
new file mode 100644
index 0000000..f513334
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch
@@ -0,0 +1,30 @@
+From 603e8925a8b1609d483d866346a35fefbc66cfca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 13:10:00 -0700
+Subject: [PATCH 5/5] Always compile libcpluff as PIC
+
+Fixes errors e.g.
+
+ld: lib/cpluff/libcpluff/.libs/libcpluff.a(pcontrol.o): relocation R_X86_64_PC32 against symbol `cp_stop_plugins' can not be used when making a shared object; recompile with -fPIC
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index b210b73..52d5f11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2385,7 +2385,7 @@ XB_CONFIG_MODULE([lib/cpluff], [
+ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+ --host=$host_alias \
+ --build=$build_alias \
+- --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
++ --target=$target_alias --with-pic=yes CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
+ #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"
+ ], [0])
+
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
index 38a53ee..02216fc 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb
@@ -76,6 +76,7 @@ SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Jarvis \
file://0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch \
file://0010-curl-support-version-7.5.0-and-upwards.patch \
file://0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch \
+ file://0012-Always-compile-libcpluff-as-PIC.patch \
"
inherit autotools-brokensep gettext pythonnative
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index bdf077a..22b23c6 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -63,13 +63,14 @@ DEPENDS = " \
PROVIDES = "xbmc"
-SRCREV = "32c7788e7cce711be5b7f3893c82dddd79658268"
+SRCREV = "7f6abd1dd6d1aefcb4303083f34aaa90a8df9fce"
PV = "17.0+gitr${SRCPV}"
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
file://0002-handle-SIGTERM.patch \
file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
file://0004-Disable-DVD-support.patch \
+ file://0005-Always-compile-libcpluff-as-PIC.patch \
"
inherit autotools-brokensep gettext pythonnative
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 14/49] kodi-17: Add packageconfig for lcms support
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (11 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 13/49] kodi: Fix build with pic on x86_64 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 15/49] samba: Fix build with musl Khem Raj
` (34 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Keep it disabled by default, makes builds more
deterministic
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 22b23c6..05d9975 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -95,6 +95,7 @@ PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
EXTRA_OECONF_append_rpi = " --disable-openmax --enable-player=omxplayer --with-platform=raspberry-pi2"
LDFLAGS_append_rpi = " -lvchostif "
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 15/49] samba: Fix build with musl
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (12 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 14/49] kodi-17: Add packageconfig for lcms support Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 16/49] lockdev: Pretend GNU libc on musl Khem Raj
` (33 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../samba/samba-4.4.5/samba-4.2.7-pam.patch | 36 +++++++++
.../samba-4.3.9-remove-getpwent_r.patch | 87 ++++++++++++++++++++++
.../recipes-connectivity/samba/samba_4.4.5.bb | 7 ++
3 files changed, 130 insertions(+)
create mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch
create mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch
diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch
new file mode 100644
index 0000000..6b9ade9
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch
@@ -0,0 +1,36 @@
+Lifted from gentoo and ported to 4.4.5
+
+http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+
+Index: samba-4.4.5/source3/wscript
+===================================================================
+--- samba-4.4.5.orig/source3/wscript
++++ samba-4.4.5/source3/wscript
+@@ -873,7 +873,7 @@ msg.msg_accrightslen = sizeof(fd);
+ if conf.env.with_iconv:
+ conf.DEFINE('HAVE_ICONV', 1)
+
+- if Options.options.with_pam:
++ if Options.options.with_pam != False:
+ use_pam=True
+ conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
+ if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
+@@ -945,6 +945,15 @@ int i; i = PAM_RADIO_TYPE;
+ if use_pam:
+ conf.DEFINE('WITH_PAM', 1)
+ conf.DEFINE('WITH_PAM_MODULES', 1)
++ else:
++ Logs.warn("PAM disabled")
++ use_pam=False
++ conf.undefine('WITH_PAM')
++ conf.undefine('WITH_PAM_MODULES')
++ conf.undefine('HAVE_SECURITY_PAM_APPL_H')
++ conf.undefine('PAM_RHOST')
++ conf.undefine('PAM_TTY')
++ conf.undefine('HAVE_PAM_PAM_APPL_H')
+
+ seteuid = False
+
diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch
new file mode 100644
index 0000000..71db99c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch
@@ -0,0 +1,87 @@
+Musl does not have _r versions of getent() and getpwent() APIs
+
+Taken from gentoo
+http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: samba-4.4.5/source4/torture/local/nss_tests.c
+===================================================================
+--- samba-4.4.5.orig/source4/torture/local/nss_tests.c
++++ samba-4.4.5/source4/torture/local/nss_tests.c
+@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct tortu
+ return true;
+ }
+
+-
+ static bool test_getgrgid(struct torture_context *tctx,
+ gid_t gid,
+ struct group *grp_p)
+@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct tort
+ return true;
+ }
+
++#if HAVE_GETPWENT_R
+ static bool test_enum_r_passwd(struct torture_context *tctx,
+ struct passwd **pwd_array_p,
+ size_t *num_pwd_p)
+@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct to
+
+ return true;
+ }
++#endif
+
+ static bool torture_assert_passwd_equal(struct torture_context *tctx,
+ const struct passwd *p1,
+@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture
+ struct passwd *pwd, pwd1, pwd2;
+ size_t num_pwd;
+
+- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd),
++ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd),
+ "failed to enumerate passwd");
+
+ for (i=0; i < num_pwd; i++) {
+@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct t
+ struct passwd *pwd, pwd1, pwd2, pwd3, pwd4;
+ size_t num_pwd;
+
+- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd),
++ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd),
+ "failed to enumerate passwd");
+
+ for (i=0; i < num_pwd; i++) {
+@@ -531,6 +532,7 @@ static bool test_enum_group(struct tortu
+ return true;
+ }
+
++#if HAVE_GETGRENT_R
+ static bool test_enum_r_group(struct torture_context *tctx,
+ struct group **grp_array_p,
+ size_t *num_grp_p)
+@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct tor
+
+ return true;
+ }
++#endif
+
+ static bool torture_assert_group_equal(struct torture_context *tctx,
+ const struct group *g1,
+@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_
+ struct group *grp, grp1, grp2;
+ size_t num_grp;
+
+- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp),
++ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp),
+ "failed to enumerate group");
+
+ for (i=0; i < num_grp; i++) {
+@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct to
+ struct group *grp, grp1, grp2, grp3, grp4;
+ size_t num_grp;
+
+- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp),
++ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp),
+ "failed to enumerate group");
+
+ for (i=0; i < num_grp; i++) {
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb b/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
index e9694d4..a27bcd1 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
@@ -20,6 +20,10 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
file://0006-avoid-using-colon-in-the-checking-msg.patch \
file://volatiles.03_samba \
"
+SRC_URI_append_libc-musl = " \
+ file://samba-4.2.7-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ "
SRC_URI[md5sum] = "6950c5e9f7bdeb8a610c2ca957a15be4"
SRC_URI[sha256sum] = "b876ef2e63f66265490e80a122e66ef2d7616112b839df68f56ac2e1ce17a7bd"
@@ -29,6 +33,9 @@ inherit systemd waf-samba cpan-base perlnative update-rc.d
RDEPENDS_${PN}_remove = "perl"
DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio libpam"
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
SYSVINITTYPE_linuxstdbase = "lsb"
SYSVINITTYPE = "sysv"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 16/49] lockdev: Pretend GNU libc on musl
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (13 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 15/49] samba: Fix build with musl Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 17/49] kodi-17: Fix build with musl Khem Raj
` (32 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
it has all needed features but expects " -D__GNU_LIBRARY__"
so make it happy when using musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-support/lockdev/lockdev_git.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-oe/recipes-support/lockdev/lockdev_git.bb
index 023b9a7..507ce3f 100644
--- a/meta-oe/recipes-support/lockdev/lockdev_git.bb
+++ b/meta-oe/recipes-support/lockdev/lockdev_git.bb
@@ -18,3 +18,5 @@ do_configure_prepend () {
# Make automake happy
touch ChangeLog
}
+
+CFLAGS_append_libc-musl = " -D__GNU_LIBRARY__"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 17/49] kodi-17: Fix build with musl
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (14 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 16/49] lockdev: Pretend GNU libc on musl Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest Khem Raj
` (31 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../0006-build-Add-support-for-musl-triplets.patch | 180 ++++++++
.../kodi/kodi-17/0007-Remove-FILEWRAP.patch | 58 +++
.../kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch | 496 +++++++++++++++++++++
.../recipes-mediacenter/kodi/kodi_17.bb | 6 +
4 files changed, 740 insertions(+)
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch
new file mode 100644
index 0000000..71c5c41
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch
@@ -0,0 +1,180 @@
+From 99769ac5653884e49d1c8c34e65d2e565cd9e314 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 11:54:41 -0800
+Subject: [PATCH 6/6] build: Add support for musl triplets
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 12 ++++++------
+ m4/xbmc_arch.m4 | 22 +++++++++++-----------
+ tools/depends/configure.ac | 12 ++++++------
+ 3 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 52d5f11..a772973 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -526,7 +526,7 @@ case $host in
+ use_x11=no
+ build_shared_lib=yes
+ ;;
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="i486-linux"
+@@ -549,7 +549,7 @@ case $host in
+ fi
+ fi
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="x86_64-linux"
+@@ -601,17 +601,17 @@ case $host in
+ DEPENDS_ROOT_FOR_XCODE=$(echo ${prefix%/*})
+ AC_SUBST([DEPENDS_ROOT_FOR_XCODE])
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="powerpc-linux"
+ ;;
+- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
++ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="powerpc64-linux"
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="arm"
+@@ -621,7 +621,7 @@ case $host in
+ use_gl=no
+ USE_STATIC_FFMPEG=1
+ ;;
+- aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
+ target_platform=target_linux
+ ARCH="aarch64"
+ use_arch="aarch64"
+diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
+index d28f263..ff5dc20 100644
+--- a/m4/xbmc_arch.m4
++++ b/m4/xbmc_arch.m4
+@@ -2,10 +2,10 @@ AC_DEFUN([XBMC_SETUP_ARCH_DEFINES],[
+
+ # build detection and setup - this is the native arch
+ case $build in
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ i386-*-freebsd*)
+@@ -17,13 +17,13 @@ case $build in
+ *86*-apple-darwin*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
+ ;;
+- powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
++ powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*|powerpc64-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ *)
+@@ -33,10 +33,10 @@ esac
+
+ # host detection and setup - this is the target arch
+ case $host in
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ i386-*-freebsd*)
+@@ -54,16 +54,16 @@ case $host in
+ powerpc-apple-darwin*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
+ ;;
+- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
++ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
++ mips*-*-linux-gnu*|mips*-*-linux-uclibc*|mips*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ *-*linux-android*)
+diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
+index a0bc386..b96d20e 100644
+--- a/tools/depends/configure.ac
++++ b/tools/depends/configure.ac
+@@ -120,13 +120,13 @@ platform_cc=gcc
+ platform_cxx=g++
+
+ case $build in
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ build_os="linux"
+ ;;
+- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
++ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ build_os="linux"
+ ;;
+- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ build_os="linux"
+ ;;
+ *darwin*)
+@@ -186,7 +186,7 @@ case $host in
+ #android builds are always cross
+ cross_compiling="yes"
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ if test "$use_platform" = "auto"; then
+ if test "x$use_cpu" = "xauto"; then
+ use_cpu=$host_cpu
+@@ -210,12 +210,12 @@ case $host in
+ platform_os="linux"
+ fi
+ ;;
+- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
++ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ use_cpu=$host_cpu
+ use_toolchain="${use_toolchain:-/usr}"
+ platform_os="linux"
+ ;;
+- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ use_cpu=$host_cpu
+ use_toolchain="${use_toolchain:-/usr}"
+ platform_cflags="-fPIC -DPIC"
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch
new file mode 100644
index 0000000..c2d3259
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch
@@ -0,0 +1,58 @@
+From f4c5710192256e903b253353fb018ebd68d0b651 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 22:35:16 -0800
+Subject: [PATCH 7/8] Remove FILEWRAP
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/utils/posix/PosixInterfaceForCLog.cpp | 6 +-----
+ xbmc/utils/posix/PosixInterfaceForCLog.h | 4 +---
+ 2 files changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/xbmc/utils/posix/PosixInterfaceForCLog.cpp b/xbmc/utils/posix/PosixInterfaceForCLog.cpp
+index 6614487..a91d157 100644
+--- a/xbmc/utils/posix/PosixInterfaceForCLog.cpp
++++ b/xbmc/utils/posix/PosixInterfaceForCLog.cpp
+@@ -28,10 +28,6 @@
+ #include "platform/android/activity/XBMCApp.h"
+ #endif // TARGET_ANDROID
+
+-struct FILEWRAP : public FILE
+-{};
+-
+-
+ CPosixInterfaceForCLog::CPosixInterfaceForCLog() :
+ m_file(NULL)
+ { }
+@@ -51,7 +47,7 @@ bool CPosixInterfaceForCLog::OpenLogFile(const std::string &logFilename, const s
+ (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue
+ (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue
+
+- m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb");
++ m_file = fopen(logFilename.c_str(), "wb");
+ if (!m_file)
+ return false; // error, can't open log file
+
+diff --git a/xbmc/utils/posix/PosixInterfaceForCLog.h b/xbmc/utils/posix/PosixInterfaceForCLog.h
+index bb53442..2983e73 100644
+--- a/xbmc/utils/posix/PosixInterfaceForCLog.h
++++ b/xbmc/utils/posix/PosixInterfaceForCLog.h
+@@ -21,8 +21,6 @@
+
+ #include <string>
+
+-struct FILEWRAP; // forward declaration, wrapper for FILE
+-
+ class CPosixInterfaceForCLog
+ {
+ public:
+@@ -34,5 +32,5 @@ public:
+ void PrintDebugString(const std::string& debugString);
+ static void GetCurrentLocalTime(int& hour, int& minute, int& second);
+ private:
+- FILEWRAP* m_file;
++ FILE * m_file;
+ };
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch
new file mode 100644
index 0000000..7598c7a
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch
@@ -0,0 +1,496 @@
+From 3a10d9479e7c9a77c478b8b428e4309ff22e8498 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 23:08:27 -0800
+Subject: [PATCH 8/8] Fix file_Emu on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/cores/DllLoader/exports/emu_msvcrt.cpp | 28 ++--
+ xbmc/cores/DllLoader/exports/emu_msvcrt.h | 2 +-
+ .../DllLoader/exports/util/EmuFileWrapper.cpp | 172 +++++++++------------
+ xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h | 27 ++--
+ xbmc/cores/DllLoader/exports/wrapper.c | 4 +-
+ 5 files changed, 99 insertions(+), 134 deletions(-)
+
+diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
+index ab14942..a39014a 100644
+--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
+@@ -51,6 +51,7 @@
+ #include <fcntl.h>
+ #include <time.h>
+ #include <signal.h>
++#include <paths.h>
+ #ifdef TARGET_POSIX
+ #include "PlatformDefs.h" // for __stat64
+ #include "XFileUtils.h"
+@@ -476,13 +477,10 @@ extern "C"
+ EmuFileObject* o = g_emuFileWrapper.GetFileObjectByDescriptor(fd);
+ if (o)
+ {
+- if(!o->used)
+- return NULL;
+-
+ int nmode = convert_fmode(mode);
+ if( (o->mode & nmode) != nmode)
+ CLog::Log(LOGWARNING, "dll_fdopen - mode 0x%x differs from fd mode 0x%x", nmode, o->mode);
+- return &o->file_emu;
++ return g_emuFileWrapper.GetStreamByFileObject(o);
+ }
+ else if (!IS_STD_DESCRIPTOR(fd))
+ {
+@@ -545,7 +543,7 @@ extern "C"
+ return -1;
+ }
+ object->mode = iMode;
+- return g_emuFileWrapper.GetDescriptorByStream(&object->file_emu);
++ return g_emuFileWrapper.GetDescriptorByFileObject(object);
+ }
+ delete pFile;
+ return -1;
+@@ -1214,8 +1212,8 @@ extern "C"
+ {
+ FILE* file = NULL;
+ #if defined(TARGET_LINUX) && !defined(TARGET_ANDROID)
+- if (strcmp(filename, MOUNTED) == 0
+- || strcmp(filename, MNTTAB) == 0)
++ if (strcmp(filename, _PATH_MOUNTED) == 0
++ || strcmp(filename, _PATH_MNTTAB) == 0)
+ {
+ CLog::Log(LOGINFO, "%s - something opened the mount file, let's hope it knows what it's doing", __FUNCTION__);
+ return fopen(filename, mode);
+@@ -1622,7 +1620,7 @@ extern "C"
+ int ret;
+
+ ret = dll_fgetpos64(stream, &tmpPos);
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ *pos = (fpos_t)tmpPos;
+ #else
+ pos->__pos = (off_t)tmpPos.__pos;
+@@ -1635,8 +1633,9 @@ extern "C"
+ CFile* pFile = g_emuFileWrapper.GetFileXbmcByStream(stream);
+ if (pFile != NULL)
+ {
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+- *pos = pFile->GetPosition();
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++ uint64_t *ppos = (uint64_t *) pos;
++ *ppos = pFile->GetPosition();
+ #else
+ pos->__pos = pFile->GetPosition();
+ #endif
+@@ -1657,8 +1656,9 @@ extern "C"
+ int fd = g_emuFileWrapper.GetDescriptorByStream(stream);
+ if (fd >= 0)
+ {
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+- if (dll_lseeki64(fd, *pos, SEEK_SET) >= 0)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++ const uint64_t *ppos = (const uint64_t *) pos;
++ if (dll_lseeki64(fd, *ppos, SEEK_SET) >= 0)
+ #else
+ if (dll_lseeki64(fd, (__off64_t)pos->__pos, SEEK_SET) >= 0)
+ #endif
+@@ -1674,7 +1674,7 @@ extern "C"
+ {
+ // it might be something else than a file, or the file is not emulated
+ // let the operating system handle it
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ return fsetpos(stream, pos);
+ #else
+ return fsetpos64(stream, pos);
+@@ -1690,7 +1690,7 @@ extern "C"
+ if (fd >= 0)
+ {
+ fpos64_t tmpPos;
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ tmpPos= *pos;
+ #else
+ tmpPos.__pos = (off64_t)(pos->__pos);
+diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.h b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
+index 3294d9a..c7c483f 100644
+--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h
++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
+@@ -24,7 +24,7 @@
+ #define _onexit_t void*
+ #endif
+
+-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ typedef off_t __off_t;
+ typedef int64_t off64_t;
+ typedef off64_t __off64_t;
+diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
+index 8927d41..e9a2ab0 100644
+--- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
++++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
+@@ -52,16 +52,7 @@ constexpr bool isValidFilePtr(FILE* f)
+ }
+ CEmuFileWrapper::CEmuFileWrapper()
+ {
+- // since we always use dlls we might just initialize it directly
+- for (int i = 0; i < MAX_EMULATED_FILES; i++)
+- {
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+- m_files[i].used = false;
+-#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
+- m_files[i].file_emu._Placeholder = new kodi_iobuf();
+-#endif
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
+- }
++ memset(m_files, 0, sizeof(m_files));
+ }
+
+ CEmuFileWrapper::~CEmuFileWrapper()
+@@ -73,29 +64,7 @@ void CEmuFileWrapper::CleanUp()
+ {
+ CSingleLock lock(m_criticalSection);
+ for (int i = 0; i < MAX_EMULATED_FILES; i++)
+- {
+- if (m_files[i].used)
+- {
+- m_files[i].file_xbmc->Close();
+- delete m_files[i].file_xbmc;
+-
+- if (m_files[i].file_lock)
+- {
+- delete m_files[i].file_lock;
+- m_files[i].file_lock = nullptr;
+- }
+-#if !defined(TARGET_WINDOWS)
+- //Don't memset on Windows as it overwrites our pointer
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+-#endif
+- m_files[i].used = false;
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
+- }
+-#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
+- delete static_cast<kodi_iobuf*>(m_files[i].file_emu._Placeholder);
+- m_files[i].file_emu._Placeholder = nullptr;
+-#endif
+- }
++ UnRegisterFileObject(&m_files[i], true);
+ }
+
+ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+@@ -106,13 +75,11 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+
+ for (int i = 0; i < MAX_EMULATED_FILES; i++)
+ {
+- if (!m_files[i].used)
++ if (!m_files[i].file_xbmc)
+ {
+ // found a free location
+ object = &m_files[i];
+- object->used = true;
+ object->file_xbmc = pFile;
+- FileDescriptor(object->file_emu)->_file = (i + FILE_WRAPPER_OFFSET);
+ object->file_lock = new CCriticalSection();
+ break;
+ }
+@@ -121,82 +88,74 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+ return object;
+ }
+
+-void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
++void CEmuFileWrapper::UnRegisterFileObject(EmuFileObject *object, bool free_file)
++
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (! (i >= 0 && i < MAX_EMULATED_FILES))
+- return;
++ if (object && object->file_xbmc)
++ {
++ if (object->file_xbmc && free_file)
++ {
++ object->file_xbmc->Close();
++ delete object->file_xbmc;
++ }
++ if (object->file_lock)
++ {
++ delete object->file_lock;
++ }
+
+- if (!m_files[i].used)
+- return;
++ memset(object, 0, sizeof(*object));
++ }
++}
+
++void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
++{
+ CSingleLock lock(m_criticalSection);
+-
+- // we assume the emulated function alreay deleted the CFile object
+- if (m_files[i].file_lock)
+- {
+- delete m_files[i].file_lock;
+- m_files[i].file_lock = nullptr;
+- }
+-#if !defined(TARGET_WINDOWS)
+- //Don't memset on Windows as it overwrites our pointer
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+-#endif
+- m_files[i].used = false;
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
++ UnRegisterFileObject(GetFileObjectByDescriptor(fd), false);
+ }
+
+ void CEmuFileWrapper::UnRegisterFileObjectByStream(FILE* stream)
+ {
+ if (isValidFilePtr(stream))
+ {
+- return UnRegisterFileObjectByDescriptor(FileDescriptor(*stream)->_file);
++ CSingleLock lock(m_criticalSection);
++ UnRegisterFileObject(GetFileObjectByStream(stream), false);
+ }
+ }
+
+ void CEmuFileWrapper::LockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- m_files[i].file_lock->lock();
+- }
++ object->file_lock->lock();
+ }
+ }
+
+ bool CEmuFileWrapper::TryLockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- return m_files[i].file_lock->try_lock();
+- }
++ return object->file_lock->try_lock();
+ }
+ return false;
+ }
+
+ void CEmuFileWrapper::UnlockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- m_files[i].file_lock->unlock();
+- }
++ object->file_lock->unlock();
+ }
+ }
+
+ EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
++ int i = fd - 0x7000000;
+ if (i >= 0 && i < MAX_EMULATED_FILES)
+ {
+- if (m_files[i].used)
++ if (m_files[i].file_xbmc)
+ {
+ return &m_files[i];
+ }
+@@ -204,20 +163,39 @@ EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
+ return nullptr;
+ }
+
++int CEmuFileWrapper::GetDescriptorByFileObject(EmuFileObject *object)
++{
++ int i = object - m_files;
++ if (i >= 0 && i < MAX_EMULATED_FILES)
++ {
++ return 0x7000000 + i;
++ }
++
++ return -1;
++}
++
+ EmuFileObject* CEmuFileWrapper::GetFileObjectByStream(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
++ EmuFileObject *object = (EmuFileObject*) stream;
++ if (object >= &m_files[0] || object < &m_files[MAX_EMULATED_FILES])
+ {
+- return GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
++ if (object->file_xbmc)
++ {
++ return object;
++ }
+ }
++ return NULL;
++}
+
+- return nullptr;
++FILE* CEmuFileWrapper::GetStreamByFileObject(EmuFileObject *object)
++{
++ return (FILE*) object;
+ }
+
+ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByDescriptor(int fd)
+ {
+ auto object = GetFileObjectByDescriptor(fd);
+- if (object != nullptr && object->used)
++ if (object != nullptr)
+ {
+ return object->file_xbmc;
+ }
+@@ -228,8 +206,9 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
+ {
+ if (isValidFilePtr(stream))
+ {
+- auto object = GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
+- if (object != nullptr && object->used)
++ EmuFileObject* object = GetFileObjectByStream(stream);
++ if (object != NULL)
++
+ {
+ return object->file_xbmc;
+ }
+@@ -239,32 +218,21 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
+
+ int CEmuFileWrapper::GetDescriptorByStream(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
+- {
+- int i = FileDescriptor(*stream)->_file - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
+- {
+- return i + FILE_WRAPPER_OFFSET;
+- }
+- }
+- return -1;
++ return GetDescriptorByFileObject(GetFileObjectByStream(stream));
+ }
+
+ FILE* CEmuFileWrapper::GetStreamByDescriptor(int fd)
+ {
+- auto object = GetFileObjectByDescriptor(fd);
+- if (object != nullptr && object->used)
+- {
+- return &object->file_emu;
+- }
+- return nullptr;
++ return GetStreamByFileObject(GetFileObjectByDescriptor(fd));
++}
++
++bool CEmuFileWrapper::DescriptorIsEmulatedFile(int fd)
++{
++ return GetFileObjectByDescriptor(fd) != NULL;
+ }
+
+ bool CEmuFileWrapper::StreamIsEmulatedFile(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
+- {
+- return DescriptorIsEmulatedFile(FileDescriptor(*stream)->_file);
+- }
+- return false;
++ return GetFileObjectByStream(stream) != NULL;
+ }
++
+diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
+index 786fa85..311a5cf 100644
+--- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
++++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
+@@ -25,14 +25,14 @@
+ #include "system.h"
+ #include "threads/CriticalSection.h"
+
+-#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
+-#define _file _fileno
+-#elif defined(__UCLIBC__)
+-#define _file __filedes
+-#endif
++//#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
++//#define _file _fileno
++//#elif defined(__UCLIBC__)
++//#define _file __filedes
++//#endif
+
+ #define MAX_EMULATED_FILES 50
+-#define FILE_WRAPPER_OFFSET 0x00000200
++//#define FILE_WRAPPER_OFFSET 0x00000200
+
+ namespace XFILE
+ {
+@@ -47,12 +47,9 @@ struct kodi_iobuf {
+
+ typedef struct stEmuFileObject
+ {
+- FILE file_emu;
+ XFILE::CFile* file_xbmc;
+ CCriticalSection *file_lock;
+ int mode;
+- //Stick this last to avoid 3-7 bytes of padding
+- bool used;
+ } EmuFileObject;
+
+ class CEmuFileWrapper
+@@ -67,22 +64,22 @@ public:
+ void CleanUp();
+
+ EmuFileObject* RegisterFileObject(XFILE::CFile* pFile);
++ void UnRegisterFileObject(EmuFileObject*, bool free_file);
+ void UnRegisterFileObjectByDescriptor(int fd);
+ void UnRegisterFileObjectByStream(FILE* stream);
+ void LockFileObjectByDescriptor(int fd);
+ bool TryLockFileObjectByDescriptor(int fd);
+ void UnlockFileObjectByDescriptor(int fd);
+ EmuFileObject* GetFileObjectByDescriptor(int fd);
++ int GetDescriptorByFileObject(EmuFileObject*);
+ EmuFileObject* GetFileObjectByStream(FILE* stream);
++ FILE* GetStreamByFileObject(EmuFileObject*);
+ XFILE::CFile* GetFileXbmcByDescriptor(int fd);
+ XFILE::CFile* GetFileXbmcByStream(FILE* stream);
+- static int GetDescriptorByStream(FILE* stream);
++ int GetDescriptorByStream(FILE* stream);
+ FILE* GetStreamByDescriptor(int fd);
+- static constexpr bool DescriptorIsEmulatedFile(int fd)
+- {
+- return fd >= FILE_WRAPPER_OFFSET && fd < FILE_WRAPPER_OFFSET + MAX_EMULATED_FILES;
+- }
+- static bool StreamIsEmulatedFile(FILE* stream);
++ bool DescriptorIsEmulatedFile(int fd);
++ bool StreamIsEmulatedFile(FILE* stream);
+ private:
+ EmuFileObject m_files[MAX_EMULATED_FILES];
+ CCriticalSection m_criticalSection;
+diff --git a/xbmc/cores/DllLoader/exports/wrapper.c b/xbmc/cores/DllLoader/exports/wrapper.c
+index e363662..07825f3 100644
+--- a/xbmc/cores/DllLoader/exports/wrapper.c
++++ b/xbmc/cores/DllLoader/exports/wrapper.c
+@@ -39,13 +39,13 @@
+ #endif
+ #include <dlfcn.h>
+
+-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ typedef off_t __off_t;
+ typedef int64_t off64_t;
+ typedef off64_t __off64_t;
+ typedef fpos_t fpos64_t;
+ #define stat64 stat
+-#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ #define _G_va_list va_list
+ #endif
+ #endif
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 05d9975..13be123 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -71,6 +71,12 @@ SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
file://0004-Disable-DVD-support.patch \
file://0005-Always-compile-libcpluff-as-PIC.patch \
+ file://0006-build-Add-support-for-musl-triplets.patch \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0007-Remove-FILEWRAP.patch \
+ file://0008-Fix-file_Emu-on-musl.patch \
"
inherit autotools-brokensep gettext pythonnative
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (15 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 17/49] kodi-17: Fix build with musl Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-26 0:12 ` Martin Jansa
2016-11-23 9:21 ` [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0 Khem Raj
` (30 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Switch to using git
Gets aarch64 support
Define PV and use SRCPV
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../breakpad/{breakpad_svn.bb => breakpad_git.bb} | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
rename meta-oe/recipes-devtools/breakpad/{breakpad_svn.bb => breakpad_git.bb} (86%)
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
similarity index 86%
rename from meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
rename to meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index b573ea5..c0e306c 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
+++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -13,9 +13,25 @@ inherit autotools
BBCLASSEXTEND = "native"
-SRCREV = "r1435"
-SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
-S = "${WORKDIR}/trunk"
+PV = "1.0+git${SRCPV}"
+
+SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss"
+
+SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5"
+SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
+SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05"
+SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
+SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
+SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac"
+
+SRC_URI = "git://github.com/google/breakpad;name=breakpad \
+ git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \
+ git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \
+ git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
+ git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
+ git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
+"
+S = "${WORKDIR}/git"
COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (16 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-25 0:31 ` Martin Jansa
2016-11-23 9:21 ` [meta-networking][PATCH 20/49] arno-iptables-firewall: Add recipe Khem Raj
` (29 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Change-Id: I0015da261d540f99bfdebba703fef9403eebff7b
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-utils/xfsprogs/xfsprogs_3.2.3.bb | 55 ----------------------
.../recipes-utils/xfsprogs/xfsprogs_4.8.0.bb | 52 ++++++++++++++++++++
2 files changed, 52 insertions(+), 55 deletions(-)
delete mode 100644 meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
create mode 100644 meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
deleted file mode 100644
index 460a898..0000000
--- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a"
-DEPENDS = "util-linux"
-
-SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \
- file://xfsprogs-generate-crctable-which-is-moved-into-runti.patch \
- file://remove-install-as-user.patch \
- file://drop-configure-check-for-aio.patch \
-"
-
-SRC_URI[md5sum] = "9f383e36682709e62b12c125e5d8b895"
-SRC_URI[sha256sum] = "7a5124a880997939551b519610a2e54bd4cd0b0adfd563ce3f4de30827109ac9"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs libhandle"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no"
-do_configure () {
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f include/builddefs include/platform_defs.h
- # Recreate configure script.
- rm -f configure
- oe_runmake configure
- # Configure.
- export DEBUG="-DNDEBUG"
- gnu-configize --force
- oe_runconf
-}
-
-LIBTOOL = "${HOST_SYS}-libtool"
-EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
-TARGET_CC_ARCH += "${LDFLAGS}"
-PARALLEL_MAKE = ""
-
-do_install () {
- export DIST_ROOT=${D}
- oe_runmake install
- # needed for xfsdump
- oe_runmake install-dev
-}
-
-# http://errors.yoctoproject.org/Errors/Details/83236/
-PNBLACKLIST[xfsprogs] ?= "BROKEN: Needs upgrade to 4.5.0 version to be compatible with Kernel uapi changes from 4.5"
diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
new file mode 100644
index 0000000..049a4be
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a"
+DEPENDS = "util-linux"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+"
+SRC_URI[md5sum] = "4f047bc9a28b48a95c6db0ad5ce4dbcb"
+SRC_URI[sha256sum] = "82ce9cb3a55f4e208e8fe3471ff0aff0602b8300f3e50bdf05cc7e11549686f9"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
+
+FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no \
+ INSTALL_USER=root \
+ INSTALL_GROUP=root \
+"
+
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure_prepend () {
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+ # Recreate configure script.
+ oe_runmake configure
+}
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+}
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 20/49] arno-iptables-firewall: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (17 preceding siblings ...)
2016-11-23 9:21 ` [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 21/49] dibbler: " Khem Raj
` (28 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../arno-iptables-firewall_2.0.1g.bb | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
diff --git a/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb b/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
new file mode 100644
index 0000000..6fd0aff
--- /dev/null
+++ b/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
@@ -0,0 +1,35 @@
+SUMMARY = "IPTables based firewall scripts"
+HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&view=article&id=45&Itemid=63"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403"
+
+SRC_URI = "http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/${BPN}_${PV}.tar.gz \
+ "
+SRC_URI[md5sum] = "77eba7f148bf2840a3e35a6f50c9c353"
+SRC_URI[sha256sum] = "0bafd85ddc235752250eaec0c7fdb21e530912483f6807a97f86158ed2d301f7"
+
+S = "${WORKDIR}/${BPN}_${PV}"
+
+inherit systemd
+
+do_install() {
+ install -d ${D}${sysconfdir} ${D}${sbindir} ${D}${bindir} ${D}${systemd_unitdir}/system ${D}${sysconfdir}/init.d
+ install -d ${D}${datadir}/arno-iptables-firewall ${D}${sysconfdir}/arno-iptables-firewall
+ cp -r ${S}${sysconfdir}/arno-iptables-firewall ${D}${sysconfdir}/
+ install -m 0755 ${S}${sysconfdir}/init.d/arno-iptables-firewall ${D}${bindir}
+ install -m 0755 ${S}/bin/arno-iptables-firewall ${D}${sbindir}
+ install -m 0755 ${S}/bin/arno-fwfilter ${D}${bindir}
+ cp -r ${S}/share/arno-iptables-firewall/* ${D}${datadir}/arno-iptables-firewall
+ cp -r ${S}/etc/arno-iptables-firewall/* ${D}${sysconfdir}/arno-iptables-firewall
+ install -m 0644 ${S}/${systemd_unitdir}/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system
+ sed -i -e 's%/usr/local/sbin%${bindir}%g' ${D}${systemd_unitdir}/system/arno-iptables-firewall.service
+ sed -i -e 's%/usr/local/sbin%${sbindir}%g' ${D}${bindir}/arno-iptables-firewall
+ sed -i -e 's%/usr/local%${exec_prefix}%g' ${D}${sysconfdir}/arno-iptables-firewall/firewall.conf
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${bindir}/arno-fwfilter
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/traffic-accounting-helper
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/dyndns-host-open-helper
+}
+
+SYSTEMD_SERVICE_${PN} = "arno-iptables-firewall.service"
+FILES_${PN} += "${systemd_unitdir}/system/arno-iptables-firewall.service"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 21/49] dibbler: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (18 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 20/49] arno-iptables-firewall: Add recipe Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 22/49] ez-ipupdate: " Khem Raj
` (27 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
dibbler is a light weight DHCPv6 implementation
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../dibbler/dibbler_fix_getSize_crash.patch | 72 ++++++++++++++++
.../dibbler/dibbler/types.patch | 96 ++++++++++++++++++++++
.../recipes-connectivity/dibbler/dibbler_1.0.1.bb | 37 +++++++++
3 files changed, 205 insertions(+)
create mode 100644 meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch
create mode 100644 meta-networking/recipes-connectivity/dibbler/dibbler/types.patch
create mode 100644 meta-networking/recipes-connectivity/dibbler/dibbler_1.0.1.bb
diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch b/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch
new file mode 100644
index 0000000..adb249f
--- /dev/null
+++ b/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch
@@ -0,0 +1,72 @@
+diff --git a/ClntMessages/ClntMsg.cpp b/ClntMessages/ClntMsg.cpp
+index eeaadd0..0cf5dce 100644
+--- a/ClntMessages/ClntMsg.cpp
++++ b/ClntMessages/ClntMsg.cpp
+@@ -346,7 +346,9 @@ unsigned long TClntMsg::getTimeout()
+
+ void TClntMsg::send()
+ {
+- char* pkt = new char[getSize()];
++ size_t size = getSize();
++ char* pkt = new char[size];
++ memset(pkt, 0, size);
+
+ srand((uint32_t)time(NULL));
+ if (!RC)
+@@ -364,7 +366,7 @@ void TClntMsg::send()
+
+ RC++;
+
+- this->storeSelf(pkt);
++ storeSelf(pkt);
+
+ SPtr<TIfaceIface> ptrIface = ClntIfaceMgr().getIfaceByID(Iface);
+ if (!ptrIface) {
+diff --git a/ClntMessages/ClntMsgRequest.cpp b/ClntMessages/ClntMsgRequest.cpp
+index 4a7b5da..f3e40fd 100644
+--- a/ClntMessages/ClntMsgRequest.cpp
++++ b/ClntMessages/ClntMsgRequest.cpp
+@@ -143,7 +143,10 @@ TClntMsgRequest::TClntMsgRequest(List(TAddrIA) IAs,
+ IsDone=false;
+ SPtr<TOpt> ptr;
+ ptr = new TOptDUID(OPTION_CLIENTID, ClntCfgMgr().getDUID(), this );
+- Options.push_back( ptr );
++
++ if ( ptr ) {
++ Options.push_back( ptr );
++ }
+
+ if (!srvDUID) {
+ Log(Error) << "Unable to send REQUEST: ServerId not specified.\n" << LogEnd;
+@@ -154,7 +157,9 @@ TClntMsgRequest::TClntMsgRequest(List(TAddrIA) IAs,
+ ptr = (Ptr*) new TOptDUID(OPTION_SERVERID, srvDUID,this);
+ // all IAs provided by checkSolicit
+ SPtr<TAddrIA> ClntAddrIA;
+- Options.push_back( ptr );
++ if ( ptr ) {
++ Options.push_back( ptr );
++ }
+
+ IAs.first();
+ while (ClntAddrIA = IAs.get())
+diff --git a/Messages/Msg.cpp b/Messages/Msg.cpp
+index baa6c86..6eef6c7 100644
+--- a/Messages/Msg.cpp
++++ b/Messages/Msg.cpp
+@@ -66,10 +66,15 @@ int TMsg::getSize()
+ {
+ int pktsize=0;
+ TOptList::iterator opt;
++ int optionCount = 0;
+ for (opt = Options.begin(); opt!=Options.end(); ++opt)
+ {
+- pktsize += (*opt)->getSize();
++ Log(Info) << "### CPE Debug - Option with index " << optionCount++ << LogEnd ;
++ Log(Info) << "### CPE Debug - Option with type " << (*opt)->getOptType() << LogEnd ;
++ pktsize += (*opt)->getSize();
+ }
++ Log(Info) << "### CPE Debug - Packet size of option (Add 4) " << pktsize << LogEnd ;
++
+ return pktsize + 4;
+ }
+
diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler/types.patch b/meta-networking/recipes-connectivity/dibbler/dibbler/types.patch
new file mode 100644
index 0000000..28f18ef
--- /dev/null
+++ b/meta-networking/recipes-connectivity/dibbler/dibbler/types.patch
@@ -0,0 +1,96 @@
+Apply fixes to build on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+
+Index: dibbler-1.0.1/IfaceMgr/IfaceMgr.cpp
+===================================================================
+--- dibbler-1.0.1.orig/IfaceMgr/IfaceMgr.cpp
++++ dibbler-1.0.1/IfaceMgr/IfaceMgr.cpp
+@@ -16,6 +16,7 @@
+ #include <string>
+ #include <stdlib.h>
+ #include <errno.h>
++#include <sys/select.h>
+ #include "Portable.h"
+ #include "IfaceMgr.h"
+ #include "Iface.h"
+Index: dibbler-1.0.1/IfaceMgr/SocketIPv6.h
+===================================================================
+--- dibbler-1.0.1.orig/IfaceMgr/SocketIPv6.h
++++ dibbler-1.0.1/IfaceMgr/SocketIPv6.h
+@@ -18,6 +18,7 @@ class TIfaceSocket;
+
+ #include <iostream>
+ #include <string>
++#include <sys/select.h>
+
+ #include "Portable.h"
+ #include "DHCPConst.h"
+Index: dibbler-1.0.1/Port-linux/ethtool-local.h
+===================================================================
+--- dibbler-1.0.1.orig/Port-linux/ethtool-local.h
++++ dibbler-1.0.1/Port-linux/ethtool-local.h
+@@ -22,9 +22,9 @@
+ */
+
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
+
+ #include "ethtool-kernel.h"
+
+Index: dibbler-1.0.1/Port-linux/interface.c
+===================================================================
+--- dibbler-1.0.1.orig/Port-linux/interface.c
++++ dibbler-1.0.1/Port-linux/interface.c
+@@ -26,6 +26,7 @@
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+ #include <linux/if.h>
++#include <linux/sockios.h>
+ #include <syslog.h>
+ #include <string.h>
+ #include <errno.h>
+@@ -35,13 +36,10 @@
+ #include <stdlib.h>
+ #include <assert.h>
+
+-#include <net/if.h>
+
+ #include "ethtool-local.h"
+ #include "interface.h"
+ #include <stdarg.h>
+-#include <linux/sockios.h>
+-#include <linux/if_ether.h>
+
+ void daemon_log(int loglevel, const char *fmt,...)
+ {
+Index: dibbler-1.0.1/Port-linux/lowlevel-linux-link-state.c
+===================================================================
+--- dibbler-1.0.1.orig/Port-linux/lowlevel-linux-link-state.c
++++ dibbler-1.0.1/Port-linux/lowlevel-linux-link-state.c
+@@ -18,7 +18,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <bits/sigthread.h>
+ #include "Portable.h"
+ #include "interface.h"
+
+Index: dibbler-1.0.1/Port-linux/utils.h
+===================================================================
+--- dibbler-1.0.1.orig/Port-linux/utils.h
++++ dibbler-1.0.1/Port-linux/utils.h
+@@ -4,6 +4,7 @@
+ #include <asm/types.h>
+ //#include <resolv.h>
+ #include <linux/types.h>
++#include <sys/types.h>
+
+ #include "libnetlink.h"
+ #include "ll_map.h"
diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler_1.0.1.bb b/meta-networking/recipes-connectivity/dibbler/dibbler_1.0.1.bb
new file mode 100644
index 0000000..a2d46db
--- /dev/null
+++ b/meta-networking/recipes-connectivity/dibbler/dibbler_1.0.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Dibbler DHCPv6 client"
+DESCRIPTION = "Dibbler is a portable DHCPv6 implementation. It supports stateful as well as stateless autoconfiguration for IPv6."
+HOMEPAGE = "http://klub.com.pl/dhcpv6"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7236695bb6d4461c105d685a8b61c4e3"
+
+SRC_URI = "http://klub.com.pl/dhcpv6/${BPN}/${P}.tar.gz \
+ file://dibbler_fix_getSize_crash.patch \
+ file://types.patch \
+"
+SRC_URI[md5sum] = "93357bea3ec35b0c1d11242055361409"
+SRC_URI[sha256sum] = "27869877e060c039cbc24a5f6a9dd69006bf67de0ffdf29a645a80aef6e476a1"
+
+PACKAGECONFIG ??= "debug bind-reuse resolvconf dns-update"
+
+PACKAGECONFIG[debug] = "--enable-debug,,,"
+PACKAGECONFIG[efence] = "--enable-efence,,,"
+PACKAGECONFIG[bind-reuse] = "--enable-bind-reuse,,,"
+PACKAGECONFIG[dst-addr-filter] = "--enable-dst-addr-check,,,"
+PACKAGECONFIG[resolvconf] = "--enable-resolvconf,,,"
+PACKAGECONFIG[dns-update] = "--enable-dns-update,,,"
+PACKAGECONFIG[auth] = "--enable-auth,,,"
+PACKAGECONFIG[gtest] = "--enable-gtest-static,,,"
+
+inherit autotools
+
+DEPENDS += "flex-native"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+PACKAGES =+ "${PN}-requestor ${PN}-client ${PN}-relay ${PN}-server"
+
+FILES_${PN}-client = "${sbindir}/${PN}-client"
+FILES_${PN}-relay = "${sbindir}/${PN}-relay"
+FILES_${PN}-requestor = "${sbindir}/${PN}-requestor"
+FILES_${PN}-server = "${sbindir}/${PN}-server"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 22/49] ez-ipupdate: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (19 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 21/49] dibbler: " Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 23/49] miniupnpd: " Khem Raj
` (26 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
A client for automaticly updating your dynamic hostname parameters
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../ez-ipupdate/ez-ipupdate_3.0.11b7.bb | 15 ++++++++++
.../ez-ipupdate/files/Makefile.am.patch | 14 ++++++++++
.../ez-ipupdate/files/cache_file.c.patch | 32 ++++++++++++++++++++++
.../ez-ipupdate/files/conf_file.c.patch | 18 ++++++++++++
4 files changed, 79 insertions(+)
create mode 100644 meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb
create mode 100644 meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch
create mode 100644 meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch
create mode 100644 meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch
diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb
new file mode 100644
index 0000000..cb5375c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb
@@ -0,0 +1,15 @@
+SUMMARY = "daemon that sends updates when your IP changes"
+HOMEPAGE = "http://sourceforge.net/projects/ez-ipupdate/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31"
+
+SRC_URI = "http://sourceforge.net/projects/ez-ipupdate/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+ file://Makefile.am.patch \
+ file://cache_file.c.patch \
+ file://conf_file.c.patch \
+ "
+SRC_URI[md5sum] = "525be4550b4461fdf105aed8e753b020"
+SRC_URI[sha256sum] = "a15ec0dc0b78ec7578360987c68e43a67bc8d3591cbf528a323588830ae22c20"
+
+inherit autotools pkgconfig
diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch
new file mode 100644
index 0000000..d80ed3e
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch
@@ -0,0 +1,14 @@
+Remove EXTRASRC and EXTRAOBJ from obj list
+
+--- ez-ipupdate-3.0.11b7/Makefile.am.orig 2014-07-02 13:47:50.758034983 -0600
++++ ez-ipupdate-3.0.11b7/Makefile.am 2014-07-02 13:48:38.406034650 -0600
+@@ -1,7 +1,7 @@
+
+ bin_PROGRAMS = ez-ipupdate
+-ez_ipupdate_SOURCES = ez-ipupdate.c conf_file.c conf_file.h md5.c md5.h cache_file.c cache_file.h error.h pid_file.c pid_file.h dprintf.h @EXTRASRC@
+-ez_ipupdate_LDADD = @EXTRAOBJ@
++ez_ipupdate_SOURCES = ez-ipupdate.c conf_file.c conf_file.h md5.c md5.h cache_file.c cache_file.h error.h pid_file.c pid_file.h dprintf.h
++ez_ipupdate_LDADD =
+
+ EXTRA_DIST = getpass.c ez-ipupdate.lsm example.conf example-pgpow.conf example-dhs.conf example-dyndns.conf example-ods.conf example-tzo.conf example-gnudip.conf example-easydns.conf example-justlinux.conf example-dyns.conf CHANGELOG mkbinary example-heipv6tb.conf
+
diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch
new file mode 100644
index 0000000..de5eb3a
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch
@@ -0,0 +1,32 @@
+Dont assume errno type
+
+--- ez-ipupdate-3.0.11b7/cache_file.c.orig 2014-07-02 14:01:07.126029412 -0600
++++ ez-ipupdate-3.0.11b7/cache_file.c 2014-07-02 14:08:27.422026332 -0600
+@@ -43,11 +43,11 @@
+ #include <cache_file.h>
+
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
+@@ -63,11 +63,11 @@
+ # define dprintf(x)
+ #endif
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch
new file mode 100644
index 0000000..02218a3
--- /dev/null
+++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch
@@ -0,0 +1,18 @@
+Dont assume errno type
+
+--- ez-ipupdate-3.0.11b7/conf_file.c.orig 2014-07-02 14:01:19.174029328 -0600
++++ ez-ipupdate-3.0.11b7/conf_file.c 2014-07-02 14:08:42.982026223 -0600
+@@ -38,11 +38,11 @@
+ #include <conf_file.h>
+
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 23/49] miniupnpd: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (20 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 22/49] ez-ipupdate: " Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-26 0:16 ` Martin Jansa
2016-11-23 9:21 ` [meta-networking][PATCH 24/49] inetutils: Disable rsh, rcp, rlogin on musl Khem Raj
` (25 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../miniupnpd/miniupnpd_2.0.bb | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
diff --git a/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
new file mode 100644
index 0000000..dfa3fed
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Lightweight UPnP IGD daemon"
+DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
+which provide NAT traversal services to any UPnP enabled client on \
+the network."
+
+SECTION = "networking"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
+
+inherit autotools gettext pkgconfig
+
+DEPENDS += "iptables net-tools util-linux"
+
+SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz \
+"
+SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
+SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
+
+IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
+
+do_compile() {
+ cd ${S}
+ CONFIG_OPTIONS="${IPV6} --leasefile" ./genconfig.sh
+ oe_runmake -f Makefile.linux
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/miniupnpd ${D}/${sbindir}
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
+ install -d ${D}/${sysconfdir}/init.d
+ install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
+}
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 24/49] inetutils: Disable rsh, rcp, rlogin on musl
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (21 preceding siblings ...)
2016-11-23 9:21 ` [meta-multimedia][PATCH 23/49] miniupnpd: " Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 25/49] ssmtp: Add recipe Khem Raj
` (24 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
They all need rcmd() API from rpc implementation
and while glibc provides it bundled, musl does not
so we disable these apps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-connectivity/inetutils/inetutils_1.9.4.bb | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
index 8db6b74..6d841fa 100644
--- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -5,6 +5,7 @@ talkd, telnet, telnetd, tftp, tftpd, and uucpd."
HOMEPAGE = "http://www.gnu.org/software/inetutils"
SECTION = "net"
DEPENDS = "ncurses netbase readline"
+
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
@@ -46,6 +47,8 @@ EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
--enable-rpath=no \
"
+EXTRA_OECONF_append_libc-musl = " --disable-rsh --disable-rcp --disable-rlogin "
+
do_configure_prepend () {
export HELP2MAN='true'
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
@@ -64,9 +67,15 @@ do_install_append () {
mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
- mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
- mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
- mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
+ if [ -e ${D}${libexecdir}/rlogind ]; then
+ mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
+ fi
+ if [ -e ${D}${libexecdir}/rshd ]; then
+ mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
+ fi
+ if [ -e ${D}${libexecdir}/talkd ]; then
+ mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
+ fi
mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
mv ${D}${libexecdir}/* ${D}${bindir}/
cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec
@@ -76,7 +85,9 @@ do_install_append () {
cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd
sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
-
+ if [ -e ${D}${libdir}/charset.alias ]; then
+ rm -rf ${D}${libdir}/charset.alias
+ fi
rm -rf ${D}${libexecdir}/
# remove usr/lib if empty
rmdir ${D}${libdir} || true
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 25/49] ssmtp: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (22 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 24/49] inetutils: Disable rsh, rcp, rlogin on musl Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 26/49] ne10: Update to latest Khem Raj
` (23 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../ssmtp/ssmtp/build-ouside_srcdir.patch | 17 +++++
.../recipes-support/ssmtp/ssmtp/use-DESTDIR.patch | 74 ++++++++++++++++++++++
.../recipes-support/ssmtp/ssmtp_2.64.bb | 31 +++++++++
3 files changed, 122 insertions(+)
create mode 100644 meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch
create mode 100644 meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch
create mode 100644 meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
diff --git a/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch b/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch
new file mode 100644
index 0000000..d53cff2
--- /dev/null
+++ b/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch
@@ -0,0 +1,17 @@
+help compile when S != B
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: ssmtp-2.64/Makefile.in
+===================================================================
+--- ssmtp-2.64.orig/Makefile.in
++++ ssmtp-2.64/Makefile.in
+@@ -24,7 +24,7 @@ INSTALLED_REVALIASES_FILE=$(REVALIASES_F
+ # Programs
+ GEN_CONFIG=$(srcdir)/generate_config
+
+-SRCS=ssmtp.c arpadate.c base64.c xgethostname.c @SRCS@
++SRCS=$(srcdir)/ssmtp.c $(srcdir)/arpadate.c $(srcdir)/base64.c $(srcdir)/xgethostname.c @SRCS@
+
+ OBJS=$(SRCS:.c=.o)
+
diff --git a/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch b/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch
new file mode 100644
index 0000000..26d8527
--- /dev/null
+++ b/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch
@@ -0,0 +1,74 @@
+Use DESTDIR during install/uninstall, this helps
+with cross or staged builds. Additionally pass LDFLAGS
+during linking.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+
+Index: ssmtp-2.64/Makefile.in
+===================================================================
+--- ssmtp-2.64.orig/Makefile.in
++++ ssmtp-2.64/Makefile.in
+@@ -46,40 +46,40 @@ all: ssmtp
+
+ .PHONY: install
+ install: ssmtp $(GEN_CONFIG)
+- $(INSTALL) -d -m 755 $(bindir)
+- $(INSTALL) -s -m 755 ssmtp $(bindir)/ssmtp
+- $(INSTALL) -d -m 755 $(mandir)
+- $(INSTALL) -m 644 $(srcdir)/ssmtp.8 $(mandir)/ssmtp.8
+- $(INSTALL) -d -m 755 $(SSMTPCONFDIR)
+- $(INSTALL) -m 644 $(srcdir)/revaliases $(INSTALLED_REVALIASES_FILE)
+- $(GEN_CONFIG) $(INSTALLED_CONFIGURATION_FILE)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
++ $(INSTALL) -m 755 ssmtp $(DESTDIR)$(bindir)/ssmtp
++ $(INSTALL) -d -m 755 $(DESTDIR)$(mandir)
++ $(INSTALL) -m 644 $(srcdir)/ssmtp.8 $(DESTDIR)$(mandir)/ssmtp.8
++ $(INSTALL) -d -m 755 $(DESTDIR)$(SSMTPCONFDIR)
++ $(INSTALL) -m 644 $(srcdir)/revaliases $(DESTDIR)$(INSTALLED_REVALIASES_FILE)
++ $(GEN_CONFIG) $(DESTDIR)$(INSTALLED_CONFIGURATION_FILE)
+
+
+ .PHONY: install-sendmail
+ install-sendmail: install
+- $(RM) $(bindir)/sendmail
+- $(LN_S) ssmtp $(bindir)/sendmail
+- $(INSTALL) -d -m 755 $(libexecdir)
+- $(RM) $(libexecdir)/sendmail
+- $(LN_S) sendmail /lib/sendmail
+- $(RM) $(mandir)/sendmail.8
+- $(LN_S) ssmtp.8 $(mandir)/sendmail.8
++ $(RM) $(DESTDIR)$(bindir)/sendmail
++ $(LN_S) ssmtp $(DESTDIR)$(bindir)/sendmail
++ $(INSTALL) -d -m 755 $(DESTDIR)$(libexecdir)
++ $(RM) $(DESTDIR)$(libexecdir)/sendmail
++ $(LN_S) sendmail $(DESTDIR)/lib/sendmail
++ $(RM) $(DESTDIR)$(mandir)/sendmail.8
++ $(LN_S) ssmtp.8 $(DESTDIR)$(mandir)/sendmail.8
+
+ .PHONY: uninstall
+ uninstall:
+- $(RM) $(bindir)/ssmtp
+- $(RM) $(mandir)/ssmtp.8
+- $(RM) $(CONFIGURATION_FILE) $(REVALIASES_FILE)
+- $(RM) -r $(SSMTPCONFDIR)
++ $(RM) $(DESTDIR)$(bindir)/ssmtp
++ $(RM) $(DESTDIR)$(mandir)/ssmtp.8
++ $(RM) $(DESTDIR)$(CONFIGURATION_FILE) $(DESTDIR)$(REVALIASES_FILE)
++ $(RM) -r $(DESTDIR)$(SSMTPCONFDIR)
+
+ .PHONY: uninstall-sendmail
+ uninstall-sendmail: uninstall
+- $(RM) $(bindir)/sendmail /lib/sendmail
+- $(RM) $(mandir)/sendmail.8
++ $(RM) $(DESTDIR)$(bindir)/sendmail $(DESTDIR)/lib/sendmail
++ $(RM) $(DESTDIR)$(mandir)/sendmail.8
+
+ # Binaries:
+ ssmtp: $(OBJS)
+- $(CC) -o ssmtp $(OBJS) @LIBS@ $(CFLAGS)
++ $(CC) -o ssmtp $(OBJS) @LIBS@ $(CFLAGS) $(LDFLAGS)
+
+ .PHONY: clean
+ clean:
diff --git a/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
new file mode 100644
index 0000000..9d4864d
--- /dev/null
+++ b/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
@@ -0,0 +1,31 @@
+SUMMARY = "extremely simple MTA to get mail off the system to a mail hub"
+HOMEPAGE = "http://packages.qa.debian.org/s/ssmtp.html"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
+
+SRC_URI = "\
+ ${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
+ file://build-ouside_srcdir.patch \
+ file://use-DESTDIR.patch \
+ "
+
+EXTRA_OECONF += "--mandir=${mandir}"
+
+EXTRA_OEMAKE = "GEN_CONFIG='/bin/true'"
+
+SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f"
+SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36"
+
+inherit autotools pkgconfig
+
+DEPENDS += "openssl inetutils"
+
+do_install_append () {
+ install -d ${D}${mandir}/
+ mv ${D}${exec_prefix}/man/* ${D}${mandir}/
+ rmdir ${D}${exec_prefix}/man
+ ln -s ssmtp ${D}${sbindir}/sendmail
+ ln -s ssmtp ${D}${sbindir}/newaliases
+ ln -s ssmtp ${D}${sbindir}/mailq
+}
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 26/49] ne10: Update to latest
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (23 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 25/49] ssmtp: Add recipe Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 27/49] libgit2: Update to 0.24.3 Khem Raj
` (22 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
* Patch to build with clang
* license checksum changed due to Copyright year change
https://github.com/kraj/Ne10/commit/fee112eb2278469e7cfe2516dffa2ecfa5ad4c9a
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...01-CMakeLists.txt-Remove-mthumb-interwork.patch | 44 ++++++++++++++++++++++
meta-oe/recipes-support/ne10/ne10_1.2.1.bb | 9 +++--
2 files changed, 50 insertions(+), 3 deletions(-)
create mode 100644 meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
diff --git a/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch b/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
new file mode 100644
index 0000000..9f2faaa
--- /dev/null
+++ b/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
@@ -0,0 +1,44 @@
+From 8a0d1cbfcc0649b2696c9cf20f877366de259ce3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 12 Nov 2016 18:15:26 +0000
+Subject: [PATCH] CMakeLists.txt: Remove -mthumb-interwork
+
+This option is meaningless with aapcs ABI
+which is the default for Linux and android
+for armv7+ architectures
+
+As an aside it helps in compiling with clang
+where this option is absent
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 784a5a8..68da920 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,7 @@ if(ANDROID_PLATFORM)
+
+ # Adding cflags for armv7. Aarch64 does not need such flags.
+ if(${NE10_TARGET_ARCH} STREQUAL "armv7")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfloat-abi=${FLOAT_ABI} -mfpu=vfp3")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfloat-abi=${FLOAT_ABI} -mfpu=vfp3")
+ if(NE10_ARM_HARD_FLOAT)
+ # "--no-warn-mismatch" is needed for linker to suppress linker error about not all functions use VFP register to pass argument, eg.
+ # .../arm-linux-androideabi/bin/ld: error: ..../test-float.o
+@@ -138,8 +138,8 @@ if(ANDROID_PLATFORM)
+ ${CMAKE_C_FLAGS}")
+ elseif(GNULINUX_PLATFORM)
+ if("${NE10_TARGET_ARCH}" STREQUAL "armv7")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfpu=vfp3 -funsafe-math-optimizations")
+- set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfpu=neon")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=vfp3 -funsafe-math-optimizations")
++ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=neon")
+ # Turn on asm optimization for Linux on ARM v7.
+ set(NE10_ASM_OPTIMIZATION on)
+ endif()
+--
+1.8.3.1
+
diff --git a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index de97982..2fb9d64 100644
--- a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -1,13 +1,16 @@
DESCRIPTION = "Library containing NEON-optimized implementations for a common set of functions"
HOMEPAGE = "http://projectne10.github.io/Ne10/"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=463ac0a7d64edc2b787c4206635ca2b1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e7fe20c9be97be5579e3ab5d92d3a218"
SECTION = "libs"
-SRC_URI = "git://github.com/projectNe10/Ne10.git"
-SRCREV = "a08b29d88e3c94d32b5b8f827e7fcf0bc2b34ac2"
+SRC_URI = "git://github.com/projectNe10/Ne10.git \
+ file://0001-CMakeLists.txt-Remove-mthumb-interwork.patch \
+"
+SRCREV = "18c4c982a595dad069cd8df4932aefb1d257591f"
S = "${WORKDIR}/git"
+PV .= "gitr+${SRCPV}"
inherit cmake
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 27/49] libgit2: Update to 0.24.3
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (24 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 26/49] ne10: Update to latest Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 28/49] openldap: Fix Build error due to missing -fPIC Khem Raj
` (21 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-support/libgit2/{libgit2_0.24.1.bb => libgit2_0.24.3.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta-oe/recipes-support/libgit2/{libgit2_0.24.1.bb => libgit2_0.24.3.bb} (91%)
diff --git a/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb b/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb
similarity index 91%
rename from meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
rename to meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb
index 092a674..8f580f9 100644
--- a/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
+++ b/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=34197a479f637beb9e09e56893f48bc2"
DEPENDS = "curl openssl zlib libssh2"
SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.24"
-SRCREV = "211e117a0590583a720c53172406f34186c543bd"
+SRCREV = "4cf1ec7cff28da8838a2f0a9fb330e312ea3f963"
S = "${WORKDIR}/git"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 28/49] openldap: Fix Build error due to missing -fPIC
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (25 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 27/49] libgit2: Update to 0.24.3 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1 Khem Raj
` (20 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Fixes errors e.g.
relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `stderr@@GLIBC_2.17' can not be us
ed when making a shared object; recompile with -fPIC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-support/openldap/openldap_2.4.44.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.44.bb b/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
index 4e95a77..05ffc5c 100644
--- a/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
+++ b/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
@@ -148,7 +148,7 @@ PACKAGES += "${PN}-overlay-proxycache"
# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
# This allows tls to obtain random bits from /dev/urandom, by default
# it was disabled for cross-compiling.
-CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'"
+CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
LDFLAGS += "-pthread"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (26 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 28/49] openldap: Fix Build error due to missing -fPIC Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-26 0:16 ` Martin Jansa
2016-11-23 9:21 ` [meta-oe][PATCH 30/49] networkmanager-openvpn: Update 1.0.8->1.2.6 Khem Raj
` (19 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-protocols/dante/dante_1.4.1.bb | 47 ++++++++++++++++++++++
1 file changed, 47 insertions(+)
create mode 100644 meta-networking/recipes-protocols/dante/dante_1.4.1.bb
diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.1.bb b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
new file mode 100644
index 0000000..dbb86fb
--- /dev/null
+++ b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
@@ -0,0 +1,47 @@
+SECTION = "console/utils"
+SUMMARY = "A free SOCKS server"
+DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\
+implementing RFC 1928 and related standards. It is a flexible product\
+that can be used to provide convenient and secure network\
+connectivity. Once installed, Dante can in most cases be made\
+transparent to clients, providing functionality somewhat similar to\
+what could be described as a non-transparent Layer 4 router."
+HOMEPAGE = "http://www.inet.no/dante/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=221118dda731fe93a85d0ed973467249"
+
+SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \
+ "
+SRC_URI[md5sum] = "68c2ce12119e12cea11a90c7a80efa8f"
+SRC_URI[sha256sum] = "b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53"
+
+# without --without-gssapi, config.log will contain reference to /usr/lib
+# as a consequence of GSSAPI path being set to /usr by default.
+# --with-gssapi-path=PATH specify gssapi path
+# --without-gssapi disable gssapi support
+# --enable-release build prerelease as full release
+EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"
+
+DEPENDS += "flex-native bison-native"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools-brokensep
+
+EXTRA_AUTORECONF = "-I ${S}"
+
+PACKAGECONFIG[libwrap] = ",--disable-libwrap,tcp-wrappers,libwrap"
+
+PACKAGECONFIG ??= ""
+
+do_install_append() {
+ install -d ${D}${sysconfdir}
+ cp ${S}/example/sock[sd].conf ${D}${sysconfdir}
+}
+
+PACKAGES =+ "${PN}-sockd ${PN}-libdsocks "
+
+FILES_${PN}-libdsocks = "${libdir}/libdsocks.so"
+FILES_${PN}-sockd = "${bindir}/sockd ${sysconfdir}/sockd.conf"
+
+INSANE_SKIP_${PN}-libdsocks = "dev-elf"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 30/49] networkmanager-openvpn: Update 1.0.8->1.2.6
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (27 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes Khem Raj
` (18 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Remove .la files which are new
Package the new .name files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...anager-openvpn_1.0.8.bb => networkmanager-openvpn_1.2.6.bb} | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
rename meta-oe/recipes-connectivity/networkmanager/{networkmanager-openvpn_1.0.8.bb => networkmanager-openvpn_1.2.6.bb} (73%)
diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.6.bb
similarity index 73%
rename from meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
rename to meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.6.bb
index fe1d601..7ae566e 100644
--- a/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
+++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.6.bb
@@ -9,20 +9,24 @@ DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native"
inherit gnomebase useradd gettext systemd
SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "758a9951ad5e20a37c72cc7326c9c750"
-SRC_URI[sha256sum] = "1b979519d72ba4d78e729d4856c5b53fad914ca7ee3ca91209ce489ba78912ac"
+SRC_URI[md5sum] = "47ed9b6c43ca364976a15e84207687df"
+SRC_URI[sha256sum] = "2373e2bb0a8a876cb2997cd8b0e3d6e10012d9bef3705ea3ac21f6394b3f1fb0"
S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
+do_install_append () {
+ rm -rf ${D}${libdir}/NetworkManager/*.la
+}
+
# Create user and group nm-openvpn that are needed since version 1.0.6
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system nm-openvpn"
FILES_${PN} += " \
${libdir}/NetworkManager/*.so \
+ ${libdir}/NetworkManager/VPN/nm-openvpn-service.name \
"
RDEPENDS_${PN} = " \
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (28 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 30/49] networkmanager-openvpn: Update 1.0.8->1.2.6 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-26 0:17 ` Martin Jansa
2016-11-23 9:21 ` [meta-oe][PATCH 32/49] md5deep: Fix build with clang Khem Raj
` (17 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Update obexftp to 0.24.2 and openobex to 1.7.2
These packages moved to CMake infra for builds
therefore make adjustments to cross compile it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../disable-cable-test.patch | 0
.../libusb_crosscompile_check.patch | 0
.../separate_builddir.patch | 0
meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35 ----------------
.../recipes-connectivity/obex/openobex_1.7.2.bb | 37 +++++++++++++++++
...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47 ++++++++++++++++++++++
.../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
.../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33 +++++++++++++++
8 files changed, 117 insertions(+), 51 deletions(-)
rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/disable-cable-test.patch (100%)
rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/libusb_crosscompile_check.patch (100%)
rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/separate_builddir.patch (100%)
delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
delete mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
similarity index 100%
rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch b/meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
similarity index 100%
rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
rename to meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
similarity index 100%
rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
rename to meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
deleted file mode 100644
index 6ac7905..0000000
--- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "The Openobex project is an open source implementation of the \
-Object Exchange (OBEX) protocol."
-HOMEPAGE = "http://openobex.triq.net"
-SECTION = "libs"
-DEPENDS = "virtual/libusb0"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-"
-
-SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
- file://disable-cable-test.patch \
- file://libusb_crosscompile_check.patch \
- file://separate_builddir.patch"
-
-SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
-SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
-
-inherit autotools binconfig pkgconfig
-
-EXTRA_OECONF = "--enable-apps --enable-syslog"
-
-do_install_append() {
- install -d ${D}${datadir}/aclocal
- install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
-}
-
-PACKAGES += "openobex-apps"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/openobex-config"
-FILES_${PN}-apps = "${bindir}/*"
-DEBIAN_NOAUTONAME_${PN}-apps = "1"
-
diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
new file mode 100644
index 0000000..053c80a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "The Openobex project is an open source implementation of the \
+Object Exchange (OBEX) protocol."
+HOMEPAGE = "http://openobex.triq.net"
+SECTION = "libs"
+DEPENDS = "virtual/libusb0"
+DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
+"
+
+SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
+SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
+
+inherit cmake pkgconfig
+
+S = "${WORKDIR}/${BP}-Source"
+
+EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
+
+#--enable-apps --enable-syslog
+
+do_install_append () {
+ rmdir ${D}${bindir}
+}
+
+PACKAGES =+ "openobex-apps"
+FILES_${PN}-apps = "${bindir}/*"
+FILES_${PN} += "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
+DEBIAN_NOAUTONAME_${PN}-apps = "1"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
new file mode 100644
index 0000000..55e5567
--- /dev/null
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
@@ -0,0 +1,47 @@
+From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 01:32:31 +0000
+Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
+
+Transitive linking is disabled now for multicobex and
+obexftp, This ends up with linking errors for apps, therefore
+they are required to be added to link line explicitly.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ apps/CMakeLists.txt | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
+index b5c84e4..63af134 100644
+--- a/apps/CMakeLists.txt
++++ b/apps/CMakeLists.txt
+@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
+ add_definitions ( -DHAVE_USB )
+
+ add_executable ( obexftp_app obexftp.c )
+-target_link_libraries ( obexftp_app obexftp )
++target_link_libraries ( obexftp_app
++ PRIVATE multicobex
++ PRIVATE bfb
++ obexftp
++)
+ set_target_properties ( obexftp_app PROPERTIES
+ OUTPUT_NAME obexftp
+ )
+
+
+ add_executable ( obexftpd_app obexftpd.c )
+-target_link_libraries ( obexftpd_app obexftp openobex )
++target_link_libraries ( obexftpd_app
++ PRIVATE multicobex
++ PRIVATE bfb
++ obexftp
++ openobex
++)
+ set_target_properties ( obexftpd_app PROPERTIES
+ OUTPUT_NAME obexftpd
+ )
+--
+1.9.1
+
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
deleted file mode 100644
index b6bdfb7..0000000
--- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
-LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS += "openobex"
-
-SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 \
- file://Remove_some_printf_in_obexftpd.patch "
-
-SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
-SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python --disable-ruby"
-
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
new file mode 100644
index 0000000..991cd48
--- /dev/null
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
+LICENSE = "GPLv2 & PD & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
+ "
+
+DEPENDS += "openobex obexftp-native"
+SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz \
+ file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch \
+"
+SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
+SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
+
+inherit cmake pkgconfig
+
+S = "${WORKDIR}/${BP}-Source"
+
+EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
+ -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
+ -DENABLE_RUBY=NO -DENABLE_TCL=NO \
+"
+
+do_compile_class-native () {
+ oe_runmake crctable
+}
+
+do_install_class-native () {
+ install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
+}
+
+
+BBCLASSEXTEND = "native"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 32/49] md5deep: Fix build with clang
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (29 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 33/49] dialog: Update 1.3-20160424 -> 1.3-20160828 Khem Raj
` (16 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../files/0001-Fix-errors-found-by-clang.patch | 32 ++++++++++++++++++++++
meta-oe/recipes-extended/md5deep/md5deep_4.4.bb | 1 +
2 files changed, 33 insertions(+)
create mode 100644 meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch
diff --git a/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch b/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch
new file mode 100644
index 0000000..cc7cdc3
--- /dev/null
+++ b/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch
@@ -0,0 +1,32 @@
+From 6ef69a26126ee4e69a25392fd456b8a66c51dffd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 02:46:55 +0000
+Subject: [PATCH] Fix errors found by clang
+
+Fixes errors like
+
+../../git/src/hash.cpp:282:19: error: ordered comparison between pointer and zero ('const unsigned char *' and 'int')
+ if(fdht->base>0){
+ ~~~~~~~~~~^~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/hash.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hash.cpp b/src/hash.cpp
+index 4216157..52f419b 100644
+--- a/src/hash.cpp
++++ b/src/hash.cpp
+@@ -279,7 +279,7 @@ void file_data_hasher_t::hash()
+ MAP_FILE|
+ #endif
+ MAP_SHARED,fd,0);
+- if(fdht->base>0){
++ if(fdht->base != (void *) -1){
+ /* mmap is successful, so set the bounds.
+ * if it is not successful, we default to reading the fd
+ */
+--
+1.9.1
+
diff --git a/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
index 960e00f..bb30abe 100644
--- a/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
+++ b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
@@ -9,6 +9,7 @@ SRCREV = "cd2ed7416685a5e83eb10bb659d6e9bec01244ae"
SRC_URI = "git://github.com/jessek/hashdeep.git \
file://wrong-variable-expansion.patch \
+ file://0001-Fix-errors-found-by-clang.patch \
"
S = "${WORKDIR}/git"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 33/49] dialog: Update 1.3-20160424 -> 1.3-20160828
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (30 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 32/49] md5deep: Fix build with clang Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 34/49] ipsec-tools: Fix build with clang Khem Raj
` (15 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../dialog/{dialog_1.3-20160424.bb => dialog_1.3-20160828.bb} | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
rename meta-oe/recipes-extended/dialog/{dialog_1.3-20160424.bb => dialog_1.3-20160828.bb} (86%)
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
similarity index 86%
rename from meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
rename to meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
index 2d8fbae..bff3d97 100644
--- a/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
+++ b/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
@@ -8,11 +8,10 @@ DEPENDS = "ncurses"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-SRC_URI[md5sum] = "582d804252205f73df2d892ebdc5212e"
-SRC_URI[sha256sum] = "47f5870876e778aa2902f2e91b4070418d4651b647e1a67a94127cb8aab5b5eb"
-
SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
"
+SRC_URI[md5sum] = "a39ec183517bc1feaff017d067300b8c"
+SRC_URI[sha256sum] = "453095abaec288bfbc1ca9faced917e17742cff1ea45ec46210071ac153562f9"
# hardcoded here for use in dialog-static recipe
S = "${WORKDIR}/dialog-${PV}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 34/49] ipsec-tools: Fix build with clang
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (31 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 33/49] dialog: Update 1.3-20160424 -> 1.3-20160828 Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 35/49] crda: " Khem Raj
` (14 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../ipsec-tools/0001-Fix-build-with-clang.patch | 115 +++++++++++++++++++++
.../ipsec-tools/ipsec-tools_0.8.2.bb | 1 +
2 files changed, 116 insertions(+)
create mode 100644 meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
new file mode 100644
index 0000000..5c09147
--- /dev/null
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
@@ -0,0 +1,115 @@
+From 9135ca401186fb14e5e5110bbb04d1ccc480360a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 04:15:44 +0000
+Subject: [PATCH] Fix build with clang
+
+Fixes for following errors found by clang
+
+src/racoon/eaytest.c:316:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
+ [-Werror,-Wtautological-pointer-compare]
+ if (dnstr_w1 != NULL) {
+ ^~~~~~~~ ~~~~
+src/racoon/eaytest.c:326:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
+ [-Werror,-Wtautological-pointer-compare]
+ if (dnstr_w1 != NULL) {
+ ^~~~~~~~ ~~~~
+
+src/racoon/isakmp.c:1134:11: error: promoted type 'int' of K&R function parameter is not compatible with the
+ parameter type 'u_int8_t' (aka 'unsigned char') declared in a previous prototype [-Werror,-Wknr-promoted-parameter]
+ u_int8_t etype;
+ ^
+src/racoon/isakmp.c:184:48: note: previous declaration is here
+ struct sockaddr *, struct sockaddr *, u_int8_t));
+ ^
+ 1 error generated.
+
+src/racoon/racoonctl.c:1457:15: error: incompatible pointer types passing 'struct evt_async *' to parameter of type
+ 'caddr_t' (aka 'char *') [-Werror,-Wincompatible-pointer-types]
+ print_cfg(ec, len);
+ ^~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/racoon/eaytest.c | 4 ++--
+ src/racoon/isakmp.c | 10 +++++-----
+ src/racoon/racoonctl.c | 7 +++----
+ 3 files changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c
+index 1474bdc..d609e4f 100644
+--- a/src/racoon/eaytest.c
++++ b/src/racoon/eaytest.c
+@@ -313,7 +313,7 @@ certtest(ac, av)
+
+ printf("exact match: succeed.\n");
+
+- if (dnstr_w1 != NULL) {
++ if (dnstr_w1[0] != '\0') {
+ asn1dn = eay_str2asn1dn(dnstr_w1, strlen(dnstr_w1));
+ if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
+ errx(1, "asn1dn length wrong for wildcard 1\n");
+@@ -323,7 +323,7 @@ certtest(ac, av)
+ printf("wildcard 1 match: succeed.\n");
+ }
+
+- if (dnstr_w1 != NULL) {
++ if (dnstr_w1[0] != '\0') {
+ asn1dn = eay_str2asn1dn(dnstr_w2, strlen(dnstr_w2));
+ if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
+ errx(1, "asn1dn length wrong for wildcard 2\n");
+diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
+index 2672f7a..da7ebe8 100644
+--- a/src/racoon/isakmp.c
++++ b/src/racoon/isakmp.c
+@@ -567,7 +567,7 @@ isakmp_main(msg, remote, local)
+
+ /* it must be responder's 1st exchange. */
+ if (isakmp_ph1begin_r(msg, remote, local,
+- isakmp->etype) < 0)
++ (u_int8_t)isakmp->etype) < 0)
+ return -1;
+ break;
+
+@@ -1128,10 +1128,10 @@ isakmp_ph1begin_i(rmconf, remote, local)
+
+ /* new negotiation of phase 1 for responder */
+ static int
+-isakmp_ph1begin_r(msg, remote, local, etype)
+- vchar_t *msg;
+- struct sockaddr *remote, *local;
+- u_int8_t etype;
++isakmp_ph1begin_r(vchar_t *msg,
++ struct sockaddr *remote,
++ struct sockaddr *local,
++ u_int8_t etype)
+ {
+ struct isakmp *isakmp = (struct isakmp *)msg->v;
+ struct ph1handle *iph1;
+diff --git a/src/racoon/racoonctl.c b/src/racoon/racoonctl.c
+index da28ecd..bbf068e 100644
+--- a/src/racoon/racoonctl.c
++++ b/src/racoon/racoonctl.c
+@@ -1299,9 +1299,8 @@ print_evt(evtdump)
+ * Print ISAKMP mode config info (IP and banner)
+ */
+ void
+-print_cfg(buf, len)
+- caddr_t buf;
+- int len;
++print_cfg(caddr_t buf,
++ int len)
+ {
+ struct evt_async *evtdump = (struct evt_async *)buf;
+ struct isakmp_data *attr;
+@@ -1454,7 +1453,7 @@ handle_recv(combuf)
+ else if (evt_quit_event == ec->ec_type) {
+ switch (ec->ec_type) {
+ case EVT_PHASE1_MODE_CFG:
+- print_cfg(ec, len);
++ print_cfg((caddr_t)ec, len);
+ break;
+ default:
+ print_evt(ec);
+--
+1.9.1
+
diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
index 4466974..a9b5b95 100644
--- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
+++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
@@ -21,6 +21,7 @@ SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV
file://racoon.conf \
file://racoon.service \
file://fix-CVE-2015-4047.patch \
+ file://0001-Fix-build-with-clang.patch \
"
SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 35/49] crda: Fix build with clang
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (32 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 34/49] ipsec-tools: Fix build with clang Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 36/49] obex-data-server: Fix build with new openobex version Khem Raj
` (13 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-connectivity/crda/crda/make.patch | 25 ++++++++++++++++++++++
.../recipes-connectivity/crda/crda_3.18.bb | 1 +
2 files changed, 26 insertions(+)
create mode 100644 meta-networking/recipes-connectivity/crda/crda/make.patch
diff --git a/meta-networking/recipes-connectivity/crda/crda/make.patch b/meta-networking/recipes-connectivity/crda/crda/make.patch
new file mode 100644
index 0000000..0b73785
--- /dev/null
+++ b/meta-networking/recipes-connectivity/crda/crda/make.patch
@@ -0,0 +1,25 @@
+These headers are not related to any Make rule but they do appear in
+compiling of libreg.so, specifying .h files in compiler cmdline is flagged
+as error by clang
+
+| clang-4.0: error: cannot specify -o when generating multiple output files
+| make: *** [libreg.so] Error 1
+
+This is how we see headers in cmdline
+-O2 -fpic -std=gnu
+99 -Wall -Werror -pedantic -Wall -g -DUSE_GCRYPT -DCONFIG_LIBNL30 `pkg-config --cflags libnl-3.0` -o libreg.so -shared -Wl,-soname,libreg.so
+regdb.h reglib.h reglib.c keys-gcrypt.c -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L ./ -lm -lgcrypt
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Makefile.kk 2016-11-15 04:54:53.338670000 +0000
++++ a/Makefile 2016-11-15 04:55:07.718670000 +0000
+@@ -114,7 +114,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(
+ $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem)
+ $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@
+
+-$(LIBREG): regdb.h reglib.h reglib.c
++$(LIBREG): reglib.c
+ $(NQ) ' CC ' $@
+ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LDFLAGS) $(LIBREGLDLIBS)
+
diff --git a/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index 00c358d..4b704fe 100644
--- a/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -11,6 +11,7 @@ SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://fix-linking-of-libraries-used-by-reglib.patch \
file://fix-gcc-6-unused-variables.patch \
file://0001-Makefile-respect-LDFLAGS-for-libreg.patch \
+ file://make.patch \
"
SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 36/49] obex-data-server: Fix build with new openobex version
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (33 preceding siblings ...)
2016-11-23 9:21 ` [meta-networking][PATCH 35/49] crda: " Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 37/49] flashrom: Remove redundant const qualifier Khem Raj
` (12 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Add missing dependency on dbus-glib-native, this is needed for
getting DBUS_BINDING_TOOL
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../obex-data-server-0.4.6-build-fixes-1.patch | 20 ++++++++++++++++++++
.../obex/obex-data-server_0.4.6.bb | 7 ++++---
2 files changed, 24 insertions(+), 3 deletions(-)
create mode 100644 meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch b/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
new file mode 100644
index 0000000..e2c4e9f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
@@ -0,0 +1,20 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2012-07-06
+Initial Package Version: 0.4.6
+Upstream Status: Unknown
+Origin: Self
+Description: Some build fixes.
+
+Index: obex-data-server-0.4.6/src/ods-obex.c
+===================================================================
+--- obex-data-server-0.4.6.orig/src/ods-obex.c
++++ obex-data-server-0.4.6/src/ods-obex.c
+@@ -412,7 +412,7 @@ ods_obex_setup_usbtransport (OdsObexCont
+ goto err;
+ }
+
+- interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf);
++ interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle);
+ if (intf_num >= interfaces_num) {
+ g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number");
+ goto err;
diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index c2c284e..e10b89c 100644
--- a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -2,14 +2,15 @@ DESCRIPTION = "obex-data-server is a D-Bus service providing high-level OBEX cli
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ dbus-glib imagemagick openobex"
+DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
-SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz"
+SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
+ file://obex-data-server-0.4.6-build-fixes-1.patch \
+"
SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
inherit autotools-brokensep pkgconfig
FILES_${PN} += "${datadir}/dbus-1/"
-
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 37/49] flashrom: Remove redundant const qualifier
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (34 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 36/49] obex-data-server: Fix build with new openobex version Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 38/49] fribidi: Fix build with security flags turned on Khem Raj
` (11 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
This is flagged by latest clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../0001-ichspi.c-Fix-build-with-clang.patch | 29 ++++++++++++++++++++++
.../recipes-extended/flashrom/flashrom_0.9.6.1.bb | 1 +
2 files changed, 30 insertions(+)
create mode 100644 meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
diff --git a/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch b/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
new file mode 100644
index 0000000..ff16f0b
--- /dev/null
+++ b/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
@@ -0,0 +1,29 @@
+From a2f603c54013cd0b04bb0103dc615644f315d5e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 17:39:24 +0000
+Subject: [PATCH] ichspi.c: Fix build with clang
+
+ichspi.c:1130:24: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier]
+ static const uint32_t const dec_berase[4] = {
+ ^
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ichspi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ichspi.c b/ichspi.c
+index 0223ae3..e47aebd 100644
+--- a/ichspi.c
++++ b/ichspi.c
+@@ -1127,7 +1127,7 @@ static void ich_hwseq_set_addr(uint32_t addr)
+ static uint32_t ich_hwseq_get_erase_block_size(unsigned int addr)
+ {
+ uint8_t enc_berase;
+- static const uint32_t const dec_berase[4] = {
++ static const uint32_t dec_berase[4] = {
+ 256,
+ 4 * 1024,
+ 8 * 1024,
+--
+1.9.1
+
diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
index d3ec578..0edc688 100644
--- a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
+++ b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
@@ -9,6 +9,7 @@ SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
file://0001-Fix-compilation-on-aarch64.patch \
file://0002-Disable-Wtautological-pointer-compare-when-using-cla.patch \
file://0003-remove-duplicate-const-qualifiers.patch \
+ file://0001-ichspi.c-Fix-build-with-clang.patch \
"
SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 38/49] fribidi: Fix build with security flags turned on
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (35 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 37/49] flashrom: Remove redundant const qualifier Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 39/49] libmicrohttpd: Upgrade to 0.9.52 Khem Raj
` (10 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Clang complains like below
| ../../fribidi-0.19.7/charset/fribidi-char-sets-cap-rtl.c:148:7: error: expected expression
| DBG ("warning: could not find a mapping for CapRTL to Unicode:");
Therefore quick fix is to remove FORTIFY_SOURCE from cmdline
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
index f8e7aa0..e79de66 100644
--- a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
+++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
@@ -10,6 +10,7 @@ DEPENDS = "glib-2.0 libpcre"
inherit autotools lib_package pkgconfig
CFLAGS_append = " -DPAGE_SIZE=4096 "
+SECURITY_CFLAGS_remove_toolchain-clang = "-D_FORTIFY_SOURCE=2"
SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 39/49] libmicrohttpd: Upgrade to 0.9.52
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (36 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 38/49] fribidi: Fix build with security flags turned on Khem Raj
@ 2016-11-23 9:21 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 40/49] jsoncpp: Add new recipe Khem Raj
` (9 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:21 UTC (permalink / raw)
To: openembedded-devel
Inherit gettext is needed
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../{libmicrohttpd_0.9.50.bb => libmicrohttpd_0.9.52.bb} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
rename meta-oe/recipes-support/libmicrohttpd/{libmicrohttpd_0.9.50.bb => libmicrohttpd_0.9.52.bb} (81%)
diff --git a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.52.bb
similarity index 81%
rename from meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
rename to meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.52.bb
index 421b78e..2a006b5 100644
--- a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
+++ b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.52.bb
@@ -6,10 +6,10 @@ SECTION = "net"
DEPENDS = "libgcrypt gnutls file"
SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "4a3f793d59f663a2b0fc62d44668fb66"
-SRC_URI[sha256sum] = "d1b6385068abded29b6470e383287aa7705de05ae3c08ad0bf5747ac4dc6ebd7"
+SRC_URI[md5sum] = "767111e817e2497ff92f943c5653497a"
+SRC_URI[sha256sum] = "54797f6e763d417627f89f60e4ae0a431dab0523f92f83def23ea02d0defafea"
-inherit autotools lib_package pkgconfig
+inherit autotools lib_package pkgconfig gettext
EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 40/49] jsoncpp: Add new recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (37 preceding siblings ...)
2016-11-23 9:21 ` [meta-oe][PATCH 39/49] libmicrohttpd: Upgrade to 0.9.52 Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-28 10:46 ` Piotr Lewicki
2016-11-23 9:22 ` [meta-oe][PATCH 41/49] jsonrpc: Add recipe Khem Raj
` (8 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
| 152 +++++++++++++++++++++
meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb | 21 +++
2 files changed, 173 insertions(+)
create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
--git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
new file mode 100644
index 0000000..f1397ea
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
@@ -0,0 +1,152 @@
+Issue: Build error in TDK DS_stub
+
+In file included from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/c++config.h:426:0,
+ from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/string:38,
+ from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/value.h:12,
+ from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/json.h:10,
+ from ./include/DeviceSettingsAgent.h:15,
+ from src/DeviceSettingsAgent.cpp:13:
+/home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/os_defines.h:44:19: error: missing binary operator before token "("
+ #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
+
+The issue was jsoncpp has features.h which was conflicting with the system
+header file features.h.
+
+So renamed the header file features.h in jsoncpp to json-features.h so
+as to localize the effect of this change within jsoncpp.
+
+ Signed-off-by: Ridish Aravindan <ridish.ra@lnttechservices.com>
+
+Index: jsoncpp-src-0.6.0-rc2/include/json/json-features.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/json-features.h 2014-08-27 06:41:40.000000000 +0000
+@@ -0,0 +1,49 @@
++// Copyright 2007-2010 Baptiste Lepilleur
++// Distributed under MIT license, or public domain if desired and
++// recognized in your jurisdiction.
++// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
++
++#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
++# define CPPTL_JSON_FEATURES_H_INCLUDED
++
++#if !defined(JSON_IS_AMALGAMATION)
++# include "forwards.h"
++#endif // if !defined(JSON_IS_AMALGAMATION)
++
++namespace Json {
++
++ /** \brief Configuration passed to reader and writer.
++ * This configuration object can be used to force the Reader or Writer
++ * to behave in a standard conforming way.
++ */
++ class JSON_API Features
++ {
++ public:
++ /** \brief A configuration that allows all features and assumes all strings are UTF-8.
++ * - C & C++ comments are allowed
++ * - Root object can be any JSON value
++ * - Assumes Value strings are encoded in UTF-8
++ */
++ static Features all();
++
++ /** \brief A configuration that is strictly compatible with the JSON specification.
++ * - Comments are forbidden.
++ * - Root object must be either an array or an object value.
++ * - Assumes Value strings are encoded in UTF-8
++ */
++ static Features strictMode();
++
++ /** \brief Initialize the configuration like JsonConfig::allFeatures;
++ */
++ Features();
++
++ /// \c true if comments are allowed. Default: \c true.
++ bool allowComments_;
++
++ /// \c true if root must be either an array or an object value. Default: \c false.
++ bool strictRoot_;
++ };
++
++} // namespace Json
++
++#endif // CPPTL_JSON_FEATURES_H_INCLUDED
+Index: jsoncpp-src-0.6.0-rc2/include/json/json.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/json.h 2011-05-02 21:47:24.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/json.h 2014-08-27 06:39:13.000000000 +0000
+@@ -10,6 +10,6 @@
+ # include "value.h"
+ # include "reader.h"
+ # include "writer.h"
+-# include "features.h"
++# include "json-features.h"
+
+ #endif // JSON_JSON_H_INCLUDED
+Index: jsoncpp-src-0.6.0-rc2/include/json/reader.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/reader.h 2011-05-02 21:47:24.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/reader.h 2014-08-27 06:39:32.000000000 +0000
+@@ -7,7 +7,7 @@
+ # define CPPTL_JSON_READER_H_INCLUDED
+
+ #if !defined(JSON_IS_AMALGAMATION)
+-# include "features.h"
++# include "json-features.h"
+ # include "value.h"
+ #endif // if !defined(JSON_IS_AMALGAMATION)
+ # include <deque>
+Index: jsoncpp-src-0.6.0-rc2/include/json/features.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/features.h 2011-05-02 21:46:58.000000000 +0000
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,49 +0,0 @@
+-// Copyright 2007-2010 Baptiste Lepilleur
+-// Distributed under MIT license, or public domain if desired and
+-// recognized in your jurisdiction.
+-// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
+-
+-#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
+-# define CPPTL_JSON_FEATURES_H_INCLUDED
+-
+-#if !defined(JSON_IS_AMALGAMATION)
+-# include "forwards.h"
+-#endif // if !defined(JSON_IS_AMALGAMATION)
+-
+-namespace Json {
+-
+- /** \brief Configuration passed to reader and writer.
+- * This configuration object can be used to force the Reader or Writer
+- * to behave in a standard conforming way.
+- */
+- class JSON_API Features
+- {
+- public:
+- /** \brief A configuration that allows all features and assumes all strings are UTF-8.
+- * - C & C++ comments are allowed
+- * - Root object can be any JSON value
+- * - Assumes Value strings are encoded in UTF-8
+- */
+- static Features all();
+-
+- /** \brief A configuration that is strictly compatible with the JSON specification.
+- * - Comments are forbidden.
+- * - Root object must be either an array or an object value.
+- * - Assumes Value strings are encoded in UTF-8
+- */
+- static Features strictMode();
+-
+- /** \brief Initialize the configuration like JsonConfig::allFeatures;
+- */
+- Features();
+-
+- /// \c true if comments are allowed. Default: \c true.
+- bool allowComments_;
+-
+- /// \c true if root must be either an array or an object value. Default: \c false.
+- bool strictRoot_;
+- };
+-
+-} // namespace Json
+-
+-#endif // CPPTL_JSON_FEATURES_H_INCLUDED
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
new file mode 100644
index 0000000..17947e3
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
@@ -0,0 +1,21 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+ and writer in C++. JSON (JavaScript Object Notation) is a \
+ lightweight data-interchange format. It is easy for humans to \
+ read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "http://sourceforge.net/projects/jsoncpp/"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce"
+
+SRCREV = "d8cd848ede1071a25846cd90b4fddf269d868ff1"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp \
+"
+
+S = "${WORKDIR}/git"
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 41/49] jsonrpc: Add recipe
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (38 preceding siblings ...)
2016-11-23 9:22 ` [meta-oe][PATCH 40/49] jsoncpp: Add new recipe Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 42/49] libmad: Fix build with clang Khem Raj
` (7 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...ce-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch | 77 ++++++++++++++++++++++
...torclient-Typecast-min-arguments-correctl.patch | 33 ++++++++++
...torserver-Include-sys-select.h-before-oth.patch | 34 ++++++++++
meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb | 30 +++++++++
4 files changed, 174 insertions(+)
create mode 100644 meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
create mode 100644 meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
create mode 100644 meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
create mode 100644 meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
new file mode 100644
index 0000000..748e4da
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
@@ -0,0 +1,77 @@
+From ac61124df17ab76527508bbb9a3115d4d6cc1af6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 11:26:26 -0800
+Subject: [PATCH] cmake: replace hardcoded lib/${CMAKE_LIBRARY_PATH} with
+ {CMAKE_INSTALL_LIBDIR}
+
+Fixes
+| CMake Error at src/jsonrpccpp/CMakeLists.txt:207 (install):
+| install TARGETS given unknown argument "/lib".
+
+and
+
+Wrong install paths during cross compile
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/CMakeLists.txt | 8 ++++----
+ src/stubgenerator/CMakeLists.txt | 6 +++---
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/jsonrpccpp/CMakeLists.txt b/src/jsonrpccpp/CMakeLists.txt
+index e4a1eb5..13f9056 100644
+--- a/src/jsonrpccpp/CMakeLists.txt
++++ b/src/jsonrpccpp/CMakeLists.txt
+@@ -205,15 +205,15 @@ if (WIN32)
+ endif()
+
+ install(TARGETS ${ALL_LIBS}
+- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+ #set pkg-config
+ get_filename_component(FULL_PATH_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ABSOLUTE)
+ set(FULL_PATH_INCLUDEDIR "${FULL_PATH_INSTALL_PREFIX}/include")
+-set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_PATH}")
++set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-client.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc)
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-server.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc)
+@@ -223,6 +223,6 @@ INSTALL(FILES
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc"
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc"
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-common.pc"
+- DESTINATION "lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}/pkgconfig")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+
+diff --git a/src/stubgenerator/CMakeLists.txt b/src/stubgenerator/CMakeLists.txt
+index f9dbe4c..b57b0fe 100644
+--- a/src/stubgenerator/CMakeLists.txt
++++ b/src/stubgenerator/CMakeLists.txt
+@@ -58,15 +58,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BIN
+
+ INSTALL(FILES
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc"
+- DESTINATION "lib/${CMAKE_LIBRARY_PATH}/pkgconfig")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/stubgenerator/
+ DESTINATION include/jsonrpccpp/stubgen
+ FILES_MATCHING PATTERN "*.h")
+
+ install(TARGETS ${ALL_LIBS} jsonrpcstub
+- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+--
+2.10.2
+
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
new file mode 100644
index 0000000..d21e979
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
@@ -0,0 +1,33 @@
+From 9500f12f5d827840634311d6ca972d9551211e4d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 01:00:51 -0800
+Subject: [PATCH] filedescriptorclient: Typecast min() arguments correctly
+
+Fixes
+
+| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
+p/client/connectors/filedescriptorclient.cpp:47:92: note: deduced conflicting types for parameter 'co
+nst _Tp' ('unsigned int' and 'long unsigned int')
+| ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
+index 77aac7e..6325b5c 100644
+--- a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
++++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
+@@ -43,7 +43,7 @@ void FileDescriptorClient::SendRPCMessage(const std::string& message,
+ string toSend = message;
+ do
+ {
+- ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
++ ssize_t byteWritten = write(outputfd, toSend.c_str(), min((long unsigned int)toSend.size(), MAX_WRITE_SIZE));
+ if (byteWritten < 1)
+ throw JsonRpcException(Errors::ERROR_CLIENT_CONNECTOR,
+ "Unknown error occured while writing to the output file descriptor");
+--
+2.10.2
+
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
new file mode 100644
index 0000000..3b9068a
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
@@ -0,0 +1,34 @@
+From c7aad10628949e126f50e3264b5bc7eb417347c6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 01:25:10 -0800
+Subject: [PATCH] filedescriptorserver: Include sys/select.h before other
+ headers
+
+Fixes errors e.g.
+| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
+p/server/connectors/filedescriptorserver.h:63:7: error: unknown type name 'fd_set'
+| fd_set read_fds;
+| ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+index 9d74223..8e019ca 100644
+--- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
++++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+@@ -7,8 +7,8 @@
+ * @license See attached LICENSE.txt
+ ************************************************************************/
+
+-#include "filedescriptorserver.h"
+ #include <sys/select.h>
++#include "filedescriptorserver.h"
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+--
+2.10.2
+
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
new file mode 100644
index 0000000..3a43f90
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
+DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
+ protocol in C++. JSON-RPC is a lightweight remote procedure \
+ call protocol similar to XML-RPC."
+HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee72d601854d5d2a065cf642883c489b"
+
+PV = "0.7.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
+ file://0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch \
+ file://0001-filedescriptorclient-Typecast-min-arguments-correctl.patch \
+ file://0001-filedescriptorserver-Include-sys-select.h-before-oth.patch \
+"
+SRCREV = "ccbdb41388bdd929828941652da816bf52a0580e"
+
+SECTION = "libs"
+
+DEPENDS = "curl jsoncpp libmicrohttpd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
+ -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
+ -DCMAKE_LIBRARY_PATH=${libdir} \
+"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 42/49] libmad: Fix build with clang
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (39 preceding siblings ...)
2016-11-23 9:22 ` [meta-oe][PATCH 41/49] jsonrpc: Add recipe Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 43/49] modemmanager: " Khem Raj
` (6 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...4-Remove-clang-unsupported-compiler-flags.patch | 43 ++++++++++++++++++++++
.../recipes-multimedia/libmad/libmad_0.15.1b.bb | 1 +
2 files changed, 44 insertions(+)
create mode 100644 meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
diff --git a/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
new file mode 100644
index 0000000..5bfce4d
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
@@ -0,0 +1,43 @@
+From 3d3fce9b8b927a817b89dd78a60b5cf7d978f64c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Tue, 16 Sep 2014 12:28:47 +0300
+Subject: [PATCH 4/4] Remove clang unsupported compiler flags
+
+---
+ configure.ac | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4fcd48b..40302db 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,20 +140,20 @@ then
+ case "$optimize" in
+ -O|"-O "*)
+ optimize="-O"
+- optimize="$optimize -fforce-addr"
++ : #optimize="$optimize -fforce-addr"
+ : #x optimize="$optimize -finline-functions"
+ : #- optimize="$optimize -fstrength-reduce"
+- optimize="$optimize -fthread-jumps"
+- optimize="$optimize -fcse-follow-jumps"
+- optimize="$optimize -fcse-skip-blocks"
++ : #optimize="$optimize -fthread-jumps"
++ : #optimize="$optimize -fcse-follow-jumps"
++ : #optimize="$optimize -fcse-skip-blocks"
+ : #x optimize="$optimize -frerun-cse-after-loop"
+ : #x optimize="$optimize -frerun-loop-opt"
+ : #x optimize="$optimize -fgcse"
+ optimize="$optimize -fexpensive-optimizations"
+- optimize="$optimize -fregmove"
++ : #optimize="$optimize -fregmove"
+ : #* optimize="$optimize -fdelayed-branch"
+ : #x optimize="$optimize -fschedule-insns"
+- optimize="$optimize -fschedule-insns2"
++ : #optimize="$optimize -fschedule-insns2"
+ : #? optimize="$optimize -ffunction-sections"
+ : #? optimize="$optimize -fcaller-saves"
+ : #> optimize="$optimize -funroll-loops"
+--
+2.1.0
+
diff --git a/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
index 3a647bf..8d9246a 100644
--- a/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
+++ b/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -17,6 +17,7 @@ SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libmad-${PV}.tar.gz \
file://obsolete_automake_macros.patch \
file://automake-foreign.patch \
"
+SRC_URI_append_toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 43/49] modemmanager: Fix build with clang
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (40 preceding siblings ...)
2016-11-23 9:22 ` [meta-oe][PATCH 42/49] libmad: Fix build with clang Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 44/49] libcec: Add missing dep on ncurses Khem Raj
` (5 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../modemmanager/modemmanager/enum-conversion.patch | 21 +++++++++++++++++++++
...{modemmanager_1.6.0.bb => modemmanager_1.6.4.bb} | 8 +++++---
2 files changed, 26 insertions(+), 3 deletions(-)
create mode 100644 meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch
rename meta-oe/recipes-connectivity/modemmanager/{modemmanager_1.6.0.bb => modemmanager_1.6.4.bb} (88%)
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch b/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch
new file mode 100644
index 0000000..a3fb0f3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch
@@ -0,0 +1,21 @@
+Fixes errors found bt Clang
+
+| ../../ModemManager-1.6.4/src/mm-bearer-qmi.c:774:50: error: implicit conversion from enumeration type 'MMBearerStatus' to different enumeration type 'MMBearerConnectionStatus' [-Werror,-Wenum-conversion]
+| MMBearerConnectionStatus bearer_status = mm_base_bearer_get_status (MM_BASE_BEARER (self));
+| ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+| 1 error generated.
+
+
+Index: ModemManager-1.6.4/src/mm-bearer-qmi.c
+===================================================================
+--- ModemManager-1.6.4.orig/src/mm-bearer-qmi.c
++++ ModemManager-1.6.4/src/mm-bearer-qmi.c
+@@ -771,7 +771,7 @@ packet_service_status_indication_cb (Qmi
+ &connection_status,
+ NULL,
+ NULL)) {
+- MMBearerConnectionStatus bearer_status = mm_base_bearer_get_status (MM_BASE_BEARER (self));
++ MMBearerConnectionStatus bearer_status = (MMBearerConnectionStatus)mm_base_bearer_get_status (MM_BASE_BEARER (self));
+
+ if (connection_status == QMI_WDS_CONNECTION_STATUS_DISCONNECTED &&
+ bearer_status != MM_BEARER_CONNECTION_STATUS_DISCONNECTED &&
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.0.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
similarity index 88%
rename from meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.0.bb
rename to meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
index e26c227..5e4e220 100644
--- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.0.bb
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
@@ -11,9 +11,11 @@ inherit gnomebase gettext systemd vala gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
-SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
-SRC_URI[md5sum] = "d9d93d2961ee35b4cd8a75a6a8631cb4"
-SRC_URI[sha256sum] = "a94f4657a8fa6835e2734fcc6edf20aa8c8d452f62299d7748541021c3eb2445"
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
+ file://enum-conversion.patch \
+"
+SRC_URI[md5sum] = "06488186c7dd53f8104183b86f7a1568"
+SRC_URI[sha256sum] = "cdd5b4cb1e4d7643643a28ccbfc4bb354bfa9cb89a77ea160ebdf7926171c668"
S = "${WORKDIR}/ModemManager-${PV}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 44/49] libcec: Add missing dep on ncurses
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (41 preceding siblings ...)
2016-11-23 9:22 ` [meta-oe][PATCH 43/49] modemmanager: " Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 45/49] kodi-17: Update to latest Khem Raj
` (4 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Consider vc4 options on raspberryPi class of
devices
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-extended/libcec/libcec_git.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb
index 32ab4b9..0ce7ea1 100644
--- a/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -4,9 +4,10 @@ HOMEPAGE = "http://libcec.pulse-eight.com/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=e61fd86f9c947b430126181da2c6c715"
-DEPENDS = "p8platform udev lockdev"
+DEPENDS = "p8platform udev lockdev ncurses"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
+DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
PV = "3.1.0+gitr${SRCPV}"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 45/49] kodi-17: Update to latest
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (42 preceding siblings ...)
2016-11-23 9:22 ` [meta-oe][PATCH 44/49] libcec: Add missing dep on ncurses Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9 Khem Raj
` (3 subsequent siblings)
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
...-musl.patch => 0001-Fix-file_Emu-on-musl.patch} | 4 +-
...e-FILEWRAP.patch => 0002-Remove-FILEWRAP.patch} | 28 +++++++-------
...e-don-t-try-to-run-stuff-to-find-tinyxml.patch} | 8 ++--
...dle-SIGTERM.patch => 0004-handle-SIGTERM.patch} | 22 +++++------
...to-read-frequency-output-if-using-intel-.patch} | 6 +--
...upport.patch => 0006-Disable-DVD-support.patch} | 10 ++---
... => 0007-Always-compile-libcpluff-as-PIC.patch} | 6 +--
....cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch | 43 ++++++++++++++++++++++
...0009-build-Add-support-for-musl-triplets.patch} | 8 ++--
...ix-compiler-warning-comparing-pointer-to-.patch | 40 ++++++++++++++++++++
.../recipes-mediacenter/kodi/kodi-platform_git.bb | 3 +-
.../recipes-mediacenter/kodi/kodi_17.bb | 30 +++++++++------
12 files changed, 149 insertions(+), 59 deletions(-)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0008-Fix-file_Emu-on-musl.patch => 0001-Fix-file_Emu-on-musl.patch} (99%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0007-Remove-FILEWRAP.patch => 0002-Remove-FILEWRAP.patch} (78%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch => 0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch} (75%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0002-handle-SIGTERM.patch => 0004-handle-SIGTERM.patch} (89%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0003-add-support-to-read-frequency-output-if-using-intel-.patch => 0005-add-support-to-read-frequency-output-if-using-intel-.patch} (83%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0004-Disable-DVD-support.patch => 0006-Disable-DVD-support.patch} (78%)
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0005-Always-compile-libcpluff-as-PIC.patch => 0007-Always-compile-libcpluff-as-PIC.patch} (86%)
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
rename meta-multimedia/recipes-mediacenter/kodi/kodi-17/{0006-build-Add-support-for-musl-triplets.patch => 0009-build-Add-support-for-musl-triplets.patch} (97%)
create mode 100644 meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
similarity index 99%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
index 7598c7a..20b6377 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-Fix-file_Emu-on-musl.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
@@ -1,7 +1,7 @@
-From 3a10d9479e7c9a77c478b8b428e4309ff22e8498 Mon Sep 17 00:00:00 2001
+From 7ae4fcf290ffb0b76374efafeaee575456ac9023 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 6 Nov 2016 23:08:27 -0800
-Subject: [PATCH 8/8] Fix file_Emu on musl
+Subject: [PATCH 01/10] Fix file_Emu on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
similarity index 78%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
index c2d3259..7f48e93 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Remove-FILEWRAP.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
@@ -1,7 +1,7 @@
-From f4c5710192256e903b253353fb018ebd68d0b651 Mon Sep 17 00:00:00 2001
+From ad1977a358319093b305df6d84be6db676ef1e4a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 6 Nov 2016 22:35:16 -0800
-Subject: [PATCH 7/8] Remove FILEWRAP
+Subject: [PATCH 02/10] Remove FILEWRAP
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -10,10 +10,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/xbmc/utils/posix/PosixInterfaceForCLog.cpp b/xbmc/utils/posix/PosixInterfaceForCLog.cpp
-index 6614487..a91d157 100644
+index a3d4983..8443024 100644
--- a/xbmc/utils/posix/PosixInterfaceForCLog.cpp
+++ b/xbmc/utils/posix/PosixInterfaceForCLog.cpp
-@@ -28,10 +28,6 @@
+@@ -29,10 +29,6 @@
#include "platform/android/activity/XBMCApp.h"
#endif // TARGET_ANDROID
@@ -24,7 +24,7 @@ index 6614487..a91d157 100644
CPosixInterfaceForCLog::CPosixInterfaceForCLog() :
m_file(NULL)
{ }
-@@ -51,7 +47,7 @@ bool CPosixInterfaceForCLog::OpenLogFile(const std::string &logFilename, const s
+@@ -52,7 +48,7 @@ bool CPosixInterfaceForCLog::OpenLogFile(const std::string &logFilename, const s
(void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue
(void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue
@@ -34,24 +34,24 @@ index 6614487..a91d157 100644
return false; // error, can't open log file
diff --git a/xbmc/utils/posix/PosixInterfaceForCLog.h b/xbmc/utils/posix/PosixInterfaceForCLog.h
-index bb53442..2983e73 100644
+index c1e8ffe..75836b7 100644
--- a/xbmc/utils/posix/PosixInterfaceForCLog.h
+++ b/xbmc/utils/posix/PosixInterfaceForCLog.h
-@@ -21,8 +21,6 @@
+@@ -19,8 +19,6 @@
+ *
+ */
- #include <string>
-
--struct FILEWRAP; // forward declaration, wrapper for FILE
+-#include <string>
-
+ struct FILEWRAP; // forward declaration, wrapper for FILE
+
class CPosixInterfaceForCLog
- {
- public:
@@ -34,5 +32,5 @@ public:
void PrintDebugString(const std::string& debugString);
- static void GetCurrentLocalTime(int& hour, int& minute, int& second);
+ static void GetCurrentLocalTime(int& hour, int& minute, int& second, double& millisecond);
private:
- FILEWRAP* m_file;
-+ FILE * m_file;
++ FILE* m_file;
};
--
2.10.2
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
similarity index 75%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
index b3780db..49217a4 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
@@ -1,14 +1,14 @@
-From 53c7b1667a41b25775d1dc009d8ced61f383da0b Mon Sep 17 00:00:00 2001
+From a91a3ba229dc5903935f7dd98dd03bbb4fe5ac1f Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Sat, 6 Feb 2016 15:43:01 +0100
-Subject: [PATCH 1/3] configure: don't try to run stuff to find tinyxml
+Subject: [PATCH 03/10] configure: don't try to run stuff to find tinyxml
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 5a41fb4..243c7e5 100644
+index 34fe643..3132dc1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1043,7 +1043,7 @@ fi
@@ -21,5 +21,5 @@ index 5a41fb4..243c7e5 100644
#include <stdlib.h>
#include <tinyxml.h>
--
-2.10.1
+2.10.2
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
similarity index 89%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
index b2af5de..dc37439 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-handle-SIGTERM.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
@@ -1,7 +1,7 @@
-From 1c1484303a055bfde655ffae3829554aaefc2e07 Mon Sep 17 00:00:00 2001
+From 49046c1685465a5486fe9e1c04b99c585aab6862 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Wed, 2 Nov 2016 11:28:34 -0700
-Subject: [PATCH 2/3] handle SIGTERM
+Subject: [PATCH 04/10] handle SIGTERM
0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
@@ -26,10 +26,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index 4c118e0..58b151a 100644
+index 100a2f2..fda892d 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
-@@ -2428,12 +2428,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+@@ -2426,12 +2426,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
switch (pMsg->dwMessage)
{
case TMSG_POWERDOWN:
@@ -44,7 +44,7 @@ index 4c118e0..58b151a 100644
break;
case TMSG_SHUTDOWN:
-@@ -2454,12 +2454,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+@@ -2452,12 +2452,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
case TMSG_RESTART:
case TMSG_RESET:
@@ -59,7 +59,7 @@ index 4c118e0..58b151a 100644
Stop(EXITCODE_RESTARTAPP);
#endif
break;
-@@ -2883,6 +2884,13 @@ bool CApplication::Cleanup()
+@@ -2881,6 +2882,13 @@ bool CApplication::Cleanup()
}
}
@@ -73,7 +73,7 @@ index 4c118e0..58b151a 100644
void CApplication::Stop(int exitCode)
{
try
-@@ -2890,7 +2898,7 @@ void CApplication::Stop(int exitCode)
+@@ -2888,7 +2896,7 @@ void CApplication::Stop(int exitCode)
m_frameMoveGuard.unlock();
CVariant vExitCode(CVariant::VariantTypeObject);
@@ -82,7 +82,7 @@ index 4c118e0..58b151a 100644
CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
// Abort any active screensaver
-@@ -2924,7 +2932,6 @@ void CApplication::Stop(int exitCode)
+@@ -2922,7 +2930,6 @@ void CApplication::Stop(int exitCode)
m_bStop = true;
m_AppFocused = false;
@@ -91,10 +91,10 @@ index 4c118e0..58b151a 100644
// cancel any jobs from the jobmanager
diff --git a/xbmc/Application.h b/xbmc/Application.h
-index 22aca81..9992677 100644
+index a9d9bf5..e536deb 100644
--- a/xbmc/Application.h
+++ b/xbmc/Application.h
-@@ -160,6 +160,7 @@ public:
+@@ -159,6 +159,7 @@ public:
void StopPVRManager();
void ReinitPVRManager();
bool IsCurrentThread() const;
@@ -159,5 +159,5 @@ index a8b64e5..3d80032 100644
XBMC::Context context;
--
-2.10.1
+2.10.2
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
similarity index 83%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
index d638550..ee10c40 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-add-support-to-read-frequency-output-if-using-intel-.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
@@ -1,7 +1,7 @@
-From 4ef1e9dab9193f1a5305d25c8eda97f8f06ea154 Mon Sep 17 00:00:00 2001
+From 4d1368d20f04216aec9551d9845b305f96a21015 Mon Sep 17 00:00:00 2001
From: Stephan Raue <stephan@openelec.tv>
Date: Mon, 1 Sep 2014 03:16:37 +0200
-Subject: [PATCH 3/3] add support to read frequency output if using intel's
+Subject: [PATCH 05/10] add support to read frequency output if using intel's
pstate driver
---
@@ -22,5 +22,5 @@ index 5e2ebbd..fd04d5a 100644
{
m_cpuInfoForFreq = true;
--
-2.10.1
+2.10.2
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
similarity index 78%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
index 6f5f9a2..08dfac3 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-Disable-DVD-support.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
@@ -1,7 +1,7 @@
-From 191cf3f084b4d34846711034a7fe3078f8243c82 Mon Sep 17 00:00:00 2001
+From 3d3ec391038c6ee73897a7fab753b11b589de1ed Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 2 Nov 2016 12:39:20 -0700
-Subject: [PATCH 4/4] Disable DVD support
+Subject: [PATCH 06/10] Disable DVD support
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -9,7 +9,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 58b3a17..b7c3fce 100644
+index 0d70e9b..050c7ca 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -10,8 +10,7 @@ EC_DIRS= \
@@ -22,7 +22,7 @@ index 58b3a17..b7c3fce 100644
VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
-@@ -343,7 +342,6 @@ libaddon: exports
+@@ -347,7 +346,6 @@ libaddon: exports
$(MAKE) -C lib/addons/library.xbmc.pvr
$(MAKE) -C lib/addons/library.kodi.inputstream
dvdpcodecs: dllloader
@@ -31,5 +31,5 @@ index 58b3a17..b7c3fce 100644
dvdpextcodecs:
--
-2.10.1
+2.10.2
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
similarity index 86%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
index f513334..8fd7ece 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-Always-compile-libcpluff-as-PIC.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
@@ -1,7 +1,7 @@
-From 603e8925a8b1609d483d866346a35fefbc66cfca Mon Sep 17 00:00:00 2001
+From d989cbdb7686c3b95dc749967f89b93e47f955a6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 3 Nov 2016 13:10:00 -0700
-Subject: [PATCH 5/5] Always compile libcpluff as PIC
+Subject: [PATCH 07/10] Always compile libcpluff as PIC
Fixes errors e.g.
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index b210b73..52d5f11 100644
+index 3132dc1..ab4eea3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2385,7 +2385,7 @@ XB_CONFIG_MODULE([lib/cpluff], [
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
new file mode 100644
index 0000000..9390144
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
@@ -0,0 +1,43 @@
+From 51cd8d5f084013360b29fe497193288ebde2f4f9 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 29 Jul 2015 23:13:33 +0200
+Subject: [PATCH 08/10] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
+ cross-compilation
+
+When cross-compiling, the location at build time of the libraries is
+not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
+is here to handle this difference, so use it in kodi-config.cmake.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ project/cmake/KodiConfig.cmake.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in
+index c02a680..9d6a566 100644
+--- a/project/cmake/KodiConfig.cmake.in
++++ b/project/cmake/KodiConfig.cmake.in
+@@ -7,10 +7,10 @@ if(NOT @APP_NAME_UC@_PREFIX)
+ set(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
+ endif()
+ if(NOT @APP_NAME_UC@_INCLUDE_DIR)
+- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
++ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
+ endif()
+ if(NOT @APP_NAME_UC@_LIB_DIR)
+- set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
++ set(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
+ endif()
+ if(NOT @APP_NAME_UC@_DATA_DIR)
+ set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@)
+@@ -19,6 +19,7 @@ if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
+ endif()
+ list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake)
++list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake)
+
+ string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@")
+ add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON)
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
similarity index 97%
rename from meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch
rename to meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
index 71c5c41..f3e739a 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-build-Add-support-for-musl-triplets.patch
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
@@ -1,7 +1,7 @@
-From 99769ac5653884e49d1c8c34e65d2e565cd9e314 Mon Sep 17 00:00:00 2001
+From 8b2bad58585af0f829fb06e19c9bd2b6caf30808 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 6 Nov 2016 11:54:41 -0800
-Subject: [PATCH 6/6] build: Add support for musl triplets
+Subject: [PATCH 09/10] build: Add support for musl triplets
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 52d5f11..a772973 100644
+index ab4eea3..925466a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -526,7 +526,7 @@ case $host in
@@ -131,7 +131,7 @@ index d28f263..ff5dc20 100644
;;
*-*linux-android*)
diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
-index a0bc386..b96d20e 100644
+index f438e5d..409f4d7 100644
--- a/tools/depends/configure.ac
+++ b/tools/depends/configure.ac
@@ -120,13 +120,13 @@ platform_cc=gcc
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
new file mode 100644
index 0000000..e34a5b7
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
@@ -0,0 +1,40 @@
+From 55233024648b5673dbf223586968e71cc4c70711 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Nov 2016 18:49:36 -0800
+Subject: [PATCH 10/10] RssReader: Fix compiler warning comparing pointer to
+ zero
+
+Clang finds this warning
+RssReader.cpp:272:19: error: ordered comparison between pointer and zero ('TiXmlElement *' and 'int')
+ while (itemNode > 0)
+ ~~~~~~~~ ^ ~
+RssReader.cpp:276:22: error: ordered comparison between pointer and zero ('TiXmlNode *' and 'int')
+ while (childNode > 0)
+ ~~~~~~~~~ ^ ~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/utils/RssReader.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xbmc/utils/RssReader.cpp b/xbmc/utils/RssReader.cpp
+index 9186f56..2494dc8 100644
+--- a/xbmc/utils/RssReader.cpp
++++ b/xbmc/utils/RssReader.cpp
+@@ -269,11 +269,11 @@ void CRssReader::GetNewsItems(TiXmlElement* channelXmlNode, int iFeed)
+ if (m_tagSet.empty())
+ AddTag("title");
+
+- while (itemNode > 0)
++ while (itemNode != NULL)
+ {
+ TiXmlNode* childNode = itemNode->FirstChild();
+ mTagElements.clear();
+- while (childNode > 0)
++ while (childNode != NULL)
+ {
+ std::string strName = childNode->ValueStr();
+
+--
+2.10.2
+
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
index 5077454..802259d 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
@@ -8,9 +8,8 @@ DEPENDS = "libtinyxml kodi"
PV = "16.0.0"
-SRCREV = "15edaf78d6307eaa5e1d17028122d8bce9d55aa2"
+SRCREV = "c8188d82678fec6b784597db69a68e74ff4986b5"
SRC_URI = "git://github.com/xbmc/kodi-platform.git \
- file://0001-Fix-build-after-platform-rename.patch \
file://0001-fix-cross-compile-badness.patch \
file://kodi-platform-02_no-multi-lib.patch \
"
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 13be123..ee8c743 100644
--- a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -63,20 +63,22 @@ DEPENDS = " \
PROVIDES = "xbmc"
-SRCREV = "7f6abd1dd6d1aefcb4303083f34aaa90a8df9fce"
+SRCREV = "59579457e5fa56baae3b3fb2521518ad6fadd14e"
PV = "17.0+gitr${SRCPV}"
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
- file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
- file://0002-handle-SIGTERM.patch \
- file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
- file://0004-Disable-DVD-support.patch \
- file://0005-Always-compile-libcpluff-as-PIC.patch \
- file://0006-build-Add-support-for-musl-triplets.patch \
+ file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+ file://0004-handle-SIGTERM.patch \
+ file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
+ file://0006-Disable-DVD-support.patch \
+ file://0007-Always-compile-libcpluff-as-PIC.patch \
+ file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
+ file://0009-build-Add-support-for-musl-triplets.patch \
+ file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
"
SRC_URI_append_libc-musl = " \
- file://0007-Remove-FILEWRAP.patch \
- file://0008-Fix-file_Emu-on-musl.patch \
+ file://0001-Fix-file_Emu-on-musl.patch \
+ file://0002-Remove-FILEWRAP.patch \
"
inherit autotools-brokensep gettext pythonnative
@@ -103,7 +105,9 @@ PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr li
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
+
EXTRA_OECONF_append_rpi = " --disable-openmax --enable-player=omxplayer --with-platform=raspberry-pi2"
+EXTRA_OECONF_remove_aarch64 = "--with-platform=raspberry-pi2"
LDFLAGS_append_rpi = " -lvchostif "
EXTRA_OECONF = " \
--disable-debug \
@@ -118,10 +122,12 @@ EXTRA_OECONF = " \
--enable-texturepacker=no \
"
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
-FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
+FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
+
# for python modules
export HOST_SYS
export BUILD_SYS
@@ -187,3 +193,5 @@ RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
RPROVIDES_${PN} += "xbmc"
+TOOLCHAIN = "gcc"
+
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (43 preceding siblings ...)
2016-11-23 9:22 ` [meta-multimedia][PATCH 45/49] kodi-17: Update to latest Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-26 0:18 ` Martin Jansa
2016-11-23 9:22 ` [meta-networking][PATCH 47/49] memcached: Update to 1.4.33 Khem Raj
` (2 subsequent siblings)
47 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../tvheadend/0001-Fix-checks-for-sse2-mmx.patch | 40 ++++++++++
...efile-Ignore-warning-about-wrong-includes.patch | 31 ++++++++
...end-specific-LD-CFLAGS-into-a-helper-vari.patch | 92 ----------------------
.../0001-disable-varargs-warning-on-clang.patch | 32 ++++++++
.../0001-dvr-Use-labs-instead-of-abs.patch | 37 +++++++++
...verride-forced-overrdiing-og-CC-STRIP-and.patch | 40 ++++++++++
.../tvheadend/0002-fix-issues-with-gcc6.patch | 46 -----------
.../recipes-dvb/tvheadend/tvheadend_git.bb | 15 ++--
8 files changed, 189 insertions(+), 144 deletions(-)
create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
new file mode 100644
index 0000000..3283a5b
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
@@ -0,0 +1,40 @@
+From f0dab6d6fe4b0aae4394eee93be86e9747c6ed5c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Nov 2016 05:07:38 +0000
+Subject: [PATCH] Fix checks for sse2/mmx
+
+Just checking for cmdline options is not enough
+its better to check for builtin defines to be
+sure, clang does not error out on sse2 options on
+arm e.g. and it ends up doing SSE2 stuff for arm
+which is not desired
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 47d2cf2..4be000c 100755
+--- a/configure
++++ b/configure
+@@ -118,8 +118,14 @@ fi
+ # Valiate compiler
+ check_cc || die 'No C compiler found'
+ check_cc_header execinfo
+-check_cc_option mmx
+-check_cc_option sse2
++check_cc_snippet mmx '#ifndef __MMX__
++error "MMX not supported"
++#endif
++'
++check_cc_snippet sse2 '#ifndef __SSE2__
++error "SSE2 not supported"
++#endif
++'
+
+ if check_cc '
+ #if !defined(__clang__)
+--
+1.9.1
+
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
new file mode 100644
index 0000000..248a5e6
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
@@ -0,0 +1,31 @@
+From 7d672305c7ad2f716dfe1c487b525a1a92954d4a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Nov 2016 06:22:36 +0000
+Subject: [PATCH] Makefile: Ignore warning about wrong includes
+
+It happens on musl especially
+usr/include/sys/poll.h:1:2: error: redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings]
+| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
+| ^
+| In file included from src/avahi.c:48:
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index f41ef1a..cc7b249 100644
+--- a/Makefile
++++ b/Makefile
+@@ -54,6 +54,7 @@ CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function
+ CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare
+ CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types
+ CFLAGS += -Wno-error=varargs
++CFLAGS += -Wno-error=\#warnings
+ endif
+
+ ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
+--
+1.8.3.1
+
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
deleted file mode 100644
index 9dfcce0..0000000
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 2ee64b359464b48f751683faa5ded3ee8200fe90 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 21 Dec 2012 10:15:42 +0100
-Subject: [PATCH] Move tvheadend specific LD/CFLAGS into a helper variable to
- avoid being overwritten
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-Upstream-Status: Inappropriate [OE specific]
----
- Makefile | 20 ++++++++++----------
- support/configure.inc | 8 ++++----
- 2 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8c6b293..daf5f14 100644
---- a/Makefile
-+++ b/Makefile
-@@ -27,12 +27,12 @@ PROG = ${BUILDDIR}/tvheadend
- # Common compiler flags
- #
-
--CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
--CFLAGS += -Wmissing-prototypes -fms-extensions
--CFLAGS += -g -funsigned-char -O2
--CFLAGS += -D_FILE_OFFSET_BITS=64
--CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
--LDFLAGS += -lrt -ldl -lpthread -lm
-+TVH_CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
-+TVH_CFLAGS += -Wmissing-prototypes -fms-extensions
-+TVH_CFLAGS += -g -funsigned-char -O2
-+TVH_CFLAGS += -D_FILE_OFFSET_BITS=64
-+TVH_CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
-+TVH_LDFLAGS += -lrt -ldl -lpthread -lm
-
- #
- # Other config
-@@ -179,8 +179,8 @@ SRCS-${CONFIG_CWC} += src/ffdecsa/ffdecsa_interface.c \
- src/ffdecsa/ffdecsa_int.c
- SRCS-${CONFIG_MMX} += src/ffdecsa/ffdecsa_mmx.c
- SRCS-${CONFIG_SSE2} += src/ffdecsa/ffdecsa_sse2.c
--${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
--${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
-+${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : TVH_CFLAGS += -mmmx
-+${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : TVH_CFLAGS += -msse2
- endif
-
- # File bundles
-@@ -217,12 +217,12 @@ all: ${PROG}
-
- # Binary
- ${PROG}: $(OBJS) $(ALLDEPS)
-- $(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS)
-+ $(CC) -o $@ $(OBJS) $(TVH_CFLAGS) $(TVH_LDFLAGS) $(CFLAGS) $(LDFLAGS)
-
- # Object
- ${BUILDDIR}/%.o: %.c
- @mkdir -p $(dir $@)
-- $(CC) -MD -MP $(CFLAGS) -c -o $@ $(CURDIR)/$<
-+ $(CC) -MD -MP $(TVH_CFLAGS) $(CFLAGS) -c -o $@ $(CURDIR)/$<
-
- # Add-on
- ${BUILDDIR}/%.so: ${SRCS_EXTRA}
-diff --git a/support/configure.inc b/support/configure.inc
-index 0130880..332511e 100644
---- a/support/configure.inc
-+++ b/support/configure.inc
-@@ -464,8 +464,8 @@ ifeq (\$(origin CC),default)
- CC = ${CC}
- endif
- PYTHON ?= ${PYTHON}
--CFLAGS += ${CFLAGS}
--LDFLAGS += ${LDFLAGS}
-+TVH_CFLAGS += ${CFLAGS}
-+TVH_LDFLAGS += ${LDFLAGS}
- prefix = ${prefix}
- bindir = ${bindir}
- mandir = ${mandir}
-@@ -482,8 +482,8 @@ EOF
- # Add package config
- for pkg in ${PACKAGES[*]}; do
- cat >>${CONFIG_MK} <<EOF
--LDFLAGS += $(pkg-config --libs $pkg)
--CFLAGS += $(pkg-config --cflags $pkg)
-+TVH_LDFLAGS += $(pkg-config --libs $pkg)
-+TVH_CFLAGS += $(pkg-config --cflags $pkg)
- EOF
- done
-
---
-1.7.7.6
-
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
new file mode 100644
index 0000000..a4c4c4d
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
@@ -0,0 +1,32 @@
+From 906d95695af95970bf551ea55b6c3e70332c6b97 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Nov 2016 05:22:32 +0000
+Subject: [PATCH] disable varargs warning on clang
+
+The issue is that 'len' is an unsigned char and we violate the promotion rules
+for passing the value to va_start.
+
+passing an object that undergoes defau
+lt argument promotion to 'va_start' has undefined behavior [-Wvarargs]
+| va_start(ap, len);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 8c5e380..f41ef1a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -53,6 +53,7 @@ ifeq ($(COMPILER), clang)
+ CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function
+ CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare
+ CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types
++CFLAGS += -Wno-error=varargs
+ endif
+
+ ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
+--
+1.9.1
+
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
new file mode 100644
index 0000000..ea34cdb
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
@@ -0,0 +1,37 @@
+From a715671eadcbf989fdaf05f62e71b93ac1749615 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Nov 2016 06:08:31 +0000
+Subject: [PATCH] dvr: Use labs() instead of abs()
+
+Makes clang happy
+
+dvr/dvr_db.c:853:10: error: absolute value function
+'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
+if ((abs(de->de_start - e->start) < 600) && (abs(de->de_stop - e->stop) < 600)) {
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dvr/dvr_db.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c
+index 165caa6..5656569 100644
+--- a/src/dvr/dvr_db.c
++++ b/src/dvr/dvr_db.c
+@@ -414,11 +414,11 @@ dvr_entry_fuzzy_match(dvr_entry_t *de, epg_broadcast_t *e)
+ /* Wrong length (+/-20%) */
+ t1 = de->de_stop - de->de_start;
+ t2 = e->stop - e->start;
+- if ( abs(t2 - t1) > (t1 / 5) )
++ if ( labs(t2 - t1) > (t1 / 5) )
+ return 0;
+
+ /* Outside of window */
+- if (abs(e->start - de->de_start) > de->de_config->dvr_update_window)
++ if (labs(e->start - de->de_start) > de->de_config->dvr_update_window)
+ return 0;
+
+ /* Title match (or contains?) */
+--
+1.9.1
+
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
new file mode 100644
index 0000000..484e723
--- /dev/null
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
@@ -0,0 +1,40 @@
+From c3767e189e90965407937b6178adbbd8cdafe31d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Nov 2016 05:59:10 +0000
+Subject: [PATCH] hdhomerun: Override forced overrdiing og CC/STRIP and CFLAGS
+
+This is required for cross compiling otherwise it ends up
+using build host gcc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.hdhomerun | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun
+index 943ffec..8bd14ff 100644
+--- a/Makefile.hdhomerun
++++ b/Makefile.hdhomerun
+@@ -18,8 +18,8 @@
+
+ include $(dir $(lastword $(MAKEFILE_LIST))).config.mk
+
+-unexport CFLAGS
+-unexport LDFLAGS
++#unexport CFLAGS
++#unexport LDFLAGS
+
+ define DOWNLOAD
+ @mkdir -p $(LIBHDHRDIR)/build
+@@ -75,6 +75,8 @@ $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download:
+ $(call DOWNLOAD,$(LIBHDHR_URL),$(LIBHDHRDIR)/$(LIBHDHR_TB),$(LIBHDHR_SHA1))
+ $(call UNTAR,$(LIBHDHR_TB),z)
+ ln -sf libhdhomerun $(LIBHDHRDIR)/$(LIBHDHR)
++ @sed -i -e "s/CC.*:=/CC ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile
++ @sed -i -e "s/STRIP.*:=/STRIP ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile
+ @touch $@
+
+ $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build: \
+--
+1.9.1
+
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
deleted file mode 100644
index 55b9249..0000000
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- git/src/htsmsg.c.orig 2016-06-17 11:47:53.026921237 -0400
-+++ git/src/htsmsg.c 2016-06-17 11:49:03.086922457 -0400
-@@ -574,13 +574,13 @@
- case HMF_MAP:
- printf("MAP) = {\n");
- htsmsg_print0(&f->hmf_msg, indent + 1);
-- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
-+ for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
- break;
-
- case HMF_LIST:
- printf("LIST) = {\n");
- htsmsg_print0(&f->hmf_msg, indent + 1);
-- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
-+ for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
- break;
-
- case HMF_STR:
---- git/src/dvb/dvb_tables.c.orig 2016-06-17 11:51:09.142924652 -0400
-+++ git/src/dvb/dvb_tables.c 2016-06-17 11:54:33.962928219 -0400
-@@ -935,10 +935,10 @@
- onid = (ptr[24] << 8) | ptr[25];
-
- /* Search all muxes on adapter */
-- LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link)
-- if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid);
-- break;
--
-+ LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link) {
-+ if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid)
-+ break;
-+ }
- if(tdmi == NULL)
- continue;
-
---- git/src/epggrab/module/eit.c.orig 2016-06-17 11:49:57.726923409 -0400
-+++ git/src/epggrab/module/eit.c 2016-06-17 11:50:14.526923701 -0400
-@@ -214,7 +214,7 @@
- if (m && m->enabled) cptr = _eit_freesat_conv;
- else
- m = epggrab_module_find_by_id("uk_freeview");
-- if (m && m->enabled) cptr = _eit_freesat_conv;
-+ if (m && m->enabled) cptr = _eit_freesat_conv;
-
- /* Convert */
- return dvb_get_string_with_len(dst, dstlen, src, srclen, charset, cptr);
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index bd5062c..170536a 100644
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -4,14 +4,17 @@ HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend"
DEPENDS = "avahi zlib openssl python-native"
LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9eef91148a9b14ec7f9df333daebc746"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db"
-SRC_URI = "git://github.com/tvheadend/tvheadend.git \
- file://0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch \
- file://0002-fix-issues-with-gcc6.patch \
+SRC_URI = "git://github.com/tvheadend/tvheadend.git;branch=release/4.0 \
+ file://0001-Fix-checks-for-sse2-mmx.patch \
+ file://0001-disable-varargs-warning-on-clang.patch \
+ file://0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch \
+ file://0001-dvr-Use-labs-instead-of-abs.patch \
+ file://0001-Makefile-Ignore-warning-about-wrong-includes.patch \
"
-SRCREV = "a420c83a0e0d2c31c2c15d0fec6fedc3f5a36dfe"
-PV = "3.3"
+SRCREV = "64fec8120158de585e18be705055259484518d94"
+PV = "4.0.9+git${SRCREV}"
S = "${WORKDIR}/git"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-networking][PATCH 47/49] memcached: Update to 1.4.33
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (44 preceding siblings ...)
2016-11-23 9:22 ` [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9 Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 48/49] vlc: Add packageconfig for vdpau Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 49/49] mpv: Add libvdpau to DEPENDS Khem Raj
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../recipes-support/memcached/memcached/configure.patch | 13 -------------
.../memcached/memcached/redundant_comparison.patch | 13 +++++++++++++
.../memcached/{memcached_1.4.17.bb => memcached_1.4.33.bb} | 7 +++----
3 files changed, 16 insertions(+), 17 deletions(-)
delete mode 100644 meta-networking/recipes-support/memcached/memcached/configure.patch
create mode 100644 meta-networking/recipes-support/memcached/memcached/redundant_comparison.patch
rename meta-networking/recipes-support/memcached/{memcached_1.4.17.bb => memcached_1.4.33.bb} (90%)
diff --git a/meta-networking/recipes-support/memcached/memcached/configure.patch b/meta-networking/recipes-support/memcached/memcached/configure.patch
deleted file mode 100644
index 7001a0e..0000000
--- a/meta-networking/recipes-support/memcached/memcached/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: memcached-1.4.17/configure.ac
-===================================================================
---- memcached-1.4.17.orig/configure.ac 2013-12-20 21:44:49.000000000 +0000
-+++ memcached-1.4.17/configure.ac 2014-07-18 07:17:00.593499483 +0000
-@@ -4,7 +4,7 @@
- AC_INIT(memcached, VERSION_NUMBER, memcached@googlegroups.com)
- AC_CANONICAL_SYSTEM
- AC_CONFIG_SRCDIR(memcached.c)
--AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
-
- AC_PROG_CC
diff --git a/meta-networking/recipes-support/memcached/memcached/redundant_comparison.patch b/meta-networking/recipes-support/memcached/memcached/redundant_comparison.patch
new file mode 100644
index 0000000..ed86ffa
--- /dev/null
+++ b/meta-networking/recipes-support/memcached/memcached/redundant_comparison.patch
@@ -0,0 +1,13 @@
+Index: memcached-1.4.33/items.c
+===================================================================
+--- memcached-1.4.33.orig/items.c
++++ memcached-1.4.33/items.c
+@@ -148,7 +148,7 @@ item *do_item_alloc(char *key, const siz
+ uint8_t nsuffix;
+ item *it = NULL;
+ char suffix[40];
+- if (nbytes < 2 || nkey < 0)
++ if (nbytes < 2)
+ return 0;
+
+ size_t ntotal = item_make_header(nkey + 1, flags, nbytes, suffix, &nsuffix);
diff --git a/meta-networking/recipes-support/memcached/memcached_1.4.17.bb b/meta-networking/recipes-support/memcached/memcached_1.4.33.bb
similarity index 90%
rename from meta-networking/recipes-support/memcached/memcached_1.4.17.bb
rename to meta-networking/recipes-support/memcached/memcached_1.4.33.bb
index 293f8d4..25ea7b1 100644
--- a/meta-networking/recipes-support/memcached/memcached_1.4.17.bb
+++ b/meta-networking/recipes-support/memcached/memcached_1.4.33.bb
@@ -20,15 +20,14 @@ RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \
"
SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
- file://configure.patch \
+ file://redundant_comparison.patch \
file://memcached-add-hugetlbfs-check.patch"
+SRC_URI[md5sum] = "2d7f6476283cd36e21e521d901d37a8f"
+SRC_URI[sha256sum] = "83726c8d68258c56712373072abb25a449c257398075a39ec0867fd8ba69771d"
# set the same COMPATIBLE_HOST as libhugetlbfs
COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'
-SRC_URI[md5sum] = "46402dfbd7faadf6182283dbbd18b1a6"
-SRC_URI[sha256sum] = "d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a89999d8cdc0458"
-
python __anonymous () {
endianness = d.getVar('SITEINFO_ENDIANNESS', True)
if endianness == 'le':
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-multimedia][PATCH 48/49] vlc: Add packageconfig for vdpau
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (45 preceding siblings ...)
2016-11-23 9:22 ` [meta-networking][PATCH 47/49] memcached: Update to 1.4.33 Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 49/49] mpv: Add libvdpau to DEPENDS Khem Raj
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Fix packaging of libvlc_vdpau.so since this plugin
does not have soname version
Fixes
QA Issue: non -dev/-dbg/nativesdk- package contains symlink .so: vlc path '/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/vlc/2.2.2-r0/packages-split/vlc/usr/lib/vlc/libvlc_vdpau.so' [dev-so]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-multimedia/recipes-multimedia/vlc/vlc.inc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index 0972b61..087baab 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -37,7 +37,7 @@ EXTRA_OECONF = "\
ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \
"
-PACKAGECONFIG ?= " live555 dc1394 dv1394 notify fontconfig freetype dvdread png ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 sdl', '', d)}"
+PACKAGECONFIG ?= " live555 dc1394 dv1394 notify fontconfig freetype dvdread png ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 sdl vdpau', '', d)}"
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl libsdl-image "
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
@@ -72,6 +72,7 @@ PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdc
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
do_configure_prepend() {
cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true
@@ -94,6 +95,7 @@ FILES_${PN} += "\
${datadir}/applications \
${datadir}/vlc/ \
${datadir}/icons \
+ ${lindir}/vlc/vlc/libvlc_vdpau.so \
"
FILES_${PN}-dbg += "\
@@ -104,3 +106,6 @@ FILES_${PN}-dbg += "\
FILES_${PN}-staticdev += "\
${libdir}/vlc/plugins/*/*.a \
"
+
+INSANE_SKIP_${PN} = "dev-so"
+
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* [meta-oe][PATCH 49/49] mpv: Add libvdpau to DEPENDS
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
` (46 preceding siblings ...)
2016-11-23 9:22 ` [meta-multimedia][PATCH 48/49] vlc: Add packageconfig for vdpau Khem Raj
@ 2016-11-23 9:22 ` Khem Raj
47 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-23 9:22 UTC (permalink / raw)
To: openembedded-devel
Fixes
WARNING: mpv-0.15.0-r0 do_package_qa: QA Issue: mpv rdepends on libvdpau, but it isn't a build dependency, missing libvdpau in DEPENDS or PACKAGECONFIG? [build-deps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
index 292c701..c49811c 100644
--- a/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
+++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features wi
SECTION = "multimedia"
HOMEPAGE = "http://www.mpv.io/"
DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
- libxscrnsaver libv4l libxinerama \
+ libxscrnsaver libv4l libxinerama libvdpau \
"
REQUIRED_DISTRO_FEATURES = "x11"
--
2.10.2
^ permalink raw reply related [flat|nested] 73+ messages in thread
* Re: [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0
2016-11-23 9:21 ` [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0 Khem Raj
@ 2016-11-25 0:31 ` Martin Jansa
2016-11-25 10:41 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-25 0:31 UTC (permalink / raw)
To: openembedded-devel
Failed to build in bitbake world:
| ../include/xfs/linux.h:20:23: fatal error: uuid/uuid.h: No such file
or directory
| #include <uuid/uuid.h>
| ^
| compilation terminated.
| make[2]: *** [crc32selftest] Error 1
On Wed, Nov 23, 2016 at 10:21 AM, Khem Raj <raj.khem@gmail.com> wrote:
> Change-Id: I0015da261d540f99bfdebba703fef9403eebff7b
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../recipes-utils/xfsprogs/xfsprogs_3.2.3.bb | 55
> ----------------------
> .../recipes-utils/xfsprogs/xfsprogs_4.8.0.bb | 52
> ++++++++++++++++++++
> 2 files changed, 52 insertions(+), 55 deletions(-)
> delete mode 100644 meta-filesystems/recipes-utils/xfsprogs/
> xfsprogs_3.2.3.bb
> create mode 100644 meta-filesystems/recipes-utils/xfsprogs/
> xfsprogs_4.8.0.bb
>
> diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
> b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
> deleted file mode 100644
> index 460a898..0000000
> --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -SUMMARY = "XFS Filesystem Utilities"
> -HOMEPAGE = "http://oss.sgi.com/projects/xfs"
> -SECTION = "base"
> -LICENSE = "GPLv2 & LGPLv2.1"
> -LICENSE_libhandle = "LGPLv2.1"
> -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac
> 2a"
> -DEPENDS = "util-linux"
> -
> -SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \
> - file://xfsprogs-generate-crctable-which-is-moved-into-runti.patch \
> - file://remove-install-as-user.patch \
> - file://drop-configure-check-for-aio.patch \
> -"
> -
> -SRC_URI[md5sum] = "9f383e36682709e62b12c125e5d8b895"
> -SRC_URI[sha256sum] = "7a5124a880997939551b519610a2e5
> 4bd4cd0b0adfd563ce3f4de30827109ac9"
> -
> -inherit autotools-brokensep
> -
> -PACKAGES =+ "${PN}-fsck ${PN}-mkfs libhandle"
> -
> -RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs"
> -
> -FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
> -FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
> -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
> -
> -EXTRA_OECONF = "--enable-gettext=no"
> -do_configure () {
> - # Prevent Makefile from calling configure without arguments,
> - # when do_configure gets called for a second time.
> - rm -f include/builddefs include/platform_defs.h
> - # Recreate configure script.
> - rm -f configure
> - oe_runmake configure
> - # Configure.
> - export DEBUG="-DNDEBUG"
> - gnu-configize --force
> - oe_runconf
> -}
> -
> -LIBTOOL = "${HOST_SYS}-libtool"
> -EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
> -TARGET_CC_ARCH += "${LDFLAGS}"
> -PARALLEL_MAKE = ""
> -
> -do_install () {
> - export DIST_ROOT=${D}
> - oe_runmake install
> - # needed for xfsdump
> - oe_runmake install-dev
> -}
> -
> -# http://errors.yoctoproject.org/Errors/Details/83236/
> -PNBLACKLIST[xfsprogs] ?= "BROKEN: Needs upgrade to 4.5.0 version to be
> compatible with Kernel uapi changes from 4.5"
> diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
> b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
> new file mode 100644
> index 0000000..049a4be
> --- /dev/null
> +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.8.0.bb
> @@ -0,0 +1,52 @@
> +SUMMARY = "XFS Filesystem Utilities"
> +HOMEPAGE = "http://oss.sgi.com/projects/xfs"
> +SECTION = "base"
> +LICENSE = "GPLv2 & LGPLv2.1"
> +LICENSE_libhandle = "LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac
> 2a"
> +DEPENDS = "util-linux"
> +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${
> BP}.tar.xz \
> +"
> +SRC_URI[md5sum] = "4f047bc9a28b48a95c6db0ad5ce4dbcb"
> +SRC_URI[sha256sum] = "82ce9cb3a55f4e208e8fe3471ff0af
> f0602b8300f3e50bdf05cc7e11549686f9"
> +
> +inherit autotools-brokensep
> +
> +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
> +
> +
> +RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
> +
> +FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
> +FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
> +FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
> +
> +FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
> +
> +EXTRA_OECONF = "--enable-gettext=no \
> + INSTALL_USER=root \
> + INSTALL_GROUP=root \
> +"
> +
> +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
> +
> +PACKAGECONFIG ??= "readline blkid"
> +
> +PACKAGECONFIG[readline] = "--enable-readline=yes,--
> enable-readline=no,readline"
> +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
> +
> +export DEBUG="-DNDEBUG"
> +
> +EXTRA_OEMAKE = "DIST_ROOT='${D}'"
> +
> +do_configure_prepend () {
> + # Prevent Makefile from calling configure without arguments,
> + # when do_configure gets called for a second time.
> + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h
> ${B}/configure
> + # Recreate configure script.
> + oe_runmake configure
> +}
> +
> +do_install_append() {
> + oe_runmake 'DESTDIR=${D}' install-dev
> +}
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0
2016-11-25 0:31 ` Martin Jansa
@ 2016-11-25 10:41 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-25 10:41 UTC (permalink / raw)
To: openembeded-devel
On Thu, Nov 24, 2016 at 4:31 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> Failed to build in bitbake world:
>
> | ../include/xfs/linux.h:20:23: fatal error: uuid/uuid.h: No such file
> or directory
> | #include <uuid/uuid.h>
> | ^
> | compilation terminated.
> | make[2]: *** [crc32selftest] Error 1
>
There were more problems following this one. Fixed them too and sent a V2
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest
2016-11-23 9:21 ` [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest Khem Raj
@ 2016-11-26 0:12 ` Martin Jansa
2016-11-26 6:09 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:12 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2951 bytes --]
On Wed, Nov 23, 2016 at 01:21:38AM -0800, Khem Raj wrote:
> Switch to using git
> Gets aarch64 support
>
> Define PV and use SRCPV
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../breakpad/{breakpad_svn.bb => breakpad_git.bb} | 22 +++++++++++++++++++---
> 1 file changed, 19 insertions(+), 3 deletions(-)
> rename meta-oe/recipes-devtools/breakpad/{breakpad_svn.bb => breakpad_git.bb} (86%)
>
> diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
> similarity index 86%
> rename from meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
> rename to meta-oe/recipes-devtools/breakpad/breakpad_git.bb
> index b573ea5..c0e306c 100644
> --- a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
> +++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
> @@ -13,9 +13,25 @@ inherit autotools
>
> BBCLASSEXTEND = "native"
>
> -SRCREV = "r1435"
> -SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
> -S = "${WORKDIR}/trunk"
> +PV = "1.0+git${SRCPV}"
This is still going backwards:
breakpad-1.0+gitAUTOINC+2f6cb866d6_d8cb47f77d_f7d03d2734_ec44c6c167_cb6dd4ef5f_1549d20f6d:
Package version for package breakpad-dbg went backwards which would
break package feeds from (0:svn-r0.37 to
0:1.0+git0+2f6cb866d6_d8cb47f77d_f7d03d2734_ec44c6c167_cb6dd4ef5f_1549d20f6d-r0.0)
[version-going-backwards]
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
> +
> +SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss"
> +
> +SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5"
> +SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
> +SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05"
> +SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
> +SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
> +SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac"
> +
> +SRC_URI = "git://github.com/google/breakpad;name=breakpad \
> + git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \
> + git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \
> + git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
> + git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
> + git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
> +"
> +S = "${WORKDIR}/git"
>
> COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
>
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-23 9:21 ` [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes Khem Raj
@ 2016-11-26 0:15 ` Martin Jansa
2016-11-26 7:42 ` Koen Kooi
2016-11-29 0:57 ` Khem Raj
0 siblings, 2 replies; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:15 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
[-- Attachment #1: Type: text/plain, Size: 1328 bytes --]
On Wed, Nov 23, 2016 at 01:21:28AM -0800, Khem Raj wrote:
> 16.x is the default since its the latest released version
>
> remove obsoleted xbmc recipes
> rename to recipes-mediacenter
> +S = "${WORKDIR}/git"
> +
> +# breaks compilation
> +ASNEEDED = ""
> +
> +ACCEL ?= ""
> +ACCEL_x86 = "vaapi vdpau"
> +ACCEL_x86-64 = "vaapi vdpau"
> +
> +PACKAGECONFIG ??= "${ACCEL}"
> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
> +
> +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
> +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
> +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
> +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
Did I overlook libva recipe somewhere?
It doesn't even start building for qemux86* because of this libva and
for qemuarm it fails to configure:
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1
2016-11-23 9:21 ` [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1 Khem Raj
@ 2016-11-26 0:16 ` Martin Jansa
2016-11-26 6:03 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:16 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2099 bytes --]
On Wed, Nov 23, 2016 at 01:21:49AM -0800, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../recipes-protocols/dante/dante_1.4.1.bb | 47 ++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
> create mode 100644 meta-networking/recipes-protocols/dante/dante_1.4.1.bb
>
> diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.1.bb b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
> new file mode 100644
> index 0000000..dbb86fb
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
> @@ -0,0 +1,47 @@
> +SECTION = "console/utils"
> +SUMMARY = "A free SOCKS server"
> +DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\
> +implementing RFC 1928 and related standards. It is a flexible product\
> +that can be used to provide convenient and secure network\
> +connectivity. Once installed, Dante can in most cases be made\
> +transparent to clients, providing functionality somewhat similar to\
> +what could be described as a non-transparent Layer 4 router."
> +HOMEPAGE = "http://www.inet.no/dante/"
> +
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=221118dda731fe93a85d0ed973467249"
> +
> +SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \
> + "
> +SRC_URI[md5sum] = "68c2ce12119e12cea11a90c7a80efa8f"
> +SRC_URI[sha256sum] = "b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53"
> +
> +# without --without-gssapi, config.log will contain reference to /usr/lib
> +# as a consequence of GSSAPI path being set to /usr by default.
> +# --with-gssapi-path=PATH specify gssapi path
> +# --without-gssapi disable gssapi support
> +# --enable-release build prerelease as full release
> +EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"
> +
> +DEPENDS += "flex-native bison-native"
> +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
Autodetects bunch of dependencies:
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 23/49] miniupnpd: Add recipe
2016-11-23 9:21 ` [meta-multimedia][PATCH 23/49] miniupnpd: " Khem Raj
@ 2016-11-26 0:16 ` Martin Jansa
2016-11-26 6:00 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:16 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2640 bytes --]
On Wed, Nov 23, 2016 at 01:21:43AM -0800, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../miniupnpd/miniupnpd_2.0.bb | 38 ++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
> create mode 100644 meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
>
> diff --git a/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
> new file mode 100644
> index 0000000..dfa3fed
> --- /dev/null
> +++ b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
> @@ -0,0 +1,38 @@
> +SUMMARY = "Lightweight UPnP IGD daemon"
> +DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
> +which provide NAT traversal services to any UPnP enabled client on \
> +the network."
> +
> +SECTION = "networking"
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
> +
> +inherit autotools gettext pkgconfig
> +
> +DEPENDS += "iptables net-tools util-linux"
Autodetects bunch of dependencies:
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
> +
> +SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz \
> +"
> +SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
> +SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
> +
> +IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
> +
> +do_compile() {
> + cd ${S}
> + CONFIG_OPTIONS="${IPV6} --leasefile" ./genconfig.sh
> + oe_runmake -f Makefile.linux
> +}
> +
> +do_install() {
> + install -d ${D}/${sbindir}
> + install ${S}/miniupnpd ${D}/${sbindir}
> + install -d ${D}/${sysconfdir}/${BPN}
> + install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
> + install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
> + install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
> + install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
> + install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
> + install -d ${D}/${sysconfdir}/init.d
> + install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
> +}
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-23 9:21 ` [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes Khem Raj
@ 2016-11-26 0:17 ` Martin Jansa
2016-11-26 4:57 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:17 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 10686 bytes --]
On Wed, Nov 23, 2016 at 01:21:51AM -0800, Khem Raj wrote:
> Update obexftp to 0.24.2 and openobex to 1.7.2
> These packages moved to CMake infra for builds
> therefore make adjustments to cross compile it
opexftp autodetect uriparser now:
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../disable-cable-test.patch | 0
> .../libusb_crosscompile_check.patch | 0
> .../separate_builddir.patch | 0
> meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35 ----------------
> .../recipes-connectivity/obex/openobex_1.7.2.bb | 37 +++++++++++++++++
> ...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47 ++++++++++++++++++++++
> .../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
> .../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33 +++++++++++++++
> 8 files changed, 117 insertions(+), 51 deletions(-)
> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/disable-cable-test.patch (100%)
> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/libusb_crosscompile_check.patch (100%)
> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/separate_builddir.patch (100%)
> delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> delete mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>
> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
> similarity index 100%
> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
> rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch b/meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
> similarity index 100%
> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
> rename to meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
> similarity index 100%
> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
> rename to meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> deleted file mode 100644
> index 6ac7905..0000000
> --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -DESCRIPTION = "The Openobex project is an open source implementation of the \
> -Object Exchange (OBEX) protocol."
> -HOMEPAGE = "http://openobex.triq.net"
> -SECTION = "libs"
> -DEPENDS = "virtual/libusb0"
> -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
> -
> -LICENSE = "GPLv2 & LGPLv2.1"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
> - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> -"
> -
> -SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
> - file://disable-cable-test.patch \
> - file://libusb_crosscompile_check.patch \
> - file://separate_builddir.patch"
> -
> -SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
> -SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
> -
> -inherit autotools binconfig pkgconfig
> -
> -EXTRA_OECONF = "--enable-apps --enable-syslog"
> -
> -do_install_append() {
> - install -d ${D}${datadir}/aclocal
> - install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
> -}
> -
> -PACKAGES += "openobex-apps"
> -FILES_${PN} = "${libdir}/lib*.so.*"
> -FILES_${PN}-dev += "${bindir}/openobex-config"
> -FILES_${PN}-apps = "${bindir}/*"
> -DEBIAN_NOAUTONAME_${PN}-apps = "1"
> -
> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> new file mode 100644
> index 0000000..053c80a
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> @@ -0,0 +1,37 @@
> +DESCRIPTION = "The Openobex project is an open source implementation of the \
> +Object Exchange (OBEX) protocol."
> +HOMEPAGE = "http://openobex.triq.net"
> +SECTION = "libs"
> +DEPENDS = "virtual/libusb0"
> +DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
> +
> +LICENSE = "GPLv2 & LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
> + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> +"
> +
> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
> +"
> +
> +SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
> +SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
> +
> +inherit cmake pkgconfig
> +
> +S = "${WORKDIR}/${BP}-Source"
> +
> +EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
> +
> +#--enable-apps --enable-syslog
> +
> +do_install_append () {
> + rmdir ${D}${bindir}
> +}
> +
> +PACKAGES =+ "openobex-apps"
> +FILES_${PN}-apps = "${bindir}/*"
> +FILES_${PN} += "${libdir}/lib*.so.*"
> +FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
> +DEBIAN_NOAUTONAME_${PN}-apps = "1"
> +
> +BBCLASSEXTEND = "native"
> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> new file mode 100644
> index 0000000..55e5567
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> @@ -0,0 +1,47 @@
> +From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Tue, 15 Nov 2016 01:32:31 +0000
> +Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
> +
> +Transitive linking is disabled now for multicobex and
> +obexftp, This ends up with linking errors for apps, therefore
> +they are required to be added to link line explicitly.
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + apps/CMakeLists.txt | 13 +++++++++++--
> + 1 file changed, 11 insertions(+), 2 deletions(-)
> +
> +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
> +index b5c84e4..63af134 100644
> +--- a/apps/CMakeLists.txt
> ++++ b/apps/CMakeLists.txt
> +@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
> + add_definitions ( -DHAVE_USB )
> +
> + add_executable ( obexftp_app obexftp.c )
> +-target_link_libraries ( obexftp_app obexftp )
> ++target_link_libraries ( obexftp_app
> ++ PRIVATE multicobex
> ++ PRIVATE bfb
> ++ obexftp
> ++)
> + set_target_properties ( obexftp_app PROPERTIES
> + OUTPUT_NAME obexftp
> + )
> +
> +
> + add_executable ( obexftpd_app obexftpd.c )
> +-target_link_libraries ( obexftpd_app obexftp openobex )
> ++target_link_libraries ( obexftpd_app
> ++ PRIVATE multicobex
> ++ PRIVATE bfb
> ++ obexftp
> ++ openobex
> ++)
> + set_target_properties ( obexftpd_app PROPERTIES
> + OUTPUT_NAME obexftpd
> + )
> +--
> +1.9.1
> +
> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> deleted file mode 100644
> index b6bdfb7..0000000
> --- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
> -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
> -
> -DEPENDS += "openobex"
> -
> -SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 \
> - file://Remove_some_printf_in_obexftpd.patch "
> -
> -SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
> -SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36"
> -
> -inherit autotools pkgconfig
> -
> -EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python --disable-ruby"
> -
> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
> new file mode 100644
> index 0000000..991cd48
> --- /dev/null
> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
> @@ -0,0 +1,33 @@
> +DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
> +LICENSE = "GPLv2 & PD & LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
> + file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> + file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
> + "
> +
> +DEPENDS += "openobex obexftp-native"
> +SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz \
> + file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch \
> +"
> +SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
> +SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
> +
> +inherit cmake pkgconfig
> +
> +S = "${WORKDIR}/${BP}-Source"
> +
> +EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
> + -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
> + -DENABLE_RUBY=NO -DENABLE_TCL=NO \
> +"
> +
> +do_compile_class-native () {
> + oe_runmake crctable
> +}
> +
> +do_install_class-native () {
> + install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
> +}
> +
> +
> +BBCLASSEXTEND = "native"
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9
2016-11-23 9:22 ` [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9 Khem Raj
@ 2016-11-26 0:18 ` Martin Jansa
2016-11-26 4:56 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 0:18 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 1858 bytes --]
On Wed, Nov 23, 2016 at 01:22:06AM -0800, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../tvheadend/0001-Fix-checks-for-sse2-mmx.patch | 40 ++++++++++
> ...efile-Ignore-warning-about-wrong-includes.patch | 31 ++++++++
> ...end-specific-LD-CFLAGS-into-a-helper-vari.patch | 92 ----------------------
> .../0001-disable-varargs-warning-on-clang.patch | 32 ++++++++
> .../0001-dvr-Use-labs-instead-of-abs.patch | 37 +++++++++
> ...verride-forced-overrdiing-og-CC-STRIP-and.patch | 40 ++++++++++
> .../tvheadend/0002-fix-issues-with-gcc6.patch | 46 -----------
> .../recipes-dvb/tvheadend/tvheadend_git.bb | 15 ++--
> 8 files changed, 189 insertions(+), 144 deletions(-)
> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
> delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
> delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
tvheadend-4.0.9+git64fec8120158de585e18be705055259484518d94:
/usr/bin/tvheadend contained in package tvheadend requires libucsi.so,
but no providers found in RDEPENDS_tvheadend? [file-rdeps]
http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9
2016-11-26 0:18 ` Martin Jansa
@ 2016-11-26 4:56 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-26 4:56 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 4:18 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:22:06AM -0800, Khem Raj wrote:
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../tvheadend/0001-Fix-checks-for-sse2-mmx.patch | 40 ++++++++++
>> ...efile-Ignore-warning-about-wrong-includes.patch | 31 ++++++++
>> ...end-specific-LD-CFLAGS-into-a-helper-vari.patch | 92 ----------------------
>> .../0001-disable-varargs-warning-on-clang.patch | 32 ++++++++
>> .../0001-dvr-Use-labs-instead-of-abs.patch | 37 +++++++++
>> ...verride-forced-overrdiing-og-CC-STRIP-and.patch | 40 ++++++++++
>> .../tvheadend/0002-fix-issues-with-gcc6.patch | 46 -----------
>> .../recipes-dvb/tvheadend/tvheadend_git.bb | 15 ++--
>> 8 files changed, 189 insertions(+), 144 deletions(-)
>> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
>> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
>> delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
>> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
>> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
>> create mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
>> delete mode 100644 meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
>
> tvheadend-4.0.9+git64fec8120158de585e18be705055259484518d94:
> /usr/bin/tvheadend contained in package tvheadend requires libucsi.so,
> but no providers found in RDEPENDS_tvheadend? [file-rdeps]
>
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
will send v2 fixing it.
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-26 0:17 ` Martin Jansa
@ 2016-11-26 4:57 ` Khem Raj
2016-11-26 6:02 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-26 4:57 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 4:17 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:21:51AM -0800, Khem Raj wrote:
>> Update obexftp to 0.24.2 and openobex to 1.7.2
>> These packages moved to CMake infra for builds
>> therefore make adjustments to cross compile it
>
> opexftp autodetect uriparser now:
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
uriparser is not in meta-openembedded layers. So I guess I could packageconfig out it and keep it disabled by default
>
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../disable-cable-test.patch | 0
>> .../libusb_crosscompile_check.patch | 0
>> .../separate_builddir.patch | 0
>> meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35 ----------------
>> .../recipes-connectivity/obex/openobex_1.7.2.bb | 37 +++++++++++++++++
>> ...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47 ++++++++++++++++++++++
>> .../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
>> .../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33 +++++++++++++++
>> 8 files changed, 117 insertions(+), 51 deletions(-)
>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/disable-cable-test.patch (100%)
>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/libusb_crosscompile_check.patch (100%)
>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/separate_builddir.patch (100%)
>> delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> delete mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>>
>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
>> similarity index 100%
>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
>> rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch b/meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
>> similarity index 100%
>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
>> rename to meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
>> similarity index 100%
>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
>> rename to meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> deleted file mode 100644
>> index 6ac7905..0000000
>> --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> +++ /dev/null
>> @@ -1,35 +0,0 @@
>> -DESCRIPTION = "The Openobex project is an open source implementation of the \
>> -Object Exchange (OBEX) protocol."
>> -HOMEPAGE = "http://openobex.triq.net"
>> -SECTION = "libs"
>> -DEPENDS = "virtual/libusb0"
>> -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
>> -
>> -LICENSE = "GPLv2 & LGPLv2.1"
>> -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>> - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
>> -"
>> -
>> -SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
>> - file://disable-cable-test.patch \
>> - file://libusb_crosscompile_check.patch \
>> - file://separate_builddir.patch"
>> -
>> -SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
>> -SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
>> -
>> -inherit autotools binconfig pkgconfig
>> -
>> -EXTRA_OECONF = "--enable-apps --enable-syslog"
>> -
>> -do_install_append() {
>> - install -d ${D}${datadir}/aclocal
>> - install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
>> -}
>> -
>> -PACKAGES += "openobex-apps"
>> -FILES_${PN} = "${libdir}/lib*.so.*"
>> -FILES_${PN}-dev += "${bindir}/openobex-config"
>> -FILES_${PN}-apps = "${bindir}/*"
>> -DEBIAN_NOAUTONAME_${PN}-apps = "1"
>> -
>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> new file mode 100644
>> index 0000000..053c80a
>> --- /dev/null
>> +++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> @@ -0,0 +1,37 @@
>> +DESCRIPTION = "The Openobex project is an open source implementation of the \
>> +Object Exchange (OBEX) protocol."
>> +HOMEPAGE = "http://openobex.triq.net"
>> +SECTION = "libs"
>> +DEPENDS = "virtual/libusb0"
>> +DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
>> +
>> +LICENSE = "GPLv2 & LGPLv2.1"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
>> + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
>> +"
>> +
>> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
>> +"
>> +
>> +SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
>> +SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
>> +
>> +inherit cmake pkgconfig
>> +
>> +S = "${WORKDIR}/${BP}-Source"
>> +
>> +EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
>> +
>> +#--enable-apps --enable-syslog
>> +
>> +do_install_append () {
>> + rmdir ${D}${bindir}
>> +}
>> +
>> +PACKAGES =+ "openobex-apps"
>> +FILES_${PN}-apps = "${bindir}/*"
>> +FILES_${PN} += "${libdir}/lib*.so.*"
>> +FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
>> +DEBIAN_NOAUTONAME_${PN}-apps = "1"
>> +
>> +BBCLASSEXTEND = "native"
>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> new file mode 100644
>> index 0000000..55e5567
>> --- /dev/null
>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> @@ -0,0 +1,47 @@
>> +From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Tue, 15 Nov 2016 01:32:31 +0000
>> +Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
>> +
>> +Transitive linking is disabled now for multicobex and
>> +obexftp, This ends up with linking errors for apps, therefore
>> +they are required to be added to link line explicitly.
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> + apps/CMakeLists.txt | 13 +++++++++++--
>> + 1 file changed, 11 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
>> +index b5c84e4..63af134 100644
>> +--- a/apps/CMakeLists.txt
>> ++++ b/apps/CMakeLists.txt
>> +@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
>> + add_definitions ( -DHAVE_USB )
>> +
>> + add_executable ( obexftp_app obexftp.c )
>> +-target_link_libraries ( obexftp_app obexftp )
>> ++target_link_libraries ( obexftp_app
>> ++ PRIVATE multicobex
>> ++ PRIVATE bfb
>> ++ obexftp
>> ++)
>> + set_target_properties ( obexftp_app PROPERTIES
>> + OUTPUT_NAME obexftp
>> + )
>> +
>> +
>> + add_executable ( obexftpd_app obexftpd.c )
>> +-target_link_libraries ( obexftpd_app obexftp openobex )
>> ++target_link_libraries ( obexftpd_app
>> ++ PRIVATE multicobex
>> ++ PRIVATE bfb
>> ++ obexftp
>> ++ openobex
>> ++)
>> + set_target_properties ( obexftpd_app PROPERTIES
>> + OUTPUT_NAME obexftpd
>> + )
>> +--
>> +1.9.1
>> +
>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> deleted file mode 100644
>> index b6bdfb7..0000000
>> --- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
>> -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
>> -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
>> -
>> -DEPENDS += "openobex"
>> -
>> -SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 \
>> - file://Remove_some_printf_in_obexftpd.patch "
>> -
>> -SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
>> -SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36"
>> -
>> -inherit autotools pkgconfig
>> -
>> -EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python --disable-ruby"
>> -
>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>> new file mode 100644
>> index 0000000..991cd48
>> --- /dev/null
>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>> @@ -0,0 +1,33 @@
>> +DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
>> +LICENSE = "GPLv2 & PD & LGPLv2.1"
>> +LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
>> + file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>> + file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
>> + "
>> +
>> +DEPENDS += "openobex obexftp-native"
>> +SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz \
>> + file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch \
>> +"
>> +SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
>> +SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
>> +
>> +inherit cmake pkgconfig
>> +
>> +S = "${WORKDIR}/${BP}-Source"
>> +
>> +EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
>> + -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
>> + -DENABLE_RUBY=NO -DENABLE_TCL=NO \
>> +"
>> +
>> +do_compile_class-native () {
>> + oe_runmake crctable
>> +}
>> +
>> +do_install_class-native () {
>> + install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
>> +}
>> +
>> +
>> +BBCLASSEXTEND = "native"
>> --
>> 2.10.2
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:Martin.Jansa@gmail.com>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 23/49] miniupnpd: Add recipe
2016-11-26 0:16 ` Martin Jansa
@ 2016-11-26 6:00 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-26 6:00 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 4:16 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:21:43AM -0800, Khem Raj wrote:
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../miniupnpd/miniupnpd_2.0.bb | 38 ++++++++++++++++++++++
>> 1 file changed, 38 insertions(+)
>> create mode 100644 meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
>>
>> diff --git a/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
>> new file mode 100644
>> index 0000000..dfa3fed
>> --- /dev/null
>> +++ b/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
>> @@ -0,0 +1,38 @@
>> +SUMMARY = "Lightweight UPnP IGD daemon"
>> +DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
>> +which provide NAT traversal services to any UPnP enabled client on \
>> +the network."
>> +
>> +SECTION = "networking"
>> +LICENSE = "BSD-3-Clause"
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=aa71c78c373ccfe0ff207af0cd966d91"
>> +
>> +inherit autotools gettext pkgconfig
>> +
>> +DEPENDS += "iptables net-tools util-linux"
>
> Autodetects bunch of dependencies:
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
will send a v2
>
>> +
>> +SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz \
>> +"
>> +SRC_URI[md5sum] = "1c07a215dd9b362e75a9efc05e2fb3b4"
>> +SRC_URI[sha256sum] = "d96aa3a00e0f5490826bba3cb97e68cd27479e5839adac4b9bcb66eae786bfb7"
>> +
>> +IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
>> +
>> +do_compile() {
>> + cd ${S}
>> + CONFIG_OPTIONS="${IPV6} --leasefile" ./genconfig.sh
>> + oe_runmake -f Makefile.linux
>> +}
>> +
>> +do_install() {
>> + install -d ${D}/${sbindir}
>> + install ${S}/miniupnpd ${D}/${sbindir}
>> + install -d ${D}/${sysconfdir}/${BPN}
>> + install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
>> + install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
>> + install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
>> + install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
>> + install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
>> + install -d ${D}/${sysconfdir}/init.d
>> + install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
>> +}
>> --
>> 2.10.2
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:Martin.Jansa@gmail.com>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-26 4:57 ` Khem Raj
@ 2016-11-26 6:02 ` Khem Raj
2016-11-26 9:08 ` Martin Jansa
0 siblings, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-26 6:02 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 8:57 PM, Khem Raj <raj.khem@gmail.com> wrote:
>
>
>> On Nov 25, 2016, at 4:17 PM, Martin Jansa <martin.jansa@gmail.com <mailto:martin.jansa@gmail.com>> wrote:
>>
>> On Wed, Nov 23, 2016 at 01:21:51AM -0800, Khem Raj wrote:
>>> Update obexftp to 0.24.2 and openobex to 1.7.2
>>> These packages moved to CMake infra for builds
>>> therefore make adjustments to cross compile it
>>
>> opexftp autodetect uriparser now:
>> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
>
> uriparser is not in meta-openembedded layers. So I guess I could packageconfig out it and keep it disabled by default
Actually it seems a false alarm. uriparser is detected by tvheadend which I have fixed locally now. I could not find any reference to uriparser in obexftp
can you verify what is it reporting against obexftp ?
>
>>
>>>
>>> Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
>>> ---
>>> .../disable-cable-test.patch | 0
>>> .../libusb_crosscompile_check.patch | 0
>>> .../separate_builddir.patch | 0
>>> meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35 ----------------
>>> .../recipes-connectivity/obex/openobex_1.7.2.bb | 37 +++++++++++++++++
>>> ...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47 ++++++++++++++++++++++
>>> .../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
>>> .../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33 +++++++++++++++
>>> 8 files changed, 117 insertions(+), 51 deletions(-)
>>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/disable-cable-test.patch (100%)
>>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/libusb_crosscompile_check.patch (100%)
>>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 => openobex}/separate_builddir.patch (100%)
>>> delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>>> create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>>> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>>> delete mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>>> create mode 100644 meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>>>
>>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
>>> similarity index 100%
>>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
>>> rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
>>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch b/meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
>>> similarity index 100%
>>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
>>> rename to meta-oe/recipes-connectivity/obex/openobex/libusb_crosscompile_check.patch
>>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
>>> similarity index 100%
>>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
>>> rename to meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
>>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>>> deleted file mode 100644
>>> index 6ac7905..0000000
>>> --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>>> +++ /dev/null
>>> @@ -1,35 +0,0 @@
>>> -DESCRIPTION = "The Openobex project is an open source implementation of the \
>>> -Object Exchange (OBEX) protocol."
>>> -HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
>>> -SECTION = "libs"
>>> -DEPENDS = "virtual/libusb0"
>>> -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
>>> -
>>> -LICENSE = "GPLv2 & LGPLv2.1"
>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
>>> - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343> \
>>> -"
>>> -
>>> -SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz <http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz> \
>>> - file://disable-cable-test.patch <file:///disable-cable-test.patch> \
>>> - file://libusb_crosscompile_check.patch <file:///libusb_crosscompile_check.patch> \
>>> - file://separate_builddir.patch <file://separate_builddir.patch/>"
>>> -
>>> -SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
>>> -SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
>>> -
>>> -inherit autotools binconfig pkgconfig
>>> -
>>> -EXTRA_OECONF = "--enable-apps --enable-syslog"
>>> -
>>> -do_install_append() {
>>> - install -d ${D}${datadir}/aclocal
>>> - install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
>>> -}
>>> -
>>> -PACKAGES += "openobex-apps"
>>> -FILES_${PN} = "${libdir}/lib*.so.*"
>>> -FILES_${PN}-dev += "${bindir}/openobex-config"
>>> -FILES_${PN}-apps = "${bindir}/*"
>>> -DEBIAN_NOAUTONAME_${PN}-apps = "1"
>>> -
>>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>>> new file mode 100644
>>> index 0000000..053c80a
>>> --- /dev/null
>>> +++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>>> @@ -0,0 +1,37 @@
>>> +DESCRIPTION = "The Openobex project is an open source implementation of the \
>>> +Object Exchange (OBEX) protocol."
>>> +HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
>>> +SECTION = "libs"
>>> +DEPENDS = "virtual/libusb0"
>>> +DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
>>> +
>>> +LICENSE = "GPLv2 & LGPLv2.1"
>>> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
>>> + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343> \
>>> +"
>>> +
>>> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
>>> +"
>>> +
>>> +SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
>>> +SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
>>> +
>>> +inherit cmake pkgconfig
>>> +
>>> +S = "${WORKDIR}/${BP}-Source"
>>> +
>>> +EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
>>> +
>>> +#--enable-apps --enable-syslog
>>> +
>>> +do_install_append () {
>>> + rmdir ${D}${bindir}
>>> +}
>>> +
>>> +PACKAGES =+ "openobex-apps"
>>> +FILES_${PN}-apps = "${bindir}/*"
>>> +FILES_${PN} += "${libdir}/lib*.so.*"
>>> +FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
>>> +DEBIAN_NOAUTONAME_${PN}-apps = "1"
>>> +
>>> +BBCLASSEXTEND = "native"
>>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>>> new file mode 100644
>>> index 0000000..55e5567
>>> --- /dev/null
>>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>>> @@ -0,0 +1,47 @@
>>> +From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
>>> +From: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
>>> +Date: Tue, 15 Nov 2016 01:32:31 +0000
>>> +Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
>>> +
>>> +Transitive linking is disabled now for multicobex and
>>> +obexftp, This ends up with linking errors for apps, therefore
>>> +they are required to be added to link line explicitly.
>>> +
>>> +Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
>>> +---
>>> + apps/CMakeLists.txt | 13 +++++++++++--
>>> + 1 file changed, 11 insertions(+), 2 deletions(-)
>>> +
>>> +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
>>> +index b5c84e4..63af134 100644
>>> +--- a/apps/CMakeLists.txt
>>> ++++ b/apps/CMakeLists.txt
>>> +@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
>>> + add_definitions ( -DHAVE_USB )
>>> +
>>> + add_executable ( obexftp_app obexftp.c )
>>> +-target_link_libraries ( obexftp_app obexftp )
>>> ++target_link_libraries ( obexftp_app
>>> ++ PRIVATE multicobex
>>> ++ PRIVATE bfb
>>> ++ obexftp
>>> ++)
>>> + set_target_properties ( obexftp_app PROPERTIES
>>> + OUTPUT_NAME obexftp
>>> + )
>>> +
>>> +
>>> + add_executable ( obexftpd_app obexftpd.c )
>>> +-target_link_libraries ( obexftpd_app obexftp openobex )
>>> ++target_link_libraries ( obexftpd_app
>>> ++ PRIVATE multicobex
>>> ++ PRIVATE bfb
>>> ++ obexftp
>>> ++ openobex
>>> ++)
>>> + set_target_properties ( obexftpd_app PROPERTIES
>>> + OUTPUT_NAME obexftpd
>>> + )
>>> +--
>>> +1.9.1
>>> +
>>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>>> deleted file mode 100644
>>> index b6bdfb7..0000000
>>> --- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>>> +++ /dev/null
>>> @@ -1,16 +0,0 @@
>>> -DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
>>> -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 <file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552>"
>>> -
>>> -DEPENDS += "openobex"
>>> -
>>> -SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 <http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2> \
>>> - file://Remove_some_printf_in_obexftpd.patch <file:///Remove_some_printf_in_obexftpd.patch> "
>>> -
>>> -SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
>>> -SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36"
>>> -
>>> -inherit autotools pkgconfig
>>> -
>>> -EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python --disable-ruby"
>>> -
>>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>>> new file mode 100644
>>> index 0000000..991cd48
>>> --- /dev/null
>>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>>> @@ -0,0 +1,33 @@
>>> +DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
>>> +LICENSE = "GPLv2 & PD & LGPLv2.1"
>>> +LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c <file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c> \
>>> + file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 <file:///GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263> \
>>> + file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 <file:///License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1> \
>>> + "
>>> +
>>> +DEPENDS += "openobex obexftp-native"
>>> +SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz <http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz> \
>>> + file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch <file:///0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch> \
>>> +"
>>> +SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
>>> +SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
>>> +
>>> +inherit cmake pkgconfig
>>> +
>>> +S = "${WORKDIR}/${BP}-Source"
>>> +
>>> +EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
>>> + -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
>>> + -DENABLE_RUBY=NO -DENABLE_TCL=NO \
>>> +"
>>> +
>>> +do_compile_class-native () {
>>> + oe_runmake crctable
>>> +}
>>> +
>>> +do_install_class-native () {
>>> + install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
>>> +}
>>> +
>>> +
>>> +BBCLASSEXTEND = "native"
>>> --
>>> 2.10.2
>>>
>>> --
>>> _______________________________________________
>>> Openembedded-devel mailing list
>>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>>
>> --
>> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:Martin.Jansa@gmail.com>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1
2016-11-26 0:16 ` Martin Jansa
@ 2016-11-26 6:03 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-26 6:03 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 4:16 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:21:49AM -0800, Khem Raj wrote:
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../recipes-protocols/dante/dante_1.4.1.bb | 47 ++++++++++++++++++++++
>> 1 file changed, 47 insertions(+)
>> create mode 100644 meta-networking/recipes-protocols/dante/dante_1.4.1.bb
>>
>> diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.1.bb b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
>> new file mode 100644
>> index 0000000..dbb86fb
>> --- /dev/null
>> +++ b/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
>> @@ -0,0 +1,47 @@
>> +SECTION = "console/utils"
>> +SUMMARY = "A free SOCKS server"
>> +DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\
>> +implementing RFC 1928 and related standards. It is a flexible product\
>> +that can be used to provide convenient and secure network\
>> +connectivity. Once installed, Dante can in most cases be made\
>> +transparent to clients, providing functionality somewhat similar to\
>> +what could be described as a non-transparent Layer 4 router."
>> +HOMEPAGE = "http://www.inet.no/dante/"
>> +
>> +LICENSE = "BSD-3-Clause"
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=221118dda731fe93a85d0ed973467249"
>> +
>> +SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \
>> + "
>> +SRC_URI[md5sum] = "68c2ce12119e12cea11a90c7a80efa8f"
>> +SRC_URI[sha256sum] = "b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53"
>> +
>> +# without --without-gssapi, config.log will contain reference to /usr/lib
>> +# as a consequence of GSSAPI path being set to /usr by default.
>> +# --with-gssapi-path=PATH specify gssapi path
>> +# --without-gssapi disable gssapi support
>> +# --enable-release build prerelease as full release
>> +EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"
>> +
>> +DEPENDS += "flex-native bison-native"
>> +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
>
> Autodetects bunch of dependencies:
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
libpam is a hard requirement. So I have added a required distro feature for pam
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest
2016-11-26 0:12 ` Martin Jansa
@ 2016-11-26 6:09 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-26 6:09 UTC (permalink / raw)
To: openembedded-devel
> On Nov 25, 2016, at 4:12 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:21:38AM -0800, Khem Raj wrote:
>> Switch to using git
>> Gets aarch64 support
>>
>> Define PV and use SRCPV
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../breakpad/{breakpad_svn.bb => breakpad_git.bb} | 22 +++++++++++++++++++---
>> 1 file changed, 19 insertions(+), 3 deletions(-)
>> rename meta-oe/recipes-devtools/breakpad/{breakpad_svn.bb => breakpad_git.bb} (86%)
>>
>> diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
>> similarity index 86%
>> rename from meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
>> rename to meta-oe/recipes-devtools/breakpad/breakpad_git.bb
>> index b573ea5..c0e306c 100644
>> --- a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
>> +++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
>> @@ -13,9 +13,25 @@ inherit autotools
>>
>> BBCLASSEXTEND = "native"
>>
>> -SRCREV = "r1435"
>> -SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
>> -S = "${WORKDIR}/trunk"
>> +PV = "1.0+git${SRCPV}"
>
> This is still going backwards:
> breakpad-1.0+gitAUTOINC+2f6cb866d6_d8cb47f77d_f7d03d2734_ec44c6c167_cb6dd4ef5f_1549d20f6d:
> Package version for package breakpad-dbg went backwards which would
> break package feeds from (0:svn-r0.37 to
> 0:1.0+git0+2f6cb866d6_d8cb47f77d_f7d03d2734_ec44c6c167_cb6dd4ef5f_1549d20f6d-r0.0)
> [version-going-backwards]
will bump PE and send v3
>
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html <http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html>
>
>> +
>> +SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss"
>> +
>> +SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5"
>> +SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
>> +SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05"
>> +SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
>> +SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
>> +SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac"
>> +
>> +SRC_URI = "git://github.com/google/breakpad;name=breakpad \
>> + git://github.com/google/glog.git;destsuffix=git/src/third_party/glog;name=glog \
>> + git://github.com/google/googlemock.git;destsuffix=git/src/testing;name=gmock \
>> + git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
>> + git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
>> + git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
>> +"
>> +S = "${WORKDIR}/git"
>>
>> COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
>>
>> --
>> 2.10.2
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:Martin.Jansa@gmail.com>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-26 0:15 ` Martin Jansa
@ 2016-11-26 7:42 ` Koen Kooi
2016-11-28 17:48 ` Khem Raj
2016-11-29 0:57 ` Khem Raj
1 sibling, 1 reply; 73+ messages in thread
From: Koen Kooi @ 2016-11-26 7:42 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-devel
> Op 26 nov. 2016, om 01:15 heeft Martin Jansa <martin.jansa@gmail.com> het volgende geschreven:
>
> On Wed, Nov 23, 2016 at 01:21:28AM -0800, Khem Raj wrote:
>> 16.x is the default since its the latest released version
>>
>> remove obsoleted xbmc recipes
>> rename to recipes-mediacenter
>> +S = "${WORKDIR}/git"
>> +
>> +# breaks compilation
>> +ASNEEDED = ""
>> +
>> +ACCEL ?= ""
>> +ACCEL_x86 = "vaapi vdpau"
>> +ACCEL_x86-64 = "vaapi vdpau"
>> +
>> +PACKAGECONFIG ??= "${ACCEL}"
>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
>> +
>> +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
>> +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
>> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
>> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
>> +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
>> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
>> +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>
> Did I overlook libva recipe somewhere?
>
> It doesn't even start building for qemux86* because of this libva and
> for qemuarm it fails to configure:
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
libva is in meta-intel, meta-amd and meta-kodi. I guess we should consider moving it to OE-core or meta-oe.
regards,
Koen
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-26 6:02 ` Khem Raj
@ 2016-11-26 9:08 ` Martin Jansa
2016-11-28 19:38 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-11-26 9:08 UTC (permalink / raw)
To: openembedded-devel
Hmm somehow it got mixed in the e-mail, but the report log shows it
correctly:
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.report.20161125_134053.log
obexftp-0.24.2: obexftp rdepends on fuse, but it isn't a build
dependency, missing fuse in DEPENDS or PACKAGECONFIG? [build-deps]
On Sat, Nov 26, 2016 at 7:02 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
> > On Nov 25, 2016, at 8:57 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >
> >
> >> On Nov 25, 2016, at 4:17 PM, Martin Jansa <martin.jansa@gmail.com
> <mailto:martin.jansa@gmail.com>> wrote:
> >>
> >> On Wed, Nov 23, 2016 at 01:21:51AM -0800, Khem Raj wrote:
> >>> Update obexftp to 0.24.2 and openobex to 1.7.2
> >>> These packages moved to CMake infra for builds
> >>> therefore make adjustments to cross compile it
> >>
> >> opexftp autodetect uriparser now:
> >> http://lists.openembedded.org/pipermail/openembedded-devel/
> 2016-November/110050.html <http://lists.openembedded.
> org/pipermail/openembedded-devel/2016-November/110050.html>
> >
> > uriparser is not in meta-openembedded layers. So I guess I could
> packageconfig out it and keep it disabled by default
>
> Actually it seems a false alarm. uriparser is detected by tvheadend which
> I have fixed locally now. I could not find any reference to uriparser in
> obexftp
> can you verify what is it reporting against obexftp ?
>
> >
> >>
> >>>
> >>> Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com
> >>
> >>> ---
> >>> .../disable-cable-test.patch | 0
> >>> .../libusb_crosscompile_check.patch | 0
> >>> .../separate_builddir.patch | 0
> >>> meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35
> ----------------
> >>> .../recipes-connectivity/obex/openobex_1.7.2.bb | 37
> +++++++++++++++++
> >>> ...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47
> ++++++++++++++++++++++
> >>> .../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
> >>> .../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33
> +++++++++++++++
> >>> 8 files changed, 117 insertions(+), 51 deletions(-)
> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
> openobex}/disable-cable-test.patch (100%)
> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
> openobex}/libusb_crosscompile_check.patch (100%)
> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
> openobex}/separate_builddir.patch (100%)
> >>> delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> >>> create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> >>> create mode 100644 meta-oe/recipes-connectivity/
> obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-
> link-libbfb-and-libmu.patch
> >>> delete mode 100644 meta-oe/recipes-connectivity/obexftp/
> obexftp_0.23.bb
> >>> create mode 100644 meta-oe/recipes-connectivity/obexftp/
> obexftp_0.24.2.bb
> >>>
> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
> b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
> >>> similarity index 100%
> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-
> cable-test.patch
> >>> rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-
> test.patch
> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.
> 5/libusb_crosscompile_check.patch b/meta-oe/recipes-
> connectivity/obex/openobex/libusb_crosscompile_check.patch
> >>> similarity index 100%
> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_
> crosscompile_check.patch
> >>> rename to meta-oe/recipes-connectivity/obex/openobex/libusb_
> crosscompile_check.patch
> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
> b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
> >>> similarity index 100%
> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_
> builddir.patch
> >>> rename to meta-oe/recipes-connectivity/obex/openobex/separate_
> builddir.patch
> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> >>> deleted file mode 100644
> >>> index 6ac7905..0000000
> >>> --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
> >>> +++ /dev/null
> >>> @@ -1,35 +0,0 @@
> >>> -DESCRIPTION = "The Openobex project is an open source implementation
> of the \
> >>> -Object Exchange (OBEX) protocol."
> >>> -HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
> >>> -SECTION = "libs"
> >>> -DEPENDS = "virtual/libusb0"
> >>> -DEPENDS += "${@bb.utils.contains('DISTRO_
> FEATURES','bluez5','bluez5','bluez4',d)}"
> >>> -
> >>> -LICENSE = "GPLv2 & LGPLv2.1"
> >>> -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a
> <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
> >>> - file://COPYING.LIB;md5=
> a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=
> a6f89e2100d9b6cdffcea4f398e37343> \
> >>> -"
> >>> -
> >>> -SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}
> .tar.gz <http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz>
> \
> >>> - file://disable-cable-test.patch
> <file:///disable-cable-test.patch> \
> >>> - file://libusb_crosscompile_check.patch
> <file:///libusb_crosscompile_check.patch> \
> >>> - file://separate_builddir.patch <file://separate_builddir.
> patch/>"
> >>> -
> >>> -SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
> >>> -SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f
> 2cef41310e5a99d084de10aa9422935e65"
> >>> -
> >>> -inherit autotools binconfig pkgconfig
> >>> -
> >>> -EXTRA_OECONF = "--enable-apps --enable-syslog"
> >>> -
> >>> -do_install_append() {
> >>> - install -d ${D}${datadir}/aclocal
> >>> - install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
> >>> -}
> >>> -
> >>> -PACKAGES += "openobex-apps"
> >>> -FILES_${PN} = "${libdir}/lib*.so.*"
> >>> -FILES_${PN}-dev += "${bindir}/openobex-config"
> >>> -FILES_${PN}-apps = "${bindir}/*"
> >>> -DEBIAN_NOAUTONAME_${PN}-apps = "1"
> >>> -
> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> >>> new file mode 100644
> >>> index 0000000..053c80a
> >>> --- /dev/null
> >>> +++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
> >>> @@ -0,0 +1,37 @@
> >>> +DESCRIPTION = "The Openobex project is an open source implementation
> of the \
> >>> +Object Exchange (OBEX) protocol."
> >>> +HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
> >>> +SECTION = "libs"
> >>> +DEPENDS = "virtual/libusb0"
> >>> +DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_
> FEATURES','bluez5','bluez5','bluez4',d)}"
> >>> +
> >>> +LICENSE = "GPLv2 & LGPLv2.1"
> >>> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a
> <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
> >>> + file://COPYING.LIB;md5=
> a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=
> a6f89e2100d9b6cdffcea4f398e37343> \
> >>> +"
> >>> +
> >>> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/
> ${BPN}/${PV}/${BP}-Source.tar.gz \
> >>> +"
> >>> +
> >>> +SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
> >>> +SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550da
> aae06df2689e05834697b7e8c7d73dd4fc"
> >>> +
> >>> +inherit cmake pkgconfig
> >>> +
> >>> +S = "${WORKDIR}/${BP}-Source"
> >>> +
> >>> +EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
> >>> +
> >>> +#--enable-apps --enable-syslog
> >>> +
> >>> +do_install_append () {
> >>> + rmdir ${D}${bindir}
> >>> +}
> >>> +
> >>> +PACKAGES =+ "openobex-apps"
> >>> +FILES_${PN}-apps = "${bindir}/*"
> >>> +FILES_${PN} += "${libdir}/lib*.so.*"
> >>> +FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
> >>> +DEBIAN_NOAUTONAME_${PN}-apps = "1"
> >>> +
> >>> +BBCLASSEXTEND = "native"
> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/
> 0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-
> Explicitly-link-libbfb-and-libmu.patch
> >>> new file mode 100644
> >>> index 0000000..55e5567
> >>> --- /dev/null
> >>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp/
> 0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> >>> @@ -0,0 +1,47 @@
> >>> +From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00
> 2001
> >>> +From: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
> >>> +Date: Tue, 15 Nov 2016 01:32:31 +0000
> >>> +Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and
> libmulticobex
> >>> +
> >>> +Transitive linking is disabled now for multicobex and
> >>> +obexftp, This ends up with linking errors for apps, therefore
> >>> +they are required to be added to link line explicitly.
> >>> +
> >>> +Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:
> raj.khem@gmail.com>>
> >>> +---
> >>> + apps/CMakeLists.txt | 13 +++++++++++--
> >>> + 1 file changed, 11 insertions(+), 2 deletions(-)
> >>> +
> >>> +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
> >>> +index b5c84e4..63af134 100644
> >>> +--- a/apps/CMakeLists.txt
> >>> ++++ b/apps/CMakeLists.txt
> >>> +@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
> >>> + add_definitions ( -DHAVE_USB )
> >>> +
> >>> + add_executable ( obexftp_app obexftp.c )
> >>> +-target_link_libraries ( obexftp_app obexftp )
> >>> ++target_link_libraries ( obexftp_app
> >>> ++ PRIVATE multicobex
> >>> ++ PRIVATE bfb
> >>> ++ obexftp
> >>> ++)
> >>> + set_target_properties ( obexftp_app PROPERTIES
> >>> + OUTPUT_NAME obexftp
> >>> + )
> >>> +
> >>> +
> >>> + add_executable ( obexftpd_app obexftpd.c )
> >>> +-target_link_libraries ( obexftpd_app obexftp openobex )
> >>> ++target_link_libraries ( obexftpd_app
> >>> ++ PRIVATE multicobex
> >>> ++ PRIVATE bfb
> >>> ++ obexftp
> >>> ++ openobex
> >>> ++)
> >>> + set_target_properties ( obexftpd_app PROPERTIES
> >>> + OUTPUT_NAME obexftpd
> >>> + )
> >>> +--
> >>> +1.9.1
> >>> +
> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> >>> deleted file mode 100644
> >>> index b6bdfb7..0000000
> >>> --- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
> >>> +++ /dev/null
> >>> @@ -1,16 +0,0 @@
> >>> -DESCRIPTION = "A tool for transfer files to/from any OBEX enabled
> device"
> >>> -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
> >>> -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552
> <file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552>"
> >>> -
> >>> -DEPENDS += "openobex"
> >>> -
> >>> -SRC_URI = "http://sourceforge.net/projects/openobex/files/
> obexftp/${PV}/obexftp-${PV}.tar.bz2 <http://sourceforge.net/
> projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2> \
> >>> - file://Remove_some_printf_in_obexftpd.patch
> <file:///Remove_some_printf_in_obexftpd.patch> "
> >>> -
> >>> -SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
> >>> -SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7
> d6dec10112eaff2e7b10e292b0d2105b36"
> >>> -
> >>> -inherit autotools pkgconfig
> >>> -
> >>> -EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python
> --disable-ruby"
> >>> -
> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
> b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
> >>> new file mode 100644
> >>> index 0000000..991cd48
> >>> --- /dev/null
> >>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
> >>> @@ -0,0 +1,33 @@
> >>> +DESCRIPTION = "A tool for transfer files to/from any OBEX enabled
> device"
> >>> +LICENSE = "GPLv2 & PD & LGPLv2.1"
> >>> +LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=
> 4fbd65380cdd255951079008b364516c <file://LGPL-2.1.txt;md5=
> 4fbd65380cdd255951079008b364516c> \
> >>> + file://GPL-2.txt;md5=
> b234ee4d69f5fce4486a80fdaf4a4263 <file:///GPL-2.txt;md5=
> b234ee4d69f5fce4486a80fdaf4a4263> \
> >>> + file://License.txt;md5=
> fcbddc3c1debed80dd80da2d3e5f0dc1 <file:///License.txt;md5=
> fcbddc3c1debed80dd80da2d3e5f0dc1> \
> >>> + "
> >>> +
> >>> +DEPENDS += "openobex obexftp-native"
> >>> +SRC_URI = "http://downloads.sourceforge.
> net/openobex/${BP}-Source.tar.gz <http://downloads.sourceforge.
> net/openobex/${BP}-Source.tar.gz> \
> >>> + file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
> <file:///0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch>
> \
> >>> +"
> >>> +SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
> >>> +SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f
> 793919a625d54b87182e31a3f3d1c989a3"
> >>> +
> >>> +inherit cmake pkgconfig
> >>> +
> >>> +S = "${WORKDIR}/${BP}-Source"
> >>> +
> >>> +EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
> >>> + -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
> >>> + -DENABLE_RUBY=NO -DENABLE_TCL=NO \
> >>> +"
> >>> +
> >>> +do_compile_class-native () {
> >>> + oe_runmake crctable
> >>> +}
> >>> +
> >>> +do_install_class-native () {
> >>> + install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
> >>> +}
> >>> +
> >>> +
> >>> +BBCLASSEXTEND = "native"
> >>> --
> >>> 2.10.2
> >>>
> >>> --
> >>> _______________________________________________
> >>> Openembedded-devel mailing list
> >>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@
> lists.openembedded.org>
> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
> >>
> >> --
> >> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:
> Martin.Jansa@gmail.com>
> >> --
> >> _______________________________________________
> >> Openembedded-devel mailing list
> >> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@
> lists.openembedded.org>
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 40/49] jsoncpp: Add new recipe
2016-11-23 9:22 ` [meta-oe][PATCH 40/49] jsoncpp: Add new recipe Khem Raj
@ 2016-11-28 10:46 ` Piotr Lewicki
2016-11-28 21:10 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Piotr Lewicki @ 2016-11-28 10:46 UTC (permalink / raw)
To: openembedded-devel
Hi Raj,
Did you forget to add the patch to the "SRC_URI"?
BR,
Piotr
On 23.11.2016 10:22, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../0001-jsoncpp-rename-features-header-file.patch | 152 +++++++++++++++++++++
> meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb | 21 +++
> 2 files changed, 173 insertions(+)
> create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
> create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
>
> diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
> new file mode 100644
> index 0000000..f1397ea
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
> @@ -0,0 +1,152 @@
> +Issue: Build error in TDK DS_stub
> +
> +In file included from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/c++config.h:426:0,
> + from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/string:38,
> + from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/value.h:12,
> + from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/json.h:10,
> + from ./include/DeviceSettingsAgent.h:15,
> + from src/DeviceSettingsAgent.cpp:13:
> +/home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/os_defines.h:44:19: error: missing binary operator before token "("
> + #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
> +
> +The issue was jsoncpp has features.h which was conflicting with the system
> +header file features.h.
> +
> +So renamed the header file features.h in jsoncpp to json-features.h so
> +as to localize the effect of this change within jsoncpp.
> +
> + Signed-off-by: Ridish Aravindan <ridish.ra@lnttechservices.com>
> +
> +Index: jsoncpp-src-0.6.0-rc2/include/json/json-features.h
> +===================================================================
> +--- /dev/null 1970-01-01 00:00:00.000000000 +0000
> ++++ jsoncpp-src-0.6.0-rc2/include/json/json-features.h 2014-08-27 06:41:40.000000000 +0000
> +@@ -0,0 +1,49 @@
> ++// Copyright 2007-2010 Baptiste Lepilleur
> ++// Distributed under MIT license, or public domain if desired and
> ++// recognized in your jurisdiction.
> ++// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
> ++
> ++#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
> ++# define CPPTL_JSON_FEATURES_H_INCLUDED
> ++
> ++#if !defined(JSON_IS_AMALGAMATION)
> ++# include "forwards.h"
> ++#endif // if !defined(JSON_IS_AMALGAMATION)
> ++
> ++namespace Json {
> ++
> ++ /** \brief Configuration passed to reader and writer.
> ++ * This configuration object can be used to force the Reader or Writer
> ++ * to behave in a standard conforming way.
> ++ */
> ++ class JSON_API Features
> ++ {
> ++ public:
> ++ /** \brief A configuration that allows all features and assumes all strings are UTF-8.
> ++ * - C & C++ comments are allowed
> ++ * - Root object can be any JSON value
> ++ * - Assumes Value strings are encoded in UTF-8
> ++ */
> ++ static Features all();
> ++
> ++ /** \brief A configuration that is strictly compatible with the JSON specification.
> ++ * - Comments are forbidden.
> ++ * - Root object must be either an array or an object value.
> ++ * - Assumes Value strings are encoded in UTF-8
> ++ */
> ++ static Features strictMode();
> ++
> ++ /** \brief Initialize the configuration like JsonConfig::allFeatures;
> ++ */
> ++ Features();
> ++
> ++ /// \c true if comments are allowed. Default: \c true.
> ++ bool allowComments_;
> ++
> ++ /// \c true if root must be either an array or an object value. Default: \c false.
> ++ bool strictRoot_;
> ++ };
> ++
> ++} // namespace Json
> ++
> ++#endif // CPPTL_JSON_FEATURES_H_INCLUDED
> +Index: jsoncpp-src-0.6.0-rc2/include/json/json.h
> +===================================================================
> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/json.h 2011-05-02 21:47:24.000000000 +0000
> ++++ jsoncpp-src-0.6.0-rc2/include/json/json.h 2014-08-27 06:39:13.000000000 +0000
> +@@ -10,6 +10,6 @@
> + # include "value.h"
> + # include "reader.h"
> + # include "writer.h"
> +-# include "features.h"
> ++# include "json-features.h"
> +
> + #endif // JSON_JSON_H_INCLUDED
> +Index: jsoncpp-src-0.6.0-rc2/include/json/reader.h
> +===================================================================
> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/reader.h 2011-05-02 21:47:24.000000000 +0000
> ++++ jsoncpp-src-0.6.0-rc2/include/json/reader.h 2014-08-27 06:39:32.000000000 +0000
> +@@ -7,7 +7,7 @@
> + # define CPPTL_JSON_READER_H_INCLUDED
> +
> + #if !defined(JSON_IS_AMALGAMATION)
> +-# include "features.h"
> ++# include "json-features.h"
> + # include "value.h"
> + #endif // if !defined(JSON_IS_AMALGAMATION)
> + # include <deque>
> +Index: jsoncpp-src-0.6.0-rc2/include/json/features.h
> +===================================================================
> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/features.h 2011-05-02 21:46:58.000000000 +0000
> ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
> +@@ -1,49 +0,0 @@
> +-// Copyright 2007-2010 Baptiste Lepilleur
> +-// Distributed under MIT license, or public domain if desired and
> +-// recognized in your jurisdiction.
> +-// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
> +-
> +-#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
> +-# define CPPTL_JSON_FEATURES_H_INCLUDED
> +-
> +-#if !defined(JSON_IS_AMALGAMATION)
> +-# include "forwards.h"
> +-#endif // if !defined(JSON_IS_AMALGAMATION)
> +-
> +-namespace Json {
> +-
> +- /** \brief Configuration passed to reader and writer.
> +- * This configuration object can be used to force the Reader or Writer
> +- * to behave in a standard conforming way.
> +- */
> +- class JSON_API Features
> +- {
> +- public:
> +- /** \brief A configuration that allows all features and assumes all strings are UTF-8.
> +- * - C & C++ comments are allowed
> +- * - Root object can be any JSON value
> +- * - Assumes Value strings are encoded in UTF-8
> +- */
> +- static Features all();
> +-
> +- /** \brief A configuration that is strictly compatible with the JSON specification.
> +- * - Comments are forbidden.
> +- * - Root object must be either an array or an object value.
> +- * - Assumes Value strings are encoded in UTF-8
> +- */
> +- static Features strictMode();
> +-
> +- /** \brief Initialize the configuration like JsonConfig::allFeatures;
> +- */
> +- Features();
> +-
> +- /// \c true if comments are allowed. Default: \c true.
> +- bool allowComments_;
> +-
> +- /// \c true if root must be either an array or an object value. Default: \c false.
> +- bool strictRoot_;
> +- };
> +-
> +-} // namespace Json
> +-
> +-#endif // CPPTL_JSON_FEATURES_H_INCLUDED
> diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
> new file mode 100644
> index 0000000..17947e3
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
> @@ -0,0 +1,21 @@
> +SUMMARY = "JSON C++ lib used to read and write json file."
> +DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
> + and writer in C++. JSON (JavaScript Object Notation) is a \
> + lightweight data-interchange format. It is easy for humans to \
> + read and write. It is easy for machines to parse and generate."
> +
> +HOMEPAGE = "http://sourceforge.net/projects/jsoncpp/"
> +
> +SECTION = "libs"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce"
> +
> +SRCREV = "d8cd848ede1071a25846cd90b4fddf269d868ff1"
> +SRC_URI = "git://github.com/open-source-parsers/jsoncpp \
> +"
> +
> +S = "${WORKDIR}/git"
> +inherit cmake
> +
> +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-26 7:42 ` Koen Kooi
@ 2016-11-28 17:48 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-28 17:48 UTC (permalink / raw)
To: openembeded-devel
On Fri, Nov 25, 2016 at 11:42 PM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>
>> Op 26 nov. 2016, om 01:15 heeft Martin Jansa <martin.jansa@gmail.com> het volgende geschreven:
>>
>> On Wed, Nov 23, 2016 at 01:21:28AM -0800, Khem Raj wrote:
>>> 16.x is the default since its the latest released version
>>>
>>> remove obsoleted xbmc recipes
>>> rename to recipes-mediacenter
>>> +S = "${WORKDIR}/git"
>>> +
>>> +# breaks compilation
>>> +ASNEEDED = ""
>>> +
>>> +ACCEL ?= ""
>>> +ACCEL_x86 = "vaapi vdpau"
>>> +ACCEL_x86-64 = "vaapi vdpau"
>>> +
>>> +PACKAGECONFIG ??= "${ACCEL}"
>>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
>>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
>>> +
>>> +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
>>> +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
>>> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
>>> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
>>> +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
>>> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
>>> +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>>
>> Did I overlook libva recipe somewhere?
>>
>> It doesn't even start building for qemux86* because of this libva and
>> for qemuarm it fails to configure:
>> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
>
> libva is in meta-intel, meta-amd and meta-kodi. I guess we should consider moving it to OE-core or meta-oe.
I think meta-oe is a good destination for this.
>
> regards,
>
> Koen
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes
2016-11-26 9:08 ` Martin Jansa
@ 2016-11-28 19:38 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-28 19:38 UTC (permalink / raw)
To: openembeded-devel
On Sat, Nov 26, 2016 at 1:08 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> Hmm somehow it got mixed in the e-mail, but the report log shows it
> correctly:
> http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.report.20161125_134053.log
>
> obexftp-0.24.2: obexftp rdepends on fuse, but it isn't a build
> dependency, missing fuse in DEPENDS or PACKAGECONFIG? [build-deps]
>
That looks more reasonable. I dont have meta-filesystems in my project
that explains why I dont see this dangling dep issue. I will send a v2
>
> On Sat, Nov 26, 2016 at 7:02 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
>>
>> > On Nov 25, 2016, at 8:57 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >
>> >
>> >> On Nov 25, 2016, at 4:17 PM, Martin Jansa <martin.jansa@gmail.com
>> <mailto:martin.jansa@gmail.com>> wrote:
>> >>
>> >> On Wed, Nov 23, 2016 at 01:21:51AM -0800, Khem Raj wrote:
>> >>> Update obexftp to 0.24.2 and openobex to 1.7.2
>> >>> These packages moved to CMake infra for builds
>> >>> therefore make adjustments to cross compile it
>> >>
>> >> opexftp autodetect uriparser now:
>> >> http://lists.openembedded.org/pipermail/openembedded-devel/
>> 2016-November/110050.html <http://lists.openembedded.
>> org/pipermail/openembedded-devel/2016-November/110050.html>
>> >
>> > uriparser is not in meta-openembedded layers. So I guess I could
>> packageconfig out it and keep it disabled by default
>>
>> Actually it seems a false alarm. uriparser is detected by tvheadend which
>> I have fixed locally now. I could not find any reference to uriparser in
>> obexftp
>> can you verify what is it reporting against obexftp ?
>>
>> >
>> >>
>> >>>
>> >>> Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com
>> >>
>> >>> ---
>> >>> .../disable-cable-test.patch | 0
>> >>> .../libusb_crosscompile_check.patch | 0
>> >>> .../separate_builddir.patch | 0
>> >>> meta-oe/recipes-connectivity/obex/openobex_1.5.bb | 35
>> ----------------
>> >>> .../recipes-connectivity/obex/openobex_1.7.2.bb | 37
>> +++++++++++++++++
>> >>> ...ists.txt-Explicitly-link-libbfb-and-libmu.patch | 47
>> ++++++++++++++++++++++
>> >>> .../recipes-connectivity/obexftp/obexftp_0.23.bb | 16 --------
>> >>> .../recipes-connectivity/obexftp/obexftp_0.24.2.bb | 33
>> +++++++++++++++
>> >>> 8 files changed, 117 insertions(+), 51 deletions(-)
>> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
>> openobex}/disable-cable-test.patch (100%)
>> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
>> openobex}/libusb_crosscompile_check.patch (100%)
>> >>> rename meta-oe/recipes-connectivity/obex/{openobex-1.5 =>
>> openobex}/separate_builddir.patch (100%)
>> >>> delete mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> >>> create mode 100644 meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> >>> create mode 100644 meta-oe/recipes-connectivity/
>> obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-
>> link-libbfb-and-libmu.patch
>> >>> delete mode 100644 meta-oe/recipes-connectivity/obexftp/
>> obexftp_0.23.bb
>> >>> create mode 100644 meta-oe/recipes-connectivity/obexftp/
>> obexftp_0.24.2.bb
>> >>>
>> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
>> b/meta-oe/recipes-connectivity/obex/openobex/disable-cable-test.patch
>> >>> similarity index 100%
>> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/disable-
>> cable-test.patch
>> >>> rename to meta-oe/recipes-connectivity/obex/openobex/disable-cable-
>> test.patch
>> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.
>> 5/libusb_crosscompile_check.patch b/meta-oe/recipes-
>> connectivity/obex/openobex/libusb_crosscompile_check.patch
>> >>> similarity index 100%
>> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_
>> crosscompile_check.patch
>> >>> rename to meta-oe/recipes-connectivity/obex/openobex/libusb_
>> crosscompile_check.patch
>> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
>> b/meta-oe/recipes-connectivity/obex/openobex/separate_builddir.patch
>> >>> similarity index 100%
>> >>> rename from meta-oe/recipes-connectivity/obex/openobex-1.5/separate_
>> builddir.patch
>> >>> rename to meta-oe/recipes-connectivity/obex/openobex/separate_
>> builddir.patch
>> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> >>> deleted file mode 100644
>> >>> index 6ac7905..0000000
>> >>> --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
>> >>> +++ /dev/null
>> >>> @@ -1,35 +0,0 @@
>> >>> -DESCRIPTION = "The Openobex project is an open source implementation
>> of the \
>> >>> -Object Exchange (OBEX) protocol."
>> >>> -HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
>> >>> -SECTION = "libs"
>> >>> -DEPENDS = "virtual/libusb0"
>> >>> -DEPENDS += "${@bb.utils.contains('DISTRO_
>> FEATURES','bluez5','bluez5','bluez4',d)}"
>> >>> -
>> >>> -LICENSE = "GPLv2 & LGPLv2.1"
>> >>> -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a
>> <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
>> >>> - file://COPYING.LIB;md5=
>> a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=
>> a6f89e2100d9b6cdffcea4f398e37343> \
>> >>> -"
>> >>> -
>> >>> -SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}
>> .tar.gz <http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz>
>> \
>> >>> - file://disable-cable-test.patch
>> <file:///disable-cable-test.patch> \
>> >>> - file://libusb_crosscompile_check.patch
>> <file:///libusb_crosscompile_check.patch> \
>> >>> - file://separate_builddir.patch <file://separate_builddir.
>> patch/>"
>> >>> -
>> >>> -SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
>> >>> -SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f
>> 2cef41310e5a99d084de10aa9422935e65"
>> >>> -
>> >>> -inherit autotools binconfig pkgconfig
>> >>> -
>> >>> -EXTRA_OECONF = "--enable-apps --enable-syslog"
>> >>> -
>> >>> -do_install_append() {
>> >>> - install -d ${D}${datadir}/aclocal
>> >>> - install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
>> >>> -}
>> >>> -
>> >>> -PACKAGES += "openobex-apps"
>> >>> -FILES_${PN} = "${libdir}/lib*.so.*"
>> >>> -FILES_${PN}-dev += "${bindir}/openobex-config"
>> >>> -FILES_${PN}-apps = "${bindir}/*"
>> >>> -DEBIAN_NOAUTONAME_${PN}-apps = "1"
>> >>> -
>> >>> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> >>> new file mode 100644
>> >>> index 0000000..053c80a
>> >>> --- /dev/null
>> >>> +++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
>> >>> @@ -0,0 +1,37 @@
>> >>> +DESCRIPTION = "The Openobex project is an open source implementation
>> of the \
>> >>> +Object Exchange (OBEX) protocol."
>> >>> +HOMEPAGE = "http://openobex.triq.net <http://openobex.triq.net/>"
>> >>> +SECTION = "libs"
>> >>> +DEPENDS = "virtual/libusb0"
>> >>> +DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_
>> FEATURES','bluez5','bluez5','bluez4',d)}"
>> >>> +
>> >>> +LICENSE = "GPLv2 & LGPLv2.1"
>> >>> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a
>> <file://COPYING;md5=eb723b61539feef013de476e68b5c50a> \
>> >>> + file://COPYING.LIB;md5=
>> a6f89e2100d9b6cdffcea4f398e37343 <file:///COPYING.LIB;md5=
>> a6f89e2100d9b6cdffcea4f398e37343> \
>> >>> +"
>> >>> +
>> >>> +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/
>> ${BPN}/${PV}/${BP}-Source.tar.gz \
>> >>> +"
>> >>> +
>> >>> +SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
>> >>> +SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550da
>> aae06df2689e05834697b7e8c7d73dd4fc"
>> >>> +
>> >>> +inherit cmake pkgconfig
>> >>> +
>> >>> +S = "${WORKDIR}/${BP}-Source"
>> >>> +
>> >>> +EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
>> >>> +
>> >>> +#--enable-apps --enable-syslog
>> >>> +
>> >>> +do_install_append () {
>> >>> + rmdir ${D}${bindir}
>> >>> +}
>> >>> +
>> >>> +PACKAGES =+ "openobex-apps"
>> >>> +FILES_${PN}-apps = "${bindir}/*"
>> >>> +FILES_${PN} += "${libdir}/lib*.so.*"
>> >>> +FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
>> >>> +DEBIAN_NOAUTONAME_${PN}-apps = "1"
>> >>> +
>> >>> +BBCLASSEXTEND = "native"
>> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/
>> 0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-
>> Explicitly-link-libbfb-and-libmu.patch
>> >>> new file mode 100644
>> >>> index 0000000..55e5567
>> >>> --- /dev/null
>> >>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp/
>> 0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> >>> @@ -0,0 +1,47 @@
>> >>> +From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00
>> 2001
>> >>> +From: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
>> >>> +Date: Tue, 15 Nov 2016 01:32:31 +0000
>> >>> +Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and
>> libmulticobex
>> >>> +
>> >>> +Transitive linking is disabled now for multicobex and
>> >>> +obexftp, This ends up with linking errors for apps, therefore
>> >>> +they are required to be added to link line explicitly.
>> >>> +
>> >>> +Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:
>> raj.khem@gmail.com>>
>> >>> +---
>> >>> + apps/CMakeLists.txt | 13 +++++++++++--
>> >>> + 1 file changed, 11 insertions(+), 2 deletions(-)
>> >>> +
>> >>> +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
>> >>> +index b5c84e4..63af134 100644
>> >>> +--- a/apps/CMakeLists.txt
>> >>> ++++ b/apps/CMakeLists.txt
>> >>> +@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VERSION}" )
>> >>> + add_definitions ( -DHAVE_USB )
>> >>> +
>> >>> + add_executable ( obexftp_app obexftp.c )
>> >>> +-target_link_libraries ( obexftp_app obexftp )
>> >>> ++target_link_libraries ( obexftp_app
>> >>> ++ PRIVATE multicobex
>> >>> ++ PRIVATE bfb
>> >>> ++ obexftp
>> >>> ++)
>> >>> + set_target_properties ( obexftp_app PROPERTIES
>> >>> + OUTPUT_NAME obexftp
>> >>> + )
>> >>> +
>> >>> +
>> >>> + add_executable ( obexftpd_app obexftpd.c )
>> >>> +-target_link_libraries ( obexftpd_app obexftp openobex )
>> >>> ++target_link_libraries ( obexftpd_app
>> >>> ++ PRIVATE multicobex
>> >>> ++ PRIVATE bfb
>> >>> ++ obexftp
>> >>> ++ openobex
>> >>> ++)
>> >>> + set_target_properties ( obexftpd_app PROPERTIES
>> >>> + OUTPUT_NAME obexftpd
>> >>> + )
>> >>> +--
>> >>> +1.9.1
>> >>> +
>> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> b/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> >>> deleted file mode 100644
>> >>> index b6bdfb7..0000000
>> >>> --- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
>> >>> +++ /dev/null
>> >>> @@ -1,16 +0,0 @@
>> >>> -DESCRIPTION = "A tool for transfer files to/from any OBEX enabled
>> device"
>> >>> -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
>> >>> -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552
>> <file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552>"
>> >>> -
>> >>> -DEPENDS += "openobex"
>> >>> -
>> >>> -SRC_URI = "http://sourceforge.net/projects/openobex/files/
>> obexftp/${PV}/obexftp-${PV}.tar.bz2 <http://sourceforge.net/
>> projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2> \
>> >>> - file://Remove_some_printf_in_obexftpd.patch
>> <file:///Remove_some_printf_in_obexftpd.patch> "
>> >>> -
>> >>> -SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
>> >>> -SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7
>> d6dec10112eaff2e7b10e292b0d2105b36"
>> >>> -
>> >>> -inherit autotools pkgconfig
>> >>> -
>> >>> -EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python
>> --disable-ruby"
>> >>> -
>> >>> diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>> b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>> >>> new file mode 100644
>> >>> index 0000000..991cd48
>> >>> --- /dev/null
>> >>> +++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
>> >>> @@ -0,0 +1,33 @@
>> >>> +DESCRIPTION = "A tool for transfer files to/from any OBEX enabled
>> device"
>> >>> +LICENSE = "GPLv2 & PD & LGPLv2.1"
>> >>> +LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=
>> 4fbd65380cdd255951079008b364516c <file://LGPL-2.1.txt;md5=
>> 4fbd65380cdd255951079008b364516c> \
>> >>> + file://GPL-2.txt;md5=
>> b234ee4d69f5fce4486a80fdaf4a4263 <file:///GPL-2.txt;md5=
>> b234ee4d69f5fce4486a80fdaf4a4263> \
>> >>> + file://License.txt;md5=
>> fcbddc3c1debed80dd80da2d3e5f0dc1 <file:///License.txt;md5=
>> fcbddc3c1debed80dd80da2d3e5f0dc1> \
>> >>> + "
>> >>> +
>> >>> +DEPENDS += "openobex obexftp-native"
>> >>> +SRC_URI = "http://downloads.sourceforge.
>> net/openobex/${BP}-Source.tar.gz <http://downloads.sourceforge.
>> net/openobex/${BP}-Source.tar.gz> \
>> >>> + file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
>> <file:///0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch>
>> \
>> >>> +"
>> >>> +SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
>> >>> +SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f
>> 793919a625d54b87182e31a3f3d1c989a3"
>> >>> +
>> >>> +inherit cmake pkgconfig
>> >>> +
>> >>> +S = "${WORKDIR}/${BP}-Source"
>> >>> +
>> >>> +EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
>> >>> + -DENABLE_PERL=NO -DENABLE_PYTHON=NO \
>> >>> + -DENABLE_RUBY=NO -DENABLE_TCL=NO \
>> >>> +"
>> >>> +
>> >>> +do_compile_class-native () {
>> >>> + oe_runmake crctable
>> >>> +}
>> >>> +
>> >>> +do_install_class-native () {
>> >>> + install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
>> >>> +}
>> >>> +
>> >>> +
>> >>> +BBCLASSEXTEND = "native"
>> >>> --
>> >>> 2.10.2
>> >>>
>> >>> --
>> >>> _______________________________________________
>> >>> Openembedded-devel mailing list
>> >>> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@
>> lists.openembedded.org>
>> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>> >>
>> >> --
>> >> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com <mailto:
>> Martin.Jansa@gmail.com>
>> >> --
>> >> _______________________________________________
>> >> Openembedded-devel mailing list
>> >> Openembedded-devel@lists.openembedded.org <mailto:Openembedded-devel@
>> lists.openembedded.org>
>> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel <
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 40/49] jsoncpp: Add new recipe
2016-11-28 10:46 ` Piotr Lewicki
@ 2016-11-28 21:10 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-11-28 21:10 UTC (permalink / raw)
To: openembeded-devel
On Mon, Nov 28, 2016 at 2:46 AM, Piotr Lewicki <piotr.lewicki@elfin.de> wrote:
> Hi Raj,
>
> Did you forget to add the patch to the "SRC_URI"?
>
this patch is not required thus effectively deadcode I will send a v2.
Thanks for notifying.
>
> BR,
>
> Piotr
>
>
>
> On 23.11.2016 10:22, Khem Raj wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../0001-jsoncpp-rename-features-header-file.patch | 152
>> +++++++++++++++++++++
>> meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb | 21 +++
>> 2 files changed, 173 insertions(+)
>> create mode 100644
>> meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
>> create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
>>
>> diff --git
>> a/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
>> b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
>> new file mode 100644
>> index 0000000..f1397ea
>> --- /dev/null
>> +++
>> b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
>> @@ -0,0 +1,152 @@
>> +Issue: Build error in TDK DS_stub
>> +
>> +In file included from
>> /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/c++config.h:426:0,
>> + from
>> /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/string:38,
>> + from
>> /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/value.h:12,
>> + from
>> /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/json.h:10,
>> + from ./include/DeviceSettingsAgent.h:15,
>> + from src/DeviceSettingsAgent.cpp:13:
>>
>> +/home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/os_defines.h:44:19:
>> error: missing binary operator before token "("
>> + #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
>> +
>> +The issue was jsoncpp has features.h which was conflicting with the
>> system
>> +header file features.h.
>> +
>> +So renamed the header file features.h in jsoncpp to json-features.h so
>> +as to localize the effect of this change within jsoncpp.
>> +
>> + Signed-off-by: Ridish Aravindan <ridish.ra@lnttechservices.com>
>> +
>> +Index: jsoncpp-src-0.6.0-rc2/include/json/json-features.h
>> +===================================================================
>> +--- /dev/null 1970-01-01 00:00:00.000000000 +0000
>> ++++ jsoncpp-src-0.6.0-rc2/include/json/json-features.h 2014-08-27
>> 06:41:40.000000000 +0000
>> +@@ -0,0 +1,49 @@
>> ++// Copyright 2007-2010 Baptiste Lepilleur
>> ++// Distributed under MIT license, or public domain if desired and
>> ++// recognized in your jurisdiction.
>> ++// See file LICENSE for detail or copy at
>> http://jsoncpp.sourceforge.net/LICENSE
>> ++
>> ++#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
>> ++# define CPPTL_JSON_FEATURES_H_INCLUDED
>> ++
>> ++#if !defined(JSON_IS_AMALGAMATION)
>> ++# include "forwards.h"
>> ++#endif // if !defined(JSON_IS_AMALGAMATION)
>> ++
>> ++namespace Json {
>> ++
>> ++ /** \brief Configuration passed to reader and writer.
>> ++ * This configuration object can be used to force the Reader or
>> Writer
>> ++ * to behave in a standard conforming way.
>> ++ */
>> ++ class JSON_API Features
>> ++ {
>> ++ public:
>> ++ /** \brief A configuration that allows all features and assumes
>> all strings are UTF-8.
>> ++ * - C & C++ comments are allowed
>> ++ * - Root object can be any JSON value
>> ++ * - Assumes Value strings are encoded in UTF-8
>> ++ */
>> ++ static Features all();
>> ++
>> ++ /** \brief A configuration that is strictly compatible with the
>> JSON specification.
>> ++ * - Comments are forbidden.
>> ++ * - Root object must be either an array or an object value.
>> ++ * - Assumes Value strings are encoded in UTF-8
>> ++ */
>> ++ static Features strictMode();
>> ++
>> ++ /** \brief Initialize the configuration like
>> JsonConfig::allFeatures;
>> ++ */
>> ++ Features();
>> ++
>> ++ /// \c true if comments are allowed. Default: \c true.
>> ++ bool allowComments_;
>> ++
>> ++ /// \c true if root must be either an array or an object value.
>> Default: \c false.
>> ++ bool strictRoot_;
>> ++ };
>> ++
>> ++} // namespace Json
>> ++
>> ++#endif // CPPTL_JSON_FEATURES_H_INCLUDED
>> +Index: jsoncpp-src-0.6.0-rc2/include/json/json.h
>> +===================================================================
>> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/json.h 2011-05-02
>> 21:47:24.000000000 +0000
>> ++++ jsoncpp-src-0.6.0-rc2/include/json/json.h 2014-08-27
>> 06:39:13.000000000 +0000
>> +@@ -10,6 +10,6 @@
>> + # include "value.h"
>> + # include "reader.h"
>> + # include "writer.h"
>> +-# include "features.h"
>> ++# include "json-features.h"
>> +
>> + #endif // JSON_JSON_H_INCLUDED
>> +Index: jsoncpp-src-0.6.0-rc2/include/json/reader.h
>> +===================================================================
>> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/reader.h 2011-05-02
>> 21:47:24.000000000 +0000
>> ++++ jsoncpp-src-0.6.0-rc2/include/json/reader.h 2014-08-27
>> 06:39:32.000000000 +0000
>> +@@ -7,7 +7,7 @@
>> + # define CPPTL_JSON_READER_H_INCLUDED
>> +
>> + #if !defined(JSON_IS_AMALGAMATION)
>> +-# include "features.h"
>> ++# include "json-features.h"
>> + # include "value.h"
>> + #endif // if !defined(JSON_IS_AMALGAMATION)
>> + # include <deque>
>> +Index: jsoncpp-src-0.6.0-rc2/include/json/features.h
>> +===================================================================
>> +--- jsoncpp-src-0.6.0-rc2.orig/include/json/features.h 2011-05-02
>> 21:46:58.000000000 +0000
>> ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
>> +@@ -1,49 +0,0 @@
>> +-// Copyright 2007-2010 Baptiste Lepilleur
>> +-// Distributed under MIT license, or public domain if desired and
>> +-// recognized in your jurisdiction.
>> +-// See file LICENSE for detail or copy at
>> http://jsoncpp.sourceforge.net/LICENSE
>> +-
>> +-#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
>> +-# define CPPTL_JSON_FEATURES_H_INCLUDED
>> +-
>> +-#if !defined(JSON_IS_AMALGAMATION)
>> +-# include "forwards.h"
>> +-#endif // if !defined(JSON_IS_AMALGAMATION)
>> +-
>> +-namespace Json {
>> +-
>> +- /** \brief Configuration passed to reader and writer.
>> +- * This configuration object can be used to force the Reader or
>> Writer
>> +- * to behave in a standard conforming way.
>> +- */
>> +- class JSON_API Features
>> +- {
>> +- public:
>> +- /** \brief A configuration that allows all features and assumes
>> all strings are UTF-8.
>> +- * - C & C++ comments are allowed
>> +- * - Root object can be any JSON value
>> +- * - Assumes Value strings are encoded in UTF-8
>> +- */
>> +- static Features all();
>> +-
>> +- /** \brief A configuration that is strictly compatible with the
>> JSON specification.
>> +- * - Comments are forbidden.
>> +- * - Root object must be either an array or an object value.
>> +- * - Assumes Value strings are encoded in UTF-8
>> +- */
>> +- static Features strictMode();
>> +-
>> +- /** \brief Initialize the configuration like
>> JsonConfig::allFeatures;
>> +- */
>> +- Features();
>> +-
>> +- /// \c true if comments are allowed. Default: \c true.
>> +- bool allowComments_;
>> +-
>> +- /// \c true if root must be either an array or an object value.
>> Default: \c false.
>> +- bool strictRoot_;
>> +- };
>> +-
>> +-} // namespace Json
>> +-
>> +-#endif // CPPTL_JSON_FEATURES_H_INCLUDED
>> diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
>> b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
>> new file mode 100644
>> index 0000000..17947e3
>> --- /dev/null
>> +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
>> @@ -0,0 +1,21 @@
>> +SUMMARY = "JSON C++ lib used to read and write json file."
>> +DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org)
>> reader \
>> + and writer in C++. JSON (JavaScript Object Notation) is a
>> \
>> + lightweight data-interchange format. It is easy for humans
>> to \
>> + read and write. It is easy for machines to parse and
>> generate."
>> +
>> +HOMEPAGE = "http://sourceforge.net/projects/jsoncpp/"
>> +
>> +SECTION = "libs"
>> +
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce"
>> +
>> +SRCREV = "d8cd848ede1071a25846cd90b4fddf269d868ff1"
>> +SRC_URI = "git://github.com/open-source-parsers/jsoncpp \
>> +"
>> +
>> +S = "${WORKDIR}/git"
>> +inherit cmake
>> +
>> +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
>
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-26 0:15 ` Martin Jansa
2016-11-26 7:42 ` Koen Kooi
@ 2016-11-29 0:57 ` Khem Raj
2016-12-15 9:53 ` Martin Jansa
1 sibling, 1 reply; 73+ messages in thread
From: Khem Raj @ 2016-11-29 0:57 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
> On Nov 25, 2016, at 4:15 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Wed, Nov 23, 2016 at 01:21:28AM -0800, Khem Raj wrote:
>> 16.x is the default since its the latest released version
>>
>> remove obsoleted xbmc recipes
>> rename to recipes-mediacenter
>> +S = "${WORKDIR}/git"
>> +
>> +# breaks compilation
>> +ASNEEDED = ""
>> +
>> +ACCEL ?= ""
>> +ACCEL_x86 = "vaapi vdpau"
>> +ACCEL_x86-64 = "vaapi vdpau"
>> +
>> +PACKAGECONFIG ??= "${ACCEL}"
>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
>> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
>> +
>> +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
>> +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
>> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
>> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
>> +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
>> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
>> +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>
> Did I overlook libva recipe somewhere?
>
> It doesn't even start building for qemux86* because of this libva and
> for qemuarm it fails to configure:
> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
Sent a patch for libva which should help with x86 issue. For arm issue, I see that error is due to java installation on build machine. I have sent another patch for kodi-17
to fix build for qemuarm but thats not needed for kodi-16 which is default.
| /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin/swig -w401 -c++ -o xbmc/interfaces/python/generated/AddonModuleXbmc.xml -xml -I./xbmc -xmllang python xbmc/interfaces/swig/AddonModuleXbmc.i
| # Work around potential groovy bug reported at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733234
| /usr/bin/java -cp "./tools/codegenerator/groovy/groovy-all-2.4.4.jar:./tools/codegenerator/groovy/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python" \
| org.codehaus.groovy.tools.FileSystemCompiler -d ./tools/codegenerator ./tools/codegenerator/Helper.groovy ./tools/codegenerator/SwigTypeParser.groovy xbmc/interfaces/python/MethodType.groovy xbmc/interfaces/python/PythonTools.groovy
| Error occurred during initialization of VM
| Could not reserve enough space for object heap
| Error: Could not create the Java Virtual Machine.
| Error: A fatal exception has occurred. Program will exit.
| codegenerator.mk:44: recipe for target 'xbmc/interfaces/python/generated/AddonModuleXbmc.cpp' failed
| make: *** [xbmc/interfaces/python/generated/AddonModuleXbmc.cpp] Error 1
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes
2016-11-29 0:57 ` Khem Raj
@ 2016-12-15 9:53 ` Martin Jansa
0 siblings, 0 replies; 73+ messages in thread
From: Martin Jansa @ 2016-12-15 9:53 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
[-- Attachment #1: Type: text/plain, Size: 4034 bytes --]
On Mon, Nov 28, 2016 at 04:57:31PM -0800, Khem Raj wrote:
>
> > On Nov 25, 2016, at 4:15 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> >
> > On Wed, Nov 23, 2016 at 01:21:28AM -0800, Khem Raj wrote:
> >> 16.x is the default since its the latest released version
> >>
> >> remove obsoleted xbmc recipes
> >> rename to recipes-mediacenter
> >> +S = "${WORKDIR}/git"
> >> +
> >> +# breaks compilation
> >> +ASNEEDED = ""
> >> +
> >> +ACCEL ?= ""
> >> +ACCEL_x86 = "vaapi vdpau"
> >> +ACCEL_x86-64 = "vaapi vdpau"
> >> +
> >> +PACKAGECONFIG ??= "${ACCEL}"
> >> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
> >> +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
> >> +
> >> +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
> >> +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
> >> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
> >> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
> >> +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
> >> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
> >> +PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
> >
> > Did I overlook libva recipe somewhere?
> >
> > It doesn't even start building for qemux86* because of this libva and
> > for qemuarm it fails to configure:
> > http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110050.html
>
> Sent a patch for libva which should help with x86 issue. For arm issue, I see that error is due to java installation on build machine. I have sent another patch for kodi-17
> to fix build for qemuarm but thats not needed for kodi-16 which is default.
kodi-16 is still default, but fails because of this java issue :/
There is also another issue with kodi-17 detected in qemux86* builds:
ERROR: Following files are installed in sysroot, but not tracked by sstate:
qemux86-64/usr/include/guid.h
qemux86-64/usr/lib/libcrossguid.a
INFO: Output written in: /home/jenkins/oe/world/shr-core/tmp-glibc/sysroot.cruft.1481664087
I believe both these files are installed by kodi, this looks suspicious:
make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
>
> | /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin/swig -w401 -c++ -o xbmc/interfaces/python/generated/AddonModuleXbmc.xml -xml -I./xbmc -xmllang python xbmc/interfaces/swig/AddonModuleXbmc.i
> | # Work around potential groovy bug reported at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733234
> | /usr/bin/java -cp "./tools/codegenerator/groovy/groovy-all-2.4.4.jar:./tools/codegenerator/groovy/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python" \
> | org.codehaus.groovy.tools.FileSystemCompiler -d ./tools/codegenerator ./tools/codegenerator/Helper.groovy ./tools/codegenerator/SwigTypeParser.groovy xbmc/interfaces/python/MethodType.groovy xbmc/interfaces/python/PythonTools.groovy
> | Error occurred during initialization of VM
> | Could not reserve enough space for object heap
> | Error: Could not create the Java Virtual Machine.
> | Error: A fatal exception has occurred. Program will exit.
> | codegenerator.mk:44: recipe for target 'xbmc/interfaces/python/generated/AddonModuleXbmc.cpp' failed
> | make: *** [xbmc/interfaces/python/generated/AddonModuleXbmc.cpp] Error 1
>
>
>
>
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 10/49] libvdpau: Add recipe
2016-11-23 9:21 ` [meta-oe][PATCH 10/49] libvdpau: Add recipe Khem Raj
@ 2016-12-17 23:53 ` Martin Jansa
2016-12-19 21:10 ` Khem Raj
0 siblings, 1 reply; 73+ messages in thread
From: Martin Jansa @ 2016-12-17 23:53 UTC (permalink / raw)
To: openembedded-devel; +Cc: Koen Kooi
directfb seems to autodetect this as well:
directfb-1.7.7: directfb rdepends on libvdpau, but it isn't a build
dependency, missing libvdpau in DEPENDS or PACKAGECONFIG? [build-deps]
directfb-1.7.7: directfb rdepends on libx11, but it isn't a build
dependency, missing libx11 in DEPENDS or PACKAGECONFIG? [build-deps]
directfb-1.7.7: directfb rdepends on libxau, but it isn't a build
dependency, missing libxau in DEPENDS or PACKAGECONFIG? [build-deps]
directfb-1.7.7: directfb rdepends on libxcb, but it isn't a build
dependency, missing libxcb in DEPENDS or PACKAGECONFIG? [build-deps]
directfb-1.7.7: directfb rdepends on libxdmcp, but it isn't a build
dependency, missing libxdmcp in DEPENDS or PACKAGECONFIG? [build-deps]
directfb-1.7.7: directfb rdepends on libxext, but it isn't a build
dependency, missing libxext in DEPENDS or PACKAGECONFIG? [build-deps]
On Wed, Nov 23, 2016 at 10:21 AM, Khem Raj <raj.khem@gmail.com> wrote:
> From: Koen Kooi <koen@dominion.thruhere.net>
>
> Needed for x86 machines
>
> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta-oe/recipes-graphics/vdpau/libvdpau_git.bb | 23
> +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
> create mode 100644 meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
>
> diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
> b/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
> new file mode 100644
> index 0000000..31f4df4
> --- /dev/null
> +++ b/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
> @@ -0,0 +1,23 @@
> +SUMMARY = "Video Decode and Presentation API for UNIX"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
> +
> +DEPENDS = "virtual/libx11 libxext dri2proto"
> +
> +PV = "1.1.1+git${SRCPV}"
> +
> +SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
> +SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit autotools pkgconfig
> +
> +do_install_append() {
> + rm -f ${D}${libdir}/*/*.la
> +}
> +
> +FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
> +FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
> +FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 73+ messages in thread
* Re: [meta-oe][PATCH 10/49] libvdpau: Add recipe
2016-12-17 23:53 ` Martin Jansa
@ 2016-12-19 21:10 ` Khem Raj
0 siblings, 0 replies; 73+ messages in thread
From: Khem Raj @ 2016-12-19 21:10 UTC (permalink / raw)
To: openembeded-devel; +Cc: Koen Kooi
On Sat, Dec 17, 2016 at 3:53 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> directfb seems to autodetect this as well:
>
> directfb-1.7.7: directfb rdepends on libvdpau, but it isn't a build
> dependency, missing libvdpau in DEPENDS or PACKAGECONFIG? [build-deps]
> directfb-1.7.7: directfb rdepends on libx11, but it isn't a build
> dependency, missing libx11 in DEPENDS or PACKAGECONFIG? [build-deps]
> directfb-1.7.7: directfb rdepends on libxau, but it isn't a build
> dependency, missing libxau in DEPENDS or PACKAGECONFIG? [build-deps]
> directfb-1.7.7: directfb rdepends on libxcb, but it isn't a build
> dependency, missing libxcb in DEPENDS or PACKAGECONFIG? [build-deps]
> directfb-1.7.7: directfb rdepends on libxdmcp, but it isn't a build
> dependency, missing libxdmcp in DEPENDS or PACKAGECONFIG? [build-deps]
> directfb-1.7.7: directfb rdepends on libxext, but it isn't a build
> dependency, missing libxext in DEPENDS or PACKAGECONFIG? [build-deps]
>
sent a patch for this
^ permalink raw reply [flat|nested] 73+ messages in thread
end of thread, other threads:[~2016-12-19 21:11 UTC | newest]
Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-23 9:21 [meta-oe][PATCH 01/49] libqmi: Fix build with clang Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 02/49] meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 03/49] boinc: Add recipe for boinc-client Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 04/49] libplist: Remove rpaths surgically Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 05/49] meta_oe_security_flags.inc: Add libcec, libmodplug, libcdio Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 06/49] dcadec, libsquish: Add new recipes Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 07/49] libcec: Update to 3.1.0+ Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 08/49] kodi: Add krypton/17.x Jarvis/16.x recipes Khem Raj
2016-11-26 0:15 ` Martin Jansa
2016-11-26 7:42 ` Koen Kooi
2016-11-28 17:48 ` Khem Raj
2016-11-29 0:57 ` Khem Raj
2016-12-15 9:53 ` Martin Jansa
2016-11-23 9:21 ` [meta-oe][PATCH 09/49] fwts: Update to 16.09 release Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 10/49] libvdpau: Add recipe Khem Raj
2016-12-17 23:53 ` Martin Jansa
2016-12-19 21:10 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 11/49] krb5: Add -fPIC to compile flags Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 12/49] Disable PIE for libvdpau Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 13/49] kodi: Fix build with pic on x86_64 Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 14/49] kodi-17: Add packageconfig for lcms support Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 15/49] samba: Fix build with musl Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 16/49] lockdev: Pretend GNU libc on musl Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 17/49] kodi-17: Fix build with musl Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH V2 18/49] breakpad: Upgrade to latest Khem Raj
2016-11-26 0:12 ` Martin Jansa
2016-11-26 6:09 ` Khem Raj
2016-11-23 9:21 ` [meta-filesystems][PATCH 19/49] xfsprogs: Upgrade 3.2.3 -> 4.8.0 Khem Raj
2016-11-25 0:31 ` Martin Jansa
2016-11-25 10:41 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 20/49] arno-iptables-firewall: Add recipe Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 21/49] dibbler: " Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 22/49] ez-ipupdate: " Khem Raj
2016-11-23 9:21 ` [meta-multimedia][PATCH 23/49] miniupnpd: " Khem Raj
2016-11-26 0:16 ` Martin Jansa
2016-11-26 6:00 ` Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 24/49] inetutils: Disable rsh, rcp, rlogin on musl Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 25/49] ssmtp: Add recipe Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 26/49] ne10: Update to latest Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 27/49] libgit2: Update to 0.24.3 Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 28/49] openldap: Fix Build error due to missing -fPIC Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 29/49] dante: Add recipe for 1.4.1 Khem Raj
2016-11-26 0:16 ` Martin Jansa
2016-11-26 6:03 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 30/49] networkmanager-openvpn: Update 1.0.8->1.2.6 Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 31/49] openobex,obexftp: Update recipes Khem Raj
2016-11-26 0:17 ` Martin Jansa
2016-11-26 4:57 ` Khem Raj
2016-11-26 6:02 ` Khem Raj
2016-11-26 9:08 ` Martin Jansa
2016-11-28 19:38 ` Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 32/49] md5deep: Fix build with clang Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 33/49] dialog: Update 1.3-20160424 -> 1.3-20160828 Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 34/49] ipsec-tools: Fix build with clang Khem Raj
2016-11-23 9:21 ` [meta-networking][PATCH 35/49] crda: " Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 36/49] obex-data-server: Fix build with new openobex version Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 37/49] flashrom: Remove redundant const qualifier Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 38/49] fribidi: Fix build with security flags turned on Khem Raj
2016-11-23 9:21 ` [meta-oe][PATCH 39/49] libmicrohttpd: Upgrade to 0.9.52 Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 40/49] jsoncpp: Add new recipe Khem Raj
2016-11-28 10:46 ` Piotr Lewicki
2016-11-28 21:10 ` Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 41/49] jsonrpc: Add recipe Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 42/49] libmad: Fix build with clang Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 43/49] modemmanager: " Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 44/49] libcec: Add missing dep on ncurses Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 45/49] kodi-17: Update to latest Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 46/49] tvheadend: Update to 4.0.9 Khem Raj
2016-11-26 0:18 ` Martin Jansa
2016-11-26 4:56 ` Khem Raj
2016-11-23 9:22 ` [meta-networking][PATCH 47/49] memcached: Update to 1.4.33 Khem Raj
2016-11-23 9:22 ` [meta-multimedia][PATCH 48/49] vlc: Add packageconfig for vdpau Khem Raj
2016-11-23 9:22 ` [meta-oe][PATCH 49/49] mpv: Add libvdpau to DEPENDS Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox