From patchwork Sun May 2 09:59:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 1472760 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=fNKnxa2l; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FY1n429cLz9sPf for ; Sun, 2 May 2021 20:00:08 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 9494E400C0; Sun, 2 May 2021 10:00:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xc2Zc6oT2yo2; Sun, 2 May 2021 10:00:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id A40B54015B; Sun, 2 May 2021 10:00:04 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 68D881BF276 for ; Sun, 2 May 2021 10:00:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 5834360686 for ; Sun, 2 May 2021 10:00:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RtiXL7WikG9g for ; Sun, 2 May 2021 10:00:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by smtp3.osuosl.org (Postfix) with ESMTPS id B977760683 for ; Sun, 2 May 2021 09:59:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1619949565; bh=1ez+Csfjx+iH0TbfDrJFsFwBRuqliX6myW/oUkA8fIY=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=fNKnxa2lt6orZ/v+zyYvb6HlT5prgqT8oOD6CP4xIoncwwy76nzkgFwa3if0RXhVe U5IrVDAmIYOxWH/n6yx7p1ZVDNpBQIiomw7LjzEE2kYvkCIE+H2vE3gHOFvpbPQh90 PD3z+o9fr7oJt8pk/Sv027Qn9+R5aX50F3uxKTVM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.fritz.box ([62.216.209.31]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MSt8W-1lzabb2L0g-00UMv8; Sun, 02 May 2021 11:59:25 +0200 From: Peter Seiderer To: buildroot@buildroot.org Date: Sun, 2 May 2021 11:59:25 +0200 Message-Id: <20210502095925.10744-1-ps.report@gmx.net> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:VxMrLDFJ7Jm/zl/OWhtFRecHHwgu7CHgNjevO8/Ixt/2GpCNcHs G99Oj55BVNd69IcRcpLZqDrL5qH5ZdrmXBgZwITTYjV6jj+dH0Z1VU44loclu64zFZpyOlK xg2W38fs/Cau1O9mrNjSrQbGb2TWeYxEHiL7bFH0BiJJ8Ks5MtDuSFFnsE4QHn2kMkfj8jp ARlh8UQtmHM9B0RLvGp9Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:zKDpxsR6oOg=:etwR8DucED40HUd8ICxCgI 1t3g9xvDBM6CimUn/uvAvmkiTAuyjhy/zR/npKeBiuouWuQy8wMDgyekMGrsfRJXGjHH/bp8j jOvDtYJ/dVIyUEnZ94mAwaJSupE1nCcAhJ60ryPjVpuAt+z3DY8QuiRRvHJkaEzUSbmVuJr2w GZ/zWy3iIo7RL0G2du80VKpUUn7NIHhtpIHDiMapdZhCQk2y3J+gEFxJI9KhV/exSx50FUuFt nBCP25UdLlMNAk3IMiVnq75bCflot2hQQXv77XSU9ZC7uXU0qr2McYc9LDvM8VTWNU57/xNf+ ESNYkP2FSJkxmOBOtNOWp7qTDUmvG6zvSMU6avob413byLNZ+46KC7vEzNPexlTkJlc1i/O+c kcPhKwc6wAQIKVACz9LFBG8fXHAy7brqayzUVVbzlAfAWPZcI06LRcLh8OTv5TqgW3Hv2FX+K i7+8e71r7rsUIDyck27ufMI1KF38ECWZ3pYa8eQdfr0e/AgeGToTE6Kmjk0s1si0QmIzcaMiY bHci3lcPsDPCJVHG9cXHkSH9VTKHoPqHA3h0AbA3+JDsaxz25lHILY+NnZyj/h/RUz9xEd6wo yFG6qDQbFtf4NLtaV9r7rV7VnehkxyO/+HfVP5Yhfx862O/KMI38ZvNigO2EShvG4Zdw09EWL LfVsZEYzaO5hjeiJnYDi8BUD4jyWAe+I9J8+EBADeeFYkV4c5C95aFOlOB2JGkkp+bXWrzyig F3im3wl0aaFYZcK0gB+mfHwAz1VF1D9RYlI17ObFUNTxvavRO476cKNlirssmSKLqvm0UKP6M NnDg5EgfaNbqc6WSAXlp57Ge9xviiHPewqY5f1cGBblgLQE7ZIJBEMLCkcizRqnphbAEiL0Ar ns90fULR27CJux5Mo9NRwIpsZdd59fcn5FnZ0gJfMIL5L3PHS3PHWbhBNBIAY8Xkdkn+7SuB5 Aqu25PPXucBJH2+fRppG+nJfKqjSiU94bbyEU1tOG/zJUqnEQYhsGAm7y4uMzcloHBBSRUWhu UsDox8hx+LpA8TEgCU0Y9PM8RCKa9xSW/n/RZOjRyfKTlr1+2wdc4l/vlQZth9cCXWJbI6hB/ lg2z/NHHLZNee4KW3EGhlTfbgDHg4+hEl1w+jMFenGNck1Aeoj2NwLXTnI8lSNLUpQ0BOZIpE qfejW5G/7C7omrNiyQR85aV/pDCndMW+XTdO1ItQCFoubMF9aJjZiVGabidqjCUScaZgQ= Subject: [Buildroot] [PATCH v5] package/libcamera-apps: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Samuel Martin , Kieran Bingham Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Peter Seiderer --- Changes v4 -> v5: - rebased on master, updated version to 326fdfd Changes v3 -> v4: - bump version - remove 14 upstream applied patches Changes v2 -> v3: - bump version - add license file entry/hash - exchange patch 0002-cmake-remove-unrecognized-gcc-command-line-option.patch with 0002-cmake-add-option-ENABLE_COMPILE_FLAGS_FOR_TARGET.patch (a upstream suggested solution) and add cmake configure option accordingly Changes v1 -> v2: - fix Config.in indent (Thomas Petazzoni) - fix Config.in select ordering (Thomas Petazzoni) - fix Config.in comment regarding OpenGL - change download to use github macro (Thomas Petazzoni) - update 0001-cmake-remove-unsafe-host-include-path-for-libdrm-use.patch (add upstream link) - update 0002-cmake-remove-unrecognized-gcc-command-line-option.patch (add upstream link) - update 0003-cmake-remove-Wfatal-errors-compiler-command-line-opt.patch (new patch) - update 0004-libcamera_vid-fix-getline-call-needs-size_t.patch (add upstream link) - update 0005-libcamera_still-fix-getline-call-needs-size_t.patch (add upstream link) - update 0006-libcamera_app-fix-int64_t-constants.patch (add upstream link) - update 0007-cmake-fix-linking-with-exif-jpeg.patch (add upstream link) - update 0008-cmake-add-install-target.patch (add upstream link, update on upstream request to support older cmake versions - add DESTINATION defaults) - update 0009-cmake-no-need-to-link-against-ipa_rpi.so.patch (add upstream link) - update 0010-circular_output-fix-size_t-vs.-unsigned-int-narrowin.patch (new patch) - update 0011-egl_preview-fix-XVisualInfo-initializer.patch (new patch) - update 0012-jpeg-fix-long-unsigned-int-vs.-size_t-mismatch.patch (new patch) - update 0013-jpeg-fix-bool-vs.-boolean-mismatch.patch (new patch) - update 0014-mjpeg_encoder-fix-long-unsigned-int-vs.-size_t-misma.patch (new patch) - update 0015-mjpeg_encoder-fix-bool-vs.-boolean-mismatch.patch (new patch) Notes: - Tested with test-pkg and the following two test configs BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER=y BR2_PACKAGE_MESA3D_DRIVER=y BR2_PACKAGE_MESA3D_GALLIUM_KMSRO=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y BR2_PACKAGE_MESA3D_GBM=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_XORG7=y BR2_PACKAGE_XLIB_LIBX11=y BR2_PACKAGE_LIBEPOXY=y BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_BOOST=y BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y BR2_PACKAGE_LIBEXIF=y BR2_PACKAGE_JPEG=y BR2_PACKAGE_TIFF=y BR2_PACKAGE_LIBPNG=y BR2_PACKAGE_LIBCAMERA=y BR2_PACKAGE_LIBCAMERA_V4L2=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER=y BR2_PACKAGE_MESA3D_DRIVER=y BR2_PACKAGE_MESA3D_GALLIUM_KMSRO=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y BR2_PACKAGE_MESA3D_GBM=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_XORG7=y BR2_PACKAGE_XLIB_LIBX11=y BR2_PACKAGE_LIBEPOXY=y BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_BOOST=y BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y BR2_PACKAGE_LIBEXIF=y BR2_PACKAGE_JPEG=y BR2_PACKAGE_TIFF=y BR2_PACKAGE_LIBPNG=y BR2_PACKAGE_LIBCAMERA=y BR2_PACKAGE_LIBCAMERA_V4L2=y - runtime tested on RPi4 as described here http://lists.busybox.net/pipermail/buildroot/2021-January/302373.html --- DEVELOPERS | 1 + package/Config.in | 1 + ...tal-errors-compiler-command-line-opt.patch | 25 +++++++++++++++ package/libcamera-apps/Config.in | 31 +++++++++++++++++++ package/libcamera-apps/libcamera-apps.hash | 3 ++ package/libcamera-apps/libcamera-apps.mk | 25 +++++++++++++++ 6 files changed, 86 insertions(+) create mode 100644 package/libcamera-apps/0001-cmake-remove-Wfatal-errors-compiler-command-line-opt.patch create mode 100644 package/libcamera-apps/Config.in create mode 100644 package/libcamera-apps/libcamera-apps.hash create mode 100644 package/libcamera-apps/libcamera-apps.mk diff --git a/DEVELOPERS b/DEVELOPERS index 573d8d84de..dc7f2ad564 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2127,6 +2127,7 @@ F: package/gstreamer1/gst1-devtools/ F: package/gstreamer1/gst1-interpipe/ F: package/gstreamer1/gstreamer1-editing-services/ F: package/iwd/ +F: package/libcamera-apps/ F: package/libevdev/ F: package/libuev/ F: package/log4cplus/ diff --git a/package/Config.in b/package/Config.in index 6181aaac2c..775d5d083f 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1686,6 +1686,7 @@ menu "Multimedia" source "package/libbdplus/Config.in" source "package/libbluray/Config.in" source "package/libcamera/Config.in" + source "package/libcamera-apps/Config.in" source "package/libdcadec/Config.in" source "package/libdvbcsa/Config.in" source "package/libdvbpsi/Config.in" diff --git a/package/libcamera-apps/0001-cmake-remove-Wfatal-errors-compiler-command-line-opt.patch b/package/libcamera-apps/0001-cmake-remove-Wfatal-errors-compiler-command-line-opt.patch new file mode 100644 index 0000000000..11d19fa526 --- /dev/null +++ b/package/libcamera-apps/0001-cmake-remove-Wfatal-errors-compiler-command-line-opt.patch @@ -0,0 +1,25 @@ +From 22096ef8cfb18563c1955145db24742081910e10 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Fri, 5 Feb 2021 18:24:08 +0100 +Subject: [PATCH] cmake: remove -Wfatal-errors compiler command line option + +Signed-off-by: Peter Seiderer +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4191245..199a0f6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,7 +10,6 @@ endif() + set (CMAKE_EXPORT_COMPILE_COMMANDS ON) + set (CMAKE_CXX_STANDARD 17) + set (CMAKE CXX_FLAGS "-Wall -Wextra -pedantic -Wno-unused-parameter -faligned-new") +-add_definitions(-Wfatal-errors) + add_definitions(-Wno-psabi) + add_definitions(-DBOOST_LOG_DYN_LINK) + +-- +2.30.0 + diff --git a/package/libcamera-apps/Config.in b/package/libcamera-apps/Config.in new file mode 100644 index 0000000000..08667eb830 --- /dev/null +++ b/package/libcamera-apps/Config.in @@ -0,0 +1,31 @@ +config BR2_PACKAGE_LIBCAMERA_APPS + bool "libcamera-apps" + depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS # libcamera + depends on BR2_INSTALL_LIBSTDCPP # libcamera/boost + depends on BR2_TOOLCHAIN_HAS_THREADS # libcamera/boost/libdrm + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17/libcamera + depends on !BR2_STATIC_LIBS # gnutls/libcamera + depends on BR2_USE_WCHAR # gnutls/libcamera/boost + depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # libepoxy + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBCAMERA + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBEPOXY + select BR2_PACKAGE_LIBEXIF + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_TIFF + select BR2_PACKAGE_XLIB_LIBX11 + help + This is a small suite of libcamera-based apps that aim to copy + the functionality of the existing "raspicam" apps. + + https://github.com/raspberrypi/libcamera-apps + +comment "libcamera-apps needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 7 and needs an OpenGL and/or OpenGL EGL backend" + depends on BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || BR2_STATIC_LIBS || !BR2_USE_WCHAR + depends on !BR2_PACKAGE_HAS_LIBEGL && !BR2_PACKAGE_HAS_LIBGL diff --git a/package/libcamera-apps/libcamera-apps.hash b/package/libcamera-apps/libcamera-apps.hash new file mode 100644 index 0000000000..da426434c1 --- /dev/null +++ b/package/libcamera-apps/libcamera-apps.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 9b3475e1c817cbcf942c4be0dac3d1f6bf2ee192b0ca5edb95c85c06c5a12b4f libcamera-apps-326fdfd120a0f62b7e76f4ee8aa0c82c2bf008e6.tar.gz +sha256 36dfed86bdef661a0a14ec1a1cc84c771d5a06b6f9b92e9ebb610ba711bd528a license.txt diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk new file mode 100644 index 0000000000..5edcefefad --- /dev/null +++ b/package/libcamera-apps/libcamera-apps.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# libcamera-apps +# +################################################################################ + +LIBCAMERA_APPS_VERSION = 326fdfd120a0f62b7e76f4ee8aa0c82c2bf008e6 +LIBCAMERA_APPS_SITE = $(call github,raspberrypi,libcamera-apps,$(LIBCAMERA_APPS_VERSION)) +LIBCAMERA_APPS_LICENSE = BSD-2-Clause +LIBCAMERA_APPS_LICENSE_FILES = license.txt +LIBCAMERA_APPS_DEPENDENCIES = \ + host-pkgconf \ + boost \ + jpeg \ + libcamera \ + libdrm \ + libexif \ + libepoxy \ + libpng \ + tiff \ + xlib_libX11 + +LIBCAMERA_APPS_CONF_OPTS = -DENABLE_COMPILE_FLAGS_FOR_TARGET=disabled + +$(eval $(cmake-package))