main/qt: rebuild against mariadb-connector-c

This commit is contained in:
Natanael Copa 2018-03-23 09:35:53 +00:00
parent 6047506c80
commit a8ba9c41fb
3 changed files with 78 additions and 25 deletions

View File

@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qt pkgname=qt
pkgver=4.8.7 pkgver=4.8.7
pkgrel=8 pkgrel=9
pkgdesc="A cross-platform application and UI framework" pkgdesc="A cross-platform application and UI framework"
url="http://qt-project.org/" url="http://qt-project.org/"
arch="all" arch="all"
@ -16,7 +16,7 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-assistant $pkgname-config
depends_dev="mesa-dev libice-dev libsm-dev libx11-dev libxext-dev depends_dev="mesa-dev libice-dev libsm-dev libx11-dev libxext-dev
libxrender-dev alsa-lib-dev libressl-dev fontconfig-dev freetype-dev libxrender-dev alsa-lib-dev libressl-dev fontconfig-dev freetype-dev
glib-dev libpng-dev zlib-dev sqlite-dev dbus-dev" glib-dev libpng-dev zlib-dev sqlite-dev dbus-dev"
makedepends="$depends_dev postgresql-dev mariadb-dev unixodbc-dev cups-dev makedepends="$depends_dev postgresql-dev mariadb-connector-c-dev unixodbc-dev cups-dev
gtk+-dev tiff-dev libmng-dev libxrandr-dev libxv-dev libxi-dev perl gtk+-dev tiff-dev libmng-dev libxrandr-dev libxv-dev libxi-dev perl
gawk paxmark rsync freetds-dev hicolor-icon-theme mesa-gl" gawk paxmark rsync freetds-dev hicolor-icon-theme mesa-gl"
install= install=
@ -38,29 +38,23 @@ source="http://download.qt-project.org/official_releases/qt/4.8/$pkgver/qt-every
qt-everywhere-opensource-src-4.8.0-s390-atomic.patch qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
qt-everywhere-opensource-src-4.8.6-s390.patch qt-everywhere-opensource-src-4.8.6-s390.patch
qt-everywhere-opensource-src-4.8.7-mariadb.patch
qt-everywhere-opensource-src-4.8.7-icu59.patch
qt4-icu59.patch qt4-icu59.patch
" "
_builddir="$srcdir"/qt-everywhere-opensource-src-$pkgver builddir="$srcdir"/qt-everywhere-opensource-src-$pkgver
prepare() { prepare() {
cd "$_builddir" default_prepare
for i in $source; do
case $i in
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || return 1
;;
esac
done
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
} }
build() { build() {
cd "$_builddir" cd "$builddir"
unset QMAKESPEC unset QMAKESPEC
export QT4DIR="$_builddir" export QT4DIR="$builddir"
export PATH="${QT4DIR}/bin:${PATH}" export PATH="${QT4DIR}/bin:${PATH}"
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
# https://bugzilla.redhat.com/show_bug.cgi?id=1349951 # https://bugzilla.redhat.com/show_bug.cgi?id=1349951
@ -110,14 +104,15 @@ build() {
-opengl \ -opengl \
-no-openvg \ -no-openvg \
-glib \ -glib \
-v \
|| return 1 || return 1
qmake && make qmake && make
} }
package() { package() {
cd "$_builddir" cd "$builddir"
make INSTALL_ROOT="$pkgdir" install make INSTALL_ROOT="$pkgdir" install
rm -r "$pkgdir"/usr/tests || return 1 rm -r "$pkgdir"/usr/tests
paxmark -m "$pkgdir"/usr/bin/qmlviewer "$pkgdir"/usr/bin/designer \ paxmark -m "$pkgdir"/usr/bin/qmlviewer "$pkgdir"/usr/bin/designer \
|| return 1 || return 1
@ -136,7 +131,7 @@ package() {
install -d ${pkgdir}/usr/share/applications install -d ${pkgdir}/usr/share/applications
for i in linguist designer assistant qtconfig; do for i in linguist designer assistant qtconfig; do
install -m644 "${srcdir}"/$i.desktop \ install -m644 "${srcdir}"/$i.desktop \
"${pkgdir}"/usr/share/applications/ || return 1 "${pkgdir}"/usr/share/applications/
done done
# install license addition # install license addition
@ -157,7 +152,7 @@ _mv_files() {
local i local i
for i in "$@"; do for i in "$@"; do
mkdir -p "$subpkgdir"/${i%/*} mkdir -p "$subpkgdir"/${i%/*}
mv "$pkgdir"/$i "$subpkgdir"/$i || return 1 mv "$pkgdir"/$i "$subpkgdir"/$i
done done
} }
@ -177,7 +172,7 @@ dev() {
qcollectiongenerator qdbuscpp2xml qdbusxml2cpp qdoc3 \ qcollectiongenerator qdbuscpp2xml qdbusxml2cpp qdoc3 \
qhelpconverter qhelpgenerator qmake qt3to4 qttracereplay \ qhelpconverter qhelpgenerator qmake qt3to4 qttracereplay \
rcc uic uic3 xmlpatterns xmlpatternsvalidator \ rcc uic uic3 xmlpatterns xmlpatternsvalidator \
"$subpkgdir"/usr/bin/ || return 1 "$subpkgdir"/usr/bin/
cd "$pkgdir" cd "$pkgdir"
_mv_files $(find * -name 'designer*') \ _mv_files $(find * -name 'designer*') \
@ -187,13 +182,13 @@ dev() {
assistant() { assistant() {
pkgdesc="Documentation browser for Qt" pkgdesc="Documentation browser for Qt"
cd "$pkgdir" cd "$pkgdir"
_mv_files $(find * -name 'assistant*') || return 1 _mv_files $(find * -name 'assistant*')
} }
config() { config() {
pkgdesc="Graphical configuration tool for programs using Qt" pkgdesc="Graphical configuration tool for programs using Qt"
cd "$pkgdir" cd "$pkgdir"
_mv_files $(find * -name 'qt*config*') || return 1 _mv_files $(find * -name 'qt*config*')
} }
sqlite() { sqlite() {
@ -231,9 +226,9 @@ webkit() {
pkgdesc="Qt Webkit libraries" pkgdesc="Qt Webkit libraries"
mkdir -p "$subpkgdir"/usr/lib/qt/imports mkdir -p "$subpkgdir"/usr/lib/qt/imports
mv "$pkgdir"/usr/lib/libQtWebKit.so.* \ mv "$pkgdir"/usr/lib/libQtWebKit.so.* \
"$subpkgdir"/usr/lib/ || return 1 "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/qt/imports/QtWebKit \ mv "$pkgdir"/usr/lib/qt/imports/QtWebKit \
"$subpkgdir"/usr/lib/qt/imports/ || return 1 "$subpkgdir"/usr/lib/qt/imports/
} }
x11() { x11() {
@ -263,7 +258,7 @@ x11() {
private() { private() {
pkgdesc="Private headers for Qt toolkit" pkgdesc="Private headers for Qt toolkit"
cd "$_builddir" cd "$builddir"
mkdir -p "$subpkgdir"/usr mkdir -p "$subpkgdir"/usr
rsync -aR \ rsync -aR \
include/QtCore/private \ include/QtCore/private \
@ -274,7 +269,7 @@ private() {
src/declarative/*/*_p.h \ src/declarative/*/*_p.h \
src/gui/*/*_p.h \ src/gui/*/*_p.h \
src/script/*/*_p.h \ src/script/*/*_p.h \
"$subpkgdir"/usr || return 1 "$subpkgdir"/usr
} }
lang() { lang() {
@ -300,4 +295,6 @@ bde982ca01a6ee6a5d10a08babd8474e67e84932d996b1e19970e75fa4a9b71a08e81065a13f0a1c
bf316db4fbd3dfae40aad25573a201c7acc2fb5e34daff73e074a7c0232d9952f392c08b3b1271c7444c5d7da4d7d03fc56efee86a58a4578a9140739d45a616 gcc-6.2.1-workaround.patch bf316db4fbd3dfae40aad25573a201c7acc2fb5e34daff73e074a7c0232d9952f392c08b3b1271c7444c5d7da4d7d03fc56efee86a58a4578a9140739d45a616 gcc-6.2.1-workaround.patch
b079084fab01eb048151fec287e2bc8b2db756eaf3d8aadb98ef86bcca18f4a0a8319c06f94cdbbc67cf7792fd2d1780682fd0594a18444368f9fad10e7ba852 qt-everywhere-opensource-src-4.8.0-s390-atomic.patch b079084fab01eb048151fec287e2bc8b2db756eaf3d8aadb98ef86bcca18f4a0a8319c06f94cdbbc67cf7792fd2d1780682fd0594a18444368f9fad10e7ba852 qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
89dbf72732cbec3ddeb5542049e4b810863e121697103212de89401d965fa228cdad5b94efaf5ce00a4e5dae43855a287fda8be47bfb12e3858149da19bece63 qt-everywhere-opensource-src-4.8.6-s390.patch 89dbf72732cbec3ddeb5542049e4b810863e121697103212de89401d965fa228cdad5b94efaf5ce00a4e5dae43855a287fda8be47bfb12e3858149da19bece63 qt-everywhere-opensource-src-4.8.6-s390.patch
e06b6dbd9446a84cbe955e96db1a5065a11a1c1e1ceb937d71950eb4006896965df447faf66c024ced2749b6da471a67bdac2e71307dc47a25570e11f9518a62 qt-everywhere-opensource-src-4.8.7-mariadb.patch
2be14f8e1921971497f059eb95fbc0c5a388ee404062543469ff89351b22cae6ff15690ecf399691c9f48cc548ac07b87903b83b3da58e183a80d9b0db17649d qt-everywhere-opensource-src-4.8.7-icu59.patch
ecd443bd64d1bc6a1f919ff81a57714de0eae0744861a12a68b4f2fa0a96ccbef7c6c1d924492cc0f8188aa6ceb2206e60e5030edccce9417d8135958d473c70 qt4-icu59.patch" ecd443bd64d1bc6a1f919ff81a57714de0eae0744861a12a68b4f2fa0a96ccbef7c6c1d924492cc0f8188aa6ceb2206e60e5030edccce9417d8135958d473c70 qt4-icu59.patch"

View File

@ -0,0 +1,28 @@
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Fix build with ICU >= 59
ICU >= 59 requires C++11 for its header files.
Qt can't be compiled with -std=c++11 as a whole, so only enable
it for qlocale_icu.cpp.
Index: qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
===================================================================
--- qt-everywhere-opensource-src-4.8.7.orig/src/corelib/tools/tools.pri
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/tools.pri
@@ -102,7 +102,15 @@ contains(QT_CONFIG, zlib):include($$PWD/
else:include($$PWD/../../3rdparty/zlib_dependency.pri)
contains(QT_CONFIG,icu) {
- SOURCES += tools/qlocale_icu.cpp
+ cpp11.name = cpp11
+ cpp11.input = SOURCES_CPP11
+ cpp11.dependency_type = TYPE_C
+ cpp11.variable_out = OBJECTS
+ cpp11.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
+ cpp11.commands = $${QMAKE_CXX} $(CXXFLAGS) -std=c++11 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ QMAKE_EXTRA_COMPILERS += cpp11
+
+ SOURCES_CPP11 += tools/qlocale_icu.cpp
DEFINES += QT_USE_ICU
}

View File

@ -0,0 +1,28 @@
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp.mariadb 2015-05-07 09:14:48.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/mysql/qsql_mysql.cpp 2017-10-23 14:13:15.871808984 -0500
@@ -1105,11 +1105,16 @@ static void qLibraryInit()
}
# endif // MYSQL_VERSION_ID
#endif // Q_NO_MYSQL_EMBEDDED
+
+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
+ qAddPostRoutine(mysql_server_end);
+#endif
}
static void qLibraryEnd()
{
#ifndef Q_NO_MYSQL_EMBEDDED
+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
# if MYSQL_VERSION_ID > 40000
# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
mysql_library_end();
@@ -1118,6 +1123,7 @@ static void qLibraryEnd()
# endif
# endif
#endif
+#endif
}
QMYSQLDriver::QMYSQLDriver(QObject * parent)