File mingw64-sonnet.spec of Package mingw64-sonnet
#
# spec file for package mingw64-sonnet
#
# Copyright (c) 2019 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 sonum 5
%define _tar_path 5.103
# Full KF5 version (e.g. 5.33.0)
%{!?_mingw64_kf5_version: %global _mingw64_kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33)
%{!?_mingw64_kf5_bugfix_version: %define _mingw64_kf5_bugfix_version %(echo %{_mingw64_kf5_version} | awk -F. '{print $1"."$2}')}
%bcond_without lang
%define _name sonnet
Name: mingw64-%{_name}
Version: 5.103.0
Release: 0
Summary: KDE spell checking library
License: LGPL-2.1-or-later
Group: System/GUI/KDE
URL: https://www.kde.org
Source: https://download.kde.org/stable/frameworks/%{_tar_path}/%{_name}-%{version}.tar.xz
%if %{with lang}
Source1: https://download.kde.org/stable/frameworks/%{_tar_path}/%{_name}-%{version}.tar.xz.sig
Source2: frameworks.keyring
%endif
# for native build
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5Quick)
# TODO: move to mingw64-cross-extra-cmake-modules
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: cmake(Qt5UiPlugin)
BuildRequires: mingw64-cross-extra-cmake-modules >= %{_mingw64_kf5_bugfix_version}
#BuildRequires: aspell-devel
BuildRequires: mingw64-cross-cmake
BuildRequires: mingw64-cross-gcc-c++
# Enchant plugin is currently disabled upstream
#BuildRequires: enchant-devel
BuildRequires: mingw64-extra-cmake-modules >= %{_mingw64_kf5_bugfix_version}
BuildRequires: mingw64-kf5-filesystem
BuildRequires: mingw64-myspell-dictionaries
BuildRequires: mingw64(cmake:Qt5Core) >= 5.11.0
BuildRequires: mingw64(cmake:Qt5Quick) >= 5.11.0
BuildRequires: mingw64(cmake:Qt5Test) >= 5.11.0
BuildRequires: mingw64(cmake:Qt5UiPlugin) >= 5.11.0
BuildRequires: mingw64(cmake:Qt5Widgets) >= 5.11.0
BuildRequires: mingw64(pkg:hunspell)
%_mingw64_package_header_debug
%description
Sonnet is a plugin-based spell checking library for Qt-based
applications. It supports several different plugins, including
HSpell, Enchant, ASpell and HUNSPELL.
%package -n mingw64-libKF5SonnetCore%{sonum}
Summary: KDE spell checking library
Group: System/GUI/KDE
Requires: %{name} >= %{_mingw64_kf5_bugfix_version}
%requires_ge mingw64-libQt5Core5
Obsoletes: mingw64-libKF5SonnetCore4 < %{_mingw64_kf5_bugfix_version}
Provides: mingw64-libKF5SonnetCore4 = %{_mingw64_kf5_bugfix_version}
%if %{with lang}
Recommends: mingw64-libKF5SonnetCore%{sonum}-lang = %{version}
%endif
BuildArch: noarch
%description -n mingw64-libKF5SonnetCore%{sonum}
Sonnet is a plugin-based spell checking library for Qt-based
applications. It supports several different plugins, including
HSpell, Enchant, ASpell and HUNSPELL.
%package -n mingw64-libKF5SonnetUi%{sonum}
Summary: KDE spell checking library
Group: System/GUI/KDE
%requires_ge mingw64-libKF5SonnetCore5
%requires_ge mingw64-libQt5Gui5
%requires_ge mingw64-libQt5Widgets5
BuildArch: noarch
%description -n mingw64-libKF5SonnetUi%{sonum}
Sonnet is a plugin-based spell checking library for Qt-based
applications. It supports several different plugins, including
HSpell, Enchant, ASpell and HUNSPELL.
%package imports
Summary: KDE spell checking library: QML files
Requires: mingw64-libKF5SonnetCore%{sonum} = %{version}
Requires: mingw64-libKF5SonnetUi%{sonum} = %{version}
BuildArch: noarch
%description imports
Sonnet is a plugin-based spell checking library for Qt-based
applications. It supports several different plugins, including
HSpell, Enchant, ASpell and HUNSPELL.
This package contains files that allow use of sonnet with
QtQuick based applications.
%package -n mingw64-cross-sonnet-tools
Summary: Native utilities for Sonnet
Group: Development/Libraries/KDE
Obsoletes: mingw64-cross-kf5-tools < %{version}
%description -n mingw64-cross-sonnet-tools
Sonnet is a plugin-based spell checking library for Qt-based
applications - Native utilities
%package devel
Summary: KDE spell checking library: Build Environment
Group: Development/Libraries/KDE
Requires: mingw64-extra-cmake-modules
Requires: mingw64-libKF5SonnetCore%{sonum} = %{version}
Requires: mingw64-libKF5SonnetUi%{sonum} = %{version}
Requires: mingw64(cmake:Qt5Core) >= 5.11.0
Requires: mingw64-cross-sonnet-tools
BuildArch: noarch
%description devel
Sonnet is a plugin-based spell checking library for Qt-based
applications. It supports several different plugins, including
HSpell, Enchant, ASpell and HUNSPELL. Development files.
%lang_package -n mingw64-libKF5SonnetCore%{sonum}
%_mingw64_debug_package
%prep
%setup -q -n %{_name}-%{version}
%build
cmake -B native-build -DCMAKE_INSTALL_PREFIX=/usr/%{_mingw64_target}
cmake --build native-build -t parsetrigrams
OPTIONS="-DPARSETRIGRAMS_EXECUTABLE=$PWD/native-build/bin/parsetrigrams"
%_mingw64_cmake_kf5 -d build -- $OPTIONS
%_mingw64_cmake_build
%install
cmake --build native-build/data -t install/strip DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_prefix}/bin
for i in gentrigrams parsetrigrams; do
ln -s ../%{_mingw64_target}/bin/$i %{buildroot}%{_prefix}/bin/%{_mingw64_target}-$i
done
%_mingw64_kf5_makeinstall -C build
%if %{with lang}
%_mingw64_find_lang %{_name}5 --all-name --with-qt --without-mo
%endif
%if %{with lang}
%files -n mingw64-libKF5SonnetCore%{sonum}-lang -f %{_name}5.lang
%endif
%files
%license LICENSES/*
%doc README*
%{_mingw64_kf5_debugdir}/sonnet.categories
%{_mingw64_kf5_debugdir}/*.renamecategories
%dir %{_mingw64_kf5_plugindir}/kf5
%dir %{_mingw64_kf5_plugindir}/kf5/sonnet
%{_mingw64_kf5_plugindir}/kf5/sonnet/*.dll
%files -n mingw64-libKF5SonnetCore%{sonum}
%license LICENSES/*
%{_mingw64_kf5_bindir}/libKF5SonnetCore.dll
%files -n mingw64-libKF5SonnetUi%{sonum}
%license LICENSES/*
%{_mingw64_kf5_bindir}/libKF5SonnetUi.dll
%files imports
%dir %{_mingw64_kf5_qmldir}/org/
%dir %{_mingw64_kf5_qmldir}/org/kde/
%dir %{_mingw64_kf5_qmldir}/org/kde/sonnet
%{_mingw64_kf5_qmldir}/org/kde/sonnet/libsonnetquickplugin.dll
%{_mingw64_kf5_qmldir}/org/kde/sonnet/plugins.qmltypes
%{_mingw64_kf5_qmldir}/org/kde/sonnet/qmldir
%files -n mingw64-cross-sonnet-tools
%{_prefix}/%{_mingw64_target}/bin/parsetrigrams
%{_prefix}/bin/%{_mingw64_target}-parsetrigrams
%{_prefix}/%{_mingw64_target}/bin/gentrigrams
%{_prefix}/bin/%{_mingw64_target}-gentrigrams
%files devel
%if 0
%{_mingw64_kf5_bindir}/gentrigrams.exe
%{_mingw64_kf5_bindir}/parsetrigrams.exe
%endif
%{_mingw64_kf5_includedir}/
%{_mingw64_kf5_libdir}/cmake/KF5Sonnet/
%{_mingw64_kf5_libdir}/libKF5SonnetCore.dll.a
%{_mingw64_kf5_libdir}/libKF5SonnetUi.dll.a
%{_mingw64_kf5_mkspecsdir}/qt_Sonnet*.pri
%changelog