[packages/pypy] - rel 5; some sane patches from FC; set gcrootfinder to be shadowstack which is supposed to be most

arekm arekm at pld-linux.org
Wed Nov 14 17:31:45 CET 2012


commit d928d70a585a3891ab7857fab2c8a8c0d8e7d9f4
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Nov 14 17:31:41 2012 +0100

    - rel 5; some sane patches from FC; set gcrootfinder to be shadowstack which is supposed to be most sane

 006-always-log-stdout.patch                         | 11 +++++++++++
 007-remove-startup-message.patch                    | 21 +++++++++++++++++++++
 008-fix-dynamic-symbols-script.patch                | 15 +++++++++++++++
 ...2-suppress-mandelbrot-set-during-tty-build.patch | 13 +++++++++++++
 pypy.spec                                           | 16 ++++++++++++++--
 5 files changed, 74 insertions(+), 2 deletions(-)
---
diff --git a/pypy.spec b/pypy.spec
index f76b2f9..30e75e1 100644
--- a/pypy.spec
+++ b/pypy.spec
@@ -13,13 +13,17 @@
 Summary:	PyPy - a fast, alternative implementation of the Python language
 Name:		pypy
 Version:	1.9
-Release:	4
+Release:	5
 License:	distributable
 Group:		Development/Languages/Python
 Source0:	https://bitbucket.org/pypy/pypy/get/release-%{version}.tar.bz2
 # Source0-md5:	f92c0171a9578a3e4a0f74947ec596ab
 Patch0:		%{name}-curses.patch
 Patch1:		%{name}-cldflags.patch
+Patch2:		006-always-log-stdout.patch
+Patch3:		007-remove-startup-message.patch
+Patch4:		008-fix-dynamic-symbols-script.patch
+Patch5:		pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch
 URL:		http://pypy.org
 BuildRequires:	libffi-devel
 BuildRequires:	ncurses-devel
@@ -57,6 +61,10 @@ language (2.7.1). It has several advantages and distinct features:
 %setup -q -n %{name}-%{name}-341e1e3821ff
 %patch0 -p1
 # %patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 
@@ -64,7 +72,11 @@ cd pypy/translator/goal
 CC="%{__cc}" \
 CFLAGS="%{rpmcflags}" \
 LDFLAGS="%{rpmldflags}" \
-%{__python} translate.py -Ojit --make-jobs=1
+%{__python} translate.py \
+	-Ojit \
+	--make-jobs=1 \
+	--batch \
+	--gcrootfinder=shadowstack
 cd ../../..
 
 %if %{with tests}
diff --git a/006-always-log-stdout.patch b/006-always-log-stdout.patch
new file mode 100644
index 0000000..2df1f00
--- /dev/null
+++ b/006-always-log-stdout.patch
@@ -0,0 +1,11 @@
+--- 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):
+         self._handle_error(returncode, stdout, stderr, outname)
+ 
+     def _handle_error(self, returncode, stdout, stderr, outname):
++        for line in stdout.splitlines():
++            log.message(line)
+         if returncode != 0:
+             errorfile = outname.new(ext='errors')
+             errorfile.write(stderr, 'wb')
diff --git a/007-remove-startup-message.patch b/007-remove-startup-message.patch
new file mode 100644
index 0000000..e05586b
--- /dev/null
+++ b/007-remove-startup-message.patch
@@ -0,0 +1,21 @@
+--- 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 --git a/008-fix-dynamic-symbols-script.patch b/008-fix-dynamic-symbols-script.patch
new file mode 100644
index 0000000..5b1d551
--- /dev/null
+++ b/008-fix-dynamic-symbols-script.patch
@@ -0,0 +1,15 @@
+diff --git a/pypy/translator/platform/posix.py b/pypy/translator/platform/posix.py
+--- a/pypy/translator/platform/posix.py
++++ b/pypy/translator/platform/posix.py
+@@ -48,8 +48,10 @@
+         response_file = self._make_response_file("dynamic-symbols-")
+         f = response_file.open("w")
+         f.write("{\n")
++        f.write("  global:\n")
+         for sym in eci.export_symbols:
+-            f.write("%s;\n" % (sym,))
++            f.write("    %s;\n" % (sym,))
++        f.write("  local:*;\n")
+         f.write("};")
+         f.close()
+ 
diff --git a/pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch b/pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch
new file mode 100644
index 0000000..257f60f
--- /dev/null
+++ b/pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch
@@ -0,0 +1,13 @@
+diff --git a/pypy/tool/ansi_print.py b/pypy/tool/ansi_print.py
+index 3eff27c..fac4ba2 100644
+--- a/pypy/tool/ansi_print.py
++++ b/pypy/tool/ansi_print.py
+@@ -25,7 +25,7 @@ class AnsiLog:
+         self.kw_to_color = self.KW_TO_COLOR.copy()
+         self.kw_to_color.update(kw_to_color)
+         self.file = file
+-        self.fancy = True
++        self.fancy = False
+         self.isatty = getattr(sys.stderr, 'isatty', lambda: False)
+         if self.fancy and self.isatty(): 
+             self.mandelbrot_driver = Driver()
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pypy.git/commitdiff/d928d70a585a3891ab7857fab2c8a8c0d8e7d9f4



More information about the pld-cvs-commit mailing list