Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
1 ##
2 ## qtcreator.spec -- OpenPKG RPM Specification
3 ## Copyright (c) 2011 Michael Schloh von Bennewitz <michael@schloh.com>
4 ##
5 ## Permission to use, copy, modify, and distribute this software for
6 ## any purpose with or without fee is hereby granted, provided that
7 ## the above copyright notice and this permission notice appear in all
8 ## copies.
9 ##
10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
21 ## SUCH DAMAGE.
22 ##
24 # package information
25 Name: qtcreator
26 Summary: Cross Platform Application Framework
27 URL: http://qt.nokia.com/developer/qt-creator
28 Vendor: Nokia Corporation
29 Packager: Michael Schloh von Bennewitz
30 Distribution: Europalab Networks Production
31 Class: EVAL
32 Group: Development
33 License: GPL
34 Version: 2.2.0
35 Release: 20110514
37 # list of sources
38 Source0: ftp://ftp.qt.nokia.com/qtcreator/qt-creator-%{version}-src.tar.gz
40 # build information
41 Prefix: %{l_prefix}
42 BuildRoot: %{l_buildroot}
43 BuildPreReq: OpenPKG, openpkg >= 20060823
44 PreReq: OpenPKG, openpkg >= 20060823
45 BuildPreReq: qt, qt::with_shared = yes
46 PreReq: qt, qt::with_shared = yes
47 AutoReq: no
48 AutoReqProv: no
50 %description
51 Qt Creator is a cross platform integrated development environment
52 (IDE) with an advanced C++ code editor, integrated GUI layout and
53 forms designer, project and build management tools, integrated
54 context sensitive help system, visual debugger, and rapid code
55 navigation tools. Its portable design and leverage of the Qt SDK
56 allows for support of multiple platforms.
58 %track
59 prog qtcreator = {
60 version = %{version}
61 url = ftp://ftp.qt.nokia.com/qtcreator/
62 regex = qt-creator-(__VER__)-src\.tgz
63 }
65 %prep
66 %setup -q -n qt-creator-%{version}-src
67 %{l_shtool} subst \
68 -e 's;\(QMAKE_RPATHDIR +=\);#\1;g' \
69 -e 's;\(\$\$join(QMAKE_RPATHDIR, ":"\));\1, "%{l_prefix}/lib/qtcreator:");' \
70 src/rpath.pri
71 # Trolltech Bug:
72 # Hardcoded paths not correct in every case
73 %{l_shtool} subst \
74 -e 's;\(share\)/\(doc\)/\(qtcreator\);\1/\3/\2;' \
75 doc/doc.pri \
76 qtcreator.pri \
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
89 echo '' >>src/libs/3rdparty/botan/botan.pro
90 for profil in `find . -name '*.pro' | grep -v '[ ]'`; do
91 echo 'CONFIG += shared' >>$profil
92 done
94 %build
95 # Force linkage to Qt shared libraries due to
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}
110 %install
111 rm -rf $RPM_BUILD_ROOT
113 # carry out installation procedure
114 %{l_make} %{l_mflags} install INSTALL_ROOT="$RPM_BUILD_ROOT%{l_prefix}"
116 # determine internal file listing
117 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
119 %files -f files
121 %clean
122 rm -rf $RPM_BUILD_ROOT