Make a second cut at needed corrections for upgrade to version 4.7.3.

Sun, 29 May 2011 12:16:43 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sun, 29 May 2011 12:16:43 +0200
changeset 341
24888fe4de94
parent 340
870131689a5c
child 342
90f1326e8f73

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

mercurial