# HG changeset patch # User Michael Schloh von Bennewitz # Date 1306679346 -7200 # Node ID e33c1efbd60f73eaf18eb60903aafec117a5aa3e # Parent 1bee42cde1f72d4c59fe534dbff23ced15b8b0f6 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. diff -r 1bee42cde1f7 -r e33c1efbd60f qtcreator/qtcreator.spec --- a/qtcreator/qtcreator.spec Sun May 29 16:25:02 2011 +0200 +++ b/qtcreator/qtcreator.spec Sun May 29 16:29:06 2011 +0200 @@ -1,6 +1,6 @@ ## ## qtcreator.spec -- OpenPKG RPM Specification -## Copyright (c) 2010 Michael Schloh von Bennewitz +## Copyright (c) 2011 Michael Schloh von Bennewitz ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that @@ -24,24 +24,24 @@ # package information Name: qtcreator Summary: Cross Platform Application Framework -URL: http://qt.nokia.com/products/appdev/developer-tools/developer-tools +URL: http://qt.nokia.com/developer/qt-creator Vendor: Nokia Corporation Packager: Michael Schloh von Bennewitz Distribution: MSvB Recherche Production Class: EVAL Group: Development License: GPL -Version: 2.0.1 -Release: 20101015 +Version: 2.2.0 +Release: 20110514 # list of sources -Source0: ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tgz +Source0: ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tar.gz # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} -BuildPreReq: OpenPKG, openpkg >= 20050726, gcc -PreReq: OpenPKG, openpkg >= 20050726 +BuildPreReq: OpenPKG, openpkg >= 20060823 +PreReq: OpenPKG, openpkg >= 20060823 BuildPreReq: qt, qt::with_shared = yes PreReq: qt, qt::with_shared = yes AutoReq: no @@ -68,19 +68,44 @@ -e 's;\(QMAKE_RPATHDIR +=\);#\1;g' \ -e 's;\(\$\$join(QMAKE_RPATHDIR, ":"\));\1, "%{l_prefix}/lib/qtcreator:");' \ src/rpath.pri + # Trolltech Bug: + # Hardcoded paths not correct in every case %{l_shtool} subst \ -e 's;\(share\)/\(doc\)/\(qtcreator\);\1/\3/\2;' \ doc/doc.pri \ qtcreator.pri \ src/plugins/help/helpplugin.cpp + # Trolltech Bug: + # Redefined (simply copied from) Qt library source code + %{l_shtool} subst \ + -e 's;\(qt_clean_filter_list\);l_\1;g' \ + -e 's;\(qt_file_dialog_filter_reg_exp\);l_\1;g' \ + src/plugins/qt4projectmanager/addlibrarywizard.cpp + # Trolltech Bug: + # Syntax error in qmake project file + %{l_shtool} subst \ + -e 's;\(memcheckconfigwidget.ui\) \\$;\1;' \ + src/plugins/memcheck/memcheck.pro echo '' >>src/libs/3rdparty/botan/botan.pro for profil in `find . -name '*.pro' | grep -v '[ ]'`; do echo 'CONFIG += shared' >>$profil done %build - %{l_prefix}/bin/qmake qtcreator.pro - %{l_make} %{l_mflags -O} + # Force linkage to Qt shared libraries due to + # Qt Creator static build incapable by design. + l_pkgconfpath=%{l_prefix}/lib/qt/dynamic/pkgconfig + l_qtdynlflags=`PKG_CONFIG_PATH=$l_pkgconfpath %{l_prefix}/bin/pkg-config --libs-only-L QtCore` + l_qtdynlibdir=`echo $l_qtdynlflags | %{l_shtool} subst -e 's;\-L[\t ]*\([^\t ]*\);\1;g'` + %{l_prefix}/bin/qmake qtcreator.pro QMAKE_LIBDIR="$l_qtdynlibdir" + # Trolltech Bug: + # (Proc 1) g++ -shared -o libCppEditor.so .obj/release-shared/cppplugin.o ... -lpthread ... + # (Proc 2) mv -f libCppEditor.so ../../../lib/qtcreator/plugins/Nokia/ + # make[1]: *** [sub-plugins-make_default-ordered] Error 2 + # + # The implemented workaround is to disable parallel make, + # causing a nearly 100% deceleration in the build. + %{l_make} %{l_mflags} %install rm -rf $RPM_BUILD_ROOT @@ -88,9 +113,6 @@ # carry out installation procedure %{l_make} %{l_mflags} install INSTALL_ROOT="$RPM_BUILD_ROOT%{l_prefix}" - # clean up installation - rm $RPM_BUILD_ROOT/%{l_prefix}/bin/qtcreator_process_stub - # determine internal file listing %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}