diff -r c9103fdfdf0d -r 870131689a5c qt/qt.spec --- a/qt/qt.spec Mon Apr 04 20:34:12 2011 +0200 +++ b/qt/qt.spec Sat May 21 22:05:42 2011 +0200 @@ -39,8 +39,8 @@ Class: EVAL Group: Development License: GPL -Version: 4.7.0 -Release: 20101018 +Version: 4.7.3 +Release: 20110514 # build options %option with_tools yes @@ -112,12 +112,12 @@ openssllibs=`%{l_prefix}/bin/pkg-config --libs --static openssl` mysqllibs=`%{l_prefix}/bin/mysql_config --libs` - loclibs='' - case "%{l_platform -t}" in - *-sunos* ) - loclibs='-lsocket -lnsl' - ;; - esac +# MSvB In R/D: loclibs='' +# MSvB In R/D: case "%{l_platform -t}" in +# MSvB In R/D: *-sunos* ) +# MSvB In R/D: loclibs='-lsocket -lnsl' +# MSvB In R/D: ;; +# MSvB In R/D: esac ( cd mkspecs/qws for plat in freebsd-generic-g++ macx-generic-g++ solaris-generic-g++; do @@ -147,107 +147,158 @@ -e 's;\(QT_CFLAGS_[^=][^=]*=.*PKG_CONFIG.*\) --cflags ;\1 --cflags-only-other ;g' \ -e 's;\(QT_CFLAGS_[^=][^=]*=.*PKG_CONFIG.*\) --cflags ;\1 --cflags-only-other ;g' \ configure + # Trolltech Bug: + # Glib support cannot be enabled due to functionality tests! + # Turn on verbose messaging (-v) to ./configure to see the final report. + # Trolltech Bug: + # In file included from ../../include/QtGui/private/qgtkstyle_p.h:1, + # from kernel/qguiplatformplugin.cpp:63: + # ....../qgtkstyle_p.h:69:21: error: gtk/gtk.h: No such file or directory + # Workaround resolution: # hack to get back the standard '--cflags' of just Qt_CFLAGS_GLIB + # Question: Is this needed? QT_LIBS_QGTKSTYLE=`$PKG_CONFIG --libs gobject-2.0 2>/dev/null` %{l_shtool} subst \ -e 's;\(QT_CFLAGS_GLIB *=.*PKG_CONFIG.*\) --cflags-only-other ;\1 --cflags ;g' \ + -e 's;\(QT_CFLAGS_QGTKSTYLE *=.*PKG_CONFIG.*\) --cflags-only-other ;\1 --cflags ;g' \ configure - %{l_shtool} subst \ - -e 's;\(TRY_INCLUDEPATHS = \).*\(\$\$INCLUDEPATH\);\1\2;' \ - -e 's;/freetype2;/freetype;' \ - config.tests/unix/freetype/freetype.pri +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's;\(TRY_INCLUDEPATHS = \).*\(\$\$INCLUDEPATH\);\1\2;' \ +# MSvB In R/D: -e 's;/freetype2;/freetype;' \ +# MSvB In R/D: config.tests/unix/freetype/freetype.pri + # Trolltech Bug: + # /opdv/lib/libmng.a(libmng_cms.o): In function `mnglcms_initlibrary': + # libmng_cms.c:(.text+0xa): undefined reference to `cmsErrorAction' %{l_shtool} subst \ -e "s;\(LIBS.*=.*-lmng\);\1 $lcmslibs;" \ src/gui/image/qmnghandler.pri + # Trolltech Bug: + # lib/libQtGui.a(qapplication_x11.o): In function + # `qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long)': + # qapplication_x11.cpp:(.text+0xec8d): undefined reference to `FcInit' %{l_shtool} subst \ -e "s;^\(LIBS += \)-lfreetype -lfontconfig;\1$fontconflibs;" \ config.tests/x11/fontconfig/fontconfig.pro + echo "LIBS += `%{l_prefix}/bin/pkg-config --libs-only-L fontconfig`" \ + >>tools/linguist/linguist/linguist.pro echo 'INCLUDEPATH += /usr/include/wacomcfg' \ >>src/gui/kernel/x11.pri echo "contains(QT_CONFIG, fontconfig) { LIBS += $fontconflibs }" \ >>src/gui/kernel/x11.pri echo "contains(QT_CONFIG, fontconfig) { LIBS += $fontconflibs }" \ >>src/gui/text/text.pri + # Trolltech Bug: + # The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found. + # Turn on verbose messaging (-v) to ./configure to see the final report. echo "INCLUDEPATH = `%{l_prefix}/bin/pkg-config --cflags-only-I dbus-1 | %{l_shtool} subst -e 's;\-I;;g'`" \ >>config.tests/unix/dbus/dbus.pro echo "LIBS = `%{l_prefix}/bin/pkg-config --libs-only-l --static dbus-1`" \ >>config.tests/unix/dbus/dbus.pro + # Trolltech Bug: + # PostgreSQL support cannot be enabled due to functionality tests! + # Turn on verbose messaging (-v) to ./configure to see the final report. %{l_shtool} subst \ -e "s;\(LIBS.*= -lpq\);\1 `%{l_prefix}/bin/pg_config --libs` $loclibs;" \ config.tests/unix/psql/psql.pro + # Trolltech Bug: + # Iconv support cannot be enabled due to functionality tests! + # Turn on verbose messaging (-v) to ./configure to see the final report. %{l_shtool} subst \ -e 's;^mac[^:][^:]*:\(LIBS\);\1;' \ config.tests/unix/iconv/iconv.pro - uiclibs=`%{l_prefix}/bin/pkg-config --libs-only-l --static fontconfig lcms` - %{l_shtool} subst \ - -e 's;LIBS .*= -lpq$;LIBS += -lpq -lssl -lcrypto;' \ - -e "s;LIBS .*= \$\$QT_LFLAGS_MYSQL;LIBS += $mysqllibs;" \ - src/sql/drivers/drivers.pri - %{l_shtool} subst \ - -e "s;QMAKE_CXXFLAGS += \$\$QT_CFLAGS_GLIB;INCPATH += `pkg-config --cflags-only-I glib-2.0 gthread-2.0 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ - src/corelib/kernel/kernel.pri \ - src/gui/kernel/kernel.pri - %{l_shtool} subst \ - -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_PSQL;INCPATH += `pg_config --includedir 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ - -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_MYSQL;INCPATH += `mysql_config --include 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ - -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_SQLITE;INCPATH += `pkg-config --cflags-only-I sqlite3 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ - -e 's;!static:\(!isEmpty(QT_LFLAGS_PSQL)\);\1;' \ - -e 's;!static:\(LIBS \*= \$\$QT_LFLAGS_PSQL\);\1;' \ - src/plugins/sqldrivers/mysql/mysql.pro \ - src/plugins/sqldrivers/psql/psql.pro \ - src/plugins/sqldrivers/sqlite/sqlite.pro \ - src/sql/drivers/drivers.pri +# MSvB Aktualisierung: The uiclibs line is probably an error, remove... +# MSvB In R/D: uiclibs=`%{l_prefix}/bin/pkg-config --libs-only-l --static fontconfig lcms` +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's;LIBS .*= -lpq$;LIBS += -lpq -lssl -lcrypto;' \ +# MSvB In R/D: -e "s;LIBS .*= \$\$QT_LFLAGS_MYSQL;LIBS += $mysqllibs;" \ +# MSvB In R/D: src/sql/drivers/drivers.pri +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e "s;QMAKE_CXXFLAGS += \$\$QT_CFLAGS_GLIB;INCPATH += `pkg-config --cflags-only-I glib-2.0 gthread-2.0 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ +# MSvB In R/D: src/corelib/kernel/kernel.pri \ +# MSvB In R/D: src/gui/kernel/kernel.pri +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_PSQL;INCPATH += `pg_config --includedir 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ +# MSvB In R/D: -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_MYSQL;INCPATH += `mysql_config --include 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ +# MSvB In R/D: -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_SQLITE;INCPATH += `pkg-config --cflags-only-I sqlite3 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ +# MSvB In R/D: -e 's;!static:\(!isEmpty(QT_LFLAGS_PSQL)\);\1;' \ +# MSvB In R/D: -e 's;!static:\(LIBS \*= \$\$QT_LFLAGS_PSQL\);\1;' \ +# MSvB In R/D: src/plugins/sqldrivers/mysql/mysql.pro \ +# MSvB In R/D: src/plugins/sqldrivers/psql/psql.pro \ +# MSvB In R/D: src/plugins/sqldrivers/sqlite/sqlite.pro \ +# MSvB In R/D: src/sql/drivers/drivers.pri + # Trolltech Bug: + # In file included from qdbusconnectioninterface.cpp:52:0: + # qdbus_symbols_p.h:58:23: fatal error: dbus/dbus.h: No such file or directoryIn + # file included from qdbusconnection_p.h:70:0, from qdbusconnection.cpp:51: %{l_shtool} subst \ -e "s;QMAKE_CXXFLAGS += \$\$QT_CFLAGS_DBUS;INCPATH += `pkg-config --cflags-only-I dbus-1 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ src/dbus/dbus.pro + # Trolltech Bug: + # All the OpenGL functionality tests failed! + # You might need to modify the include and library search paths by + # editing QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in + # /home/mschloh/opwrk/tmp/qt-everywhere-opensource-src-4.7.3/mkspecs/linux-g++-64. %{l_shtool} subst \ -e 's;^\(QMAKE_INCDIR[^a-zA-Z0-9=]*=\).*;\1 %{l_prefix}/include;' \ -e 's;^\(QMAKE_LIBDIR[^a-zA-Z0-9=]*=\).*;\1;' \ - -e "s;^\(QMAKE_INCDIR_OPENGL[^=]*=\) *\(.*\);\1 %{l_prefix}/include \2;" \ - -e "s;^\(QMAKE_LIBDIR_OPENGL[^=]*=\) *\(.*\);\1 %{l_prefix}/lib \2;" \ + -e 's;^\(QMAKE_INCDIR_OPENGL[^=]*=\) *\(.*\);\1 %{l_prefix}/include \2;' \ + -e 's;^\(QMAKE_LIBDIR_OPENGL[^=]*=\) *\(.*\);\1 %{l_prefix}/lib \2;' \ -e 's;^\(QMAKE_LFLAGS_RELEASE.*\);\1 -s;' \ mkspecs/qws/*/qmake.conf \ mkspecs/*/*.conf - %{l_shtool} subst \ - -e 's;^\(QMAKE_LIBS +=.*\);\1 -liconv;' \ - src/corelib/corelib.pro +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's;^\(QMAKE_LIBS +=.*\);\1 -liconv;' \ +# MSvB In R/D: src/corelib/corelib.pro + # Trolltech Bug: + # In file included from ../JavaScriptCore/runtime/RegExp.h:29:0, + # ../JavaScriptCore/yarr/RegexJIT.h: In destructor 'JSC::Yarr::RegexCodeBlock::~RegexCodeBlock()': + # ../JavaScriptCore/yarr/RegexJIT.h:63:36: error: 'jsRegExpFree' was not declared in this scope %{l_shtool} subst \ -e 's;\(DESTDIR *=\) *\$\$JAVASCRIPTCORE_DESTDIR;\1 $$QMAKE_LIBDIR_QT;' \ src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro + # Trolltech Bug: + # In file included from ../JavaScriptCore/runtime/RegExp.h:29:0, + # ../JavaScriptCore/yarr/RegexJIT.h: In destructor 'JSC::Yarr::RegexCodeBlock::~RegexCodeBlock()': + # ../JavaScriptCore/yarr/RegexJIT.h:63:36: error: 'jsRegExpFree' was not declared in this scope %{l_shtool} subst \ -e 's;\(pathToJavaScriptCoreOutput *=\) *\$\$ARGS/\$\$JAVASCRIPTCORE_DESTDIR;\1 $$QMAKE_LIBDIR_QT;g' \ src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri - %{l_shtool} subst \ - -e "s;^\(QMAKE_INCDIR_X11[^=]*=\).*;\1 %{l_prefix}/include $x11_incdir;" \ - -e "s;^\(QMAKE_LIBDIR_X11[^=]*=\).*;\1 %{l_prefix}/lib $x11_libdir;" \ - mkspecs/qws/solaris*/qmake.conf \ - mkspecs/solaris*/qmake.conf - echo "QMAKE_LIBDIR += %{l_prefix}/lib/qt/dynamic" \ - >>mkspecs/features/shared.prf - %{l_shtool} subst \ - -e 's; *\.\./3rdparty/freetype/.*;;g' \ - -e 's;^\( *contains(QT_CONFIG, freetype) {\);\1 LIBS += -lfreetype;' \ - src/gui/text/text.pri +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e "s;^\(QMAKE_INCDIR_X11[^=]*=\).*;\1 %{l_prefix}/include $x11_incdir;" \ +# MSvB In R/D: -e "s;^\(QMAKE_LIBDIR_X11[^=]*=\).*;\1 %{l_prefix}/lib $x11_libdir;" \ +# MSvB In R/D: mkspecs/qws/solaris*/qmake.conf \ +# MSvB In R/D: mkspecs/solaris*/qmake.conf +# MSvB In R/D: echo "QMAKE_LIBDIR += %{l_prefix}/lib/qt/dynamic" \ +# MSvB In R/D: >>mkspecs/features/shared.prf +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's; *\.\./3rdparty/freetype/.*;;g' \ +# MSvB In R/D: -e 's;^\( *contains(QT_CONFIG, freetype) {\);\1 LIBS += -lfreetype;' \ +# MSvB In R/D: src/gui/text/text.pri + # Trolltech Bug: + # image/qtiffhandler.cpp:48:20: fatal error: tiffio.h: No such file or directory + # compilation terminated. + # make[1]: *** [.obj/release-static/qtiffhandler.o] Error 1 %{l_shtool} subst \ -e 's;\(#include *"\)\(tiffio.h"\);\1tiff/\2;' \ src/gui/image/qtiffhandler.cpp - %{l_shtool} subst \ - -e 's;\(CONFIG[\t ]*+=[\t ]*qt\);\1 x11;' \ - tools/qtconfig/qtconfig.pro - %{l_shtool} subst \ - -e 's;webkit;web-broken-kit;g' \ - tools/assistant/tools/assistant/assistant.pro - echo "DEFINES += QT_NO_WEBKIT" \ - >>tools/assistant/tools/assistant/assistant.pro - %{l_shtool} subst \ - -e "s;Qt.s Classes;All Classes;" \ - tools/assistant/tools/assistant/doc/assistant.qdoc \ - tools/qdoc3/doc/qdoc-manual.qdoc \ - tools/qdoc3/doc/files/qt.qdocconf \ - tools/qdoc3/test/qt-build-docs.qdocconf \ - tools/qdoc3/test/qt.qdocconf +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's;\(CONFIG[\t ]*+=[\t ]*qt\);\1 x11;' \ +# MSvB In R/D: tools/qtconfig/qtconfig.pro +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e 's;webkit;web-broken-kit;g' \ +# MSvB In R/D: tools/assistant/tools/assistant/assistant.pro +# MSvB In R/D: echo "DEFINES += QT_NO_WEBKIT" \ +# MSvB In R/D: >>tools/assistant/tools/assistant/assistant.pro +# MSvB In R/D: %{l_shtool} subst \ +# MSvB In R/D: -e "s;Qt.s Classes;All Classes;" \ +# MSvB In R/D: tools/assistant/tools/assistant/doc/assistant.qdoc \ +# MSvB In R/D: tools/qdoc3/doc/qdoc-manual.qdoc \ +# MSvB In R/D: tools/qdoc3/doc/files/qt.qdocconf \ +# MSvB In R/D: tools/qdoc3/test/qt-build-docs.qdocconf \ +# MSvB In R/D: tools/qdoc3/test/qt.qdocconf %build # protect against sloppy code inclusion of all unused subprojects +# MSvB In R/D: ce-compat clucene des easing harfbuzz javascriptcore md4 md5 s60 sha1 webkit xorg zlib_dependency.pri (cd src/3rdparty && rm -rf [^cdehjmswxz]* sql* win* zlib zlib.pri) || exit $? # detect which platform for which to build @@ -291,9 +342,28 @@ -sysconfdir %{l_prefix}/etc/qt \ -examplesdir %{l_prefix}/share/qt/examples \ -demosdir %{l_prefix}/share/qt/demos \ +%if 0 + # Build time Qt definitions should predominate, + # otherwise foreign definitions cause errors like: + # + # g++ -c -I/foreign/include [...] animation/qguivariantanimation.cpp + # .moc/release-shared/moc_qnamespace.cpp:426:16: error: 'WA_LockPortraitOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:427:16: error: 'WA_LockLandscapeOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:428:16: error: 'WA_AutoOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:440:16: error: 'AA_S60DisablePartialScreenInputMode' is not a member of 'Qt' + # + # Other problems include flawed definitions polluting (C|CXX)FLAGS + # and overriding the correct definitions in CPPFLAGS. Variables + # like QMAKE_(C|CXX)FLAGS exhibit this problem as well. + # + # The work around is to force a Qt dist include path in (C|CXX)FLAGS. +%endif + -I$RPM_BUILD_DIR/qt-everywhere-opensource-src-%{version}/include \ -release \ -shared \ -platform $platcomp \ + -s60 \ + -qt-style-s60 \ -no-sql-ibase \ %if "%{with_glib}" == "yes" -glib \ @@ -401,9 +471,28 @@ -sysconfdir %{l_prefix}/etc/qt \ -examplesdir %{l_prefix}/share/qt/examples \ -demosdir %{l_prefix}/share/qt/demos \ +%if 0 + # Build time Qt definitions should predominate, + # otherwise foreign definitions cause errors like: + # + # g++ -c -I/foreign/include [...] animation/qguivariantanimation.cpp + # .moc/release-shared/moc_qnamespace.cpp:426:16: error: 'WA_LockPortraitOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:427:16: error: 'WA_LockLandscapeOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:428:16: error: 'WA_AutoOrientation' is not a member of 'Qt' + # .moc/release-shared/moc_qnamespace.cpp:440:16: error: 'AA_S60DisablePartialScreenInputMode' is not a member of 'Qt' + # + # Other problems include flawed definitions polluting (C|CXX)FLAGS + # and overriding the correct definitions in CPPFLAGS. Variables + # like QMAKE_(C|CXX)FLAGS exhibit this problem as well. + # + # The work around is to force a Qt dist include path in (C|CXX)FLAGS. +%endif + -I$RPM_BUILD_DIR/qt-everywhere-opensource-src-%{version}/include \ -release \ -static \ -platform $platcomp \ + -s60 \ + -qt-style-s60 \ -no-sql-ibase \ %if "%{with_glib}" == "yes" -glib \ @@ -577,7 +666,7 @@ # echo %{_includedocs} # ## Doesn't work as expected, because it seems that OpenPKG too mercilessly -## removes RPM readi1ng of the %docdir keyword in rpm.patch.feature. +## removes RPM reading of the %docdir keyword in rpm.patch.feature. # %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ # %{l_files_std} \ # '%docdir %{l_prefix}/share/pkg/doc'