From 14c0f145e83417ca6ca9bff3f7cf713c60345412 Mon Sep 17 00:00:00 2001 From: Ragnar Thomsen Date: Wed, 4 Apr 2012 20:58:11 +0000 Subject: [PATCH] Qt 4.8.1 and added gcc4.7/glib2.32 patches. git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9852 af4574ff-66df-0310-9fd7-8a98e5e911e0 --- general.ent | 2 +- introduction/welcome/changelog.xml | 5 +- x/lib/qt4.xml | 76 ++++++++++++++++++++++-------- 3 files changed, 61 insertions(+), 22 deletions(-) diff --git a/general.ent b/general.ent index 1882c6c46b..7465e7f520 100644 --- a/general.ent +++ b/general.ent @@ -601,7 +601,7 @@ $Date$ - + diff --git a/introduction/welcome/changelog.xml b/introduction/welcome/changelog.xml index 50486524eb..f207caccb9 100644 --- a/introduction/welcome/changelog.xml +++ b/introduction/welcome/changelog.xml @@ -45,6 +45,9 @@ April 4th, 2012 + [rthomsen] - Upgrade to Qt 4.8.1 and add two patches. Fixes #3320. + + [dj] - Xorg Applicatons require MesaLib. Fixes #3218. @@ -83,7 +86,7 @@ April 2nd, 2012 - [dj] - Fix libproxy build failure with recent xulrunnr. + [dj] - Fix libproxy build failure with recent xulrunner. diff --git a/x/lib/qt4.xml b/x/lib/qt4.xml index b635bf80c8..75c2cb4532 100644 --- a/x/lib/qt4.xml +++ b/x/lib/qt4.xml @@ -6,7 +6,7 @@ - + @@ -29,11 +29,15 @@ Introduction to Qt4 - The Qt4 package contains several - C++ libraries with both GUI and non-GUI - components. One of the major users of Qt4 is - KDE4. + Qt is a cross-platform application + framework that is widely used for developing application software + with a graphical user interface (GUI) (in which cases Qt is classified + as a widget toolkit), and also used for developing non-GUI programs such + as command-line tools and consoles for servers. One of the major users + of Qt4 is KDE. + &lfs71_checked; + Package Information @@ -56,6 +60,22 @@ + + Additional Downloads + + + GCC 4.7 patch: + + + + GLib 2.32 patch: + + + + + Qt Dependencies Required @@ -80,7 +100,7 @@ , , , - , and + and @@ -114,7 +134,7 @@ files are distributed within several subdirectories of the /usr hierarchy. This is the method that most commercial distributions use. - + If Qt4 is being reinstalled and the /usr @@ -167,25 +187,37 @@ procedure below puts the files in /opt/qt-&qt4-version;/ and then creates a symbolic link to /opt/qt/. - - Install Qt4 by running the + + Configure Qt4 by running the following commands: -./configure -prefix /opt/qt-&qt4-version; \ - -release \ - -nomake examples \ - -nomake demos \ - -system-sqlite \ - -no-nis \ - && -make - +patch -Np1 -i ../qt-everywhere-opensource-src-&qt4-version;-gcc_fix-1.patch && +patch -Np1 -i ../qt-everywhere-opensource-src-&qt4-version;-glib_fix-1.patch && +./configure -prefix /opt/qt-&qt4-version; \ + -release \ + -nomake examples \ + -nomake demos \ + -system-sqlite \ + -no-nis \ + -opensource \ + -confirm-license + Phonon If KDE4 is intended to be installed, add to the ./configure command above. While installing KDE4, a separate version of the Phonon libraries will be installed which better matches the needs of the KDE4 desktop. + + If you are compiling with GCC 4.7 you need + to suppress some warnings that would otherwise cause the build to fail. This + can be achieved by modifying some Makefiles: + + find src/3rdparty/webkit/Source/{WebCore,WebKit} -name 'Makefile*' -exec sed -i 's@-Werror @@' {} \; + + Now, build the package: + + make This package does not come with a test suite. @@ -204,6 +236,10 @@ make Command Explanations + patch -Np1 -i qt-everywhere-...: + The two patches fix compiling with GCC + 4.7 and GLib 2.32. + -nomake examples, -nomake demos: These switches disable building programs that are only of interest to a Qt4 developer. @@ -244,7 +280,7 @@ make run-time cache file: cat >> /etc/ld.so.conf << "EOF" && -# Begin qt addition to /etc/ld.so.conf +# Begin qt addition /opt/qt/lib