qt6-qtwebchannel/qt6-qtwebchannel.spec
2023-08-11 15:34:18 +08:00

114 lines
3.0 KiB
RPMSpec

%global qt_module qtwebchannel
%global examples 1
Summary: Qt6 - WebChannel component
Name: qt6-%{qt_module}
Version: 6.5.1
Release: 1
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://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: cmake
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: qt6-rpm-macros
BuildRequires: qt6-qtbase-devel >= %{version}
BuildRequires: qt6-qtbase-private-devel
#libQt6Core.so.6(Qt_5_PRIVATE_API)(64bit)
%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}}
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtwebsockets-devel
BuildRequires: pkgconfig(xkbcommon) >= 0.5.0
BuildRequires: openssl-devel
%description
The Qt WebChannel module provides a library for seamless integration of C++
and QML applications with HTML/JavaScript clients. Any QObject can be
published to remote clients, where its public API becomes available.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt6-qtbase-devel%{?_isa}
%description devel
%{summary}.
%if 0%{?examples}
%package examples
Summary: Programming examples for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
# BuildRequires: qt6-qtwebchannel-devel >= %{version}
%description examples
%{summary}.
%endif
%prep
%autosetup -n %{qt_module}-everywhere-src-%{version} -p1
%build
%cmake_qt6 -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF}
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}/libQt6WebChannel.so.6*
%{_qt6_qmldir}/QtWebChannel/
%files devel
%{_qt6_headerdir}/QtWebChannel/
%{_qt6_libdir}/libQt6WebChannel.so
%{_qt6_libdir}/libQt6WebChannel.prl
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtWebChannelTestsConfig.cmake
%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake
%dir %{_qt6_libdir}/cmake/Qt6WebChannel/
%{_qt6_libdir}/cmake/Qt6WebChannel/*.cmake
%{_qt6_mkspecsdir}/modules/qt_lib_webchannel*.pri
%{_qt6_archdatadir}/metatypes/qt6*_metatypes.json
%{_qt6_archdatadir}/modules/*.json
%{_qt6_libdir}/pkgconfig/*.pc
%if 0%{?examples}
%files examples
%{_qt6_examplesdir}/
%endif
%changelog
* Thu Aug 10 2023 sunhui <sunhui@kylinos.cn> - 6.5.1-1
- Update package to version 6.5.1
* Fri May 19 2023 EastDong <xudong23@iscas.ac.cn> - 6.5.0-1
- update package
* Wed Nov 30 2022 Jingwiw <wangjingwei@iscas.ac.cn> - 6.4.0-1
- init package