File qstardict.spec of Package qstardict
#
# spec file for package qstardict
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define build_kf5 1
Name: qstardict
Version: @SERVICE@
Release: 0
Summary: Qt dictionary with StarDict format support
License: GPL-3.0-or-later
Group: Productivity/Office/Dictionary
URL: https://qstardict.ylsoftware.com
Source: %{name}-%{version}.tar.xz
BuildRequires: cmake
BuildRequires: cmake(Qt5LinguistTools)
%if 0%{?suse_version} >= 1550
BuildRequires: gcc-c++ >= 10.2.1
%else
BuildRequires: gcc10-c++
%endif
BuildRequires: hicolor-icon-theme
BuildRequires: libQt5Gui-private-headers-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libzim)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(zlib)
BuildRequires: rsvg-convert
BuildRequires: update-desktop-files
Recommends: %{name}-lang
Suggests: festival
#uggests: swac-get
%description
QStarDict is a StarDict clone written using Qt. The user interface is similar
to StarDict.
%lang_package
%if %{build_kf5}
%package kdeintegration-plugin
Summary: QStarDict KDE Plasma integration
Group: System/GUI/KDE
BuildRequires: extra-cmake-modules
BuildRequires: kf5-filesystem
BuildRequires: cmake(KF5Completion)
BuildRequires: cmake(KF5ConfigWidgets)
BuildRequires: cmake(KF5GlobalAccel)
BuildRequires: cmake(KF5Notifications)
BuildRequires: cmake(KF5Plasma)
BuildRequires: cmake(KF5WindowSystem)
Requires: %{name} = %{version}
Supplements: (%{name} and plasma5-workspace)
%description kdeintegration-plugin
QStarDict KDE Plasma integration
%endif
%package anki-plugin
Summary: A plugin for Anki
Group: Productivity/Text/Utilities
Requires: %{name} = %{version}
Supplements: (%{name} and anki)
%description anki-plugin
A plugin for Anki.
%prep
%autosetup
%build
%qmake5 \
DOCS_DIR=%{_defaultdocdir}/%{name} \
PLUGINS_DIR=%{_libdir}/%{name}/plugins \
ENABLED_PLUGINS="anki kiwix print savetofile stardict web" \
%if %{build_kf5}
ENABLED_PLUGINS="anki kdeintegration kiwix print savetofile stardict web" \
USE_KDE5=1 \
%endif
QMAKE_LRELEASE=%{_bindir}/lrelease-qt5 \
%if 0%{?suse_version} >= 1550
QMAKE_CXX=%{_bindir}/g++ \
%else
QMAKE_CXX=%{_bindir}/g++-10 \
%endif
QMAKE_STRIP="true"
%make_build
%install
%qmake5_install
install -Dm 0644 %{name}/%{name}.png -t %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/
for i in 16 24 32 48 64 72 96; do
install -dm 0755 %{buildroot}%{_datadir}/icons/hicolor/$i\x$i/apps
rsvg-convert -h $i -w $i %{name}/%{name}.svg -o %{buildroot}%{_datadir}/icons/hicolor/$i\x$i/apps/%{name}.png
done
rm -fv %{buildroot}%{_defaultdocdir}/%{name}/COPYING
%suse_update_desktop_file -r %{name} Office Dictionary
%find_lang %{name} --with-qt --all-name
%files
%doc %{_defaultdocdir}/%{name}
%{_bindir}/%{name}
%dir %{_libdir}/%{name}/
%{_libdir}/%{name}/plugins/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.??g
%{_mandir}/man?/%{name}.?%{?ext_man}
%if %{build_kf5}
%exclude %{_libdir}/%{name}/plugins/libkdeintegration.so
%endif
%exclude %{_libdir}/%{name}/plugins/libanki.so
%license COPYING
%files lang -f %{name}.lang
%dir %{_datadir}/%{name}/
%dir %{_datadir}/%{name}/translations/
%if %{build_kf5}
%files kdeintegration-plugin
%{_libdir}/%{name}/plugins/libkdeintegration.so
%endif
%files anki-plugin
%{_libdir}/%{name}/plugins/libanki.so
%changelog