!1 Init Package for openEuler

From: @peijiankang 
Reviewed-by: @dou33 
Signed-off-by: @dou33
This commit is contained in:
openeuler-ci-bot 2023-04-23 09:56:28 +00:00 committed by Gitee
commit a3a8b6d97d
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 221 additions and 0 deletions

65
macros.qt6 Normal file
View File

@ -0,0 +1,65 @@
# SPDX-License-Identifier: MIT
%_qt6_build_type RelWithDebInfo
%_qt6_build_tool ninja
%_qt6_prefix %{_prefix}
%_qt6_archdatadir %{_libdir}/qt6
%_qt6_bindir %{_libdir}/qt6/bin
%_qt6_datadir %{_datadir}/qt6
%_qt6_docdir %{_docdir}/qt6
%_qt6_examplesdir %{_qt6_archdatadir}/examples
%_qt6_headerdir %{_includedir}/qt6
%_qt6_includedir %{_includedir}/qt6
%_qt6_importdir %{_qt6_archdatadir}/imports
%_qt6_libdir %{_libdir}
%_qt6_libexecdir %{_qt6_archdatadir}/libexec
%_qt6_mkspecsdir %{_qt6_archdatadir}/mkspecs
%_qt6_plugindir %{_qt6_archdatadir}/plugins
%_qt6_qmldir %{_qt6_archdatadir}/qml
%_qt6_qmake @@QMAKE@@
%_qt6_settingsdir %{_sysconfdir}/xdg
%_qt6_sysconfdir %{_qt6_settingsdir}
%_qt6_translationdir %{_datadir}/qt6/translations
%_qt6_cflags %{nil}@@QT6_CFLAGS@@
%_qt6_cxxflags %{nil}@@QT6_CXXFLAGS@@
%_qt6_ldflags %{nil}%{?__global_ldflags} @@QT6_RPM_LD_FLAGS@@
%_qt6_optflags %{optflags} @@QT6_RPM_OPT_FLAGS@@
%_qt6_qmake_flags \\\
QMAKE_CFLAGS_DEBUG="${CFLAGS:-%{_qt6_optflags} %{?_qt6_cflags}}" \\\
QMAKE_CFLAGS_RELEASE="${CFLAGS:-%{_qt6_optflags} %{?_qt6_cflags}}" \\\
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%{_qt6_optflags} %{?_qt6_cxxflags}}" \\\
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%{_qt6_optflags} %{?_qt6_cxxflags}}" \\\
QMAKE_LFLAGS_DEBUG="${LDFLAGS:-%{_qt6_ldflags}}" \\\
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-%{_qt6_ldflags}}" \\\
QMAKE_STRIP=
%qmake_qt6 %{_qt6_qmake} %{?_qt6_qmake_flags}
%qmake_qt6_wrapper @@QMAKE_QT6_WRAPPER@@
%cmake_qt6 \
%cmake -DCMAKE_BUILD_TYPE=%{_qt6_build_type} \\\
-DCMAKE_INSTALL_PREFIX=%{_qt6_prefix} \\\
%if "%_qt6_build_tool" == "ninja" \
-GNinja \\\
%else \
-G"Unix Makefiles" \\\
%endif \
-DCMAKE_INSTALL_PREFIX=%{_qt6_prefix} \\\
-DINSTALL_ARCHDATADIR=%{_qt6_archdatadir} \\\
-DINSTALL_BINDIR=%{_qt6_bindir} \\\
-DINSTALL_LIBDIR=%{_qt6_libdir} \\\
-DINSTALL_LIBEXECDIR=%{_qt6_libexecdir} \\\
-DINSTALL_DATADIR=%{_qt6_datadir} \\\
-DINSTALL_DOCDIR=%{_qt6_docdir} \\\
-DINSTALL_INCLUDEDIR=%{_qt6_headerdir} \\\
-DINSTALL_EXAMPLESDIR=%{_qt6_examplesdir} \\\
-DINSTALL_MKSPECSDIR=%{_qt6_mkspecsdir} \\\
-DINSTALL_PLUGINSDIR=%{_qt6_plugindir} \\\
-DINSTALL_QMLDIR=%{_qt6_qmldir} \\\
-DINSTALL_SYSCONFDIR=%{_qt6_sysconfdir} \\\
-DINSTALL_TRANSLATIONSDIR=%{_qt6_translationdir} \\\
-DQT_DISABLE_RPATH=TRUE

2
macros.qt6-srpm Normal file
View File

@ -0,0 +1,2 @@
%qt6_qtwebengine_arches %{ix86} x86_64 %{arm} aarch64 riscv64 sw_64 loongarch64

6
qmake-qt6.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
QMAKE="$(rpm --eval %{_qt6_qmake})"
QMAKE_FLAGS="$(rpm --eval %{?_qt6_qmake_flags})"
eval $QMAKE $QMAKE_FLAGS $@

144
qt6.spec Normal file
View File

@ -0,0 +1,144 @@
Name: qt6
Version: 6.5.0
Release: 1
Summary: Qt6 meta package
License: GPL-3.0-only
Source0: macros.qt6
Source1: macros.qt6-srpm
Source2: qmake-qt6.sh
BuildArch: noarch
Requires: qt6-qt3d
Requires: qt6-qt5compat
Requires: qt6-qtbase
Requires: qt6-qtbase-gui
Requires: qt6-qtbase-mysql
Requires: qt6-qtbase-postgresql
Requires: qt6-qtcharts
Requires: qt6-qtconnectivity
Requires: qt6-qtdatavis3d
Requires: qt6-qtdeclarative
Requires: qt6-qtdoc
Requires: qt6-qtimageformats
Requires: qt6-qtlocation
Requires: qt6-qtlottie
Requires: qt6-qtmultimedia
Requires: qt6-qtnetworkauth
Requires: qt6-qtquick3d
Requires: qt6-qtquicktimeline
Requires: qt6-qtremoteobjects
Requires: qt6-qtscxml
Requires: qt6-qtsensors
Requires: qt6-qtserialbus
Requires: qt6-qtserialport
Requires: qt6-qtshadertools
Requires: qt6-qtsvg
Requires: qt6-qttools
Requires: qt6-qtvirtualkeyboard
Requires: qt6-qtwayland
Requires: qt6-qtwebchannel
Requires: qt6-qtwebsockets
%description
%{summary}.
%package devel
Summary: Qt6 meta devel package
Requires: qt6-designer
Requires: qt6-linguist
Requires: qt6-qdoc
Requires: qt6-qhelpgenerator
Requires: qt6-qt3d-devel
Requires: qt6-qt5compat-devel
Requires: qt6-qtbase-devel
Requires: qt6-qtbase-static
Requires: qt6-qtcharts-devel
Requires: qt6-qtconnectivity-devel
Requires: qt6-qtdatavis3d-devel
Requires: qt6-qtdeclarative-devel
Requires: qt6-qtdeclarative-static
Requires: qt6-qtimageformats-devel
Requires: qt6-qtlocation-devel
Requires: qt6-qtlottie-devel
Requires: qt6-qtmultimedia-devel
Requires: qt6-qtnetworkauth-devel
Requires: qt6-qtquick3d-devel
Requires: qt6-qtquicktimeline-devel
Requires: qt6-qtremoteobjects-devel
Requires: qt6-qtscxml-devel
Requires: qt6-qtsensors-devel
Requires: qt6-qtserialbus-devel
Requires: qt6-qtserialport-devel
Requires: qt6-qtshadertools-devel
Requires: qt6-qtsvg-devel
Requires: qt6-qttools-devel
Requires: qt6-qttools-static
Requires: qt6-qtvirtualkeyboard-devel
Requires: qt6-qtwayland-devel
Requires: qt6-qtwebchannel-devel
Requires: qt6-qtwebsockets-devel
Requires: qt6-rpm-macros
%description devel
%{summary}.
%package rpm-macros
Summary: RPM macros for building Qt6 and KDE Frameworks 5 packages
Requires: cmake >= 3
Requires: gcc-c++
%description rpm-macros
%{summary}.
%package srpm-macros
Summary: RPM macros for source Qt6 packages
%description srpm-macros
%{summary}.
%install
install -Dpm644 %{SOURCE0} %{buildroot}%{_rpmconfigdir}/macros.d/macros.qt6
install -Dpm644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.qt6-srpm
install -Dpm755 %{SOURCE2} %{buildroot}%{_bindir}/qmake-qt6.sh
mkdir -p %{buildroot}%{_datadir}/qt6/wrappers
ln -s %{_bindir}/qmake-qt6.sh %{buildroot}%{_datadir}/qt6/wrappers/qmake-qt6
ln -s %{_bindir}/qmake-qt6.sh %{buildroot}%{_datadir}/qt6/wrappers/qmake
# substitute custom flags, and the path to binaries: binaries referenced from
# macros should not change if an application is built with a different prefix.
# %_libdir is left as /usr/%{_lib} (e.g.) so that the resulting macros are
# architecture independent, and don't hardcode /usr/lib or /usr/lib64.
sed -i \
-e "s|@@QT6_CFLAGS@@|%{?qt6_cflags}|g" \
-e "s|@@QT6_CXXFLAGS@@|%{?qt6_cxxflags}|g" \
-e "s|@@QT6_RPM_LD_FLAGS@@|%{?qt6_rpm_ld_flags}|g" \
-e "s|@@QT6_RPM_OPT_FLAGS@@|%{?qt6_rpm_opt_flags}|g" \
-e "s|@@QMAKE@@|%{_prefix}/%%{_lib}/qt6/bin/qmake|g" \
-e "s|@@QMAKE_QT6_WRAPPER@@|%{_bindir}/qmake-qt6.sh|g" \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.qt6
%if 0%{?metapackage}
mkdir -p %{buildroot}%{_docdir}/qt6
mkdir -p %{buildroot}%{_docdir}/qt6-devel
echo "- Qt6 meta package" > %{buildroot}%{_docdir}/qt6/README
echo "- Qt6 devel meta package" > %{buildroot}%{_docdir}/qt6-devel/README
%files
%{_docdir}/qt6/README
%files devel
%{_docdir}/qt6-devel/README
%endif
%files rpm-macros
%{_rpmmacrodir}/macros.qt6
%{_bindir}/qmake-qt6.sh
%{_datadir}/qt6/wrappers/
%files srpm-macros
%{_rpmmacrodir}/macros.qt6-srpm
%changelog
* Sun Apr 23 2023 peijiankang <peijiankang@kylinos.cn> - 6.5.0-1
- 6.5.0

4
qt6.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: git
src_repo: https://gitee.com/openeuler/qt6.git
tag_prefix: ^v
separator: .