[packages/libcamera] up to 0.7.0 (new soname)

atler atler at pld-linux.org
Thu Feb 19 22:47:17 CET 2026


commit 841b056e957630e4946c3b2fd9426ce500ac6160
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Feb 19 22:33:01 2026 +0100

    up to 0.7.0 (new soname)
    
    disable apidocs by default -- requires doxygen which skips c++11
    attributes (1.9.2)

 libcamera.spec | 41 +++++++++++++++++++++++++----------------
 no-docs.patch  | 26 +++++++++++++++++---------
 2 files changed, 42 insertions(+), 25 deletions(-)
---
diff --git a/libcamera.spec b/libcamera.spec
index 3c4df84..33aba79 100644
--- a/libcamera.spec
+++ b/libcamera.spec
@@ -1,21 +1,24 @@
 #
 # Conditional build:
-%bcond_without	apidocs		# Sphinx/doxygen based API documentation
+%bcond_with	apidocs		# Sphinx/doxygen based API documentation
 
 Summary:	A complex camera support library
 Summary(pl.UTF-8):	Biblioteka obsługi złożonych kamer
 Name:		libcamera
-Version:	0.5.0
+Version:	0.7.0
 Release:	0.1
 License:	LGPL v2.1+
 Group:		Libraries
 Source0:	%{name}-%{version}.tar.xz
-# Source0-md5:	35485bd6566b633734cdfec8a6ec4802
+# Source0-md5:	b87a133f78eef7117b10d7b3240ca4d2
 Patch0:		no-docs.patch
-%{?with_apidocs:BuildRequires:	doxygen}
+BuildRequires:	EGL-devel
+BuildRequires:	OpenGLESv2-devel
+%{?with_apidocs:BuildRequires:	doxygen > 1:1.9.2}
 BuildRequires:	elfutils-devel
 BuildRequires:	gcc >= 6:9
 BuildRequires:	glib2-devel
+BuildRequires:	glibc-headers >= 6:2.34
 BuildRequires:	gnutls-devel
 %{?with_apidocs:BuildRequires:	graphviz}
 BuildRequires:	gstreamer-plugins-base-devel >= 1.14
@@ -28,7 +31,7 @@ BuildRequires:	libpisp-devel
 BuildRequires:	libstdc++-devel >= 6:8
 BuildRequires:	libunwind-devel
 BuildRequires:	lttng-ust-devel
-BuildRequires:	meson >= 0.63
+BuildRequires:	meson >= 1.0.1
 BuildRequires:	ninja >= 1.5
 BuildRequires:	openssl-tools
 BuildRequires:	pkgconfig
@@ -38,13 +41,18 @@ BuildRequires:	python3-PyYAML
 BuildRequires:	python3-jinja2
 BuildRequires:	python3-ply
 BuildRequires:	python3-pybind11
+%{?with_apidocs:BuildRequires:	python3-sphinx_book_theme}
+%{?with_apidocs:BuildRequires:	python3-sphinxcontrib-doxylink >= 1.6.1}
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 2.042
 %{?with_apidocs:BuildRequires:	sphinx-pdg}
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	udev-devel
+BuildRequires:	uname(release) >= 5.4.0
 BuildRequires:	xz
 BuildRequires:	yaml-devel
+Requires:	glibc >= 6:2.34
+Requires:	uname(release) >= 5.4.0
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -220,7 +228,7 @@ pipelines="$pipelines,imx8-isi,mali-c55,rpi/pisp,rpi/vc4,rkisp1"
 	-Dlc-compliance=disabled \
 	-Dpipelines=$pipelines \
 	-Dqcam=disabled \
-	-Dv4l2=true
+	-Dv4l2=enabled
 
 %meson_build
 
@@ -244,10 +252,11 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc README.rst
 %attr(755,root,root) %{_libdir}/libcamera.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcamera.so.0.5
+%attr(755,root,root) %ghost %{_libdir}/libcamera.so.0.7
 %attr(755,root,root) %{_libdir}/libcamera-base.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcamera-base.so.0.5
+%attr(755,root,root) %ghost %{_libdir}/libcamera-base.so.0.7
 %dir %{_libdir}/libcamera
+%dir %{_libdir}/libcamera/ipa
 %if "%{_libexecdir}" != "%{_libdir}"
 %dir %{_libexecdir}/libcamera
 %endif
@@ -271,7 +280,7 @@ rm -rf $RPM_BUILD_ROOT
 %ifarch %{ix86} %{x8664} x32
 %files ipa-ipu3
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_ipu3.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_ipu3.so
 %attr(755,root,root) %{_libexecdir}/libcamera/ipu3_ipa_proxy
 %{_datadir}/libcamera/ipa/ipu3
 %endif
@@ -279,33 +288,33 @@ rm -rf $RPM_BUILD_ROOT
 %ifarch %{arm} aarch64
 %files ipa-mali-c55
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_mali_c55.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_mali_c55.so
 %attr(755,root,root) %{_libexecdir}/libcamera/mali-c55_ipa_proxy
 %{_datadir}/libcamera/ipa/mali-c55
 
 %files ipa-raspberrypi
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_rpi_pisp.so
-%attr(755,root,root) %{_libdir}/libcamera/ipa_rpi_vc4.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_rpi_pisp.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_rpi_vc4.so
 %attr(755,root,root) %{_libexecdir}/libcamera/raspberrypi_ipa_proxy
 %{_datadir}/libcamera/ipa/rpi
 
 %files ipa-rkisp1
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_rkisp1.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_rkisp1.so
 %attr(755,root,root) %{_libexecdir}/libcamera/rkisp1_ipa_proxy
 %{_datadir}/libcamera/ipa/rkisp1
 %endif
 
 %files ipa-soft-simple
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_soft_simple.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_soft_simple.so
 %attr(755,root,root) %{_libexecdir}/libcamera/soft_ipa_proxy
 %{_datadir}/libcamera/ipa/simple
 
 %files ipa-vimc
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libcamera/ipa_vimc.so
+%attr(755,root,root) %{_libdir}/libcamera/ipa/ipa_vimc.so
 %attr(755,root,root) %{_libexecdir}/libcamera/vimc_ipa_proxy
 %{_datadir}/libcamera/ipa/vimc
 
@@ -323,4 +332,4 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py3_sitedir}/libcamera
 %{py3_sitedir}/libcamera/__init__.py
 %{py3_sitedir}/libcamera/__pycache__
-%attr(755,root,root) %{py3_sitedir}/libcamera/_libcamera.so
+%attr(755,root,root) %{py3_sitedir}/libcamera/_libcamera.cpython-*.so
diff --git a/no-docs.patch b/no-docs.patch
index 74adce9..dd5a1ef 100644
--- a/no-docs.patch
+++ b/no-docs.patch
@@ -1,12 +1,20 @@
---- 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
+--- libcamera-0.7.0/Documentation/meson.build.orig	2026-01-29 13:17:26.000000000 +0100
++++ libcamera-0.7.0/Documentation/meson.build	2026-02-19 13:50:54.328960630 +0100
+@@ -9,7 +9,7 @@
+ doxygen = find_program('doxygen', required : get_option('documentation'))
+ dot = find_program('dot', required : get_option('documentation'))
+ 
+-if doxygen.found() and dot.found()
++if not get_option('documentation').disabled() and doxygen.found() and dot.found()
+     cdata = configuration_data()
+     cdata.set('VERSION', 'v at 0@'.format(libcamera_git_version))
+     cdata.set('TOP_SRCDIR', meson.project_source_root())
+@@ -120,7 +120,7 @@
+ sphinx = find_program('sphinx-build-3', 'sphinx-build',
+                       required : get_option('documentation'))
  
 -if sphinx.found()
 +if not get_option('documentation').disabled() and sphinx.found()
-     docs_sources = [
-         'camera-sensor-model.rst',
-         'code-of-conduct.rst',
-         'conf.py',
+     # Many distributions do not provide a recent-enough version of the doxylink
+     # module. This results in a build error with a cryptic message. Check the
+     # version manually and print clear error messages.
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libcamera.git/commitdiff/841b056e957630e4946c3b2fd9426ce500ac6160



More information about the pld-cvs-commit mailing list