
%global qt_module qt5compat

Summary:        Qt6 - Qt 5 Compatibility Libraries
Name:           qt6-%{qt_module}
Version:        6.5.2
Release:        1

License:        LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
URL:            https://www.qt.io
%global majmin %(echo %{version} | cut -d. -f1-2)
%global  qt_version %(echo %{version} | cut -d~ -f1)

Source0:       https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz

BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: qt6-qtbase-devel >= %{version}
BuildRequires: qt6-qtbase-private-devel
# qt6-qtdeclarative is required for QtGraphicalEffects
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtshadertools-devel
BuildRequires: pkgconfig(xkbcommon)
%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}}
BuildRequires: libicu-devel

%description
%{summary}.

%package devel
Summary: Development files for %{name}
Requires:      %{name}%{?_isa} = %{version}-%{release}
Requires:      qt6-qtbase-devel%{?_isa}
%description devel
%{summary}.

%prep
%autosetup -n %{qt_module}-everywhere-src-%{version} -p1

%build
%cmake_qt6

cmake --build . %{?_smp_mflags} --verbose

%install
DESTDIR="%{buildroot}" cmake --install .

## .prl/.la file love
# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
pushd %{buildroot}%{_qt6_libdir}
for prl_file in libQt6*.prl ; do
  sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file}
  if [ -f "$(basename ${prl_file} .prl).so" ]; then
    rm -fv "$(basename ${prl_file} .prl).la"
    sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
  fi
done
popd


%ldconfig_scriptlets

%files
%license LICENSES/*
%{_qt6_libdir}/libQt6Core5Compat.so.6*
%{_qt6_libdir}/qt6/qml/Qt5Compat/GraphicalEffects/*

%files devel
%{_qt6_headerdir}/QtCore5Compat/
%{_qt6_libdir}/libQt6Core5Compat.prl
%{_qt6_libdir}/libQt6Core5Compat.so
%{_qt6_libdir}/cmake/Qt6/FindWrapIconv.cmake
%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/Qt5CompatTestsConfig.cmake
%dir %{_qt6_libdir}/cmake/Qt6Core5Compat/
%{_qt6_libdir}/cmake/Qt6Core5Compat/*.cmake
%{_qt6_archdatadir}/mkspecs/modules/*.pri
%{_qt6_libdir}/qt6/modules/*.json
%{_qt6_libdir}/qt6/metatypes/qt6*_metatypes.json
%{_qt6_libdir}/pkgconfig/*.pc


%changelog
* Thu Nov 30 2023 peijiankang <peijiankang@kylinos.cn> - 6.5.2-1
- update version to 6.5.2

* Wed Aug 09 2023 peijiankang <peijiankang@kylinos.cn> - 6.5.1-1
- 6.5.1

* Fri May 19 2023 EastDong <xudong23@iscas.ac.cn> - 6.5.0-1
- init package
