]> git.pld-linux.org Git - packages/python3.git/blobdiff - python3.spec
- started to work on python 3.2 (merged DEVEL branch)
[packages/python3.git] / python3.spec
index e9e328957dfb7afa76722c3da091213c9f880757..ee5fc2d12528e4e74a715d4354ef02333a9b7b46 100644 (file)
@@ -1,3 +1,7 @@
+#
+# TODO:
+# - fix tests
+# - check unpackaged files
 
 # Conditional build:
 %bcond_with    info                    # info pages (requires emacs)
 # 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_httpservers
+%define                broken_tests test_httpservers test_distutils test_cmd_line test_pydoc test_telnetlib test_zlib
 
-%define        beta            %{nil}
+%define        beta            b1
 
-%define py_ver         3.0
+%define py_ver         3.2
 %define py_prefix      %{_prefix}
 %define py_libdir      %{py_prefix}/%{_lib}/python%{py_ver}
 %define py_incdir      %{_includedir}/python%{py_ver}
@@ -29,19 +33,19 @@ Summary(pt_BR.UTF-8):       Linguagem de programação interpretada de alto nível
 Summary(ru.UTF-8):     Язык программирования очень высокого уровня с X-интерфейсом
 Summary(tr.UTF-8):     X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
 Summary(uk.UTF-8):     Мова програмування дуже високого рівня з X-інтерфейсом
-Name:          python30
-Version:       %{py_ver}.1
-Release:       1
+Name:          python3
+Version:       %{py_ver}
+Release:       0.%{beta}.1
 Epoch:         1
 License:       PSF
 Group:         Applications
 Source0:       http://www.python.org/ftp/python/%{version}/Python-%{version}%{beta}.tar.bz2
-# Source0-md5: 7291eac6a9a7a3642e309c78b8d744e5
-Patch1:                %{name}-pythonpath.patch
-Patch2:                %{name}-no_ndbm.patch
-Patch3:                %{name}-ac_fixes.patch
-Patch4:                %{name}-lib64.patch
-Patch5:                %{name}-noarch_to_datadir.patch
+# Source0-md5: 3ad06a5b080d7b32958b4af2e44b64d3
+Patch0:                %{name}-pythonpath.patch
+Patch1:                %{name}-ac_fixes.patch
+Patch2:                %{name}-lib64.patch
+Patch3:                %{name}-noarch_to_datadir.patch
+Patch4:                %{name}-cast-fix.patch
 URL:           http://www.python.org/
 BuildRequires: autoconf
 BuildRequires: bluez-libs-devel
@@ -67,10 +71,13 @@ BuildRequires:      zlib-devel
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                specflags_ppc   -D__ppc__=1
+%define                specflags_ppc64 -D__ppc64__=1
+
 %if %{with verbose_tests}
 %define test_flags -v -l -x
 %else
-%define test_flags -l -x
+%define test_flags -w -l -x
 %endif
 
 %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
@@ -188,7 +195,7 @@ Group:              Libraries/Python
 Provides:      python(abi) = %{py_ver}
 # for compatibility with existing Ac packages
 Provides:      python(bytecode) = %{py_ver}
-%{!?with_info:Obsoletes:       python30-doc-info}
+%{!?with_info:Obsoletes:       python3-doc-info}
 
 %description libs
 Python shared library and very essental modules for Python binary.
@@ -202,6 +209,7 @@ Summary:    Python modules
 Summary(pl.UTF-8):     Moduły języka Python
 Group:         Libraries/Python
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
+Obsoletes:     python3-modules-sqlite
 
 %description modules
 Python officially distributed modules.
@@ -209,40 +217,28 @@ Python officially distributed modules.
 %description modules -l pl.UTF-8
 Oficjalnie rozprowadzane moduły języka Python.
 
-%package modules-sqlite
-Summary:       Python SQLite modules
-Summary(pl.UTF-8):     Moduły SQLite języka Python
-Group:         Libraries/Python
-Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
-
-%description modules-sqlite
-Python officially distributed sqlite module.
-
-%description modules-sqlite -l pl.UTF-8
-Oficjalnie rozprowadzany moduł sqlite języka Python.
-
-%package -n pydoc30
+%package -n pydoc3
 Summary:       Python interactive module documentation access support
 Summary(pl.UTF-8):     Interaktywne korzystanie z dokumentacji modułów języka Python
 Group:         Applications
 Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
-%description -n pydoc30
+%description -n pydoc3
 Python interactive module documentation access support.
 
-%description -n pydoc30 -l pl.UTF-8
+%description -n pydoc3 -l pl.UTF-8
 Interaktywne korzystanie z dokumentacji modułów języka Python.
 
-%package -n idle30
+%package -n idle3
 Summary:       IDE for Python language
 Summary(pl.UTF-8):     IDE dla języka Python
 Group:         Applications
 Requires:      %{name}-tkinter = %{epoch}:%{version}-%{release}
 
-%description -n idle30
+%description -n idle3
 IDE for Python language.
 
-%description -n idle30 -l pl.UTF-8
+%description -n idle3 -l pl.UTF-8
 IDE dla języka Python.
 
 %package devel
@@ -359,59 +355,6 @@ Static python library.
 %description static -l pl.UTF-8
 Statyczna biblioteka Pythona.
 
-%package doc
-Summary:       Documentation on Python
-Summary(de.UTF-8):     Dokumentation zu Python
-Summary(es.UTF-8):     Documentación para Python
-Summary(fr.UTF-8):     Documentation sur Python
-Summary(pl.UTF-8):     Dokumentacja do Pythona
-Summary(pt_BR.UTF-8):  Documentação para a linguagem de programação Python
-Summary(ru.UTF-8):     Документация по языку Python
-Summary(tr.UTF-8):     Python belgeleri
-Summary(uk.UTF-8):     Документація по мові Python
-Group:         Documentation
-
-%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.UTF-8
-Dieses Paket enthält Dokumentationen zu Python (Sprache und
-Interpreter) in Form von einfachen ASCII-Dateien und LaTeX-Quellen.
-
-%description doc -l es.UTF-8
-Documentación para Python. Contiene archivos en texto y PostScript.
-
-%description doc -l fr.UTF-8
-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.UTF-8
-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.UTF-8
-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.UTF-8
-Этот пакет содержит документацию по собственно языку Python и по
-исполняющему его интерпретатору в виде набора текстовых файлов и
-исходных текстов в формате LaTeX.
-
-%description doc -l tr.UTF-8
-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.UTF-8
-Цей пакет містить документацію по власне мові Python та по виконуючому
-її інтерпретатору у вигляді набора текстових файлів та вихідних
-текстів у форматі LaTeX.
-
 %package doc-info
 Summary:       Documentation on Python in texinfo format
 Summary(pl.UTF-8):     Dokumentacja do Pythona w formacie texinfo
@@ -486,20 +429,21 @@ Przykłady te są dla Pythona 2.3.4, nie %{version}.
 
 %prep
 %setup -q -n Python-%{version}%{beta}
+%patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+#%patch2 -p1
+#%patch3 -p1
+#%patch4 -p1
 
 %build
 sed -i -e 's#-ltermcap#-ltinfo#g' configure*
 %{__autoconf}
-CPPFLAGS="-I/usr/include/ncursesw"; export CPPFLAGS
+CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags}"; export CPPFLAGS
 %configure \
        --with-cxx-main="%{__cxx}" \
        --enable-shared \
        --enable-ipv6 \
+       --with-dbmliborder=gdbm:bdb \
        --with-wide-unicode \
        --with-signal-module \
        --with-tsc \
@@ -507,13 +451,14 @@ CPPFLAGS="-I/usr/include/ncursesw"; export CPPFLAGS
        --with-doc-strings \
        --with-fpectl \
        --with-system-ffi \
+       --with-computed-gotos \
        LINKCC='$(PURIFY) $(CXX)' \
        LDSHARED='$(CC) $(CFLAGS) -shared' \
        BLDSHARED='$(CC) $(CFLAGS) -shared' \
        LDFLAGS="%{rpmcflags} %{rpmldflags}"
 
 %{__make} \
-       OPT="%{rpmcflags}" 2>&1 | awk '
+       OPT="%{rpmcflags} -fno-caller-saves" 2>&1 | awk '
 BEGIN { fail = 0; logmsg = ""; }
 {
         if ($0 ~ /\*\*\* WARNING:/) {
@@ -549,12 +494,6 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \
 install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
 %endif
 
-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%{py_ver}.so
-
 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 cp -a Tools Demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
@@ -590,10 +529,8 @@ sed 's/=/ /' \
 # pygettext.py is provided for compatibility
 install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
 
-# add py_ver
-for script in idle pydoc; do
-       mv $RPM_BUILD_ROOT%{_bindir}/${script} $RPM_BUILD_ROOT%{_bindir}/${script}%{py_ver}
-done
+# rename file conflicting with python 2.*
+mv $RPM_BUILD_ROOT%{_bindir}/2to3{,-%{py_ver}}
 
 # just to cut the noise, as they are not packaged (now)
 # first tests
@@ -605,6 +542,8 @@ rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/email/test
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/sqlite3/test
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/json/tests
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/lib2to3/tests
+rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/importlib/test
+rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/tkinter/test
 
 # other files
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
@@ -633,12 +572,19 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/python%{py_ver}
+%attr(755,root,root) %{_bindir}/python3
+%{_mandir}/man1/python*.1*
 
 %files modules
 %defattr(644,root,root,755)
 /etc/shrc.d/python*-modules*
+%exclude %{py_scriptdir}/_abcoll.py[co]
+%exclude %{py_scriptdir}/_weakrefset.py[co]
+%exclude %{py_scriptdir}/abc.py[co]
 %exclude %{py_scriptdir}/codecs.py[co]
 %exclude %{py_scriptdir}/copyreg.py[co]
+%exclude %{py_scriptdir}/genericpath.py[co]
+%exclude %{py_scriptdir}/io.py[co]
 %exclude %{py_scriptdir}/locale.py[co]
 %exclude %{py_scriptdir}/posixpath.py[co]
 %exclude %{py_scriptdir}/pdb.py[co]
@@ -687,11 +633,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_curses.so
 %attr(755,root,root) %{py_dyndir}/datetime.so
 %attr(755,root,root) %{py_dyndir}/_elementtree.so
-%attr(755,root,root) %{py_dyndir}/_functools.so
+#%attr(755,root,root) %{py_dyndir}/_functools.so
 %attr(755,root,root) %{py_dyndir}/_hashlib.so
 %attr(755,root,root) %{py_dyndir}/_heapq.so
 %attr(755,root,root) %{py_dyndir}/_json.so
-%attr(755,root,root) %{py_dyndir}/_locale.so
+#%attr(755,root,root) %{py_dyndir}/_locale.so
 %attr(755,root,root) %{py_dyndir}/_lsprof.so
 %attr(755,root,root) %{py_dyndir}/_multibytecodec.so
 %attr(755,root,root) %{py_dyndir}/_multiprocessing.so
@@ -758,6 +704,9 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py_scriptdir}/http
 %{py_scriptdir}/http/*.py[co]
 
+%dir %{py_scriptdir}/importlib
+%{py_scriptdir}/importlib/*.py[co]
+
 %dir %{py_scriptdir}/json
 %{py_scriptdir}/json/*.py[co]
 
@@ -790,8 +739,6 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py_scriptdir}/xmlrpc
 %{py_scriptdir}/xmlrpc/*.py[co]
 
-%files modules-sqlite
-%defattr(644,root,root,755)
 %attr(755,root,root) %{py_dyndir}/_sqlite3.so
 %dir %{py_scriptdir}/sqlite3
 %{py_scriptdir}/sqlite3/*.py[co]
@@ -811,9 +758,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_struct.so
 
 # modules required by python library
+%{py_scriptdir}/_abcoll.py[co]
+%{py_scriptdir}/_weakrefset.py[co]
+%{py_scriptdir}/abc.py[co]
 %{py_scriptdir}/codecs.py[co]
 %{py_scriptdir}/copyreg.py[co]
+%{py_scriptdir}/genericpath.py[co]
 %{py_scriptdir}/locale.py[co]
+%{py_scriptdir}/io.py[co]
 %{py_scriptdir}/posixpath.py[co]
 %{py_scriptdir}/site.py[co]
 %{py_scriptdir}/stat.py[co]
@@ -825,14 +777,16 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py_scriptdir}/encodings
 %{py_scriptdir}/encodings/*.py[co]
 
-%files -n pydoc30
+%files -n pydoc3
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/pydoc%{py_ver}
+%attr(755,root,root) %{_bindir}/pydoc3
 %{py_scriptdir}/pydoc.py[co]
+%dir %{py_scriptdir}/pydoc_data
+%{py_scriptdir}/pydoc_data/*.py[co]
 
-%files -n idle30
+%files -n idle3
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/idle%{py_ver}
+%attr(755,root,root) %{_bindir}/idle3
 %dir %{py_scriptdir}/idlelib
 %dir %{py_scriptdir}/idlelib/Icons
 %{py_scriptdir}/idlelib/*.py[co]
@@ -844,10 +798,11 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
-%attr(755,root,root) %{_bindir}/python%{py_ver}-config
+%attr(755,root,root) %{_bindir}/python*-config
 %attr(755,root,root) %{_libdir}/lib*.so
 %dir %{py_incdir}
 %{py_incdir}/*.h
+%{_pkgconfigdir}/python*.pc
 
 %dir %{py_libdir}/config
 %attr(755,root,root) %{py_libdir}/config/makesetup
@@ -873,27 +828,28 @@ rm -rf $RPM_BUILD_ROOT
 %{py_scriptdir}/distutils/command/*.py
 %{py_scriptdir}/email/*.py
 %{py_scriptdir}/email/mime/*.py
+%{py_scriptdir}/encodings/*.py
 %{py_scriptdir}/html/*.py
 %{py_scriptdir}/http/*.py
+%{py_scriptdir}/idlelib/*.py
+%{py_scriptdir}/importlib/*.py
 %{py_scriptdir}/json/*.py
 %{py_scriptdir}/lib2to3/*.py
-%{py_scriptdir}/lib2to3/fixes/*.py
 %{py_scriptdir}/lib2to3/pgen2/*.py
 %{py_scriptdir}/logging/*.py
 %{py_scriptdir}/multiprocessing/*.py
 %{py_scriptdir}/multiprocessing/dummy/*.py
+%{py_scriptdir}/pydoc_data/*.py
 %{py_scriptdir}/sqlite3/*.py
+%{py_scriptdir}/tkinter/*.py
 %{py_scriptdir}/urllib/*.py
 %{py_scriptdir}/wsgiref/*.py
-%{py_scriptdir}/tkinter/*.py
 %{py_scriptdir}/xml/*.py
 %{py_scriptdir}/xml/dom/*.py
 %{py_scriptdir}/xml/etree/*.py
 %{py_scriptdir}/xml/parsers/*.py
 %{py_scriptdir}/xml/sax/*.py
 %{py_scriptdir}/xmlrpc/*.py
-%{py_scriptdir}/encodings/*.py
-%{py_scriptdir}/idlelib/*.py
 
 %files devel-tools
 %defattr(644,root,root,755)
@@ -908,12 +864,13 @@ rm -rf $RPM_BUILD_ROOT
 %{py_scriptdir}/timeit.py[co]
 
 %files 2to3
-%attr(755,root,root) %{_bindir}/2to3
+%attr(755,root,root) %{_bindir}/2to3-%{py_ver}
 %dir %{py_scriptdir}/lib2to3
 %{py_scriptdir}/lib2to3/*.txt
 %{py_scriptdir}/lib2to3/*.pickle
 %{py_scriptdir}/lib2to3/*.py[co]
 %dir %{py_scriptdir}/lib2to3/fixes
+%{py_scriptdir}/lib2to3/fixes/*.py
 %{py_scriptdir}/lib2to3/fixes/*.py[co]
 %dir %{py_scriptdir}/lib2to3/pgen2
 %{py_scriptdir}/lib2to3/pgen2/*.py[co]
This page took 0.754961 seconds and 4 git commands to generate.