* [ptxdist] [PATCH 1/2] host-system-python3: Add flags for ply, pyyaml, jinja2 @ 2021-03-22 13:48 Marian Cichy 2021-03-22 13:48 ` [ptxdist] [PATCH 2/2] libcamera: Add package Marian Cichy 0 siblings, 1 reply; 4+ messages in thread From: Marian Cichy @ 2021-03-22 13:48 UTC (permalink / raw) To: ptxdist; +Cc: Marian Cichy These modules are a dependency for libcamera. Signed-off-by: Marian Cichy <m.cichy@pengutronix.de> --- rules/host-system-python3.in | 9 +++++++++ rules/host-system-python3.make | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/rules/host-system-python3.in b/rules/host-system-python3.in index c6ce3360a..3a0df4307 100644 --- a/rules/host-system-python3.in +++ b/rules/host-system-python3.in @@ -20,4 +20,13 @@ config HOST_SYSTEM_PYTHON3_SETUPTOOLS config HOST_SYSTEM_PYTHON3_SIX bool +config HOST_SYSTEM_PYTHON3_PLY + bool + +config HOST_SYSTEM_PYTHON3_PYYAML + bool + +config HOST_SYSTEM_PYTHON3_JINJA2 + bool + endif diff --git a/rules/host-system-python3.make b/rules/host-system-python3.make index 7f97f9349..81c400473 100644 --- a/rules/host-system-python3.make +++ b/rules/host-system-python3.make @@ -53,6 +53,24 @@ ifdef PTXCONF_HOST_SYSTEM_PYTHON3_SIX @$(SYSTEMPYTHON3) -c 'import six' 2>/dev/null || \ ptxd_bailout "Python six module not found! \ Please install python3-six (debian)"; +endif +ifdef PTXCONF_HOST_SYSTEM_PYTHON3_PLY + @echo "Checking for Python ply ..." + @$(SYSTEMPYTHON3) -c 'import ply' 2>/dev/null || \ + ptxd_bailout "Python ply module not found! \ + Please install python3-ply (debian)"; +endif +ifdef PTXCONF_HOST_SYSTEM_PYTHON3_JINJA2 + @echo "Checking for Python jinja2 ..." + @$(SYSTEMPYTHON3) -c 'import jinja2' 2>/dev/null || \ + ptxd_bailout "Python jinja2 module not found! \ + Please install python3-jinja2 (debian)"; +endif +ifdef PTXCONF_HOST_SYSTEM_PYTHON3_PYYAML + @echo "Checking for Python pyyaml ..." + @$(SYSTEMPYTHON3) -c 'import yaml' 2>/dev/null || \ + ptxd_bailout "Python pyyaml module not found! \ + Please install python3-yaml (debian)"; endif @$(call touch) -- 2.29.2 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* [ptxdist] [PATCH 2/2] libcamera: Add package 2021-03-22 13:48 [ptxdist] [PATCH 1/2] host-system-python3: Add flags for ply, pyyaml, jinja2 Marian Cichy @ 2021-03-22 13:48 ` Marian Cichy 2021-05-03 10:27 ` Marco Felsch 0 siblings, 1 reply; 4+ messages in thread From: Marian Cichy @ 2021-03-22 13:48 UTC (permalink / raw) To: ptxdist; +Cc: Marian Cichy 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 <m.cichy@pengutronix.de> --- 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 <m.cichy@pengutronix.de> +# +# 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 + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +#$(LIBCAMERA_SOURCE): +# @$(call targetinfo) +# @$(call get, LIBCAMERA) + +# ---------------------------------------------------------------------------- +# 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 + +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) + +# ---------------------------------------------------------------------------- +# 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 <m.cichy@pengutronix.de>") + @$(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 + + @$(call install_finish, libcamera) + + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +#$(STATEDIR)/libcamera.clean: +# @$(call targetinfo) +# @$(call clean_pkg, LIBCAMERA) + +# vim: syntax=make -- 2.29.2 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH 2/2] libcamera: Add package 2021-03-22 13:48 ` [ptxdist] [PATCH 2/2] libcamera: Add package Marian Cichy @ 2021-05-03 10:27 ` Marco Felsch 2021-05-03 11:21 ` Marco Felsch 0 siblings, 1 reply; 4+ messages in thread From: Marco Felsch @ 2021-05-03 10:27 UTC (permalink / raw) To: ptxdist; +Cc: Marian Cichy 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 <m.cichy@pengutronix.de> > --- > 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 <m.cichy@pengutronix.de> > +# > +# 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 <m.cichy@pengutronix.de>") > + @$(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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH 2/2] libcamera: Add package 2021-05-03 10:27 ` Marco Felsch @ 2021-05-03 11:21 ` Marco Felsch 0 siblings, 0 replies; 4+ messages in thread From: Marco Felsch @ 2021-05-03 11:21 UTC (permalink / raw) To: ptxdist; +Cc: Marian Cichy On 21-05-03 12:27, Marco Felsch wrote: > Hi all, > > a few nits on this. > > On 21-03-22 14:48, Marian Cichy wrote: ... > > +config LIBCAMERA_TRACING > > + bool > > + prompt "Enable tracing" If enabled it causes an error, that 'lttng-ust' is not found. For the initial brinup we should remove the option and disable it within the makefile. Later on we can add the support for it. Regards, Marco _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-05-03 11:21 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-03-22 13:48 [ptxdist] [PATCH 1/2] host-system-python3: Add flags for ply, pyyaml, jinja2 Marian Cichy 2021-03-22 13:48 ` [ptxdist] [PATCH 2/2] libcamera: Add package Marian Cichy 2021-05-03 10:27 ` Marco Felsch 2021-05-03 11:21 ` Marco Felsch
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox