1 ## |
1 ## |
2 ## qtcreator.spec -- OpenPKG RPM Specification |
2 ## qtcreator.spec -- OpenPKG RPM Specification |
3 ## Copyright (c) 2010 Michael Schloh von Bennewitz <michael@schloh.com> |
3 ## Copyright (c) 2011 Michael Schloh von Bennewitz <michael@schloh.com> |
4 ## |
4 ## |
5 ## Permission to use, copy, modify, and distribute this software for |
5 ## Permission to use, copy, modify, and distribute this software for |
6 ## any purpose with or without fee is hereby granted, provided that |
6 ## any purpose with or without fee is hereby granted, provided that |
7 ## the above copyright notice and this permission notice appear in all |
7 ## the above copyright notice and this permission notice appear in all |
8 ## copies. |
8 ## copies. |
22 ## |
22 ## |
23 |
23 |
24 # package information |
24 # package information |
25 Name: qtcreator |
25 Name: qtcreator |
26 Summary: Cross Platform Application Framework |
26 Summary: Cross Platform Application Framework |
27 URL: http://qt.nokia.com/products/appdev/developer-tools/developer-tools |
27 URL: http://qt.nokia.com/developer/qt-creator |
28 Vendor: Nokia Corporation |
28 Vendor: Nokia Corporation |
29 Packager: Michael Schloh von Bennewitz |
29 Packager: Michael Schloh von Bennewitz |
30 Distribution: MSvB Recherche Production |
30 Distribution: MSvB Recherche Production |
31 Class: EVAL |
31 Class: EVAL |
32 Group: Development |
32 Group: Development |
33 License: GPL |
33 License: GPL |
34 Version: 2.0.1 |
34 Version: 2.2.0 |
35 Release: 20101015 |
35 Release: 20110514 |
36 |
36 |
37 # list of sources |
37 # list of sources |
38 Source0: ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tgz |
38 Source0: ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tar.gz |
39 |
39 |
40 # build information |
40 # build information |
41 Prefix: %{l_prefix} |
41 Prefix: %{l_prefix} |
42 BuildRoot: %{l_buildroot} |
42 BuildRoot: %{l_buildroot} |
43 BuildPreReq: OpenPKG, openpkg >= 20050726, gcc |
43 BuildPreReq: OpenPKG, openpkg >= 20060823 |
44 PreReq: OpenPKG, openpkg >= 20050726 |
44 PreReq: OpenPKG, openpkg >= 20060823 |
45 BuildPreReq: qt, qt::with_shared = yes |
45 BuildPreReq: qt, qt::with_shared = yes |
46 PreReq: qt, qt::with_shared = yes |
46 PreReq: qt, qt::with_shared = yes |
47 AutoReq: no |
47 AutoReq: no |
48 AutoReqProv: no |
48 AutoReqProv: no |
49 |
49 |
66 %setup -q -n qt-creator-%{version}-src |
66 %setup -q -n qt-creator-%{version}-src |
67 %{l_shtool} subst \ |
67 %{l_shtool} subst \ |
68 -e 's;\(QMAKE_RPATHDIR +=\);#\1;g' \ |
68 -e 's;\(QMAKE_RPATHDIR +=\);#\1;g' \ |
69 -e 's;\(\$\$join(QMAKE_RPATHDIR, ":"\));\1, "%{l_prefix}/lib/qtcreator:");' \ |
69 -e 's;\(\$\$join(QMAKE_RPATHDIR, ":"\));\1, "%{l_prefix}/lib/qtcreator:");' \ |
70 src/rpath.pri |
70 src/rpath.pri |
|
71 # Trolltech Bug: |
|
72 # Hardcoded paths not correct in every case |
71 %{l_shtool} subst \ |
73 %{l_shtool} subst \ |
72 -e 's;\(share\)/\(doc\)/\(qtcreator\);\1/\3/\2;' \ |
74 -e 's;\(share\)/\(doc\)/\(qtcreator\);\1/\3/\2;' \ |
73 doc/doc.pri \ |
75 doc/doc.pri \ |
74 qtcreator.pri \ |
76 qtcreator.pri \ |
75 src/plugins/help/helpplugin.cpp |
77 src/plugins/help/helpplugin.cpp |
|
78 # Trolltech Bug: |
|
79 # Redefined (simply copied from) Qt library source code |
|
80 %{l_shtool} subst \ |
|
81 -e 's;\(qt_clean_filter_list\);l_\1;g' \ |
|
82 -e 's;\(qt_file_dialog_filter_reg_exp\);l_\1;g' \ |
|
83 src/plugins/qt4projectmanager/addlibrarywizard.cpp |
|
84 # Trolltech Bug: |
|
85 # Syntax error in qmake project file |
|
86 %{l_shtool} subst \ |
|
87 -e 's;\(memcheckconfigwidget.ui\) \\$;\1;' \ |
|
88 src/plugins/memcheck/memcheck.pro |
76 echo '' >>src/libs/3rdparty/botan/botan.pro |
89 echo '' >>src/libs/3rdparty/botan/botan.pro |
77 for profil in `find . -name '*.pro' | grep -v '[ ]'`; do |
90 for profil in `find . -name '*.pro' | grep -v '[ ]'`; do |
78 echo 'CONFIG += shared' >>$profil |
91 echo 'CONFIG += shared' >>$profil |
79 done |
92 done |
80 |
93 |
81 %build |
94 %build |
82 %{l_prefix}/bin/qmake qtcreator.pro |
95 # Force linkage to Qt shared libraries due to |
83 %{l_make} %{l_mflags -O} |
96 # Qt Creator static build incapable by design. |
|
97 l_pkgconfpath=%{l_prefix}/lib/qt/dynamic/pkgconfig |
|
98 l_qtdynlflags=`PKG_CONFIG_PATH=$l_pkgconfpath %{l_prefix}/bin/pkg-config --libs-only-L QtCore` |
|
99 l_qtdynlibdir=`echo $l_qtdynlflags | %{l_shtool} subst -e 's;\-L[\t ]*\([^\t ]*\);\1;g'` |
|
100 %{l_prefix}/bin/qmake qtcreator.pro QMAKE_LIBDIR="$l_qtdynlibdir" |
|
101 # Trolltech Bug: |
|
102 # (Proc 1) g++ -shared -o libCppEditor.so .obj/release-shared/cppplugin.o ... -lpthread ... |
|
103 # (Proc 2) mv -f libCppEditor.so ../../../lib/qtcreator/plugins/Nokia/ |
|
104 # make[1]: *** [sub-plugins-make_default-ordered] Error 2 |
|
105 # |
|
106 # The implemented workaround is to disable parallel make, |
|
107 # causing a nearly 100% deceleration in the build. |
|
108 %{l_make} %{l_mflags} |
84 |
109 |
85 %install |
110 %install |
86 rm -rf $RPM_BUILD_ROOT |
111 rm -rf $RPM_BUILD_ROOT |
87 |
112 |
88 # carry out installation procedure |
113 # carry out installation procedure |
89 %{l_make} %{l_mflags} install INSTALL_ROOT="$RPM_BUILD_ROOT%{l_prefix}" |
114 %{l_make} %{l_mflags} install INSTALL_ROOT="$RPM_BUILD_ROOT%{l_prefix}" |
90 |
|
91 # clean up installation |
|
92 rm $RPM_BUILD_ROOT/%{l_prefix}/bin/qtcreator_process_stub |
|
93 |
115 |
94 # determine internal file listing |
116 # determine internal file listing |
95 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
117 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
96 |
118 |
97 %files -f files |
119 %files -f files |