diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..120926f --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + full + diff --git a/libcamera.changes b/libcamera.changes index 79fa2a5..4277ab7 100644 --- a/libcamera.changes +++ b/libcamera.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Aug 20 07:37:45 UTC 2024 - Jan Engelhardt -- Ditch dependency on SDL +- Split SDL/Qt-dependent tools to multibuilt subpackage ------------------------------------------------------------------- Mon Aug 12 15:41:49 UTC 2024 - Jan Engelhardt diff --git a/libcamera.spec b/libcamera.spec index a21ac59..74b514c 100644 --- a/libcamera.spec +++ b/libcamera.spec @@ -18,7 +18,12 @@ %define lname libcamera0_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 Release: 0 Summary: A complex camera support library in C++ @@ -27,7 +32,7 @@ Group: Development/Libraries/C and C++ URL: https://libcamera.org/ #Git-Web: https://git.libcamera.org/libcamera/libcamera.git/ -Source: %name-%version.tar.xz +Source: libcamera-%version.tar.xz Source1: baselibs.conf BuildRequires: boost-devel @@ -52,14 +57,17 @@ BuildRequires: pkgconfig(libevent_pthreads) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(pybind11) BuildRequires: pkgconfig(yaml-0.1) +%if "@BUILD_FLAVOR@" != "" BuildRequires: pkgconfig(Qt6Core) BuildRequires: pkgconfig(Qt6Gui) BuildRequires: pkgconfig(Qt6OpenGL) BuildRequires: pkgconfig(Qt6OpenGLWidgets) BuildRequires: pkgconfig(Qt6Widgets) -BuildRequires: pkgconfig(python3) -BuildRequires: pkgconfig(pybind11) +BuildRequires: pkgconfig(sdl2) +%endif %description libcamera is an experimental camera user-space API. @@ -111,6 +119,14 @@ Group: Development/Tools/Other %description tools 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 limited and only supports listing cameras in the system and selecting a camera to interact with. @@ -131,7 +147,7 @@ Group: Development/Languages/Python Python bindings for libcamera. %prep -%autosetup -p1 +%autosetup -p1 -n libcamera-%version %build %if 0%{?suse_version} <= 1500 @@ -140,7 +156,11 @@ export CXX=g++-11 %endif %meson \ -Ddocumentation=disabled \ +%if "@BUILD_FLAVOR@" != "" -Dqcam=enabled \ +%else + -Dqcam=disabled \ +%endif -Dv4l2=false -Dtracing=disabled \ -Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \ -Dlc-compliance=disabled @@ -148,10 +168,18 @@ export CXX=g++-11 %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_base +%if "@BUILD_FLAVOR@" == "" %files -n %lname %_libdir/libcamera.so.* @@ -166,8 +194,6 @@ export CXX=g++-11 %_libdir/pkgconfig/*.pc %files tools -%_bindir/cam -%_bindir/qcam %_libexecdir/libcamera/ %_libdir/libcamera/ %_datadir/libcamera/ @@ -178,4 +204,12 @@ export CXX=g++-11 %files -n python3-libcamera %python3_sitearch/* +%else + +%files -n libcamera-cam +%_bindir/cam +%_bindir/qcam + +%endif + %changelog