diff --git a/.gitignore b/.gitignore index 2878978..017cf34 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /pypy-1.4.1-src.tar.bz2 +/pypy-1.5-src.tar.bz2 diff --git a/pypy-1.4-config.patch b/pypy-1.5-config.patch similarity index 69% rename from pypy-1.4-config.patch rename to pypy-1.5-config.patch index 0b82ac8..82d8fc9 100644 --- a/pypy-1.4-config.patch +++ b/pypy-1.5-config.patch @@ -1,9 +1,10 @@ -Index: pypy-1.4/pypy/translator/platform/linux.py -=================================================================== ---- pypy-1.4.orig/pypy/translator/platform/linux.py -+++ pypy-1.4/pypy/translator/platform/linux.py -@@ -3,17 +3,22 @@ import py, os - from pypy.translator.platform import _run_subprocess +diff -up pypy-1.5-src/pypy/translator/platform/linux.py.configure-fedora pypy-1.5-src/pypy/translator/platform/linux.py +--- pypy-1.5-src/pypy/translator/platform/linux.py.configure-fedora 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/platform/linux.py 2011-04-30 18:59:24.041160978 -0400 +@@ -1,13 +1,18 @@ + """Support for Linux.""" +- ++import os from pypy.translator.platform.posix import BasePosix +CFLAGS = ['-O3', '-pthread', '-fomit-frame-pointer', @@ -22,16 +23,10 @@ Index: pypy-1.4/pypy/translator/platform/linux.py standalone_only = () shared_only = ('-fPIC',) so_ext = 'so' - so_prefixes = ('lib', '') -- -+ - def _args_for_shared(self, args): - return ['-shared'] + args - -@@ -29,9 +34,10 @@ class BaseLinux(BasePosix): - class Linux(BaseLinux): +@@ -29,9 +34,10 @@ class Linux(BaseLinux): shared_only = () # it seems that on 32-bit linux, compiling with -fPIC # gives assembler that asmgcc is not happy about. + - def library_dirs_for_libffi_a(self): - # places where we need to look for libffi.a - return self.library_dirs_for_libffi() + ['/usr/lib'] diff --git a/pypy-1.4.1-more-readable-c-code.patch b/pypy-1.5-more-readable-c-code.patch similarity index 81% rename from pypy-1.4.1-more-readable-c-code.patch rename to pypy-1.5-more-readable-c-code.patch index 45fa534..b7103e2 100644 --- a/pypy-1.4.1-more-readable-c-code.patch +++ b/pypy-1.5-more-readable-c-code.patch @@ -1,7 +1,7 @@ -diff -r cd083843b67a pypy/interpreter/pycode.py ---- a/pypy/interpreter/pycode.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/interpreter/pycode.py Wed Jan 05 16:14:35 2011 -0500 -@@ -14,6 +14,7 @@ +diff -up pypy-1.5-src/pypy/interpreter/pycode.py.more-readable-c-code pypy-1.5-src/pypy/interpreter/pycode.py +--- pypy-1.5-src/pypy/interpreter/pycode.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/interpreter/pycode.py 2011-05-02 14:28:33.942161002 -0400 +@@ -13,6 +13,7 @@ from pypy.interpreter.gateway import Non from pypy.interpreter.astcompiler.consts import (CO_OPTIMIZED, CO_OPTIMIZED, CO_NEWLOCALS, CO_VARARGS, CO_VARKEYWORDS, CO_NESTED, CO_GENERATOR, CO_CONTAINSGLOBALS) @@ -9,7 +9,7 @@ diff -r cd083843b67a pypy/interpreter/pycode.py from pypy.rlib.rarithmetic import intmask from pypy.rlib.debug import make_sure_not_resized from pypy.rlib import jit -@@ -81,6 +82,7 @@ +@@ -80,6 +81,7 @@ class PyCode(eval.Code): self.hidden_applevel = hidden_applevel self.magic = magic self._signature = cpython_code_signature(self) @@ -17,10 +17,10 @@ diff -r cd083843b67a pypy/interpreter/pycode.py self._initialize() def _initialize(self): -@@ -403,3 +405,25 @@ +@@ -396,3 +398,23 @@ class PyCode(eval.Code): + def repr(self, space): return space.wrap(self.get_repr()) - repr.unwrap_spec = ['self', ObjSpace] + + def get_linenum_for_offset(self, offset): + # Given a bytecode offset, return a 1-based index into the lines of the @@ -41,12 +41,10 @@ diff -r cd083843b67a pypy/interpreter/pycode.py + # raise an IOError) + self._ensure_source() + return self._cached_source[linenum - 1] -+ -+ -diff -r cd083843b67a pypy/objspace/flow/model.py ---- a/pypy/objspace/flow/model.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/objspace/flow/model.py Wed Jan 05 16:14:35 2011 -0500 -@@ -31,6 +31,120 @@ +diff -up pypy-1.5-src/pypy/objspace/flow/model.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/model.py +--- pypy-1.5-src/pypy/objspace/flow/model.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/objspace/flow/model.py 2011-05-02 14:28:33.942161002 -0400 +@@ -31,6 +31,120 @@ from pypy.tool.identity_dict import iden __metaclass__ = type @@ -167,7 +165,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py class FunctionGraph(object): __slots__ = ['startblock', 'returnblock', 'exceptblock', '__dict__'] -@@ -94,6 +208,21 @@ +@@ -94,6 +208,21 @@ class FunctionGraph(object): seen[block] = True stack += block.exits[::-1] @@ -189,7 +187,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py def iterlinks(self): block = self.startblock seen = {block: True} -@@ -183,14 +312,14 @@ +@@ -183,14 +312,14 @@ class Block(object): self.exits = [] # list of Link(s) def at(self): @@ -207,7 +205,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py else: if (not self.exits) and len(self.inputargs) == 1: txt = "return block" -@@ -245,6 +374,21 @@ +@@ -245,6 +374,21 @@ class Block(object): from pypy.translator.tool.graphpage import try_show try_show(self) @@ -229,7 +227,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py class Variable(object): __slots__ = ["_name", "_nr", "concretetype"] -@@ -331,13 +475,15 @@ +@@ -331,13 +475,15 @@ class WrapException(Exception): class SpaceOperation(object): @@ -248,7 +246,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py def __eq__(self, other): return (self.__class__ is other.__class__ and -@@ -352,8 +498,9 @@ +@@ -352,8 +498,9 @@ class SpaceOperation(object): return hash((self.opname,tuple(self.args),self.result)) def __repr__(self): @@ -260,7 +258,7 @@ diff -r cd083843b67a pypy/objspace/flow/model.py class Atom(object): def __init__(self, name): -@@ -448,8 +595,7 @@ +@@ -427,8 +574,7 @@ def copygraph(graph, shallow=False, varm for op in oplist: copyop = SpaceOperation(op.opname, [copyvar(v) for v in op.args], @@ -270,10 +268,10 @@ diff -r cd083843b67a pypy/objspace/flow/model.py result.append(copyop) return result newblock.operations = copyoplist(block.operations) -diff -r cd083843b67a pypy/objspace/flow/objspace.py ---- a/pypy/objspace/flow/objspace.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/objspace/flow/objspace.py Wed Jan 05 16:14:35 2011 -0500 -@@ -310,7 +310,9 @@ +diff -up pypy-1.5-src/pypy/objspace/flow/objspace.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/objspace.py +--- pypy-1.5-src/pypy/objspace/flow/objspace.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/objspace/flow/objspace.py 2011-05-02 14:28:33.943161001 -0400 +@@ -313,7 +313,9 @@ class FlowObjSpace(ObjSpace): def do_operation(self, name, *args_w): spaceop = SpaceOperation(name, args_w, Variable()) if hasattr(self, 'executioncontext'): # not here during bootstrapping @@ -284,10 +282,10 @@ diff -r cd083843b67a pypy/objspace/flow/objspace.py self.executioncontext.recorder.append(spaceop) return spaceop.result -diff -r cd083843b67a pypy/objspace/flow/test/test_model.py ---- a/pypy/objspace/flow/test/test_model.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/objspace/flow/test/test_model.py Wed Jan 05 16:14:35 2011 -0500 -@@ -132,3 +132,25 @@ +diff -up pypy-1.5-src/pypy/objspace/flow/test/test_model.py.more-readable-c-code pypy-1.5-src/pypy/objspace/flow/test/test_model.py +--- pypy-1.5-src/pypy/objspace/flow/test/test_model.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/objspace/flow/test/test_model.py 2011-05-02 14:28:33.943161001 -0400 +@@ -119,3 +119,25 @@ def test_variable(): assert v2.renamed assert v2.name.startswith("foobar_") and v2.name != v.name assert v2.name.split('_', 1)[1].isdigit() @@ -313,10 +311,10 @@ diff -r cd083843b67a pypy/objspace/flow/test/test_model.py + assert cmp(oplocA, oplocB) < 0 + assert cmp(oplocB, oplocA) > 0 + -diff -r cd083843b67a pypy/rpython/rtyper.py ---- a/pypy/rpython/rtyper.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/rpython/rtyper.py Wed Jan 05 16:14:35 2011 -0500 -@@ -800,7 +800,7 @@ +diff -up pypy-1.5-src/pypy/rpython/rtyper.py.more-readable-c-code pypy-1.5-src/pypy/rpython/rtyper.py +--- pypy-1.5-src/pypy/rpython/rtyper.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/rpython/rtyper.py 2011-05-02 14:28:33.943161001 -0400 +@@ -800,7 +800,7 @@ class HighLevelOp(object): return vars def genop(self, opname, args_v, resulttype=None): @@ -325,7 +323,7 @@ diff -r cd083843b67a pypy/rpython/rtyper.py def gendirectcall(self, ll_function, *args_v): return self.llops.gendirectcall(ll_function, *args_v) -@@ -935,7 +935,7 @@ +@@ -935,7 +935,7 @@ class LowLevelOpList(list): v.concretetype)) return v @@ -334,7 +332,7 @@ diff -r cd083843b67a pypy/rpython/rtyper.py try: for v in args_v: v.concretetype -@@ -944,7 +944,7 @@ +@@ -944,7 +944,7 @@ class LowLevelOpList(list): " and pass its result to genop()," " never hop.args_v directly.") vresult = Variable() @@ -343,18 +341,18 @@ diff -r cd083843b67a pypy/rpython/rtyper.py if resulttype is None: vresult.concretetype = Void return None -diff -r cd083843b67a pypy/translator/backendopt/inline.py ---- a/pypy/translator/backendopt/inline.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/backendopt/inline.py Wed Jan 05 16:14:35 2011 -0500 -@@ -4,6 +4,7 @@ +diff -up pypy-1.5-src/pypy/translator/backendopt/inline.py.more-readable-c-code pypy-1.5-src/pypy/translator/backendopt/inline.py +--- pypy-1.5-src/pypy/translator/backendopt/inline.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/backendopt/inline.py 2011-05-02 14:32:26.975161005 -0400 +@@ -4,6 +4,7 @@ from pypy.translator.simplify import get from pypy.translator.unsimplify import copyvar from pypy.objspace.flow.model import Variable, Constant, Block, Link from pypy.objspace.flow.model import SpaceOperation, c_last_exception +from pypy.objspace.flow.model import OperationLoc from pypy.objspace.flow.model import FunctionGraph - from pypy.objspace.flow.model import traverse, mkentrymap, checkgraph + from pypy.objspace.flow.model import mkentrymap, checkgraph from pypy.annotation import model as annmodel -@@ -231,6 +232,7 @@ +@@ -231,6 +232,7 @@ class BaseInliner(object): self.varmap = {} self._copied_blocks = {} self.op = block.operations[index_operation] @@ -362,7 +360,7 @@ diff -r cd083843b67a pypy/translator/backendopt/inline.py self.graph_to_inline = self.get_graph_from_op(self.op) self.exception_guarded = False if (block.exitswitch == c_last_exception and -@@ -297,7 +299,9 @@ +@@ -290,7 +292,9 @@ class BaseInliner(object): def copy_operation(self, op): args = [self.get_new_name(arg) for arg in op.args] @@ -373,9 +371,9 @@ diff -r cd083843b67a pypy/translator/backendopt/inline.py return result def copy_block(self, block): -diff -r cd083843b67a pypy/translator/c/funcgen.py ---- a/pypy/translator/c/funcgen.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/c/funcgen.py Wed Jan 05 16:14:35 2011 -0500 +diff -up pypy-1.5-src/pypy/translator/c/funcgen.py.more-readable-c-code pypy-1.5-src/pypy/translator/c/funcgen.py +--- pypy-1.5-src/pypy/translator/c/funcgen.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/c/funcgen.py 2011-05-02 14:28:33.944161001 -0400 @@ -1,4 +1,6 @@ import sys +import inspect @@ -383,7 +381,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py from pypy.translator.c.support import USESLOTS # set to False if necessary while refactoring from pypy.translator.c.support import cdecl from pypy.translator.c.support import llvalue_from_constant, gen_assignments -@@ -22,6 +24,38 @@ +@@ -22,6 +24,38 @@ LOCALVAR = 'l_%s' KEEP_INLINED_GRAPHS = False @@ -422,7 +420,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py class FunctionCodeGenerator(object): """ Collects information about a function which we have to generate -@@ -210,14 +244,57 @@ +@@ -210,14 +244,57 @@ class FunctionCodeGenerator(object): def cfunction_body(self): graph = self.graph @@ -483,7 +481,7 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py for line in self.gen_op(op): yield line if len(block.exits) == 0: -@@ -310,7 +387,7 @@ +@@ -309,7 +386,7 @@ class FunctionCodeGenerator(object): assignments.append((a2typename, dest, src)) for line in gen_assignments(assignments): yield line @@ -492,16 +490,16 @@ diff -r cd083843b67a pypy/translator/c/funcgen.py if link.target in self.innerloops: loop = self.innerloops[link.target] if link is loop.links[-1]: # link that ends a loop -diff -r cd083843b67a pypy/translator/c/test/test_genc.py ---- a/pypy/translator/c/test/test_genc.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/c/test/test_genc.py Wed Jan 05 16:14:35 2011 -0500 +diff -up pypy-1.5-src/pypy/translator/c/test/test_genc.py.more-readable-c-code pypy-1.5-src/pypy/translator/c/test/test_genc.py +--- pypy-1.5-src/pypy/translator/c/test/test_genc.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/c/test/test_genc.py 2011-05-02 14:28:33.945161001 -0400 @@ -1,4 +1,5 @@ import autopath, sys, os, py +import re from pypy.rpython.lltypesystem.lltype import * from pypy.annotation import model as annmodel from pypy.translator.translator import TranslationContext -@@ -498,3 +499,130 @@ +@@ -515,3 +516,130 @@ def test_inhibit_tail_call(): else: assert 0, "the call was not found in the C source" assert 'PYPY_INHIBIT_TAIL_CALL();' in lines[i+1] @@ -632,10 +630,10 @@ diff -r cd083843b67a pypy/translator/c/test/test_genc.py + assert 'Here is a ' in c_fn_src + assert 'style comment within an RPython docstring' in c_fn_src + -diff -r cd083843b67a pypy/translator/driver.py ---- a/pypy/translator/driver.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/driver.py Wed Jan 05 16:14:35 2011 -0500 -@@ -539,6 +539,7 @@ +diff -up pypy-1.5-src/pypy/translator/driver.py.more-readable-c-code pypy-1.5-src/pypy/translator/driver.py +--- pypy-1.5-src/pypy/translator/driver.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/driver.py 2011-05-02 14:28:33.945161001 -0400 +@@ -536,6 +536,7 @@ class TranslationDriver(SimpleTaskEngine dstname = self.compute_exe_name() + '.staticdata.info' shutil.copy(str(fname), str(dstname)) self.log.info('Static data info written to %s' % dstname) @@ -643,12 +641,12 @@ diff -r cd083843b67a pypy/translator/driver.py # task_source_c = taskdef(task_source_c, ['database_c'], "Generating c source") -diff -r cd083843b67a pypy/translator/gensupp.py ---- a/pypy/translator/gensupp.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/gensupp.py Wed Jan 05 16:14:35 2011 -0500 -@@ -16,8 +16,8 @@ - def visit(block): - if isinstance(block, Block): +diff -up pypy-1.5-src/pypy/translator/gensupp.py.more-readable-c-code pypy-1.5-src/pypy/translator/gensupp.py +--- pypy-1.5-src/pypy/translator/gensupp.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/gensupp.py 2011-05-02 14:33:31.026161001 -0400 +@@ -14,8 +14,8 @@ def ordered_blocks(graph): + allblocks = [] + for block in graph.iterblocks(): # first we order by offset in the code string - if block.operations: - ofs = block.operations[0].offset @@ -657,10 +655,10 @@ diff -r cd083843b67a pypy/translator/gensupp.py else: ofs = sys.maxint # then we order by input variable name or value -diff -r cd083843b67a pypy/translator/interactive.py ---- a/pypy/translator/interactive.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/interactive.py Wed Jan 05 16:14:35 2011 -0500 -@@ -138,7 +138,7 @@ +diff -up pypy-1.5-src/pypy/translator/interactive.py.more-readable-c-code pypy-1.5-src/pypy/translator/interactive.py +--- pypy-1.5-src/pypy/translator/interactive.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/interactive.py 2011-05-02 14:28:33.946161001 -0400 +@@ -138,7 +138,7 @@ class Translation(object): def source_c(self, argtypes=None, **kwds): self.update_options(argtypes, kwds) self.ensure_backend('c') @@ -669,10 +667,10 @@ diff -r cd083843b67a pypy/translator/interactive.py def source_cl(self, argtypes=None, **kwds): self.update_options(argtypes, kwds) -diff -r cd083843b67a pypy/translator/llsupport/wrapper.py ---- a/pypy/translator/llsupport/wrapper.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/llsupport/wrapper.py Wed Jan 05 16:14:35 2011 -0500 -@@ -59,6 +59,8 @@ +diff -up pypy-1.5-src/pypy/translator/llsupport/wrapper.py.more-readable-c-code pypy-1.5-src/pypy/translator/llsupport/wrapper.py +--- pypy-1.5-src/pypy/translator/llsupport/wrapper.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/llsupport/wrapper.py 2011-05-02 14:28:33.946161001 -0400 +@@ -59,6 +59,8 @@ def new_wrapper(func, translator, newnam # "return result" block = Block(wrapper_inputargs) wgraph = FunctionGraph('pyfn_' + (newname or func.func_name), block) @@ -681,10 +679,10 @@ diff -r cd083843b67a pypy/translator/llsupport/wrapper.py translator.update_call_graph(wgraph, graph, object()) translator.graphs.append(wgraph) block.operations[:] = newops -diff -r cd083843b67a pypy/translator/simplify.py ---- a/pypy/translator/simplify.py Mon Dec 20 17:17:45 2010 +0100 -+++ b/pypy/translator/simplify.py Wed Jan 05 16:14:35 2011 -0500 -@@ -294,7 +294,7 @@ +diff -up pypy-1.5-src/pypy/translator/simplify.py.more-readable-c-code pypy-1.5-src/pypy/translator/simplify.py +--- pypy-1.5-src/pypy/translator/simplify.py.more-readable-c-code 2011-04-30 10:18:50.000000000 -0400 ++++ pypy-1.5-src/pypy/translator/simplify.py 2011-05-02 14:28:33.952161001 -0400 +@@ -298,7 +298,7 @@ def join_blocks(graph): return renaming.get(v, v) def rename_op(op): args = [rename(a) for a in op.args] diff --git a/pypy.spec b/pypy.spec index c69893a..1a651e0 100644 --- a/pypy.spec +++ b/pypy.spec @@ -1,6 +1,6 @@ Name: pypy -Version: 1.4.1 -Release: 10%{?dist} +Version: 1.5 +Release: 1%{?dist} Summary: Python implementation with a Just-In-Time compiler Group: Development/Languages @@ -105,7 +105,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %global verbose_logs 0 %global pypyprefix %{_libdir}/pypy-%{version} -%global pylibver 2.5.2 +%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 @@ -120,7 +120,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: http://pypy.org/download/pypy-%{version}-src.tar.bz2 # Edit a translator file for linux in order to configure our cflags and dynamic libffi -Patch0: pypy-1.4-config.patch +Patch0: pypy-1.5-config.patch # By default, if built at a tty, the translation process renders a Mandelbrot # set to indicate progress. @@ -150,7 +150,7 @@ Patch3: pypy-1.4.1-add-LIBRARY_INSTALLATION_PATH.patch # http://codespeak.net/pipermail/pypy-dev/2010q4/006532.html # TODO: get this into the upstream bug tracker, and finish inlining # support (rhbz#666963) -Patch4: pypy-1.4.1-more-readable-c-code.patch +Patch4: pypy-1.5-more-readable-c-code.patch # Build-time requirements: @@ -584,7 +584,7 @@ mkdir -p %{buildroot}/%{pypyprefix}/site-packages # interface going forward, so let's just mimic upstream for now. %global pypy_include_dir %{pypyprefix}/include mkdir -p %{buildroot}/%{pypy_include_dir} -cp include/*.h include/*.inl %{buildroot}/%{pypy_include_dir} +cp include/*.h %{buildroot}/%{pypy_include_dir} # Capture the RPython source code files from the build within the debuginfo @@ -698,6 +698,25 @@ CheckPyPy() { # seems to hang on this test, within test_line_terminator SkipTest test_asynchat + # test_audioop: + # test test_audioop crashed -- : No module named audioop + # Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/regrtest.py", line 874, in runtest_inner + # the_package = __import__(abstest, globals(), locals(), []) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_audioop.py", line 1, in + # import audioop + # ImportError: No module named audioop + SkipTest test_audioop + + # test_capi: + # RPython traceback: + # RPython traceback: + # File "implement.c", line 243013, in _PyObject_New + # File "implement_1.c", line 31707, in _PyObject_NewVar + # File "implement.c", line 217060, in from_ref + # Fatal RPython error: AssertionError + SkipTest test_capi + # test_compiler: # 4 errors out of 13: # testSourceCodeEncodingsError @@ -710,10 +729,102 @@ CheckPyPy() { # failures=17, errors=20, out of 132 tests SkipTest test_ctypes + # test_distutils: + # Warning -- os.environ was modified by test_distutils + # test test_distutils failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_distutils + # test_frozen: # TestFailed: import __hello__ failed:No module named __hello__ SkipTest test_frozen + # test_gc: + # test test_gc crashed -- : 'module' object has no attribute 'get_debug' + SkipTest test_gc + + # test_gdb: + # test test_gdb crashed -- : 'PY_CFLAGS' + SkipTest test_gdb + + # test_generators: + # ********************************************************************** + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine + # Failed example: + # del g; gc_collect() + # Expected: + # exiting + # Got nothing + # ********************************************************************** + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine + # Failed example: + # del g; gc_collect() + # Expected: + # exiting + # Got nothing + # ********************************************************************** + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine + # Failed example: + # del g; gc_collect() + # Expected: + # finally + # Got nothing + # ********************************************************************** + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.coroutine + # Failed example: + # sys.stderr.getvalue().startswith( + # "Exception RuntimeError: 'generator ignored GeneratorExit' in " + # ) + # Expected: + # True + # Got: + # False + # ********************************************************************** + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_generators.py", line ?, in test.test_generators.__test__.refleaks + # Failed example: + # try: + # sys.stderr = StringIO.StringIO() + # class Leaker: + # def __del__(self): + # raise RuntimeError + # l = Leaker() + # del l + # gc_collect() + # err = sys.stderr.getvalue().strip() + # err.startswith( + # "Exception RuntimeError: RuntimeError() in " + # ) + # err.endswith("> ignored") + # len(err.splitlines()) + # finally: + # sys.stderr = old + # Expected: + # True + # True + # 1 + # Got: + # False + # False + # 0 + # ********************************************************************** + # 2 items had failures: + # 4 of 107 in test.test_generators.__test__.coroutine + # 1 of 11 in test.test_generators.__test__.refleaks + # ***Test Failed*** 5 failures. + # test test_generators failed -- 5 of 294 doctests failed + SkipTest test_generators + + # test_getargs2: + # test test_getargs2 failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_getargs2 + + # test_hotshot: + # test test_hotshot crashed -- : No module named _hotshot + SkipTest test_hotshot + + # test_io: + # test test_io failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_io + # test_ioctl: # Failing in Koji with dist-f15 with: # ====================================================================== @@ -737,6 +848,23 @@ CheckPyPy() { # 24 failures out of 25, apparently all due to TypeError SkipTest test_iterlen + # test_multiprocessing: + # test test_multiprocessing failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_multiprocessing + + # test_module: + # test test_module failed -- Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_module.py", line 81, in test_clear_dict_in_ref_cycle + # self.assertEqual(destroyed, [1]) + # AssertionError: Lists differ: [] != [1] + # Second list contains 1 additional elements. + # First extra element 0: + # 1 + # - [] + # + [1] + # ? + + SkipTest test_module + # test_parser: # 12 failures out of 15 SkipTest test_parser @@ -746,6 +874,44 @@ CheckPyPy() { # test test_platform failed -- errors occurred in test.test_platform.PlatformTest SkipTest test_platform + # test_posix: + # test test_posix failed -- Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 361, in test_getcwd_long_pathnames + # _create_and_do_getcwd(dirname) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd + # _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd + # _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1) + # [...repeats...] + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 351, in _create_and_do_getcwd + # _create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_posix.py", line 356, in _create_and_do_getcwd + # self.assertEqual(e.errno, expected_errno) + # AssertionError: 36 != 34 + SkipTest test_posix + + # test_readline: + # test test_readline failed -- Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_readline.py", line 16, in testHistoryUpdates + # readline.clear_history() + # File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/readline.py", line 277, in clear_history + # del self.get_reader().history[:] + # File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/readline.py", line 186, in get_reader + # console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING) + # File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/unix_console.py", line 103, in __init__ + # self._clear = _my_getstr("clear") + # File "/builddir/build/BUILD/pypy-1.5-src/lib_pypy/pyrepl/unix_console.py", line 45, in _my_getstr + # "terminal doesn't have the required '%s' capability"%cap + # InvalidTerminal: terminal doesn't have the required 'clear' capability + SkipTest test_readline + + # test_scope: + # test test_scope failed -- Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_scope.py", line 437, in testLeaks + # self.assertEqual(Foo.count, 0) + # AssertionError: 100 != 0 + SkipTest test_scope + # test_socket: # testSockName can fail in Koji with: # my_ip_addr = socket.gethostbyname(socket.gethostname()) @@ -761,10 +927,138 @@ CheckPyPy() { # ProgrammingError: Incomplete statement '' SkipTest test_sqlite + # test_strop: + # test test_strop crashed -- : No module named strop + SkipTest test_strop + + # test_structmembers: + # test test_structmembers failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_structmembers + + # test_subprocess: + # debug: WARNING: library path not found, using compiled-in sys.path and sys.prefix will be unset + # 'import site' failed + # . + # this bit of output is from a test of stdout in a different process ... + # /builddir/build/BUILD/pypy-1.5-src/lib_pypy/ctypes_support.py:26: RuntimeWarning: C function without declared arguments called + # return standard_c_lib.__errno_location() + # debug: WARNING: library path not found, using compiled-in sys.path and sys.prefix will be unset + # 'import site' failed + # . + # this bit of output is from a test of stdout in a different process ... + # test test_subprocess failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_subprocess + + # test_symtable: + # test test_symtable crashed -- : No module named _symtable + SkipTest test_symtable + + # test_sys_settrace: + # test test_sys_settrace failed -- Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 334, in test_13_genexp + # self.run_test(generator_example) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 280, in run_test + # self.run_and_compare(func, func.events) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 277, in run_and_compare + # tracer.events, events) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/test/test_sys_settrace.py", line 269, in compare_events + # [str(x) for x in events]))) + # AssertionError: events did not match expectation: + # (0, 'call') + # (2, 'line') + # (-6, 'call') + # (-5, 'line') + # (-4, 'line') + # (-4, 'return') + # - (-4, 'call') + # - (-4, 'exception') + # - (-1, 'line') + # - (-1, 'return') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (6, 'line') + # (5, 'line') + # (5, 'return') + SkipTest test_sys_settrace + + # test_tempfile: + # test test_tempfile failed -- multiple errors occurred; run in verbose mode for details + SkipTest test_tempfile + + # test_thread + # Koji build appears to hang here + SkipTest test_thread + # test_traceback: # works when run standalone; failures seen when run as part of a suite SkipTest test_traceback + # test_uuid: + # ====================================================================== + # ERROR: test_ifconfig_getnode (test.test_uuid.TestUUID) + # ---------------------------------------------------------------------- + # Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_uuid.py", line 306, in test_ifconfig_getnode + # node = uuid._ifconfig_getnode() + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/uuid.py", line 326, in _ifconfig_getnode + # ip_addr = socket.gethostbyname(socket.gethostname()) + # gaierror: [Errno -3] Temporary failure in name resolution + # ---------------------------------------------------------------------- + # Ran 14 tests in 0.369s + # FAILED (errors=1) + SkipTest test_uuid + + # test_zipimport_support: + # ====================================================================== + # ERROR: test_doctest_main_issue4197 (test.test_zipimport_support.ZipSupportTests) + # ---------------------------------------------------------------------- + # Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_zipimport_support.py", line 194, in test_doctest_main_issue4197 + # exit_code, data = run_python(script_name) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 80, in run_python + # p = spawn_python(*args, **kwargs) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 66, in spawn_python + # **kwargs) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 672, in __init__ + # errread, errwrite) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 1206, in _execute_child + # raise child_exception + # OSError: [Errno 13] Permission denied + # ====================================================================== + # ERROR: test_pdb_issue4201 (test.test_zipimport_support.ZipSupportTests) + # ---------------------------------------------------------------------- + # Traceback (most recent call last): + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/test_zipimport_support.py", line 221, in test_pdb_issue4201 + # p = spawn_python(script_name) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/2.7/test/script_helper.py", line 66, in spawn_python + # **kwargs) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 672, in __init__ + # errread, errwrite) + # File "/builddir/build/BUILD/pypy-1.5-src/lib-python/modified-2.7/subprocess.py", line 1206, in _execute_child + # raise child_exception + # OSError: [Errno 13] Permission denied + # ---------------------------------------------------------------------- + # Ran 4 tests in 0.726s + # FAILED (errors=2) + SkipTest test_zipimport_support + # test_zlib: # failure seen in Koji, not sure of reason why: # test test_zlib failed -- Traceback (most recent call last): @@ -832,6 +1126,8 @@ rm -rf $RPM_BUILD_ROOT %dir %{pypyprefix} %dir %{pypyprefix}/lib-python +%{pypyprefix}/lib-python/TODO +%{pypyprefix}/lib-python/stdlib-version.txt %{pypyprefix}/lib-python/%{pylibver}/ %{pypyprefix}/lib-python/modified-%{pylibver}/ %{pypyprefix}/lib-python/conftest.py* @@ -847,7 +1143,6 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %dir %{pypy_include_dir} %{pypy_include_dir}/*.h -%{pypy_include_dir}/*.inl %if 0%{with_stackless} %files stackless @@ -858,6 +1153,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon May 2 2011 David Malcolm - 1.5-1 +- 1.5 + * Wed Apr 20 2011 David Malcolm - 1.4.1-10 - build a /usr/bin/pypy (but without the JIT compiler) on architectures that don't support the JIT, so that they do at least have something that runs diff --git a/sources b/sources index 90f34be..a047407 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ebbbb156b1eb842e9e65d909ed5f9f6d pypy-1.4.1-src.tar.bz2 +cb9ada2c50666318c3a2863da1fbe487 pypy-1.5-src.tar.bz2