## 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

Name:           dtkmultimedia
Version:        1.0.7
Release:        %autorelease
Summary:        Development Tool Kit Multimedia

# most of the files are under GPL-2.0-or-later AND LGPL-3.0-or-later, except:

# src/ocr/ppocr/postprocess_op.cpp: Apache-2.0
# src/ocr/ppocr/postprocess_op.h: Apache-2.0
# src/ocr/ppocr/utility.cpp: Apache-2.0
# src/ocr/ppocr/utility.h: Apache-2.0

# src/ocr/ppocr/clipper.cpp: BSL-1.0
# src/ocr/ppocr/clipper.hpp: BSL-1.0
License:        Apache-2.0 AND BSL-1.0 AND GPL-2.0-or-later AND LGPL-3.0-or-later
URL:            https://github.com/linuxdeepin/dtkmultimedia
Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
# Link ffmpeg libraries to fix build
# Fix build failure if compiler check return type
Patch0:         https://github.com/linuxdeepin/dtkmultimedia/pull/56.patch
# Port to FFmpeg 7
Patch1:         %{name}-ffmpeg7.patch

BuildRequires:  gcc-c++
BuildRequires:  cmake

BuildRequires:  cmake(Qt5Core)
BuildRequires:  cmake(Qt5Gui)
BuildRequires:  cmake(Qt5DBus)
BuildRequires:  cmake(Qt5Multimedia)
BuildRequires:  cmake(Qt5Widgets)
BuildRequires:  cmake(Qt5LinguistTools)
BuildRequires:  cmake(Qt5Network)
BuildRequires:  cmake(Qt5Concurrent)
BuildRequires:  cmake(Qt5MultimediaWidgets)
BuildRequires:  cmake(Qt5X11Extras)

BuildRequires:  pkgconfig(dtkcore)
BuildRequires:  pkgconfig(dtkwidget)
BuildRequires:  pkgconfig(dbusextended-qt5)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(ncnn)
BuildRequires:  pkgconfig(opencv)
BuildRequires:  pkgconfig(libavcodec)
BuildRequires:  pkgconfig(libavformat)
BuildRequires:  pkgconfig(libavdevice)

BuildRequires:  systemd-devel
BuildRequires:  pkgconfig(mpv)
BuildRequires:  pkgconfig(libffmpegthumbnailer)
BuildRequires:  libusb1-devel
BuildRequires:  portaudio-devel
BuildRequires:  libv4l-devel
BuildRequires:  gstreamer1-devel
BuildRequires:  gstreamer1-plugins-base-devel
BuildRequires:  libXtst-devel

%description
Development Tool Kit (DtkMultimedia) is the base development tool of all C++/Qt
Developer work on Deepin.

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

%description    devel
This package contains development files for %{name}.

%package -n     libdtkocr
Summary:        Library files for libdtkocr
Requires:       libdtkocr-data = %{version}-%{release}

%description -n libdtkocr
This package contains library files for libdtkocr.

%package -n     libdtkocr-data
Summary:        Data files for libdtkocr
BuildArch:      noarch

%description -n libdtkocr-data
This package contains data files for libdtkocr.

%package -n     libdtkocr-devel
Summary:        Development files for libdtkocr
Requires:       libdtkocr%{?_isa} = %{version}-%{release}

%description -n libdtkocr-devel
This package contains development files for libdtkocr.

%prep
%autosetup -p1
# '-Wl,--as-needed' already included in LDFLAGS when building on Fedora
sed -i '/-Wl,--as-needed/d' CMakeLists.txt
sed -i 's/opencv_mobile/opencv4/g' src/ocr/CMakeLists.txt
sed -i 's/qhelpgenerator/qhelpgenerator-qt5/g' docs/CMakeLists.txt

%build
export CFLAGS="%{build_cflags} -Wno-implicit-function-declaration"
%cmake -DBUILD_DOCS=OFF
%cmake_build

%install
%cmake_install

%files
%license LICENSES/*
%doc README.md
%{_libdir}/libdtkmultimedia.so.1*
%{_libdir}/libdtkmultimediawidgets.so.1*

%files devel
%{_libdir}/libdtkmultimedia.so
%{_libdir}/libdtkmultimediawidgets.so
%{_includedir}/dtkmultimedia/
%{_includedir}/dtkmultimediawidgets/
%{_libdir}/cmake/dtkmultimedia/
%{_libdir}/pkgconfig/dtkmultimedia.pc
%{_qt5_archdatadir}/mkspecs/modules/qt_lib_dtkmultimedia.pri

%files -n libdtkocr
%{_libdir}/libdtkocr.so.1*

%files -n libdtkocr-data
%dir %{_datadir}/libdtkocr
%{_datadir}/libdtkocr/dtkocrmodels/

%files -n libdtkocr-devel
%{_libdir}/libdtkocr.so
%{_includedir}/dtkocr/
%{_libdir}/cmake/dtkocr/
%{_libdir}/pkgconfig/dtkocr.pc
%{_qt5_archdatadir}/mkspecs/modules/qt_lib_dtkocr.pri

%changelog
## START: Generated by rpmautospec
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

* Sat Sep 28 2024 Dominik Mierzejewski <dominik@greysector.net> - 1.0.7-3
- Fixed building with FFmpeg 7

* Tue Aug 13 2024 Felix Wang <topazus@outlook.com> - 1.0.7-2
- rebuild to fix 2304098

* Fri Jul 26 2024 Packit <hello@packit.dev> - 1.0.7-1
- Update to 1.0.7 upstream release
- Resolves: rhbz#2299270

* Thu Jul 25 2024 Sérgio M. Basto <sergio@serjux.com> - 1.0.6-3
- Rebuild for opencv 4.10.0

* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Sun Jun 02 2024 topazus <topazus@outlook.com> - 1.0.6-1
- initial import; rhbz#2284230
## END: Generated by rpmautospec