File mingw64-kdeclarative.spec of Package mingw64-kdeclarative

#
# spec file for package mingw64-kdeclarative
#
# 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 lname   libKF5Declarative5
%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   kdeclarative
Name:           mingw64-%{_name}
Version:        5.103.0
Release:        0
Summary:        Integration of QML and KDE workspaces
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
Patch0:         fix-qml-plugin-filename.patch
BuildRequires:  mingw64-cross-cmake
BuildRequires:  mingw64-cross-gcc-c++
BuildRequires:  mingw64-extra-cmake-modules >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64-kf5-filesystem
BuildRequires:  mingw64-libepoxy-devel
BuildRequires:  mingw64(cmake:KF5Config) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5CoreAddons) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5GlobalAccel) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5GuiAddons) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5I18n) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5IconThemes) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5KIO) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5Package) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5Notifications) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5WidgetsAddons) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:KF5WindowSystem) >= %{_mingw64_kf5_bugfix_version}
BuildRequires:  mingw64(cmake:Qt5Core) >= 5.11.0
BuildRequires:  mingw64(cmake:Qt5Gui) >= 5.11.0
BuildRequires:  mingw64(cmake:Qt5Qml) >= 5.11.0
BuildRequires:  mingw64(cmake:Qt5Quick) >= 5.11.0
BuildRequires:  mingw64(cmake:Qt5Test) >= 5.11.0
%_mingw64_package_header_debug
BuildArch:      noarch

%description
KDeclarative provides integration of QML and KDE workspaces.

%package -n mingw64-%{lname}
Summary:        Integration of QML and KDE workspaces
# QQmlPropertyMap leaks private but exported QObjectPrivate symbol
# https://bugreports.qt.io/browse/QTBUG-46433 and https://bugs.launchpad.net/bugs/1426335
Group:          System/GUI/KDE
# already provided by mingw build system
#%%requires_eq    libQt5Core5
%if %{with lang}
Recommends:     mingw64-%{lname}-lang = %{version}
%endif

%description -n mingw64-%{lname}
KDeclarative provides integration of QML and KDE workspaces.

%package -n mingw64-libKF5QuickAddons5
Summary:        Integration of QML and KDE workspaces
Group:          System/GUI/KDE

%description -n mingw64-libKF5QuickAddons5
KDeclarative provides integration of QML and KDE workspaces.

%package -n mingw64-libKF5CalendarEvents5
Summary:        Integration of QML and KDE workspaces
Group:          System/GUI/KDE

%description -n mingw64-libKF5CalendarEvents5
KDeclarative provides integration of QML and KDE workspaces.

%package components
Summary:        KDeclarative QML components
Group:          System/GUI/KDE
Requires:       mingw64-kirigami2 >= %{_mingw64_kf5_bugfix_version}
# TODO: not detected bei qmlpluginexport
Provides:       mingw64(qt5qmlimport:org.kde.kcm.private.1)
Provides:       mingw64(qt5qmlimport:org.kde.kconfig.1)
Provides:       mingw64(qt5qmlimport:org.kde.kquickcontrolsaddons.2)

%description components
KDeclarative provides integration of QML and KDE workspaces.

%package tools
Summary:        KDeclarative tools
Group:          System/GUI/KDE

%description tools
KDeclarative provides integration of QML and KDE workspaces.

%package devel
Summary:        Integration of QML and KDE workspaces: Build Environment
Group:          Development/Libraries/KDE
Requires:       mingw64-%{lname} = %{version}
Requires:       %{name}-components = %{version}
Requires:       mingw64-extra-cmake-modules
Requires:       mingw64-libKF5CalendarEvents5 = %{version}
Requires:       mingw64-libKF5QuickAddons5 = %{version}
Requires:       mingw64(cmake:KF5Config) >= %{_mingw64_kf5_bugfix_version}
Requires:       mingw64(cmake:KF5CoreAddons) >= %{_mingw64_kf5_bugfix_version}
Requires:       mingw64(cmake:KF5Package) >= %{_mingw64_kf5_bugfix_version}
Requires:       mingw64(cmake:Qt5Qml) >= 5.11.0

%description devel
KDeclarative provides integration of QML and KDE workspaces.
Development files.

%lang_package -n mingw64-%{lname}

%_mingw64_debug_package

%prep
%autosetup -p1 -n %{_name}-%{version}

%build
  %_mingw64_cmake_kf5 -d build
  %_mingw64_cmake_build

%install
  %_mingw64_kf5_makeinstall -C build

%if %{with lang}
%_mingw64_find_lang %{_name}5
%endif


%if %{with lang}
%files -n mingw64-%{lname}-lang -f %{_name}5.lang
%endif

%files -n mingw64-%{lname}
%license LICENSES/*
%doc README*
%{_mingw64_kf5_bindir}/libKF5Declarative.dll
 
%files -n mingw64-libKF5QuickAddons5
%license LICENSES/*
%doc README*
%{_mingw64_kf5_bindir}/libKF5QuickAddons.dll

%files -n mingw64-libKF5CalendarEvents5
%license LICENSES/*
%doc README*
%{_mingw64_kf5_bindir}/libKF5CalendarEvents.dll

%files components
%license LICENSES/*
%doc README*
%{_mingw64_kf5_qmldir}
%exclude %{_mingw64_kf5_qmldir}/org/kde/*/*.debug
%exclude %{_mingw64_kf5_qmldir}/org/kde/*/*/*.debug

%files tools
%license LICENSES/*
%doc README*
%{_mingw64_kf5_bindir}/kpackagelauncherqml.exe

%files devel
%{_mingw64_kf5_libdir}/libKF5Declarative.dll.a
%{_mingw64_kf5_libdir}/libKF5QuickAddons.dll.a
%{_mingw64_kf5_libdir}/libKF5CalendarEvents.dll.a
%{_mingw64_kf5_libdir}/cmake/KF5Declarative/
%{_mingw64_kf5_includedir}
%{_mingw64_kf5_mkspecsdir}/qt_KDeclarative.pri
%{_mingw64_kf5_mkspecsdir}/qt_QuickAddons.pri

%changelog
openSUSE Build Service is sponsored by