]> git.pld-linux.org Git - packages/python-egenix-mx-base.git/blob - python-egenix-mx-base.spec
- removed %%include /usr/lib/rpm/macros.python
[packages/python-egenix-mx-base.git] / python-egenix-mx-base.spec
1 # TODO make examples package
2
3 %define         module  egenix-mx-base
4 %define         mxdir   %{py_sitedir}/mx
5 #%%define               beta_num        5
6 #%%define               fn_sufix        0b%{beta_num}
7
8 Summary:        eGenix mx-Extensions for Python
9 Summary(pl):    eGenix mx-Extensions dla jêzyka Python
10 Name:           python-%{module}
11 Version:        2.0.5
12 Release:        8
13 License:        distributable
14 Group:          Libraries/Python
15 # Source0:      http://www.egenix.com/files/python/%{module}-%{version}.%{fn_sufix}.tar.gz
16 Source0:        http://www.egenix.com/files/python/%{module}-%{version}.tar.gz
17 # Source0-md5:  a793a8fd2d5f646a2fb683d2d967a16b
18 # URL:          http://www.lemburg.com/python/eGenix-mx-Extensions.html
19 URL:            http://www.egenix.com/mailman-archives/egenix-users/2002-August/000078.html
20 BuildRequires:  python-devel >= 2.2.2
21 BuildRequires:  python-modules >= 2.2.2
22 BuildRequires:  rpm-pythonprov
23 %pyrequires_eq  python
24 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25
26 %description
27 The eGenix mx Extension Series are a collection of Python extensions
28 written in ANSI C and Python which provide a large spectrum of useful
29 additions to everyday Python programming.
30
31 This package includes the Open Source subpackages of the series and is
32 needed by all other add-on packages of the series.
33
34 %description -l pl
35 eGenix mx Extensions Series jest zestawem modu³ów, u³atwiaj±cych ¿ycie
36 ka¿demu programi¶cie pisz±cemu w jêzyku Python, napisanych w ANSI C i
37 Pythonie.
38
39 Ten pakiet zawiera podstawowe modu³y wymagane przez inne pakiety.
40
41 %package devel
42 Summary:        Basic header files for eGenix extensions
43 Summary(pl):    Podstawowe pliki nag³ówkowe dla rozszerzeñ eGenix
44 Group:          Development/Languages/Python
45
46 %description devel
47 Basic header files for eGenix extensions.
48
49 %description devel -l pl
50 Podstawowe pliki nag³ówkowe dla rozszerzeñ eGenix.
51
52 %package -n python-mx-DateTime
53 Summary:        Date and time Python extension
54 Summary(pl):    Obiekty daty i czasu dla jêzyka Python
55 Group:          Libraries/Python
56 %pyrequires_eq  python
57 Requires:       python-%{module} = %{version}-%{release}
58
59 %description -n python-mx-DateTime
60 mxDateTime is an extension package that provides three new object
61 types - DateTime, DateTimeDelta and RelativeDateTime, which let you
62 store and handle date/time values in a much more natural way than by
63 using ticks (seconds since 01.01.1970 0:00 UTC; the encoding used by
64 the time module).
65
66 You can add, subtract and even multiply instances, pickle and copy
67 them and convert the results to strings, COM dates, ticks and some
68 other more esoteric values. In addition, there are several convenient
69 constructors and formatters at hand to greatly simplify dealing with
70 dates and times in real-world applications.
71
72 In addition to providing an easy-to-use Python interface the package
73 also exports a comfortable C API interface for other extensions to
74 build upon. This is especially interesting for database applications
75 which often have to deal with date/time values (the mxODBC package is
76 one example of an extension using this interface).
77
78 %description -n python-mx-DateTime -l pl
79 mxDateTime jest pakietem modu³ów, które definiuj± trzy nowe klasy -
80 DateTime, DateTimeDelta oraz RelativeDateTime. Umo¿liwiaj± one
81 przechowywanie oraz operowanie na dacie i czasie w bardziej naturalny
82 sposób ni¿ za pomoc± sekund od pocz±tku 1 stycznia 1970 (tak jak w
83 module time).
84
85 Programista mo¿e dodawaæ, odejmowaæ, mno¿yæ (w sensie arytmetycznym),
86 serializowaæ, a tak¿e mno¿yæ (w sesnie rozmna¿ania :-) obiekty.
87 Instancje w/w klas mog± byæ konwertowane do napisów i sekund.
88 Dodatkowo modu³ zawiera kilka u¿ytecznych funkcji do tworzenia nowych
89 obiektów i ich formatowania.
90
91 Oprócz, ³atwych w u¿yciu, klas jêzyka Python, pakiet dostarcza tak¿e
92 bardzo wygodny interfejs w C, który mo¿e byæ wykorzystany do tworzenia
93 innych rozszerzeñ (np.: pakiet mxODBC). W szczególno¶ci, cecha ta jest
94 interesuj±ca w przypadku aplikacji bazodanowych, które operuj± na
95 dacie i czasie.
96
97 %package -n python-mx-DateTime-devel
98 Summary:        Headers for date and time Python extension
99 Summary(pl):    Nag³ówki modu³ów daty i czasu
100 Group:          Development/Languages/Python
101 Requires:       %{name}-devel = %{version}-%{release}
102
103 %description -n python-mx-DateTime-devel
104 Headers for date and time Python extension.
105
106 %description -n python-mx-DateTime-devel -l pl
107 Nag³ówki dla modu³ów daty i czasu.
108
109 %package -n python-mx-TextTools
110 Summary:        Efficient text manipulation extensions for Python
111 Summary(pl):    Wydajne manipulowanie tekstem w jêzyku Python
112 Group:          Libraries/Python
113 %pyrequires_eq  python
114 Requires:       python-%{module} = %{version}-%{release}
115
116 %description -n python-mx-TextTools
117 mxTextTools is an extension package for Python that provides several
118 useful functions and types that implement high-performance text
119 manipulation and searching algorithms in addition to a very flexible
120 and extendable state machine, the Tagging Engine, that allows scanning
121 and processing text based on low-level byte-code "programs" written
122 using Python tuples. It gives you access to the speed of C without the
123 need to do any compile and link steps every time you change the
124 parsing description.
125
126 Applications include parsing structured text, finding and extracting
127 text (either exact or using translation tables) and recombining
128 strings to form new text.
129
130 %description -n python-mx-TextTools -l pl
131 Pakiet mxTextTools dostarcza szereg u¿ytecznych typów i funkcji, które
132 implementuj± wysokiej jako¶ci algorytmy do wyszukiwania i manipulacji
133 tekstu. Programista dostaje wydajne (na poziomie kodu napisanego w
134 jêzyku C) narzêdzie bez potrzeby kompilacji i konsolidacji, kiedy
135 zajdzie potrzeba zmiany sposobu interpretacji tekstu.
136
137 Pakiet mo¿e mieæ zastosowanie w aplikacjach, które musz± interpretowaæ
138 tekst zadany w konkretnym formacie, a tak¿e wyszukiwaæ, pobieraæ i
139 manipulowaæ tekstem.
140
141 %package -n python-mx-Stack
142 Summary:        Stack implementation for Python
143 Summary(pl):    Implementacja stosu dla jêzyka Python
144 Group:          Libraries/Python
145 %pyrequires_eq  python
146 Requires:       python-%{module} = %{version}-%{release}
147
148 %description -n python-mx-Stack
149 mxStack is an extension package that provides a new object type called
150 Stack. It works much like what you would expect from such a type,
151 having .push() and .pop() methods and focusses on obtaining maximum
152 speed at low memory costs.
153
154 %description -n python-mx-Stack -l pl
155 Pakiet mxStack zawiera implementacjê stosu, która zawiera typowe
156 metody takie jak pop() czy push(). Mechanizm zosta³ napisany tak by,
157 przy minimalnym zu¿yciu pamiêci, by³ bardzo wydajny.
158
159 %package -n python-mx-Queue
160 Summary:        Queue implementation for Python
161 Summary(pl):    Implementacja kolejki dla jêzyka Python
162 Group:          Libraries/Python
163 %pyrequires_eq  python
164 Requires:       python-%{module} = %{version}-%{release}
165
166 %description -n python-mx-Queue
167 mxQueue is an extension package that provides a new object type called
168 Queue. It works much like what you would expect from such a type,
169 having .push() and .pop() methods and focusses on obtaining maximum
170 speed at low memory costs.
171
172 %description -n python-mx-Queue -l pl
173 Pakiet mxQueue zawiera implementacjê kolejki, która zawiera typowe
174 metody takie jak pop() czy push(). Mechanizm zosta³ napisany tak by,
175 przy minimalnym zu¿yciu pamiêci, by³ bardzo wydajny.
176
177 %package -n python-mx-Tools
178 Summary:        Some handy functions and objects which provides new builtins for Python
179 Summary(pl):    Kilka u¿ytecznych klas i funkcji w postaci wew. mechanizmów Pythona
180 Group:          Libraries/Python
181 %pyrequires_eq  python
182 Requires:       python-%{module} = %{version}-%{release}
183
184 %description -n python-mx-Tools
185 mxTools is an extension package that includes a collection of handy
186 functions and objects giving additional functionality in form of new
187 builtins to the Python programmer.
188
189 The package auto-installs the new functions and objects as builtins
190 upon first import. This means that they become instantely available to
191 all other modules without any further action on your part. Add the
192 line import mx.Tools.NewBuiltins to your site.py script and they will
193 be available to all users at your site as if they were installed in
194 the Python interpreter itself.
195
196 %description -n python-mx-Tools -l pl
197 Pakiet mxTools zawiera kilka u¿ytecznych klas i funkcji, które daj±
198 wiêcej mo¿liwo¶ci programi¶cie, w postaci wewnêtrznych mechanizmów
199 jêzyka Python.
200
201 Pakiet ten instaluje, jako mechanizmy wewnêtrzne Pythona, wszystkie
202 funkcje i klasy po ich pierwszym do³±czeniu do kodu. Oznacza to, ¿e s±
203 one dostêpne dla innych modu³ów bez jakichkolwiek dodatkowych
204 zabiegów. Wystarczy dodaæ liniê "import mx.Tools.NewBuiltins" do
205 odpowiedniego skryptu (site.py) i zdefiniowane funkcje oraz klasy bêd±
206 widoczne dla wszystkich u¿ytkowników tak, jak by by³y wbudowane w
207 jêzyk Python.
208
209 %package -n python-mx-Proxy
210 Summary:        Support for Bastion like implementations for Python
211 Summary(pl):    Wsparcie dla implementacji typu Bastion dla jêzyka Python
212 Group:          Libraries/Python
213 %pyrequires_eq  python
214 Requires:       python-%{module} = %{version}-%{release}
215
216 %description -n python-mx-Proxy
217 mxProxy is an extension package that provides a new type that is
218 suitable to implement Bastion like features without the need to use
219 restricted execution environments.
220
221 The type's main features are secure data encapsulation (the hidden
222 objects are not accessible from Python since they are stored in
223 internal C structures), customizable attribute lookup methods and a
224 cleanup protocol that helps in breaking circular references prior to
225 object deletion.
226
227 The latest version adds a very interesting new feature: weak
228 references which help you work with circular references in a way that
229 doesn't cause memory leakage in a Python system.
230
231 %description -n python-mx-Proxy -l pl
232 Pakiet mxProxy dostarcza nowe klasy, które implementuj± funkcjonalno¶æ
233 typu Bastion bez potrzeby ograniczania ¶rodowiska, w którym jest
234 wykonywana aplikacja.
235
236 Podstawowymi zaletami s±: bezpieczne obudowywanie danych (ukryte
237 obiekty nie s± dostêpne z poziomu Pythona, poniewa¿ s± one
238 przechowywane w wewnêtrznych strukturach jêzyka C), konfigurowalne
239 metody do pobierania warto¶ci atrybutów oraz protokó³, który pomaga w
240 rozbijaniu zapêtlonych referencji podczas usuwania obiektów.
241
242 Ostatnia wersja pakietu implementuje tzw. s³abe referencje, które nie
243 powoduj± wycieków pamiêci w przypadku referencji zapêtlonych.
244
245 %package -n python-mx-BeeBase
246 Summary:        High performance construction kit for disk based indexed databases (B+Tree)
247 Summary(pl):    Wysokiej jako¶ci pakiet do tworzenia indeksowanych baz danych (B+Tree)
248 Group:          Libraries/Python
249 %pyrequires_eq  python
250 Requires:       python-%{module} = %{version}-%{release}
251
252 %description -n python-mx-BeeBase
253 mxBeeBase is a high performance construction kit for disk based
254 indexed databases. It offers components which you can plug together to
255 easily build your own custom mid-sized databases (the current size
256 limit is sizeof(long) which gives you an address range of around 2GB
257 on 32-bit platforms).
258
259 The two basic building blocks in mxBeeBase are storage and index.
260 Storage is implemented as variable record length data storage with
261 integrated data protection features, automatic data recovery and
262 locking for multi process access. Indexes use a high performance
263 optimized B+Tree implementation built on top of Thomas Niemann's
264 Cookbook B+Tree implementation.
265
266 %description -n python-mx-BeeBase -l pl
267 mxBeeBase jest wysokiej jako¶ci pakietem do tworzenia indeksowanych
268 baz danych. Zawiera komponenty, które mo¿na razem ³±czyæ w celu
269 zbudowania w³asnej bazy. Obecny limit ilo¶ci danych wynosi 2GB (max.
270 warto¶æ liczby ca³kowitej typu long na platformach 32 bitowych).
271
272 Dwoma podstawowymi komponentami w tym pakiecie s± indeksy oraz
273 rekordy. Rekord mo¿e byæ zmiennej d³ugo¶ci i zawiera mechanizmy
274 ochrony, automatycznego odzyskiwania, blokowania, a tak¿e
275 wieloprocesowego dostêpu do danych. Do indeksowania s± u¿ywane bardzo
276 wydajne B-drzewa zaimplementowane na podstawie Cookbook B+Tree Thomasa
277 Newmanna.
278
279 %prep
280 #%%setup -q -n %{module}-%{version}.%{fn_sufix}
281 %setup -q -n %{module}-%{version}
282
283 %build
284 env CFLAGS="%{rpmcflags}" python setup.py build
285
286 %install
287 rm -rf $RPM_BUILD_ROOT
288 install -d $RPM_BUILD_ROOT%{py_incdir}/mx
289 python setup.py install \
290         --root=$RPM_BUILD_ROOT \
291         --install-purelib=%{py_sitedir}
292
293 find $RPM_BUILD_ROOT%{py_sitedir} -name \*.h \
294         -exec mv {} $RPM_BUILD_ROOT%{py_incdir}/mx \;
295
296 %clean
297 rm -rf $RPM_BUILD_ROOT
298
299 %files
300 %defattr(644,root,root,755)
301 %doc README mx/LICENSE mx/COPYRIGHT mx/Doc/mxLicense.html
302 %dir %{mxdir}
303 %dir %{py_incdir}/mx
304 %{mxdir}/*.py[co]
305
306 %dir %{mxdir}/Misc
307 %{mxdir}/Misc/*.py[co]
308
309 %files devel
310 %defattr(644,root,root,755)
311 %{py_incdir}/mx/mxh.h
312
313 %files -n python-mx-DateTime
314 %defattr(644,root,root,755)
315 %doc mx/DateTime/Doc/*.html
316 %dir %{mxdir}/DateTime
317 %{mxdir}/DateTime/*.py[co]
318
319 %dir %{mxdir}/DateTime/mxDateTime
320 %{mxdir}/DateTime/mxDateTime/*.py[co]
321 %attr(755,root,root) %{mxdir}/DateTime/mxDateTime/*.so
322
323 %files -n python-mx-DateTime-devel
324 %defattr(644,root,root,755)
325 %{py_incdir}/mx/mxDateTime.h
326
327 %files -n python-mx-TextTools
328 %defattr(644,root,root,755)
329 %doc mx/TextTools/Doc/*.html
330 %dir %{mxdir}/TextTools
331 %{mxdir}/TextTools/*.py[co]
332
333 %dir %{mxdir}/TextTools/mxTextTools
334 %{mxdir}/TextTools/mxTextTools/*.py[co]
335 %attr(755,root,root) %{mxdir}/TextTools/mxTextTools/*.so
336
337 %dir %{mxdir}/TextTools/Constants
338 %{mxdir}/TextTools/Constants/*.py[co]
339
340 %files -n python-mx-Stack
341 %defattr(644,root,root,755)
342 %doc mx/Stack/Doc/*.html
343 %dir %{mxdir}/Stack
344 %{mxdir}/Stack/*.py[co]
345
346 %dir %{mxdir}/Stack/mxStack
347 %{mxdir}/Stack/mxStack/*.py[co]
348 %attr(755,root,root) %{mxdir}/Stack/mxStack/*.so
349
350 %files -n python-mx-Queue
351 %defattr(644,root,root,755)
352 %doc mx/Queue/Doc/*.html
353 %dir %{mxdir}/Queue
354 %{mxdir}/Queue/*.py[co]
355
356 %dir %{mxdir}/Queue/mxQueue
357 %{mxdir}/Queue/mxQueue/*.py[co]
358 %attr(755,root,root) %{mxdir}/Queue/mxQueue/*.so
359
360 %files -n python-mx-Tools
361 %defattr(644,root,root,755)
362 %doc mx/Tools/Doc/*.html
363 %dir %{mxdir}/Tools
364 %{mxdir}/Tools/*.py[co]
365
366 %dir %{mxdir}/Tools/mxTools
367 %{mxdir}/Tools/mxTools/*.py[co]
368 %attr(755,root,root) %{mxdir}/Tools/mxTools/*.so
369
370 %files -n python-mx-Proxy
371 %defattr(644,root,root,755)
372 %doc mx/Proxy/Doc/*.html
373 %dir %{mxdir}/Proxy
374 %{mxdir}/Proxy/*.py[co]
375
376 %dir %{mxdir}/Proxy/mxProxy
377 %{mxdir}/Proxy/mxProxy/*.py[co]
378 %attr(755,root,root) %{mxdir}/Proxy/mxProxy/*.so
379
380 %files -n python-mx-BeeBase
381 %defattr(644,root,root,755)
382 %doc mx/BeeBase/Doc/*.html
383 %dir %{mxdir}/BeeBase
384 %{mxdir}/BeeBase/*.py[co]
385
386 %dir %{mxdir}/BeeBase/mxBeeBase
387 %{mxdir}/BeeBase/mxBeeBase/*.py[co]
388 %attr(755,root,root) %{mxdir}/BeeBase/mxBeeBase/*.so
This page took 0.212206 seconds and 4 git commands to generate.