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
|
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?tde_prefix}" != "/usr"
%define _variant .opt
%endif
# TDE 3.5.13 specific building variables
%define tde_bindir %{tde_prefix}/bin
%define tde_datadir %{tde_prefix}/share
%define tde_docdir %{tde_datadir}/doc
%define tde_includedir %{tde_prefix}/include
%define tde_libdir %{tde_prefix}/%{_lib}
%define tde_mandir %{tde_datadir}/man
%define tde_appdir %{tde_datadir}/applications
%define tde_tdeappdir %{tde_appdir}/kde
%define tde_tdedocdir %{tde_docdir}/kde
%define tde_tdeincludedir %{tde_includedir}/kde
%define tde_tdelibdir %{tde_libdir}/trinity
%define _docdir %{tde_docdir}
%define __arch_install_post %{nil}
Name: python-trinity
Summary: Trinity bindings for Python [Trinity]
Version: 3.16.3
Release: 2%{?dist}%{?_variant}
License: GPLv2+
Group: Applications/Utilities
Vendor: Trinity Project
Packager: Francois Andriot <francois.andriot@free.fr>
URL: http://www.simonzone.com/software/pykdeextensions
Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: python-trinity-3.5.13.tar.gz
## RHEL/Fedora patches
Patch1: python-trinity-3.5.13-install_directories.patch
# [python-trinity] Fix compilation with GCC 4.7
Patch2: python-trinity-3.5.13-fix_gcc47_compilation.patch
# [python-trinity] Fix Mandrake detection function
Patch3: python-trinity-3.5.13-fix_mandrake_detection.patch
BuildRequires: tqtinterface-devel
BuildRequires: trinity-tdelibs-devel
BuildRequires: trinity-tdebase-devel
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: python
%if 0%{?mgaversion} || 0%{?mdkversion}
BuildRequires: python-sip
BuildRequires: python-qt
%else
%if 0%{?rhel} == 5
# RHEL 5 comes with old version, so we brought ours ...
BuildRequires: trinity-sip-devel
BuildRequires: trinity-PyQt-devel
%else
BuildRequires: sip-devel
BuildRequires: PyQt-devel
%endif
%endif
%description
Python binding module that provides wide access to the Trinity API,
also known as PyKDE. Using this, you'll get (for example) classes
from kio, kjs, khtml and kprint.
%package devel
Summary: Trinity bindings for Python - Development files and scripts [Trinity]
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Development .sip files with definitions of PyKDE classes. They
are needed to build PyKDE, but also as building blocks of other
packages based on them.
The package also contains kdepyuic, a wrapper script around PyQt's
user interface compiler.
%package doc
Summary: Documentation and examples for PyKDE [Trinity]
Group: Development/Libraries
%description doc
General documentation and examples for PyKDE providing programming
tips and working code you can use to learn from.
%prep
%setup -q -n libraries/python-trinity
%patch1 -p1
%patch2 -p1
%patch3 -p1
# Hack to get TQT include files under /opt
%__sed -i "configure.py" \
-e "s|/usr/include/tqt|%{tde_includedir}/tqt|g"
%build
unset QTDIR; . /etc/profile.d/qt.sh
export PATH="%{tde_bindir}:${PATH}"
export LDFLAGS="-L%{tde_libdir} -I%{tde_includedir}"
export LDFLAGS="${LDFLAGS} -lpython2.7"
export PYTHONPATH=%{python_sitearch}/trinity-sip:%{python_sitearch}/trinity-PyQt
%__python configure.py \
-k %{tde_prefix} \
-L %{_lib} \
-v %{_datadir}/sip/trinity
%if 0%{?mgaversion} || 0%{?mdkversion}
# Shitty hack to add LDFLAGS
%__sed -i */Makefile \
-e "/^LIBS = / s|$| -lpython2.7 -lDCOP -lkdecore -lkdefx -lkdeui -lkresources -lkabc -lkparts -lkio|"
%endif
%__make %{_smp_mflags}
%install
export PATH="%{tde_bindir}:${PATH}"
%__rm -rf %{buildroot}
%__make install DESTDIR=%{buildroot}
# Install documentation
%__mkdir_p %{buildroot}%{tde_tdedocdir}/HTML/en/
%__cp -rf doc %{buildroot}%{tde_tdedocdir}/HTML/en/python-trinity/
%clean
%__rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING NEWS README
%{python_sitearch}/*.so
%{python_sitearch}/dcop*.py*
%{python_sitearch}/pykde*.py*
%files devel
%defattr(-,root,root,-)
%{tde_bindir}/kdepyuic
# The SIP files are outside TDE's prefix
%{_datadir}/sip/trinity/
%files doc
%defattr(-,root,root,-)
%{tde_tdedocdir}/HTML/en/python-trinity/
%Changelog
* Tue May 01 2012 Francois Andriot <francois.andriot@free.fr> - 3.16.3-2
- Rebuild for Fedora 17
- Fix compilation with GCC 4.7
- Fix compilation for RHEL 5
* Fri Dec 02 2011 Francois Andriot <francois.andriot@free.fr> - 3.16.3-1
- Initial release for RHEL 5, RHEL 6, Fedora 15, Fedora 16
|