1
0
forked from pool/libcamera

Split SDL/Qt-dependent tools to multibuilt subpackage

This commit is contained in:
Jan Engelhardt 2024-08-20 14:41:32 +02:00
parent 8fd5818ce4
commit 25c26bf338
3 changed files with 45 additions and 8 deletions

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<flavor>full</flavor>
</multibuild>

View File

@ -1,7 +1,7 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 20 07:37:45 UTC 2024 - Jan Engelhardt <jengelh@inai.de> Tue Aug 20 07:37:45 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Ditch dependency on SDL - Split SDL/Qt-dependent tools to multibuilt subpackage
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 12 15:41:49 UTC 2024 - Jan Engelhardt <jengelh@inai.de> Mon Aug 12 15:41:49 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@ -18,7 +18,12 @@
%define lname libcamera0_3 %define lname libcamera0_3
%define lname_base libcamera-base0_3 %define lname_base libcamera-base0_3
Name: libcamera %if "@BUILD_FLAVOR@" != ""
%define extname -@BUILD_FLAVOR@
%else
%define extname %nil
%endif
Name: libcamera%extname
Version: 0.3.1 Version: 0.3.1
Release: 0 Release: 0
Summary: A complex camera support library in C++ Summary: A complex camera support library in C++
@ -27,7 +32,7 @@ Group: Development/Libraries/C and C++
URL: https://libcamera.org/ URL: https://libcamera.org/
#Git-Web: https://git.libcamera.org/libcamera/libcamera.git/ #Git-Web: https://git.libcamera.org/libcamera/libcamera.git/
Source: %name-%version.tar.xz Source: libcamera-%version.tar.xz
Source1: baselibs.conf Source1: baselibs.conf
BuildRequires: boost-devel BuildRequires: boost-devel
@ -52,14 +57,17 @@ BuildRequires: pkgconfig(libevent_pthreads)
BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(pybind11)
BuildRequires: pkgconfig(yaml-0.1) BuildRequires: pkgconfig(yaml-0.1)
%if "@BUILD_FLAVOR@" != ""
BuildRequires: pkgconfig(Qt6Core) BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Gui) BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6OpenGL) BuildRequires: pkgconfig(Qt6OpenGL)
BuildRequires: pkgconfig(Qt6OpenGLWidgets) BuildRequires: pkgconfig(Qt6OpenGLWidgets)
BuildRequires: pkgconfig(Qt6Widgets) BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(pybind11) %endif
%description %description
libcamera is an experimental camera user-space API. libcamera is an experimental camera user-space API.
@ -111,6 +119,14 @@ Group: Development/Tools/Other
%description tools %description tools
libcamera is an experimental camera user-space API. libcamera is an experimental camera user-space API.
%package -n libcamera-cam
Summary: Command-line interfaces for libcamera
Group: Development/Tools/Other
# 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. The initial state is "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 limited and only supports listing cameras in the system and selecting a camera
to interact with. to interact with.
@ -131,7 +147,7 @@ Group: Development/Languages/Python
Python bindings for libcamera. Python bindings for libcamera.
%prep %prep
%autosetup -p1 %autosetup -p1 -n libcamera-%version
%build %build
%if 0%{?suse_version} <= 1500 %if 0%{?suse_version} <= 1500
@ -140,7 +156,11 @@ export CXX=g++-11
%endif %endif
%meson \ %meson \
-Ddocumentation=disabled \ -Ddocumentation=disabled \
%if "@BUILD_FLAVOR@" != ""
-Dqcam=enabled \ -Dqcam=enabled \
%else
-Dqcam=disabled \
%endif
-Dv4l2=false -Dtracing=disabled \ -Dv4l2=false -Dtracing=disabled \
-Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \ -Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \
-Dlc-compliance=disabled -Dlc-compliance=disabled
@ -148,10 +168,18 @@ export CXX=g++-11
%install %install
%meson_install %meson_install
pushd "%buildroot"
%if "@BUILD_FLAVOR@" != ""
find . ! -type d ! -path ./usr/bin/cam ! -path ./usr/bin/qcam -print -delete
%else
rm -v usr/bin/cam
%endif
popd
%ldconfig_scriptlets -n %lname %ldconfig_scriptlets -n %lname
%ldconfig_scriptlets -n %lname_base %ldconfig_scriptlets -n %lname_base
%if "@BUILD_FLAVOR@" == ""
%files -n %lname %files -n %lname
%_libdir/libcamera.so.* %_libdir/libcamera.so.*
@ -166,8 +194,6 @@ export CXX=g++-11
%_libdir/pkgconfig/*.pc %_libdir/pkgconfig/*.pc
%files tools %files tools
%_bindir/cam
%_bindir/qcam
%_libexecdir/libcamera/ %_libexecdir/libcamera/
%_libdir/libcamera/ %_libdir/libcamera/
%_datadir/libcamera/ %_datadir/libcamera/
@ -178,4 +204,12 @@ export CXX=g++-11
%files -n python3-libcamera %files -n python3-libcamera
%python3_sitearch/* %python3_sitearch/*
%else
%files -n libcamera-cam
%_bindir/cam
%_bindir/qcam
%endif
%changelog %changelog