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
openSUSE Build Service is sponsored by