diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia')
12 files changed, 139 insertions, 266 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch new file mode 100644 index 000000000..ef0c945d0 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch @@ -0,0 +1,61 @@ +From 6eba07bd195e0a1199a0fc62d7cc31ec376bc3dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Mon, 31 May 2021 17:44:29 +0200 +Subject: [PATCH] Fix build with hardened security flags +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +| ../gupnp-1.2.6/examples/get-volume.c: In function 'on_introspection': +| ../gupnp-1.2.6/examples/get-volume.c:53:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 53 | g_critical (error->message); +| | ^~~~~~~~~~ +| ../gupnp-1.2.6/examples/get-volume.c:114:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 114 | g_critical (error->message); +| | ^~~~~~~~~~ +| ../gupnp-1.2.6/examples/get-volume.c: In function 'main': +| ../gupnp-1.2.6/examples/get-volume.c:150:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 150 | g_error (error->message); +| | ^~~~~~~ + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/17] +--- + examples/get-volume.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/examples/get-volume.c b/examples/get-volume.c +index 4601014..923581c 100644 +--- a/examples/get-volume.c ++++ b/examples/get-volume.c +@@ -50,7 +50,7 @@ on_introspection (GObject *object, GAsyncResult *res, gpointer user_data) + &error); + + if (error != NULL) { +- g_critical (error->message); ++ g_critical ("%s", error->message); + g_clear_error (&error); + } + +@@ -111,7 +111,7 @@ on_introspection (GObject *object, GAsyncResult *res, gpointer user_data) + g_list_free (out_names); + + if (error != NULL) { +- g_critical (error->message); ++ g_critical ("%s", error->message); + g_clear_error (&error); + } else { + g_print ("Current volume: %s\n", +@@ -147,7 +147,7 @@ int main(int argc, char *argv[]) + GUPnPContext *context = gupnp_context_new ("wlp3s0", 0, &error); + + if (error != NULL) { +- g_error (error->message); ++ g_error ("%s", error->message); + } + + GUPnPControlPoint *cp = gupnp_control_point_new (context, CONTENT_DIR); +-- +2.31.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb deleted file mode 100644 index c7b330fa0..000000000 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require gupnp.inc - -SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "7c9c7cd80e36d9fb1e5b0267571fc17d" -SRC_URI[sha256sum] = "f7a0307ea51f5e44d1b832f493dd9045444a3a4e211ef85dfd9aa5dd6eaea7d1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb new file mode 100644 index 000000000..294c361db --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb @@ -0,0 +1,10 @@ +require gupnp.inc + +SRC_URI = " \ + ${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz \ + file://0001-Fix-build-with-hardened-security-flags.patch \ +" +SRC_URI[sha256sum] = "00b20f1e478a72deac92c34723693a2ac55789ed1e4bb4eed99eb4d62092aafd" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch new file mode 100644 index 000000000..ee7819677 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch @@ -0,0 +1,42 @@ +From 343a3b724225d3c87af0b268da14d3acb7a5b9a1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 9 May 2021 15:38:43 -0700 +Subject: [PATCH] ithread: Use + pthread_mutexattr_gettype/pthread_mutexattr_settype on linux + +_np variants are not recommended anymore, and glibc 2.34+ will have +these removed + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + upnp/inc/ithread.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/upnp/inc/ithread.h b/upnp/inc/ithread.h +index f6800ea9..1d0f9dba 100644 +--- a/upnp/inc/ithread.h ++++ b/upnp/inc/ithread.h +@@ -304,7 +304,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void) + * Returns EINVAL if the kind is not supported. + * See man page for pthread_mutexattr_setkind_np + *****************************************************************************/ +-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) ++#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \ ++ || defined (__linux__) + #define ithread_mutexattr_setkind_np pthread_mutexattr_settype + #else + #define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np +@@ -329,7 +330,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void) + * Always returns 0. + * See man page for pthread_mutexattr_getkind_np + *****************************************************************************/ +-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) ++#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \ ++ || defined (__linux__) + #define ithread_mutexattr_getkind_np pthread_mutexattr_gettype + #else + #define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np +-- +2.31.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb index ff6fb55dd..81b42da41 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb @@ -9,7 +9,9 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434" SRCREV = "cef2b23fb36baac091b0c7d41136b4c1d9549c6d" -SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x" +SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \ + file://0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch \ + " S="${WORKDIR}/git" @@ -18,5 +20,5 @@ inherit autotools pkgconfig EXTRA_OECONF += "--enable-reuseaddr" # Enable LFS support ( for samples ) -CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" +CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc index 63ba54c34..a8c8b4cd3 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc @@ -5,8 +5,8 @@ LICENSE = "LGPL-2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" SRC_URI = "git://github.com/FluidSynth/fluidsynth.git" -SRCREV = "8413c35aca641567baf13e9b16e9839019ebf99d" +SRCREV = "90a6c52e1c347d1c4283b0de9f860ed2fbc413bc" S = "${WORKDIR}/git" -PV = "2.2.0" +PV = "2.2.1" inherit cmake pkgconfig lib_package diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc index ab0f23879..9f03cbd80 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc @@ -4,7 +4,7 @@ JUCE supported platforms, including Linux and Embedded Linux." SECTION = "utils" HOMEPAGE = "http://juce.com/" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a20f91622a47d4e4af9340d5d3f1a2d8" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e9c2db7897c0349a4cc1c6d2a8c5d5" inherit pkgconfig features_check @@ -13,14 +13,13 @@ REQUIRED_DISTRO_FEATURES = "x11" DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre" DEPENDS_append_libc-musl = " libexecinfo" -SRCREV = "724ae27c71ef809b836df06713cf9e50bc14162b" +SRCREV = "90e8da0cfb54ac593cdbed74c3d0c9b09bad3a9f" BRANCH = "master" SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \ - file://0001-Disable-webkit-component.patch \ " S = "${WORKDIR}/git" -PV = "5.4.5" +PV = "6.0.8" JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds" JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch deleted file mode 100644 index 3728439c7..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch +++ /dev/null @@ -1,83 +0,0 @@ -From df7190f430f30ee522f56f9714d42ee796f0d5ff Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 2 Dec 2019 22:18:41 -0800 -Subject: [PATCH] Disable webkit component - -It asks for enable JUCER_ENABLE_GPL_MODE - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - extras/Projucer/Builds/LinuxMakefile/Makefile | 10 +++++----- - extras/Projucer/JuceLibraryCode/AppConfig.h | 4 ++-- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile -index 25b490460..8960f5bc6 100644 ---- a/extras/Projucer/Builds/LinuxMakefile/Makefile -+++ b/extras/Projucer/Builds/LinuxMakefile/Makefile -@@ -35,13 +35,13 @@ ifeq ($(CONFIG),Debug) - TARGET_ARCH := -march=native - endif - -- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) -+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) - JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 - JUCE_TARGET_APP := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) -- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS) -+ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -lrt -ldl -lpthread $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) - endif -@@ -56,13 +56,13 @@ ifeq ($(CONFIG),Release) - TARGET_ARCH := -march=native - endif - -- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) -+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) - JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 - JUCE_TARGET_APP := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) -- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) -+ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) - endif -@@ -136,7 +136,7 @@ all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - - $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } -- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 -+ @pkg-config --print-errors x11 xinerama xext freetype2 - @echo Linking "Projucer - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) -diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h -index dffd5af75..53302bd24 100644 ---- a/extras/Projucer/JuceLibraryCode/AppConfig.h -+++ b/extras/Projucer/JuceLibraryCode/AppConfig.h -@@ -32,7 +32,7 @@ - // BEGIN SECTION A
-
- #ifndef JUCER_ENABLE_GPL_MODE
-- #define JUCER_ENABLE_GPL_MODE 0
-+ #define JUCER_ENABLE_GPL_MODE 1
- #endif
-
- // END SECTION A
-@@ -180,7 +180,7 @@ - // juce_gui_extra flags:
-
- #ifndef JUCE_WEB_BROWSER
-- //#define JUCE_WEB_BROWSER 1
-+ #define JUCE_WEB_BROWSER 0
- #endif
-
- #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
--- -2.24.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb index b05df3210..30dab1d92 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb @@ -10,12 +10,11 @@ LIC_FILES_CHKSUM = "\ SRC_URI = " \ git://linuxtv.org/libcamera.git;protocol=git \ - file://0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch \ " -SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7" +SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547" -PV = "202102+git${SRCPV}" +PV = "202105+git${SRCPV}" S = "${WORKDIR}/git" @@ -31,6 +30,10 @@ RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla inherit meson pkgconfig python3native +do_configure_prepend() { + sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py +} + do_install_append() { chrpath -d ${D}${libdir}/libcamera.so } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch deleted file mode 100644 index cec5fc287..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch +++ /dev/null @@ -1,117 +0,0 @@ -Delivered-To: raj.khem@gmail.com -Received: by 2002:a05:620a:20d3:0:0:0:0 with SMTP id f19csp2716715qka; - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -X-Google-Smtp-Source: ABdhPJwyDnjZqZmFqHVShb/5/RoVkJ4Avv5bcnyuo85vIRR2vJDQF+QBZpQpEWHgx5GuEuwLVSC+ -X-Received: by 2002:a05:6512:22d0:: with SMTP id g16mr12125441lfu.650.1616900310724; - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -ARC-Seal: i=1; a=rsa-sha256; t=1616900310; cv=none; - d=google.com; s=arc-20160816; - b=bZlu68tossyE2YcGkt0HzIhqTUroWDT/EgJvAiQBgZ6bPzMJ+wjwWp3LzViqOxiRPQ - r0cFyme7CJ9YRf2TLmpjGuv2RPQ+EkrtFdlB7i65nhDrwvBoxt78vF2tUoDgVLL1YrU9 - wKgHPtBjtDcDveOXKQJH2j5HRwiBjCXlPRBhlSxV8kJPBj//dRaKm0MsxfiW/IgyN1tZ - FFxfe4Lk1Awm8ZKAklhdKMly3MFA6IbnjwNcN/84a0R/0+PLu9X8XIR6+CnrfqSgWOBx - zsV8p3HuVQTpX7Hhnkiz7PYudHsJJ/7KXeXTP6s9NNnZGu9A6U/E6VOob5BSm9DDIA5z - 4AnA== -ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; - h=content-transfer-encoding:mime-version:message-id:date:subject:cc - :to:from:dkim-signature; - bh=fbAn+wsNks5BGTY34H4T90NDFJaNV4nnt9vc9DBFaWQ=; - b=mLZNiQR/CdgcVTAc7OQmK0ZYTVpofG/EOqTIi2NYIYFhanWhatYY9Hx2xwxIp6kQ5R - n0uXh5tLth6aPYD09z3YcXYasEIszBKwoNUFjRA85lFm3d5/J2S1wC5rBy25QeCDOg57 - QdzYrTBX2QGRHGQKauEnX5FLDTT+I53sPa87TyvxUKBS+lTAbJig70KfmL7FJIEWT1ZI - CZKCErYFlQTGNnwM0CYVXyHv54D2tA25veHQIJN8KK+XObNWuAY3rYpqKoUpOP4vpSPi - MXJWAV4L6NZEShWvwJiC4Zdy2xFzXASX27CAKIsX6T5Rub03grVTg6WVt9bChK1x5jeg - A2Yw== -ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; - spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com -Return-Path: <laurent.pinchart@ideasonboard.com> -Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64]) - by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30 - for <raj.khem@gmail.com> - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -Received-SPF: pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) client-ip=213.167.242.64; -Authentication-Results: mx.google.com; - dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; - spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com -Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) - by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332; - Sun, 28 Mar 2021 04:58:28 +0200 (CEST) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; - s=mail; t=1616900309; - bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=; - h=From:To:Cc:Subject:Date:From; - b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp - ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W - tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE= -From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> -To: libcamera-devel@lists.libcamera.org -Cc: Khem Raj <raj.khem@gmail.com> -Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object -Date: Sun, 28 Mar 2021 05:57:41 +0300 -Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com> -X-Mailer: git-send-email 2.28.1 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit - -From: Khem Raj <raj.khem@gmail.com> - -A range-based for loop whose range expression is an array of char -pointers and range variable declaration is a const reference to a -std::string creates a temporary string from the char pointer and binds -the range variable reference to it. This creates a const reference to a -temporary, which is valid in C++, and extends the lifetime of the -temporary to the lifetime of the reference. - -However, lifetime extension in range-based for loops is considered as a -sign of a potential issue, as a temporary is created for every -iteration, which can be costly, and the usage of a reference in the -range declaration doesn't make it obvious that the code isn't simply -binding a reference to an existing object. gcc 11, with the --Wrange-loop-construct option, flags this: - -uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string<cha -r>&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct] -| 432 | for (const std::string &name : { "idVendor", "idProduct" }) { -| | ^~~~ - -To please the compiler, make the range variable a const char *. This may -bring a tiny performance improvement, as the name is only used once, in -a location where the compiler can use - - operator+(const std::string &, const char *) - -instead of - - operator+(const std::string &, const std::string &) - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> - -Use a const char * type instead of auto, and update the commit message -accordingly. - -Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> ---- - src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -index 031f96e28449..b6c6ade5ebaf 100644 ---- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -@@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data) - - /* Creata a device ID from the USB devices vendor and product ID. */ - std::string deviceId; -- for (const std::string &name : { "idVendor", "idProduct" }) { -+ for (const char *name : { "idVendor", "idProduct" }) { - std::ifstream file(path + "/../" + name); - - if (!file.is_open()) --- -Regards, - -Laurent Pinchart - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch deleted file mode 100644 index db4d6e8c9..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch +++ /dev/null @@ -1,21 +0,0 @@ -Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont -easily have a way of determining something that patches ${LIB_SUFFIX} so we'll -set LIB_INSTALL_DIR. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Kumar Gala <galak@kernel.crashing.org> - -Index: git/CMakeLists.txt -=================================================================== ---- git.orig/CMakeLists.txt -+++ git/CMakeLists.txt -@@ -36,7 +36,7 @@ FIND_PACKAGE(LibXml2 REQUIRED) - SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") - SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE) - SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE) --SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE) -+SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries") - SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE) - - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc) diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index ca9d94a19..f73b549df 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -3,38 +3,23 @@ DESCRIPTION = "The MusicBrainz client is a library which can be built into other HOMEPAGE = "http://musicbrainz.org" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24" -DEPENDS = "expat libxml2 libxml2-native neon neon-native" +DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native" PV = "5.1.0+git${SRCPV}" -SRCREV = "44c05779dd996035758f5ec426766aeedce29cc3" -SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \ - file://allow-libdir-override.patch " +SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee" +SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git" S = "${WORKDIR}/git" inherit cmake pkgconfig -do_configure_prepend() { - # The native build really doesn't like being rebuilt, so delete - # it if it's already present. Also delete all other files not - # known to Git to fix subsequent invocations of do_configure. - git clean -dfx -e /.pc/ -e /patches/ . - mkdir build-native - cd build-native - LDFLAGS="${BUILD_LDFLAGS}" \ - cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \ - -DCMAKE_C_COMPILER=${BUILD_CC} \ - -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ - -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - -DCMAKE_EXE_LINKER_FLAGS=${BUILD_LDFLAGS} \ - .. - make make-c-interface - cd .. -} +EXTRA_OECMAKE_append_class-target = " -DIMPORT_EXECUTABLES=${STAGING_LIBDIR_NATIVE}/cmake/${BPN}/ImportExecutables.cmake" -EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \ - -DIMPORT_EXECUTABLES=build-native/ImportExecutables.cmake" +do_install_append_class-native() { + install -Dm 0755 ${B}/src/make-c-interface ${D}${bindir}/make-c-interface + install -Dm 0644 ${B}/ImportExecutables.cmake ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake + sed -i -e s:'${B}'/src/::g ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake +} -# out-of-tree building doesn't appear to work for this package. -B = "${S}" +BBCLASSEXTEND = "native" |