Accepting request 1029747 from home:iznogood:branches:graphics

New upstream release

OBS-URL: https://build.opensuse.org/request/show/1029747
OBS-URL: https://build.opensuse.org/package/show/graphics/libcamera?expand=0&rev=32
This commit is contained in:
Marcus Meissner 2022-10-18 18:50:25 +00:00 committed by Git OBS Bridge
parent 84d3fb7453
commit 4d4bad5b78
10 changed files with 79 additions and 122 deletions

View File

@ -1,14 +1,17 @@
<?xml version="1.0"?>
<services>
<service name="tar_scm" mode="disabled">
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">git://linuxtv.org/libcamera</param>
<param name="revision">f1776100f55e70320a8938586bc8bf2f242addd4</param>
<param name="parent-tag">v0.0.0</param>
<param name="versionformat">0.0.0+g@TAG_OFFSET@.%h</param>
<param name="revision">refs/tags/v0.0.1</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v([0-9\.]*)</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<service name="tar" mode="buildtime" />
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
<service name="set_version" mode="manual"/>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://linuxtv.org/libcamera</param>
<param name="changesrevision">a83aed77df1258e469c0eb42d9cb4f1938db53f2</param></service></servicedata>

View File

@ -1 +1,2 @@
libcamera-suse7
libcamera0_0_1
libcamera-base0_0_1

View File

@ -1,42 +0,0 @@
From: Antonio Larrosa <alarrosa@suse.com>
Subject: Work around what seems to be a gcc bug only happening in ppc64/ppc64le
When building code like:
constexpr Duration defaultMinFrameDuration = 1.0s / 30.0;
or
constexpr Duration controllerMinFrameDuration = 1.0s / 60.0;
gcc 11.1.1 is giving this error:
[ 235s] In file included from ../include/libcamera/base/log.h:10,
[ 235s] from ../src/ipa/raspberrypi/raspberrypi.cpp:18:
[ 235s] ../src/ipa/raspberrypi/raspberrypi.cpp:64:53: in constexpr expansion of std::chrono::operator/<long double, std::ratio<1>, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 3.0e+1)
[ 235s] /usr/include/c++/11/chrono:710:39: error: (1.0e+0l / 3.0e+1) is not a constant expression
[ 235s] 710 | return __cd(__cd(__d).count() / __s);
[ 235s] | ~~~~~~~~~~~~~~~~~~^~~~~
[ 235s] ../src/ipa/raspberrypi/raspberrypi.cpp:73:56: in constexpr expansion of std::chrono::operator/<long double, std::ratio<1>, double>(std::literals::chrono_literals::operator""s(1.0e+0l), 6.0e+1)
This change works around it to let it build fine.
Index: libcamera-0~2809.e0704e97/src/ipa/raspberrypi/raspberrypi.cpp
===================================================================
--- libcamera-0~2809.e0704e97.orig/src/ipa/raspberrypi/raspberrypi.cpp
+++ libcamera-0~2809.e0704e97/src/ipa/raspberrypi/raspberrypi.cpp
@@ -61,7 +61,7 @@ using utils::Duration;
/* Configure the sensor with these values initially. */
constexpr double defaultAnalogueGain = 1.0;
constexpr Duration defaultExposureTime = 20.0ms;
-constexpr Duration defaultMinFrameDuration = 1.0s / 30.0;
+const Duration defaultMinFrameDuration = 1.0s / 30.0;
constexpr Duration defaultMaxFrameDuration = 250.0s;
/*
@@ -70,7 +70,7 @@ constexpr Duration defaultMaxFrameDurati
* we rate-limit the controller Prepare() and Process() calls to lower than or
* equal to this rate.
*/
-constexpr Duration controllerMinFrameDuration = 1.0s / 60.0;
+const Duration controllerMinFrameDuration = 1.0s / 60.0;
LOG_DEFINE_CATEGORY(IPARPI)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a20259a6e1a1dbdeea1753e2639f829a3aeffdf236c606004ad1ea66de6ff93
size 914440

3
libcamera-0.0.1.obscpio Normal file
View File

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

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Tue Oct 18 10:15:03 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <sor.alexei@meowr.ru>

4
libcamera.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: libcamera
version: 0.0.1
mtime: 1665755326
commit: a83aed77df1258e469c0eb42d9cb4f1938db53f2

View File

@ -16,9 +16,10 @@
#
%define lname libcamera-suse7
%define lname libcamera0_0_1
%define lname_base libcamera-base0_0_1
Name: libcamera
Version: 0.0.0+g3887.f1776100
Version: 0.0.1
Release: 0
Summary: A complex camera support library in C++
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@ -27,8 +28,7 @@ URL: http://libcamera.org/
Source: %name-%version.tar.xz
Source1: baselibs.conf
Patch1: vers.diff
Patch2: fix-ppc64.patch
BuildRequires: boost-devel
BuildRequires: c++_compiler
%if 0%{?suse_version} <= 1500
@ -38,7 +38,7 @@ BuildRequires: gcc9-c++
BuildRequires: libQt5Core-devel
BuildRequires: libQt5Gui-devel
BuildRequires: libQt5Widgets-devel
BuildRequires: meson >= 0.53
BuildRequires: meson >= 0.56
BuildRequires: pkgconfig
BuildRequires: python3-Jinja2
BuildRequires: python3-PyYAML
@ -73,10 +73,23 @@ 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.
@ -103,19 +116,13 @@ libcamera is an experimental camera user-space API.
This is its integration plugin for gstreamer.
%prep
%autosetup -p1 -N
%patch1 -p1
%ifarch ppc64 ppc64le
%patch2 -p1
%endif
%autosetup -p1
%build
%if %{pkg_vcmp gcc < 8}
export CC=gcc-9
export CXX=g++-9
%endif
export CFLAGS="%optflags -Wno-error"
export CXXFLAGS="$CFLAGS"
%meson \
-Ddocumentation=disabled \
-Dqcam=enabled \
@ -126,19 +133,15 @@ export CXXFLAGS="$CFLAGS"
%install
%meson_install
# libtool's -release would be so much more direct, but alas, meson...
mv "%buildroot/%_libdir/libcamera-suse.so" "%buildroot/%_libdir/libcamera.so"
mv "%buildroot/%_libdir/libcamera-base-suse.so" "%buildroot/%_libdir/libcamera-base.so"
mv "%buildroot/%_libdir/pkgconfig/libcamera-suse.pc" "%buildroot/%_libdir/pkgconfig/libcamera.pc"
mv "%buildroot/%_libdir/pkgconfig/libcamera-base-suse.pc" "%buildroot/%_libdir/pkgconfig/libcamera-base.pc"
perl -i -pe 's{camera-suse}{camera}' "%buildroot/%_libdir/pkgconfig"/*.pc
perl -i -pe 's{camera-base-suse}{camera-base}' "%buildroot/%_libdir/pkgconfig"/*.pc
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%ldconfig_scriptlets -n %lname
%ldconfig_scriptlets -n %lname_base
%files -n %lname
%_libdir/libcamera*.so.*
%_libdir/libcamera.so.*
%files -n %lname_base
%_libdir/libcamera-base.so.*
%files devel
%license LICENSES/*GPL*

View File

@ -1,48 +0,0 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2018-12-06 12:28:42.992186963 +0100
Every new symbol set shipped needs a new SONAME.
Normally, a distro would just ship tarballed releases, and so SONAMEs are just
what upstream puts out.
When shipping snapshots however that have a noncongruent symbol set to any
other release, a custom SONAME will be needed to not claim false compatibility
with any other release.
---
src/libcamera/base/meson.build | 4 ++--
src/libcamera/meson.build | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
Index: libcamera-0.0.0+g3076.d79b4120/src/libcamera/base/meson.build
===================================================================
--- libcamera-0.0.0+g3076.d79b4120.orig/src/libcamera/base/meson.build
+++ libcamera-0.0.0+g3076.d79b4120/src/libcamera/base/meson.build
@@ -27,9 +27,9 @@ libcamera_base_deps = [
# the use of headers which must not be exposed to the libcamera public api.
libcamera_base_args = [ '-DLIBCAMERA_BASE_PRIVATE' ]
-libcamera_base_lib = shared_library('libcamera-base',
+libcamera_base_lib = shared_library('libcamera-base-suse',
[libcamera_base_sources, libcamera_base_headers],
- version : libcamera_version,
+ soversion : '7',
name_prefix : '',
install : true,
cpp_args : libcamera_base_args,
Index: libcamera-0.0.0+g3076.d79b4120/src/libcamera/meson.build
===================================================================
--- libcamera-0.0.0+g3076.d79b4120.orig/src/libcamera/meson.build
+++ libcamera-0.0.0+g3076.d79b4120/src/libcamera/meson.build
@@ -126,9 +126,9 @@ libcamera_deps = [
# runtime if the library is running from an installed location by checking
# for the presence or abscence of the dynamic tag.
-libcamera = shared_library('libcamera',
+libcamera = shared_library('libcamera-suse',
libcamera_sources,
- version : libcamera_version,
+ soversion : '7',
name_prefix : '',
install : true,
include_directories : includes,