initial import

This commit is contained in:
2025-06-22 20:39:04 -05:00
commit f8a70886f0
3428 changed files with 302546 additions and 0 deletions

217
qt4/PKGBUILD Normal file
View 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
}

View 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
View 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;

View 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
}
/*!

View 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();

View 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
View 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
View 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;

View 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;

View 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
View 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
View 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
View 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
View 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