diff --git a/006-always-log-stdout.patch b/006-always-log-stdout.patch index 2df1f00..5d49335 100644 --- a/006-always-log-stdout.patch +++ b/006-always-log-stdout.patch @@ -1,6 +1,7 @@ ---- pypy-pypy-341e1e3821ff/pypy/translator/platform/__init__.py.always_log_stdout 2012-07-06 11:13:46.878979461 -0400 -+++ pypy-pypy-341e1e3821ff/pypy/translator/platform/__init__.py 2012-07-06 11:25:26.281235732 -0400 -@@ -126,6 +126,8 @@ class Platform(object): +diff -rup pypy-pypy-f66246c46ca3/rpython/translator/platform/__init__.py pypy-pypy-f66246c46ca3/rpython/translator/platform/__init__.py +--- pypy-pypy-f66246c46ca3/rpython/translator/platform/__init__.py 2013-05-27 10:35:37.680237338 +0200 ++++ pypy-pypy-f66246c46ca3/rpython/translator/platform/__init__.py 2013-05-27 10:41:04.113098738 +0200 +@@ -138,6 +138,8 @@ class Platform(object): self._handle_error(returncode, stdout, stderr, outname) def _handle_error(self, returncode, stdout, stderr, outname): diff --git a/007-remove-startup-message.patch b/007-remove-startup-message.patch index e05586b..1dddb69 100644 --- a/007-remove-startup-message.patch +++ b/007-remove-startup-message.patch @@ -1,21 +1,12 @@ ---- pypy-pypy-341e1e3821ff/lib_pypy/_pypy_interact.py.remove_startup_message 2012-07-06 12:10:46.504228264 -0400 -+++ pypy-pypy-341e1e3821ff/lib_pypy/_pypy_interact.py 2012-07-06 12:11:01.986034714 -0400 -@@ -13,18 +13,6 @@ def interactive_console(mainmodule=None) - sys.ps2 = '.... ' - # - try: -- from _pypy_irc_topic import some_topic -- text = "And now for something completely different: ``%s''" % ( -- some_topic(),) -- while len(text) >= 80: -- i = text[:80].rfind(' ') -- print text[:i] -- text = text[i+1:] -- print text -- except ImportError: -- pass -- # -- try: - if not os.isatty(sys.stdin.fileno()): - # Bail out if stdin is not tty-like, as pyrepl wouldn't be happy - # For example, with: +diff -rup pypy-pypy-f66246c46ca3/lib_pypy/_pypy_interact.py pypy-pypy-f66246c46ca3/lib_pypy/_pypy_interact.py +--- pypy-pypy-f66246c46ca3/lib_pypy/_pypy_interact.py 2013-05-27 10:35:37.612236951 +0200 ++++ pypy-pypy-f66246c46ca3/lib_pypy/_pypy_interact.py 2013-05-27 10:37:25.602852747 +0200 +@@ -4,7 +4,7 @@ import sys + import os + + +-def interactive_console(mainmodule=None, quiet=False): ++def interactive_console(mainmodule=None, quiet=True): + # set sys.{ps1,ps2} just before invoking the interactive interpreter. This + # mimics what CPython does in pythonrun.c + if not hasattr(sys, 'ps1'): diff --git a/config.patch b/config.patch index a11f397..bf81d7d 100644 --- a/config.patch +++ b/config.patch @@ -1,7 +1,7 @@ -diff -up pypy-pypy-2346207d9946/pypy/translator/platform/linux.py.configure-fedora pypy-pypy-2346207d9946/pypy/translator/platform/linux.py ---- pypy-pypy-2346207d9946/pypy/translator/platform/linux.py.configure-fedora 2012-02-09 13:27:19.000000000 -0500 -+++ pypy-pypy-2346207d9946/pypy/translator/platform/linux.py 2012-02-10 09:06:20.393066016 -0500 -@@ -31,13 +31,14 @@ class BaseLinux(BasePosix): +diff -rup pypy-pypy-f66246c46ca3/rpython/translator/platform/linux.py pypy-pypy-f66246c46ca3/rpython/translator/platform/linux.py +--- pypy-pypy-f66246c46ca3/rpython/translator/platform/linux.py 2013-05-27 10:35:37.679237332 +0200 ++++ pypy-pypy-f66246c46ca3/rpython/translator/platform/linux.py 2013-05-27 10:47:41.506354482 +0200 +@@ -32,19 +32,20 @@ class BaseLinux(BasePosix): return self._pkg_config("libffi", "--libs-only-L", ['/usr/lib/libffi']) @@ -9,15 +9,27 @@ diff -up pypy-pypy-2346207d9946/pypy/translator/platform/linux.py.configure-fedo - # places where we need to look for libffi.a - # XXX obscuuure! only look for libffi.a if run with translate.py - if 'translate' in sys.modules: -- return self.library_dirs_for_libffi() + ['/usr/lib'] +- if sys.maxint > 2**32: +- host = 'x86_64' +- else: +- host = 'x86' +- return self.library_dirs_for_libffi() + [ +- '/usr/lib', +- '/usr/lib/%s-linux-gnu/' % host] - else: - return [] -+ # Fedora, at least, has the shared version but not the static: ++ #Fedora, at least, has the shared version but not the static: + #def library_dirs_for_libffi_a(self): + # # places where we need to look for libffi.a + # # XXX obscuuure! only look for libffi.a if run with translate.py + # if 'translate' in sys.modules: -+ # return self.library_dirs_for_libffi() + ['/usr/lib'] ++ # if sys.maxint > 2**32: ++ # host = 'x86_64' ++ # else: ++ # host = 'x86' ++ # return self.library_dirs_for_libffi() + [ ++ # '/usr/lib', ++ # '/usr/lib/%s-linux-gnu/' % host] + # else: + # return [] diff --git a/pypy-1.6-fix-test-subprocess-with-nonreadable-path-dir.patch b/pypy-1.6-fix-test-subprocess-with-nonreadable-path-dir.patch index 9071be5..2391f32 100644 --- a/pypy-1.6-fix-test-subprocess-with-nonreadable-path-dir.patch +++ b/pypy-1.6-fix-test-subprocess-with-nonreadable-path-dir.patch @@ -1,6 +1,7 @@ ---- pypy-pypy-2346207d9946/lib-python/2.7/test/test_subprocess.py.orig 2012-02-09 13:27:19.000000000 -0500 -+++ pypy-pypy-2346207d9946/lib-python/2.7/test/test_subprocess.py 2012-02-10 09:14:08.312216221 -0500 -@@ -570,7 +570,7 @@ class ProcessTestCase(BaseTestCase): +diff -rup pypy-pypy-f66246c46ca3/lib-python/2.7/test/test_subprocess.py pypy-pypy-f66246c46ca3/lib-python/2.7/test/test_subprocess.py +--- pypy-pypy-f66246c46ca3/lib-python/2.7/test/test_subprocess.py 2013-05-27 10:35:37.762237806 +0200 ++++ pypy-pypy-f66246c46ca3/lib-python/2.7/test/test_subprocess.py 2013-05-28 10:13:03.182536196 +0200 +@@ -587,7 +587,7 @@ class ProcessTestCase(BaseTestCase): for i in range(1024): # Windows raises IOError. Others raise OSError. with self.assertRaises(EnvironmentError) as c: diff --git a/pypy.spec b/pypy.spec index dbcbc8d..1ce9198 100644 --- a/pypy.spec +++ b/pypy.spec @@ -1,8 +1,8 @@ %global alphatag b1 Name: pypy -Version: 2.0 -Release: 0.2.%{alphatag}%{?dist} +Version: 2.0.2 +Release: 1%{?dist} Summary: Python implementation with a Just-In-Time compiler Group: Development/Languages @@ -123,7 +123,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %global pylibver 2.7 # We refer to this subdir of the source tree in a few places during the build: -%global goal_dir pypy/translator/goal +%global goal_dir pypy/goal # Turn off the brp-python-bytecompile postprocessing script @@ -132,7 +132,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') # Source and patches: -Source0: https://bitbucket.org/pypy/pypy/get/release-2.0-beta-1.tar.bz2 +Source0: https://bitbucket.org/pypy/pypy/get/release-2.0.2.tar.bz2 # Supply various useful RPM macros for building python modules against pypy: # __pypy, pypy_sitelib, pypy_sitearch @@ -177,21 +177,6 @@ Patch6: 006-always-log-stdout.patch # community that won't make sense outside of it). [Sorry to be a killjoy] Patch7: 007-remove-startup-message.patch -# With pypy-1.9-1.fc17.x86_64, the pypy binary exposes about 200k symbols to -# the dynamic linker: -# $ eu-readelf -s $(which pypy) | head -# Symbol table [ 5] '.dynsym' contains 194163 entries: -# which is far more than necessary. -# Fix the version script for the linker as invoked thus in the Makefile: -# "-Wl,--export-dynamic,--version-script=../dynamic-symbols-6" -# so that it contains a "local: *;" clause, thus hiding the bulk of the -# symbols from the dynamic linker. -# Ideally we'd add: -# __attribute__ ((visibility ("hidden"))) -# to most symbols, allowing the compiler to potentially generate better code. -# Not yet reported upstream -Patch8: 008-fix-dynamic-symbols-script.patch - # Build-time requirements: @@ -349,7 +334,7 @@ Build of PyPy with support for micro-threads for massive concurrency %prep -%setup -q -n pypy-pypy-07e08e9c885c +%setup -q -n pypy-pypy-f66246c46ca3 %patch0 -p1 -b .configure-fedora %patch1 -p1 -b .suppress-mandelbrot-set-during-tty-build @@ -389,7 +374,6 @@ Build of PyPy with support for micro-threads for massive concurrency %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 # Replace /usr/local/bin/python shebangs with /usr/bin/python: @@ -408,9 +392,7 @@ find . -path '*/.svn*' -delete # Remove DOS batch files: find -name "*.bat"|xargs rm -f -# The "demo" directory gets auto-installed by virture of being listed in %doc -# Remove shebang lines from demo .py files, and remove executability from them: -for f in demo/bpnn.py ; do +for f in rpython/translator/goal/bpnn.py ; do # Detect shebang lines && remove them: sed -e '/^#!/Q 0' -e 'Q 1' $f \ && sed -i '1d' $f @@ -522,15 +504,11 @@ BuildPyPy() { RPM_BUILD_ROOT= \ PYPY_USESSION_DIR=$(pwd) \ PYPY_USESSION_BASENAME=$ExeName \ - $INTERP translate.py \ -%if 0%{verbose_logs} - --translation-verbose \ -%endif - --cflags="$CFLAGS" \ - --batch \ + $INTERP ../../rpython/bin/rpython \ --output=$ExeName \ %{gcrootfinder_options} \ - $Options + $Options \ + targetpypystandalone echo "--------------------------------------------------------------" echo "--------------------------------------------------------------" @@ -559,7 +537,7 @@ BuildPyPy \ %endif %if %{with_emacs} -%{_emacs_bytecompile} pypy/jit/tool/pypytrace-mode.el +%{_emacs_bytecompile} rpython/jit/tool/pypytrace-mode.el %endif %install @@ -772,7 +750,7 @@ find \ # Install the JIT trace mode for Emacs: %if %{with_emacs} mkdir -p %{buildroot}/%{_emacs_sitelispdir} -cp -a pypy/jit/tool/pypytrace-mode.el* %{buildroot}/%{_emacs_sitelispdir} +cp -a rpython/jit/tool/pypytrace-mode.el* %{buildroot}/%{_emacs_sitelispdir} %endif # Install macros for rpm: @@ -908,7 +886,7 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(-,root,root,-) -%doc LICENSE README demo +%doc LICENSE README.rst %dir %{pypyprefix} %dir %{pypyprefix}/lib-python @@ -924,7 +902,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) -%doc LICENSE README +%doc LICENSE README.rst %{_bindir}/pypy %{pypyprefix}/pypy @@ -937,12 +915,15 @@ rm -rf $RPM_BUILD_ROOT %if 0%{with_stackless} %files stackless %defattr(-,root,root,-) -%doc LICENSE README +%doc LICENSE README.rst %{_bindir}/pypy-stackless %endif %changelog +* Mon Jun 24 2013 Matej Stuchlik - 2.0.2-1 +- 2.0.2, patch 8 does not seem necessary anymore + * Thu Feb 14 2013 Fedora Release Engineering - 2.0-0.2.b1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild