initial import
This commit is contained in:
217
qt4/PKGBUILD
Normal file
217
qt4/PKGBUILD
Normal file
@@ -0,0 +1,217 @@
|
||||
# Maintainer: Jesus E. <heckyel@riseup.net>
|
||||
|
||||
pkgname=qt4
|
||||
pkgver=4.8.7
|
||||
_debver=$pkgver
|
||||
_debrel=18
|
||||
pkgrel=23
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://www.qt.io'
|
||||
license=('custom:GPL-3+OpenSSL-Linking-Exception' 'LGPL-3' 'FDL-1.3' 'custom:LGPL-Exception-1.1')
|
||||
pkgdesc="A cross-platform application and UI framework (legacy version)"
|
||||
depends=('sqlite' 'ca-certificates' 'fontconfig' 'mesa-libgl' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
|
||||
'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'libmng' 'libressl')
|
||||
makedepends=('postgresql-libs' 'unixodbc' 'cups' 'gtk2' 'mesa' 'libxtst' 'quilt')
|
||||
optdepends=('postgresql-libs: PostgreSQL driver'
|
||||
'unixodbc: ODBC driver'
|
||||
'libxinerama: Xinerama support'
|
||||
'libxcursor: Xcursor support'
|
||||
'libxfixes: Xfixes support'
|
||||
'icu: Unicode support')
|
||||
replaces=('qt<=4.8.4')
|
||||
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
|
||||
source=("https://download.qt.io/archive/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
|
||||
"https://deb.debian.org/debian/pool/main/q/qt4-x11/qt4-x11_${_debver}+dfsg-${_debrel}+deb10u1.debian.tar.xz"
|
||||
"qtconfig-qt4.desktop"
|
||||
"assistant-qt4.desktop"
|
||||
"designer-qt4.desktop"
|
||||
"linguist-qt4.desktop"
|
||||
"improve-cups-support.patch"
|
||||
"moc-boost-workaround.patch"
|
||||
"glib-honor-ExcludeSocketNotifiers-flag.diff"
|
||||
"l-qclipboard_fix_recursive.patch"
|
||||
"l-qclipboard_delay.patch"
|
||||
"qt4-gcc6.patch"
|
||||
"qt4-glibc-2.25.patch"
|
||||
"qt4-icu59.patch"
|
||||
"moc-syslib-workaround.patch"
|
||||
"patch-src_network_ssl_qsslsocket_openssl_cpp.diff"
|
||||
"patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff"
|
||||
"libressl-2.8.patch")
|
||||
sha512sums=('f9f81a2e7205e1fd05c8d923dc73244f29aa33f951fa6b7c5c8193449328b37084796b9b71ad0c317e4e6fd00017c10ea5d67b1b2032551cde00548522218125'
|
||||
'e5659aeef85cd1273bf28d53011758b2ae884931884b62d89f48c3a7703276463e16da7e2a4c38a369b94a83ab7495b4e14dc3a27ea7f418dd2bddbe9afa04e0'
|
||||
'fbcc1ec9ca04b93941c37d02326f33f3a84cb7630ca83f234845eebdb1875676aa8b27553981d8d42b2d5fcf227c7423228f704efc74a5df25a9ae05c5385fda'
|
||||
'c08b74d70e557d968672ad3251c70e23d0447f30f5d62bc63f6165cbb8c372e63b96b1e61e8888e48bc4f589705c95951f9e05723cf998963ddb7585b0f2e246'
|
||||
'29b3f2b05e27b2c8db3967bb426dfd2ee96e0715e284fc524d58c33fff55756bbb327ba166af943ce5e3fe825b2a3fc44f85c96d5117d25036b3606d7a49047d'
|
||||
'fbe3e343678b6cf7f94c97d5fb151028afdfa2fd27a19cbd583da999782f5a71c61a9282fb6284271290b3f5370e6b214b2edd1c05ee1e09d6345389b98be961'
|
||||
'4a8f828c79bde81ab1e39c9eaba4ef553582d85b62d6d182dda02820c4c8e046de6a25cc77d228955ed37fbc5b55f697a0a464af0bb3e171849851639e9ef4ee'
|
||||
'b4eced1fe34f09baa987be59fd21a02f4209551f491ae113c9d1cc3c44b00494a909808e22db306bcae0ee4c4f996097ce2c23994b2ac067cf9f599da5a5fc71'
|
||||
'6d5216e539d93352cd5f5ca98b5296feba702feba1f198f81de650c399076f0161d8ae712ecd79f1c2833b00b5ce7d4c390e33bbeb7e5542c6860a58a6785cab'
|
||||
'bd63961bcb695beebe8686142b84bff7702db4d85d737f5c2da927252b931700d03602f80048223cbbb05d85a5ddb9cb818321d756577f84843690b318f0c413'
|
||||
'0215f81fd0ed3483d1f79f46a53d9378f7462901410f4bc3f235325974c155454b0e75cba5222180e5ca62099cba7b80419b5fab86380ac6d951b9ae12714444'
|
||||
'efe8e1842882b784a14ba137bc6a8a579d5133e579f98c61674f5d3d9b79ff8e895775a79fcf757f7726377cd221396a678d181fa069416b0760a5241d39845a'
|
||||
'a19e76d64bbbf148b088e3531135dc3ababd63ea8e71147dcf7d2966802abb2d83b839766882040e5c9efdea2e364d48bc38aa712dd35b850383c7747ffa9745'
|
||||
'483b382da8ad57f9792df1ad0c85948992d8293819c2774a381544235d9b6a7498b12beb3f9d7d06c4a814f8ded514973453314d71381368148d2fcbbf854e65'
|
||||
'087c76b5076708e9883a43f0fb7ff4016b937034823ec33edc95aab34a3d2dad7b184d8328d15f7efe6f33037e743bbee253d6c5450ee705f246ac755c9288db'
|
||||
'dd87bdb2c3e12f5247b5c36ffa9065eb0bfa9040193d48dcf87f25b808cce47aece9b9dadbc238c0aab4b6fc35aa7b6a3ee3aeb0943ee7deef8315e46c21a3af'
|
||||
'aaf3c7314c50717dce4697c69c316d516af47dff00c28355789f2e88ccdfb3d556b715a2ba5e54aae36900bb75ac03a15f2930ab4b9ee0e322326171617ac392'
|
||||
'413ebafa62f7a39ad569c6ecac47ca32bfe6e87bc07bccf86a732eaf51f152311db172eb197711e0f263e47b7f2c573026b2ee69ab9393b75573c499fa1593a4')
|
||||
|
||||
prepare() {
|
||||
cd ${_pkgfqn}
|
||||
|
||||
if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
|
||||
# Debian patches
|
||||
export QUILT_PATCHES=debian/patches
|
||||
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
|
||||
export QUILT_DIFF_ARGS='--no-timestamps'
|
||||
|
||||
mv "$srcdir"/debian .
|
||||
|
||||
# Doesn't apply and seems unimportant
|
||||
rm -v debian/patches/07_trust_dpkg-arch_over_uname-m.diff || true
|
||||
rm -v debian/patches/94_armv6_uname_entry.diff || true
|
||||
rm -v debian/patches/aarch64_arm64_qatomic_support.patch || true
|
||||
rm -v debian/patches/kfreebsd_monotonic_clock.diff || true
|
||||
rm -v debian/patches/no-ssl3.patch || true
|
||||
rm -v debian/patches/parisc-atomic.patch || true
|
||||
rm -v debian/patches/powerpc_designer_gstabs.diff || true
|
||||
rm -v debian/patches/powerpcspe.diff || true
|
||||
rm -v debian/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch || true
|
||||
rm -v debian/patches/s390x_jscore.diff || true
|
||||
rm -v debian/patches/sh.diff || true
|
||||
rm -v debian/patches/x32.diff || true
|
||||
rm -v debian/patches/openssl_1.1.patch || true
|
||||
rm -v debian/patches/riscv64-support.patch || true
|
||||
|
||||
quilt push -av
|
||||
else
|
||||
# Fix build with GCC6 (Fedora)
|
||||
patch -p1 -i "$srcdir"/qt4-gcc6.patch
|
||||
|
||||
# Fix build of Qt4 applications with glibc 2.25 (Fedora)
|
||||
patch -p1 -i "$srcdir"/qt4-glibc-2.25.patch
|
||||
fi
|
||||
|
||||
# QTBUG#22829
|
||||
patch -p1 -i "${srcdir}"/moc-boost-workaround.patch
|
||||
|
||||
# Workaround a bug where newer kernel headers sys/sysmacros.h define macros like major, minor (Void)
|
||||
patch -p1 -i "${srcdir}"/moc-syslib-workaround.patch
|
||||
|
||||
# (FS#28381) (KDEBUG#180051)
|
||||
patch -p1 -i "${srcdir}"/improve-cups-support.patch
|
||||
|
||||
# fixes for LibreOffice from the upstream Qt bug tracker FS#46436, FS#41648, FS#39819
|
||||
# https://bugreports.qt.io/browse/QTBUG-37380
|
||||
patch -p1 -i "${srcdir}"/glib-honor-ExcludeSocketNotifiers-flag.diff
|
||||
# https://bugreports.qt.io/browse/QTBUG-34614
|
||||
patch -p0 -i "${srcdir}"/l-qclipboard_fix_recursive.patch
|
||||
# https://bugreports.qt.io/browse/QTBUG-38585
|
||||
patch -p0 -i "${srcdir}"/l-qclipboard_delay.patch
|
||||
|
||||
# React to OpenSSL's OPENSSL_NO_SSL3 define (OpenBSD)
|
||||
patch -p1 -i "$srcdir"/patch-src_network_ssl_qsslsocket_openssl_cpp.diff
|
||||
patch -p1 -i "$srcdir"/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff
|
||||
|
||||
sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf
|
||||
sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf
|
||||
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf
|
||||
|
||||
cp mkspecs/common/linux{,32}.conf
|
||||
sed -i "/^QMAKE_LIBDIR\s/s|=|= /usr/lib32|g" mkspecs/common/linux32.conf
|
||||
sed -i "s|common/linux.conf|common/linux32.conf|" mkspecs/linux-g++-32/qmake.conf
|
||||
|
||||
# Fix build with ICU 59 (pld-linux)
|
||||
patch -p1 -i "$srcdir"/qt4-icu59.patch
|
||||
|
||||
# Fix build with LibreSSL 2.8 (Void)
|
||||
patch -p1 -i "$srcdir"/libressl-2.8.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
export QT4DIR="${srcdir}"/${_pkgfqn}
|
||||
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
|
||||
export CXXFLAGS+=" -std=gnu++98" # Fix build with GCC 6
|
||||
|
||||
cd ${_pkgfqn}
|
||||
|
||||
./configure -confirm-license -opensource \
|
||||
-prefix /usr \
|
||||
-bindir /usr/libexec/qt4/bin \
|
||||
-headerdir /usr/include/qt4 \
|
||||
-docdir /usr/share/doc/qt4 \
|
||||
-plugindir /usr/lib/qt4/plugins \
|
||||
-importdir /usr/lib/qt4/imports \
|
||||
-datadir /usr/share/qt4 \
|
||||
-translationdir /usr/share/qt4/translations \
|
||||
-sysconfdir /etc/xdg \
|
||||
-examplesdir /usr/share/doc/qt4/examples \
|
||||
-demosdir /usr/share/doc/qt4/demos \
|
||||
-plugin-sql-{psql,sqlite,odbc} \
|
||||
-system-sqlite \
|
||||
-no-phonon \
|
||||
-no-phonon-backend \
|
||||
-no-webkit \
|
||||
-graphicssystem raster \
|
||||
-openssl-linked \
|
||||
-nomake demos \
|
||||
-nomake examples \
|
||||
-nomake docs \
|
||||
-silent \
|
||||
-no-rpath \
|
||||
-optimized-qmake \
|
||||
-no-reduce-relocations \
|
||||
-no-dbus \
|
||||
-no-openvg
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${_pkgfqn}
|
||||
make INSTALL_ROOT="${pkgdir}" install
|
||||
|
||||
# install missing icons and desktop files
|
||||
install -D -m644 src/gui/dialogs/images/qtlogo-64.png \
|
||||
"${pkgdir}"/usr/share/icons/hicolor/64x64/apps/qt4logo.png
|
||||
install -D -m644 tools/assistant/tools/assistant/images/assistant.png \
|
||||
"${pkgdir}"/usr/share/icons/hicolor/32x32/apps/assistant-qt4.png
|
||||
install -D -m644 tools/assistant/tools/assistant/images/assistant-128.png \
|
||||
"${pkgdir}"/usr/share/icons/hicolor/128x128/apps/assistant-qt4.png
|
||||
install -D -m644 tools/designer/src/designer/images/designer.png \
|
||||
"${pkgdir}"/usr/share/icons/hicolor/128x128/apps/designer-qt4.png
|
||||
for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
|
||||
size=$(echo $(basename ${icon}) | cut -d- -f2)
|
||||
install -D -m644 ${icon} \
|
||||
"${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/linguist-qt4.png
|
||||
done
|
||||
install -d "${pkgdir}"/usr/share/applications
|
||||
install -m644 "${srcdir}"/{assistant,designer,linguist,qtconfig}-qt4.desktop \
|
||||
"${pkgdir}"/usr/share/applications/
|
||||
|
||||
# Useful symlinks for cmake and configure scripts
|
||||
install -d "${pkgdir}"/usr/bin
|
||||
for b in "${pkgdir}"/usr/libexec/qt4/bin/*; do
|
||||
ln -s /usr/libexec/qt4/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt4
|
||||
done
|
||||
|
||||
# install licenses
|
||||
install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
|
||||
install -D -m644 LICENSE.{FDL,GPL3,LGPLv3} LGPL_EXCEPTION.txt \
|
||||
${pkgdir}/usr/share/licenses/${pkgname}
|
||||
|
||||
# Fix wrong libs path in pkgconfig files
|
||||
find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \
|
||||
-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
|
||||
|
||||
# Fix wrong bins path in pkgconfig files
|
||||
find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \
|
||||
-exec sed -i 's|/usr/bin/|/usr/libexec/qt4/bin/|g' {} \;
|
||||
|
||||
# Fix wrong path in prl files
|
||||
find "${pkgdir}/usr/lib" -type f -name '*.prl' \
|
||||
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
|
||||
|
||||
# The TGA plugin is broken (FS#33568)
|
||||
rm "${pkgdir}"/usr/lib/qt4/plugins/imageformats/libqtga.so
|
||||
}
|
||||
9
qt4/assistant-qt4.desktop
Normal file
9
qt4/assistant-qt4.desktop
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Assistant
|
||||
Comment=Shows Qt4 documentation and examples
|
||||
Exec=assistant-qt4
|
||||
Icon=assistant-qt4
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;Documentation;
|
||||
11
qt4/designer-qt4.desktop
Normal file
11
qt4/designer-qt4.desktop
Normal file
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Designer
|
||||
GenericName=Interface Designer
|
||||
Comment=Design GUIs for Qt4 applications
|
||||
Exec=designer-qt4
|
||||
Icon=designer-qt4
|
||||
MimeType=application/x-designer;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
84
qt4/improve-cups-support.patch
Normal file
84
qt4/improve-cups-support.patch
Normal file
@@ -0,0 +1,84 @@
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
|
||||
@@ -569,6 +569,32 @@
|
||||
void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
|
||||
{
|
||||
options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
|
||||
+
|
||||
+ if (cups) {
|
||||
+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ options.duplexShort->setChecked(true);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ options.duplexLong->setChecked(true);
|
||||
+ else
|
||||
+ options.noDuplex->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ if (cups->currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups->currentPPD()->color_device)
|
||||
+ options.color->setChecked(true);
|
||||
+ else
|
||||
+ options.grayscale->setChecked(true);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups->ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
|
||||
--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
|
||||
@@ -627,6 +627,44 @@
|
||||
&& d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
|
||||
setOutputFormat(QPrinter::PdfFormat);
|
||||
}
|
||||
+
|
||||
+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
|
||||
+ // fill in defaults from ppd file
|
||||
+ QCUPSSupport cups;
|
||||
+
|
||||
+ int printernum = -1;
|
||||
+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
|
||||
+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
|
||||
+ printernum = i;
|
||||
+ }
|
||||
+ if (printernum >= 0) {
|
||||
+ cups.setCurrentPrinter(printernum);
|
||||
+
|
||||
+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
|
||||
+ if (duplex) {
|
||||
+ // copy default ppd duplex to qt dialog
|
||||
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
|
||||
+ setDuplex(DuplexShortSide);
|
||||
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
|
||||
+ setDuplex(DuplexLongSide);
|
||||
+ else
|
||||
+ setDuplex(DuplexNone);
|
||||
+ }
|
||||
+
|
||||
+ if (cups.currentPPD()) {
|
||||
+ // set default color
|
||||
+ if (cups.currentPPD()->color_device)
|
||||
+ setColorMode(Color);
|
||||
+ else
|
||||
+ setColorMode(GrayScale);
|
||||
+ }
|
||||
+
|
||||
+ // set collation
|
||||
+ const ppd_option_t *collate = cups.ppdOption("Collate");
|
||||
+ if (collate)
|
||||
+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
12
qt4/l-qclipboard_delay.patch
Normal file
12
qt4/l-qclipboard_delay.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200
|
||||
+++ src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200
|
||||
@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win
|
||||
return false;
|
||||
|
||||
XSync(X11->display, false);
|
||||
- usleep(50000);
|
||||
+ if (!XPending(X11->display))
|
||||
+ usleep(5000);
|
||||
|
||||
now.start();
|
||||
|
||||
94
qt4/l-qclipboard_fix_recursive.patch
Normal file
94
qt4/l-qclipboard_fix_recursive.patch
Normal file
@@ -0,0 +1,94 @@
|
||||
--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100
|
||||
+++ src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200
|
||||
@@ -255,22 +255,30 @@ struct GPostEventSource
|
||||
GSource source;
|
||||
QAtomicInt serialNumber;
|
||||
int lastSerialNumber;
|
||||
+ QEventLoop::ProcessEventsFlags processEventsFlags;
|
||||
QEventDispatcherGlibPrivate *d;
|
||||
};
|
||||
|
||||
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
|
||||
{
|
||||
+ GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
QThreadData *data = QThreadData::current();
|
||||
if (!data)
|
||||
return false;
|
||||
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+
|
||||
gint dummy;
|
||||
if (!timeout)
|
||||
timeout = &dummy;
|
||||
const bool canWait = data->canWaitLocked();
|
||||
*timeout = canWait ? -1 : 0;
|
||||
|
||||
- GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
return (!canWait
|
||||
|| (source->serialNumber != source->lastSerialNumber));
|
||||
}
|
||||
@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
|
||||
{
|
||||
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
|
||||
source->lastSerialNumber = source->serialNumber;
|
||||
- QCoreApplication::sendPostedEvents();
|
||||
- source->d->runTimersOnceWithNormalPriority();
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
|
||||
+ QCoreApplication::sendPostedEvents();
|
||||
+ source->d->runTimersOnceWithNormalPriority();
|
||||
+ }
|
||||
return true; // i dunno, george...
|
||||
}
|
||||
|
||||
@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
|
||||
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
|
||||
sizeof(GPostEventSource)));
|
||||
postEventSource->serialNumber = 1;
|
||||
+ postEventSource->processEventsFlags = QEventLoop::AllEvents;
|
||||
postEventSource->d = this;
|
||||
g_source_set_can_recurse(&postEventSource->source, true);
|
||||
g_source_attach(&postEventSource->source, mainContext);
|
||||
@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
|
||||
// tell postEventSourcePrepare() and timerSource about any new flags
|
||||
QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
|
||||
+ d->postEventSource->processEventsFlags = flags;
|
||||
d->timerSource->processEventsFlags = flags;
|
||||
d->socketNotifierSource->processEventsFlags = flags;
|
||||
|
||||
@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
|
||||
while (!result && canWait)
|
||||
result = g_main_context_iteration(d->mainContext, canWait);
|
||||
|
||||
+ d->postEventSource->processEventsFlags = savedFlags;
|
||||
d->timerSource->processEventsFlags = savedFlags;
|
||||
d->socketNotifierSource->processEventsFlags = savedFlags;
|
||||
|
||||
--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200
|
||||
+++ src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200
|
||||
@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
|
||||
|
||||
// we are awake, broadcast it
|
||||
emit awake();
|
||||
- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
+
|
||||
+ QEventLoop::ProcessEventsFlags excludeAllFlags
|
||||
+ = QEventLoop::ExcludeUserInputEvents
|
||||
+ | QEventLoop::ExcludeSocketNotifiers
|
||||
+ | QEventLoop::X11ExcludeTimers;
|
||||
+ if ((flags & excludeAllFlags) == excludeAllFlags)
|
||||
+ return false;
|
||||
+ if(( flags & excludeAllFlags ) != excludeAllFlags )
|
||||
+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||
|
||||
int nevents = 0;
|
||||
const bool canWait = (d->threadData->canWaitLocked()
|
||||
31
qt4/libressl-2.8.patch
Normal file
31
qt4/libressl-2.8.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-10-28 11:09:30.259495644 +0100
|
||||
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp 2018-10-28 11:10:29.941933269 +0100
|
||||
@@ -111,10 +111,10 @@
|
||||
DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
|
||||
DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
|
||||
DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
|
||||
-DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
|
||||
+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
|
||||
DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
|
||||
DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
|
||||
-DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
|
||||
DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
|
||||
|
||||
--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-10-28 11:20:59.516033387 +0100
|
||||
+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-10-28 11:20:31.770292922 +0100
|
||||
@@ -207,10 +207,10 @@
|
||||
int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
|
||||
long q_BIO_ctrl(BIO *a, int b, long c, void *d);
|
||||
int q_BIO_free(BIO *a);
|
||||
-BIO *q_BIO_new(BIO_METHOD *a);
|
||||
+BIO *q_BIO_new(const BIO_METHOD *a);
|
||||
BIO *q_BIO_new_mem_buf(void *a, int b);
|
||||
int q_BIO_read(BIO *a, void *b, int c);
|
||||
-BIO_METHOD *q_BIO_s_mem();
|
||||
+const BIO_METHOD *q_BIO_s_mem();
|
||||
int q_BIO_write(BIO *a, const void *b, int c);
|
||||
int q_BN_num_bits(const BIGNUM *a);
|
||||
int q_CRYPTO_num_locks();
|
||||
10
qt4/linguist-qt4.desktop
Normal file
10
qt4/linguist-qt4.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Linguist
|
||||
Comment=Add translations to Qt4 applications
|
||||
Exec=linguist-qt4
|
||||
Icon=linguist-qt4
|
||||
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
12
qt4/moc-boost-workaround.patch
Normal file
12
qt4/moc-boost-workaround.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -upr qt-everywhere-opensource-src-4.8.6.orig/src/tools/moc/main.cpp qt-everywhere-opensource-src-4.8.6/src/tools/moc/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.6.orig/src/tools/moc/main.cpp 2014-04-10 21:37:12.000000000 +0300
|
||||
+++ qt-everywhere-opensource-src-4.8.6/src/tools/moc/main.cpp 2014-11-06 02:24:44.287305916 +0200
|
||||
@@ -190,6 +190,8 @@ int runMoc(int _argc, char **_argv)
|
||||
|
||||
// Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
+ pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
||||
11
qt4/moc-syslib-workaround.patch
Normal file
11
qt4/moc-syslib-workaround.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2017-02-20 18:21:15.826212874 +0100
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2017-02-20 18:23:02.448342205 +0100
|
||||
@@ -192,6 +192,8 @@
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
|
||||
+ // Workaround a bug where newer kernel-libc-headers sys/sysmacros.h define macros like major, minor
|
||||
+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
||||
36
qt4/qt4-gcc6.patch
Normal file
36
qt4/qt4-gcc6.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
|
||||
--- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
|
||||
@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
|
||||
*-g++*)
|
||||
# Check gcc's version
|
||||
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
|
||||
- 5*|4*|3.4*)
|
||||
+ 8*|7*|6*|5*|4*|3.4*)
|
||||
;;
|
||||
3.3*)
|
||||
canBuildWebKit="no"
|
||||
@@ -8060,7 +8060,7 @@ g++*)
|
||||
3.*)
|
||||
COMPILER_VERSION="3.*"
|
||||
;;
|
||||
- 5*|4.*)
|
||||
+ 8*|7*|6*|5*|4.*)
|
||||
COMPILER_VERSION="4"
|
||||
;;
|
||||
*)
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6
|
||||
qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
|
||||
@@ -70,8 +70,8 @@ namespace QPatternist
|
||||
ForegroundShift = 10,
|
||||
BackgroundShift = 20,
|
||||
SpecialShift = 20,
|
||||
- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
|
||||
- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
|
||||
+ ForegroundMask = 0x1f << ForegroundShift,
|
||||
+ BackgroundMask = 0x7 << BackgroundShift
|
||||
};
|
||||
|
||||
public:
|
||||
30
qt4/qt4-glibc-2.25.patch
Normal file
30
qt4/qt4-glibc-2.25.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin
|
||||
qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h.majmin 2015-05-07 09:14:48.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h 2016-12-08 12:10:29.677359701 -0600
|
||||
@@ -52,7 +52,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))
|
||||
|
||||
#define QT_PACKAGEDATE_STR "2015-05-07"
|
||||
|
||||
diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 2015-05-07 09:14:44.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp 2016-12-08 12:32:46.638962448 -0600
|
||||
@@ -188,10 +188,12 @@ int runMoc(int _argc, char **_argv)
|
||||
pp.macros["Q_MOC_RUN"];
|
||||
pp.macros["__cplusplus"];
|
||||
|
||||
- // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
|
||||
+ // Workaround a bugs while parsing some boost headers. See QTBUG-22829
|
||||
pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
|
||||
pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
|
||||
pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
|
||||
+ pp.macros["BOOST_TYPE_TRAITS_HPP"];
|
||||
+ pp.macros["_SYS_SYSMACROS_H_OUTER"];
|
||||
|
||||
QByteArray filename;
|
||||
QByteArray output;
|
||||
11
qt4/qt4-icu59.patch
Normal file
11
qt4/qt4-icu59.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qlocale_icu.cpp~ 2017-04-25 07:42:22.000000000 +0000
|
||||
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qlocale_icu.cpp 2017-04-25 07:44:34.675363008 +0000
|
||||
@@ -43,6 +43,8 @@
|
||||
#include "qlibrary.h"
|
||||
#include "qdebug.h"
|
||||
|
||||
+#define UCHAR_TYPE unsigned short
|
||||
+
|
||||
#include "unicode/uversion.h"
|
||||
#include "unicode/ucol.h"
|
||||
|
||||
9
qt4/qtconfig-qt4.desktop
Normal file
9
qt4/qtconfig-qt4.desktop
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Qt4 Config
|
||||
Comment=Configure Qt4 behavior, styles, fonts
|
||||
Exec=qtconfig-qt4
|
||||
Icon=qt4logo
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Qt;Settings;
|
||||
NoDisplay=true
|
||||
Reference in New Issue
Block a user