diff options
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-multimedia')
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" |