summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded/meta-oe/recipes-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-multimedia')
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb)20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb)25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch624
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch110
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb)11
38 files changed, 1435 insertions, 89 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
deleted file mode 100644
index 61886599a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "The Audio File Library provides a uniform and elegant \
-API for accessing a variety of audio file formats, such as AIFF/AIFF-C, \
-WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
-Research, Amiga IFF/8SVX, and NIST SPHERE."
-HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
-SECTION = "libs"
-LICENSE = "LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "${GNOME_MIRROR}/audiofile/0.2/${BP}.tar.gz"
-SRC_URI[md5sum] = "a39be317a7b1971b408805dc5e371862"
-SRC_URI[sha256sum] = "a61c4036c2600a645843f16bec4be166093a9df5f15b02c85291213aa9cf15a2"
-
-inherit autotools lib_package binconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
new file mode 100644
index 000000000..f4e19e4ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "The Audio File Library provides a uniform and elegant \
+API for accessing a variety of audio file formats, such as AIFF/AIFF-C, \
+WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
+Research, Amiga IFF/8SVX, and NIST SPHERE."
+HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
+SECTION = "libs"
+LICENSE = "LGPLv2 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/audiofile/0.3/${BP}.tar.xz \
+ file://0001-fix-negative-shift-constants.patch \
+ file://0002-fix-build-on-gcc6.patch \
+ file://0003-fix-CVE-2015-7747.patch \
+"
+SRC_URI[md5sum] = "235dde14742317328f0109e9866a8008"
+SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8cb59782"
+
+inherit autotools lib_package pkgconfig
+
+DEPENDS = " \
+ asciidoc-native \
+ alsa-lib \
+ libogg \
+ flac \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
new file mode 100644
index 000000000..ecb310805
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
@@ -0,0 +1,77 @@
+From 99127676dba8f5d607757428bc14a6b7ab52d5ed Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:42:06 +0100
+Subject: [PATCH 1/3] fix negative shift constants
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-left-shift-neg.patch
+
+Upstrem-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ libaudiofile/modules/SimpleModule.h | 2 +-
+ test/FloatToInt.cpp | 2 +-
+ test/IntToFloat.cpp | 2 +-
+ test/Sign.cpp | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h
+index 03c6c69..e4cc138 100644
+--- a/libaudiofile/modules/SimpleModule.h
++++ b/libaudiofile/modules/SimpleModule.h
+@@ -123,7 +123,7 @@ struct signConverter
+ typedef typename IntTypes<Format>::UnsignedType UnsignedType;
+
+ static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
+- static const int kMinSignedValue = -1 << kScaleBits;
++ static const int kMinSignedValue = 0-(1U<<kScaleBits);
+
+ struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
+ {
+diff --git a/test/FloatToInt.cpp b/test/FloatToInt.cpp
+index 0d179a8..bf491b2 100644
+--- a/test/FloatToInt.cpp
++++ b/test/FloatToInt.cpp
+@@ -115,7 +115,7 @@ TEST_F(FloatToIntTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+
+ TEST_F(FloatToIntTest, Int24)
+diff --git a/test/IntToFloat.cpp b/test/IntToFloat.cpp
+index b716635..1d91b58 100644
+--- a/test/IntToFloat.cpp
++++ b/test/IntToFloat.cpp
+@@ -117,7 +117,7 @@ TEST_F(IntToFloatTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+
+ TEST_F(IntToFloatTest, Int24)
+diff --git a/test/Sign.cpp b/test/Sign.cpp
+index 7275399..c339514 100644
+--- a/test/Sign.cpp
++++ b/test/Sign.cpp
+@@ -116,7 +116,7 @@ TEST_F(SignConversionTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+ static const uint32_t kMaxUInt24 = (1<<24) - 1;
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
new file mode 100644
index 000000000..2c66cf4d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
@@ -0,0 +1,75 @@
+From a74c1e9c583375b9e55c29a36442485089e4b7f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:42:06 +0100
+Subject: [PATCH 2/3] fix build on gcc6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-narrowing.patch
+
+Upstrem-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ test/NeXT.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/test/NeXT.cpp b/test/NeXT.cpp
+index 7e39850..a37cea1 100644
+--- a/test/NeXT.cpp
++++ b/test/NeXT.cpp
+@@ -37,13 +37,13 @@
+
+ #include "TestUtilities.h"
+
+-const char kDataUnspecifiedLength[] =
++const signed char kDataUnspecifiedLength[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+- 0xff, 0xff, 0xff, 0xff, // unspecified length
++ -1, -1, -1, -1, // unspecified length
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 1, // 1 channel
+ 0, 1,
+ 0, 1,
+@@ -57,13 +57,13 @@ const char kDataUnspecifiedLength[] =
+ 0, 55
+ };
+
+-const char kDataTruncated[] =
++const signed char kDataTruncated[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+ 0, 0, 0, 20, // length of 20 bytes
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 1, // 1 channel
+ 0, 1,
+ 0, 1,
+@@ -152,13 +152,13 @@ TEST(NeXT, Truncated)
+ ASSERT_EQ(::unlink(testFileName.c_str()), 0);
+ }
+
+-const char kDataZeroChannels[] =
++const signed char kDataZeroChannels[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+ 0, 0, 0, 2, // 2 bytes
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 0, // 0 channels
+ 0, 1
+ };
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch
new file mode 100644
index 000000000..895e320ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch
@@ -0,0 +1,35 @@
+From 746c38105ce4fa1b609995d3386ea6b8b1f2f7bd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:50:51 +0100
+Subject: [PATCH 3/3] fix CVE-2015-7747
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-CVE-2015-7747.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ libaudiofile/modules/ModuleState.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp
+index f76c495..0c29d7a 100644
+--- a/libaudiofile/modules/ModuleState.cpp
++++ b/libaudiofile/modules/ModuleState.cpp
+@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle file, Track *track)
+ addModule(new Transform(outfc, in.pcm, out.pcm));
+
+ if (in.channelCount != out.channelCount)
+- addModule(new ApplyChannelMatrix(infc, isReading,
++ addModule(new ApplyChannelMatrix(outfc, isReading,
+ in.channelCount, out.channelCount,
+ in.pcm.minClip, in.pcm.maxClip,
+ track->channelMatrix));
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index 554b89ffa..f0efc51e1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -5,10 +5,10 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8"
# While writing download from cdrkit.org was broken so get sources from debian
-SRC_URI = " \
- ${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
- file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \
-"
+SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
+ file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \
+ file://0001-genisoimage-Fix-fprintf-format-errors.patch \
+ "
SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
new file mode 100644
index 000000000..f52f71b63
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
@@ -0,0 +1,49 @@
+From 8547f23c4416ed98f585c53c62e7d8afd8edab36 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 21:05:31 -0700
+Subject: [PATCH] genisoimage: Fix fprintf format errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genisoimage/genisoimage.c | 4 ++--
+ genisoimage/tree.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index 46f0cb7..9089081 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -3406,7 +3406,7 @@ if (check_session == 0)
+ if (goof) {
+ fprintf(stderr, "ISO9660/Rock Ridge tree sort failed.\n");
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ #ifdef UDF
+@@ -3419,7 +3419,7 @@ if (check_session == 0)
+ if (goof) {
+ fprintf(stderr, "Joliet tree sort failed. The -joliet-long switch may help you.\n");
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ /*
+diff --git a/genisoimage/tree.c b/genisoimage/tree.c
+index 7805888..8412cc3 100644
+--- a/genisoimage/tree.c
++++ b/genisoimage/tree.c
+@@ -647,7 +647,7 @@ got_valid_name:
+ fprintf(stderr, "Unable to sort directory %s\n",
+ this_dir->whole_name);
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ /*
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch
new file mode 100644
index 000000000..89c97a4fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch
@@ -0,0 +1,31 @@
+From 218e0702d6ce4d2cb20d5d108daa16afca2b7c41 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 13:22:51 +0100
+Subject: [PATCH] replace missing AM_PATH_AUDIOFILE by PKG_CHECK_MODULES(
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstrem-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 486c492..dccfd1b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -353,7 +353,7 @@ echo "---------------------------------------------------------------------"
+ echo "--- Checking for the audiofile library. NOTE: This library is now"
+ echo "--- REQUIRED from proper compilation of the esound package."
+
+-AM_PATH_AUDIOFILE(0.1.5, [
++PKG_CHECK_MODULES(AUDIOFILE, audiofile, [
+
+ build_esdplay=true
+ echo "--- libaudiofile found. Building esound with audiofile support"
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
index 035358d54..d19ba8223 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
@@ -8,10 +8,13 @@ inherit gnome binconfig
PR = "r1"
-SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.36.tar.bz2;name=archive \
- file://esound_0.2.36-1ubuntu5.diff.gz \
- file://no-docs.patch \
- file://configure-fix.patch"
+SRC_URI = " \
+ ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.36.tar.bz2;name=archive \
+ file://esound_0.2.36-1ubuntu5.diff.gz \
+ file://no-docs.patch \
+ file://configure-fix.patch \
+ file://0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch \
+"
SRC_URI[archive.md5sum] = "3facb5aa0115cc1c31771b9ad454ae76"
SRC_URI[archive.sha256sum] = "68bf399fcbd45c5e9ba99cd13a3a479e4ef2bc5dc52e540ffa00aef1e1b19a76"
@@ -21,6 +24,9 @@ EXTRA_OECONF = " \
--disable-arts \
--disable-artstest \
"
+
+CFLAGS += "-lm"
+
do_configure_prepend() {
sed -i -e 's:/usr/include/mme:${STAGING_INCDIR}/mme:g' ${S}/configure.ac
}
@@ -30,4 +36,3 @@ PACKAGES =+ "esddsp esd esd-utils"
FILES_esddsp = "${bindir}/esddsp ${libdir}/libesddsp.so.*"
FILES_esd = "${bindir}/esd"
FILES_esd-utils = "${bindir}/*"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
new file mode 100644
index 000000000..b344f5427
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
@@ -0,0 +1,31 @@
+Consider compiler define for aarch64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status:Pending
+
+Index: a2jmidid-8/sigsegv.c
+===================================================================
+--- a2jmidid-8.orig/sigsegv.c
++++ a2jmidid-8/sigsegv.c
+@@ -91,18 +91,18 @@ static void signal_segv(int signum, sigi
+ a2j_error("info.si_errno = %d", info->si_errno);
+ a2j_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
+ a2j_error("info.si_addr = %p", info->si_addr);
+-#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__)
++#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__)
+ for(i = 0; i < NGREG; i++)
+ a2j_error("reg[%02d] = 0x" REGFORMAT, i,
+ #if defined(__powerpc__)
+ ucontext->uc_mcontext.uc_regs[i]
+-#elif defined(__sparc__) && defined(__arch64__)
++#elif defined(__sparc__) || defined(__arch64__)
+ ucontext->uc_mcontext.mc_gregs[i]
+ #else
+ ucontext->uc_mcontext.gregs[i]
+ #endif
+ );
+-#endif /* alpha, ia64, kFreeBSD, arm, hppa */
++#endif /* alpha, ia64, kFreeBSD, arm, hppa aarch64 */
+
+ #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
+ # if defined(SIGSEGV_STACK_IA64)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
index d7e93b64a..59b73f8e8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
@@ -7,15 +7,19 @@ LIC_FILES_CHKSUM = " \
"
DEPENDS = "alsa-lib jack dbus"
+DEPENDS_append_libc-musl = " libexecinfo"
SRC_URI = " \
http://download.gna.org/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch \
+ file://0002-aarch64.patch \
"
SRC_URI[md5sum] = "9cf4edbc3ad2ddeeaf6c8c1791ff3ddd"
SRC_URI[sha256sum] = "2a9635f62aabc59edb54ada07048dd47e896b90caff94bcee710d3582606f55f"
-inherit waf
+inherit waf pkgconfig
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
export LINKFLAGS="${LDFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
new file mode 100644
index 000000000..c119f1981
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
@@ -0,0 +1,32 @@
+From 8ec6f75bf7a318a3a1e352df7c97630cfaba537a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Apr 2017 16:18:39 -0700
+Subject: [PATCH] typecast input parameter to int for abs()
+
+Fixes
+../tests/test.cpp:482:73: error: call of overloaded 'abs(jack_nframes_t)' is ambiguous
+
+because the signature is int abs(int) and its passing
+unsigned int to it.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test.cpp b/tests/test.cpp
+index 8a8a8117..9655742e 100644
+--- a/tests/test.cpp
++++ b/tests/test.cpp
+@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
+ jack_nframes_t delta_time = cur_time - last_time;
+
+ Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
+- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
++ if (delta_time > 0 && (jack_nframes_t)abs(int(delta_time - cur_buffer_size)) > tolerance) {
+ printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
+ }
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
index 66cec0a7d..b85ba8a02 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
@@ -12,23 +12,28 @@ LIC_FILES_CHKSUM = " \
file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
"
-DEPENDS = "libsamplerate0 libsndfile1 libopus readline"
+DEPENDS = "libsamplerate0 libsndfile1 readline"
-SRC_URI = "git://github.com/jackaudio/jack2.git"
-SRCREV = "364159f8212393442670b9c3b68b75aa39d98975"
+SRC_URI = "git://github.com/jackaudio/jack2.git \
+ file://0001-typecast-input-parameter-to-int-for-abs.patch \
+ "
+SRCREV = "2d1d323505585d406a7e64fb932953baefc5945e"
PV = "1.9.10+git${SRCPV}"
S = "${WORKDIR}/git"
inherit waf pkgconfig
PACKAGECONFIG ??= "alsa"
-PACKAGECONFIG[alsa] = "--alsa=yes,alsa=no,alsa-lib"
+PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
+PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
# portaudio is for windows builds only
EXTRA_OECONF = "--portaudio=no"
PACKAGES =+ "libjack jack-server jack-utils"
+RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})"
+
FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
FILES_jack-server = "${bindir}/jackd"
FILES_jack-utils = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
index 85ac87320..4bc3db062 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/libass/libass"
SECTION = "libs/multimedia"
LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ae98663bac55afe5d989919d296f28a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
DEPENDS = "enca fontconfig freetype libpng fribidi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
deleted file mode 100644
index 8cf2bd899..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require recipes-multimedia/${BPN}/${BPN}.inc
-
-SRC_URI[md5sum] = "1c8cbd5751aeb192bda04a65d0464fd9"
-SRC_URI[sha256sum] = "d698d0a6adca7c36c5a86b540d67b05bfd36cebc3c351ab7646497c43fe1face"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
new file mode 100644
index 000000000..40ac0f811
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
@@ -0,0 +1,4 @@
+require recipes-multimedia/${BPN}/${BPN}.inc
+
+SRC_URI[md5sum] = "daa6cfca437c0776af5f79750cdd9b4e"
+SRC_URI[sha256sum] = "f8a874d104e3e72e2cc057e5a1710c650b10367486845a26e5ff28ed7a912c2d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
new file mode 100644
index 000000000..82a16cc94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "library to read digital audio CDs with error correction"
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "libcdio"
+
+SRC_URI = "${GNU_MIRROR}/libcdio/${BP}.tar.bz2"
+SRC_URI[md5sum] = "0255aa50e660db7f2c39658b9c565814"
+SRC_URI[sha256sum] = "ec1d9b1d5a28cc042f2cb33a7cc0a2b5ce5525f102bc4c15db1fac322559a493"
+
+inherit autotools pkgconfig
+
+PACKAGES += "${PN}-utils"
+
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES_${PN}-utils = "${bindir}/*"
+
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
index f21f91446..99e6a84bc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
@@ -1,25 +1,28 @@
-ESCRIPTION = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
+SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
HOMEPAGE = "http://www.gnu.org/software/libcdio/"
SECTION = "libs"
-
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "ncurses"
-
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "d154476feaac5a7b5f180e83eaf3d689"
SRC_URI[sha256sum] = "4972cd22fd8d0e8bff922d35c7a645be0db0ab0e7b3dfaecc9cd8272429d6975"
inherit autotools pkgconfig
+PACKAGECONFIG ??= "cdda-player"
+PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
+PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
+PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
+
PACKAGES += "${PN}-utils"
-FILES_${PN} = "${libdir}/${PN}${SOLIB}"
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
FILES_${PN}-utils = "${bindir}/*"
-python populate_packages_prepend () {
- glibdir = d.expand('${libdir}')
- do_split_packages(d, glibdir, '^lib(.*)\.so\..*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
}
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
index 9d9a6342e..a24f5e30b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
@@ -9,8 +9,8 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
-SRC_URI[md5sum] = "1f08a661bc72930187893a07f3741a91"
-SRC_URI[sha256sum] = "0e290078e31211baa7b5886bcc8ab6bc048b9fc83882532da4a1a45e58e907fd"
+SRC_URI[md5sum] = "32bbb6b557fe1b6066adc0ae1f08b629"
+SRC_URI[sha256sum] = "58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633"
S = "${WORKDIR}/opus-${PV}"
@@ -20,18 +20,20 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
-EXTRA_OECONF = "--with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
- --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
- --enable-asm \
- --enable-intrinsics \
- "
+EXTRA_OECONF = " \
+ --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
+ --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
+ --enable-asm \
+ --enable-intrinsics \
+ --enable-custom-modes \
+"
python () {
- if d.getVar('TARGET_FPU', True) in [ 'soft' ]:
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
d.appendVar('PACKAGECONFIG', ' fixed-point')
# Ne10 is only available for armv7 and aarch64
- if any((t.startswith('armv7') or t.startswith('aarch64')) for t in d.getVar('TUNE_FEATURES', True).split()):
+ if any((t.startswith('armv7') or t.startswith('aarch64')) for t in d.getVar('TUNE_FEATURES').split()):
d.appendVar('DEPENDS', ' ne10')
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
index f1a01b9d5..c83fcc8da 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f
S = "${WORKDIR}/SDL_mixer-${PV}"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
EXTRA_AUTORECONF += "--include=acinclude"
EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
@@ -37,4 +37,3 @@ do_configure () {
sed -i -e 's:-L/usr/lib:-L${STAGING_LIBDIR}:g' $i
done
}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
index 2dc48e476..8276b446d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e5
S = "${WORKDIR}/SDL2_mixer-${PV}"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
EXTRA_AUTORECONF += "--include=acinclude"
EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
index 0d11de904..daae8d786 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
@@ -7,9 +7,7 @@ HOMEPAGE = "http://live.com/"
LICENSE = "LGPLv3"
SECTION = "devel"
-INC_PR = "r1"
-
-URLV = "${@d.getVar('PV',1)[0:4]}.${@d.getVar('PV',1)[4:6]}.${@d.getVar('PV',1)[6:8]}"
+URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
@@ -18,14 +16,17 @@ MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.or
S = "${WORKDIR}/live"
TARGET_CC_ARCH += "${LDFLAGS}"
+XLOCALE_libc-musl = " -DXLOCALE_NOT_USED"
+XLOCALE ?= ""
+
do_configure() {
cp ${WORKDIR}/config.linux-cross .
- echo "COMPILE_OPTS+=" -fPIC "" >> config.linux-cross
+ echo "COMPILE_OPTS+=" -fPIC ${XLOCALE}"" >> config.linux-cross
./genMakefiles linux-cross
}
do_compile() {
- make
+ oe_runmake
}
do_install() {
@@ -45,14 +46,14 @@ do_install() {
done
cp ${S}/*/*.a ${D}${libdir}
install -d ${D}${bindir}
- for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2AudioVideoToDarwin testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testMPEG4VideoToDarwin testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
+ for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/
done
install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
}
PACKAGES =+ " live555-openrtsp live555-playsip live555-mediaserver"
-FILES_${PN} = "${bindir}/sapWatch ${bindir}/testMPEG1or2AudioVideoToDarwin ${bindir}/testMPEG1or2ProgramToTransportStream ${bindir}/testMPEG1or2Splitter ${bindir}/testMPEG1or2VideoReceiver ${bindir}/testMPEG2TransportStreamTrickPlay ${bindir}/testMPEG4VideoToDarwin ${bindir}/testOnDemandRTSPServer ${bindir}/testRelay ${bindir}/testAMRAudioStreamer ${bindir}/testDVVideoStreamer ${bindir}/testMP3Receiver ${bindir}/testMP3Streamer ${bindir}/testMPEG1or2AudioVideoStreamer ${bindir}/testMPEG1or2VideoStreamer ${bindir}/testMPEG2TransportStreamer ${bindir}/testMPEG4VideoStreamer ${bindir}/testWAVAudioStreamer ${bindir}/vobStreamer ${bindir}/MPEG2TransportStreamIndexer"
+FILES_${PN} = "${bindir}/sapWatch ${bindir}/testMPEG1or2ProgramToTransportStream ${bindir}/testMPEG1or2Splitter ${bindir}/testMPEG1or2VideoReceiver ${bindir}/testMPEG2TransportStreamTrickPlay ${bindir}/testOnDemandRTSPServer ${bindir}/testRelay ${bindir}/testAMRAudioStreamer ${bindir}/testDVVideoStreamer ${bindir}/testMP3Receiver ${bindir}/testMP3Streamer ${bindir}/testMPEG1or2AudioVideoStreamer ${bindir}/testMPEG1or2VideoStreamer ${bindir}/testMPEG2TransportStreamer ${bindir}/testMPEG4VideoStreamer ${bindir}/testWAVAudioStreamer ${bindir}/vobStreamer ${bindir}/MPEG2TransportStreamIndexer"
FILES_live555-openrtsp = "${bindir}/openRTSP"
FILES_live555-playsip = "${bindir}/playSIP"
FILES_live555-mediaserver = "${bindir}/live555MediaServer"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb
deleted file mode 100644
index f83285cff..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require live555.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe"
-
-SRC_URI[md5sum] = "95533d91bd196e42fd748076dc244b09"
-SRC_URI[sha256sum] = "e549af608c9961d85cb647bc3b99804fec0fbaf5338c1b72d057558ae5cd2aea"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
new file mode 100644
index 000000000..27fc42987
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
@@ -0,0 +1,9 @@
+require live555.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI[md5sum] = "b7084a72aeb09549c8b248f8cc308841"
+SRC_URI[sha256sum] = "4c37d9c828f9028403997272e49968c260385dbbaef62e28ba24faef0dda868b"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
index 2e1b9bf05..d53dff6a0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "alsa-lib texinfo pulseaudio"
+DEPENDS = "alsa-lib texinfo"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
@@ -24,3 +24,5 @@ EXTRA_OECONF = "\
--enable-threads \
"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb
index 7c6db62c1..81d700a7b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb
@@ -2,3 +2,5 @@ require ${BPN}.inc
SRCREV = "v1_1_5"
LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b"
+
+PNBLACKLIST[minidlna] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130630/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
index 330dfd3e7..1a4ae27e6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
@@ -156,4 +156,4 @@ do_install() {
}
# http://errors.yoctoproject.org/Errors/Details/40734/
-PNBLACKLIST[mplayer2] ?= "Not compatible with currently used ffmpeg 3"
+PNBLACKLIST[mplayer2] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch
new file mode 100644
index 000000000..ab2b5347f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch
@@ -0,0 +1,39 @@
+From 212f6c8206bd4dcc7d8970c5f1632823ae4e783a Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Sun, 12 Feb 2017 23:01:21 -0800
+Subject: [PATCH] Fix build with HAVE_GL==0
+
+video/out/opengl/hwdec.h includes video/out/opengl/common.h, which tries
+to include opengl headers.
+
+Upstream-Status: Backport
+---
+ options/options.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/options/options.c b/options/options.c
+index b711156..0bb36ad 100644
+--- a/options/options.c
++++ b/options/options.c
+@@ -40,7 +40,6 @@
+ #include "stream/stream.h"
+ #include "video/csputils.h"
+ #include "video/hwdec.h"
+-#include "video/out/opengl/hwdec.h"
+ #include "video/image_writer.h"
+ #include "sub/osd.h"
+ #include "audio/filter/af.h"
+@@ -53,6 +52,10 @@
+ #include "video/out/drm_common.h"
+ #endif
+
++#if HAVE_GL
++#include "video/out/opengl/hwdec.h"
++#endif
++
+ extern const char mp_help_text[];
+
+ static void print_version(struct mp_log *log)
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb
index f51df778a..b1da2175d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.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 libvdpau \
+ libxscrnsaver libv4l libxinerama \
"
REQUIRED_DISTRO_FEATURES = "x11"
@@ -11,25 +11,36 @@ REQUIRED_DISTRO_FEATURES = "x11"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
-SRC_URI = "https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
- http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;subdir=${BPN}-${PV} \
+SRC_URI = " \
+ https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
+ http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;subdir=${BPN}-${PV} \
+ file://0001-Fix-build-with-HAVE_GL-0.patch \
"
-SRC_URI[mpv.md5sum] = "9042bd3fbff2bc8ba0b7fadaa4a22101"
-SRC_URI[mpv.sha256sum] = "7d31217ba8572f364fcea2955733f821374ae6d8c6d8f22f8bc63c44c0400bdc"
+SRC_URI[mpv.md5sum] = "5c85d1163911e49315a5bf1ca1fae13d"
+SRC_URI[mpv.sha256sum] = "a41854fa0ac35b9c309ad692aaee67c8d4495c3546f11cb4cdd0a124195d3f15"
SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
inherit waf pkgconfig pythonnative distro_features_check
# Note: both lua and libass are required to get on-screen-display (controls)
-PACKAGECONFIG ??= "lua libass"
+PACKAGECONFIG ??= " \
+ lua \
+ libass \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
+"
+PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
+PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/mesa"
PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau, --disable-vdpau,libvdpau"
+PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland,wayland libxkbcommon"
SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
+
EXTRA_OECONF = " \
--prefix=${prefix} \
--target=${SIMPLE_TARGET_SYS} \
@@ -43,8 +54,6 @@ EXTRA_OECONF = " \
--disable-dvdread \
--disable-dvdnav \
--disable-cdda \
- --disable-enca \
- --disable-libguess \
--disable-uchardet \
--disable-rubberband \
--disable-lcms2 \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
new file mode 100644
index 000000000..b59569f2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
@@ -0,0 +1,27 @@
+From 1f92aa5c8d910519e3a74b2e3a9199aa9026a16c Mon Sep 17 00:00:00 2001
+From: Arun Raghavan <git@arunraghavan.net>
+Date: Mon, 25 Jan 2016 08:41:42 +0530
+Subject: [PATCH 1/2] build-sys: Use C++11 for building
+
+This requirement was added by gtkmm at some point:
+
+http://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11/
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 5b50e2d..8f28782 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CC
+ AC_PROG_LN_S
+ AC_TYPE_SIGNAL
+ AC_HEADER_STDC
++AX_CXX_COMPILE_STDCXX_11
+
+ AC_ARG_ENABLE(gtk3,
+ [AS_HELP_STRING([--disable-gtk3],
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
new file mode 100644
index 000000000..97ec37d4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
@@ -0,0 +1,624 @@
+From ccb3eb7b4ff65414a56e2294080885b8966da52b Mon Sep 17 00:00:00 2001
+From: Arun Raghavan <git@arunraghavan.net>
+Date: Tue, 2 Feb 2016 17:01:47 +0530
+Subject: [PATCH 2/2] build-sys: Add m4 file for AX_CXX_COMPILE_STDCXX_11
+
+---
+ m4/ax_cxx_compile_stdcxx.m4 | 558 +++++++++++++++++++++++++++++++++++++++++
+ m4/ax_cxx_compile_stdcxx_11.m4 | 39 +++
+ 2 files changed, 597 insertions(+)
+ create mode 100644 m4/ax_cxx_compile_stdcxx.m4
+ create mode 100644 m4/ax_cxx_compile_stdcxx_11.m4
+
+diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
+new file mode 100644
+index 0000000..079e17d
+--- /dev/null
++++ b/m4/ax_cxx_compile_stdcxx.m4
+@@ -0,0 +1,558 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
++#
++# DESCRIPTION
++#
++# Check for baseline language coverage in the compiler for the specified
++# version of the C++ standard. If necessary, add switches to CXXFLAGS to
++# enable support. VERSION may be '11' (for the C++11 standard) or '14'
++# (for the C++14 standard).
++#
++# The second argument, if specified, indicates whether you insist on an
++# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
++# -std=c++11). If neither is specified, you get whatever works, with
++# preference for an extended mode.
++#
++# The third argument, if specified 'mandatory' or if left unspecified,
++# indicates that baseline support for the specified C++ standard is
++# required and that the macro should error out if no mode with that
++# support is found. If specified 'optional', then configuration proceeds
++# regardless, after defining HAVE_CXX${VERSION} if and only if a
++# supporting mode is found.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
++# Copyright (c) 2015 Paul Norman <penorman@mac.com>
++# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 1
++
++dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
++dnl (serial version number 13).
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
++ m4_if([$1], [11], [],
++ [$1], [14], [],
++ [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
++ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
++ m4_if([$2], [], [],
++ [$2], [ext], [],
++ [$2], [noext], [],
++ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
++ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
++ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
++ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
++ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
++ AC_LANG_PUSH([C++])dnl
++ ac_success=no
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
++ ax_cv_cxx_compile_cxx$1,
++ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [ax_cv_cxx_compile_cxx$1=yes],
++ [ax_cv_cxx_compile_cxx$1=no])])
++ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
++ ac_success=yes
++ fi
++
++ m4_if([$2], [noext], [], [dnl
++ if test x$ac_success = xno; then
++ for switch in -std=gnu++$1 -std=gnu++0x; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++
++ m4_if([$2], [ext], [], [dnl
++ if test x$ac_success = xno; then
++ dnl HP's aCC needs +std=c++11 according to:
++ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
++ dnl Cray's crayCC needs "-h std=c++11"
++ for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++ AC_LANG_POP([C++])
++ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
++ if test x$ac_success = xno; then
++ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
++ fi
++ else
++ if test x$ac_success = xno; then
++ HAVE_CXX$1=0
++ AC_MSG_NOTICE([No compiler with C++$1 support was found])
++ else
++ HAVE_CXX$1=1
++ AC_DEFINE(HAVE_CXX$1,1,
++ [define if the compiler supports basic C++$1 syntax])
++ fi
++
++ AC_SUBST(HAVE_CXX$1)
++ fi
++])
++
++
++dnl Test body for checking C++11 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++)
++
++
++dnl Test body for checking C++14 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
++)
++
++
++dnl Tests for new features in C++11
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
++
++// If the compiler admits that it is not ready for C++11, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201103L
++
++#error "This is not a C++11 compiler"
++
++#else
++
++namespace cxx11
++{
++
++ namespace test_static_assert
++ {
++
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ }
++
++ namespace test_final_override
++ {
++
++ struct Base
++ {
++ virtual void f() {}
++ };
++
++ struct Derived : public Base
++ {
++ virtual void f() override {}
++ };
++
++ }
++
++ namespace test_double_right_angle_brackets
++ {
++
++ template < typename T >
++ struct check {};
++
++ typedef check<void> single_type;
++ typedef check<check<void>> double_type;
++ typedef check<check<check<void>>> triple_type;
++ typedef check<check<check<check<void>>>> quadruple_type;
++
++ }
++
++ namespace test_decltype
++ {
++
++ int
++ f()
++ {
++ int a = 1;
++ decltype(a) b = 2;
++ return a + b;
++ }
++
++ }
++
++ namespace test_type_deduction
++ {
++
++ template < typename T1, typename T2 >
++ struct is_same
++ {
++ static const bool value = false;
++ };
++
++ template < typename T >
++ struct is_same<T, T>
++ {
++ static const bool value = true;
++ };
++
++ template < typename T1, typename T2 >
++ auto
++ add(T1 a1, T2 a2) -> decltype(a1 + a2)
++ {
++ return a1 + a2;
++ }
++
++ int
++ test(const int c, volatile int v)
++ {
++ static_assert(is_same<int, decltype(0)>::value == true, "");
++ static_assert(is_same<int, decltype(c)>::value == false, "");
++ static_assert(is_same<int, decltype(v)>::value == false, "");
++ auto ac = c;
++ auto av = v;
++ auto sumi = ac + av + 'x';
++ auto sumf = ac + av + 1.0;
++ static_assert(is_same<int, decltype(ac)>::value == true, "");
++ static_assert(is_same<int, decltype(av)>::value == true, "");
++ static_assert(is_same<int, decltype(sumi)>::value == true, "");
++ static_assert(is_same<int, decltype(sumf)>::value == false, "");
++ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
++ return (sumf > 0.0) ? sumi : add(c, v);
++ }
++
++ }
++
++ namespace test_noexcept
++ {
++
++ int f() { return 0; }
++ int g() noexcept { return 0; }
++
++ static_assert(noexcept(f()) == false, "");
++ static_assert(noexcept(g()) == true, "");
++
++ }
++
++ namespace test_constexpr
++ {
++
++ template < typename CharT >
++ unsigned long constexpr
++ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
++ {
++ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
++ }
++
++ template < typename CharT >
++ unsigned long constexpr
++ strlen_c(const CharT *const s) noexcept
++ {
++ return strlen_c_r(s, 0UL);
++ }
++
++ static_assert(strlen_c("") == 0UL, "");
++ static_assert(strlen_c("1") == 1UL, "");
++ static_assert(strlen_c("example") == 7UL, "");
++ static_assert(strlen_c("another\0example") == 7UL, "");
++
++ }
++
++ namespace test_rvalue_references
++ {
++
++ template < int N >
++ struct answer
++ {
++ static constexpr int value = N;
++ };
++
++ answer<1> f(int&) { return answer<1>(); }
++ answer<2> f(const int&) { return answer<2>(); }
++ answer<3> f(int&&) { return answer<3>(); }
++
++ void
++ test()
++ {
++ int i = 0;
++ const int c = 0;
++ static_assert(decltype(f(i))::value == 1, "");
++ static_assert(decltype(f(c))::value == 2, "");
++ static_assert(decltype(f(0))::value == 3, "");
++ }
++
++ }
++
++ namespace test_uniform_initialization
++ {
++
++ struct test
++ {
++ static const int zero {};
++ static const int one {1};
++ };
++
++ static_assert(test::zero == 0, "");
++ static_assert(test::one == 1, "");
++
++ }
++
++ namespace test_lambdas
++ {
++
++ void
++ test1()
++ {
++ auto lambda1 = [](){};
++ auto lambda2 = lambda1;
++ lambda1();
++ lambda2();
++ }
++
++ int
++ test2()
++ {
++ auto a = [](int i, int j){ return i + j; }(1, 2);
++ auto b = []() -> int { return '0'; }();
++ auto c = [=](){ return a + b; }();
++ auto d = [&](){ return c; }();
++ auto e = [a, &b](int x) mutable {
++ const auto identity = [](int y){ return y; };
++ for (auto i = 0; i < a; ++i)
++ a += b--;
++ return x + identity(a + b);
++ }(0);
++ return a + b + c + d + e;
++ }
++
++ int
++ test3()
++ {
++ const auto nullary = [](){ return 0; };
++ const auto unary = [](int x){ return x; };
++ using nullary_t = decltype(nullary);
++ using unary_t = decltype(unary);
++ const auto higher1st = [](nullary_t f){ return f(); };
++ const auto higher2nd = [unary](nullary_t f1){
++ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
++ };
++ return higher1st(nullary) + higher2nd(nullary)(unary);
++ }
++
++ }
++
++ namespace test_variadic_templates
++ {
++
++ template <int...>
++ struct sum;
++
++ template <int N0, int... N1toN>
++ struct sum<N0, N1toN...>
++ {
++ static constexpr auto value = N0 + sum<N1toN...>::value;
++ };
++
++ template <>
++ struct sum<>
++ {
++ static constexpr auto value = 0;
++ };
++
++ static_assert(sum<>::value == 0, "");
++ static_assert(sum<1>::value == 1, "");
++ static_assert(sum<23>::value == 23, "");
++ static_assert(sum<1, 2>::value == 3, "");
++ static_assert(sum<5, 5, 11>::value == 21, "");
++ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
++
++ }
++
++ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
++ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
++ // because of this.
++ namespace test_template_alias_sfinae
++ {
++
++ struct foo {};
++
++ template<typename T>
++ using member = typename T::member_type;
++
++ template<typename T>
++ void func(...) {}
++
++ template<typename T>
++ void func(member<T>*) {}
++
++ void test();
++
++ void test() { func<foo>(0); }
++
++ }
++
++} // namespace cxx11
++
++#endif // __cplusplus >= 201103L
++
++]])
++
++
++dnl Tests for new features in C++14
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
++
++// If the compiler admits that it is not ready for C++14, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201402L
++
++#error "This is not a C++14 compiler"
++
++#else
++
++namespace cxx14
++{
++
++ namespace test_polymorphic_lambdas
++ {
++
++ int
++ test()
++ {
++ const auto lambda = [](auto&&... args){
++ const auto istiny = [](auto x){
++ return (sizeof(x) == 1UL) ? 1 : 0;
++ };
++ const int aretiny[] = { istiny(args)... };
++ return aretiny[0];
++ };
++ return lambda(1, 1L, 1.0f, '1');
++ }
++
++ }
++
++ namespace test_binary_literals
++ {
++
++ constexpr auto ivii = 0b0000000000101010;
++ static_assert(ivii == 42, "wrong value");
++
++ }
++
++ namespace test_generalized_constexpr
++ {
++
++ template < typename CharT >
++ constexpr unsigned long
++ strlen_c(const CharT *const s) noexcept
++ {
++ auto length = 0UL;
++ for (auto p = s; *p; ++p)
++ ++length;
++ return length;
++ }
++
++ static_assert(strlen_c("") == 0UL, "");
++ static_assert(strlen_c("x") == 1UL, "");
++ static_assert(strlen_c("test") == 4UL, "");
++ static_assert(strlen_c("another\0test") == 7UL, "");
++
++ }
++
++ namespace test_lambda_init_capture
++ {
++
++ int
++ test()
++ {
++ auto x = 0;
++ const auto lambda1 = [a = x](int b){ return a + b; };
++ const auto lambda2 = [a = lambda1(x)](){ return a; };
++ return lambda2();
++ }
++
++ }
++
++ namespace test_digit_seperators
++ {
++
++ constexpr auto ten_million = 100'000'000;
++ static_assert(ten_million == 100000000, "");
++
++ }
++
++ namespace test_return_type_deduction
++ {
++
++ auto f(int& x) { return x; }
++ decltype(auto) g(int& x) { return x; }
++
++ template < typename T1, typename T2 >
++ struct is_same
++ {
++ static constexpr auto value = false;
++ };
++
++ template < typename T >
++ struct is_same<T, T>
++ {
++ static constexpr auto value = true;
++ };
++
++ int
++ test()
++ {
++ auto x = 0;
++ static_assert(is_same<int, decltype(f(x))>::value, "");
++ static_assert(is_same<int&, decltype(g(x))>::value, "");
++ return x;
++ }
++
++ }
++
++} // namespace cxx14
++
++#endif // __cplusplus >= 201402L
++
++]])
+diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4
+new file mode 100644
+index 0000000..09db383
+--- /dev/null
++++ b/m4/ax_cxx_compile_stdcxx_11.m4
+@@ -0,0 +1,39 @@
++# ============================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
++# ============================================================================
++#
++# SYNOPSIS
++#
++# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
++#
++# DESCRIPTION
++#
++# Check for baseline language coverage in the compiler for the C++11
++# standard; if necessary, add switches to CXXFLAGS to enable support.
++#
++# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
++# macro with the version set to C++11. The two optional arguments are
++# forwarded literally as the second and third argument respectively.
++# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
++# more information. If you want to use this macro, you also need to
++# download the ax_cxx_compile_stdcxx.m4 file.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
++# Copyright (c) 2015 Paul Norman <penorman@mac.com>
++# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 14
++
++include([ax_cxx_compile_stdcxx.m4])
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
index 51e24c403..959068dd3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
@@ -8,8 +8,13 @@ inherit gnome distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
+SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
+ file://0001-build-sys-Use-C-11-for-building.patch \
+ file://0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch \
+ "
SRC_URI[md5sum] = "176308d2c03f8f3a7b2bd4f4d284fe71"
SRC_URI[sha256sum] = "b3d2ea5a25fc88dcee80c396014f72df1b4742f8cfbbc5349c39d64a0d338890"
EXTRA_OECONF = " --disable-gtk3 --disable-lynx "
+
+RDEPENDS_${PN} += "pulseaudio-server"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
index 4b3de3ccb..74130949f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
@@ -1,4 +1,4 @@
-From 4ee15a8a69b84526ece1180a288a37db077bcd9b Mon Sep 17 00:00:00 2001
+From 2d6bfa75b2e16b4d764f1bf00bb902fb4b5e507b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 27 Feb 2015 21:55:36 +0000
Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and
@@ -11,23 +11,27 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Conflicts:
utils/media-ctl/Makefile.am
---
- utils/media-ctl/Makefile.am | 11 +++--------
- 1 file changed, 3 insertions(+), 8 deletions(-)
+ utils/media-ctl/Makefile.am | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index a3931fb..fe1fea5 100644
+index ee7dcc9..d11fa2e 100644
--- a/utils/media-ctl/Makefile.am
+++ b/utils/media-ctl/Makefile.am
-@@ -1,14 +1,9 @@
+@@ -1,8 +1,7 @@
-noinst_LTLIBRARIES = libmediactl.la libv4l2subdev.la
-
+lib_LTLIBRARIES = libmediactl.la libv4l2subdev.la
libmediactl_la_SOURCES = libmediactl.c mediactl-priv.h
-libmediactl_la_CFLAGS = -static $(LIBUDEV_CFLAGS)
-libmediactl_la_LDFLAGS = -static $(LIBUDEV_LIBS)
--
+libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS)
+libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS)
+
+ media-bus-format-names.h: ../../include/linux/media-bus-format.h
+ sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \
+@@ -18,9 +17,6 @@ CLEANFILES = $(BUILT_SOURCES)
+ nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
libv4l2subdev_la_SOURCES = libv4l2subdev.c
libv4l2subdev_la_LIBADD = libmediactl.la
-libv4l2subdev_la_CFLAGS = -static
@@ -37,5 +41,5 @@ index a3931fb..fe1fea5 100644
noinst_HEADERS = mediactl.h v4l2subdev.h
--
-2.1.4
+2.9.3
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
new file mode 100644
index 000000000..54161f90f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
@@ -0,0 +1,110 @@
+From 806822f5acb756d5acda0f9063c84b28b38b3ffb Mon Sep 17 00:00:00 2001
+From: Ismo Puustinen <ismo.puustinen@intel.com>
+Date: Mon, 3 Apr 2017 13:23:38 +0300
+Subject: [PATCH v4l-utils] buildsystem: do not assume building in source tree.
+
+Use $(top_srcdir) as reference for include paths and buildtime scripts.
+Otherwise compilation outside of project root directory will fail
+because header and script paths are wrong.
+
+To reproduce: mkdir b; cd b; ../configure; make
+
+Upstream-status: Accepted [https://git.linuxtv.org//v4l-utils.git/commit/?id=bd98c9a99bffc8d44c54859345e4dfee0ada4275]
+
+Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+---
+ utils/cec-compliance/Makefile.am | 2 +-
+ utils/cec-ctl/Makefile.am | 2 +-
+ utils/cec-follower/Makefile.am | 4 ++--
+ utils/qv4l2/Makefile.am | 2 +-
+ utils/v4l2-compliance/Makefile.am | 2 +-
+ utils/v4l2-ctl/Makefile.am | 2 +-
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/utils/cec-compliance/Makefile.am b/utils/cec-compliance/Makefile.am
+index ec5de51..8331aa0 100644
+--- a/utils/cec-compliance/Makefile.am
++++ b/utils/cec-compliance/Makefile.am
+@@ -7,7 +7,7 @@ cec_compliance_LDFLAGS = -lrt
+ cec-compliance.cpp: cec-table.h
+
+ cec-table.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 2 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 2 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ cec-compliance.cpp: version.h
+
+diff --git a/utils/cec-ctl/Makefile.am b/utils/cec-ctl/Makefile.am
+index 0a7ef22..6afb6c9 100644
+--- a/utils/cec-ctl/Makefile.am
++++ b/utils/cec-ctl/Makefile.am
+@@ -7,7 +7,7 @@ cec_ctl_LDFLAGS = -lrt
+ cec-ctl.cpp: cec-ctl-gen.h
+
+ cec-ctl-gen.h: msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ./msg2ctl.pl 0 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 0 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ clean-local:
+ -rm -vf cec-ctl-gen.h
+diff --git a/utils/cec-follower/Makefile.am b/utils/cec-follower/Makefile.am
+index 538edb2..fdbf3d9 100644
+--- a/utils/cec-follower/Makefile.am
++++ b/utils/cec-follower/Makefile.am
+@@ -7,12 +7,12 @@ cec_follower_LDFLAGS = -lrt
+ cec-log.cpp: cec-log.h
+
+ cec-log.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 1 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 1 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ cec-follower.cpp: cec-table.h version.h
+
+ cec-table.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 2 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 2 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ version.h:
+ @if git rev-parse HEAD >/dev/null 2>&1; then \
+diff --git a/utils/qv4l2/Makefile.am b/utils/qv4l2/Makefile.am
+index fd58486..ccd1a2a 100644
+--- a/utils/qv4l2/Makefile.am
++++ b/utils/qv4l2/Makefile.am
+@@ -8,7 +8,7 @@ qv4l2_SOURCES = qv4l2.cpp general-tab.cpp ctrl-tab.cpp vbi-tab.cpp capture-win.c
+ nodist_qv4l2_SOURCES = moc_qv4l2.cpp moc_general-tab.cpp moc_capture-win.cpp moc_vbi-tab.cpp qrc_qv4l2.cpp
+ qv4l2_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la \
+ ../libv4l2util/libv4l2util.la ../libmedia_dev/libmedia_dev.la
+-qv4l2_CPPFLAGS = -I../common
++qv4l2_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_QTGL
+ qv4l2_CPPFLAGS += $(QTGL_CFLAGS)
+diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am
+index 03db8df..18b9892 100644
+--- a/utils/v4l2-compliance/Makefile.am
++++ b/utils/v4l2-compliance/Makefile.am
+@@ -5,7 +5,7 @@ DEFS :=
+ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-input-output.cpp \
+ v4l2-test-controls.cpp v4l2-test-io-config.cpp v4l2-test-formats.cpp v4l2-test-buffers.cpp \
+ v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h
+-v4l2_compliance_CPPFLAGS = -I../common
++v4l2_compliance_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_V4L2_COMPLIANCE_LIBV4L
+ v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am
+index 955647d..825e53f 100644
+--- a/utils/v4l2-ctl/Makefile.am
++++ b/utils/v4l2-ctl/Makefile.am
+@@ -7,7 +7,7 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp
+ v4l2-ctl-overlay.cpp v4l2-ctl-vbi.cpp v4l2-ctl-selection.cpp v4l2-ctl-misc.cpp \
+ v4l2-ctl-streaming.cpp v4l2-ctl-sdr.cpp v4l2-ctl-edid.cpp v4l2-ctl-modes.cpp \
+ v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c
+-v4l2_ctl_CPPFLAGS = -I../common
++v4l2_ctl_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_V4L2_CTL_LIBV4L
+ v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
new file mode 100644
index 000000000..f1e11da3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
@@ -0,0 +1,55 @@
+From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:11:25 -0700
+Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined
+
+use strndup() instead of strndupa() which is not
+universally available in C libraries
+
+Taken from AlpineLinux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/ir-ctl/ir-ctl.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c
+index bc58cee..1a44011 100644
+--- a/utils/ir-ctl/ir-ctl.c
++++ b/utils/ir-ctl/ir-ctl.c
+@@ -42,6 +42,16 @@
+ # define _(string) string
+ #endif
+
++/* taken from glibc unistd.h */
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
+ # define N_(string) string
+
+
+@@ -344,12 +354,14 @@ static struct file *read_scancode(const char *name)
+ return NULL;
+ }
+
+- pstr = strndupa(name, p - name);
++ pstr = strndup(name, p - name);
+
+ if (!protocol_match(pstr, &proto)) {
+ fprintf(stderr, _("error: protocol '%s' not found\n"), pstr);
++ free(pstr);
+ return NULL;
+ }
++ free(pstr);
+
+ if (!strtoscancode(p + 1, &scancode)) {
+ fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1);
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
new file mode 100644
index 000000000..2fb4057ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
@@ -0,0 +1,28 @@
+From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:17:19 -0700
+Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed
+
+musl depends on external argp implementation e.g.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ contrib/test/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am
+index 4641e21..e47b948 100644
+--- a/contrib/test/Makefile.am
++++ b/contrib/test/Makefile.am
+@@ -32,7 +32,7 @@ v4l2gl_LDFLAGS = $(X11_LIBS) $(GL_LIBS) $(GLU_LIBS) $(ARGP_LIBS)
+ v4l2gl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la
+
+ mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS)
+-mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS)
++mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS)
+
+
+ ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
new file mode 100644
index 000000000..0a986ae5d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
@@ -0,0 +1,49 @@
+From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:20:05 -0700
+Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt
+
+POSIX says that behavior when subopts list is empty is undefined.
+musl libs will set value to NULL which leads to crash.
+
+Taken from AlpineLinux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+index 3ea6cd3..291fb3e 100644
+--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg)
+
+ static bool parse_next_subopt(char **subs, char **value)
+ {
+- static char *const subopts[] = {
+- NULL
+- };
+- int opt = getsubopt(subs, subopts, value);
++ char *p = *subs;
++ *value = *subs;
+
+- if (opt < 0 || *value)
+- return false;
+- fprintf(stderr, "No value given to suboption <%s>\n",
+- subopts[opt]);
+- return true;
++ while (*p && *p != ',')
++ p++;
++
++ if (*p)
++ *p++ = '\0';
++
++ *subs = p;
++ return false;
+ }
+
+ void common_cmd(int ch, char *optarg)
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
index b9732fedc..b408bb0a9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
@@ -6,6 +6,7 @@ PROVIDES = "libv4l media-ctl"
DEPENDS = "jpeg \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_append_libc-musl = " argp-standalone"
inherit autotools gettext pkgconfig
@@ -14,11 +15,15 @@ PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
+ file://0001-buildsystem-do-not-assume-building-in-source-tree.patch \
file://mediactl-pkgconfig.patch \
file://export-mediactl-headers.patch \
- "
-SRC_URI[md5sum] = "936c9c58343840e91294e4dcec7dc05f"
-SRC_URI[sha256sum] = "6147ccc29fe7dd3c5c3994d613c4f2a099bac8b44694a96e5cf4d7caca8336c0"
+ file://0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch \
+ file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \
+ file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \
+ "
+SRC_URI[md5sum] = "89e1ed6c69c94e0489dc0a638c7841aa"
+SRC_URI[sha256sum] = "5a47dd6f0e7dfe902d94605c01d385a4a4e87583ff5856d6f181900ea81cf46e"
EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
OpenPOWER on IntegriCloud