## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 4;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

# The examples fail to build with OpenCV 4.x and aren't terribly useful, so
# disable them by default (https://github.com/libuvc/libuvc/issues/233)
%bcond_with examples

%global forgeurl https://github.com/libuvc/libuvc

Name:           libuvc
Version:        0.0.7
Release:        %autorelease
Summary:        Cross-platform library for USB video devices

# include/utlist.h is BSD-1-Clause, the rest is BSD-3-Clause
License:        BSD-3-Clause AND BSD-1-Clause
URL:            https://libuvc.github.io
Source:         %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  cmake
BuildRequires:  doxygen
BuildRequires:  gcc

BuildRequires:  libjpeg-devel
BuildRequires:  libusb1-devel
%if %{with examples}
BuildRequires:  opencv-devel
%endif

%description
libuvc is a cross-platform library for USB video devices, built atop libusb. It
enables fine-grained control over USB video devices exporting the standard USB
Video Class (UVC) interface, enabling developers to write drivers for
previously unsupported devices, or just access UVC devices in a generic
fashion.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Suggests:       %{name}-doc = %{version}-%{release}

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package        doc
Summary:        Developer documentation for %{name}
BuildArch:      noarch

%description    doc
This package contains developer documentation for %{name}.

%if %{with examples}
%package        examples
Summary:        Examples for %{name}

%description    examples
This package contains examples making use of %{name}.
%endif

%prep
%autosetup -p1

%build
%cmake \
  -DCMAKE_BUILD_TARGET=Shared \
%if %{with examples}
  -DBUILD_TEST=ON \
  -DBUILD_EXAMPLE=ON
%else
  -DBUILD_TEST=OFF \
  -DBUILD_EXAMPLE=OFF
%endif
%cmake_build

# Build documentation
doxygen doxygen.conf

%install
%cmake_install

%if %{with examples}
install -Dpm0755 %{_vpath_builddir}/example %{buildroot}%{_bindir}/uvc_example
install -Dpm0755 -t %{buildroot}%{_bindir} %{_vpath_builddir}/uvc_test
%endif

%check
%ctest

%files
%license LICENSE.txt
%doc README.md changelog.txt
%{_libdir}/%{name}.so.0*

%files devel
%{_includedir}/%{name}/
%{_libdir}/%{name}.so
%{_libdir}/cmake/%{name}/
%{_libdir}/pkgconfig/%{name}.pc

%files doc
%license LICENSE.txt
%doc cameras standard-units.yaml
%doc doc

%if %{with examples}
%files examples
%{_bindir}/uvc_example
%{_bindir}/uvc_test
%endif

%changelog
## START: Generated by rpmautospec
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Wed Dec 06 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 0.0.7-1
- Initial import; Fixes: RHBZ#2244980
## END: Generated by rpmautospec