]> git.pld-linux.org Git - packages/python3.git/blob - python3.spec
- try to fix ppc build
[packages/python3.git] / python3.spec
1
2 # Conditional build:
3 %bcond_with     info                    # info pages (requires emacs)
4 %bcond_without  tkinter                 # disables tkinter module building
5 %bcond_without  tests                   # disables Python testing
6 %bcond_with     verbose_tests           # runs tests in verbose mode
7 #
8 # tests which will not work on 64-bit platforms
9 %define         no64bit_tests   test_audioop test_rgbimg test_imageop
10 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
11 %define         nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty
12 # tests which fail because of some unknown/unresolved reason (this list should be empty)
13 %define         broken_tests test_httpservers
14
15 %define beta            %{nil}
16
17 %define py_ver          3.0
18 %define py_prefix       %{_prefix}
19 %define py_libdir       %{py_prefix}/%{_lib}/python%{py_ver}
20 %define py_incdir       %{_includedir}/python%{py_ver}
21 %define py_sitedir      %{py_libdir}/site-packages
22 %define py_dyndir       %{py_libdir}/lib-dynload
23
24 Summary:        Very high level scripting language with X interface
25 Summary(es.UTF-8):      Lenguaje script de alto nivel con interfaz X
26 Summary(fr.UTF-8):      Langage de script de très haut niveau avec interface X
27 Summary(pl.UTF-8):      Python - język obiektowy wysokiego poziomu
28 Summary(pt_BR.UTF-8):   Linguagem de programação interpretada de alto nível
29 Summary(ru.UTF-8):      Язык программирования очень высокого уровня с X-интерфейсом
30 Summary(tr.UTF-8):      X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
31 Summary(uk.UTF-8):      Мова програмування дуже високого рівня з X-інтерфейсом
32 Name:           python30
33 Version:        %{py_ver}.1
34 Release:        1
35 Epoch:          1
36 License:        PSF
37 Group:          Applications
38 Source0:        http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.bz2
39 # Source0-md5:  7291eac6a9a7a3642e309c78b8d744e5
40 Patch1:         %{name}-pythonpath.patch
41 Patch2:         %{name}-no_ndbm.patch
42 Patch3:         %{name}-ac_fixes.patch
43 Patch4:         %{name}-lib64.patch
44 Patch5:         %{name}-noarch_to_datadir.patch
45 URL:            http://www.python.org/
46 BuildRequires:  autoconf
47 BuildRequires:  bluez-libs-devel
48 BuildRequires:  bzip2-devel
49 BuildRequires:  db-devel >= 4
50 %{?with_info:BuildRequires:     emacs >= 21}
51 BuildRequires:  expat-devel >= 1:1.95.7
52 BuildRequires:  file
53 BuildRequires:  gdbm-devel >= 1.8.3
54 BuildRequires:  gmp-devel >= 4.0
55 BuildRequires:  libffi-devel
56 BuildRequires:  libstdc++-devel
57 BuildRequires:  ncurses-ext-devel >= 5.2
58 BuildRequires:  openssl-devel >= 0.9.8
59 BuildRequires:  readline-devel >= 5.0
60 BuildRequires:  rpm-pythonprov
61 BuildRequires:  sed >= 4.0
62 BuildRequires:  sqlite3-devel >= 3.3.5
63 %{?with_info:BuildRequires:     tetex-makeindex}
64 %{?with_tkinter:BuildRequires:  tix-devel >= 1:8.1.4-4}
65 %{?with_tkinter:BuildRequires:  tk-devel >= 8.4.3}
66 BuildRequires:  zlib-devel
67 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define         specflags_ppc   -D__ppc__=1
70
71 %if %{with verbose_tests}
72 %define test_flags -v -l -x
73 %else
74 %define test_flags -l -x
75 %endif
76
77 %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
78 %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests}
79 %else
80 %define test_list %{nobuilder_tests} %{broken_tests}
81 %endif
82
83 %ifarch sparc
84 %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
85 %endif
86
87 %description
88 Python is an interpreted, interactive, object-oriented programming
89 language. It incorporates modules, exceptions, dynamic typing, very
90 high level dynamic data types, and classes. Python combines remarkable
91 power with very clear syntax. It has interfaces to many system calls
92 and libraries, as well as to various window systems, and is extensible
93 in C or C++. It is also usable as an extension language for
94 applications that need a programmable interface. Finally, Python is
95 portable: it runs on many brands of UNIX, on the Mac, and on PCs under
96 MS-DOS, Windows, Windows NT, and OS/2.
97
98 This package contains the Python binary.
99
100 %description -l de.UTF-8
101 Python ist eine interpretierte, interaktive, objektorientierte
102 Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
103 Python enthält Module, Klassen, Exceptions, High-Level dynamische
104 Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
105 zu vielen Systemaufrufen und Libraries, sowie verschiedene
106 Fenstersysteme (X11, Motif, Tk, Mac und MFC)
107
108 Programmierer können neue built-in-Module für Python in C oder C++
109 schreiben. Python kann auch als Erweiterungssprache für Applikationen
110 benutzt werden, die ein programmierbares Interface brauchen. Dieses
111 Paket enthält die meisten Standard-Python-Module, und Module zum
112 Ansprechen von Tix (Tk-widget set) und RPM.
113
114 %description -l es.UTF-8
115 Python es un lenguaje de scripts interpretado orientado a objetos.
116 Contiene soporte para carga dinámica de objetos, clases, módulos y
117 excepciones.
118
119 Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
120 través de código C, tornando Python fácil de usar en ambientes
121 particulares/personalizados. Este paquete Python incluye la mayoría de
122 los módulos padrón Python, junto con módulos para crear interfaces
123 para el conjunto de componentes Tix para Tk y RPM.
124
125 %description -l fr.UTF-8
126 Python est un langage de script interprété et orienté objet. Il gère
127 le chargement dynamique des objets, les classes, les modules et les
128 exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
129 avec du code C est simple, ce qui rend Python facile à utiliser dans
130 des configs personnalisées.
131
132 Ce paquetage Python contient la plupart des modules Python standards,
133 ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
134 et RPM.
135
136 %description -l pl.UTF-8
137 Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
138 językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
139 typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
140 sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
141 wielu wywołań systemowych i bibliotek, w tym również do różnych
142 bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
143 poprzez odpowiednie moduły pisane w C lub C++. Python może być również
144 użyty jako element aplikacji, którym potrzebny jest interpreter do
145 skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
146 odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
147 OS/2.
148
149 Ten pakiet zawiera binarkę Pythona.
150
151 %description -l pt_BR.UTF-8
152 Python é uma linguagem de scripts interpretada orientada a objetos.
153 Contém suporte para carga dinâmica de objetos, classes, módulos e
154 exceções. Adicionar interfaces para novos sistemas de biblioteca
155 através de código C é simples, tornando Python fácil de usar em
156 ambientes particulares/personalizados.
157
158 Este pacote Python inclui a maioria do módulos padrão Python, junto
159 com módulos para interfaceamento para o conjunto de componentes Tix
160 para Tk e RPM.
161
162 %description -l ru.UTF-8
163 Python - это интерпретируемый, объектно-ориентированный язык
164 программирования. Он поддерживает динамическую загрузку объектов,
165 классы, модули и обработку исключительных ситуаций (exceptions).
166 Простота добавления интерфейсов к новым системным библиотекам через
167 код на языке C делает Python хорошим выбором для использования в
168 специальных конфигурациях.
169
170 %description -l tr.UTF-8
171 Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
172 sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
173 destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
174 paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
175 arayüz birimlerini de içerir.
176
177 %description -l uk.UTF-8
178 Python - це інтерпретована, об'єктно-орієнтована мова програмування.
179 Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
180 виключних ситуацій (exceptions). Простота додавання інтерфейсів для
181 нових системних бібліотек через код на мові C робить Python добрим
182 вибором для використання в спеціальних конфігураціях.
183
184 %package libs
185 Summary:        Python library
186 Summary(pl.UTF-8):      Biblioteka języka Python
187 Group:          Libraries/Python
188 # broken detection in rpm/pythondeps.sh
189 Provides:       python(abi) = %{py_ver}
190 # for compatibility with existing Ac packages
191 Provides:       python(bytecode) = %{py_ver}
192 %{!?with_info:Obsoletes:        python30-doc-info}
193
194 %description libs
195 Python shared library and very essental modules for Python binary.
196
197 %description libs -l pl.UTF-8
198 Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
199 dla Pythona.
200
201 %package modules
202 Summary:        Python modules
203 Summary(pl.UTF-8):      Moduły języka Python
204 Group:          Libraries/Python
205 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
206
207 %description modules
208 Python officially distributed modules.
209
210 %description modules -l pl.UTF-8
211 Oficjalnie rozprowadzane moduły języka Python.
212
213 %package modules-sqlite
214 Summary:        Python SQLite modules
215 Summary(pl.UTF-8):      Moduły SQLite języka Python
216 Group:          Libraries/Python
217 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
218
219 %description modules-sqlite
220 Python officially distributed sqlite module.
221
222 %description modules-sqlite -l pl.UTF-8
223 Oficjalnie rozprowadzany moduł sqlite języka Python.
224
225 %package -n pydoc30
226 Summary:        Python interactive module documentation access support
227 Summary(pl.UTF-8):      Interaktywne korzystanie z dokumentacji modułów języka Python
228 Group:          Applications
229 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
230
231 %description -n pydoc30
232 Python interactive module documentation access support.
233
234 %description -n pydoc30 -l pl.UTF-8
235 Interaktywne korzystanie z dokumentacji modułów języka Python.
236
237 %package -n idle30
238 Summary:        IDE for Python language
239 Summary(pl.UTF-8):      IDE dla języka Python
240 Group:          Applications
241 Requires:       %{name}-tkinter = %{epoch}:%{version}-%{release}
242
243 %description -n idle30
244 IDE for Python language.
245
246 %description -n idle30 -l pl.UTF-8
247 IDE dla języka Python.
248
249 %package devel
250 Summary:        Libraries and header files for building python code
251 Summary(de.UTF-8):      Libraries und Header-Dateien zum Erstellen von Python-Code
252 Summary(es.UTF-8):      Bibliotecas y archivos de inclusión para construir programas en python
253 Summary(fr.UTF-8):      Bibliothèques et en-têtes pour construire du code python
254 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki Pythona
255 Summary(pt_BR.UTF-8):   Bibliotecas e arquivos de inclusão para o Python
256 Summary(ru.UTF-8):      Библиотеки и хедеры для построения кода на языке Python
257 Summary(tr.UTF-8):      Python ile geliştirme yapmak için gerekli dosyalar
258 Summary(uk.UTF-8):      Бібліотеки та хедери для програмування на мові Python
259 Group:          Development/Languages/Python
260 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
261
262 %description devel
263 The Python interpreter is relatively easy to extend with dynamically
264 loaded extensions and to embed in other programs. This package
265 contains the header files and libraries which are needed to do both of
266 these tasks.
267
268 %description devel -l de.UTF-8
269 Der Python-Interpretierer ist relativ einfach anhand von dynamisch
270 ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
271 integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
272 die für beide Aufgaben erforderlich sind.
273
274 %description devel -l es.UTF-8
275 El interpretador Python permite incluir con facilidad extensiones
276 cargadas dinámicamente. Python es también fácil de ser empotrado en
277 otros programas. Este paquete contiene los archivos de inclusión y
278 bibliotecas necesarios para estas dos tareas.
279
280 %description devel -l fr.UTF-8
281 L'interpréteur Python est relativement facile à étendre avec des
282 extensions chargées dynamiquement et à insérer dans d'autres
283 programmes. Ce paquetage contient les en-têtes et les bibliothèques
284 nécessaires à ces deux tâches.
285
286 %description devel -l pl.UTF-8
287 Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
288 dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
289 osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
290 wszystko inne co potrzebne do tych celów.
291
292 %description devel -l pt_BR.UTF-8
293 O interpretador Python permite incluir com facilidade extensões
294 carregadas dinamicamente. Python é também fácil de ser embutido em
295 outros programas. Este pacote contém os arquivos de inclusão e
296 bibliotecas necessários para estas duas tarefas.
297
298 %description devel -l ru.UTF-8
299 Интерпретатор Python относительно легко расширяется при помощи
300 динамически загружаемых расширений и встраивается в другие программы.
301 Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих
302 задач.
303
304 %description devel -l tr.UTF-8
305 Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
306 dosyalarını ve kitaplıkları içerir.
307
308 %description devel -l uk.UTF-8
309 Інтерпретатор Python відносно легко розширюється за допомогою
310 розширень з динамічною загрузкою та вбудовується в інші програми. Цей
311 пакет містить хедери та бібліотеки, необхідні для обох цих задач.
312
313 %package devel-src
314 Summary:        Python module sources
315 Summary(pl.UTF-8):      Pliki źródłowe modułów Pythona
316 Group:          Development/Languages/Python
317 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
318
319 %description devel-src
320 Python module sources.
321
322 %description devel-src -l pl.UTF-8
323 Pliki źródłowe modułów Pythona.
324
325 %package devel-tools
326 Summary:        Python development tools
327 Summary(pl.UTF-8):      Narzędzia programistyczne języka Python
328 Group:          Development/Languages/Python
329 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
330
331 %description devel-tools
332 Python development tools such as profilers and debugger.
333
334 %description devel-tools -l pl.UTF-8
335 Narzędzia programistyczne języka Python takie jak profiler oraz
336 debugger.
337
338 %package 2to3
339 Summary:        Automated Python 2 to 3 code translation
340 Summary(pl.UTF-8):      Automatyczne tłumaczenie kody Pythona 2 do 3
341 Group:          Development/Languages/Pythona
342
343 %description 2to3
344 2to3 is a Python program that reads Python 2.x source code and applies a series
345 of fixers to transform it into valid Python 3.x code. The standard library
346 contains a rich set of fixers that will handle almost all code. 2to3 supporting
347 library lib2to3 is, however, a flexible and generic library, so it is possible
348 to write your own fixers for 2to3. lib2to3 could also be adapted to custom
349 applications in which Python code needs to be edited automatically.
350
351 %package static
352 Summary:        Static python library
353 Summary(pl.UTF-8):      Statyczna biblioteka Pythona
354 Group:          Development/Languages/Python
355 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
356
357 %description static
358 Static python library.
359
360 %description static -l pl.UTF-8
361 Statyczna biblioteka Pythona.
362
363 %package doc
364 Summary:        Documentation on Python
365 Summary(de.UTF-8):      Dokumentation zu Python
366 Summary(es.UTF-8):      Documentación para Python
367 Summary(fr.UTF-8):      Documentation sur Python
368 Summary(pl.UTF-8):      Dokumentacja do Pythona
369 Summary(pt_BR.UTF-8):   Documentação para a linguagem de programação Python
370 Summary(ru.UTF-8):      Документация по языку Python
371 Summary(tr.UTF-8):      Python belgeleri
372 Summary(uk.UTF-8):      Документація по мові Python
373 Group:          Documentation
374
375 %description doc
376 This package contains documentation on the Python language and
377 interpretor as a mix of plain ASCII files and LaTeX sources.
378
379 %description doc -l de.UTF-8
380 Dieses Paket enthält Dokumentationen zu Python (Sprache und
381 Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen.
382
383 %description doc -l es.UTF-8
384 Documentación para Python. Contiene archivos en texto y PostScript.
385
386 %description doc -l fr.UTF-8
387 Ce paquetage contient la documentation sur le langage python et sur
388 son interpréteur sous forme de fichiers ASCII et LaTeX.
389
390 %description doc -l pl.UTF-8
391 Oficjalna dokumentacja do Pythona. Zawiera przykładowe programy,
392 narzędzia i dokumentację. Strony podręcznika man znajdują się w
393 głównym pakiecie. Ten pakiet nie zawiera źródeł dokumentacji
394 napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe
395 i HTML.
396
397 %description doc -l pt_BR.UTF-8
398 O pacote python-doc contém documentação para a linguagem de
399 programação e para o interpretador Python. Fornecida em arquivos texto
400 e Postcript.
401
402 %description doc -l ru.UTF-8
403 Этот пакет содержит документацию по собственно языку Python и по
404 исполняющему его интерпретатору в виде набора текстовых файлов и
405 исходных текстов в формате LaTeX.
406
407 %description doc -l tr.UTF-8
408 Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyaları ve
409 LaTeX kaynaklarının bir karışımı olan yorumlayıcıyı içerir.
410
411 %description doc -l uk.UTF-8
412 Цей пакет містить документацію по власне мові Python та по виконуючому
413 її інтерпретатору у вигляді набора текстових файлів та вихідних
414 текстів у форматі LaTeX.
415
416 %package doc-info
417 Summary:        Documentation on Python in texinfo format
418 Summary(pl.UTF-8):      Dokumentacja do Pythona w formacie texinfo
419 Group:          Documentation
420
421 %description doc-info
422 Documentation on Python in texinfo format.
423
424 %description doc-info -l pl.UTF-8
425 Dokumentacja do Pythona w formacie texinfo.
426
427 %package tkinter
428 Summary:        Standard Python interface to the Tk GUI toolkit
429 Summary(de.UTF-8):      Grafische Tk-Schnittstelle für Python
430 Summary(es.UTF-8):      Interfaz de GUI Tk para Python
431 Summary(fr.UTF-8):      Interface graphique Tk pour Python
432 Summary(pl.UTF-8):      Standardowy interfejs Pythona do biblioteki Tk
433 Summary(pt_BR.UTF-8):   Interface GUI Tk para Phyton
434 Summary(tr.UTF-8):      Python için grafik kullanıcı arayüzü
435 Group:          Libraries/Python
436 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
437 Requires:       tcl >= 8.4.3
438 Requires:       tix >= 1:8.1.4-4
439 Requires:       tk >= 8.4.3
440
441 %description tkinter
442 Standard Python interface to the Tk GUI toolkit.
443
444 %description tkinter -l de.UTF-8
445 Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
446 vielen Konfigurations-Tools genutzt.
447
448 %description tkinter -l es.UTF-8
449 Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
450 herramientas de configuración.
451
452 %description tkinter -l fr.UTF-8
453 Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
454 beaucoup des outils de configuration.
455
456 %description tkinter -l pl.UTF-8
457 Standardowy interfejs Pythona do biblioteki Tk.
458
459 %description tkinter -l pt_BR.UTF-8
460 Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
461 muitas ferramentas de configuração.
462
463 %description tkinter -l ru.UTF-8
464 Графический интерфейс (GUI) для Python, построенный на Tcl/Tk.
465
466 %description tkinter -l tr.UTF-8
467 Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
468 kullanılan grafik bir arayüzdür.
469
470 %description tkinter -l uk.UTF-8
471 Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
472
473 %package examples
474 Summary:        Example programs in Python
475 Summary(pl.UTF-8):      Przykładowe programy w Pythonie
476 Group:          Development/Languages/Python
477
478 %description examples
479 Example programs in Python.
480
481 These are for Python 2.3.4, not %{version}.
482
483 %description examples -l pl.UTF-8
484 Przykładowe programy w Pythonie.
485
486 Przykłady te są dla Pythona 2.3.4, nie %{version}.
487
488 %prep
489 %setup -q -n Python-%{version}%{beta}
490 %patch1 -p1
491 %patch2 -p1
492 %patch3 -p1
493 %patch4 -p1
494 %patch5 -p1
495
496 %build
497 sed -i -e 's#-ltermcap#-ltinfo#g' configure*
498 %{__autoconf}
499 CPPFLAGS="-I/usr/include/ncursesw"; export CPPFLAGS
500 %configure \
501         --with-cxx-main="%{__cxx}" \
502         --enable-shared \
503         --enable-ipv6 \
504         --with-wide-unicode \
505         --with-signal-module \
506         --with-tsc \
507         --with-threads \
508         --with-doc-strings \
509         --with-fpectl \
510         --with-system-ffi \
511         LINKCC='$(PURIFY) $(CXX)' \
512         LDSHARED='$(CC) $(CFLAGS) -shared' \
513         BLDSHARED='$(CC) $(CFLAGS) -shared' \
514         LDFLAGS="%{rpmcflags} %{rpmldflags}"
515
516 %{__make} \
517         OPT="%{rpmcflags}" 2>&1 | awk '
518 BEGIN { fail = 0; logmsg = ""; }
519 {
520         if ($0 ~ /\*\*\* WARNING:/) {
521                 fail = 1;
522                 logmsg = logmsg $0;
523         }
524         print $0;
525 }
526 END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
527
528 LC_ALL=C
529 export LC_ALL
530 %if %{with tests}
531 binlibdir=`echo build/lib.*`
532 %{__make} test \
533         TESTOPTS="%{test_flags} %{test_list}" \
534         TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:$binlibdir ./python -tt"
535 %endif
536
537 %install
538 rm -rf $RPM_BUILD_ROOT
539 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \
540         $RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \
541         $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
542         $RPM_BUILD_ROOT%{_infodir} \
543         $RPM_BUILD_ROOT/etc/shrc.d
544
545 %{__make} install \
546         DESTDIR=$RPM_BUILD_ROOT
547
548 %if %{with info}
549 %{__make} -C Doc/info
550 install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
551 %endif
552
553 install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config
554
555 mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a
556 ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a
557 ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so
558
559 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
560 cp -a Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
561
562 #
563 # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
564 #
565
566 # for python devel tools
567 for script in timeit profile pdb pstats; do
568     echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
569 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
570
571 echo alias pygettext%{py_ver}.py='"pygettext%{py_ver}"' \
572         >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
573
574 sed 's/=/ /' \
575         < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
576         > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
577
578 # for python modules
579 for script in smtpd webbrowser; do
580     echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
581 done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
582
583 sed 's/=/ /' \
584         < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
585         > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
586
587 # xgettext specific for Python code
588 #
589 # we will have two commands: pygettext.py (an alias) and pygettext;
590 # this way there are no import (which is impossible now) conflicts and
591 # pygettext.py is provided for compatibility
592 install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
593
594 # add py_ver
595 for script in idle pydoc; do
596         mv $RPM_BUILD_ROOT%{_bindir}/${script} $RPM_BUILD_ROOT%{_bindir}/${script}%{py_ver}
597 done
598
599 # just to cut the noise, as they are not packaged (now)
600 # first tests
601 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/test
602 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/bsddb/test
603 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test
604 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests
605 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/email/test
606 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
607 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/json/tests
608 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
609
610 # other files
611 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
612 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
613 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
614 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
615 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
616 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
617 rm -rf $RPM_BUILD_ROOT%{_bindir}/smtpd.py
618 # already in %%doc
619 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/pdb.doc
620 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
621
622 %clean
623 rm -rf $RPM_BUILD_ROOT
624
625 %post   libs -p /sbin/ldconfig
626 %postun libs -p /sbin/ldconfig
627
628 %post doc-info  -p      /sbin/postshell
629 -/usr/sbin/fix-info-dir -c %{_infodir}
630
631 %postun doc-info        -p      /sbin/postshell
632 -/usr/sbin/fix-info-dir -c %{_infodir}
633
634 %files
635 %defattr(644,root,root,755)
636 %attr(755,root,root) %{_bindir}/python%{py_ver}
637
638 %files modules
639 %defattr(644,root,root,755)
640 /etc/shrc.d/python*-modules*
641 %exclude %{py_scriptdir}/codecs.py[co]
642 %exclude %{py_scriptdir}/copyreg.py[co]
643 %exclude %{py_scriptdir}/locale.py[co]
644 %exclude %{py_scriptdir}/posixpath.py[co]
645 %exclude %{py_scriptdir}/pdb.py[co]
646 %exclude %{py_scriptdir}/profile.py[co]
647 %exclude %{py_scriptdir}/pstats.py[co]
648 %exclude %{py_scriptdir}/pydoc.py[co]
649 %exclude %{py_scriptdir}/site.py[co]
650 %exclude %{py_scriptdir}/stat.py[co]
651 %exclude %{py_scriptdir}/timeit.py[co]
652 %exclude %{py_scriptdir}/os.py[co]
653 %exclude %{py_scriptdir}/encodings/*.py[co]
654 %exclude %{py_scriptdir}/types.py[co]
655
656 %{py_scriptdir}/*.py[co]
657
658 %{py_dyndir}/*.egg-info
659
660 #
661 # list .so modules to be sure that all of them are built
662 #
663
664 # modules below do not work on 64-bit architectures
665 # see Python README file for explanation
666 %ifnarch alpha ia64 ppc64 sparc64 %{x8664}
667 %attr(755,root,root) %{py_dyndir}/audioop.so
668 %endif
669
670 %attr(755,root,root) %{py_dyndir}/array.so
671 %attr(755,root,root) %{py_dyndir}/atexit.so
672 %attr(755,root,root) %{py_dyndir}/audioop.so
673 %attr(755,root,root) %{py_dyndir}/binascii.so
674 %attr(755,root,root) %{py_dyndir}/_bisect.so
675 %attr(755,root,root) %{py_dyndir}/bz2.so
676 %attr(755,root,root) %{py_dyndir}/cmath.so
677 %attr(755,root,root) %{py_dyndir}/_codecs_cn.so
678 %attr(755,root,root) %{py_dyndir}/_codecs_hk.so
679 %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.so
680 %attr(755,root,root) %{py_dyndir}/_codecs_jp.so
681 %attr(755,root,root) %{py_dyndir}/_codecs_kr.so
682 %attr(755,root,root) %{py_dyndir}/_codecs_tw.so
683 %attr(755,root,root) %{py_dyndir}/_collections.so
684 %attr(755,root,root) %{py_dyndir}/crypt.so
685 %attr(755,root,root) %{py_dyndir}/_csv.so
686 %attr(755,root,root) %{py_dyndir}/_ctypes*.so
687 %attr(755,root,root) %{py_dyndir}/_curses_panel.so
688 %attr(755,root,root) %{py_dyndir}/_curses.so
689 %attr(755,root,root) %{py_dyndir}/datetime.so
690 %attr(755,root,root) %{py_dyndir}/_elementtree.so
691 %attr(755,root,root) %{py_dyndir}/_functools.so
692 %attr(755,root,root) %{py_dyndir}/_hashlib.so
693 %attr(755,root,root) %{py_dyndir}/_heapq.so
694 %attr(755,root,root) %{py_dyndir}/_json.so
695 %attr(755,root,root) %{py_dyndir}/_locale.so
696 %attr(755,root,root) %{py_dyndir}/_lsprof.so
697 %attr(755,root,root) %{py_dyndir}/_multibytecodec.so
698 %attr(755,root,root) %{py_dyndir}/_multiprocessing.so
699 %attr(755,root,root) %{py_dyndir}/_pickle.so
700 %attr(755,root,root) %{py_dyndir}/_random.so
701 %attr(755,root,root) %{py_dyndir}/_socket.so
702 %attr(755,root,root) %{py_dyndir}/_ssl.so
703 %attr(755,root,root) %{py_dyndir}/_testcapi.so
704 %ifnarch sparc64
705 %attr(755,root,root) %{py_dyndir}/_dbm.so
706 %endif
707 %attr(755,root,root) %{py_dyndir}/fcntl.so
708 %attr(755,root,root) %{py_dyndir}/_gdbm.so
709 %attr(755,root,root) %{py_dyndir}/grp.so
710 %attr(755,root,root) %{py_dyndir}/itertools.so
711 %attr(755,root,root) %{py_dyndir}/math.so
712 %attr(755,root,root) %{py_dyndir}/mmap.so
713 %attr(755,root,root) %{py_dyndir}/nis.so
714 %attr(755,root,root) %{py_dyndir}/operator.so
715 %attr(755,root,root) %{py_dyndir}/ossaudiodev.so
716 %attr(755,root,root) %{py_dyndir}/parser.so
717 %attr(755,root,root) %{py_dyndir}/pyexpat.so
718 %attr(755,root,root) %{py_dyndir}/readline.so
719 %attr(755,root,root) %{py_dyndir}/resource.so
720 %attr(755,root,root) %{py_dyndir}/select.so
721 %attr(755,root,root) %{py_dyndir}/syslog.so
722 %attr(755,root,root) %{py_dyndir}/termios.so
723 %attr(755,root,root) %{py_dyndir}/time.so
724 %attr(755,root,root) %{py_dyndir}/spwd.so
725 %attr(755,root,root) %{py_dyndir}/unicodedata.so
726 %attr(755,root,root) %{py_dyndir}/zlib.so
727
728 %dir %{py_scriptdir}/plat-*
729 %{py_scriptdir}/plat-*/*.py[co]
730
731 %dir %{py_scriptdir}/ctypes
732 %dir %{py_scriptdir}/ctypes/macholib
733
734 %{py_scriptdir}/ctypes/*.py[co]
735 %{py_scriptdir}/ctypes/macholib/*.py[co]
736 %doc %{py_scriptdir}/ctypes/macholib/README.ctypes
737
738 %dir %{py_scriptdir}/curses
739 %{py_scriptdir}/curses/*.py[co]
740
741 %dir %{py_scriptdir}/dbm
742 %{py_scriptdir}/dbm/*.py[co]
743
744 %dir %{py_scriptdir}/distutils
745 %dir %{py_scriptdir}/distutils/command
746 %doc %{py_scriptdir}/distutils/README
747 %{py_scriptdir}/distutils/*.py[co]
748 %{py_scriptdir}/distutils/command/*.py[co]
749 %{py_scriptdir}/distutils/command/command_template
750
751 %dir %{py_scriptdir}/email
752 %dir %{py_scriptdir}/email/mime
753 %{py_scriptdir}/email/*.py[co]
754 %{py_scriptdir}/email/mime/*.py[co]
755
756 %dir %{py_scriptdir}/html
757 %{py_scriptdir}/html/*.py[co]
758
759 %dir %{py_scriptdir}/http
760 %{py_scriptdir}/http/*.py[co]
761
762 %dir %{py_scriptdir}/json
763 %{py_scriptdir}/json/*.py[co]
764
765 %dir %{py_scriptdir}/logging
766 %{py_scriptdir}/logging/*.py[co]
767
768 %dir %{py_scriptdir}/multiprocessing
769 %{py_scriptdir}/multiprocessing/*.py[co]
770 %dir %{py_scriptdir}/multiprocessing/dummy
771 %{py_scriptdir}/multiprocessing/dummy/*.py[co]
772
773 %dir %{py_scriptdir}/urllib
774 %{py_scriptdir}/urllib/*.py[co]
775
776 %dir %{py_scriptdir}/wsgiref
777 %{py_scriptdir}/wsgiref/*.py[co]
778 %{py_scriptdir}/wsgiref.egg-info
779
780 %dir %{py_scriptdir}/xml
781 %dir %{py_scriptdir}/xml/dom
782 %dir %{py_scriptdir}/xml/etree
783 %dir %{py_scriptdir}/xml/parsers
784 %dir %{py_scriptdir}/xml/sax
785 %{py_scriptdir}/xml/*.py[co]
786 %{py_scriptdir}/xml/dom/*.py[co]
787 %{py_scriptdir}/xml/etree/*.py[co]
788 %{py_scriptdir}/xml/parsers/*.py[co]
789 %{py_scriptdir}/xml/sax/*.py[co]
790
791 %dir %{py_scriptdir}/xmlrpc
792 %{py_scriptdir}/xmlrpc/*.py[co]
793
794 %files modules-sqlite
795 %defattr(644,root,root,755)
796 %attr(755,root,root) %{py_dyndir}/_sqlite3.so
797 %dir %{py_scriptdir}/sqlite3
798 %{py_scriptdir}/sqlite3/*.py[co]
799
800 %files libs
801 %defattr(644,root,root,755)
802 %doc LICENSE
803 %attr(755,root,root) %{_libdir}/libpython*.so.*
804
805 %dir %{py_dyndir}
806 %dir %{py_scriptdir}
807 %dir %{py_libdir}
808 %dir %{py_sitescriptdir}
809 %dir %{py_sitedir}
810
811 # shared modules required by python library
812 %attr(755,root,root) %{py_dyndir}/_struct.so
813
814 # modules required by python library
815 %{py_scriptdir}/codecs.py[co]
816 %{py_scriptdir}/copyreg.py[co]
817 %{py_scriptdir}/locale.py[co]
818 %{py_scriptdir}/posixpath.py[co]
819 %{py_scriptdir}/site.py[co]
820 %{py_scriptdir}/stat.py[co]
821 %{py_scriptdir}/os.py[co]
822 # needed by the dynamic sys.lib patch
823 %{py_scriptdir}/types.py[co]
824
825 # encodings required by python library
826 %dir %{py_scriptdir}/encodings
827 %{py_scriptdir}/encodings/*.py[co]
828
829 %files -n pydoc30
830 %defattr(644,root,root,755)
831 %attr(755,root,root) %{_bindir}/pydoc%{py_ver}
832 %{py_scriptdir}/pydoc.py[co]
833
834 %files -n idle30
835 %defattr(644,root,root,755)
836 %attr(755,root,root) %{_bindir}/idle%{py_ver}
837 %dir %{py_scriptdir}/idlelib
838 %dir %{py_scriptdir}/idlelib/Icons
839 %{py_scriptdir}/idlelib/*.py[co]
840 %doc %{py_scriptdir}/idlelib/*.txt
841 %doc %{py_scriptdir}/idlelib/ChangeLog
842 %{py_scriptdir}/idlelib/Icons/*
843 %{py_scriptdir}/idlelib/*.def
844
845 %files devel
846 %defattr(644,root,root,755)
847 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
848 %attr(755,root,root) %{_bindir}/python%{py_ver}-config
849 %attr(755,root,root) %{_libdir}/lib*.so
850 %dir %{py_incdir}
851 %{py_incdir}/*.h
852
853 %dir %{py_libdir}/config
854 %attr(755,root,root) %{py_libdir}/config/makesetup
855 %attr(755,root,root) %{py_libdir}/config/install-sh
856 %{py_libdir}/config/Makefile
857 %{py_libdir}/config/Makefile.pre.in
858 %{py_libdir}/config/Setup
859 %{py_libdir}/config/Setup.config
860 %{py_libdir}/config/Setup.local
861 %{py_libdir}/config/config.c
862 %{py_libdir}/config/config.c.in
863 %{py_libdir}/config/python.o
864
865 %files devel-src
866 %defattr(644,root,root,755)
867 %attr(-,root,root) %{py_scriptdir}/*.py
868 %{py_scriptdir}/plat-*/*.py
869 %{py_scriptdir}/ctypes/*.py
870 %{py_scriptdir}/ctypes/macholib/*.py
871 %{py_scriptdir}/curses/*.py
872 %{py_scriptdir}/dbm/*.py
873 %{py_scriptdir}/distutils/*.py
874 %{py_scriptdir}/distutils/command/*.py
875 %{py_scriptdir}/email/*.py
876 %{py_scriptdir}/email/mime/*.py
877 %{py_scriptdir}/html/*.py
878 %{py_scriptdir}/http/*.py
879 %{py_scriptdir}/json/*.py
880 %{py_scriptdir}/lib2to3/*.py
881 %{py_scriptdir}/lib2to3/fixes/*.py
882 %{py_scriptdir}/lib2to3/pgen2/*.py
883 %{py_scriptdir}/logging/*.py
884 %{py_scriptdir}/multiprocessing/*.py
885 %{py_scriptdir}/multiprocessing/dummy/*.py
886 %{py_scriptdir}/sqlite3/*.py
887 %{py_scriptdir}/urllib/*.py
888 %{py_scriptdir}/wsgiref/*.py
889 %{py_scriptdir}/tkinter/*.py
890 %{py_scriptdir}/xml/*.py
891 %{py_scriptdir}/xml/dom/*.py
892 %{py_scriptdir}/xml/etree/*.py
893 %{py_scriptdir}/xml/parsers/*.py
894 %{py_scriptdir}/xml/sax/*.py
895 %{py_scriptdir}/xmlrpc/*.py
896 %{py_scriptdir}/encodings/*.py
897 %{py_scriptdir}/idlelib/*.py
898
899 %files devel-tools
900 %defattr(644,root,root,755)
901 %doc Lib/pdb.doc
902 /etc/shrc.d/python*-devel*
903
904 %attr(755,root,root) %{_bindir}/pygettext%{py_ver}
905
906 %{py_scriptdir}/pdb.py[co]
907 %{py_scriptdir}/profile.py[co]
908 %{py_scriptdir}/pstats.py[co]
909 %{py_scriptdir}/timeit.py[co]
910
911 %files 2to3
912 %attr(755,root,root) %{_bindir}/2to3
913 %dir %{py_scriptdir}/lib2to3
914 %{py_scriptdir}/lib2to3/*.txt
915 %{py_scriptdir}/lib2to3/*.pickle
916 %{py_scriptdir}/lib2to3/*.py[co]
917 %dir %{py_scriptdir}/lib2to3/fixes
918 %{py_scriptdir}/lib2to3/fixes/*.py[co]
919 %dir %{py_scriptdir}/lib2to3/pgen2
920 %{py_scriptdir}/lib2to3/pgen2/*.py[co]
921
922 %files static
923 %defattr(644,root,root,755)
924 %{_libdir}/lib*.a
925
926 %files examples
927 %defattr(644,root,root,755)
928 %{_examplesdir}/%{name}-%{version}
929
930 %if %{with info}
931 %files doc-info
932 %defattr(644,root,root,755)
933 %{_infodir}/*.info*
934 %endif
935
936 %if %{with tkinter}
937 %files tkinter
938 %defattr(644,root,root,755)
939 %dir %{py_scriptdir}/tkinter
940 %{py_scriptdir}/tkinter/*.py[co]
941 %attr(755,root,root) %{py_dyndir}/_tkinter.so
942 %endif
This page took 0.089858 seconds and 4 git commands to generate.