]> git.pld-linux.org Git - packages/python3.git/blame - python3.spec
- try to fix ppc build
[packages/python3.git] / python3.spec
CommitLineData
9416f74d
AM
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
9416f74d
AM
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)
acd14a9e 13%define broken_tests test_httpservers
9416f74d 14
2a27c05c 15%define beta %{nil}
9416f74d
AM
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
24Summary: Very high level scripting language with X interface
25Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X
26Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X
27Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu
28Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível
29Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом
30Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
31Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
32Name: python30
3ba70ac2 33Version: %{py_ver}.1
30b0ff7b 34Release: 1
9416f74d
AM
35Epoch: 1
36License: PSF
37Group: Applications
3ba70ac2
AF
38Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.bz2
39# Source0-md5: 7291eac6a9a7a3642e309c78b8d744e5
9416f74d
AM
40Patch1: %{name}-pythonpath.patch
41Patch2: %{name}-no_ndbm.patch
42Patch3: %{name}-ac_fixes.patch
acd14a9e
AF
43Patch4: %{name}-lib64.patch
44Patch5: %{name}-noarch_to_datadir.patch
9416f74d
AM
45URL: http://www.python.org/
46BuildRequires: autoconf
47BuildRequires: bluez-libs-devel
48BuildRequires: bzip2-devel
49BuildRequires: db-devel >= 4
50%{?with_info:BuildRequires: emacs >= 21}
51BuildRequires: expat-devel >= 1:1.95.7
52BuildRequires: file
53BuildRequires: gdbm-devel >= 1.8.3
54BuildRequires: gmp-devel >= 4.0
3ba70ac2 55BuildRequires: libffi-devel
9416f74d
AM
56BuildRequires: libstdc++-devel
57BuildRequires: ncurses-ext-devel >= 5.2
9416f74d 58BuildRequires: openssl-devel >= 0.9.8
9416f74d
AM
59BuildRequires: readline-devel >= 5.0
60BuildRequires: rpm-pythonprov
61BuildRequires: sed >= 4.0
62BuildRequires: 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}
66BuildRequires: zlib-devel
67Requires: %{name}-libs = %{epoch}:%{version}-%{release}
9416f74d 68BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
8d0b0882 69%define specflags_ppc -D__ppc__=1
9416f74d
AM
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
88Python is an interpreted, interactive, object-oriented programming
89language. It incorporates modules, exceptions, dynamic typing, very
90high level dynamic data types, and classes. Python combines remarkable
91power with very clear syntax. It has interfaces to many system calls
92and libraries, as well as to various window systems, and is extensible
93in C or C++. It is also usable as an extension language for
94applications that need a programmable interface. Finally, Python is
95portable: it runs on many brands of UNIX, on the Mac, and on PCs under
96MS-DOS, Windows, Windows NT, and OS/2.
97
98This package contains the Python binary.
99
100%description -l de.UTF-8
101Python ist eine interpretierte, interaktive, objektorientierte
102Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
103Python enthält Module, Klassen, Exceptions, High-Level dynamische
104Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
105zu vielen Systemaufrufen und Libraries, sowie verschiedene
106Fenstersysteme (X11, Motif, Tk, Mac und MFC)
107
108Programmierer können neue built-in-Module für Python in C oder C++
109schreiben. Python kann auch als Erweiterungssprache für Applikationen
110benutzt werden, die ein programmierbares Interface brauchen. Dieses
111Paket enthält die meisten Standard-Python-Module, und Module zum
112Ansprechen von Tix (Tk-widget set) und RPM.
113
114%description -l es.UTF-8
115Python es un lenguaje de scripts interpretado orientado a objetos.
116Contiene soporte para carga dinámica de objetos, clases, módulos y
117excepciones.
118
119Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
120través de código C, tornando Python fácil de usar en ambientes
121particulares/personalizados. Este paquete Python incluye la mayoría de
122los módulos padrón Python, junto con módulos para crear interfaces
123para el conjunto de componentes Tix para Tk y RPM.
124
125%description -l fr.UTF-8
126Python est un langage de script interprété et orienté objet. Il gère
127le chargement dynamique des objets, les classes, les modules et les
128exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
129avec du code C est simple, ce qui rend Python facile à utiliser dans
130des configs personnalisées.
131
132Ce paquetage Python contient la plupart des modules Python standards,
133ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
134et RPM.
135
136%description -l pl.UTF-8
137Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
138językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
139typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
140sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
141wielu wywołań systemowych i bibliotek, w tym również do różnych
142bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
143poprzez odpowiednie moduły pisane w C lub C++. Python może być również
144użyty jako element aplikacji, którym potrzebny jest interpreter do
145skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
146odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
147OS/2.
148
149Ten pakiet zawiera binarkę Pythona.
150
151%description -l pt_BR.UTF-8
152Python é uma linguagem de scripts interpretada orientada a objetos.
153Contém suporte para carga dinâmica de objetos, classes, módulos e
154exceções. Adicionar interfaces para novos sistemas de biblioteca
155através de código C é simples, tornando Python fácil de usar em
156ambientes particulares/personalizados.
157
158Este pacote Python inclui a maioria do módulos padrão Python, junto
159com módulos para interfaceamento para o conjunto de componentes Tix
160para Tk e RPM.
161
162%description -l ru.UTF-8
163Python - это интерпретируемый, объектно-ориентированный язык
164программирования. Он поддерживает динамическую загрузку объектов,
165классы, модули и обработку исключительных ситуаций (exceptions).
166Простота добавления интерфейсов к новым системным библиотекам через
167код на языке C делает Python хорошим выбором для использования в
168специальных конфигурациях.
169
170%description -l tr.UTF-8
171Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
172sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
173destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
174paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
175arayüz birimlerini de içerir.
176
177%description -l uk.UTF-8
178Python - це інтерпретована, об'єктно-орієнтована мова програмування.
179Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
180виключних ситуацій (exceptions). Простота додавання інтерфейсів для
181нових системних бібліотек через код на мові C робить Python добрим
182вибором для використання в спеціальних конфігураціях.
183
184%package libs
185Summary: Python library
186Summary(pl.UTF-8): Biblioteka języka Python
187Group: Libraries/Python
188# broken detection in rpm/pythondeps.sh
189Provides: python(abi) = %{py_ver}
190# for compatibility with existing Ac packages
191Provides: python(bytecode) = %{py_ver}
7f39e55f 192%{!?with_info:Obsoletes: python30-doc-info}
9416f74d
AM
193
194%description libs
195Python shared library and very essental modules for Python binary.
196
197%description libs -l pl.UTF-8
198Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
199dla Pythona.
200
201%package modules
202Summary: Python modules
203Summary(pl.UTF-8): Moduły języka Python
204Group: Libraries/Python
205Requires: %{name}-libs = %{epoch}:%{version}-%{release}
206
207%description modules
208Python officially distributed modules.
209
210%description modules -l pl.UTF-8
211Oficjalnie rozprowadzane moduły języka Python.
212
213%package modules-sqlite
214Summary: Python SQLite modules
215Summary(pl.UTF-8): Moduły SQLite języka Python
216Group: Libraries/Python
217Requires: %{name}-modules = %{epoch}:%{version}-%{release}
218
219%description modules-sqlite
220Python officially distributed sqlite module.
221
222%description modules-sqlite -l pl.UTF-8
223Oficjalnie rozprowadzany moduł sqlite języka Python.
224
24586eb0 225%package -n pydoc30
9416f74d
AM
226Summary: Python interactive module documentation access support
227Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python
228Group: Applications
229Requires: %{name}-modules = %{epoch}:%{version}-%{release}
230
24586eb0 231%description -n pydoc30
9416f74d
AM
232Python interactive module documentation access support.
233
24586eb0 234%description -n pydoc30 -l pl.UTF-8
9416f74d
AM
235Interaktywne korzystanie z dokumentacji modułów języka Python.
236
24586eb0 237%package -n idle30
9416f74d
AM
238Summary: IDE for Python language
239Summary(pl.UTF-8): IDE dla języka Python
240Group: Applications
241Requires: %{name}-tkinter = %{epoch}:%{version}-%{release}
242
24586eb0 243%description -n idle30
9416f74d
AM
244IDE for Python language.
245
24586eb0 246%description -n idle30 -l pl.UTF-8
9416f74d
AM
247IDE dla języka Python.
248
249%package devel
250Summary: Libraries and header files for building python code
251Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code
252Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python
253Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python
254Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona
255Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python
256Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python
257Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar
258Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
259Group: Development/Languages/Python
260Requires: %{name}-libs = %{epoch}:%{version}-%{release}
261
262%description devel
263The Python interpreter is relatively easy to extend with dynamically
264loaded extensions and to embed in other programs. This package
265contains the header files and libraries which are needed to do both of
266these tasks.
267
268%description devel -l de.UTF-8
269Der Python-Interpretierer ist relativ einfach anhand von dynamisch
270ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
271integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
272die für beide Aufgaben erforderlich sind.
273
274%description devel -l es.UTF-8
275El interpretador Python permite incluir con facilidad extensiones
276cargadas dinámicamente. Python es también fácil de ser empotrado en
277otros programas. Este paquete contiene los archivos de inclusión y
278bibliotecas necesarios para estas dos tareas.
279
280%description devel -l fr.UTF-8
281L'interpréteur Python est relativement facile à étendre avec des
282extensions chargées dynamiquement et à insérer dans d'autres
283programmes. Ce paquetage contient les en-têtes et les bibliothèques
284nécessaires à ces deux tâches.
285
286%description devel -l pl.UTF-8
287Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
288dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
289osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
290wszystko inne co potrzebne do tych celów.
291
292%description devel -l pt_BR.UTF-8
293O interpretador Python permite incluir com facilidade extensões
294carregadas dinamicamente. Python é também fácil de ser embutido em
295outros programas. Este pacote contém os arquivos de inclusão e
296bibliotecas 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
305Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
306dosyalarını ve kitaplıkları içerir.
307
308%description devel -l uk.UTF-8
309Інтерпретатор Python відносно легко розширюється за допомогою
310розширень з динамічною загрузкою та вбудовується в інші програми. Цей
311пакет містить хедери та бібліотеки, необхідні для обох цих задач.
312
313%package devel-src
314Summary: Python module sources
315Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
316Group: Development/Languages/Python
317Requires: %{name}-modules = %{epoch}:%{version}-%{release}
318
319%description devel-src
320Python module sources.
321
322%description devel-src -l pl.UTF-8
323Pliki źródłowe modułów Pythona.
324
325%package devel-tools
326Summary: Python development tools
327Summary(pl.UTF-8): Narzędzia programistyczne języka Python
328Group: Development/Languages/Python
329Requires: %{name}-modules = %{epoch}:%{version}-%{release}
330
331%description devel-tools
332Python development tools such as profilers and debugger.
333
334%description devel-tools -l pl.UTF-8
335Narzędzia programistyczne języka Python takie jak profiler oraz
336debugger.
337
30b0ff7b
AF
338%package 2to3
339Summary: Automated Python 2 to 3 code translation
340Summary(pl.UTF-8): Automatyczne tłumaczenie kody Pythona 2 do 3
341Group: Development/Languages/Pythona
342
343%description 2to3
3442to3 is a Python program that reads Python 2.x source code and applies a series
345of fixers to transform it into valid Python 3.x code. The standard library
346contains a rich set of fixers that will handle almost all code. 2to3 supporting
347library lib2to3 is, however, a flexible and generic library, so it is possible
348to write your own fixers for 2to3. lib2to3 could also be adapted to custom
349applications in which Python code needs to be edited automatically.
350
9416f74d
AM
351%package static
352Summary: Static python library
353Summary(pl.UTF-8): Statyczna biblioteka Pythona
354Group: Development/Languages/Python
355Requires: %{name}-devel = %{epoch}:%{version}-%{release}
356
357%description static
358Static python library.
359
360%description static -l pl.UTF-8
361Statyczna biblioteka Pythona.
362
363%package doc
364Summary: Documentation on Python
365Summary(de.UTF-8): Dokumentation zu Python
366Summary(es.UTF-8): Documentación para Python
367Summary(fr.UTF-8): Documentation sur Python
368Summary(pl.UTF-8): Dokumentacja do Pythona
369Summary(pt_BR.UTF-8): Documentação para a linguagem de programação Python
370Summary(ru.UTF-8): Документация по языку Python
371Summary(tr.UTF-8): Python belgeleri
372Summary(uk.UTF-8): Документація по мові Python
373Group: Documentation
374
375%description doc
376This package contains documentation on the Python language and
377interpretor as a mix of plain ASCII files and LaTeX sources.
378
379%description doc -l de.UTF-8
380Dieses Paket enthält Dokumentationen zu Python (Sprache und
381Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen.
382
383%description doc -l es.UTF-8
384Documentación para Python. Contiene archivos en texto y PostScript.
385
386%description doc -l fr.UTF-8
387Ce paquetage contient la documentation sur le langage python et sur
388son interpréteur sous forme de fichiers ASCII et LaTeX.
389
390%description doc -l pl.UTF-8
391Oficjalna dokumentacja do Pythona. Zawiera przykładowe programy,
392narzędzia i dokumentację. Strony podręcznika man znajdują się w
393głównym pakiecie. Ten pakiet nie zawiera źródeł dokumentacji
394napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe
395i HTML.
396
397%description doc -l pt_BR.UTF-8
398O pacote python-doc contém documentação para a linguagem de
399programação e para o interpretador Python. Fornecida em arquivos texto
400e Postcript.
401
402%description doc -l ru.UTF-8
403Этот пакет содержит документацию по собственно языку Python и по
404исполняющему его интерпретатору в виде набора текстовых файлов и
405исходных текстов в формате LaTeX.
406
407%description doc -l tr.UTF-8
408Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyaları ve
409LaTeX 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
417Summary: Documentation on Python in texinfo format
418Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo
419Group: Documentation
420
421%description doc-info
422Documentation on Python in texinfo format.
423
424%description doc-info -l pl.UTF-8
425Dokumentacja do Pythona w formacie texinfo.
426
427%package tkinter
428Summary: Standard Python interface to the Tk GUI toolkit
429Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python
430Summary(es.UTF-8): Interfaz de GUI Tk para Python
431Summary(fr.UTF-8): Interface graphique Tk pour Python
432Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk
433Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton
434Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü
435Group: Libraries/Python
436Requires: %{name}-modules = %{epoch}:%{version}-%{release}
437Requires: tcl >= 8.4.3
438Requires: tix >= 1:8.1.4-4
439Requires: tk >= 8.4.3
440
441%description tkinter
442Standard Python interface to the Tk GUI toolkit.
443
444%description tkinter -l de.UTF-8
445Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
446vielen Konfigurations-Tools genutzt.
447
448%description tkinter -l es.UTF-8
449Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
450herramientas de configuración.
451
452%description tkinter -l fr.UTF-8
453Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
454beaucoup des outils de configuration.
455
456%description tkinter -l pl.UTF-8
457Standardowy interfejs Pythona do biblioteki Tk.
458
459%description tkinter -l pt_BR.UTF-8
460Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
461muitas 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
467Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
468kullanılan grafik bir arayüzdür.
469
470%description tkinter -l uk.UTF-8
471Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
472
473%package examples
474Summary: Example programs in Python
475Summary(pl.UTF-8): Przykładowe programy w Pythonie
476Group: Development/Languages/Python
477
478%description examples
479Example programs in Python.
480
481These are for Python 2.3.4, not %{version}.
482
483%description examples -l pl.UTF-8
484Przykładowe programy w Pythonie.
485
486Przykłady te są dla Pythona 2.3.4, nie %{version}.
487
488%prep
489%setup -q -n Python-%{version}%{beta}
30b0ff7b 490%patch1 -p1
3ba70ac2 491%patch2 -p1
9416f74d 492%patch3 -p1
acd14a9e 493%patch4 -p1
30e3b006 494%patch5 -p1
9416f74d
AM
495
496%build
497sed -i -e 's#-ltermcap#-ltinfo#g' configure*
498%{__autoconf}
3ba70ac2 499CPPFLAGS="-I/usr/include/ncursesw"; export CPPFLAGS
9416f74d 500%configure \
3ba70ac2 501 --with-cxx-main="%{__cxx}" \
9416f74d
AM
502 --enable-shared \
503 --enable-ipv6 \
3ba70ac2 504 --with-wide-unicode \
9416f74d
AM
505 --with-signal-module \
506 --with-tsc \
507 --with-threads \
508 --with-doc-strings \
9416f74d 509 --with-fpectl \
3ba70ac2 510 --with-system-ffi \
9416f74d
AM
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 '
518BEGIN { fail = 0; logmsg = ""; }
519{
520 if ($0 ~ /\*\*\* WARNING:/) {
521 fail = 1;
522 logmsg = logmsg $0;
523 }
524 print $0;
525}
526END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
527
528LC_ALL=C
529export LC_ALL
530%if %{with tests}
531binlibdir=`echo build/lib.*`
532%{__make} test \
533 TESTOPTS="%{test_flags} %{test_list}" \
3ba70ac2 534 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:$binlibdir ./python -tt"
9416f74d
AM
535%endif
536
537%install
538rm -rf $RPM_BUILD_ROOT
539install -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
550install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
551%endif
552
553install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config
554
555mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a
556ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a
9416f74d
AM
557ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so
558
9416f74d
AM
559install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
560cp -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
567for script in timeit profile pdb pstats; do
24586eb0
AM
568 echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
569done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d 570
24586eb0
AM
571echo alias pygettext%{py_ver}.py='"pygettext%{py_ver}"' \
572 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d
AM
573
574sed 's/=/ /' \
24586eb0
AM
575 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
576 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
9416f74d
AM
577
578# for python modules
579for script in smtpd webbrowser; do
24586eb0
AM
580 echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
581done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
9416f74d
AM
582
583sed 's/=/ /' \
24586eb0
AM
584 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
585 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
9416f74d
AM
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
24586eb0
AM
592install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
593
594# add py_ver
595for script in idle pydoc; do
596 mv $RPM_BUILD_ROOT%{_bindir}/${script} $RPM_BUILD_ROOT%{_bindir}/${script}%{py_ver}
597done
9416f74d
AM
598
599# just to cut the noise, as they are not packaged (now)
600# first tests
601rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/test
602rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/bsddb/test
603rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/test
604rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/tests
605rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/email/test
606rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
acd14a9e
AF
607rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/json/tests
608rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
9416f74d
AM
609
610# other files
611rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
acd14a9e
AF
612rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
613rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
614rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
30b0ff7b
AF
615rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
616rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
617rm -rf $RPM_BUILD_ROOT%{_bindir}/smtpd.py
acd14a9e
AF
618# already in %%doc
619rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/pdb.doc
620rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
9416f74d
AM
621
622%clean
623rm -rf $RPM_BUILD_ROOT
624
625%post libs -p /sbin/ldconfig
626%postun libs -p /sbin/ldconfig
627
a20bb9dc
ER
628%post doc-info -p /sbin/postshell
629-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d 630
a20bb9dc
ER
631%postun doc-info -p /sbin/postshell
632-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d
AM
633
634%files
635%defattr(644,root,root,755)
24586eb0 636%attr(755,root,root) %{_bindir}/python%{py_ver}
9416f74d
AM
637
638%files modules
639%defattr(644,root,root,755)
24586eb0 640/etc/shrc.d/python*-modules*
9416f74d 641%exclude %{py_scriptdir}/codecs.py[co]
acd14a9e 642%exclude %{py_scriptdir}/copyreg.py[co]
9416f74d
AM
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
929a5a93 664# modules below do not work on 64-bit architectures
9416f74d
AM
665# see Python README file for explanation
666%ifnarch alpha ia64 ppc64 sparc64 %{x8664}
667%attr(755,root,root) %{py_dyndir}/audioop.so
9416f74d
AM
668%endif
669
670%attr(755,root,root) %{py_dyndir}/array.so
35ff21ac
AM
671%attr(755,root,root) %{py_dyndir}/atexit.so
672%attr(755,root,root) %{py_dyndir}/audioop.so
9416f74d
AM
673%attr(755,root,root) %{py_dyndir}/binascii.so
674%attr(755,root,root) %{py_dyndir}/_bisect.so
9416f74d
AM
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
35ff21ac 683%attr(755,root,root) %{py_dyndir}/_collections.so
9416f74d 684%attr(755,root,root) %{py_dyndir}/crypt.so
9416f74d
AM
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
acd14a9e 694%attr(755,root,root) %{py_dyndir}/_json.so
9416f74d
AM
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
acd14a9e
AF
698%attr(755,root,root) %{py_dyndir}/_multiprocessing.so
699%attr(755,root,root) %{py_dyndir}/_pickle.so
9416f74d 700%attr(755,root,root) %{py_dyndir}/_random.so
9416f74d
AM
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
9416f74d 704%ifnarch sparc64
acd14a9e 705%attr(755,root,root) %{py_dyndir}/_dbm.so
9416f74d
AM
706%endif
707%attr(755,root,root) %{py_dyndir}/fcntl.so
acd14a9e 708%attr(755,root,root) %{py_dyndir}/_gdbm.so
9416f74d
AM
709%attr(755,root,root) %{py_dyndir}/grp.so
710%attr(755,root,root) %{py_dyndir}/itertools.so
9416f74d
AM
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
9416f74d
AM
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
9416f74d
AM
731%dir %{py_scriptdir}/ctypes
732%dir %{py_scriptdir}/ctypes/macholib
35ff21ac 733
9416f74d
AM
734%{py_scriptdir}/ctypes/*.py[co]
735%{py_scriptdir}/ctypes/macholib/*.py[co]
acd14a9e 736%doc %{py_scriptdir}/ctypes/macholib/README.ctypes
9416f74d
AM
737
738%dir %{py_scriptdir}/curses
739%{py_scriptdir}/curses/*.py[co]
740
acd14a9e
AF
741%dir %{py_scriptdir}/dbm
742%{py_scriptdir}/dbm/*.py[co]
743
9416f74d
AM
744%dir %{py_scriptdir}/distutils
745%dir %{py_scriptdir}/distutils/command
acd14a9e 746%doc %{py_scriptdir}/distutils/README
9416f74d
AM
747%{py_scriptdir}/distutils/*.py[co]
748%{py_scriptdir}/distutils/command/*.py[co]
acd14a9e 749%{py_scriptdir}/distutils/command/command_template
9416f74d
AM
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
acd14a9e
AF
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
9416f74d
AM
765%dir %{py_scriptdir}/logging
766%{py_scriptdir}/logging/*.py[co]
767
acd14a9e
AF
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
9416f74d
AM
776%dir %{py_scriptdir}/wsgiref
777%{py_scriptdir}/wsgiref/*.py[co]
acd14a9e 778%{py_scriptdir}/wsgiref.egg-info
9416f74d
AM
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
acd14a9e
AF
791%dir %{py_scriptdir}/xmlrpc
792%{py_scriptdir}/xmlrpc/*.py[co]
793
9416f74d
AM
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)
acd14a9e 802%doc LICENSE
9416f74d
AM
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
9416f74d 815%{py_scriptdir}/codecs.py[co]
acd14a9e 816%{py_scriptdir}/copyreg.py[co]
9416f74d
AM
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
24586eb0 829%files -n pydoc30
9416f74d 830%defattr(644,root,root,755)
24586eb0 831%attr(755,root,root) %{_bindir}/pydoc%{py_ver}
9416f74d
AM
832%{py_scriptdir}/pydoc.py[co]
833
24586eb0 834%files -n idle30
9416f74d 835%defattr(644,root,root,755)
24586eb0 836%attr(755,root,root) %{_bindir}/idle%{py_ver}
9416f74d
AM
837%dir %{py_scriptdir}/idlelib
838%dir %{py_scriptdir}/idlelib/Icons
839%{py_scriptdir}/idlelib/*.py[co]
acd14a9e
AF
840%doc %{py_scriptdir}/idlelib/*.txt
841%doc %{py_scriptdir}/idlelib/ChangeLog
9416f74d
AM
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}
9416f74d
AM
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
9416f74d
AM
869%{py_scriptdir}/ctypes/*.py
870%{py_scriptdir}/ctypes/macholib/*.py
9416f74d 871%{py_scriptdir}/curses/*.py
acd14a9e 872%{py_scriptdir}/dbm/*.py
9416f74d
AM
873%{py_scriptdir}/distutils/*.py
874%{py_scriptdir}/distutils/command/*.py
875%{py_scriptdir}/email/*.py
876%{py_scriptdir}/email/mime/*.py
acd14a9e
AF
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
9416f74d 883%{py_scriptdir}/logging/*.py
acd14a9e
AF
884%{py_scriptdir}/multiprocessing/*.py
885%{py_scriptdir}/multiprocessing/dummy/*.py
9416f74d 886%{py_scriptdir}/sqlite3/*.py
acd14a9e 887%{py_scriptdir}/urllib/*.py
9416f74d 888%{py_scriptdir}/wsgiref/*.py
acd14a9e 889%{py_scriptdir}/tkinter/*.py
9416f74d
AM
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
acd14a9e 895%{py_scriptdir}/xmlrpc/*.py
9416f74d
AM
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
24586eb0 902/etc/shrc.d/python*-devel*
9416f74d 903
24586eb0 904%attr(755,root,root) %{_bindir}/pygettext%{py_ver}
9416f74d 905
9416f74d
AM
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
30b0ff7b
AF
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
9416f74d
AM
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
9416f74d
AM
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)
acd14a9e
AF
939%dir %{py_scriptdir}/tkinter
940%{py_scriptdir}/tkinter/*.py[co]
9416f74d
AM
941%attr(755,root,root) %{py_dyndir}/_tkinter.so
942%endif
This page took 0.153394 seconds and 4 git commands to generate.