Skip to content

Commit

Permalink
dev-python/yapps: Add patches to fix python3 support
Browse files Browse the repository at this point in the history
Grabbed from smurfix/yapps#2

Package-Manager: portage-2.2.26
  • Loading branch information
RemiCardona committed Dec 22, 2015
1 parent 7ecf3e1 commit a19acb7
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From d051588873a54860cfb86ec0d330f7d855336618 Mon Sep 17 00:00:00 2001
From: Julien Cristau <julien.cristau@logilab.fr>
Date: Tue, 2 Dec 2014 10:41:05 +0100
Subject: [PATCH 2/2] Convert print statements to python3-style print function

Signed-off-by: Julien Cristau <julien.cristau@logilab.fr>
---
yapps/runtime.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/yapps/runtime.py b/yapps/runtime.py
index 58017fe..5d40581 100644
--- a/yapps/runtime.py
+++ b/yapps/runtime.py
@@ -178,7 +178,7 @@ class Scanner(object):
file,line,p = pos
if file != self.filename:
if self.stack: return self.stack.print_line_with_pointer(pos,length=length,out=out)
- print >>out, "(%s: not in input buffer)" % file
+ print("(%s: not in input buffer)" % file, file=out)
return

text = self.input
@@ -201,7 +201,7 @@ class Scanner(object):
break
spos = cr+1
else:
- print >>out, "(%s:%d not in input buffer)" % (file,origline)
+ print("(%s:%d not in input buffer)" % (file,origline), file=out)
return

# Now try printing part of the line
@@ -230,8 +230,8 @@ class Scanner(object):
p = p - 7

# Now print the string, along with an indicator
- print >>out, '> ',text
- print >>out, '> ',' '*p + '^'
+ print('> ',text, file=out)
+ print('> ',' '*p + '^', file=out)

def grab_input(self):
"""Get more input if possible."""
--
2.6.4

Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From 482faec17f1c69784d8cc2757a79809458d71154 Mon Sep 17 00:00:00 2001
From: Julien Cristau <julien.cristau@logilab.fr>
Date: Tue, 2 Dec 2014 10:40:01 +0100
Subject: [PATCH 1/2] Don't capture sys.stderr at import time

Signed-off-by: Julien Cristau <julien.cristau@logilab.fr>
---
yapps/runtime.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/yapps/runtime.py b/yapps/runtime.py
index 29f91e7..58017fe 100644
--- a/yapps/runtime.py
+++ b/yapps/runtime.py
@@ -168,10 +168,13 @@ class Scanner(object):
# output += '%s\n' % (repr(t),)
# return output

- def print_line_with_pointer(self, pos, length=0, out=sys.stderr):
+ def print_line_with_pointer(self, pos, length=0, out=None):
"""Print the line of 'text' that includes position 'p',
along with a second line with a single caret (^) at position p"""

+ if out is None:
+ out = sys.stderr
+
file,line,p = pos
if file != self.filename:
if self.stack: return self.stack.print_line_with_pointer(pos,length=length,out=out)
--
2.6.4

29 changes: 29 additions & 0 deletions dev-python/yapps/yapps-2.2.0-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="5"
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )

inherit distutils-r1

MY_PN="Yapps"
MY_P="${MY_PN}-${PV}"

DESCRIPTION="An easy to use parser generator"
HOMEPAGE="https://github.com/smurfix/yapps"
SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"

DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""

S="${WORKDIR}/${MY_PN}-${PV}"

src_prepare() {
epatch "${FILESDIR}/${PN}-Don-t-capture-sys.stderr-at-import-time.patch"
epatch "${FILESDIR}/${PN}-Convert-print-statements-to-python3-style-print-func.patch"
}

0 comments on commit a19acb7

Please sign in to comment.