From 9c78d6a6f71782162cc3e4af48a8b1d851648e86 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich <kevin@archlinuxarm.org> Date: Sat, 6 Jul 2013 19:22:08 +0000 Subject: [PATCH] extra/qt5 to 5.1.0-1 --- extra/qt5/PKGBUILD | 153 ++++++++++++++++++++-------------- extra/qt5/assistant.desktop | 2 +- extra/qt5/designer.desktop | 2 +- extra/qt5/gcc48.patch | 63 -------------- extra/qt5/linguist.desktop | 2 +- extra/qt5/qdbusviewer.desktop | 9 ++ extra/qt5/qt5-base.install | 11 --- extra/qt5/use-python2.patch | 11 +++ 8 files changed, 112 insertions(+), 141 deletions(-) delete mode 100644 extra/qt5/gcc48.patch create mode 100644 extra/qt5/qdbusviewer.desktop delete mode 100644 extra/qt5/qt5-base.install diff --git a/extra/qt5/PKGBUILD b/extra/qt5/PKGBUILD index 4e0c90e15..22517a972 100644 --- a/extra/qt5/PKGBUILD +++ b/extra/qt5/PKGBUILD @@ -7,28 +7,29 @@ # - disabled distcc, restricted makeflags to -j3 # - enabled opengl es2, mesa makedepend for headers # - added Raspberry Pi patches for armv6h -# - disable docs highmem=1 -noautobuild=1 pkgbase=qt5 pkgname=('qt5-base' 'qt5-declarative' -# 'qt5-doc' 'qt5-graphicaleffects' 'qt5-imageformats' 'qt5-jsbackend' 'qt5-multimedia' 'qt5-quick1' + 'qt5-quickcontrols' 'qt5-script' + 'qt5-sensors' + 'qt5-serialport' 'qt5-svg' 'qt5-tools' 'qt5-translations' 'qt5-webkit' + 'qt5-x11extras' 'qt5-xmlpatterns') -pkgver=5.0.2 -pkgrel=2.1 +pkgver=5.1,0 +pkgrel=1 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL') @@ -37,31 +38,29 @@ makedepends=('libxcb' 'xcb-proto' 'xcb-util' 'xcb-util-image' 'xcb-util-wm' 'xcb 'libjpeg-turbo' 'cups' 'libpulse' 'hicolor-icon-theme' 'desktop-file-utils' 'postgresql-libs' 'libmariadbclient' 'sqlite' 'unixodbc' 'python2' 'ruby' 'gperf' 'libxslt' 'libxcomposite' 'fontconfig' - 'libmng' 'openal' 'gtk2' 'mesa') + 'libmng' 'openal' 'gtk2' 'mesa' 'libxkbcommon') groups=('qt' 'qt5') options=('!libtool' '!distcc') _pkgfqn="qt-everywhere-opensource-src-${pkgver}" -source=("http://releases.qt-project.org/${pkgbase}/${pkgver}/single/${_pkgfqn}.tar.xz" - 'assistant.desktop' 'designer.desktop' 'linguist.desktop' - 'use-python2.patch' 'gcc48.patch' +source=("http://download.qt-project.org/official_releases/qt/5.1/${pkgver}/single/${_pkgfqn}.tar.xz" + 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop' + 'use-python2.patch' 'deppath_gnu.patch' 'rpi.patch' 'undef_B0.patch') md5sums=('2cab3518d86fe8f0638c7faea8b46397' - 'f1837a03fd0ebbd2da58975845f278e3' - '480fea1ed076992b688373c8db274be0' - '5595c24d5bb942c21e3a4d299e6d0bf1' - 'd6ab43fb371be494e3bfd9b210c40bf1' - '7927028e2374321c78a76df858e723d6' + 'b2897dd6a2967bccf8f10e397aafee55' + '9638a78e502719ef8fe5f8d10d0361a9' + '188da8f4c87316e730ebf1c6217bf5a0' + '322b419b16c75d4de0ee7ad0a246caa1' + '92831f79144d5cb8121915423ba47575' '27f2a06c6d363338ffe5e5dba96821d9' '54ce1583d83f5e7e4b64bf89ea7cab99' '3740dc700c9c43379b0da6c10d2f6c6e') -build() { +prepare() { cd ${_pkgfqn} MAKEFLAGS="-j3" - export QTDIR="${srcdir}"/${_pkgfqn} - export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} if [ "$CARCH" == 'armv6h' ]; then export CXXFLAGS=${CXXFLAGS}" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" fi @@ -76,20 +75,24 @@ build() { -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ $(find . -name '*.py') - # GCC 4.8 fixes - cd qtbase - patch -p1 -i "${srcdir}"/gcc48.patch - # Raspberry Pi if [ "$CARCH" == 'armv6h' ]; then + cd qtbase patch -p1 -i "${srcdir}"/deppath_gnu.patch patch -p1 -i "${srcdir}"/rpi.patch patch -p1 -i "${srcdir}"/undef_B0.patch rbp_config="-device linux-rasp-pi-g++ -eglfs" - fi cd ../ + fi +} - ./configure -confirm-license -opensource \ +build() { + cd ${_pkgfqn} + + export QTDIR="${srcdir}"/${_pkgfqn} + export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} + + PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \ -prefix /usr \ -bindir /usr/lib/qt/bin \ -docdir /usr/share/doc/qt \ @@ -120,29 +123,16 @@ build() { $rbp_config make - - # build docs - #make docs - - # build examples - for m in qtbase qtdeclarative qtmultimedia qtquick1 qtscript qtsvg qttools \ - qtwebkit-examples-and-demos qtxmlpatterns; do - cd ${m}/examples - ${QTDIR}/qtbase/bin/qmake - make - cd ../../ - done } package_qt5-base() { pkgdesc='A cross-platform application and UI framework' depends=('libjpeg-turbo' 'xcb-util-keysyms' 'libgl' 'dbus' 'fontconfig' 'systemd' 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'libpng' 'xcb-util-image' - 'hicolor-icon-theme' 'xdg-utils' 'icu' 'qtchooser') + 'icu' 'qtchooser' 'libxkbcommon') optdepends=('postgresql-libs: PostgreSQL driver' 'libmariadbclient: MariaDB driver' 'unixodbc: ODBC driver') - install='qt5-base.install' conflicts=('qt') cd ${_pkgfqn}/qtbase @@ -186,26 +176,6 @@ package_qt5-declarative() { done } -#package_qt5-doc() { -# pkgdesc='A cross-platform application and UI framework (Documentation and Examples)' -# depends=('qt5-base') -# conflicts=('qt-doc') -# replaces=('qt-doc') -# provides=('qt-doc') -# options=('docs') -# groups=() -# -# cd ${_pkgfqn} -# make INSTALL_ROOT="${pkgdir}" install_docs -# -# for m in qtbase qtdeclarative qtmultimedia qtquick1 qtscript qtsvg qttools \ -# qtwebkit-examples-and-demos qtxmlpatterns; do -# cd ${m}/examples -# make INSTALL_ROOT="${pkgdir}" install -# cd ../../ -# done -#} - package_qt5-jsbackend() { pkgdesc='A cross-platform application and UI framework (QtV8)' depends=('qt5-base') @@ -287,6 +257,20 @@ package_qt5-quick1() { # 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/' {} \; + + # Useful symlinks + install -d "${pkgdir}"/usr/bin + for b in "${pkgdir}"/usr/lib/qt/bin/*; do + ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5 + done +} + +package_qt5-quickcontrols() { + pkgdesc='A cross-platform application and UI framework (QtQuick)' + depends=('qt5-declarative') + + cd ${_pkgfqn}/qtquickcontrols + make INSTALL_ROOT="${pkgdir}" install } package_qt5-script() { @@ -302,6 +286,30 @@ package_qt5-script() { -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; } +package_qt5-sensors() { + pkgdesc='A cross-platform application and UI framework (QtSensors)' + depends=('qt5-declarative') + + cd ${_pkgfqn}/qtsensors + make INSTALL_ROOT="${pkgdir}" install + + # 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/' {} \; +} + +package_qt5-serialport() { + pkgdesc='A cross-platform application and UI framework (QtSerialPort)' + depends=('qt5-base') + + cd ${_pkgfqn}/qtserialport + make INSTALL_ROOT="${pkgdir}" install + + # 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/' {} \; +} + package_qt5-svg() { pkgdesc='A cross-platform application and UI framework (QtSvg)' depends=('qt5-base') @@ -317,8 +325,9 @@ package_qt5-svg() { package_qt5-tools() { pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)' - depends=('qt5-webkit' 'desktop-file-utils' 'qt5-translations') -# optdepends=('qt5-doc: documentation') + depends=('qt5-webkit' 'desktop-file-utils' 'qt5-translations' 'hicolor-icon-theme' + 'xdg-utils') + optdepends=('qt5-doc: documentation') install='qt5-tools.install' conflicts=('qt') @@ -332,14 +341,18 @@ package_qt5-tools() { "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png" done - install -p -D -m644 src/assistant/assistant/images/assistant.png \ + install -D -m644 src/assistant/assistant/images/assistant.png \ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png" - install -p -D -m644 src/assistant/assistant/images/assistant-128.png \ + install -D -m644 src/assistant/assistant/images/assistant-128.png \ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/assistant.png" - install -p -D -m644 src/designer/src/designer/images/designer.png \ + install -D -m644 src/designer/src/designer/images/designer.png \ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png" + install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer.png \ + "${pkgdir}/usr/share/icons/hicolor/32x32/apps/qdbusviewer.png" + install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ + "${pkgdir}/usr/share/icons/hicolor/128x128/apps/qdbusviewer.png" install -d "${pkgdir}/usr/share/applications" - install -m644 "${srcdir}"/{linguist,designer,assistant}.desktop \ + install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \ "${pkgdir}/usr/share/applications/" # Fix wrong path in prl files @@ -355,7 +368,7 @@ package_qt5-tools() { package_qt5-webkit() { pkgdesc='A cross-platform application and UI framework (QtWebKit)' - depends=('qt5-declarative' 'gstreamer0.10-base' 'libxslt' 'libxcomposite') + depends=('qt5-declarative' 'gstreamer0.10-base' 'libxslt' 'libxcomposite' 'qt5-sensors') cd ${_pkgfqn}/qtwebkit make INSTALL_ROOT="${pkgdir}" install @@ -367,3 +380,15 @@ package_qt5-webkit() { # Fix wrong path in pc file perl -pi -e "s, -L${srcdir}/?\S+,,g" "${pkgdir}"/usr/lib/pkgconfig/Qt5WebKit.pc } + +package_qt5-x11extras() { + pkgdesc='A cross-platform application and UI framework (QtX11Extras)' + depends=('qt5-base') + + cd ${_pkgfqn}/qtx11extras + make INSTALL_ROOT="${pkgdir}" install + + # 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/' {} \; +} diff --git a/extra/qt5/assistant.desktop b/extra/qt5/assistant.desktop index 37ff84b44..9d6100438 100644 --- a/extra/qt5/assistant.desktop +++ b/extra/qt5/assistant.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=Qt Assistant Comment=Shows Qt documentation and examples -Exec=/usr/bin/assistant +Exec=/usr/lib/qt/bin/assistant Icon=assistant Terminal=false Type=Application diff --git a/extra/qt5/designer.desktop b/extra/qt5/designer.desktop index f0b381d02..86aefe020 100644 --- a/extra/qt5/designer.desktop +++ b/extra/qt5/designer.desktop @@ -2,7 +2,7 @@ Name=Qt Designer GenericName=Interface Designer Comment=Design GUIs for Qt applications -Exec=/usr/bin/designer +Exec=/usr/lib/qt/bin/designer Icon=designer MimeType=application/x-designer; Terminal=false diff --git a/extra/qt5/gcc48.patch b/extra/qt5/gcc48.patch deleted file mode 100644 index 03b205b68..000000000 --- a/extra/qt5/gcc48.patch +++ /dev/null @@ -1,63 +0,0 @@ -# Author: David E. Narváez <david.narvaez@computer.org> -# AuthorDate: 2013-02-23 23:14:50 -0500 -# Commit: David E. Narváez <david.narvaez@computer.org> -# CommitDate: 2013-02-23 23:14:50 -0500 -# -# Rename qAbs Function for timeval -# -# This decouples it from qAbs which is declared as a constexpr under -# certain compilation flags and enables for qtbase to be compiled with -# GCC 4.8 -# -# Change-Id: I78e02256ffc8b460ca74ae5241e77dfac4e09ba9 -diff --git a/src/corelib/kernel/qtimerinfo_unix.cpp b/src/corelib/kernel/qtimerinfo_unix.cpp -index 0eee425..7a29247 100644 ---- a/src/corelib/kernel/qtimerinfo_unix.cpp -+++ b/src/corelib/kernel/qtimerinfo_unix.cpp -@@ -87,22 +87,21 @@ - firstTimerInfo = 0; - } - - timeval QTimerInfoList::updateCurrentTime() - { - return (currentTime = qt_gettime()); - } - - #if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC) && !defined(Q_OS_INTEGRITY)) || defined(QT_BOOTSTRAPPED) - --template <> --timeval qAbs(const timeval &t) -+timeval qAbsTimeval(const timeval &t) - { - timeval tmp = t; - if (tmp.tv_sec < 0) { - tmp.tv_sec = -tmp.tv_sec - 1; - tmp.tv_usec -= 1000000; - } - if (tmp.tv_sec == 0 && tmp.tv_usec < 0) { - tmp.tv_usec = -tmp.tv_usec; - } - return normalizedTimeval(tmp); -@@ -137,21 +136,21 @@ - *delta = elapsedTime - elapsedTimeTicks; - - previousTicks = currentTicks; - previousTime = currentTime; - - // If tick drift is more than 10% off compared to realtime, we assume that the clock has - // been set. Of course, we have to allow for the tick granularity as well. - timeval tickGranularity; - tickGranularity.tv_sec = 0; - tickGranularity.tv_usec = msPerTick * 1000; -- return elapsedTimeTicks < ((qAbs(*delta) - tickGranularity) * 10); -+ return elapsedTimeTicks < ((qAbsTimeval(*delta) - tickGranularity) * 10); - } - - /* - repair broken timer - */ - void QTimerInfoList::timerRepair(const timeval &diff) - { - // repair all timers - for (int i = 0; i < size(); ++i) { - register QTimerInfo *t = at(i); diff --git a/extra/qt5/linguist.desktop b/extra/qt5/linguist.desktop index 3b203e0bd..c6d1aa4ba 100644 --- a/extra/qt5/linguist.desktop +++ b/extra/qt5/linguist.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Name=Qt Linguist Comment=Add translations to Qt applications -Exec=/usr/bin/linguist +Exec=/usr/lib/qt/bin/linguist Icon=linguist MimeType=text/vnd.trolltech.linguist;application/x-linguist; Terminal=false diff --git a/extra/qt5/qdbusviewer.desktop b/extra/qt5/qdbusviewer.desktop new file mode 100644 index 000000000..9165b6feb --- /dev/null +++ b/extra/qt5/qdbusviewer.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Qt QDbusViewer +GenericName=D-Bus Debugger +Comment=Debug D-Bus applications +Exec=/usr/lib/qt/bin/qdbusviewer +Icon=qdbusviewer +Terminal=false +Type=Application +Categories=Qt;Development;Debugger; diff --git a/extra/qt5/qt5-base.install b/extra/qt5/qt5-base.install deleted file mode 100644 index c0797237a..000000000 --- a/extra/qt5/qt5-base.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/qt5/use-python2.patch b/extra/qt5/use-python2.patch index eb53b10f6..57487b996 100644 --- a/extra/qt5/use-python2.patch +++ b/extra/qt5/use-python2.patch @@ -105,3 +105,14 @@ for(program, requiredPrograms): \ !programExistsInPath($$program): \ addReasonForSkippingBuild("Missing $$program from PATH") +--- qt-everywhere-opensource-src-5.1.0/qtjsbackend/src/3rdparty/v8/src/d8.gyp.old 2013-07-03 19:22:34.536705691 +0000 ++++ qt-everywhere-opensource-src-5.1.0/qtjsbackend/src/3rdparty/v8/src/d8.gyp 2013-07-03 19:22:25.606770334 +0000 +@@ -99,7 +99,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', + ], + 'action': [ +- 'python', ++ 'python2', + '../tools/js2c.py', + '<@(_outputs)', + 'D8',