17 Commits

5 changed files with 64 additions and 82 deletions

View File

@@ -1,4 +0,0 @@
mtime: 1766700076
commit: 7ee0ddd193599fd8706b797262e7353b7c7340d28763347112c62bfce796666c
url: https://src.opensuse.org/jengelh/libcamera
revision: master

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:954c9a262c590389789cad4c1bffbfcfbd8f59888cba374cb37fb6e68aaef144
size 256

View File

@@ -1,47 +1,38 @@
-------------------------------------------------------------------
Mon Dec 22 17:57:30 UTC 2025 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Various cleanups:
* Drop unused boost build dependency
* Replace reproducible.patch with equivalent "signed_ipa" build
condition, only require openssl/gnutls if enabled.
* Rename subpackage containing IPA modules and support-files
from "tools" to "ipa".
* Use automatic selection of IPA modules/pipelines so that
ARM SoC specific ISPs are disabled on x86_64, and that
RPi and mali-c55 are now enabled on aarch64.
* Add libpisp build dependency for ARM targets
* Split cam/qcam package, to reduce runtime dependencies
notably on small SoCs (only SDL or Qt6 required)
* Drop dysfunctional SLE/Leap 15.x conditionals
-------------------------------------------------------------------
Tue Dec 16 14:24:09 UTC 2025 - Antonio Teixeira <antonio.teixeira@suse.com>
- Update to release 0.6.0
* Improved the public facing API.
* New global configuration file system which will replace or
extend the current use of environment variables to configure
runtime behaviours.
* The abi-compliance checker reports there are both ABI and API
changes in this release
* These have been planned to batch together a lot of recent
development to improve the public facing API, which has extended
the previous merge window on this occasion.
* With 211 commits and a longer merge window, this is quite a
substantial release.
* Key highlights include a new global configuration file system
which will replace or extend the current use of environment
variables to configure runtime behaviours.
* The core V4L2 classes can now support the V4L2 Request API which
in turn has brought in huge developments for the i.MX8MP Dewarper
support allowing full resize, scale, rotate and crop capabilities
on top of also performing lens dewarping.
* SoftISP: IPU7 has been added as a supported configuration to
the pipeline.
* The SoftISP continues to develop, and specifically the IPU7 has
been added as a supported configuration to the pipeline.
* New tuning files have been added for Raspberry Pi platforms,
improving support for the Sony IMX335, IMX415, IMX462, and ST
VD55G1 image sensors, and Decompand support has been added for
the Raspberry Pi 5.
* Various improvements have been made for thread handling,
improving synchronisation and event dispatch, as well as fixing
the serialisation operations for isolated IPA modules.
* At the core, we now require Meson 1.0.1, and various improvements
have been made for thread handling, improving synchronisation and
event dispatch, as well as fixing the serialisation operations
for isolated IPA modules.
* In the applications components, there are fixes to cam adding
more output formats and qcam now behaves more consistently when
no camera is selected. The Python bindings have received fixes
no camera is selected. The python bindings have received fixes
for paths from meson, and the FrameBuffer::planes wrapper.
* doc: theme refresh and clearer separation between the internal
and public API, and fixes to the contributing guidelines.
* On the Documentation side, there's a new theme refresh and
clearer separation between the internal and public API, and fixes
to the contributing guidelines.
* For a full list of changes, please see:
https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.6.0
- Update meson build requirement to 1.0.1 according to the upstream

View File

@@ -1,7 +1,7 @@
#
# spec file for package libcamera
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,11 +23,6 @@
%else
%define extname %nil
%endif
# Signing breaks reproducible builds, see
# https://gitlab.freedesktop.org/camera/libcamera/-/issues/233
%bcond_with signed_ipa
Name: libcamera%extname
Version: 0.6.0
Release: 0
@@ -38,7 +33,13 @@ URL: https://libcamera.org/
#Git-Web: https://git.libcamera.org/libcamera/libcamera.git/
Source: libcamera-%version.tar.xz
Source1: baselibs.conf
Patch0: reproducible.patch
BuildRequires: boost-devel
BuildRequires: c++_compiler
%if 0%{?suse_version} <= 1500
BuildRequires: gcc11
BuildRequires: gcc11-c++
%endif
BuildRequires: meson >= 1.0.1
BuildRequires: pkg-config
BuildRequires: python3-Jinja2
@@ -46,21 +47,15 @@ BuildRequires: python3-PyYAML
BuildRequires: python3-ply
BuildRequires: xz
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(gstreamer-video-1.0)
BuildRequires: pkgconfig(libevent_pthreads)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pybind11)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(yaml-0.1)
%if %{with signed_ipa}
# OpenSSL used for signing, gnutls for runtime verification
BuildRequires: openssl
BuildRequires: pkgconfig(gnutls)
%endif
%ifarch aarch64 %arm
BuildRequires: pkgconfig(libpisp)
%endif
%if "@BUILD_FLAVOR@" != ""
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Gui)
@@ -113,43 +108,24 @@ libcamera is an experimental camera user-space API.
This subpackage contains the header files.
%package ipa
Summary: Plugins for hardware specific image processing blocks
Group: System/Libraries
# Previously named libcamera-tools, although it provides none
Provides: libcamera-tools = %version-%release
Obsoletes: libcamera-tools < %version-%release
%package tools
Summary: Command-line utilities from libcamera
Group: Development/Tools/Other
%description ipa
%description tools
libcamera is an experimental camera user-space API.
This package provides plugins for interfacing with various ISP
(Image Signal Processor) hardware blocks, as well as
calibration data for some camera sensors.
%package -n libcamera-cam
Summary: Command-line interfaces for libcamera
Group: Development/Tools/Other
# Heavy runtime deps (SDL)
# Heavy runtime deps (SDL, Qt6)
%description -n libcamera-cam
libcamera is an experimental camera user-space API.
"cam" is a command-line utility to interact with cameras. It allows
to query and set image stream properties, and to capture the stream
to a file or show a live view.
%package -n libcamera-qcam
Summary: Qt interfaces for libcamera
Group: Development/Tools/Other
# Heavy runtime deps (Qt6)
%description -n libcamera-qcam
libcamera is an experimental camera user-space API.
"qcam" is a Qt interface to interact with cameras. It allows to
query and set image stream properties, and to capture the stream
to a file or show a live view.
"cam" is a command-line utility to interact with cameras. The initial state is
limited and only supports listing cameras in the system and selecting a camera
to interact with.
%package -n gstreamer-plugins-libcamera
Summary: GStreamer plugins from libcamera
@@ -170,6 +146,10 @@ Python bindings for libcamera.
%autosetup -p1 -n libcamera-%version
%build
%if 0%{?suse_version} <= 1500
export CC=gcc-11
export CXX=g++-11
%endif
%meson \
-Ddocumentation=disabled \
%if "@BUILD_FLAVOR@" != ""
@@ -178,7 +158,7 @@ Python bindings for libcamera.
-Dqcam=disabled \
%endif
-Dv4l2=false -Dtracing=disabled \
-Dpipelines=auto,vimc \
-Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \
-Dlc-compliance=disabled
%meson_build
@@ -188,7 +168,6 @@ cd "%buildroot"
%if "@BUILD_FLAVOR@" != ""
find . ! -type d ! -path ./usr/bin/cam ! -path ./usr/bin/qcam -print -delete
%else
# Delete limited variant without SDL
rm -v usr/bin/cam
%endif
@@ -209,7 +188,7 @@ rm -v usr/bin/cam
%_libdir/libcamera.so
%_libdir/pkgconfig/*.pc
%files ipa
%files tools
%_libexecdir/libcamera/
%_libdir/libcamera/
%_datadir/libcamera/
@@ -224,8 +203,6 @@ rm -v usr/bin/cam
%files -n libcamera-cam
%_bindir/cam
%files -n libcamera-qcam
%_bindir/qcam
%endif

21
reproducible.patch Normal file
View File

@@ -0,0 +1,21 @@
Date: 2024-09-21
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Skip module signing for https://bugzilla.opensuse.org/show_bug.cgi?id=1217690
reproducible builds, until we can get a better upstream solution
such as
https://lists.libcamera.org/pipermail/libcamera-devel/2024-January/040244.html
diff --git a/src/meson.build b/src/meson.build
index 8eb8f05..41e556d 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -16,7 +16,7 @@ summary({
# Module Signing
openssl = find_program('openssl', required : false)
-if openssl.found()
+if false
ipa_priv_key = custom_target('ipa-priv-key',
output : ['ipa-priv-key.pem'],
command : [gen_ipa_priv_key, '@OUTPUT@'])