qtcreator/qtcreator.spec

changeset 344
e33c1efbd60f
parent 281
acad5c9dea5f
child 387
33ae2d61c751
     1.1 --- a/qtcreator/qtcreator.spec	Sun May 29 16:25:02 2011 +0200
     1.2 +++ b/qtcreator/qtcreator.spec	Sun May 29 16:29:06 2011 +0200
     1.3 @@ -1,6 +1,6 @@
     1.4  ##
     1.5  ##  qtcreator.spec -- OpenPKG RPM Specification
     1.6 -##  Copyright (c) 2010 Michael Schloh von Bennewitz <michael@schloh.com>
     1.7 +##  Copyright (c) 2011 Michael Schloh von Bennewitz <michael@schloh.com>
     1.8  ##
     1.9  ##  Permission to use, copy, modify, and distribute this software for
    1.10  ##  any purpose with or without fee is hereby granted, provided that
    1.11 @@ -24,24 +24,24 @@
    1.12  #   package information
    1.13  Name:         qtcreator
    1.14  Summary:      Cross Platform Application Framework
    1.15 -URL:          http://qt.nokia.com/products/appdev/developer-tools/developer-tools
    1.16 +URL:          http://qt.nokia.com/developer/qt-creator
    1.17  Vendor:       Nokia Corporation
    1.18  Packager:     Michael Schloh von Bennewitz
    1.19  Distribution: MSvB Recherche Production
    1.20  Class:        EVAL
    1.21  Group:        Development
    1.22  License:      GPL
    1.23 -Version:      2.0.1
    1.24 -Release:      20101015
    1.25 +Version:      2.2.0
    1.26 +Release:      20110514
    1.27  
    1.28  #   list of sources
    1.29 -Source0:      ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tgz
    1.30 +Source0:      ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tar.gz
    1.31  
    1.32  #   build information
    1.33  Prefix:       %{l_prefix}
    1.34  BuildRoot:    %{l_buildroot}
    1.35 -BuildPreReq:  OpenPKG, openpkg >= 20050726, gcc
    1.36 -PreReq:       OpenPKG, openpkg >= 20050726
    1.37 +BuildPreReq:  OpenPKG, openpkg >= 20060823
    1.38 +PreReq:       OpenPKG, openpkg >= 20060823
    1.39  BuildPreReq:  qt, qt::with_shared = yes
    1.40  PreReq:       qt, qt::with_shared = yes
    1.41  AutoReq:      no
    1.42 @@ -68,19 +68,44 @@
    1.43          -e 's;\(QMAKE_RPATHDIR +=\);#\1;g' \
    1.44          -e 's;\(\$\$join(QMAKE_RPATHDIR, ":"\));\1, "%{l_prefix}/lib/qtcreator:");' \
    1.45          src/rpath.pri
    1.46 +    #   Trolltech Bug:
    1.47 +    #   Hardcoded paths not correct in every case
    1.48      %{l_shtool} subst \
    1.49          -e 's;\(share\)/\(doc\)/\(qtcreator\);\1/\3/\2;' \
    1.50          doc/doc.pri \
    1.51          qtcreator.pri \
    1.52          src/plugins/help/helpplugin.cpp
    1.53 +    #   Trolltech Bug:
    1.54 +    #   Redefined (simply copied from) Qt library source code
    1.55 +    %{l_shtool} subst \
    1.56 +        -e 's;\(qt_clean_filter_list\);l_\1;g' \
    1.57 +        -e 's;\(qt_file_dialog_filter_reg_exp\);l_\1;g' \
    1.58 +        src/plugins/qt4projectmanager/addlibrarywizard.cpp
    1.59 +    #   Trolltech Bug:
    1.60 +    #   Syntax error in qmake project file
    1.61 +    %{l_shtool} subst \
    1.62 +        -e 's;\(memcheckconfigwidget.ui\) \\$;\1;' \
    1.63 +        src/plugins/memcheck/memcheck.pro
    1.64      echo '' >>src/libs/3rdparty/botan/botan.pro
    1.65      for profil in `find . -name '*.pro' | grep -v '[	 ]'`; do
    1.66          echo 'CONFIG += shared' >>$profil
    1.67      done
    1.68  
    1.69  %build
    1.70 -    %{l_prefix}/bin/qmake qtcreator.pro
    1.71 -    %{l_make} %{l_mflags -O}
    1.72 +    #   Force linkage to Qt shared libraries due to
    1.73 +    #   Qt Creator static build incapable by design.
    1.74 +    l_pkgconfpath=%{l_prefix}/lib/qt/dynamic/pkgconfig
    1.75 +    l_qtdynlflags=`PKG_CONFIG_PATH=$l_pkgconfpath %{l_prefix}/bin/pkg-config --libs-only-L QtCore`
    1.76 +    l_qtdynlibdir=`echo $l_qtdynlflags | %{l_shtool} subst -e 's;\-L[\t ]*\([^\t ]*\);\1;g'`
    1.77 +    %{l_prefix}/bin/qmake qtcreator.pro QMAKE_LIBDIR="$l_qtdynlibdir"
    1.78 +    #   Trolltech Bug:
    1.79 +    #   (Proc 1) g++ -shared -o libCppEditor.so .obj/release-shared/cppplugin.o ... -lpthread ...
    1.80 +    #   (Proc 2) mv -f libCppEditor.so ../../../lib/qtcreator/plugins/Nokia/
    1.81 +    #   make[1]: *** [sub-plugins-make_default-ordered] Error 2
    1.82 +    #
    1.83 +    #   The implemented workaround is to disable parallel make,
    1.84 +    #     causing a nearly 100% deceleration in the build.
    1.85 +    %{l_make} %{l_mflags}
    1.86  
    1.87  %install
    1.88      rm -rf $RPM_BUILD_ROOT
    1.89 @@ -88,9 +113,6 @@
    1.90      #   carry out installation procedure
    1.91      %{l_make} %{l_mflags} install INSTALL_ROOT="$RPM_BUILD_ROOT%{l_prefix}"
    1.92  
    1.93 -    #   clean up installation
    1.94 -    rm $RPM_BUILD_ROOT/%{l_prefix}/bin/qtcreator_process_stub
    1.95 -
    1.96      #   determine internal file listing
    1.97      %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
    1.98  

mercurial