# TODO # - test_distutils fails for unknown reason: (does it still do with new lib64 patch?) # AssertionError: '/tmp/tmpaomC0l/installation/share/python' != '/tmp/tmpaomC0l/installation/lib/python' # - change searchpath order so /usr/lib* is before /usr/share # - kill lib-tk from searchpath # - kill BR: file requirement from lib64 patch # # Conditional build: %bcond_without tkinter # disables tkinter module building %bcond_without tests # disables Python testing %bcond_with verbose_tests # runs tests in verbose mode # # tests which will not work on 64-bit platforms %define no64bit_tests test_audioop test_rgbimg test_imageop # tests which may fail because of builder environment limitations (no /proc or /dev/pts) %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty # tests which fail because of some unknown/unresolved reason (this list should be empty) %define broken_tests test_anydbm test_bsddb test_re test_shelve test_whichdb test_zipimport test_distutils %define py_ver 2.4 %define py_prefix %{_prefix} %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver} %define py_incdir %{_includedir}/python%{py_ver} %define py_sitedir %{py_libdir}/site-packages %define py_dyndir %{py_libdir}/lib-dynload Summary: Very high level scripting language with X interface Summary(es): Lenguaje script de alto nivel con interfaz X Summary(fr): Langage de script de très haut niveau avec interface X Summary(pl): Python - jêzyk obiektowy wysokiego poziomu Summary(pt_BR): Linguagem de programação interpretada de alto nível Summary(ru): ñÚÙË ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÏÞÅÎØ ×ÙÓÏËÏÇÏ ÕÒÏ×ÎÑ Ó X-ÉÎÔÅÒÆÅÊÓÏÍ Summary(tr): X arayüzlü, yüksek düzeyli, kabuk yorumlayýcý dili Summary(uk): íÏ×Á ÐÒÏÇÒÁÍÕ×ÁÎÎÑ ÄÕÖÅ ×ÉÓÏËÏÇÏ Ò¦×ÎÑ Ú X-¦ÎÔÅÒÆÅÊÓÏÍ Name: python Version: %{py_ver}.2 Release: 6 Epoch: 1 License: PSF Group: Applications Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2 # Source0-md5: 98db1465629693fc434d4dc52db93838 Source1: http://www.python.org/ftp/python/doc/%{version}/html-%{version}.tar.bz2 # Source1-md5: 4e3f177f32e15713130d9d9cf35f991f Patch0: %{name}-readline.patch Patch1: %{name}-%{name}path.patch Patch2: %{name}-no_ndbm.patch Patch3: %{name}-ac_fixes.patch Patch4: %{name}-noarch_to_datadir.patch Patch5: %{name}-lib64.patch Patch6: %{name}-doc_path.patch Patch7: %{name}-db44.patch Patch8: %{name}-ssl-nonblocking.patch Patch9: %{name}-info.patch URL: http://www.python.org/ BuildRequires: autoconf BuildRequires: bzip2-devel BuildRequires: db-devel >= 4 BuildRequires: emacs >= 21 BuildRequires: expat-devel >= 1:1.95.7 BuildRequires: file BuildRequires: gdbm-devel >= 1.8.3 BuildRequires: gmp-devel >= 4.0 BuildRequires: libstdc++-devel BuildRequires: tetex-makeindex BuildRequires: ncurses-ext-devel >= 5.2 BuildRequires: openssl-devel >= 0.9.7d BuildRequires: readline-devel >= 5.0 BuildRequires: rpm-pythonprov BuildRequires: sed >= 4.0 %{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4} %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3} BuildRequires: zlib-devel Requires: %{name}-libs = %{epoch}:%{version}-%{release} Obsoletes: python-curses Obsoletes: python-gdbm Obsoletes: python-intl Obsoletes: python-xml Obsoletes: python-zlib Obsoletes: python2 Obsoletes: python2-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %if %{with verbose_tests} %define test_flags -v -l -x %else %define test_flags -l -x %endif %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664} %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests} %else %define test_list %{nobuilder_tests} %{broken_tests} %endif %description Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many brands of UNIX, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2. This package contains the Python binary. %description -l de Python ist eine interpretierte, interaktive, objektorientierte Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java. Python enthält Module, Klassen, Exceptions, High-Level dynamische Datentypen und dynamisches Typisieren. Python unterstützt Interfaces zu vielen Systemaufrufen und Libraries, sowie verschiedene Fenstersysteme (X11, Motif, Tk, Mac und MFC) Programmierer können neue built-in-Module für Python in C oder C++ schreiben. Python kann auch als Erweiterungssprache für Applikationen benutzt werden, die ein programmierbares Interface brauchen. Dieses Paket enthält die meisten Standard-Python-Module, und Module zum Ansprechen von Tix (Tk-widget set) und RPM. %description -l es Python es un lenguaje de scripts interpretado orientado a objetos. Contiene soporte para carga dinámica de objetos, clases, módulos y excepciones. Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a través de código C, tornando Python fácil de usar en ambientes particulares/personalizados. Este paquete Python incluye la mayoría de los módulos padrón Python, junto con módulos para crear interfaces para el conjunto de componentes Tix para Tk y RPM. %description -l fr Python est un langage de script interprété et orienté objet. Il gère le chargement dynamique des objets, les classes, les modules et les exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes avec du code C est simple, ce qui rend Python facile à utiliser dans des configs personnalisées. Ce paquetage Python contient la plupart des modules Python standards, ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk et RPM. %description -l pl Python jest interpretowanym, interaktywnym i zorientowanym obiektowo jêzykiem programowania. Jest modularny, obs³uguje wyj±tki, dynamiczne typy, zaawansowane dynamiczne struktury danych i klasy. Python ³±czy w sobie du¿e mo¿liwo¶ci i przejrzyst± sk³adniê. Posiada interfejsy do wielu wywo³añ systemowych i bibliotek, w tym równie¿ do ró¿nych bibliotek okienkowych. Mo¿liwo¶ci jego mo¿na jeszcze rozszerzaæ poprzez odpowiednie modu³y pisane w C lub C++. Python mo¿e byæ równie¿ u¿yty jako element aplikacji, którym potrzebny jest interpreter do skryptów. I wreszcie, Python jest wieloplatformowy, dzia³a na wielu odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz OS/2. Ten pakiet zawiera binarkê Pythona. %description -l pt_BR Python é uma linguagem de scripts interpretada orientada a objetos. Contém suporte para carga dinâmica de objetos, classes, módulos e exceções. Adicionar interfaces para novos sistemas de biblioteca através de código C é simples, tornando Python fácil de usar em ambientes particulares/personalizados. Este pacote Python inclui a maioria do módulos padrão Python, junto com módulos para interfaceamento para o conjunto de componentes Tix para Tk e RPM. %description -l ru Python - ÜÔÏ ÉÎÔÅÒÐÒÅÔÉÒÕÅÍÙÊ, ÏÂßÅËÔÎÏ-ÏÒÉÅÎÔÉÒÏ×ÁÎÎÙÊ ÑÚÙË ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ. ïÎ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÉÎÁÍÉÞÅÓËÕÀ ÚÁÇÒÕÚËÕ ÏÂßÅËÔÏ×, ËÌÁÓÓÙ, ÍÏÄÕÌÉ É ÏÂÒÁÂÏÔËÕ ÉÓËÌÀÞÉÔÅÌØÎÙÈ ÓÉÔÕÁÃÉÊ (exceptions). ðÒÏÓÔÏÔÁ ÄÏÂÁ×ÌÅÎÉÑ ÉÎÔÅÒÆÅÊÓÏ× Ë ÎÏ×ÙÍ ÓÉÓÔÅÍÎÙÍ ÂÉÂÌÉÏÔÅËÁÍ ÞÅÒÅÚ ËÏÄ ÎÁ ÑÚÙËÅ C ÄÅÌÁÅÔ Python ÈÏÒÏÛÉÍ ×ÙÂÏÒÏÍ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÓÐÅÃÉÁÌØÎÙÈ ËÏÎÆÉÇÕÒÁÃÉÑÈ. %description -l tr Python, nesneye yönelik bir kabuk yorumlayýcýdýr. Nesnelerin, sýnýflarýn, modüllerin ve aykýrý durumlarýn dinamik yüklenmelerine destek verir. C koduyla birlikte kullanýmý son derece kolaydýr. Bu paket, standart Python birimlerinin çoðunun yanýsýra Tk ve RPM için arayüz birimlerini de içerir. %description -l uk Python - ÃÅ ¦ÎÔÅÒÐÒÅÔÏ×ÁÎÁ, ÏÂ'¤ËÔÎÏ-ÏÒ¦¤ÎÔÏ×ÁÎÁ ÍÏ×Á ÐÒÏÇÒÁÍÕ×ÁÎÎÑ. ÷¦Î ЦÄÔÒÉÍÕ¤ ÄÉÎÁͦÞÎÕ ÚÁÇÒÕÚËÕ ÏÂ'¤ËÔ¦×, ËÌÁÓÉ, ÍÏÄÕ̦ ÔÁ ÏÂÒÏÂËÕ ×ÉËÌÀÞÎÉÈ ÓÉÔÕÁÃ¦Ê (exceptions). ðÒÏÓÔÏÔÁ ÄÏÄÁ×ÁÎÎÑ ¦ÎÔÅÒÆÅÊÓ¦× ÄÌÑ ÎÏ×ÉÈ ÓÉÓÔÅÍÎÉÈ Â¦Â̦ÏÔÅË ÞÅÒÅÚ ËÏÄ ÎÁ ÍÏצ C ÒÏÂÉÔØ Python ÄÏÂÒÉÍ ×ÉÂÏÒÏÍ ÄÌÑ ×ÉËÏÒÉÓÔÁÎÎÑ × ÓÐÅæÁÌØÎÉÈ ËÏÎƦÇÕÒÁæÑÈ. %package libs Summary: Python library Summary(pl): Biblioteka jêzyka Python Group: Libraries/Python # broken detection in rpm/pythondeps.sh Provides: python(abi) = %{py_ver} # for compatibility with existing Ac packages Provides: python(bytecode) = %{py_ver} %description libs Python shared library and very essental modules for Python binary. %description libs -l pl Biblioteka wspó³dzielona jêzyka Python oraz bardzo podstawowe modu³y dla Pythona. %package modules Summary: Python modules Summary(pl): Modu³y jêzyka Python Group: Libraries/Python Requires: %{name}-libs = %{epoch}:%{version}-%{release} Obsoletes: python-logging Obsoletes: python-optik Obsoletes: python-xmlrpc <= 1.0.1 %description modules Python officially distributed modules. %description modules -l pl Oficjalnie rozprowadzane modu³y jêzyka Python. %package -n pydoc Summary: Python interactive module documentation access support Summary(pl): Interaktywne korzystanie z dokumentacji modu³ów jêzyka Python Group: Applications Requires: %{name}-modules = %{epoch}:%{version}-%{release} Obsoletes: python-pydoc %description -n pydoc Python interactive module documentation access support. %description -n pydoc -l pl Interaktywne korzystanie z dokumentacji modu³ów jêzyka Python. %package -n idle Summary: IDE for Python language Summary(pl): IDE dla jêzyka Python Group: Applications Requires: %{name}-tkinter = %{epoch}:%{version}-%{release} Obsoletes: python-idle %description -n idle IDE for Python language. %description -n idle -l pl IDE dla jêzyka Python. %package devel Summary: Libraries and header files for building python code Summary(de): Libraries und Header-Dateien zum Erstellen von Python-Code Summary(es): Bibliotecas y archivos de inclusión para construir programas en python Summary(fr): Bibliothèques et en-têtes pour construire du code python Summary(pl): Pliki nag³ówkowe i biblioteki Pythona Summary(pt_BR): Bibliotecas e arquivos de inclusão para o Python Summary(ru): âÉÂÌÉÏÔÅËÉ É ÈÅÄÅÒÙ ÄÌÑ ÐÏÓÔÒÏÅÎÉÑ ËÏÄÁ ÎÁ ÑÚÙËÅ Python Summary(tr): Python ile geliþtirme yapmak için gerekli dosyalar Summary(uk): â¦Â̦ÏÔÅËÉ ÔÁ ÈÅÄÅÒÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ ÎÁ ÍÏצ Python Group: Development/Languages/Python Requires: %{name}-libs = %{epoch}:%{version}-%{release} %description devel The Python interpreter is relatively easy to extend with dynamically loaded extensions and to embed in other programs. This package contains the header files and libraries which are needed to do both of these tasks. %description devel -l de Der Python-Interpretierer ist relativ einfach anhand von dynamisch ladbaren Erweiterungen auszubauen und läßt sich in andere Programme integrieren. Dieses Paket enthält die Header-Dateien und Libraries, die für beide Aufgaben erforderlich sind. %description devel -l es El interpretador Python permite incluir con facilidad extensiones cargadas dinámicamente. Python es también fácil de ser empotrado en otros programas. Este paquete contiene los archivos de inclusión y bibliotecas necesarios para estas dos tareas. %description devel -l fr L'interpréteur Python est relativement facile à étendre avec des extensions chargées dynamiquement et à insérer dans d'autres programmes. Ce paquetage contient les en-têtes et les bibliothèques nécessaires à ces deux tâches. %description devel -l pl Interpreter Pythona jest w miarê ³atwy do rozszerzania przy pomocy dynamicznie ³adowanych rozszerzeñ napisanych w C lub C++ oraz osadzania w innych programach. Ten pakiet zawiera pliki nag³ówkowe i wszystko inne co potrzebne do tych celów. %description devel -l pt_BR O interpretador Python permite incluir com facilidade extensões carregadas dinamicamente. Python é também fácil de ser embutido em outros programas. Este pacote contém os arquivos de inclusão e bibliotecas necessários para estas duas tarefas. %description devel -l ru éÎÔÅÒÐÒÅÔÁÔÏÒ Python ÏÔÎÏÓÉÔÅÌØÎÏ ÌÅÇËÏ ÒÁÓÛÉÒÑÅÔÓÑ ÐÒÉ ÐÏÍÏÝÉ ÄÉÎÁÍÉÞÅÓËÉ ÚÁÇÒÕÖÁÅÍÙÈ ÒÁÓÛÉÒÅÎÉÊ É ×ÓÔÒÁÉ×ÁÅÔÓÑ × ÄÒÕÇÉÅ ÐÒÏÇÒÁÍÍÙ. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÏÂÅÉÈ ÜÔÉÈ ÚÁÄÁÞ. %description devel -l tr Bu paket, Python ile geliþtirme yapýlabilmesi için gerekli baþlýk dosyalarýný ve kitaplýklarý içerir. %description devel -l uk ¶ÎÔÅÒÐÒÅÔÁÔÏÒ Python צÄÎÏÓÎÏ ÌÅÇËÏ ÒÏÚÛÉÒÀ¤ÔØÓÑ ÚÁ ÄÏÐÏÍÏÇÏÀ ÒÏÚÛÉÒÅÎØ Ú ÄÉÎÁͦÞÎÏÀ ÚÁÇÒÕÚËÏÀ ÔÁ ×ÂÕÄÏ×Õ¤ÔØÓÑ × ¦ÎÛ¦ ÐÒÏÇÒÁÍÉ. ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÏÂÏÈ ÃÉÈ ÚÁÄÁÞ. %package devel-src Summary: Python module sources Summary(pl): Pliki ¼ród³owe modu³ów Pythona Group: Development/Languages/Python Requires: %{name}-modules = %{epoch}:%{version}-%{release} %description devel-src Python module sources. %description devel-src -l pl Pliki ¼ród³owe modu³ów Pythona. %package devel-tools Summary: Python development tools Summary(pl): Narzêdzia programistyczne jêzyka Python Group: Development/Languages/Python Requires: %{name}-modules = %{epoch}:%{version}-%{release} %description devel-tools Python development tools such as profilers and debugger. %description devel-tools -l pl Narzêdzia programistyczne jêzyka Python takie jak profiler oraz debugger. %package static Summary: Static python library Summary(pl): Statyczna biblioteka Pythona Group: Development/Languages/Python Requires: %{name}-devel = %{epoch}:%{version}-%{release} %description static Static python library. %description static -l pl Statyczna biblioteka Pythona. %package doc Summary: Documentation on Python Summary(de): Dokumentation zu Python Summary(es): Documentación para Python Summary(fr): Documentation sur Python Summary(pl): Dokumentacja do Pythona Summary(pt_BR): Documentação para a linguagem de programação Python Summary(ru): äÏËÕÍÅÎÔÁÃÉÑ ÐÏ ÑÚÙËÕ Python Summary(tr): Python belgeleri Summary(uk): äÏËÕÍÅÎÔÁÃ¦Ñ ÐÏ ÍÏצ Python Group: Documentation Obsoletes: python-docs %description doc This package contains documentation on the Python language and interpretor as a mix of plain ASCII files and LaTeX sources. %description doc -l de Dieses Paket enthält Dokumentationen zu Python (Sprache und Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen. %description doc -l es Documentación para Python. Contiene archivos en texto y PostScript. %description doc -l fr Ce paquetage contient la documentation sur le langage python et sur son interpréteur sous forme de fichiers ASCII et LaTeX. %description doc -l pl Oficjalna dokumentacja do Pythona. Zawiera przyk³adowe programy, narzêdzia i dokumentacjê. Strony podrêcznika man znajduj± siê w g³ównym pakiecie. Ten pakiet nie zawiera ¼róde³ dokumentacji napisanych w LaTeXu, tylko gotowe do wykorzystania pliki postscriptowe i HTML. %description doc -l pt_BR O pacote python-doc contém documentação para a linguagem de programação e para o interpretador Python. Fornecida em arquivos texto e Postcript. %description doc -l ru üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÄÏËÕÍÅÎÔÁÃÉÀ ÐÏ ÓÏÂÓÔ×ÅÎÎÏ ÑÚÙËÕ Python É ÐÏ ÉÓÐÏÌÎÑÀÝÅÍÕ ÅÇÏ ÉÎÔÅÒÐÒÅÔÁÔÏÒÕ × ×ÉÄÅ ÎÁÂÏÒÁ ÔÅËÓÔÏ×ÙÈ ÆÁÊÌÏ× É ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× × ÆÏÒÍÁÔÅ LaTeX. %description doc -l tr Bu paket, Python dili ile ilgili belgeleri ve düz ASCII dosyalarý ve LaTeX kaynaklarýnýn bir karýþýmý olan yorumlayýcýyý içerir. %description doc -l uk ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÄÏËÕÍÅÎÔÁæÀ ÐÏ ×ÌÁÓÎÅ ÍÏצ Python ÔÁ ÐÏ ×ÉËÏÎÕÀÞÏÍÕ §§ ¦ÎÔÅÒÐÒÅÔÁÔÏÒÕ Õ ×ÉÇÌÑĦ ÎÁÂÏÒÁ ÔÅËÓÔÏ×ÉÈ ÆÁÊÌ¦× ÔÁ ×ÉȦÄÎÉÈ ÔÅËÓÔ¦× Õ ÆÏÒÍÁÔ¦ LaTeX. %package doc-info Summary: Documentation on Python in texinfo format Summary(pl): Dokumentacja do Pythona w formacie texinfo Group: Documentation %description doc-info Documentation on Python in texinfo format. %description doc-info -l pl Dokumentacja do Pythona w formacie texinfo. %package tkinter Summary: Standard Python interface to the Tk GUI toolkit Summary(de): Grafische Tk-Schnittstelle für Python Summary(es): Interfaz de GUI Tk para Python Summary(fr): Interface graphique Tk pour Python Summary(pl): Standardowy interfejs Pythona do biblioteki Tk Summary(pt_BR): Interface GUI Tk para Phyton Summary(tr): Python için grafik kullanýcý arayüzü Group: Libraries/Python Requires: %{name}-modules = %{epoch}:%{version}-%{release} Requires: tcl >= 8.4.3 Requires: tix >= 1:8.1.4-4 Requires: tk >= 8.4.3 Obsoletes: tkinter %description tkinter Standard Python interface to the Tk GUI toolkit. %description tkinter -l de Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von vielen Konfigurations-Tools genutzt. %description tkinter -l es Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas herramientas de configuración. %description tkinter -l fr Interface graphique pour Python, basée sur Tcl/Tk et utilisée par beaucoup des outils de configuration. %description tkinter -l pl Standardowy interfejs Pythona do biblioteki Tk. %description tkinter -l pt_BR Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por muitas ferramentas de configuração. %description tkinter -l ru çÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ (GUI) ÄÌÑ Python, ÐÏÓÔÒÏÅÎÎÙÊ ÎÁ Tcl/Tk. %description tkinter -l tr Python için Tcl/Tk'ye dayalý ve pek çok ayarlama aracý tarafýndan kullanýlan grafik bir arayüzdür. %description tkinter -l uk çÒÁƦÞÎÉÊ ¦ÎÔÅÒÆÅÊÓ (GUI) ÄÌÑ Python, ÐÏÂÕÄÏ×ÁÎÉÊ ÎÁ Tcl/Tk. %package old Summary: Deprecated Python modules Summary(pl): Nieaktualne modu³y jêzyka Python Group: Libraries/Python Requires: %{name}-modules = %{epoch}:%{version}-%{release} %description old Install this package when one of your program written in Python is old as Miss Universum of 1918, who only you want to see... ooops, which only you want to run. %description old -l pl Zainstaluj ten pakiet, wtedy kiedy jeden z Twoich programów napisanych w jêzyku Python jest tak stary jak Miss Universum z roku 1918, któr± tylko ty chcesz zobaczyæ... przepraszam, który tylko ty chcesz uruchomiæ. %package examples Summary: Example programs in Python Summary(pl): Przyk³adowe programy w Pythonie Group: Development/Languages/Python Obsoletes: python-tools %description examples Example programs in Python. These are for Python 2.3.4, not %{version}. %description examples -l pl Przyk³adowe programy w Pythonie. Przyk³ady te s± dla Pythona 2.3.4, nie %{version}. %prep %setup -q -n Python-%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch5 -p1 %patch4 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 tar -xf %{SOURCE1} --use=bzip2 %build sed -i -e 's#-ltermcap#-ltinfo#g' configure* %{__autoconf} CPPFLAGS="-I/usr/include/ncurses"; export CPPFLAGS %configure \ --with-threads \ --with-cxx="%{__cxx}" \ --enable-unicode=ucs4 \ --enable-shared \ LINKCC='$(PURIFY) $(CXX)' %{__make} \ OPT="%{rpmcflags}" LC_ALL=C export LC_ALL %if %{with tests} binlibdir=`echo build/lib.*` %{__make} test \ TESTOPTS="%{test_flags} %{test_list}" \ TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:$binlibdir ./python -tt" %endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \ $RPM_BUILD_ROOT{%{py_sitedir},%{_mandir}/man1} \ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ $RPM_BUILD_ROOT%{_infodir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT %{__make} -C Doc/info install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir} install Makefile.pre.in $RPM_BUILD_ROOT%{py_libdir}/config mv $RPM_BUILD_ROOT{%{py_libdir}/config,%{_libdir}}/libpython%{py_ver}.a ln -sf libpython%{py_ver}.a $RPM_BUILD_ROOT%{_libdir}/libpython.a ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython.so ln -sf libpython%{py_ver}.so.1.0 $RPM_BUILD_ROOT%{_libdir}/libpython%{py_ver}.so rm -f $RPM_BUILD_ROOT%{_bindir}/python%{py_ver} install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} cp -ar Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} SCRIPT_EXT=".py" export SCRIPT_EXT # create several useful scripts, such as timeit.py, profile.py, pdb.py, smtpd.py for script in timeit profile pdb pstats smtpd; do cat < $RPM_BUILD_ROOT%{_bindir}/${script}$SCRIPT_EXT #!/bin/sh exec %{_bindir}/python %{py_scriptdir}/${script}.pyc \${1:+"\$@"} END done # xgettext specific for Python code install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext$SCRIPT_EXT # just to cut the noise, as they are not packaged (now) rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/test rm -f $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen %clean rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %post doc-info [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 %postun doc-info [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 %files %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/python %{_mandir}/man1/* %files modules %defattr(644,root,root,755) %exclude %{py_scriptdir}/UserDict.py[co] %exclude %{py_scriptdir}/codecs.py[co] %exclude %{py_scriptdir}/copy_reg.py[co] %exclude %{py_scriptdir}/locale.py[co] %exclude %{py_scriptdir}/posixpath.py[co] %exclude %{py_scriptdir}/pdb.py[co] %exclude %{py_scriptdir}/profile.py[co] %exclude %{py_scriptdir}/pstats.py[co] %exclude %{py_scriptdir}/pydoc.py[co] %exclude %{py_scriptdir}/site.py[co] %exclude %{py_scriptdir}/stat.py[co] %exclude %{py_scriptdir}/timeit.py[co] %exclude %{py_scriptdir}/os.py[co] %exclude %{py_scriptdir}/encodings/*.py[co] %exclude %{py_scriptdir}/types.py[co] %{py_scriptdir}/*.py[co] # # list .so modules to be sure that all of them are built # # three modules below does not work on 64-bit architectures # see Python README file for explanation %ifnarch alpha ia64 ppc64 sparc64 %{x8664} %attr(755,root,root) %{py_dyndir}/audioop.so %attr(755,root,root) %{py_dyndir}/rgbimg.so %attr(755,root,root) %{py_dyndir}/imageop.so # sizeof(long) != sizeof(int), so dl module will not be built on 64-bit # platforms %attr(755,root,root) %{py_dyndir}/dl.so %endif %attr(755,root,root) %{py_dyndir}/_bisect.so %attr(755,root,root) %{py_dyndir}/_bsddb.so %attr(755,root,root) %{py_dyndir}/_codecs_cn.so %attr(755,root,root) %{py_dyndir}/_codecs_hk.so %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.so %attr(755,root,root) %{py_dyndir}/_codecs_jp.so %attr(755,root,root) %{py_dyndir}/_codecs_kr.so %attr(755,root,root) %{py_dyndir}/_codecs_tw.so %attr(755,root,root) %{py_dyndir}/_csv.so %attr(755,root,root) %{py_dyndir}/_curses.so %attr(755,root,root) %{py_dyndir}/_curses_panel.so %attr(755,root,root) %{py_dyndir}/_heapq.so %attr(755,root,root) %{py_dyndir}/_locale.so %attr(755,root,root) %{py_dyndir}/_multibytecodec.so %attr(755,root,root) %{py_dyndir}/_random.so %attr(755,root,root) %{py_dyndir}/_socket.so %attr(755,root,root) %{py_dyndir}/_ssl.so %attr(755,root,root) %{py_dyndir}/_testcapi.so %attr(755,root,root) %{py_dyndir}/_weakref.so %attr(755,root,root) %{py_dyndir}/array.so %attr(755,root,root) %{py_dyndir}/binascii.so %attr(755,root,root) %{py_dyndir}/bz2.so %attr(755,root,root) %{py_dyndir}/cPickle.so %attr(755,root,root) %{py_dyndir}/cStringIO.so %attr(755,root,root) %{py_dyndir}/cmath.so %attr(755,root,root) %{py_dyndir}/collections.so %attr(755,root,root) %{py_dyndir}/crypt.so %attr(755,root,root) %{py_dyndir}/datetime.so %ifnarch sparc64 %attr(755,root,root) %{py_dyndir}/dbm.so %endif %attr(755,root,root) %{py_dyndir}/fcntl.so %attr(755,root,root) %{py_dyndir}/gdbm.so %attr(755,root,root) %{py_dyndir}/grp.so %attr(755,root,root) %{py_dyndir}/itertools.so %attr(755,root,root) %{py_dyndir}/linuxaudiodev.so %attr(755,root,root) %{py_dyndir}/math.so %attr(755,root,root) %{py_dyndir}/md5.so %attr(755,root,root) %{py_dyndir}/mmap.so %attr(755,root,root) %{py_dyndir}/nis.so %attr(755,root,root) %{py_dyndir}/operator.so %attr(755,root,root) %{py_dyndir}/ossaudiodev.so %attr(755,root,root) %{py_dyndir}/parser.so %attr(755,root,root) %{py_dyndir}/pwd.so %attr(755,root,root) %{py_dyndir}/pyexpat.so %attr(755,root,root) %{py_dyndir}/readline.so %attr(755,root,root) %{py_dyndir}/regex.so %attr(755,root,root) %{py_dyndir}/resource.so %attr(755,root,root) %{py_dyndir}/select.so %attr(755,root,root) %{py_dyndir}/sha.so %attr(755,root,root) %{py_dyndir}/strop.so %attr(755,root,root) %{py_dyndir}/syslog.so %attr(755,root,root) %{py_dyndir}/termios.so %attr(755,root,root) %{py_dyndir}/time.so %attr(755,root,root) %{py_dyndir}/timing.so %attr(755,root,root) %{py_dyndir}/unicodedata.so %attr(755,root,root) %{py_dyndir}/zlib.so %dir %{py_scriptdir}/plat-* %{py_scriptdir}/plat-*/*.py[co] %dir %{py_scriptdir}/bsddb %{py_scriptdir}/bsddb/*.py[co] %dir %{py_scriptdir}/compiler %{py_scriptdir}/compiler/*.py[co] %dir %{py_scriptdir}/curses %{py_scriptdir}/curses/*.py[co] %dir %{py_scriptdir}/distutils %{py_scriptdir}/distutils/*.py[co] %dir %{py_scriptdir}/distutils/command %{py_scriptdir}/distutils/command/*.py[co] %dir %{py_scriptdir}/email %{py_scriptdir}/email/*.py[co] %dir %{py_scriptdir}/logging %{py_scriptdir}/logging/*.py[co] %dir %{py_scriptdir}/xml %{py_scriptdir}/xml/*.py[co] %dir %{py_scriptdir}/xml/parsers %{py_scriptdir}/xml/parsers/*.py[co] %dir %{py_scriptdir}/xml/sax %{py_scriptdir}/xml/sax/*.py[co] %dir %{py_scriptdir}/xml/dom %{py_scriptdir}/xml/dom/*.py[co] %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libpython*.so.* %dir %{py_dyndir} %dir %{py_scriptdir} %dir %{py_libdir} %dir %{py_sitescriptdir} %dir %{py_sitedir} # shared modules required by python library %attr(755,root,root) %{py_dyndir}/struct.so # modules required by python library %{py_scriptdir}/UserDict.py[co] %{py_scriptdir}/codecs.py[co] %{py_scriptdir}/copy_reg.py[co] %{py_scriptdir}/locale.py[co] %{py_scriptdir}/posixpath.py[co] %{py_scriptdir}/site.py[co] %{py_scriptdir}/stat.py[co] %{py_scriptdir}/os.py[co] # needed by the dynamic sys.lib patch %{py_scriptdir}/types.py[co] # encodings required by python library %dir %{py_scriptdir}/encodings %{py_scriptdir}/encodings/*.py[co] %files -n pydoc %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/pydoc %{py_scriptdir}/pydoc.py[co] %files -n idle %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/idle %dir %{py_scriptdir}/idlelib %dir %{py_scriptdir}/idlelib/Icons %{py_scriptdir}/idlelib/*.py[co] %{py_scriptdir}/idlelib/Icons/* %{py_scriptdir}/idlelib/*.def %files devel %defattr(644,root,root,755) %doc Misc/{ACKS,NEWS,README} %attr(755,root,root) %{_libdir}/lib*.so %dir %{py_incdir} %{py_incdir}/*.h %dir %{py_libdir}/config %attr(755,root,root) %{py_libdir}/config/makesetup %attr(755,root,root) %{py_libdir}/config/install-sh %{py_libdir}/config/Makefile %{py_libdir}/config/Makefile.pre.in %{py_libdir}/config/Setup %{py_libdir}/config/Setup.config %{py_libdir}/config/Setup.local %{py_libdir}/config/config.c %{py_libdir}/config/config.c.in %{py_libdir}/config/ccpython.o %files devel-src %defattr(644,root,root,755) %attr(-,root,root) %{py_scriptdir}/*.py %{py_scriptdir}/plat-*/*.py %{py_scriptdir}/bsddb/*.py %{py_scriptdir}/compiler/*.py %{py_scriptdir}/curses/*.py %{py_scriptdir}/distutils/*.py %{py_scriptdir}/distutils/command/*.py %{py_scriptdir}/email/*.py %{py_scriptdir}/hotshot/*.py %{py_scriptdir}/logging/*.py %{py_scriptdir}/xml/*.py %{py_scriptdir}/xml/parsers/*.py %{py_scriptdir}/xml/sax/*.py %{py_scriptdir}/xml/dom/*.py %{py_scriptdir}/encodings/*.py %{py_scriptdir}/idlelib/*.py %files devel-tools %defattr(644,root,root,755) %doc Lib/profile.doc Lib/pdb.doc %attr(755,root,root) %{_bindir}/timeit* %attr(755,root,root) %{_bindir}/profile* %attr(755,root,root) %{_bindir}/pdb* %attr(755,root,root) %{_bindir}/pstats* %attr(755,root,root) %{_bindir}/pygettext* %attr(755,root,root) %{_bindir}/smtpd* %attr(755,root,root) %{py_dyndir}/_hotshot.so %dir %{py_scriptdir}/hotshot %{py_scriptdir}/hotshot/*.py[co] %{py_scriptdir}/pdb.py[co] %{py_scriptdir}/profile.py[co] %{py_scriptdir}/pstats.py[co] %{py_scriptdir}/timeit.py[co] %files static %defattr(644,root,root,755) %{_libdir}/lib*.a %files examples %defattr(644,root,root,755) %{_examplesdir}/%{name}-%{version} %files doc %defattr(644,root,root,755) %doc Python-Docs-%{version}/* %files doc-info %defattr(644,root,root,755) %{_infodir}/* %if %{with tkinter} %files tkinter %defattr(644,root,root,755) %{py_scriptdir}/lib-tk %attr(755,root,root) %{py_dyndir}/_tkinter.so %endif %files old %defattr(644,root,root,755) %dir %{py_scriptdir}/lib-old %{py_scriptdir}/lib-old/*.py[co]