From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 03 May 2021 12:27:57 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ldVnx-0002nd-8B for lore@lore.pengutronix.de; Mon, 03 May 2021 12:27:57 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ldVnw-0006ii-W0; Mon, 03 May 2021 12:27:56 +0200 Received: from pty.hi.pengutronix.de ([2001:67c:670:100:1d::c5]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ldVnG-0006iS-3z for ptxdist@pengutronix.de; Mon, 03 May 2021 12:27:14 +0200 Received: from mfe by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1ldVnF-00084f-Q0; Mon, 03 May 2021 12:27:13 +0200 Date: Mon, 3 May 2021 12:27:13 +0200 From: Marco Felsch To: ptxdist@pengutronix.de Message-ID: <20210503102713.5vfpqnab6wrwfyan@pengutronix.de> References: <20210322134842.20388-1-m.cichy@pengutronix.de> <20210322134842.20388-2-m.cichy@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210322134842.20388-2-m.cichy@pengutronix.de> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 12:12:57 up 152 days, 19 min, 50 users, load average: 0.41, 0.64, 0.39 User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [ptxdist] [PATCH 2/2] libcamera: Add package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Marian Cichy Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false Hi all, a few nits on this. On 21-03-22 14:48, Marian Cichy wrote: > libcamera is a new library to ease usage and configuration for > camera devices. > > Currently, libcamera has no release tags. This version is based on > commit 5154e14b from 2021-03-22. > > Signed-off-by: Marian Cichy > --- > rules/libcamera.in | 75 +++++++++++++++++++++++++++ > rules/libcamera.make | 117 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 192 insertions(+) > create mode 100644 rules/libcamera.in > create mode 100644 rules/libcamera.make > > diff --git a/rules/libcamera.in b/rules/libcamera.in > new file mode 100644 > index 000000000..886f716f6 > --- /dev/null > +++ b/rules/libcamera.in > @@ -0,0 +1,75 @@ > +## SECTION=multimedia_libs > + > +menuconfig LIBCAMERA > + tristate > + prompt "libcamera " > + select HOST_MESON > + select HOST_SYSTEM_PYTHON3 > + select HOST_SYSTEM_PYTHON3_PLY > + select HOST_SYSTEM_PYTHON3_PYYAML > + select HOST_SYSTEM_PYTHON3_JINJA2 > + select GNUTLS > + select OPENSSL > + select BOOST if LIBCAMERA_PIPELINES_RASPBERRYPI > + select GSTREAMER1 if LIBCAMERA_GSTREAMER > + select GST_PLUGINS_BASE1 if LIBCAMERA_GSTREAMER > + select LIBEVENT if LIBCAMERA_CAM > + select QT5 if LIBCAMERA_QCAM > + help > + libcamera is a library to ease configuration and usage of camera devices/ > + > +if LIBCAMERA > + > +config LIBCAMERA_GSTREAMER > + bool > + prompt "libcamera GStreamer plugin" > + help > + Gstreamer libcamerasrc element > + > +config LIBCAMERA_CAM > + bool > + prompt "cam test application" > + help > + Demo application for libcamera > + > +config LIBCAMERA_QCAM > + bool > + prompt "qcam test application" > + help > + Qt demo application for libcamera > + > +config LIBCAMERA_TRACING > + bool > + prompt "Enable tracing" > + > +config LIBCAMERA_V4L2 > + bool > + prompt "V4L2 compatibility layer" > + > +comment "Pipelines" > + > +config LIBCAMERA_PIPELINES_IPU3 > + bool > + prompt "ipu3" > + > +config LIBCAMERA_PIPELINES_RASPBERRYPI > + bool > + prompt "raspberrypi" > + > +config LIBCAMERA_PIPELINES_RKISP1 > + bool > + prompt "rkisp1" > + > +config LIBCAMERA_PIPELINES_SIMPLE > + bool > + prompt "simple" > + > +config LIBCAMERA_PIPELINES_UVCVIDEO > + bool > + prompt "uvcvideo" > + > +config LIBCAMERA_PIPELINES_VIMC > + bool > + prompt "vimc" > + > +endif > diff --git a/rules/libcamera.make b/rules/libcamera.make > new file mode 100644 > index 000000000..7e1ab6ae7 > --- /dev/null > +++ b/rules/libcamera.make > @@ -0,0 +1,117 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2021 by Marian Cichy > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_LIBCAMERA) += libcamera > + > +# > +# Paths and names > +# > +LIBCAMERA_VERSION := 2021-02-01-g5154e14b > +LIBCAMERA_MD5 := df003c77b6e6bda22d5ef72fed2540ad > +LIBCAMERA := libcamera-$(LIBCAMERA_VERSION) > +LIBCAMERA_SUFFIX := tar.xz > +LIBCAMERA_URL := git://linuxtv.org/libcamera.git;tag=$(LIBCAMERA_VERSION) > +LIBCAMERA_SOURCE := $(SRCDIR)/$(LIBCAMERA).$(LIBCAMERA_SUFFIX) > +LIBCAMERA_DIR := $(BUILDDIR)/$(LIBCAMERA) > +LIBCAMERA_LICENSE := unknown This project is a has multiple licenses: - core-lib: LGPL-2.1-or-later - IPA modules: - IPA API: LGPL-2.1-or-later - within libcamera: "The IPA modules, located in src/ipa/, are covered by free software licenses hosen by the module authors. The LGPL-2.1-or-later license is recommended. " - external: "Third-party closed-source IPA modules are thus permitted, provided they comply with the licensing requirements of any software they include or link to." - cam/qcam/test: GPL-2.0-or-later - 3rd party libs: their own licenses > +# ---------------------------------------------------------------------------- > +# Get > +# ---------------------------------------------------------------------------- > + > +#$(LIBCAMERA_SOURCE): > +# @$(call targetinfo) > +# @$(call get, LIBCAMERA) Default stage should be removed. > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +#LIBCAMERA_CONF_ENV := $(CROSS_ENV) > + > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_IPU3) += ipu3 > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_RASPBERRYPI) += raspberrypi > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_RKISP1) += rkisp1 > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_SIMPLE) += simple > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_UVCVIDEO) += uvcvideo > +LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINES_VIMC) += vimc We should have at least one pipeline enabled since the whole lib makes no sense without. We could set simple to be be always-on or we error out here if it is zero (the user didn't configured it). > +LIBCAMERA_CONF_TOOL := meson > +LIBCAMERA_CONF_OPT := \ > + $(CROSS_MESON_USR) \ > + -Dandroid=disabled\ > + -Ddocumentation=disabled \ > + -Dgstreamer=$(call ptx/endis, PTXCONF_LIBCAMERA_GSTREAMER)d \ > + -Dpipelines=$(subst $(space),$(comma),$(LIBCAMERA_PIPELINES-y)) \ > + -Dqcam=$(call ptx/endis, PTXCONF_LIBCAMERA_QCAM)d \ > + -Dtest=$(call ptx/truefalse, PTXCONF_LIBCAMERA_TEST) \ > + -Dtracing=$(call ptx/endis, PTXCONF_LIBCAMERA_TRACING)d \ > + -Dv4l2=$(call ptx/truefalse, PTXCONF_LIBCAMERA_V4L2) > + > +#$(STATEDIR)/libcamera.prepare: > +# @$(call targetinfo) > +# @$(call world/prepare, LIBCAMERA) > +# @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Compile > +# ---------------------------------------------------------------------------- > + > +#$(STATEDIR)/libcamera.compile: > +# @$(call targetinfo) > +# @$(call world/compile, LIBCAMERA) > +# @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Install > +# ---------------------------------------------------------------------------- > + > +#$(STATEDIR)/libcamera.install: > +# @$(call targetinfo) > +# @$(call world/install, LIBCAMERA) > +# @$(call touch) Default stages could be removed. > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/libcamera.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, libcamera) > + @$(call install_fixup, libcamera,PRIORITY,optional) > + @$(call install_fixup, libcamera,SECTION,base) > + @$(call install_fixup, libcamera,AUTHOR,"Marian Cichy ") > + @$(call install_fixup, libcamera,DESCRIPTION,missing) > + > + @$(call install_lib, libcamera, 0, 0, 0644, libcamera) > + > +ifdef PTXCONF_LIBCAMERA_GSTREAMER > + @$(call install_lib, libcamera, 0, 0, 0644, gstreamer-1.0/libgstlibcamera) > +endif > + > +ifdef PTXCONF_LIBCAMERA_CAM > + @$(call install_copy, libcamera, 0, 0, 0755, -, /usr/bin/cam) > +endif Missing qcaml targetinstall stage. > + > + @$(call install_finish, libcamera) > + > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Clean > +# ---------------------------------------------------------------------------- > + > +#$(STATEDIR)/libcamera.clean: > +# @$(call targetinfo) > +# @$(call clean_pkg, LIBCAMERA) Default stages could be removed. Regards, Marco _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de