1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
# Default version for this component
%if "%{?version}" == ""
%define version 3.5.12
%endif
%define release 2
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
%define _variant .opt
%define _docdir %{_prefix}/share/doc
%endif
# TDE 3.5.12 specific building variables
BuildRequires: autoconf automake libtool m4
%define tde_docdir %{_docdir}
%define tde_includedir %{_includedir}/kde
%define tde_libdir %{_libdir}/kde3
%define _default_patch_fuzz 2
%define qt_version 3.3.8b
%define qt_ver %{qt_version}
Name: trinity-kdevelop
Summary: Integrated Development Environment for C++/C
Version: %{?version}
Release: %{?release}%{?dist}%{?_variant}
License: GPLv2
Group: Development/Tools
Vendor: Trinity Project
Packager: Francois Andriot <[email protected]>
URL: http://www.trinitydesktop.org/
Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source: kdevelop-%{version}.tar.gz
Source1: ftp://129.187.206.68/pub/unix/ide/KDevelop/c_cpp_reference-2.0.2_for_KDE_3.0.tar.bz2
# RedHat Legacy patches
Patch1: c_cpp_reference-2.0.2-config.patch
#Patch2: kdevelop-2.1.5_for_KDE_3.1-doc.patch
# improved integration for the KDE 4 template - no special KDE 4 build environment needed in Fedora
Patch4: kdevelop-3.5.2-kde4template.patch
#upstream patches
Provides: kdevelop3 = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: trinity-kdelibs-devel
Requires: make
Requires: perl
Requires: flex >= 2.5.4
Requires: qt3-designer
Requires: gettext
Requires: ctags
BuildRequires: tqtinterface-devel
BuildRequires: trinity-arts-devel
BuildRequires: trinity-kdelibs-devel
BuildRequires: trinity-kdelibs-apidocs
BuildRequires: qt3-devel-docs
BuildRequires: db4-devel
BuildRequires: flex
BuildRequires: pcre-devel
BuildRequires: libacl-devel libattr-devel libidn-devel libart_lgpl-devel
BuildRequires: gcc-c++
# FIXME: No CVS support in KDevelop? This is going to suck...
# Requires kdesdk3.
BuildRequires: trinity-kdesdk-devel
BuildRequires: subversion-devel neon-devel
# looks like this is dragged in by apr-devel (dep of subversion-devel), but not
# a dependency
BuildRequires: openldap-devel
%if 0%{?fedora} >= 15
BuildRequires: flex-static
%endif
%description
The KDevelop Integrated Development Environment provides many features
that developers need as well as providing a unified interface to programs
like gdb, the C/C++ compiler, and make. KDevelop manages or provides:
All development tools needed for C++ programming like Compiler,
Linker, automake and autoconf; KAppWizard, which generates complete,
ready-to-go sample applications; Classgenerator, for creating new
classes and integrating them into the current project; File management
for sources, headers, documentation etc. to be included in the
project; The creation of User-Handbooks written with SGML and the
automatic generation of HTML-output with the KDE look and feel;
Automatic HTML-based API-documentation for your project's classes with
cross-references to the used libraries; Internationalization support
for your application, allowing translators to easily add their target
language to a project;
KDevelop also includes WYSIWYG (What you see is what you get)-creation
of user interfaces with a built-in dialog editor; Debugging your
application by integrating KDbg; Editing of project-specific pixmaps
with KIconEdit; The inclusion of any other program you need for
development by adding it to the "Tools"-menu according to your
individual needs.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Provides: kdevelop3-devel = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: trinity-kdelibs-devel
%description devel
%{summary}.
%package libs
Summary: %{name} runtime libraries
Group: System Environment/Libraries
Requires: trinity-kdelibs
# helps multilib upgrades
Obsoletes: %{name} < %{version}-%{release}
# include to be paranoid, installing libs-only is still mostly untested -- Rex
Requires: %{name} = %{version}-%{release}
%description libs
%{summary}.
%prep
%setup -q -n kdevelop -a1
%patch1 -p0 -b .config
#patch2 -p1 -b .doc
#patch4 -p1 -b .kde4template
%__rm -rf c_cpp_reference-2.0.2_for_KDE_3.0/admin
%__cp -a admin c_cpp_reference-2.0.2_for_KDE_3.0/
%__make -C c_cpp_reference-2.0.2_for_KDE_3.0 -f admin/Makefile.common cvs
%__cp "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in"
%__cp "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh"
%__make -f "admin/Makefile.common"
%build
unset QTDIR || : ; . /etc/profile.d/qt.sh
export PATH="%{_bindir}:${PATH}"
export LDFLAGS="-L%{_libdir} -I%{_includedir}"
# Fix KDE detection fail in "./configure" because tqt.h cannot be found
export CXXFLAGS="${CXXFLAGS} -I%{_includedir}/tqt"
%if 0%{?fedora} >= 15
export CXXFLAGS="${CXXFLAGS} -fpermissive"
%endif
# c references
pushd c_cpp_reference-2.0.2_for_KDE_3.0
%configure \
--with-qt-libraries=$QTDIR/lib \
--with-qt-includes=$QTDIR/include \
--with-extra-libs=%{_libdir} \
--with-extra-includes=%{_includedir}/tqt
popd
%configure \
--enable-new-ldflags \
--disable-dependency-tracking \
--disable-rpath \
--disable-debug \
--disable-warnings \
--enable-final \
--with-qtdoc-dir=%{_docdir}/qt-devel-%{qt_ver}/html/ \
--with-kdelibsdoc-dir=%{tde_docdir}/HTML/en/kdelibs-apidocs/ \
--with-extra-libs=%{_libdir} \
--with-extra-includes=%{_includedir}/tqt
# parallel make disabled because otherwise main.cpp can get built before
# profileeditorbase.h is fully generated
%__make
%__make %{?_smp_mflags} -C c_cpp_reference-2.0.2_for_KDE_3.0
%install
%__rm -rf %{buildroot}
%__make install DESTDIR=%{buildroot}
%__make install DESTDIR=%{buildroot} -C c_cpp_reference-2.0.2_for_KDE_3.0
# remove useless files
%__rm -rf %{buildroot}%{_prefix}/kdevbdb
%post
for f in hicolor locolor ; do
touch --no-create %{_datadir}/icons/$f 2> /dev/null ||:
gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||:
done
update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%postun
for f in hicolor locolor ; do
touch --no-create %{_datadir}/icons/$f 2> /dev/null ||:
gtk-update-icon-cache -q %{_datadir}/icons/$f 2> /dev/null ||:
done
update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%post libs
/sbin/ldconfig
%postun libs
/sbin/ldconfig
%clean
%__rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{tde_docdir}/HTML/en/*
%{_bindir}/*
%{tde_libdir}/*
%{_libdir}/kconf_update_bin/*
%{_datadir}/applications/kde/*
%{_datadir}/apps/*
%{_datadir}/config/*
%{_datadir}/desktop-directories/*
%{_datadir}/icons/hicolor/*/*/*
%{_datadir}/icons/locolor/*/*/*
%{_datadir}/mimelnk/application/*
%{_datadir}/mimelnk/text/*
%{_datadir}/services/*
%{_datadir}/servicetypes/*
%files libs
%defattr(-,root,root,-)
%{_libdir}/lib*.so.*
%{_libdir}/lib*.la
%files devel
%defattr(-,root,root,-)
%{_libdir}/lib*.so
%{_includedir}/*
%changelog
* Mon Sep 19 2011 Francois Andriot <[email protected]> - 3.5.12-2
- Add support for RHEL5
* Sun Sep 11 2011 Francois Andriot <[email protected]> - 3.5.12-1
- Initial build for RHEL 6
- Spec file based on Fedora 8 "kdeedu-3.5.3-1"
- Import to GIT
|