Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
Name: python3
-Version: %{py_ver}.2
-Release: 4
+Version: %{py_ver}.3
+Release: 5
Epoch: 1
License: PSF
Group: Applications
Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5: 3720ce9460597e49264bbb63b48b946d
+# Source0-md5: 187564726f2c1473d301c586acc24847
Patch0: %{name}-pythonpath.patch
Patch1: %{name}-ac_fixes.patch
Patch2: %{name}-lib64.patch
Patch3: %{name}-noarch_to_datadir.patch
-Patch4: %{name}-bug11254.patch
-Patch5: %{name}-no_cmdline_tests.patch
+Patch4: %{name}-no_cmdline_tests.patch
+Patch5: %{name}-makefile-location.patch
+Patch6: libc-cloexec.patch
URL: http://www.python.org/
BuildRequires: autoconf >= 2.65
BuildRequires: bluez-libs-devel
BuildRequires: libffi-devel
BuildRequires: libstdc++-devel
BuildRequires: ncurses-ext-devel >= 5.2
-BuildRequires: openssl-devel >= 0.9.8
+BuildRequires: openssl-devel >= 0.9.7
BuildRequires: readline-devel >= 5.0
BuildRequires: rpm-pythonprov
BuildRequires: sed >= 4.0
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+
+%{__rm} -r Modules/zlib
+%{__rm} -r Modules/expat
+
+for SUBDIR in darwin libffi libffi_arm_wince libffi_msvc libffi_osx; do
+ %{__rm} -r Modules/_ctypes/$SUBDIR
+done
+
+files="md5module.c sha1module.c"
+%if !0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
+files="$files sha256module.c sha512module.c"
+%endif
+for f in $files; do
+ %{__rm} Modules/$f
+done
%build
+if false && ! grep -q "tmpfs" /proc/self/mounts; then
+ echo "You need to have /dev/shm mounted in order to build this package!" >&2
+ echo "(Or any other tmpfs mounted and accessible to the rpmbuild process)" >&2
+ exit 1
+fi
+
%{__autoconf}
CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags}"; export CPPFLAGS
%configure \
+ ac_cv_posix_semaphores_enabled=yes \
+ ac_cv_broken_sem_getvalue=no \
--with-cxx-main="%{__cxx}" \
--enable-shared \
--enable-ipv6 \
--with-dbmliborder=gdbm:bdb \
--with-wide-unicode \
--with-signal-module \
+%ifarch %{ix86} %{x8664} ppc ppc64
--with-tsc \
+%endif
--with-threads \
--with-doc-strings \
--with-fpectl \
+ --with-system-expat \
--with-system-ffi \
--with-computed-gotos \
LINKCC='$(PURIFY) $(CXX)' \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} \
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
$RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
$RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \
%if %{with info}
%{__make} -C Doc/info
-install Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
+cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
%endif
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
# for python devel tools
for script in timeit profile pdb pstats; do
- echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
+ echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
-echo alias pygettext%{py_ver}.py='"pygettext%{py_ver}"' \
+echo "alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \
>> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
sed 's/=/ /' \
# for python modules
for script in smtpd webbrowser; do
- echo alias ${script}%{py_ver}.py=\"python%{py_ver} -m ${script}\"
+ echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
sed 's/=/ /' \
# we will have two commands: pygettext.py (an alias) and pygettext;
# this way there are no import (which is impossible now) conflicts and
# pygettext.py is provided for compatibility
-install Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
+install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
# just to cut the noise, as they are not packaged (now)
# first tests (probably could be packaged)
%attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
+
+# for openssl < 0.9.8 package sha256 and sha512 modules
+%if 0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
+%attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
+%endif
+
%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
%attr(755,root,root) %{py_dyndir}/atexit.cpython-*.so
%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
%{py_libdir}/config-%{py_abi}/config.c.in
%{py_libdir}/config-%{py_abi}/python.o
%{_pkgconfigdir}/python-%{py_ver}.pc
+%{_pkgconfigdir}/python-%{py_abi}.pc
+%{_pkgconfigdir}/python3.pc
%files devel-tools
%defattr(644,root,root,755)