]> git.pld-linux.org Git - packages/python3.git/blame - python3.spec
- started playing with python 3.7
[packages/python3.git] / python3.spec
CommitLineData
19221b23 1#
9416f74d
AM
2# Conditional build:
3%bcond_with info # info pages (requires emacs)
cab985ca 4%bcond_without system_mpdecimal # system libmpdec library
9416f74d 5%bcond_without tkinter # disables tkinter module building
7fbb63b9 6%bcond_without tests # disables Python testing
9416f74d 7%bcond_with verbose_tests # runs tests in verbose mode
9416f74d
AM
8#
9# tests which will not work on 64-bit platforms
10%define no64bit_tests test_audioop test_rgbimg test_imageop
11# tests which may fail because of builder environment limitations (no /proc or /dev/pts)
46efe5be 12%define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_asyncio test_os test_readline test_normalization
48e785bb 13
7fbb63b9 14# tests which fail because of some unknown/unresolved reason (this list should be %{nil})
48e785bb
JK
15# test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib...
16# test_gdb: fails, as the gdb uses old python version
59a34e48 17# test_time: test_AsTimeval (test.test_time.TestCPyTime), rounding error
59a34e48 18%ifarch x32
1d254e46 19%define broken_tests_x32 test_time
59a34e48 20%endif
b9d8d9de 21%define broken_tests test_nntplib test_gdb test_site test_ssl %{?broken_tests_x32}
9416f74d 22
514c1496 23%define py_ver 3.7
cc48af34 24%define py_abi %{py_ver}m
9ee43785 25%define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_gnu}
9416f74d
AM
26%define py_prefix %{_prefix}
27%define py_libdir %{py_prefix}/%{_lib}/python%{py_ver}
c7fdbe10 28%define py_incdir %{_includedir}/python%{py_abi}
9416f74d
AM
29%define py_sitedir %{py_libdir}/site-packages
30%define py_dyndir %{py_libdir}/lib-dynload
31
32Summary: Very high level scripting language with X interface
33Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X
34Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X
35Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu
36Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível
37Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом
38Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
39Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
2072c60e 40Name: python3
514c1496
AM
41Version: %{py_ver}.0
42Release: 0.1
9416f74d
AM
43Epoch: 1
44License: PSF
4f91790c
JB
45Group: Development/Languages/Python
46Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
514c1496 47# Source0-md5: eb8c2a6b1447d50813c02714af4681f3
a033b415 48Source1: pyconfig.h.in
a20e3138
AG
49Patch0: %{name}-pythonpath.patch
50Patch1: %{name}-ac_fixes.patch
ea93f05f
JK
51Patch2: %{name}-multilib.patch
52Patch3: %{name}-no_cmdline_tests.patch
53Patch4: %{name}-makefile-location.patch
ea93f05f
JK
54Patch6: python-distro.patch
55Patch7: %{name}-db.patch
56Patch8: %{name}-install_prefix.patch
3efd6e92 57Patch9: %{name}-tests_with_pythonpath.patch
572e2465 58Patch10: %{name}-bdist_rpm.patch
da213b19 59Patch11: %{name}-installcompile.patch
a50846ed 60Patch12: https://bugs.python.org/file21896/nonexistent_user.patch
1e9d9e53 61# Patch12-md5: db706fbe6de467c6e4c97c675eddf29a
4f91790c 62URL: https://www.python.org/
7daf2f83 63BuildRequires: autoconf >= 2.65
6c32bfd4 64BuildRequires: automake
9416f74d
AM
65BuildRequires: bluez-libs-devel
66BuildRequires: bzip2-devel
67BuildRequires: db-devel >= 4
68%{?with_info:BuildRequires: emacs >= 21}
69BuildRequires: expat-devel >= 1:1.95.7
70BuildRequires: file
71BuildRequires: gdbm-devel >= 1.8.3
72BuildRequires: gmp-devel >= 4.0
3ba70ac2 73BuildRequires: libffi-devel
9416f74d 74BuildRequires: libstdc++-devel
cab985ca 75%{?with_system_mpdecimal:BuildRequires: mpdecimal-devel >= 2.4.1}
9416f74d 76BuildRequires: ncurses-ext-devel >= 5.2
1254741f 77BuildRequires: openssl-devel >= 0.9.7
6c32bfd4 78BuildRequires: pkgconfig
9416f74d
AM
79BuildRequires: readline-devel >= 5.0
80BuildRequires: rpm-pythonprov
81BuildRequires: sed >= 4.0
82BuildRequires: sqlite3-devel >= 3.3.5
91e93ac7 83BuildRequires: tar >= 1:1.22
9416f74d
AM
84%{?with_info:BuildRequires: tetex-makeindex}
85%{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4}
86%{?with_tkinter:BuildRequires: tk-devel >= 8.4.3}
58274b36 87BuildRequires: xz-devel
9416f74d
AM
88BuildRequires: zlib-devel
89Requires: %{name}-libs = %{epoch}:%{version}-%{release}
2a80ebbf 90Suggests: pip
9416f74d 91BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34dfde61 92
8d0b0882 93%define specflags_ppc -D__ppc__=1
34dfde61 94%define specflags_ppc64 -D__ppc64__=1
9416f74d
AM
95
96%if %{with verbose_tests}
790ee82d 97%define test_flags -v -x
9416f74d 98%else
790ee82d 99%define test_flags -w -x
9416f74d
AM
100%endif
101
102%ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
103%define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests}
104%else
105%define test_list %{nobuilder_tests} %{broken_tests}
106%endif
107
108%ifarch sparc
109%define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
110%endif
111
112%description
113Python is an interpreted, interactive, object-oriented programming
114language. It incorporates modules, exceptions, dynamic typing, very
115high level dynamic data types, and classes. Python combines remarkable
116power with very clear syntax. It has interfaces to many system calls
117and libraries, as well as to various window systems, and is extensible
118in C or C++. It is also usable as an extension language for
119applications that need a programmable interface. Finally, Python is
120portable: it runs on many brands of UNIX, on the Mac, and on PCs under
121MS-DOS, Windows, Windows NT, and OS/2.
122
123This package contains the Python binary.
124
125%description -l de.UTF-8
126Python ist eine interpretierte, interaktive, objektorientierte
127Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java.
128Python enthält Module, Klassen, Exceptions, High-Level dynamische
129Datentypen und dynamisches Typisieren. Python unterstützt Interfaces
130zu vielen Systemaufrufen und Libraries, sowie verschiedene
131Fenstersysteme (X11, Motif, Tk, Mac und MFC)
132
133Programmierer können neue built-in-Module für Python in C oder C++
134schreiben. Python kann auch als Erweiterungssprache für Applikationen
135benutzt werden, die ein programmierbares Interface brauchen. Dieses
136Paket enthält die meisten Standard-Python-Module, und Module zum
137Ansprechen von Tix (Tk-widget set) und RPM.
138
139%description -l es.UTF-8
140Python es un lenguaje de scripts interpretado orientado a objetos.
141Contiene soporte para carga dinámica de objetos, clases, módulos y
142excepciones.
143
144Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a
145través de código C, tornando Python fácil de usar en ambientes
146particulares/personalizados. Este paquete Python incluye la mayoría de
147los módulos padrón Python, junto con módulos para crear interfaces
148para el conjunto de componentes Tix para Tk y RPM.
149
150%description -l fr.UTF-8
151Python est un langage de script interprété et orienté objet. Il gère
152le chargement dynamique des objets, les classes, les modules et les
153exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes
154avec du code C est simple, ce qui rend Python facile à utiliser dans
155des configs personnalisées.
156
157Ce paquetage Python contient la plupart des modules Python standards,
158ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk
159et RPM.
160
161%description -l pl.UTF-8
162Python jest interpretowanym, interaktywnym i zorientowanym obiektowo
163językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne
164typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w
165sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do
166wielu wywołań systemowych i bibliotek, w tym również do różnych
167bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać
168poprzez odpowiednie moduły pisane w C lub C++. Python może być również
169użyty jako element aplikacji, którym potrzebny jest interpreter do
170skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu
171odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz
172OS/2.
173
174Ten pakiet zawiera binarkę Pythona.
175
176%description -l pt_BR.UTF-8
177Python é uma linguagem de scripts interpretada orientada a objetos.
178Contém suporte para carga dinâmica de objetos, classes, módulos e
179exceções. Adicionar interfaces para novos sistemas de biblioteca
180através de código C é simples, tornando Python fácil de usar em
181ambientes particulares/personalizados.
182
183Este pacote Python inclui a maioria do módulos padrão Python, junto
184com módulos para interfaceamento para o conjunto de componentes Tix
185para Tk e RPM.
186
187%description -l ru.UTF-8
188Python - это интерпретируемый, объектно-ориентированный язык
189программирования. Он поддерживает динамическую загрузку объектов,
190классы, модули и обработку исключительных ситуаций (exceptions).
191Простота добавления интерфейсов к новым системным библиотекам через
192код на языке C делает Python хорошим выбором для использования в
193специальных конфигурациях.
194
195%description -l tr.UTF-8
196Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin,
197sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine
198destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu
199paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için
200arayüz birimlerini de içerir.
201
202%description -l uk.UTF-8
203Python - це інтерпретована, об'єктно-орієнтована мова програмування.
204Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку
205виключних ситуацій (exceptions). Простота додавання інтерфейсів для
206нових системних бібліотек через код на мові C робить Python добрим
207вибором для використання в спеціальних конфігураціях.
208
209%package libs
210Summary: Python library
211Summary(pl.UTF-8): Biblioteka języka Python
212Group: Libraries/Python
213# broken detection in rpm/pythondeps.sh
214Provides: python(abi) = %{py_ver}
215# for compatibility with existing Ac packages
216Provides: python(bytecode) = %{py_ver}
f3feeafe
ER
217Provides: python3-enum
218Obsoletes: python3-enum
76c5116a 219%{!?with_info:Obsoletes: python3-doc-info}
9416f74d
AM
220
221%description libs
222Python shared library and very essental modules for Python binary.
223
224%description libs -l pl.UTF-8
225Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły
226dla Pythona.
227
228%package modules
229Summary: Python modules
230Summary(pl.UTF-8): Moduły języka Python
231Group: Libraries/Python
232Requires: %{name}-libs = %{epoch}:%{version}-%{release}
cab985ca 233%{?with_system_mpdecimal:Requires: mpdecimal >= 2.4.1}
76c5116a 234Obsoletes: python3-modules-sqlite
7e9f7d57 235%requires_ge_to openssl openssl-devel
9416f74d
AM
236
237%description modules
238Python officially distributed modules.
239
240%description modules -l pl.UTF-8
241Oficjalnie rozprowadzane moduły języka Python.
242
2072c60e 243%package -n pydoc3
9416f74d
AM
244Summary: Python interactive module documentation access support
245Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python
246Group: Applications
247Requires: %{name}-modules = %{epoch}:%{version}-%{release}
248
2072c60e 249%description -n pydoc3
9416f74d
AM
250Python interactive module documentation access support.
251
2072c60e 252%description -n pydoc3 -l pl.UTF-8
9416f74d
AM
253Interaktywne korzystanie z dokumentacji modułów języka Python.
254
2072c60e 255%package -n idle3
9416f74d
AM
256Summary: IDE for Python language
257Summary(pl.UTF-8): IDE dla języka Python
258Group: Applications
259Requires: %{name}-tkinter = %{epoch}:%{version}-%{release}
260
2072c60e 261%description -n idle3
9416f74d
AM
262IDE for Python language.
263
2072c60e 264%description -n idle3 -l pl.UTF-8
9416f74d
AM
265IDE dla języka Python.
266
267%package devel
268Summary: Libraries and header files for building python code
269Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code
270Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python
271Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python
272Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona
273Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python
274Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python
275Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar
276Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python
277Group: Development/Languages/Python
278Requires: %{name}-libs = %{epoch}:%{version}-%{release}
279
280%description devel
281The Python interpreter is relatively easy to extend with dynamically
282loaded extensions and to embed in other programs. This package
283contains the header files and libraries which are needed to do both of
284these tasks.
285
286%description devel -l de.UTF-8
287Der Python-Interpretierer ist relativ einfach anhand von dynamisch
288ladbaren Erweiterungen auszubauen und läßt sich in andere Programme
289integrieren. Dieses Paket enthält die Header-Dateien und Libraries,
290die für beide Aufgaben erforderlich sind.
291
292%description devel -l es.UTF-8
293El interpretador Python permite incluir con facilidad extensiones
294cargadas dinámicamente. Python es también fácil de ser empotrado en
295otros programas. Este paquete contiene los archivos de inclusión y
296bibliotecas necesarios para estas dos tareas.
297
298%description devel -l fr.UTF-8
299L'interpréteur Python est relativement facile à étendre avec des
300extensions chargées dynamiquement et à insérer dans d'autres
301programmes. Ce paquetage contient les en-têtes et les bibliothèques
302nécessaires à ces deux tâches.
303
304%description devel -l pl.UTF-8
305Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy
306dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz
307osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i
308wszystko inne co potrzebne do tych celów.
309
310%description devel -l pt_BR.UTF-8
311O interpretador Python permite incluir com facilidade extensões
312carregadas dinamicamente. Python é também fácil de ser embutido em
313outros programas. Este pacote contém os arquivos de inclusão e
314bibliotecas necessários para estas duas tarefas.
315
316%description devel -l ru.UTF-8
317Интерпретатор Python относительно легко расширяется при помощи
318динамически загружаемых расширений и встраивается в другие программы.
319Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих
320задач.
321
322%description devel -l tr.UTF-8
323Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık
324dosyalarını ve kitaplıkları içerir.
325
326%description devel -l uk.UTF-8
327Інтерпретатор Python відносно легко розширюється за допомогою
328розширень з динамічною загрузкою та вбудовується в інші програми. Цей
329пакет містить хедери та бібліотеки, необхідні для обох цих задач.
330
331%package devel-src
332Summary: Python module sources
333Summary(pl.UTF-8): Pliki źródłowe modułów Pythona
334Group: Development/Languages/Python
335Requires: %{name}-modules = %{epoch}:%{version}-%{release}
336
337%description devel-src
338Python module sources.
339
340%description devel-src -l pl.UTF-8
341Pliki źródłowe modułów Pythona.
342
343%package devel-tools
344Summary: Python development tools
345Summary(pl.UTF-8): Narzędzia programistyczne języka Python
346Group: Development/Languages/Python
347Requires: %{name}-modules = %{epoch}:%{version}-%{release}
348
349%description devel-tools
350Python development tools such as profilers and debugger.
351
352%description devel-tools -l pl.UTF-8
353Narzędzia programistyczne języka Python takie jak profiler oraz
354debugger.
355
30b0ff7b
AF
356%package 2to3
357Summary: Automated Python 2 to 3 code translation
0cf503a8 358Summary(pl.UTF-8): Automatyczne tłumaczenie kodu Pythona 2 do 3
76c5116a 359Group: Development/Languages/Python
30b0ff7b
AF
360
361%description 2to3
0cf503a8
JB
3622to3 is a Python program that reads Python 2.x source code and applies
363a series of fixers to transform it into valid Python 3.x code. The
364standard library contains a rich set of fixers that will handle almost
365all code. 2to3 supporting library lib2to3 is, however, a flexible and
366generic library, so it is possible to write your own fixers for 2to3.
367lib2to3 could also be adapted to custom applications in which Python
368code needs to be edited automatically.
369
370%description 2to3 -l pl.UTF-8
3712to3 to program w Pythonie czytający od źródłowy w Pythonie 2.x i
372aplikujący serię poprawek przekształcających go w poprawny kod w
373Pythonie 3.x. Biblioteka standardowa zawiera duży zbiór poprawek
374obsługujących większość kodu. Biblioteka wspierająca 2to3 (lib2to3)
375jest jednak elastyczną i ogólną biblioteką, więc można pisać własne
376poprawki dla 2to3. lib2to3 można także zaadaptować na potrzeby
377własnych zastosowań, w których kod w Pythonie musi być modyfikowany
378automatycznie.
30b0ff7b 379
9416f74d
AM
380%package static
381Summary: Static python library
382Summary(pl.UTF-8): Statyczna biblioteka Pythona
383Group: Development/Languages/Python
384Requires: %{name}-devel = %{epoch}:%{version}-%{release}
385
386%description static
387Static python library.
388
389%description static -l pl.UTF-8
390Statyczna biblioteka Pythona.
391
9416f74d
AM
392%package doc-info
393Summary: Documentation on Python in texinfo format
394Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo
395Group: Documentation
396
397%description doc-info
398Documentation on Python in texinfo format.
399
400%description doc-info -l pl.UTF-8
401Dokumentacja do Pythona w formacie texinfo.
402
403%package tkinter
404Summary: Standard Python interface to the Tk GUI toolkit
405Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python
406Summary(es.UTF-8): Interfaz de GUI Tk para Python
407Summary(fr.UTF-8): Interface graphique Tk pour Python
408Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk
409Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton
410Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü
411Group: Libraries/Python
412Requires: %{name}-modules = %{epoch}:%{version}-%{release}
413Requires: tcl >= 8.4.3
414Requires: tix >= 1:8.1.4-4
415Requires: tk >= 8.4.3
416
417%description tkinter
418Standard Python interface to the Tk GUI toolkit.
419
420%description tkinter -l de.UTF-8
421Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von
422vielen Konfigurations-Tools genutzt.
423
424%description tkinter -l es.UTF-8
425Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas
426herramientas de configuración.
427
428%description tkinter -l fr.UTF-8
429Interface graphique pour Python, basée sur Tcl/Tk et utilisée par
430beaucoup des outils de configuration.
431
432%description tkinter -l pl.UTF-8
433Standardowy interfejs Pythona do biblioteki Tk.
434
435%description tkinter -l pt_BR.UTF-8
436Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por
437muitas ferramentas de configuração.
438
439%description tkinter -l ru.UTF-8
440Графический интерфейс (GUI) для Python, построенный на Tcl/Tk.
441
442%description tkinter -l tr.UTF-8
443Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından
444kullanılan grafik bir arayüzdür.
445
446%description tkinter -l uk.UTF-8
447Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk.
448
449%package examples
450Summary: Example programs in Python
451Summary(pl.UTF-8): Przykładowe programy w Pythonie
452Group: Development/Languages/Python
453
454%description examples
455Example programs in Python.
456
457These are for Python 2.3.4, not %{version}.
458
459%description examples -l pl.UTF-8
460Przykładowe programy w Pythonie.
461
462Przykłady te są dla Pythona 2.3.4, nie %{version}.
463
9a22bc7d
JK
464%package test
465Summary: Test modules for Python
466Summary(pl.UTF-8): Moduły testowe dla Pythona
467Group: Development/Languages/Python
468
469%description test
470Test modules for Python.
471
472%description test -l pl.UTF-8
473Moduły testowe dla Pythona.
474
9416f74d 475%prep
0cf503a8 476%setup -q -n Python-%{version}
a20e3138 477%patch0 -p1
30b0ff7b 478%patch1 -p1
e3852288
JB
479%patch2 -p1
480%patch3 -p1
7dd2ca46 481%patch4 -p1
d78d98c2 482%patch6 -p1
af6f018f 483%patch7 -p1
7bc67fbf 484%patch8 -p1
3efd6e92 485%patch9 -p1
572e2465 486%patch10 -p1
da213b19 487%patch11 -p1
a50846ed 488%patch12 -p1
9416f74d 489
91f8e48f 490%{__rm} -r Modules/expat
f4282245 491
514c1496 492for SUBDIR in darwin libffi_msvc libffi_osx; do
34c3e9e3 493 %{__rm} -r Modules/_ctypes/$SUBDIR/*
f4282245
ER
494done
495
38874ce8 496%if "%{pld_release}" == "ac"
f4282245 497files="md5module.c sha1module.c"
f4282245 498files="$files sha256module.c sha512module.c"
f4282245
ER
499for f in $files; do
500 %{__rm} Modules/$f
501done
38874ce8 502%endif
f4282245 503
6e059f2e
JB
504find . -name '*.py' | xargs -r grep -El '^#! */usr/bin/env python3?' | xargs %{__sed} -i -e '1s,^#! */usr/bin/env python3\?,#!/usr/bin/python3,'
505
1254741f 506%build
2906feef
AM
507if ! grep -q "tmpfs" /proc/self/mounts; then
508 echo "You need to have /dev/shm mounted in order to build this package!" >&2
509 echo "(Or any other tmpfs mounted and accessible to the rpmbuild process)" >&2
510 exit 1
511fi
512
6c32bfd4 513%{__aclocal}
9416f74d 514%{__autoconf}
9416f74d 515%configure \
58274b36 516 CC="%{__cc}" \
04b427b2
AM
517 OPT="%{rpmcflags} -fno-caller-saves" \
518 CPPFLAGS="%{rpmcppflags}" \
519 LDFLAGS="%{rpmldflags}" \
1254741f
ER
520 ac_cv_posix_semaphores_enabled=yes \
521 ac_cv_broken_sem_getvalue=no \
9416f74d 522 --enable-ipv6 \
cab985ca
JB
523 --enable-shared \
524 --with-computed-gotos \
d1a550a0 525 --with-dbmliborder=gdbm:ndbm:bdb \
9416f74d 526 --with-doc-strings \
4f87a49d 527 --without-ensurepip \
cab985ca 528 %{?with_debug:--with-pydebug} \
91f8e48f 529 --with-system-expat \
3ba70ac2 530 --with-system-ffi \
514c1496 531 %{?with_system_mpdecimal:--with-system-libmpdec}
9416f74d 532
04b427b2 533%{__make} 2>&1 | awk '
9416f74d
AM
534BEGIN { fail = 0; logmsg = ""; }
535{
76c5116a
JK
536 if ($0 ~ /\*\*\* WARNING:/) {
537 fail = 1;
538 logmsg = logmsg $0;
539 }
540 print $0;
9416f74d
AM
541}
542END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
543
544LC_ALL=C
545export LC_ALL
546%if %{with tests}
547binlibdir=`echo build/lib.*`
790ee82d 548# -l and -j don't go together! and -j is brought up by Tools/scripts/run_tests.py
bb41df11 549WITHIN_PYTHON_RPM_BUILD=1 %{__make} test \
9416f74d 550 TESTOPTS="%{test_flags} %{test_list}" \
48e785bb 551 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/$binlibdir ./python -tt"
9416f74d
AM
552%endif
553
554%install
555rm -rf $RPM_BUILD_ROOT
9adbfa17 556install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
12ba957c 557 $RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \
9416f74d 558 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
12ba957c 559 $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \
9416f74d
AM
560 $RPM_BUILD_ROOT/etc/shrc.d
561
562%{__make} install \
563 DESTDIR=$RPM_BUILD_ROOT
564
565%if %{with info}
566%{__make} -C Doc/info
1254741f 567cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
9416f74d
AM
568%endif
569
9416f74d 570install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
4449431f 571cp -a Tools $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
9416f74d 572
ac600e00
AF
573# make libpython3.so simply symlink to real lib
574%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpython3.so
575ln -s libpython%{py_abi}.so $RPM_BUILD_ROOT%{_libdir}/libpython3.so
576
9416f74d
AM
577#
578# create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
579#
580
581# for python devel tools
582for script in timeit profile pdb pstats; do
1254741f 583 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 584done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d 585
1254741f 586echo "alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \
24586eb0 587 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d
AM
588
589sed 's/=/ /' \
24586eb0
AM
590 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
591 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
9416f74d
AM
592
593# for python modules
594for script in smtpd webbrowser; do
1254741f 595 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 596done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
9416f74d
AM
597
598sed 's/=/ /' \
24586eb0
AM
599 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
600 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
9416f74d
AM
601
602# xgettext specific for Python code
603#
604# we will have two commands: pygettext.py (an alias) and pygettext;
605# this way there are no import (which is impossible now) conflicts and
606# pygettext.py is provided for compatibility
1254741f 607install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
24586eb0 608
25e3a83c
AM
609# reindent python code
610install -p Tools/scripts/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ver}
611
9416f74d 612# just to cut the noise, as they are not packaged (now)
902c69ef 613%{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib*
902c69ef
JK
614%{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst*.exe
615%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.bat
616%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.pyw
4f91790c 617%{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html
69cd33fe 618%{__rm} $RPM_BUILD_ROOT%{py_libdir}/site-packages/README.txt
1843c435
JK
619
620# currently provided by python-2to3, consider switching to this one
621%{__rm} $RPM_BUILD_ROOT%{_bindir}/2to3
622
5d1aec43 623# that seems to be only an empty extension template,
624# which seems to be built only {with tests}
625%{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so
1843c435 626
acd14a9e 627# already in %%doc
902c69ef 628%{__rm} $RPM_BUILD_ROOT%{py_libdir}/LICENSE.txt
9416f74d 629
80febf2a
AM
630%{__mv} $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h $RPM_BUILD_ROOT%{py_libdir}/config-%{py_platform}/pyconfig.h
631%{__sed} -e's#@PREFIX@#%{_prefix}#g;s#@PY_VER@#%{py_ver}#g;s#@PY_ABI@#%{py_platform}#g' %{SOURCE1} > $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h
a033b415 632
9416f74d
AM
633%clean
634rm -rf $RPM_BUILD_ROOT
635
636%post libs -p /sbin/ldconfig
637%postun libs -p /sbin/ldconfig
638
e3852288 639%post doc-info -p /sbin/postshell
a20bb9dc 640-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d 641
e3852288 642%postun doc-info -p /sbin/postshell
a20bb9dc 643-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d
AM
644
645%files
646%defattr(644,root,root,755)
24586eb0 647%attr(755,root,root) %{_bindir}/python%{py_ver}
c7fdbe10 648%attr(755,root,root) %{_bindir}/python%{py_abi}
306c0f2d 649%attr(755,root,root) %{_bindir}/python3
c7fdbe10 650%{_mandir}/man1/python%{py_ver}.1*
57557e58 651%{_mandir}/man1/python3.1*
c7fdbe10
JB
652
653%files libs
654%defattr(644,root,root,755)
655%doc LICENSE
656%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.*
657
002ac285
AM
658%dir %{py_incdir}
659%{py_incdir}/pyconfig.h
660
c7fdbe10
JB
661%dir %{py_libdir}
662%dir %{py_dyndir}
663%dir %{py_sitedir}
12ba957c 664%dir %{py_sitedir}/__pycache__
902c69ef 665%dir %{py_libdir}/__pycache__
c7fdbe10
JB
666%dir %{py_scriptdir}
667%dir %{py_sitescriptdir}
12ba957c 668%dir %{py_sitescriptdir}/__pycache__
c7fdbe10
JB
669
670# shared modules required by python library
671%attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so
672
673# modules required by python library
902c69ef
JK
674%{py_libdir}/_collections_abc.py
675%{py_libdir}/_sitebuiltins.py
80febf2a 676%{py_libdir}/_sysconfigdata_*.py
902c69ef
JK
677%{py_libdir}/_weakrefset.py
678%{py_libdir}/abc.py
679%{py_libdir}/bisect.py
680%{py_libdir}/codecs.py
681%{py_libdir}/copyreg.py
f3feeafe 682%{py_libdir}/enum.py
902c69ef
JK
683%{py_libdir}/functools.py
684%{py_libdir}/genericpath.py
685%{py_libdir}/heapq.py
686%{py_libdir}/keyword.py
687%{py_libdir}/linecache.py
688%{py_libdir}/locale.py
689%{py_libdir}/io.py
32d9814d 690%{py_libdir}/operator.py
902c69ef
JK
691%{py_libdir}/posixpath.py
692%{py_libdir}/re.py
693%{py_libdir}/reprlib.py
694%{py_libdir}/site.py
695%{py_libdir}/sre_*.py
696%{py_libdir}/stat.py
697%{py_libdir}/sysconfig.py
698%{py_libdir}/token.py
699%{py_libdir}/tokenize.py
700%{py_libdir}/traceback.py
701%{py_libdir}/weakref.py
702%{py_libdir}/os.py
c7fdbe10 703# needed by the dynamic sys.lib patch
902c69ef
JK
704%{py_libdir}/types.py
705%{py_libdir}/__pycache__/_sitebuiltins.cpython-*.py[co]
80febf2a 706%{py_libdir}/__pycache__/_sysconfigdata_*.cpython-*.py[co]
902c69ef
JK
707%{py_libdir}/__pycache__/_weakrefset.cpython-*.py[co]
708%{py_libdir}/__pycache__/abc.cpython-*.py[co]
709%{py_libdir}/__pycache__/bisect.cpython-*.py[co]
710%{py_libdir}/__pycache__/codecs.cpython-*.py[co]
711%{py_libdir}/__pycache__/_collections_abc.cpython-*.py[co]
712%{py_libdir}/__pycache__/copyreg.cpython-*.py[co]
f3feeafe 713%{py_libdir}/__pycache__/enum.cpython-*.py[co]
902c69ef
JK
714%{py_libdir}/__pycache__/functools.cpython-*.py[co]
715%{py_libdir}/__pycache__/genericpath.cpython-*.py[co]
716%{py_libdir}/__pycache__/heapq.cpython-*.py[co]
717%{py_libdir}/__pycache__/keyword.cpython-*.py[co]
718%{py_libdir}/__pycache__/linecache.cpython-*.py[co]
719%{py_libdir}/__pycache__/locale.cpython-*.py[co]
720%{py_libdir}/__pycache__/io.cpython-*.py[co]
32d9814d 721%{py_libdir}/__pycache__/operator.cpython-*.py[co]
902c69ef
JK
722%{py_libdir}/__pycache__/posixpath.cpython-*.py[co]
723%{py_libdir}/__pycache__/re.cpython-*.py[co]
724%{py_libdir}/__pycache__/reprlib.cpython-*.py[co]
725%{py_libdir}/__pycache__/site.cpython-*.py[co]
726%{py_libdir}/__pycache__/sre_*.cpython-*.py[co]
727%{py_libdir}/__pycache__/stat.cpython-*.py[co]
728%{py_libdir}/__pycache__/sysconfig.cpython-*.py[co]
729%{py_libdir}/__pycache__/token.cpython-*.py[co]
730%{py_libdir}/__pycache__/tokenize.cpython-*.py[co]
731%{py_libdir}/__pycache__/traceback.cpython-*.py[co]
732%{py_libdir}/__pycache__/weakref.cpython-*.py[co]
733%{py_libdir}/__pycache__/os.cpython-*.py[co]
734%{py_libdir}/__pycache__/types.cpython-*.py[co]
735
736%{py_libdir}/collections
dfcf7c51 737
c7fdbe10 738# encodings required by python library
902c69ef
JK
739%dir %{py_libdir}/encodings
740%{py_libdir}/encodings/__pycache__
741%{py_libdir}/encodings/*.py
9416f74d 742
80febf2a
AM
743%dir %{py_libdir}/config-%{py_platform}
744%{py_libdir}/config-%{py_platform}/Makefile
745%{py_libdir}/config-%{py_platform}/Setup
746%{py_libdir}/config-%{py_platform}/Setup.config
747%{py_libdir}/config-%{py_platform}/Setup.local
748%{py_libdir}/config-%{py_platform}/pyconfig.h
d91cfa38 749
9416f74d
AM
750%files modules
751%defattr(644,root,root,755)
40197233 752%config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules*
dfcf7c51 753%attr(755,root,root) %{_bindir}/pyvenv
25160146 754%attr(755,root,root) %{_bindir}/pyvenv-%{py_ver}
902c69ef
JK
755%{py_libdir}/__future__.py
756%{py_libdir}/__phello__.foo.py
757%{py_libdir}/_bootlocale.py
758%{py_libdir}/_compat_pickle.py
759%{py_libdir}/_compression.py
760%{py_libdir}/_dummy_thread.py
761%{py_libdir}/_markupbase.py
762%{py_libdir}/_osx_support.py
763%{py_libdir}/_pydecimal.py
764%{py_libdir}/_pyio.py
765%{py_libdir}/_strptime.py
766%{py_libdir}/_threading_local.py
767%{py_libdir}/aifc.py
768%{py_libdir}/antigravity.py
769%{py_libdir}/argparse.py
770%{py_libdir}/ast.py
771%{py_libdir}/asynchat.py
772%{py_libdir}/asyncore.py
773%{py_libdir}/base64.py
774%{py_libdir}/bdb.py
775%{py_libdir}/binhex.py
776%{py_libdir}/bz2.py
777%{py_libdir}/cProfile.py
778%{py_libdir}/calendar.py
779%{py_libdir}/cgi.py
780%{py_libdir}/cgitb.py
781%{py_libdir}/chunk.py
782%{py_libdir}/cmd.py
783%{py_libdir}/code.py
784%{py_libdir}/codeop.py
785%{py_libdir}/colorsys.py
786%{py_libdir}/compileall.py
787%{py_libdir}/configparser.py
788%{py_libdir}/contextlib.py
789%{py_libdir}/copy.py
790%{py_libdir}/crypt.py
791%{py_libdir}/csv.py
792%{py_libdir}/datetime.py
793%{py_libdir}/decimal.py
794%{py_libdir}/difflib.py
795%{py_libdir}/dis.py
796%{py_libdir}/doctest.py
797%{py_libdir}/dummy_threading.py
902c69ef
JK
798%{py_libdir}/filecmp.py
799%{py_libdir}/fileinput.py
800%{py_libdir}/fnmatch.py
801%{py_libdir}/formatter.py
802%{py_libdir}/fractions.py
803%{py_libdir}/ftplib.py
804%{py_libdir}/getopt.py
805%{py_libdir}/getpass.py
806%{py_libdir}/gettext.py
807%{py_libdir}/glob.py
808%{py_libdir}/gzip.py
809%{py_libdir}/hashlib.py
810%{py_libdir}/hmac.py
811%{py_libdir}/imaplib.py
812%{py_libdir}/imghdr.py
813%{py_libdir}/imp.py
814%{py_libdir}/inspect.py
815%{py_libdir}/ipaddress.py
816%{py_libdir}/lzma.py
817%{py_libdir}/macpath.py
818%{py_libdir}/macurl2path.py
819%{py_libdir}/mailbox.py
820%{py_libdir}/mailcap.py
821%{py_libdir}/mimetypes.py
822%{py_libdir}/modulefinder.py
823%{py_libdir}/netrc.py
824%{py_libdir}/nntplib.py
825%{py_libdir}/ntpath.py
826%{py_libdir}/nturl2path.py
827%{py_libdir}/numbers.py
828%{py_libdir}/opcode.py
902c69ef
JK
829%{py_libdir}/optparse.py
830%{py_libdir}/pathlib.py
831%{py_libdir}/pickle.py
832%{py_libdir}/pickletools.py
833%{py_libdir}/pipes.py
834%{py_libdir}/pkgutil.py
835%{py_libdir}/platform.py
836%{py_libdir}/plistlib.py
837%{py_libdir}/poplib.py
838%{py_libdir}/pprint.py
839%{py_libdir}/pty.py
840%{py_libdir}/py_compile.py
841%{py_libdir}/pyclbr.py
842%{py_libdir}/queue.py
843%{py_libdir}/quopri.py
844%{py_libdir}/random.py
845%{py_libdir}/rlcompleter.py
846%{py_libdir}/runpy.py
80febf2a 847%{py_libdir}/secrets.py
902c69ef
JK
848%{py_libdir}/signal.py
849%{py_libdir}/sched.py
850%{py_libdir}/selectors.py
851%{py_libdir}/shelve.py
852%{py_libdir}/shlex.py
853%{py_libdir}/shutil.py
854%{py_libdir}/smtpd.py
855%{py_libdir}/smtplib.py
856%{py_libdir}/sndhdr.py
857%{py_libdir}/socket.py
858%{py_libdir}/socketserver.py
859%{py_libdir}/ssl.py
860%{py_libdir}/statistics.py
861%{py_libdir}/string.py
862%{py_libdir}/stringprep.py
863%{py_libdir}/struct.py
864%{py_libdir}/subprocess.py
865%{py_libdir}/sunau.py
866%{py_libdir}/symbol.py
867%{py_libdir}/symtable.py
868%{py_libdir}/tabnanny.py
869%{py_libdir}/tarfile.py
870%{py_libdir}/telnetlib.py
871%{py_libdir}/tempfile.py
872%{py_libdir}/textwrap.py
873%{py_libdir}/this.py
874%{py_libdir}/threading.py
875%{py_libdir}/trace.py
876%{py_libdir}/tracemalloc.py
877%{py_libdir}/tty.py
878%{py_libdir}/turtle.py
879%{py_libdir}/typing.py
880%{py_libdir}/uu.py
881%{py_libdir}/uuid.py
882%{py_libdir}/warnings.py
883%{py_libdir}/wave.py
884%{py_libdir}/webbrowser.py
885%{py_libdir}/xdrlib.py
886%{py_libdir}/zipapp.py
887%{py_libdir}/zipfile.py
888%{py_libdir}/__pycache__/__future__.cpython-*.py[co]
889%{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co]
890%{py_libdir}/__pycache__/_bootlocale.cpython-*.py[co]
891%{py_libdir}/__pycache__/_compat_pickle.cpython-*.py[co]
892%{py_libdir}/__pycache__/_compression.cpython-*.py[co]
893%{py_libdir}/__pycache__/_dummy_thread.cpython-*.py[co]
894%{py_libdir}/__pycache__/_markupbase.cpython-*.py[co]
895%{py_libdir}/__pycache__/_osx_support.cpython-*.py[co]
896%{py_libdir}/__pycache__/_pydecimal.cpython-*.py[co]
897%{py_libdir}/__pycache__/_pyio.cpython-*.py[co]
898%{py_libdir}/__pycache__/_strptime.cpython-*.py[co]
899%{py_libdir}/__pycache__/_threading_local.cpython-*.py[co]
900%{py_libdir}/__pycache__/aifc.cpython-*.py[co]
901%{py_libdir}/__pycache__/antigravity.cpython-*.py[co]
902%{py_libdir}/__pycache__/argparse.cpython-*.py[co]
903%{py_libdir}/__pycache__/ast.cpython-*.py[co]
904%{py_libdir}/__pycache__/asynchat.cpython-*.py[co]
905%{py_libdir}/__pycache__/asyncore.cpython-*.py[co]
906%{py_libdir}/__pycache__/base64.cpython-*.py[co]
907%{py_libdir}/__pycache__/bdb.cpython-*.py[co]
908%{py_libdir}/__pycache__/binhex.cpython-*.py[co]
909%{py_libdir}/__pycache__/bz2.cpython-*.py[co]
910%{py_libdir}/__pycache__/cProfile.cpython-*.py[co]
911%{py_libdir}/__pycache__/calendar.cpython-*.py[co]
912%{py_libdir}/__pycache__/cgi.cpython-*.py[co]
913%{py_libdir}/__pycache__/cgitb.cpython-*.py[co]
914%{py_libdir}/__pycache__/chunk.cpython-*.py[co]
915%{py_libdir}/__pycache__/cmd.cpython-*.py[co]
916%{py_libdir}/__pycache__/code.cpython-*.py[co]
917%{py_libdir}/__pycache__/codeop.cpython-*.py[co]
918%{py_libdir}/__pycache__/colorsys.cpython-*.py[co]
919%{py_libdir}/__pycache__/compileall.cpython-*.py[co]
920%{py_libdir}/__pycache__/configparser.cpython-*.py[co]
921%{py_libdir}/__pycache__/contextlib.cpython-*.py[co]
922%{py_libdir}/__pycache__/copy.cpython-*.py[co]
923%{py_libdir}/__pycache__/crypt.cpython-*.py[co]
924%{py_libdir}/__pycache__/csv.cpython-*.py[co]
925%{py_libdir}/__pycache__/datetime.cpython-*.py[co]
926%{py_libdir}/__pycache__/decimal.cpython-*.py[co]
927%{py_libdir}/__pycache__/difflib.cpython-*.py[co]
928%{py_libdir}/__pycache__/dis.cpython-*.py[co]
929%{py_libdir}/__pycache__/doctest.cpython-*.py[co]
930%{py_libdir}/__pycache__/dummy_threading.cpython-*.py[co]
902c69ef
JK
931%{py_libdir}/__pycache__/filecmp.cpython-*.py[co]
932%{py_libdir}/__pycache__/fileinput.cpython-*.py[co]
933%{py_libdir}/__pycache__/fnmatch.cpython-*.py[co]
934%{py_libdir}/__pycache__/formatter.cpython-*.py[co]
935%{py_libdir}/__pycache__/fractions.cpython-*.py[co]
936%{py_libdir}/__pycache__/ftplib.cpython-*.py[co]
937%{py_libdir}/__pycache__/getopt.cpython-*.py[co]
938%{py_libdir}/__pycache__/getpass.cpython-*.py[co]
939%{py_libdir}/__pycache__/gettext.cpython-*.py[co]
940%{py_libdir}/__pycache__/glob.cpython-*.py[co]
941%{py_libdir}/__pycache__/gzip.cpython-*.py[co]
942%{py_libdir}/__pycache__/hashlib.cpython-*.py[co]
943%{py_libdir}/__pycache__/hmac.cpython-*.py[co]
944%{py_libdir}/__pycache__/imaplib.cpython-*.py[co]
945%{py_libdir}/__pycache__/imghdr.cpython-*.py[co]
946%{py_libdir}/__pycache__/imp.cpython-*.py[co]
947%{py_libdir}/__pycache__/inspect.cpython-*.py[co]
948%{py_libdir}/__pycache__/ipaddress.cpython-*.py[co]
949%{py_libdir}/__pycache__/lzma.cpython-*.py[co]
950%{py_libdir}/__pycache__/macpath.cpython-*.py[co]
951%{py_libdir}/__pycache__/macurl2path.cpython-*.py[co]
952%{py_libdir}/__pycache__/mailbox.cpython-*.py[co]
953%{py_libdir}/__pycache__/mailcap.cpython-*.py[co]
954%{py_libdir}/__pycache__/mimetypes.cpython-*.py[co]
955%{py_libdir}/__pycache__/modulefinder.cpython-*.py[co]
956%{py_libdir}/__pycache__/netrc.cpython-*.py[co]
957%{py_libdir}/__pycache__/nntplib.cpython-*.py[co]
958%{py_libdir}/__pycache__/ntpath.cpython-*.py[co]
959%{py_libdir}/__pycache__/nturl2path.cpython-*.py[co]
960%{py_libdir}/__pycache__/numbers.cpython-*.py[co]
961%{py_libdir}/__pycache__/opcode.cpython-*.py[co]
902c69ef
JK
962%{py_libdir}/__pycache__/optparse.cpython-*.py[co]
963%{py_libdir}/__pycache__/pathlib.cpython-*.py[co]
964%{py_libdir}/__pycache__/pickle.cpython-*.py[co]
965%{py_libdir}/__pycache__/pickletools.cpython-*.py[co]
966%{py_libdir}/__pycache__/pipes.cpython-*.py[co]
967%{py_libdir}/__pycache__/pkgutil.cpython-*.py[co]
968%{py_libdir}/__pycache__/platform.cpython-*.py[co]
969%{py_libdir}/__pycache__/plistlib.cpython-*.py[co]
970%{py_libdir}/__pycache__/poplib.cpython-*.py[co]
971%{py_libdir}/__pycache__/pprint.cpython-*.py[co]
972%{py_libdir}/__pycache__/pty.cpython-*.py[co]
973%{py_libdir}/__pycache__/py_compile.cpython-*.py[co]
974%{py_libdir}/__pycache__/pyclbr.cpython-*.py[co]
975%{py_libdir}/__pycache__/queue.cpython-*.py[co]
976%{py_libdir}/__pycache__/quopri.cpython-*.py[co]
977%{py_libdir}/__pycache__/random.cpython-*.py[co]
978%{py_libdir}/__pycache__/rlcompleter.cpython-*.py[co]
979%{py_libdir}/__pycache__/runpy.cpython-*.py[co]
980%{py_libdir}/__pycache__/sched.cpython-*.py[co]
80febf2a 981%{py_libdir}/__pycache__/secrets.cpython-*.py[co]
902c69ef
JK
982%{py_libdir}/__pycache__/selectors.cpython-*.py[co]
983%{py_libdir}/__pycache__/shelve.cpython-*.py[co]
984%{py_libdir}/__pycache__/shlex.cpython-*.py[co]
985%{py_libdir}/__pycache__/shutil.cpython-*.py[co]
986%{py_libdir}/__pycache__/signal.cpython-*.py[co]
987%{py_libdir}/__pycache__/smtpd.cpython-*.py[co]
988%{py_libdir}/__pycache__/smtplib.cpython-*.py[co]
989%{py_libdir}/__pycache__/sndhdr.cpython-*.py[co]
990%{py_libdir}/__pycache__/socket.cpython-*.py[co]
991%{py_libdir}/__pycache__/socketserver.cpython-*.py[co]
992%{py_libdir}/__pycache__/ssl.cpython-*.py[co]
993%{py_libdir}/__pycache__/statistics.cpython-*.py[co]
994%{py_libdir}/__pycache__/string.cpython-*.py[co]
995%{py_libdir}/__pycache__/stringprep.cpython-*.py[co]
996%{py_libdir}/__pycache__/struct.cpython-*.py[co]
997%{py_libdir}/__pycache__/subprocess.cpython-*.py[co]
998%{py_libdir}/__pycache__/sunau.cpython-*.py[co]
999%{py_libdir}/__pycache__/symbol.cpython-*.py[co]
1000%{py_libdir}/__pycache__/symtable.cpython-*.py[co]
1001%{py_libdir}/__pycache__/tabnanny.cpython-*.py[co]
1002%{py_libdir}/__pycache__/tarfile.cpython-*.py[co]
1003%{py_libdir}/__pycache__/telnetlib.cpython-*.py[co]
1004%{py_libdir}/__pycache__/tempfile.cpython-*.py[co]
1005%{py_libdir}/__pycache__/textwrap.cpython-*.py[co]
1006%{py_libdir}/__pycache__/this.cpython-*.py[co]
1007%{py_libdir}/__pycache__/threading.cpython-*.py[co]
1008%{py_libdir}/__pycache__/trace.cpython-*.py[co]
1009%{py_libdir}/__pycache__/tracemalloc.cpython-*.py[co]
1010%{py_libdir}/__pycache__/tty.cpython-*.py[co]
1011%{py_libdir}/__pycache__/turtle.cpython-*.py[co]
1012%{py_libdir}/__pycache__/typing.cpython-*.py[co]
1013%{py_libdir}/__pycache__/uu.cpython-*.py[co]
1014%{py_libdir}/__pycache__/uuid.cpython-*.py[co]
1015%{py_libdir}/__pycache__/warnings.cpython-*.py[co]
1016%{py_libdir}/__pycache__/wave.cpython-*.py[co]
1017%{py_libdir}/__pycache__/webbrowser.cpython-*.py[co]
1018%{py_libdir}/__pycache__/xdrlib.cpython-*.py[co]
1019%{py_libdir}/__pycache__/zipapp.cpython-*.py[co]
1020%{py_libdir}/__pycache__/zipfile.cpython-*.py[co]
9416f74d
AM
1021
1022#
1023# list .so modules to be sure that all of them are built
1024#
1025
80febf2a 1026%attr(755,root,root) %{py_dyndir}/_asyncio.cpython-*.so
c7fdbe10 1027%attr(755,root,root) %{py_dyndir}/_bisect.cpython-*.so
80febf2a 1028%attr(755,root,root) %{py_dyndir}/_blake2.cpython-*.so
dfcf7c51 1029%attr(755,root,root) %{py_dyndir}/_bz2.cpython-*.so
c7fdbe10
JB
1030%attr(755,root,root) %{py_dyndir}/_codecs_cn.cpython-*.so
1031%attr(755,root,root) %{py_dyndir}/_codecs_hk.cpython-*.so
1032%attr(755,root,root) %{py_dyndir}/_codecs_iso2022.cpython-*.so
1033%attr(755,root,root) %{py_dyndir}/_codecs_jp.cpython-*.so
1034%attr(755,root,root) %{py_dyndir}/_codecs_kr.cpython-*.so
1035%attr(755,root,root) %{py_dyndir}/_codecs_tw.cpython-*.so
dfcf7c51 1036%attr(755,root,root) %{py_dyndir}/_crypt.cpython-*.so
c7fdbe10
JB
1037%attr(755,root,root) %{py_dyndir}/_csv.cpython-*.so
1038%attr(755,root,root) %{py_dyndir}/_ctypes*.cpython-*.so
1039%attr(755,root,root) %{py_dyndir}/_curses_panel.cpython-*.so
1040%attr(755,root,root) %{py_dyndir}/_curses.cpython-*.so
1041%attr(755,root,root) %{py_dyndir}/_datetime.cpython-*.so
9416f74d 1042%ifnarch sparc64
c7fdbe10 1043%attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so
9416f74d 1044%endif
dfcf7c51 1045%attr(755,root,root) %{py_dyndir}/_decimal.cpython-*.so
c7fdbe10
JB
1046%attr(755,root,root) %{py_dyndir}/_elementtree.cpython-*.so
1047%attr(755,root,root) %{py_dyndir}/_gdbm.cpython-*.so
1048%attr(755,root,root) %{py_dyndir}/_hashlib.cpython-*.so
1049%attr(755,root,root) %{py_dyndir}/_heapq.cpython-*.so
1050%attr(755,root,root) %{py_dyndir}/_json.cpython-*.so
1051%attr(755,root,root) %{py_dyndir}/_lsprof.cpython-*.so
dfcf7c51 1052%attr(755,root,root) %{py_dyndir}/_lzma.cpython-*.so
38874ce8 1053%attr(755,root,root) %{py_dyndir}/_md5.cpython-*.so
c7fdbe10
JB
1054%attr(755,root,root) %{py_dyndir}/_multibytecodec.cpython-*.so
1055%attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
38874ce8 1056%attr(755,root,root) %{py_dyndir}/_opcode.cpython-*.so
c7fdbe10 1057%attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
dceb7408 1058%attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
c7fdbe10 1059%attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
38874ce8 1060%attr(755,root,root) %{py_dyndir}/_sha1.cpython-*.so
80febf2a 1061%attr(755,root,root) %{py_dyndir}/_sha3.cpython-*.so
c7fdbe10
JB
1062%attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
1063%attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
dfcf7c51 1064%attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
c7fdbe10 1065%attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
38874ce8 1066%attr(755,root,root) %{py_dyndir}/_testimportmultiple.cpython-*.so
ac674191 1067%attr(755,root,root) %{py_dyndir}/_testmultiphase.cpython-*.so
b6994eba
ER
1068
1069# for openssl < 0.9.8 package sha256 and sha512 modules
38874ce8 1070%if "%{pld_release}" != "ac"
b6994eba
ER
1071%attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
1072%attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
1073%endif
1074
c7fdbe10 1075%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
dceb7408 1076%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
c7fdbe10 1077%attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so
c7fdbe10 1078%attr(755,root,root) %{py_dyndir}/cmath.cpython-*.so
c7fdbe10
JB
1079%attr(755,root,root) %{py_dyndir}/fcntl.cpython-*.so
1080%attr(755,root,root) %{py_dyndir}/grp.cpython-*.so
1081%attr(755,root,root) %{py_dyndir}/math.cpython-*.so
1082%attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
1083%attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
1084%attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
1085%attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
1086%attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
1087%attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
1088%attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
1089%attr(755,root,root) %{py_dyndir}/select.cpython-*.so
1090%attr(755,root,root) %{py_dyndir}/syslog.cpython-*.so
1091%attr(755,root,root) %{py_dyndir}/termios.cpython-*.so
c7fdbe10
JB
1092%attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so
1093%attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so
1094%attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so
9416f74d 1095
902c69ef
JK
1096%dir %{py_libdir}/asyncio
1097%{py_libdir}/asyncio/__pycache__
1098%{py_libdir}/asyncio/*.py
1099
1100%{py_libdir}/concurrent
1101
1102%dir %{py_libdir}/ctypes
1103%dir %{py_libdir}/ctypes/macholib
1104%{py_libdir}/ctypes/__pycache__
1105%{py_libdir}/ctypes/macholib/__pycache__
1106
1107%{py_libdir}/ctypes/*.py
1108%{py_libdir}/ctypes/macholib/*.py
1109%doc %{py_libdir}/ctypes/macholib/README.ctypes
1110
1111%dir %{py_libdir}/curses
1112%{py_libdir}/curses/__pycache__
1113%{py_libdir}/curses/*.py
1114
1115%dir %{py_libdir}/dbm
1116%{py_libdir}/dbm/__pycache__
1117%{py_libdir}/dbm/*.py
1118
1119%dir %{py_libdir}/distutils
1120%dir %{py_libdir}/distutils/command
1121%doc %{py_libdir}/distutils/README
1122%{py_libdir}/distutils/__pycache__
1123%{py_libdir}/distutils/command/__pycache__
1124%{py_libdir}/distutils/*.py
1125%{py_libdir}/distutils/command/*.py
1126%{py_libdir}/distutils/command/command_template
1127
1128%dir %{py_libdir}/email
1129%dir %{py_libdir}/email/mime
1130%{py_libdir}/email/__pycache__
1131%{py_libdir}/email/mime/__pycache__
1132%{py_libdir}/email/architecture.rst
1133%{py_libdir}/email/*.py
1134%{py_libdir}/email/mime/*.py
1135
1136%dir %{py_libdir}/ensurepip
1137%{py_libdir}/ensurepip/__pycache__
1138%{py_libdir}/ensurepip/*.py
1139%{py_libdir}/ensurepip/_bundled
1140
1141%dir %{py_libdir}/html
1142%{py_libdir}/html/*.py
1143%{py_libdir}/html/__pycache__
1144
1145%dir %{py_libdir}/http
1146%{py_libdir}/http/__pycache__
1147%{py_libdir}/http/*.py
1148
1149%dir %{py_libdir}/idlelib
1150
1151%dir %{py_libdir}/importlib
1152%{py_libdir}/importlib/__pycache__
1153%{py_libdir}/importlib/*.py
1154
1155%dir %{py_libdir}/json
1156%{py_libdir}/json/__pycache__
1157%{py_libdir}/json/*.py
1158
1159%dir %{py_libdir}/logging
1160%{py_libdir}/logging/__pycache__
1161%{py_libdir}/logging/*.py
1162
1163%dir %{py_libdir}/multiprocessing
1164%{py_libdir}/multiprocessing/__pycache__
1165%{py_libdir}/multiprocessing/*.py
1166%dir %{py_libdir}/multiprocessing/dummy
1167%{py_libdir}/multiprocessing/dummy/__pycache__
1168%{py_libdir}/multiprocessing/dummy/*.py
1169
1170%{py_libdir}/turtledemo
1171
1172%dir %{py_libdir}/unittest
1173%{py_libdir}/unittest/__pycache__
1174%{py_libdir}/unittest/*.py
1175
1176%dir %{py_libdir}/urllib
1177%{py_libdir}/urllib/__pycache__
1178%{py_libdir}/urllib/*.py
1179
1180%dir %{py_libdir}/venv
1181%{py_libdir}/venv/__pycache__
1182%{py_libdir}/venv/*.py
1183%dir %{py_libdir}/venv/scripts
69cd33fe
AM
1184%dir %{py_libdir}/venv/scripts/common
1185%{py_libdir}/venv/scripts/common/activate
902c69ef 1186%dir %{py_libdir}/venv/scripts/posix
902c69ef
JK
1187%{py_libdir}/venv/scripts/posix/activate.csh
1188%{py_libdir}/venv/scripts/posix/activate.fish
1189
1190%dir %{py_libdir}/wsgiref
1191%{py_libdir}/wsgiref/__pycache__
1192%{py_libdir}/wsgiref/*.py
1193
1194%dir %{py_libdir}/xml
1195%dir %{py_libdir}/xml/dom
1196%dir %{py_libdir}/xml/etree
1197%dir %{py_libdir}/xml/parsers
1198%dir %{py_libdir}/xml/sax
1199%{py_libdir}/xml/__pycache__
1200%{py_libdir}/xml/dom/__pycache__
1201%{py_libdir}/xml/etree/__pycache__
1202%{py_libdir}/xml/parsers/__pycache__
1203%{py_libdir}/xml/sax/__pycache__
1204%{py_libdir}/xml/*.py
1205%{py_libdir}/xml/dom/*.py
1206%{py_libdir}/xml/etree/*.py
1207%{py_libdir}/xml/parsers/*.py
1208%{py_libdir}/xml/sax/*.py
1209
1210%dir %{py_libdir}/xmlrpc
1211%{py_libdir}/xmlrpc/__pycache__
1212%{py_libdir}/xmlrpc/*.py
acd14a9e 1213
c7fdbe10 1214%attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
902c69ef
JK
1215%dir %{py_libdir}/sqlite3
1216%{py_libdir}/sqlite3/__pycache__
1217%{py_libdir}/sqlite3/*.py
9416f74d 1218
2072c60e 1219%files -n pydoc3
9416f74d 1220%defattr(644,root,root,755)
19221b23 1221%attr(755,root,root) %{_bindir}/pydoc3
80febf2a 1222%attr(755,root,root) %{_bindir}/pydoc%{py_ver}
902c69ef
JK
1223%{py_libdir}/pydoc.py
1224%{py_libdir}/__pycache__/pydoc.cpython-*.py[co]
1225%dir %{py_libdir}/pydoc_data
1226%{py_libdir}/pydoc_data/__pycache__
1227%{py_libdir}/pydoc_data/*.py
1228%{py_libdir}/pydoc_data/*.css
9416f74d 1229
2072c60e 1230%files -n idle3
9416f74d 1231%defattr(644,root,root,755)
19221b23 1232%attr(755,root,root) %{_bindir}/idle3
80febf2a 1233%attr(755,root,root) %{_bindir}/idle%{py_ver}
902c69ef
JK
1234%dir %{py_libdir}/idlelib/Icons
1235%{py_libdir}/idlelib/__pycache__
1236%{py_libdir}/idlelib/*.py
1237%doc %{py_libdir}/idlelib/*.txt
1238%doc %{py_libdir}/idlelib/ChangeLog
1239%{py_libdir}/idlelib/Icons/*
1240%{py_libdir}/idlelib/*.def
9416f74d
AM
1241
1242%files devel
1243%defattr(644,root,root,755)
1244%doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
c7fdbe10
JB
1245%attr(755,root,root) %{_bindir}/python%{py_ver}-config
1246%attr(755,root,root) %{_bindir}/python%{py_abi}-config
1247%attr(755,root,root) %{_bindir}/python3-config
1248%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
1249%attr(755,root,root) %{_libdir}/libpython3.so
9416f74d 1250%{py_incdir}/*.h
002ac285 1251%exclude %{py_incdir}/pyconfig.h
80febf2a
AM
1252%attr(755,root,root) %{py_libdir}/config-%{py_platform}/makesetup
1253%attr(755,root,root) %{py_libdir}/config-%{py_platform}/install-sh
1254%{py_libdir}/config-%{py_platform}/config.c
1255%{py_libdir}/config-%{py_platform}/config.c.in
1256%{py_libdir}/config-%{py_platform}/python.o
1257%{py_libdir}/config-%{py_platform}/python-config.py
1258%dir %{py_libdir}/config-%{py_platform}/__pycache__
1259%{py_libdir}/config-%{py_platform}/__pycache__/python-config.*
c7fdbe10 1260%{_pkgconfigdir}/python-%{py_ver}.pc
d0324804
JB
1261%{_pkgconfigdir}/python-%{py_abi}.pc
1262%{_pkgconfigdir}/python3.pc
c7fdbe10 1263
9416f74d
AM
1264%files devel-tools
1265%defattr(644,root,root,755)
40197233 1266%config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-devel*
24586eb0 1267%attr(755,root,root) %{_bindir}/pygettext%{py_ver}
25e3a83c 1268%attr(755,root,root) %{_bindir}/pyreindent%{py_ver}
902c69ef
JK
1269%{py_libdir}/pdb.py
1270%{py_libdir}/profile.py
1271%{py_libdir}/pstats.py
1272%{py_libdir}/timeit.py
1273%{py_libdir}/__pycache__/pdb.cpython-*.py[co]
1274%{py_libdir}/__pycache__/profile.cpython-*.py[co]
1275%{py_libdir}/__pycache__/pstats.cpython-*.py[co]
1276%{py_libdir}/__pycache__/timeit.cpython-*.py[co]
9416f74d 1277
30b0ff7b 1278%files 2to3
76c5116a 1279%defattr(644,root,root,755)
eb7b678c 1280%attr(755,root,root) %{_bindir}/2to3-%{py_ver}
902c69ef
JK
1281%dir %{py_libdir}/lib2to3
1282%{py_libdir}/lib2to3/__pycache__
1283%{py_libdir}/lib2to3/*.txt
1284%{py_libdir}/lib2to3/*.pickle
1285%{py_libdir}/lib2to3/*.py
1286%dir %{py_libdir}/lib2to3/fixes
1287%{py_libdir}/lib2to3/fixes/__pycache__
1288%{py_libdir}/lib2to3/fixes/*.py
1289%dir %{py_libdir}/lib2to3/pgen2
1290%{py_libdir}/lib2to3/pgen2/__pycache__
1291%{py_libdir}/lib2to3/pgen2/*.py
30b0ff7b 1292
9416f74d
AM
1293%files static
1294%defattr(644,root,root,755)
6eede82b 1295%{_libdir}/libpython%{py_abi}.a
9416f74d
AM
1296
1297%files examples
1298%defattr(644,root,root,755)
1299%{_examplesdir}/%{name}-%{version}
1300
9a22bc7d 1301%files test
76c5116a 1302%defattr(644,root,root,755)
902c69ef
JK
1303%{py_libdir}/idlelib/idle_test
1304%{py_libdir}/test
1305%{py_libdir}/ctypes/test
1306%{py_libdir}/distutils/tests
1307%{py_libdir}/lib2to3/tests
1308%{py_libdir}/sqlite3/test
1309%{py_libdir}/tkinter/test
1310%{py_libdir}/unittest/test
9a22bc7d 1311
9416f74d
AM
1312%if %{with info}
1313%files doc-info
1314%defattr(644,root,root,755)
1315%{_infodir}/*.info*
1316%endif
1317
1318%if %{with tkinter}
1319%files tkinter
1320%defattr(644,root,root,755)
902c69ef
JK
1321%dir %{py_libdir}/tkinter
1322%{py_libdir}/tkinter/__pycache__
1323%{py_libdir}/tkinter/*.py
c7fdbe10 1324%attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so
9416f74d 1325%endif
This page took 0.249626 seconds and 4 git commands to generate.