[packages/libcamera] new

atler atler at pld-linux.org
Sun Oct 30 02:21:54 CEST 2022


commit 9309cfae2346027cc03bece1c4d2ec6133faa548
Author: Jan Palus <atler at pld-linux.org>
Date:   Sun Oct 30 02:19:33 2022 +0200

    new
    
    - still no official releases. sources extracted from first tag
    - no-docs patch for really disabling docs even when sphinx is present

 libcamera.spec | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 no-docs.patch  |  11 ++++
 2 files changed, 215 insertions(+)
---
diff --git a/libcamera.spec b/libcamera.spec
new file mode 100644
index 0000000..79d97c1
--- /dev/null
+++ b/libcamera.spec
@@ -0,0 +1,204 @@
+#
+# Conditional build:
+%bcond_without	apidocs		# build without API docs
+
+Summary:	A complex camera support library
+Name:		libcamera
+Version:	0.0.1
+Release:	0.1
+License:	LGPL v2.1+
+Group:		Libraries
+Source0:	%{name}-%{version}.tar.xz
+# Source0-md5:	2abc10f6026717d448f1d95d8cc6ff36
+Patch0:		no-docs.patch
+%{?with_apidocs:BuildRequires:	doxygen}
+BuildRequires:	elfutils-devel
+BuildRequires:	glib2-devel
+BuildRequires:	gnutls-devel
+%{?with_apidocs:BuildRequires:	graphviz}
+BuildRequires:	gstreamer-plugins-base-devel >= 1.14
+BuildRequires:	libstdc++-devel >= 6:5
+BuildRequires:	libunwind-devel
+BuildRequires:	lttng-ust-devel
+BuildRequires:	meson >= 0.56.0
+BuildRequires:	ninja
+BuildRequires:	openssl-tools
+BuildRequires:	pkgconfig
+BuildRequires:	python3
+BuildRequires:	python3-PyYAML
+BuildRequires:	python3-jinja2
+BuildRequires:	python3-ply
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 1.736
+%{?with_apidocs:BuildRequires:	sphinx-pdg}
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	udev-devel
+BuildRequires:	xz
+BuildRequires:	yaml-devel
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Cameras are complex devices that need heavy hardware image processing
+operations. Control of the processing is based on advanced algorithms
+that must run on a programmable processor. This has traditionally been
+implemented in a dedicated MCU in the camera, but in embedded devices
+algorithms have been moved to the main CPU to save cost. Blurring the
+boundary between camera devices and Linux often left the user with no
+other option than a vendor-specific closed-source solution.
+
+To address this problem the Linux media community has very recently
+started collaboration with the industry to develop a camera stack that
+will be open-source-friendly while still protecting vendor core IP.
+libcamera was born out of that collaboration and will offer modern
+camera support to Linux-based systems, including traditional Linux
+distributions, ChromeOS and Android.
+
+%package devel
+Summary:	Header files for libcamera library
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+Header files for libcamera library.
+
+%package apidocs
+Summary:	API documentation for libcamera library
+Group:		Documentation
+BuildArch:	noarch
+
+%description apidocs
+API documentation for libcamera library.
+
+%package ipa-ipu3
+Summary:	libcamera IPA plugin for Intel Image Processing Unit 3
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description ipa-ipu3
+libcamera IPA plugin for Intel Image Processing Unit 3.
+
+%package ipa-raspberrypi
+Summary:	libcamera IPA plugin for Raspberry Pi
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description ipa-raspberrypi
+libcamera IPA plugin for Raspberry Pi.
+
+%package ipa-rkisp1
+Summary:	libcamera IPA plugin for Rockchip Image Signal Processor
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description ipa-rkisp1
+libcamera IPA plugin for Rockchip Image Signal Processor.
+
+%package ipa-vimc
+Summary:	libcamera IPA plugin for Virtual Media Controller Driver
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description ipa-vimc
+libcamera IPA plugin for Virtual Media Controller Driver.
+
+%package v4l2-compat
+Summary:	libcamera compatibility layer providing Video4Linux2 interface
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description v4l2-compat
+libcamera compatibility layer providing Video4Linux2 interface.
+
+%package -n gstreamer-libcamera
+Summary:	GStreamer plugin for accessing libcamera devices
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	gstreamer-plugins-base >= 1.14
+
+%description -n gstreamer-libcamera
+GStreamer plugin for accessing libcamera devices.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+%meson build \
+	-Dcam=disabled \
+	-Ddocumentation=%{__enabled_disabled apidocs} \
+	-Dgstreamer=enabled \
+	-Dlc-compliance=disabled \
+	-Dqcam=disabled \
+	-Dv4l2=true
+
+%ninja_build -C build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%ninja_install -C build
+
+%{?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README.rst
+%attr(755,root,root) %{_libdir}/libcamera.so.0.0.1
+%attr(755,root,root) %{_libdir}/libcamera-base.so.0.0.1
+%dir %{_libdir}/libcamera
+%dir %{_libexecdir}/libcamera
+%dir %{_datadir}/libcamera
+%dir %{_datadir}/libcamera/ipa
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcamera.so
+%attr(755,root,root) %{_libdir}/libcamera-base.so
+%{_includedir}/libcamera
+%{_pkgconfigdir}/libcamera.pc
+%{_pkgconfigdir}/libcamera-base.pc
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc build/Documentation/api-html build/Documentation/html
+%endif
+
+%files ipa-ipu3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcamera/ipa_ipu3.so
+%attr(755,root,root) %{_libexecdir}/libcamera/ipu3_ipa_proxy
+%{_datadir}/libcamera/ipa/ipu3
+
+%files ipa-raspberrypi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcamera/ipa_rpi.so
+%attr(755,root,root) %{_libexecdir}/libcamera/raspberrypi_ipa_proxy
+%{_datadir}/libcamera/ipa/raspberrypi
+
+%files ipa-rkisp1
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcamera/ipa_rkisp1.so
+%attr(755,root,root) %{_libexecdir}/libcamera/rkisp1_ipa_proxy
+%{_datadir}/libcamera/ipa/rkisp1
+
+%files ipa-vimc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcamera/ipa_vimc.so
+%attr(755,root,root) %{_libexecdir}/libcamera/vimc_ipa_proxy
+%{_datadir}/libcamera/ipa/vimc
+
+%files v4l2-compat
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/libcamerify
+%attr(755,root,root) %{_libdir}/v4l2-compat.so
+
+%files -n gstreamer-libcamera
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gstreamer-1.0/libgstlibcamera.so
diff --git a/no-docs.patch b/no-docs.patch
new file mode 100644
index 0000000..384f008
--- /dev/null
+++ b/no-docs.patch
@@ -0,0 +1,11 @@
+--- libcamera-0.0.1/Documentation/meson.build.orig	2022-10-30 00:43:47.000000000 +0200
++++ libcamera-0.0.1/Documentation/meson.build	2022-10-30 02:11:13.834316932 +0200
+@@ -53,7 +53,7 @@
+     sphinx = find_program('sphinx-build', required : get_option('documentation'))
+ endif
+ 
+-if sphinx.found()
++if not get_option('documentation').disabled() and sphinx.found()
+     docs_sources = [
+         'coding-style.rst',
+         'conf.py',
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libcamera.git/commitdiff/9309cfae2346027cc03bece1c4d2ec6133faa548



More information about the pld-cvs-commit mailing list