Sun, 29 May 2011 12:16:43 +0200
Make a second cut at needed corrections for upgrade to version 4.7.3.
qt/qt.spec | file | annotate | diff | comparison | revisions |
1.1 --- a/qt/qt.spec Sat May 21 22:05:42 2011 +0200 1.2 +++ b/qt/qt.spec Sun May 29 12:16:43 2011 +0200 1.3 @@ -82,10 +82,10 @@ 1.4 1.5 %description 1.6 Qt is a comprehensive C++ framework for cross-platform application 1.7 - development. Using Qt, you can develop applications and user 1.8 - interfaces once, and deploy them across many desktop and embedded 1.9 - operating systems without rewriting the source code. This package 1.10 - distribution builds all modules of the Qt/X11 Open Source Edition. 1.11 + development. It plays the role of a widget toolkit in facilitating 1.12 + the development of software with a graphical user interface, however 1.13 + Qt is useful for developing command line tools and consoles for 1.14 + servers as well. 1.15 1.16 %track 1.17 prog qt = { 1.18 @@ -97,11 +97,11 @@ 1.19 %prep 1.20 # announce exceptional build requirements 1.21 ( echo "This package has exceptional build requirements:" 1.22 - echo " qt-%{version}-root (4,5 Go)" 1.23 - echo " qt-everywhere-opensource-src-%{version} (5,5 Go)" 1.24 + echo " qt-%{version}-root (5 Go)" 1.25 + echo " qt-everywhere-opensource-src-%{version} (6 Go)" 1.26 echo " qt-%{version}-<date>.<arch>-<os>-<tag>.rpm (2 Go)" 1.27 - echo "Building with no options takes 2,0 hours on a dual core" 1.28 - echo "2 GHz CPU, or 5 hours with all build options enabled." 1.29 + echo "Building with no options takes 3,0 hours on a dual core" 1.30 + echo "2 GHz CPU, or 7 hours with all build options enabled." 1.31 ) | %{l_rpmtool} msg -b -t notice 1.32 1.33 %setup -q -n qt-everywhere-opensource-src-%{version} 1.34 @@ -205,7 +205,17 @@ 1.35 %{l_shtool} subst \ 1.36 -e 's;^mac[^:][^:]*:\(LIBS\);\1;' \ 1.37 config.tests/unix/iconv/iconv.pro 1.38 -# MSvB Aktualisierung: The uiclibs line is probably an error, remove... 1.39 + # Trolltech Bug: 1.40 + # Missing libmng test! Parts (src/gui/image/qmnghandler.cpp) use 1.41 + # such libmng methods as mng_create(3), mng_putchunk_term(3)... 1.42 + # These are only optional parts of typical MNG implementations. 1.43 + # Questions surround whether the MNG standard [1] requires these 1.44 + # API methods in their expected form, or if this alone is excuse 1.45 + # enough for neglecting such build time configuration. 1.46 + # [1] http://www.libpng.org/pub/mng/spec/ 1.47 + # A work around is to force integration of Qt 3rdparty embedded 1.48 + # MNG logic, thus weakening the loosely coupled nature of Qt 1.49 + # components and potentially affecting security. 1.50 # MSvB In R/D: uiclibs=`%{l_prefix}/bin/pkg-config --libs-only-l --static fontconfig lcms` 1.51 # MSvB In R/D: %{l_shtool} subst \ 1.52 # MSvB In R/D: -e 's;LIBS .*= -lpq$;LIBS += -lpq -lssl -lcrypto;' \ 1.53 @@ -289,7 +299,7 @@ 1.54 # MSvB In R/D: echo "DEFINES += QT_NO_WEBKIT" \ 1.55 # MSvB In R/D: >>tools/assistant/tools/assistant/assistant.pro 1.56 # MSvB In R/D: %{l_shtool} subst \ 1.57 -# MSvB In R/D: -e "s;Qt.s Classes;All Classes;" \ 1.58 +# MSvB In R/D: -e 's;Qt.s Classes;All Classes;' \ 1.59 # MSvB In R/D: tools/assistant/tools/assistant/doc/assistant.qdoc \ 1.60 # MSvB In R/D: tools/qdoc3/doc/qdoc-manual.qdoc \ 1.61 # MSvB In R/D: tools/qdoc3/doc/files/qt.qdocconf \ 1.62 @@ -539,7 +549,15 @@ 1.63 #-sm -xshape -xinerama -xcursor -xfixes -xrandr -tablet -xkb 1.64 1.65 # carry out static build procedure 1.66 - %{l_make} %{l_mflags -O} sub-src 1.67 + # Trolltech Bug: 1.68 + # Problem with dependency order, causes compiling of qtreeview.cpp 1.69 + # with dependency to moc_qtreeview.cpp before moc(1) has finished. 1.70 + # The implemented work around is disabling parallel make, causing 1.71 + # a nearly 100% build deceleration but allowing the build to procede. 1.72 + # In file included from itemviews/qtreeview.cpp:3761:0: 1.73 + # .moc/release-static/moc_qtreeview.cpp: In member function 'QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(const QRect&) const': 1.74 + # .moc/release-static/moc_qtreeview.cpp:209:1: internal compiler error: Segmentation fault 1.75 + %{l_make} %{l_mflags} sub-src 1.76 %if "%{with_tools}" == "yes" 1.77 %{l_make} %{l_mflags -O} \ 1.78 sub-tools-make_default-ordered sub-translations-make_default-ordered 1.79 @@ -598,7 +616,12 @@ 1.80 1.81 # correct paths in pkg-config(1) configuration files 1.82 %{l_shtool} subst \ 1.83 - -e "s;-L[^\t ][^\t ]*qt-everywhere-opensource-src-%{version};-L%{l_prefix};g" \ 1.84 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version};-L%{l_prefix};' \ 1.85 + -e 's;=\([\t ]*\)[^\t ]*qt-everywhere-opensource-src-%{version};=\1%{l_prefix};g' \ 1.86 + $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig/* 1.87 + # keep library paths clean by removing redundant paths 1.88 + %{l_shtool} subst \ 1.89 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}[^\t ]*[\t ]*;;g' \ 1.90 $RPM_BUILD_ROOT%{l_prefix}/lib/pkgconfig/* 1.91 1.92 # install static or shared plugins according to user choice 1.93 @@ -617,8 +640,12 @@ 1.94 # offer limited support of pkg-config(1) for shared libs 1.95 # substitution unfortunately only handles paths with no whitespace 1.96 %{l_shtool} subst \ 1.97 - -e "s;-L[^\t ][^\t ]*qt-everywhere-opensource-src-%{version}/lib;-L%{l_prefix}/lib/qt/dynamic;g" \ 1.98 - -e "s;-L[^\t ][^\t ]*qt-everywhere-opensource-src-%{version};-L%{l_prefix};g" \ 1.99 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}/lib;-L%{l_prefix}/lib/qt/dynamic;' \ 1.100 + -e 's;=\([\t ]*\)[^\t ]*qt-everywhere-opensource-src-%{version};=\1%{l_prefix};g' \ 1.101 + $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/pkgconfig/* 1.102 + # keep library paths clean by removing redundant paths 1.103 + %{l_shtool} subst \ 1.104 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}[^\t ]*[\t ]*;;g' \ 1.105 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/pkgconfig/* 1.106 1.107 # explain nonstandard shared library placement 1.108 @@ -645,17 +672,30 @@ 1.109 1.110 # correct temporary runtime link paths (static libs) 1.111 %{l_shtool} subst \ 1.112 - -e "s;\(QMAKE_PRL_BUILD_DIR[\t ][\t ]*=\).*;\1 /.../qt-everywhere-opensource-src-%{version};" \ 1.113 - -e "s;-L\([\t ]*\)[^\t ][^\t ]*qt-everywhere-opensource-src-%{version}\(/[^\t ][^\t ]*\);-L\1%{l_prefix}\2;g" \ 1.114 + -e 's;/./;/;g' \ 1.115 + -e 's;\(QMAKE_PRL_BUILD_DIR[\t ]*=\).*\(qt-everywhere-opensource-src-%{version}.*\);\1 /.../\2;' \ 1.116 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version};-L%{l_prefix};' \ 1.117 + $RPM_BUILD_ROOT%{l_prefix}/lib/qt/plugins/*/*.prl \ 1.118 + $RPM_BUILD_ROOT%{l_prefix}/lib/*.prl \ 1.119 + $RPM_BUILD_ROOT%{l_prefix}/lib/*.la 1.120 + # keep library paths clean by removing redundant paths 1.121 + %{l_shtool} subst \ 1.122 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}[^\t ]*[\t ]*;;g' \ 1.123 $RPM_BUILD_ROOT%{l_prefix}/lib/*.prl \ 1.124 $RPM_BUILD_ROOT%{l_prefix}/lib/*.la 1.125 %if "%{with_shared}" == "yes" 1.126 # correct temporary runtime link paths (dynamic libs) 1.127 %{l_shtool} subst \ 1.128 - -e "s;\(QMAKE_PRL_BUILD_DIR[\t ][\t ]*=\).*;\1 /.../qt-everywhere-opensource-src-%{version};" \ 1.129 - -e "s;-L\([\t ]*\)[^\t ][^\t ]*qt-everywhere-opensource-src-%{version}/lib;-L\1%{l_prefix}/lib/qt/dynamic;g" \ 1.130 + -e 's;/./;/;g' \ 1.131 + -e 's;\(QMAKE_PRL_BUILD_DIR[\t ]*=\).*\(qt-everywhere-opensource-src-%{version}.*\);\1 /.../\2;' \ 1.132 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}/lib;-L%{l_prefix}/lib/qt/dynamic;' \ 1.133 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/*.prl \ 1.134 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/*.la 1.135 + # keep library paths clean by removing redundant paths 1.136 + %{l_shtool} subst \ 1.137 + -e 's;-L[\t ]*[^\t ]*qt-everywhere-opensource-src-%{version}[^\t ]*[\t ]*;;g' \ 1.138 + $RPM_BUILD_ROOT%{l_prefix}/lib/*.prl \ 1.139 + $RPM_BUILD_ROOT%{l_prefix}/lib/*.la 1.140 %endif 1.141 1.142 ## Doesn't work as expected, because RPM reads the --[in|ex]cludedocs