]> 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 765d64eaacfa24267df1e5a9e2bbb30aa53e7001..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:       0.2
+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
@@ -257,7 +253,6 @@ Summary(tr.UTF-8):  Python ile geliştirme yapmak için gerekli dosyalar
 Summary(uk.UTF-8):     Бібліотеки та хедери для програмування на мові Python
 Group:         Development/Languages/Python
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
-Obsoletes:     python-devel
 
 %description devel
 The Python interpreter is relatively easy to extend with dynamically
@@ -335,6 +330,19 @@ Python development tools such as profilers and debugger.
 Narzędzia programistyczne języka Python takie jak profiler oraz
 debugger.
 
+%package 2to3
+Summary:       Automated Python 2 to 3 code translation
+Summary(pl.UTF-8):     Automatyczne tłumaczenie kody Pythona 2 do 3
+Group:         Development/Languages/Pythona
+
+%description 2to3
+2to3 is a Python program that reads Python 2.x source code and applies a series
+of fixers to transform it into valid Python 3.x code. The standard library
+contains a rich set of fixers that will handle almost all code. 2to3 supporting
+library lib2to3 is, however, a flexible and generic library, so it is possible
+to write your own fixers for 2to3. lib2to3 could also be adapted to custom
+applications in which Python code needs to be edited automatically.
+
 %package static
 Summary:       Static python library
 Summary(pl.UTF-8):     Statyczna biblioteka Pythona
@@ -347,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
@@ -474,20 +429,21 @@ Przykłady te są dla Pythona 2.3.4, nie %{version}.
 
 %prep
 %setup -q -n Python-%{version}%{beta}
-#patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%patch0 -p1
+%patch1 -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 \
@@ -495,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:/) {
@@ -537,13 +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.so
-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}
 
@@ -579,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
@@ -594,12 +542,17 @@ 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
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
+rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
+rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
+rm -rf $RPM_BUILD_ROOT%{_bindir}/smtpd.py
 # already in %%doc
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/pdb.doc
 rm -rf $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
@@ -619,13 +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}/2to3
+%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]
@@ -647,15 +606,10 @@ rm -rf $RPM_BUILD_ROOT
 # list .so modules to be sure that all of them are built
 #
 
-# three modules below do not work on 64-bit architectures
+# modules below do 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}/array.so
@@ -679,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
@@ -750,18 +704,12 @@ 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]
 
-%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[co]
-%dir %{py_scriptdir}/lib2to3/pgen2
-%{py_scriptdir}/lib2to3/pgen2/*.py[co]
-
 %dir %{py_scriptdir}/logging
 %{py_scriptdir}/logging/*.py[co]
 
@@ -791,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]
@@ -812,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]
@@ -826,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]
@@ -845,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
@@ -874,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,6 +863,18 @@ rm -rf $RPM_BUILD_ROOT
 %{py_scriptdir}/pstats.py[co]
 %{py_scriptdir}/timeit.py[co]
 
+%files 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]
+
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
This page took 0.04504 seconds and 4 git commands to generate.