[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