Sun, 29 May 2011 16:29:06 +0200
Update, correct, improve build configuration and packaging logic.
Update to new version of vendor software, bump copyright date, remove implicit
gcc dependency, add comments for Trolltech bug tracking, correct enforced
dynamic library linkage, and install mysterious process stub binary.
qtcreator/qtcreator.spec | file | annotate | diff | comparison | revisions |
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