Package init

This commit is contained in:
dogsheng 2019-11-19 11:55:48 +08:00
commit 44ab674078
17 changed files with 667 additions and 0 deletions

14
10-qt5-check-opengl2.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/bash
if [ -z "$QT_XCB_FORCE_SOFTWARE_OPENGL" ]; then
QT5_CHECK_OPENGL_VERSION=`LANG=C glxinfo 2> /dev/null | grep '^OpenGL version string: ' | head -n 1 | sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g'` ||:
if [ "$QT5_CHECK_OPENGL_VERSION" == "1" ]; then
QT_XCB_FORCE_SOFTWARE_OPENGL=1
export QT_XCB_FORCE_SOFTWARE_OPENGL
fi
unset QT5_CHECK_OPENGL_VERSION
fi

4
macros.qt5-qtbase Normal file
View File

@ -0,0 +1,4 @@
%_qt5 @@NAME@@
%_qt5_epoch @@EPOCH@@
%_qt5_version @@VERSION@@
%_qt5_evr @@EVR@@

23
qconfig-multilib.h Normal file
View File

@ -0,0 +1,23 @@
/* qconfig.h */
/* This file is here to prevent a file conflict on multiarch systems. A
* conflict will occur because qconfig.h has arch-specific definitions.
*
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
#ifndef QCONFIG_MULTILIB_H
#define QCONFIG_MULTILIB_H
#ifndef __WORDSIZE
#include <bits/wordsize.h>
#endif
#if __WORDSIZE == 32
#include "QtCore/qconfig-32.h"
#elif __WORDSIZE == 64
#include "QtCore/qconfig-64.h"
#else
#error "unexpected value for __WORDSIZE macro"
#endif
#endif

View File

@ -0,0 +1,32 @@
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
index 234f880..7b13671 100644
--- a/src/plugins/sqldrivers/configure.json
+++ b/src/plugins/sqldrivers/configure.json
@@ -50,11 +50,12 @@
"ibase": {
"label": "InterBase",
"test": {
- "include": "ibase.h"
+ "include": "firebird/ibase.h"
},
"sources": [
{ "libs": "-lgds32_ms", "condition": "config.win32" },
- { "libs": "-lgds", "condition": "!config.win32" }
+ { "libs": "-lgds", "condition": "!config.win32" },
+ { "libs": "-lfbclient", "condition": "!config.win32" }
]
},
"mysql": {
diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
index c7cee41..6a9c56c 100644
--- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
+++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
@@ -52,7 +52,7 @@
//
#include <QtSql/qsqldriver.h>
-#include <ibase.h>
+#include <firebird/ibase.h>
#ifdef QT_PLUGIN
#define Q_EXPORT_SQLDRIVER_IBASE

13
qt5-qtbase-cxxflag.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
index e7e6ee1..ff2a939 100644
--- a/mkspecs/common/gcc-base.conf
+++ b/mkspecs/common/gcc-base.conf
@@ -32,7 +32,7 @@
#
QMAKE_CFLAGS_OPTIMIZE = -O2
-QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
+QMAKE_CFLAGS_OPTIMIZE_FULL = -O2
QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os

53
qt5-qtbase-glibc.patch Normal file
View File

@ -0,0 +1,53 @@
diff -up qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h
--- qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc 2018-06-15 09:29:31.000000000 +0200
+++ qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h 2018-07-26 15:40:56.887961897 +0200
@@ -72,7 +72,9 @@
#include <sys/time.h>
#include <sys/shm.h>
#include <sys/socket.h>
+#if 0
#include <sys/stat.h>
+#endif
#include <sys/wait.h>
#include <netinet/in.h>
diff -up qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp
--- qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc 2018-06-15 09:29:31.000000000 +0200
+++ qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp 2018-07-26 16:34:54.346840184 +0200
@@ -50,7 +50,9 @@
#include <pwd.h>
#include <stdlib.h> // for realpath()
#include <sys/types.h>
+#if 0
#include <sys/stat.h>
+#endif
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
@@ -91,7 +93,9 @@ extern "C" NSString *NSTemporaryDirector
# include <sys/syscall.h>
# include <sys/sendfile.h>
# include <linux/fs.h>
+#if 0
# include <linux/stat.h>
+#endif
// in case linux/fs.h is too old and doesn't define it:
#ifndef FICLONE
@@ -105,13 +109,13 @@ extern "C" NSString *NSTemporaryDirector
# undef SYS_renameat2
# undef SYS_statx
# undef STATX_BASIC_STATS
-# else
-# if !QT_CONFIG(renameat2) && defined(SYS_renameat2)
+# else
+# if 0 && !QT_CONFIG(renameat2) && defined(SYS_renameat2)
static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags)
{ return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
# endif
-# if !QT_CONFIG(statx) && defined(SYS_statx)
+# if 0 && !QT_CONFIG(statx) && defined(SYS_statx)
static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
# elif !QT_CONFIG(statx) && !defined(SYS_statx)

403
qt5-qtbase.spec Normal file
View File

@ -0,0 +1,403 @@
%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$
%global __requires_exclude_from ^%{_qt5_plugindir}/platformthemes/.*$
%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%global priority 10
%ifarch x86_64
%global priority 15
%endif
%if 0%{?use_clang}
%global platform linux-clang
%endif
Name: qt5-qtbase
Summary: Core component of Qt toolkit
Version: 5.11.1
Release: 8
License: LGPLv2 with exceptions or GPLv3 with exceptions
Url: http://qt-project.org/
Source0: https://download.qt.io/official_releases/qt/5.11/%{version}/submodules/qtbase-everywhere-src-%{version}.tar.xz
Source1: qtlogging.ini
Source2: qconfig-multilib.h
Source3: 10-qt5-check-opengl2.sh
Source4: macros.qt5-qtbase
Patch0001: qtbase-multilib_optflags.patch
Patch0002: qtbase-opensource-src-5.3.2-QTBUG-35459.patch
Patch0003: tell-the-truth-about-private-api.patch
Patch0004: qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch
Patch0005: qtbase-hidpi_scale_at_192.patch
Patch0006: qtbase-opensource-src-5.7.1-moc_macros.patch
Patch0007: qtbase-qmake_LFLAGS.patch
Patch0008: qt5-qtbase-cxxflag.patch
Patch0009: qt5-qtbase-5.9.1-firebird.patch
Patch0010: qtbase-everywhere-src-5.11.1-python3.patch
Patch0011: qt5-qtbase-glibc.patch
BuildRequires: pkgconfig(libsystemd) cups-devel desktop-file-utils findutils
BuildRequires: libjpeg-devel libmng-devel libtiff-devel pkgconfig(alsa)
BuildRequires: pkgconfig(atspi-2) pkgconfig(dbus-1) pkgconfig(libdrm)
BuildRequires: pkgconfig(fontconfig) pkgconfig(gl) pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk+-3.0) pkgconfig(libproxy-1.0) pkgconfig(ice) pkgconfig(sm)
BuildRequires: pkgconfig(libpng) pkgconfig(libudev) openssl-devel%{?openssl11: >= 1.1}
BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib)
BuildRequires: pkgconfig(xkeyboard-config) pkgconfig(egl) pkgconfig(gbm) pkgconfig(glesv2)
BuildRequires: pkgconfig(sqlite3) >= 3.7 pkgconfig(icu-i18n) pkgconfig(libpcre2-posix) >= 10.20
BuildRequires: pkgconfig(libpcre) >= 8.0 pkgconfig(xcb-xkb) pkgconfig(xcb) pkgconfig(xcb-glx)
BuildRequires: pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-renderutil) pkgconfig(zlib) perl-generators qt5-rpm-macros
%if 0%{?use_clang}
BuildRequires: clang >= 3.7.0
%else
BuildRequires: gcc-c++
%endif
%if 0%{?tests}
BuildRequires: dbus-x11 mesa-dri-drivers time xorg-x11-server-Xvfb
%endif
%if 0%{?use_clang}
BuildRequires: clang >= 3.7.0
%else
BuildRequires: gcc-c++
%endif
Requires(post): chkconfig
Requires(postun): chkconfig
Requires: qt-settings %{name}-common = %{version}-%{release}
Provides: bundled(libxkbcommon) = 0.4.1
%description
This package provides base tools, such as string, xml, and network
handling.
%package common
Summary: Common files for qt5-qtbase
Obsoletes: qt5-qtquick1 < 5.9.0 qt5-qtquick1-devel < 5.9.0
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description common
The qt5-qtbase-common package contains common files for qt5-qtbase.
%package devel
Summary: Library and header files for qt5-qtbase
Requires: %{name} = %{version}-%{release} %{name}-gui pkgconfig(egl) pkgconfig(gl)
Requires: qt5-rpm-macros pkgconfig(fontconfig) pkgconfig(glib-2.0) pkgconfig(zlib)
%if 0%{?use_clang}
Requires: clang >= 3.7.0
%endif
Provides: %{name}-private-devel = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release} %{name}-examples = %{version}-%{release}
Obsoletes: %{name}-static < %{version}-%{release} %{name}-examples < %{version}-%{release}
%description devel
The qt5-qtbase-devel contains libraries and header files for qt5-qtbase.
%package mysql
Summary: MySQL driver for Qt5's SQL classes
BuildRequires: mariadb-connector-c-devel
Requires: %{name} = %{version}-%{release}
%description mysql
Qt5-qtbase-mysql provides MySQL driver for Qt5's SQL classes.
%package odbc
Summary: ODBC driver for Qt5's SQL classes
BuildRequires: unixODBC-devel
Requires: %{name} = %{version}-%{release}
%description odbc
Qt5-qtbase-odbc provides ODBC driver for Qt5's SQL classes.
%package postgresql
Summary: PostgreSQL driver for Qt5's SQL classes
BuildRequires: postgresql-devel
Requires: %{name} = %{version}-%{release}
%description postgresql
Qt5-qtbase-postgresql provides postgreSQL driver for Qt5's SQL classes.
%package gui
Summary: Qt5 GUI-related libraries
Requires: %{name} = %{version}-%{release} glx-utils
Provides: qt5-qtbase-x11 = %{version}-%{release}
Obsoletes: qt5-qtbase-x11 < 5.2.0
%description gui
qt5-qtbase-gui is a library helps to draw widgets and OpenGL items with.
%prep
%autosetup -n qtbase-everywhere-src-%{version} -p1
pushd src/3rdparty
mkdir UNUSED
mv freetype libjpeg libpng zlib sqlite xcb UNUSED/
popd
test -x configure || chmod +x configure
sed -i -e "s|^#!/usr/bin/env perl$|#!%{__perl}|" \
bin/fixqt4headers.pl bin/syncqt.pl mkspecs/features/data/unix/findclasslist.pl
%build
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
RPM_OPT_FLAGS="$RPM_OPT_FLAGS %{?qt5_arm_flag} %{?qt5_deprecated_flag} %{?qt5_null_flag}"
%if 0%{?use_clang}
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fno-delete-null-pointer-checks||g'`
%endif
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS" CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS"
export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS" MAKEFLAGS="%{?_smp_mflags}"
./configure -verbose -confirm-license -opensource -prefix %{_qt5_prefix} \
-archdatadir %{_qt5_archdatadir} -bindir %{_qt5_bindir} -libdir %{_qt5_libdir} \
-libexecdir %{_qt5_libexecdir} -datadir %{_qt5_datadir} -docdir %{_qt5_docdir} \
-examplesdir %{_qt5_examplesdir} -headerdir %{_qt5_headerdir} -importdir %{_qt5_importdir} \
-plugindir %{_qt5_plugindir} -sysconfdir %{_qt5_sysconfdir} -translationdir %{_qt5_translationdir} \
-platform linux-g++ -release -shared -accessibility -dbus-linked -fontconfig -glib -gtk \
-no-sql-ibase -icu -journald -optimized-qmake -openssl-linked %{!?tests:-nomake tests} -no-pch \
-no-rpath -no-separate-debug-info -no-strip -system-libjpeg -system-libpng %{?harfbuzz} -system-pcre \
-system-sqlite -no-sql-tds %{?xcb} -qt-xkbcommon -system-zlib %{?use_gold_linker} -no-directfb \
QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}"
make clean -C qmake
%make_build -C qmake all binary QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \
QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}" QMAKE_STRIP=
%make_build
%install
make install INSTALL_ROOT=%{buildroot}
install -m644 -p -D %{SOURCE1} %{buildroot}%{_qt5_datadir}/qtlogging.ini
cat >%{buildroot}%{_libdir}/pkgconfig/Qt5.pc<<EOF
prefix=%{_qt5_prefix}
archdatadir=%{_qt5_archdatadir}
bindir=%{_qt5_bindir}
datadir=%{_qt5_datadir}
docdir=%{_qt5_docdir}
examplesdir=%{_qt5_examplesdir}
headerdir=%{_qt5_headerdir}
importdir=%{_qt5_importdir}
libdir=%{_qt5_libdir}
libexecdir=%{_qt5_libexecdir}
moc=%{_qt5_bindir}/moc
plugindir=%{_qt5_plugindir}
qmake=%{_qt5_bindir}/qmake
settingsdir=%{_qt5_settingsdir}
sysconfdir=%{_qt5_sysconfdir}
translationdir=%{_qt5_translationdir}
Name: Qt5
Description: Qt5 Configuration
Version: %{version}
EOF
install -p -m644 -D %{SOURCE4} %{buildroot}%{rpm_macros_dir}/macros.qt5-qtbase
sed -i -e "s|@@NAME@@|%{name}|g;s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \
-e "s|@@VERSION@@|%{version}|g;s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \
%{buildroot}%{rpm_macros_dir}/macros.qt5-qtbase
install -d %{buildroot}{%{_qt5_archdatadir}/mkspecs/modules,%{_qt5_importdir},%{_qt5_libexecdir}}
install -d %{buildroot}{%{_qt5_plugindir}/{designer,iconengines,script,styles},%{_qt5_translationdir}}
install -d %{buildroot}{%{_sysconfdir}/xdg/QtProject,%{_bindir}}
pushd %{buildroot}%{_qt5_bindir}
for file in * ; do
case "${file}" in
moc|qdbuscpp2xml|qdbusxml2cpp|qmake|rcc|syncqt|uic)
ln -v ${file} %{buildroot}%{_bindir}/${file}-qt5
ln -sv ${file} ${file}-qt5
;;
*)
ln -v ${file} %{buildroot}%{_bindir}/${file}
;;
esac
done
popd
%ifarch x86_64
pushd %{buildroot}%{_qt5_headerdir}/QtCore
mv qconfig.h qconfig-%{__isa_bits}.h
popd
install -p -m644 -D %{SOURCE2} %{buildroot}%{_qt5_headerdir}/QtCore/qconfig.h
%endif
install -d %{buildroot}%{_sysconfdir}/xdg/qtchooser
pushd %{buildroot}%{_sysconfdir}/xdg/qtchooser
echo "%{_qt5_bindir}" > 5-%{__isa_bits}.conf
echo "%{_qt5_prefix}" >> 5-%{__isa_bits}.conf
touch default.conf 5.conf
popd
pushd %{buildroot}%{_qt5_libdir}
for file in libQt5*.prl ; do
sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${file}
if [ -f "$(basename ${file} .prl).so" ]; then
rm -fv "$(basename ${file} .prl).la"
sed -i -e "/^QMAKE_PRL_LIBS/d" ${file}
fi
done
popd
install -p -m755 -D %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh
privat_header_file=%{buildroot}%{_qt5_headerdir}/QtCore/%{version}/QtCore/private/qconfig_p.h
grep -v QT_FEATURE_sse2 $privat_header_file > ${privat_header_file}.me
mv ${privat_header_file}.me ${privat_header_file}
cat >>${privat_header_file}<<EOF
EOF
install -d %{buildroot}%{_qt5_headerdir}/QtXcb
install -m644 src/plugins/platforms/xcb/*.h %{buildroot}%{_qt5_headerdir}/QtXcb/
%check
export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig
test "$(pkg-config --modversion Qt5)" = "%{version}"
%if 0%{?tests}
export CTEST_OUTPUT_ON_FAILURE=1 PATH=%{buildroot}%{_qt5_bindir}:$PATH
export LD_LIBRARY_PATH=%{buildroot}%{_qt5_libdir}
dbus-launch --exit-with-session %make_build sub-tests -k ||:
xvfb-run -a --server-args="-screen 0 1280x1024x32" \
dbus-launch --exit-with-session time make check -k ||:
%endif
%pre
if [ $1 -gt 1 ] ; then
%{_sbindir}/update-alternatives --remove qtchooser-qt5 \
%{_sysconfdir}/xdg/qtchooser/qt5-%{__isa_bits}.conf >& /dev/null ||:
%{_sbindir}/update-alternatives --remove qtchooser-default \
%{_sysconfdir}/xdg/qtchooser/qt5.conf >& /dev/null ||:
fi
%post
%{?ldconfig}
%{_sbindir}/update-alternatives --install %{_sysconfdir}/xdg/qtchooser/5.conf \
qtchooser-5 %{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf %{priority}
%{_sbindir}/update-alternatives --install %{_sysconfdir}/xdg/qtchooser/default.conf \
qtchooser-default %{_sysconfdir}/xdg/qtchooser/5.conf %{priority}
%postun
%{?ldconfig}
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove qtchooser-5 \
%{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf
%{_sbindir}/update-alternatives --remove qtchooser-default \
%{_sysconfdir}/xdg/qtchooser/5.conf
fi
%files
%license LICENSE.LGPL* LGPL_EXCEPTION.txt LICENSE.FDL
%dir %{_sysconfdir}/xdg/qtchooser
%ghost %{_sysconfdir}/xdg/qtchooser/default.conf
%ghost %{_sysconfdir}/xdg/qtchooser/5.conf
%{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf
%dir %{_qt5_docdir}/
%dir %{_qt5_datadir}/
%dir %{_qt5_archdatadir}/
%dir %{_qt5_libexecdir}/
%dir %{_sysconfdir}/xdg/QtProject/
%dir %{_qt5_libdir}/cmake/{Qt5/,Qt5Concurrent/,Qt5Core/,Qt5DBus/,Qt5Gui/}
%dir %{_qt5_libdir}/cmake/{Qt5Network/,Qt5OpenGL/,Qt5PrintSupport/,Qt5Sql/}
%dir %{_qt5_libdir}/cmake/{Qt5Test/,Qt5Widgets/,Qt5Xml/}
%dir %{_qt5_plugindir}/{designer/,generic/,iconengines/,imageformats/}
%dir %{_qt5_plugindir}/{platforminputcontexts/,platforms/,platformthemes/}
%dir %{_qt5_plugindir}/{printsupport/,script/,sqldrivers/,styles/,bearer/}
%if "%{_qt5_prefix}" != "%{_prefix}"
%dir %{_qt5_prefix}/
%endif
%{_qt5_docdir}/global/
%{_qt5_importdir}/
%{_qt5_translationdir}/
%{_qt5_datadir}/qtlogging.ini
%{_qt5_plugindir}/sqldrivers/libqsqlite.so
%{_qt5_plugindir}/bearer/{libqconnmanbearer,libqgenericbearer,libqnmbearer}.so
%{_qt5_libdir}/{libQt5Concurrent,libQt5Core,libQt5DBus,libQt5Network}.so.5*
%{_qt5_libdir}/{libQt5Sql,libQt5Test,libQt5Xml}.so.5*
%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake
%{_qt5_libdir}/cmake/Qt5Network/Qt5Network_Q*EnginePlugin.cmake
%files common
%{rpm_macros_dir}/macros.qt5-qtbase
%files devel
%if "%{_qt5_bindir}" != "%{_bindir}"
%dir %{_qt5_bindir}
%endif
%if "%{_qt5_headerdir}" != "%{_includedir}"
%dir %{_qt5_headerdir}
%endif
%{_bindir}/{qlalr,fixqt4headers.pl,qvkgen}
%{_bindir}/{moc*,qdbuscpp2xml*,qdbusxml2cpp*,qmake*,rcc*,syncqt*,uic*}
%{_qt5_bindir}/{moc*,qdbuscpp2xml*,qdbusxml2cpp*,qmake*,rcc*}
%{_qt5_bindir}/{syncqt*,uic*,qlalr,fixqt4headers.pl,qvkgen}
%{_qt5_headerdir}/Qt*Support
%{_qt5_headerdir}/{QtConcurrent/,QtCore/,QtDBus/,QtGui/,QtNetwork/,QtOpenGL/,QtOpenGLExtensions/}
%{_qt5_headerdir}/{QtPlatformHeaders/,QtSql/,QtTest/,QtWidgets/}
%{_qt5_headerdir}/{QtXcb/,QtXml/,QtEglFSDeviceIntegration}
%{_qt5_archdatadir}/mkspecs/
%{_qt5_libdir}/libQt5*.{so,*a,prl}
%{_qt5_libdir}/cmake/Qt5/{Qt5Config*,Qt5ModuleLocation}.cmake
%{_qt5_libdir}/cmake/Qt5OpenGLExtensions/
%{_qt5_libdir}/cmake/Qt5Concurrent/Qt5ConcurrentConfig*.cmake
%{_qt5_libdir}/cmake/Qt5Core/{Qt5CoreConfig*,Qt5CoreMacros,Qt5CTestMacros}.cmake
%{_qt5_libdir}/cmake/Qt5DBus/{Qt5DBusConfig*,Qt5DBusMacros}.cmake
%{_qt5_libdir}/cmake/Qt5Gui/Qt5GuiConfig*.cmake
%{_qt5_libdir}/cmake/Qt5Network/Qt5NetworkConfig*.cmake
%{_qt5_libdir}/cmake/Qt5OpenGL/Qt5OpenGLConfig*.cmake
%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupportConfig*.cmake
%{_qt5_libdir}/cmake/Qt5Sql/Qt5SqlConfig*.cmake
%{_qt5_libdir}/cmake/Qt5Test/Qt5TestConfig*.cmake
%{_qt5_libdir}/cmake/Qt5Widgets/{Qt5WidgetsConfig*,Qt5WidgetsMacros}.cmake
%{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake
%{_qt5_libdir}/pkgconfig/Qt5*.pc
%{_qt5_libdir}/libQt5EglFsKmsSupport.{prl,so}
%{_qt5_examplesdir}/
%files mysql
%{_qt5_plugindir}/sqldrivers/libqsqlmysql.so
%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake
%files odbc
%{_qt5_plugindir}/sqldrivers/libqsqlodbc.so
%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake
%files postgresql
%{_qt5_plugindir}/sqldrivers/libqsqlpsql.so
%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake
%post gui -p /sbin/ldconfig
%postun gui -p /sbin/ldconfig
%files gui
%dir %{_sysconfdir}/X11/xinit/xinitrc.d/
%dir %{_qt5_plugindir}/egldeviceintegrations/
%{_sysconfdir}/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh
%{_qt5_libdir}/{libQt5Gui,libQt5OpenGL,libQt5PrintSupport,libQt5Widgets,libQt5XcbQpa}.so.5*
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*Plugin.cmake
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*PlatformInputContextPlugin.cmake
%{_qt5_libdir}/{libQt5EglFSDeviceIntegration,libQt5EglFsKmsSupport}.so.5*
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*IntegrationPlugin.cmake
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*ThemePlugin.cmake
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake
%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake
%{_qt5_plugindir}/generic/{libqevdev*plugin,libqtuiotouchplugin}.so
%{_qt5_plugindir}/imageformats/{libqgif,libqico,libqjpeg}.so
%{_qt5_plugindir}/platforminputcontexts/lib*platforminputcontextplugin.so
%{_qt5_plugindir}/platforms/{libqeglfs,libqminimalegl}.so
%{_qt5_plugindir}/xcbglintegrations/libqxcb-*-integration.so
%{_qt5_plugindir}/egldeviceintegrations/libqeglfs-*-integration.so
%{_qt5_plugindir}/platforms/{libqlinuxfb,libqminimal,libqoffscreen,libqxcb,libqvnc}.so
%{_qt5_plugindir}/platformthemes/{libqflatpak,libqgtk3}.so
%{_qt5_plugindir}/printsupport/libcupsprintersupport.so
%changelog
* Thu Nov 07 2019 yanzhihua <yanzhihua4@huawei.com> - 5.11.1-8
- Package init

View File

@ -0,0 +1,9 @@
diff -up qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py.me qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py
--- qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py.me 2018-06-23 11:29:21.750066271 +0200
+++ qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py 2018-06-23 11:30:07.457292033 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#############################################################################
##

Binary file not shown.

View File

@ -0,0 +1,13 @@
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index ec0f9ba..6d0d7a6 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -747,7 +747,7 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
m_sizeMillimeters = sizeInMillimeters(geometry.size(), virtualDpi());
qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4);
- m_pixelDensity = qMax(1, qRound(dpi/96));
+ m_pixelDensity = qMax(1, (int) (dpi/96)); // instead of rounding at 1.5, round at 2.0 (same as GNOME)
m_geometry = geometry;
m_availableGeometry = geometry & m_virtualDesktop->workArea();
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);

View File

@ -0,0 +1,33 @@
diff -r -u a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf
--- a/mkspecs/linux-g++/qmake.conf 2015-10-30 06:20:01.000000000 -0200
+++ b/mkspecs/linux-g++/qmake.conf 2015-11-05 11:23:23.230741601 -0200
@@ -5,6 +5,7 @@
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
+QMAKE_CFLAGS_RELEASE += -O2
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
diff -r -u a/mkspecs/linux-g++-32/qmake.conf b/mkspecs/linux-g++-32/qmake.conf
--- a/mkspecs/linux-g++-32/qmake.conf 2015-10-30 06:20:01.000000000 -0200
+++ b/mkspecs/linux-g++-32/qmake.conf 2015-11-05 11:22:19.761494470 -0200
@@ -10,6 +10,7 @@
QMAKE_CFLAGS = -m32
QMAKE_LFLAGS = -m32
+QMAKE_CFLAGS_RELEASE += -O2
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
diff -r -u a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf
--- a/mkspecs/linux-g++-64/qmake.conf 2015-10-30 06:20:01.000000000 -0200
+++ b/mkspecs/linux-g++-64/qmake.conf 2015-11-05 11:22:49.497610248 -0200
@@ -13,6 +13,7 @@
QMAKE_CFLAGS = -m64
QMAKE_LFLAGS = -m64
+QMAKE_CFLAGS_RELEASE += -O2
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

View File

@ -0,0 +1,13 @@
diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp
diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h
--- qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 2014-09-11 05:48:05.000000000 -0500
+++ qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h 2014-09-16 09:35:01.189255615 -0500
@@ -223,7 +223,7 @@ private:
// for the DTD currently being parsed.
static const int dtdRecursionLimit = 2;
// The maximum amount of characters an entity value may contain, after expansion.
- static const int entityCharacterLimit = 1024;
+ static const int entityCharacterLimit = 4096;
const QString &string();
void stringClear();

View File

@ -0,0 +1,15 @@
diff -up qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_WORDSIZE qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp
--- qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_WORDSIZE 2016-12-01 02:17:04.000000000 -0600
+++ qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp 2016-12-08 12:37:28.931589338 -0600
@@ -179,6 +179,11 @@ int runMoc(int argc, char **argv)
Moc moc;
pp.macros["Q_MOC_RUN"];
pp.macros["__cplusplus"];
+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
+ Macro macro;
+ macro.symbols = Preprocessor::tokenize(QByteArray::number(Q_PROCESSOR_WORDSIZE*8), 1, Preprocessor::TokenizeDefine);
+ macro.symbols.removeLast(); // remove the EOF symbol
+ pp.macros.insert("__WORDSIZE", macro);
// Don't stumble over GCC extensions
Macro dummyVariadicFunctionMacro;

View File

@ -0,0 +1,11 @@
--- qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h.orig 2017-01-26 10:45:40.905010896 +0100
+++ qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h 2017-01-26 10:46:50.299858887 +0100
@@ -55,7 +55,7 @@
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
-#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
+#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch))
#ifdef QT_BOOTSTRAPPED
#include <QtCore/qconfig-bootstrapped.h>

12
qtbase-qmake_LFLAGS.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up qtbase-everywhere-src-5.10.1/qmake/Makefile.unix.qmake_LFLAGS qtbase-everywhere-src-5.10.1/qmake/Makefile.unix
--- qtbase-everywhere-src-5.10.1/qmake/Makefile.unix.qmake_LFLAGS 2018-02-08 12:24:48.000000000 -0600
+++ qtbase-everywhere-src-5.10.1/qmake/Makefile.unix 2018-02-15 10:25:07.077763061 -0600
@@ -142,7 +142,7 @@ CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
-DQT_NO_FOREACH
CXXFLAGS = $(EXTRA_CXXFLAGS) $(CONFIG_CXXFLAGS) $(CPPFLAGS)
-LFLAGS = $(EXTRA_LFLAGS) $(CONFIG_LFLAGS)
+LFLAGS = $(EXTRA_LFLAGS) $(CONFIG_LFLAGS) $(QMAKE_LFLAGS_RELEASE)
first all: $(BUILD_PATH)/bin/qmake$(EXEEXT)
qmake: $(BUILD_PATH)/bin/qmake$(EXEEXT)

3
qtlogging.ini Normal file
View File

@ -0,0 +1,3 @@
[Rules]
*.debug=false
qt.qpa.xcb.xcberror.warning=false

View File

@ -0,0 +1,16 @@
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index e6a0d97..cf93041 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -216,9 +216,9 @@ android: CONFIG += qt_android_deps no_linker_version_script
QMAKE_LFLAGS += $${QMAKE_LFLAGS_VERSION_SCRIPT}$$verscript
internal_module {
- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API { *; };"
+ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API { *; };"
} else {
- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API {" \
+ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API {" \
" qt_private_api_tag*;"
private_api_headers = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.QPA_HEADER_FILES