]> git.pld-linux.org Git - packages/python3.git/blobdiff - python3.spec
- release 2
[packages/python3.git] / python3.spec
index 78a7f2c2a5118f31f4daae1490413345224a717f..3ec45010d81f9a12f5f8a31a3299acec91f0c049 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 py_ver         3.0
+%define py_ver         3.1
 %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}.2
+Release:       2
 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: 45350b51b58a46b029fb06c61257e350
+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
@@ -66,12 +70,14 @@ BuildRequires:      sqlite3-devel >= 3.3.5
 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}
@@ -189,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.
@@ -203,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.
@@ -210,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
@@ -487,20 +482,22 @@ 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
+sed -i -e 's=@EXENAME@=%{_bindir}/python3=' Misc/python-config.in
 
 %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 \
@@ -508,13 +505,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:/) {
@@ -591,10 +589,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
@@ -606,6 +602,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
@@ -634,12 +632,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]
@@ -688,11 +693,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
@@ -759,6 +764,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]
 
@@ -791,8 +799,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 +818,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 +837,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 +858,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 +888,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)
@@ -909,12 +924,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.122044 seconds and 4 git commands to generate.