diff options
| author | Khem Raj <raj.khem@gmail.com> | 2021-05-16 02:18:55 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2021-05-17 09:00:36 -0700 |
| commit | 71dd824d25205117a3261345675fa6e58679e8d5 (patch) | |
| tree | dd45fab056044f60f5d826395c90d2dacd049b37 /meta-multimedia | |
| parent | 46bd112bc4ad3f07875673e2892c0c154ce73d8f (diff) | |
| download | meta-openembedded-71dd824d25205117a3261345675fa6e58679e8d5.tar.gz | |
libcamera: Update to latest master tip
Drop upstreamed patch
jinja2.Environment.compile_templates no longer accepts py_compile
argument so delete it
Fixes
TypeError: compile_templates() got an unexpected keyword argument 'py_compile'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andreas Müller <schnitzeltony@gmail.com>
Diffstat (limited to 'meta-multimedia')
2 files changed, 6 insertions, 120 deletions
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb index b05df32102..30dab1d928 100644 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb | |||
| @@ -10,12 +10,11 @@ LIC_FILES_CHKSUM = "\ | |||
| 10 | 10 | ||
| 11 | SRC_URI = " \ | 11 | SRC_URI = " \ |
| 12 | git://linuxtv.org/libcamera.git;protocol=git \ | 12 | git://linuxtv.org/libcamera.git;protocol=git \ |
| 13 | file://0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch \ | ||
| 14 | " | 13 | " |
| 15 | 14 | ||
| 16 | SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7" | 15 | SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547" |
| 17 | 16 | ||
| 18 | PV = "202102+git${SRCPV}" | 17 | PV = "202105+git${SRCPV}" |
| 19 | 18 | ||
| 20 | S = "${WORKDIR}/git" | 19 | S = "${WORKDIR}/git" |
| 21 | 20 | ||
| @@ -31,6 +30,10 @@ RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla | |||
| 31 | 30 | ||
| 32 | inherit meson pkgconfig python3native | 31 | inherit meson pkgconfig python3native |
| 33 | 32 | ||
| 33 | do_configure_prepend() { | ||
| 34 | sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py | ||
| 35 | } | ||
| 36 | |||
| 34 | do_install_append() { | 37 | do_install_append() { |
| 35 | chrpath -d ${D}${libdir}/libcamera.so | 38 | chrpath -d ${D}${libdir}/libcamera.so |
| 36 | } | 39 | } |
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch deleted file mode 100644 index cec5fc2872..0000000000 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | Delivered-To: raj.khem@gmail.com | ||
| 2 | Received: by 2002:a05:620a:20d3:0:0:0:0 with SMTP id f19csp2716715qka; | ||
| 3 | Sat, 27 Mar 2021 19:58:30 -0700 (PDT) | ||
| 4 | X-Google-Smtp-Source: ABdhPJwyDnjZqZmFqHVShb/5/RoVkJ4Avv5bcnyuo85vIRR2vJDQF+QBZpQpEWHgx5GuEuwLVSC+ | ||
| 5 | X-Received: by 2002:a05:6512:22d0:: with SMTP id g16mr12125441lfu.650.1616900310724; | ||
| 6 | Sat, 27 Mar 2021 19:58:30 -0700 (PDT) | ||
| 7 | ARC-Seal: i=1; a=rsa-sha256; t=1616900310; cv=none; | ||
| 8 | d=google.com; s=arc-20160816; | ||
| 9 | b=bZlu68tossyE2YcGkt0HzIhqTUroWDT/EgJvAiQBgZ6bPzMJ+wjwWp3LzViqOxiRPQ | ||
| 10 | r0cFyme7CJ9YRf2TLmpjGuv2RPQ+EkrtFdlB7i65nhDrwvBoxt78vF2tUoDgVLL1YrU9 | ||
| 11 | wKgHPtBjtDcDveOXKQJH2j5HRwiBjCXlPRBhlSxV8kJPBj//dRaKm0MsxfiW/IgyN1tZ | ||
| 12 | FFxfe4Lk1Awm8ZKAklhdKMly3MFA6IbnjwNcN/84a0R/0+PLu9X8XIR6+CnrfqSgWOBx | ||
| 13 | zsV8p3HuVQTpX7Hhnkiz7PYudHsJJ/7KXeXTP6s9NNnZGu9A6U/E6VOob5BSm9DDIA5z | ||
| 14 | 4AnA== | ||
| 15 | ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; | ||
| 16 | h=content-transfer-encoding:mime-version:message-id:date:subject:cc | ||
| 17 | :to:from:dkim-signature; | ||
| 18 | bh=fbAn+wsNks5BGTY34H4T90NDFJaNV4nnt9vc9DBFaWQ=; | ||
| 19 | b=mLZNiQR/CdgcVTAc7OQmK0ZYTVpofG/EOqTIi2NYIYFhanWhatYY9Hx2xwxIp6kQ5R | ||
| 20 | n0uXh5tLth6aPYD09z3YcXYasEIszBKwoNUFjRA85lFm3d5/J2S1wC5rBy25QeCDOg57 | ||
| 21 | QdzYrTBX2QGRHGQKauEnX5FLDTT+I53sPa87TyvxUKBS+lTAbJig70KfmL7FJIEWT1ZI | ||
| 22 | CZKCErYFlQTGNnwM0CYVXyHv54D2tA25veHQIJN8KK+XObNWuAY3rYpqKoUpOP4vpSPi | ||
| 23 | MXJWAV4L6NZEShWvwJiC4Zdy2xFzXASX27CAKIsX6T5Rub03grVTg6WVt9bChK1x5jeg | ||
| 24 | A2Yw== | ||
| 25 | ARC-Authentication-Results: i=1; mx.google.com; | ||
| 26 | dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; | ||
| 27 | spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com | ||
| 28 | Return-Path: <laurent.pinchart@ideasonboard.com> | ||
| 29 | Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64]) | ||
| 30 | by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30 | ||
| 31 | for <raj.khem@gmail.com> | ||
| 32 | (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||
| 33 | Sat, 27 Mar 2021 19:58:30 -0700 (PDT) | ||
| 34 | 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; | ||
| 35 | Authentication-Results: mx.google.com; | ||
| 36 | dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; | ||
| 37 | spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com | ||
| 38 | Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) | ||
| 39 | by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332; | ||
| 40 | Sun, 28 Mar 2021 04:58:28 +0200 (CEST) | ||
| 41 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; | ||
| 42 | s=mail; t=1616900309; | ||
| 43 | bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=; | ||
| 44 | h=From:To:Cc:Subject:Date:From; | ||
| 45 | b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp | ||
| 46 | ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W | ||
| 47 | tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE= | ||
| 48 | From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
| 49 | To: libcamera-devel@lists.libcamera.org | ||
| 50 | Cc: Khem Raj <raj.khem@gmail.com> | ||
| 51 | Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object | ||
| 52 | Date: Sun, 28 Mar 2021 05:57:41 +0300 | ||
| 53 | Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com> | ||
| 54 | X-Mailer: git-send-email 2.28.1 | ||
| 55 | MIME-Version: 1.0 | ||
| 56 | Content-Transfer-Encoding: 8bit | ||
| 57 | |||
| 58 | From: Khem Raj <raj.khem@gmail.com> | ||
| 59 | |||
| 60 | A range-based for loop whose range expression is an array of char | ||
| 61 | pointers and range variable declaration is a const reference to a | ||
| 62 | std::string creates a temporary string from the char pointer and binds | ||
| 63 | the range variable reference to it. This creates a const reference to a | ||
| 64 | temporary, which is valid in C++, and extends the lifetime of the | ||
| 65 | temporary to the lifetime of the reference. | ||
| 66 | |||
| 67 | However, lifetime extension in range-based for loops is considered as a | ||
| 68 | sign of a potential issue, as a temporary is created for every | ||
| 69 | iteration, which can be costly, and the usage of a reference in the | ||
| 70 | range declaration doesn't make it obvious that the code isn't simply | ||
| 71 | binding a reference to an existing object. gcc 11, with the | ||
| 72 | -Wrange-loop-construct option, flags this: | ||
| 73 | |||
| 74 | uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string<cha | ||
| 75 | r>&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct] | ||
| 76 | | 432 | for (const std::string &name : { "idVendor", "idProduct" }) { | ||
| 77 | | | ^~~~ | ||
| 78 | |||
| 79 | To please the compiler, make the range variable a const char *. This may | ||
| 80 | bring a tiny performance improvement, as the name is only used once, in | ||
| 81 | a location where the compiler can use | ||
| 82 | |||
| 83 | operator+(const std::string &, const char *) | ||
| 84 | |||
| 85 | instead of | ||
| 86 | |||
| 87 | operator+(const std::string &, const std::string &) | ||
| 88 | |||
| 89 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 90 | Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
| 91 | |||
| 92 | Use a const char * type instead of auto, and update the commit message | ||
| 93 | accordingly. | ||
| 94 | |||
| 95 | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
| 96 | --- | ||
| 97 | src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +- | ||
| 98 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 99 | |||
| 100 | diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | ||
| 101 | index 031f96e28449..b6c6ade5ebaf 100644 | ||
| 102 | --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | ||
| 103 | +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | ||
| 104 | @@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data) | ||
| 105 | |||
| 106 | /* Creata a device ID from the USB devices vendor and product ID. */ | ||
| 107 | std::string deviceId; | ||
| 108 | - for (const std::string &name : { "idVendor", "idProduct" }) { | ||
| 109 | + for (const char *name : { "idVendor", "idProduct" }) { | ||
| 110 | std::ifstream file(path + "/../" + name); | ||
| 111 | |||
| 112 | if (!file.is_open()) | ||
| 113 | -- | ||
| 114 | Regards, | ||
| 115 | |||
| 116 | Laurent Pinchart | ||
| 117 | |||
