From bc83be4bd2c9b74a7660ffeaa0e31e0766cb97dbccbefcce056df1d07527aad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 14:39:52 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main libcamera revision f3f59b92874774064cceaf9a8c6705e0 --- .gitattributes | 23 +++++ _service | 14 +++ baselibs.conf | 2 + libcamera-0.2.0.tar.xz | 3 + libcamera.changes | 226 +++++++++++++++++++++++++++++++++++++++++ libcamera.spec | 164 ++++++++++++++++++++++++++++++ 6 files changed, 432 insertions(+) create mode 100644 .gitattributes create mode 100644 _service create mode 100644 baselibs.conf create mode 100644 libcamera-0.2.0.tar.xz create mode 100644 libcamera.changes create mode 100644 libcamera.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..285bc2a --- /dev/null +++ b/_service @@ -0,0 +1,14 @@ + + + git + https://git.libcamera.org/libcamera/libcamera.git + refs/tags/v0.2.0 + @PARENT_TAG@ + v([0-9\.]*) + + + *.tar + xz + + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..bc3c228 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libcamera0_2 +libcamera-base0_2 diff --git a/libcamera-0.2.0.tar.xz b/libcamera-0.2.0.tar.xz new file mode 100644 index 0000000..65b6724 --- /dev/null +++ b/libcamera-0.2.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3e5c031a89a5cf8a0810e3fcdb6eb7066f23d73bd9181e56f141d59ffe0aab2 +size 1081292 diff --git a/libcamera.changes b/libcamera.changes new file mode 100644 index 0000000..4ecebd1 --- /dev/null +++ b/libcamera.changes @@ -0,0 +1,226 @@ +------------------------------------------------------------------- +Sat Jan 13 08:48:16 UTC 2024 - Jan Engelhardt + +- Update to release 0.2.0 + * The control "SceneFlicker" has been removed and replaced by + AeFlickerMode, AeFlickerDetected and AeFlickerPeriod. + * CameraConfiguration::transform was removed, + CameraConfiguration::orientation and sensorConfig added. + +------------------------------------------------------------------- +Fri Sep 01 07:00:58 UTC 2023 - rfrohl@suse.com + +- Update to version 0.1.0: + * v4l2: Use SystemDevices properties to identify cameras + * apps: Add ipa-verify application + * libcamera: formats: Add 14-bits Bayer RAW formats + * libcamera: v4l2_device: openat(2) with O_CLOEXEC to cleanup + after exec(3) +- Drop silent-Werror_dangling-reference.patch: fixed upstream + +------------------------------------------------------------------- +Mon Mar 13 08:48:30 UTC 2023 - Martin Liška + +- Disable warning in silent-Werror_dangling-reference.patch based + compiler version. + +------------------------------------------------------------------- +Wed Mar 8 09:21:29 UTC 2023 - Martin Liška + +- Add silent-Werror_dangling-reference.patch that addressed a false-positive + warning in GCC: https://bugs.libcamera.org/show_bug.cgi?id=185. + +------------------------------------------------------------------- +Mon Feb 6 10:08:27 UTC 2023 - Paolo Stivanin + +- Update to version 0.0.4: + Bugfixes: + * libcamera: yaml_parser: Use C locale + * libcamera: base: utils: Support C libraries lacking locale support + * py: cam.py: Fix duplicate metadata output if more than one stream + * libcamera: camera: Fix validateColorSpaces to choose main colour space + * pipeline: raspberrypi: Fix handling of colour spaces + Core: + * test: Fix/Enable testing with ASan + * test: Remove redundant pipeline tests + * meson: Only build pipeline handlers needed in host architecture + * meson: Add 'all' choice to pipelines option + * utils: checkstyle.py: Add commit title checker + * libcamera: ipa_module: Relax ipaModuleInfo symbol size check + * pipeline: Support configuration file paths + ipa: + * camera_sensor: Improve h/v flip handling + * camera_sensor: Add AR0521 Sensor support + * camera_sensor: Add OV4689 Sensor support + * camera_sensor: Add support for OmniVision OV8858 + * raspberrypi: Support Autofocus with PDAF + * raspberrypi: Support for the Sony IMX708 sensor + * rkisp1: Raise maximum analogue gain + pipeline: + * raspberrypi: Support parameters from a configuration file + * raspberrypi: Add a parameter to disable startup drop frames + * libcamera: rkisp1: Add support for Transform + apps: + * gstreamer: Add bayer8 support to libcamerasrc + * qcam: Show string representation of pixel format + ABI Compliance: + * abi-compliance-checker reports 100% ABI and API compatibility with + with v0.0.3 + +------------------------------------------------------------------- +Wed Dec 21 08:13:42 UTC 2022 - Paolo Stivanin + +- Update to version 0.0.3: + Core: + * Fix tracing when built as a subproject + * Avoid double map lookups in framebuffer_allocator + * Workaround faulty control menus + * controls: Change LensPosition units to dioptres + * camera_sensor: Add IMX519 sensor properties + * Documentation: contributing: Add commit message guidelines + * Declare generic converter interface + utils: + * Add libtuning + * Add initial libtuning script support for rkisp1 and raspberrypi. + * checkstyle.py: Check new header file on new and renamed meson.build files + ipa: + * Move IPA sensor controls validation to CameraSensor (IPU3/RKISP1) + rkisp1: + * Support FrameDurationLimits control for FrameRate management + * Support raw capture (IPA, configuration, and runtime) + * Add support for manual gain and exposure + * Fix stream size validation + * Add additional default values to controls + imx8-isi: + * Enumerate supported stream formats + * Set SensorTimestamp metadata + Raspberry Pi: + * Remove generic "pause" mechanism from Algorithm + - Remove enum BuffferMask from the mojom interface + - Fix digital gain calculations for manual mode + - Fix bug in IPA frame drop logic + - imx477: Update tuning file for the latest camera modules + - Add a "scientific" tuning for the IMX477 + Apps: + - cam: kms: Avoid 'unused-parameter' warnings + - cam: Support parsing array controls in capture scripts + - gstreamer: Improve control id lookups + - lc-compliance: simple_capture: Free Requests properly + python: + - Support controls that use an array of Rectangles + - Expose the Request Sequence Number in Python Bindings + +------------------------------------------------------------------- +Tue Oct 18 10:15:03 UTC 2022 - Bjørn Lie + +- Update to version 0.0.1: + * This patch release commences the package release procedures for + the project. + * Initial releases will include a bump to the patch (0.0.x) + version number, as well as a corresponding increment to the + soname. + * utils: + - Provide a release script + - semver: Add version helper + * meson: + - Shared Object version handling + - Fix typo + * pipeline: + - rkisp1: Set bytesused before queuing parameters buffer + - ipu3: Set bytesused before queuing parameters buffer + * libcamera: + - v4l2_videodevice: Warn if bytesused == 0 when queuing output + buffer + - framebuffer: Move remaining private data to Private class + - base: utils: Drop defopt +- Change service to use explicit tags and obs_scm. +- Drop vers.diff patch and fix-ppc64.patch: Fixed upstream. +- Change lname define to new upstream soname libcamera0_0_1 and in + baselibs.conf. +- Split out libcamera-base0_0_1 shared library, add to baselibs. + Package the shared librarys in individual packages. +- Use ldconfig_scriptlets macro for post(un) handling. +- Stop exporting -Wno-error to C(XX)FLAGS, no longer needed. + +------------------------------------------------------------------- +Fri Sep 2 10:10:53 UTC 2022 - Alexei Sorokin + +- Update to version 0.0.0+g3887.f1776100: + * No changelog available. + +------------------------------------------------------------------- +Wed Jan 5 14:23:40 UTC 2022 - Alexei Sorokin + +- Update to version 0.0.0+g3381.1db1e31e: + * No changelog available. + +------------------------------------------------------------------- +Wed Dec 29 11:35:57 UTC 2021 - Bjørn Lie + +- Add optional pkgconfig(libtiff-4) BuildRequires. + +------------------------------------------------------------------- +Fri Oct 1 20:07:34 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0.0.0+g3076 (d79b412) + * Still in development, not much of a changelog to be had. + +------------------------------------------------------------------- +Thu Sep 9 02:42:44 UTC 2021 - Lukas Müller + +- Update to snapshot 0~3015 (a2571042) +- Disable pipeline 'raspberrypi' because it creates segfaults at runtime. + +------------------------------------------------------------------- +Fri Aug 27 18:03:48 UTC 2021 - Antonio Larrosa + +- Add patch to work around what seems to be a bug in gcc 11 with + constexpr being treated as "non const" only in ppc64/ppc64le: + * fix-ppc64.patch + +------------------------------------------------------------------- +Fri Jul 23 17:38:10 UTC 2021 - Marcus Rueckert + +- pipewire has baselibs, so we should have them here as well + +------------------------------------------------------------------- +Fri Jul 23 16:39:41 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0~2809 (e0704e97) [boo#1188650] + * cam: support using multiple cameras concurrently + +------------------------------------------------------------------- +Wed May 5 07:01:02 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0~2532 (093b71b2) + * No changelog available, understandably. +- Add -Wno-error + +------------------------------------------------------------------- +Mon Nov 2 08:46:59 UTC 2020 - Guillaume GARDET + +- Update to 0~1998.4757ff4 +- Add 'qcam' tool +- Enable all pipelines +- Drop upstream patch: + * noforcedsize.diff + +------------------------------------------------------------------- +Mon Mar 9 14:08:43 UTC 2020 - Jan Engelhardt + +- Update to new development snapshot 0~1118.4de31cc + * No user-friendly changelog at this stage + * C++14 is now mandated +- Add noforcedsize.diff + +------------------------------------------------------------------- +Fri Aug 23 18:54:16 UTC 2019 - Jan Engelhardt + +- Update to new development snapshot 0~699.8a92e6f + * No user-friendly changelog at this stage + +------------------------------------------------------------------- +Thu Dec 6 09:35:42 UTC 2018 - Jan Engelhardt + +- Initial package for build.opensuse.org +- Add vers.diff diff --git a/libcamera.spec b/libcamera.spec new file mode 100644 index 0000000..4670510 --- /dev/null +++ b/libcamera.spec @@ -0,0 +1,164 @@ +# +# spec file for package libcamera +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define lname libcamera0_2 +%define lname_base libcamera-base0_2 +Name: libcamera +Version: 0.2.0 +Release: 0 +Summary: A complex camera support library in C++ +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://libcamera.org/ +#Git-Web: https://git.libcamera.org/libcamera/libcamera.git/ + +Source: %name-%version.tar.xz +Source1: baselibs.conf + +BuildRequires: boost-devel +BuildRequires: c++_compiler +%if 0%{?suse_version} <= 1500 +BuildRequires: gcc9 +BuildRequires: gcc9-c++ +%endif +BuildRequires: libQt5Core-devel +BuildRequires: libQt5Gui-devel +BuildRequires: libQt5Widgets-devel +BuildRequires: meson >= 0.56 +BuildRequires: pkgconfig +BuildRequires: python3-Jinja2 +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(yaml-0.1) + +%description +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package -n %lname +Summary: A complex camera support library in C++ +Group: System/Libraries + +%description -n %lname +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package -n %lname_base +Summary: A complex camera support library in C++ +Group: System/Libraries + +%description -n %lname_base +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package devel +Summary: Development for libcamera, a camera support library +Group: Development/Libraries/C and C++ +Requires: %lname = %version +Requires: %lname_base = %version + +%description devel +libcamera is an experimental camera user-space API. + +This subpackage contains the header files. + +%package tools +Summary: Command-line utilities from libcamera +Group: Development/Tools/Other + +%description tools +libcamera is an experimental camera user-space API. + +"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 +Group: Productivity/Multimedia/Other + +%description -n gstreamer-plugins-libcamera +libcamera is an experimental camera user-space API. +This is its integration plugin for gstreamer. + +%prep +%autosetup -p1 + +%build +%if %{pkg_vcmp gcc < 8} +export CC=gcc-9 +export CXX=g++-9 +%endif +%meson \ + -Ddocumentation=disabled \ + -Dqcam=enabled \ + -Dv4l2=false -Dtracing=disabled \ + -Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \ + -Dlc-compliance=disabled +%meson_build + +%install +%meson_install + +%ldconfig_scriptlets -n %lname +%ldconfig_scriptlets -n %lname_base + +%files -n %lname +%_libdir/libcamera.so.* + +%files -n %lname_base +%_libdir/libcamera-base.so.* + +%files devel +%license LICENSES/*GPL* +%_includedir/libcamera/ +%_libdir/libcamera-base.so +%_libdir/libcamera.so +%_libdir/pkgconfig/*.pc + +%files tools +%_bindir/cam +%_bindir/qcam +%_libexecdir/libcamera/ +%_libdir/libcamera/ +%_datadir/libcamera/ + +%files -n gstreamer-plugins-libcamera +%_libdir/gstreamer-1.0/ + +%changelog