summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2005-04-24 19:03:32 +0000
committerMartin Schlemmer <azarah@gentoo.org>2005-04-24 19:03:32 +0000
commit7fd18cf4549c29c54184dd508c89e5145f1b9685 (patch)
treedb9c782629b14227c316eb4e7eb428c0e4976843 /dev-python/pyrex
parentAdded patch to fix linking to libdc1394 package. Fixes bug #90150. (diff)
downloadgentoo-2-7fd18cf4549c29c54184dd508c89e5145f1b9685.tar.gz
gentoo-2-7fd18cf4549c29c54184dd508c89e5145f1b9685.tar.bz2
gentoo-2-7fd18cf4549c29c54184dd508c89e5145f1b9685.zip
Support for generating gcc4 compatible code (patch from fedora).
(Portage version: 2.0.51.20-r4)
Diffstat (limited to 'dev-python/pyrex')
-rw-r--r--dev-python/pyrex/ChangeLog8
-rw-r--r--dev-python/pyrex/Manifest21
-rw-r--r--dev-python/pyrex/files/digest-pyrex-0.9.3-r21
-rw-r--r--dev-python/pyrex/files/pyrex-0.9.2.1-gcc4.patch66
-rw-r--r--dev-python/pyrex/pyrex-0.9.3-r2.ebuild37
5 files changed, 123 insertions, 10 deletions
diff --git a/dev-python/pyrex/ChangeLog b/dev-python/pyrex/ChangeLog
index cc2c5f3e4aa6..979c59bd392f 100644
--- a/dev-python/pyrex/ChangeLog
+++ b/dev-python/pyrex/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/pyrex
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pyrex/ChangeLog,v 1.31 2005/04/21 19:00:53 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pyrex/ChangeLog,v 1.32 2005/04/24 19:03:31 azarah Exp $
+
+*pyrex-0.9.3-r2 (24 Apr 2005)
+
+ 24 Apr 2005; Martin Schlemmer <azarah@gentoo.org>
+ +files/pyrex-0.9.2.1-gcc4.patch, +pyrex-0.9.3-r2.ebuild:
+ Support for generating gcc4 compatible code (patch from Fedora).
21 Apr 2005; Michael Hanselmann <hansmi@gentoo.org> pyrex-0.9.3-r1.ebuild:
Stable on ppc.
diff --git a/dev-python/pyrex/Manifest b/dev-python/pyrex/Manifest
index 1af5985146ed..2cec598d8a7c 100644
--- a/dev-python/pyrex/Manifest
+++ b/dev-python/pyrex/Manifest
@@ -1,14 +1,17 @@
-MD5 80ec654c644c5d0407debcbb871f73a7 pyrex-0.9.3-r1.ebuild 984
-MD5 71c4638c9c88af75b58e5f5cb54fe008 metadata.xml 159
-MD5 659a3bcc44829b1818a6c122f07128c9 ChangeLog 3597
+MD5 7e972f9031395eaa2de6530bc744e1ff pyrex-0.9.3.ebuild 834
MD5 ce47733ad791af879b2cbfed5754e9b1 pyrex-0.8.2.ebuild 800
-MD5 247a8d1332990a2f66a99e57c0fc6f61 pyrex-0.9.2.1.ebuild 802
+MD5 659a3bcc44829b1818a6c122f07128c9 ChangeLog 3597
MD5 d8c712c9224020f6b0b8ed89b12fb5aa pyrex-0.5.ebuild 817
-MD5 7e972f9031395eaa2de6530bc744e1ff pyrex-0.9.3.ebuild 834
-MD5 c587d86c063eda8fb02e18b9b1c83aec files/pyrex-0.9.3-python24_distutils.patch 622
-MD5 7d69959a16c0c50c7b8ae652573c8748 files/pyrex-0.9.1.1-gentoo.patch 313
+MD5 247a8d1332990a2f66a99e57c0fc6f61 pyrex-0.9.2.1.ebuild 802
+MD5 71c4638c9c88af75b58e5f5cb54fe008 metadata.xml 159
+MD5 e1eee8857fb6ccba19093ba79baa00fa pyrex-0.9.3-r2.ebuild 1048
+MD5 80ec654c644c5d0407debcbb871f73a7 pyrex-0.9.3-r1.ebuild 984
+MD5 eb81fc8a96e07a88c85802a248fa0ac4 files/digest-pyrex-0.9.2.1 65
MD5 5c46cd453275b56cabe9cd981a306fa5 files/digest-pyrex-0.8.2 63
-MD5 1bbfae8705264d80f234c7e386329e56 files/digest-pyrex-0.9.3 63
MD5 698060ff43e70bea481dc39d85b60432 files/digest-pyrex-0.5 61
-MD5 eb81fc8a96e07a88c85802a248fa0ac4 files/digest-pyrex-0.9.2.1 65
+MD5 1bbfae8705264d80f234c7e386329e56 files/digest-pyrex-0.9.3 63
+MD5 7d69959a16c0c50c7b8ae652573c8748 files/pyrex-0.9.1.1-gentoo.patch 313
MD5 1bbfae8705264d80f234c7e386329e56 files/digest-pyrex-0.9.3-r1 63
+MD5 c587d86c063eda8fb02e18b9b1c83aec files/pyrex-0.9.3-python24_distutils.patch 622
+MD5 b5bb4ba679c6de2f55651b7c6af8f013 files/pyrex-0.9.2.1-gcc4.patch 2877
+MD5 1bbfae8705264d80f234c7e386329e56 files/digest-pyrex-0.9.3-r2 63
diff --git a/dev-python/pyrex/files/digest-pyrex-0.9.3-r2 b/dev-python/pyrex/files/digest-pyrex-0.9.3-r2
new file mode 100644
index 000000000000..eac2dfd8cfa5
--- /dev/null
+++ b/dev-python/pyrex/files/digest-pyrex-0.9.3-r2
@@ -0,0 +1 @@
+MD5 63c4cb884d6b777d3806f9669ba5feba Pyrex-0.9.3.tar.gz 176072
diff --git a/dev-python/pyrex/files/pyrex-0.9.2.1-gcc4.patch b/dev-python/pyrex/files/pyrex-0.9.2.1-gcc4.patch
new file mode 100644
index 000000000000..9370081e8c62
--- /dev/null
+++ b/dev-python/pyrex/files/pyrex-0.9.2.1-gcc4.patch
@@ -0,0 +1,66 @@
+--- Pyrex-0.9.2.1/Pyrex/Compiler/Code.py.orig 2005-03-22 13:41:29.000000000 -0500
++++ Pyrex-0.9.2.1/Pyrex/Compiler/Code.py 2005-03-22 13:46:15.000000000 -0500
+@@ -218,14 +218,19 @@
+ for entry in entries:
+ self.put_var_xdecref_clear(entry)
+
+- def put_init_to_py_none(self, cname):
+- self.putln("%s = Py_None; Py_INCREF(%s);" % (cname, cname))
++ def put_init_to_py_none(self, cast, cname):
++ if cast:
++ self.putln("%s = Py_None; Py_INCREF(%s %s);" % (cname, cast, cname))
++ else:
++ self.putln("%s = Py_None; Py_INCREF(%s);" % (cname, cname))
+
+ def put_init_var_to_py_none(self, entry, template = "%s"):
+ code = template % entry.cname
+ if entry.type.is_extension_type:
+- code = "((PyObject*)%s)" % code
+- self.put_init_to_py_none(code)
++ cast = "(PyObject *)"
++ else:
++ cast = None
++ self.put_init_to_py_none(cast, code)
+
+ def put_pymethoddef(self, entry, term):
+ if entry.doc:
+--- Pyrex-0.9.2.1/Pyrex/Compiler/ExprNodes.py.orig 2005-03-22 13:41:35.000000000 -0500
++++ Pyrex-0.9.2.1/Pyrex/Compiler/ExprNodes.py 2005-03-22 13:34:05.000000000 -0500
+@@ -806,7 +806,7 @@
+ if self.type.is_pyobject:
+ rhs.make_owned_reference(code)
+ code.put_decref(self.result, self.type)
+- code.putln('%s = %s;' % (self.result, rhs.result))
++ code.putln('%s = %s;' % (self.entry.cname, rhs.result))
+ if debug_disposal_code:
+ print "NameNode.generate_assignment_code:"
+ print "...generating post-assignment code for", rhs
+--- Pyrex-0.9.2.1/Pyrex/Compiler/Nodes.py.orig 2005-03-22 13:41:40.000000000 -0500
++++ Pyrex-0.9.2.1/Pyrex/Compiler/Nodes.py 2005-03-22 13:43:36.000000000 -0500
+@@ -472,9 +472,9 @@
+ self.generate_self_cast(scope, code)
+ type = scope.parent_type
+ if type.vtabslot_cname:
+- code.putln("(struct %s *)p->%s = %s;" % (
+- type.vtabstruct_cname,
++ code.putln("p->%s = (struct %s *)%s;" % (
+ type.vtabslot_cname,
++ type.vtabstruct_cname,
+ type.vtabptr_cname))
+ for entry in scope.var_entries:
+ if entry.type.is_pyobject:
+@@ -1671,10 +1671,11 @@
+ code.putln("")
+ if self.return_type.is_pyobject:
+ if self.return_type.is_extension_type:
+- lhs = "(PyObject *)%s" % Naming.retval_cname
++ cast = "(PyObject *)"
+ else:
+- lhs = Naming.retval_cname
+- code.put_init_to_py_none(lhs)
++ cast = None
++ lhs = Naming.retval_cname
++ code.put_init_to_py_none(cast, lhs)
+ else:
+ val = self.return_type.default_value
+ if val:
diff --git a/dev-python/pyrex/pyrex-0.9.3-r2.ebuild b/dev-python/pyrex/pyrex-0.9.3-r2.ebuild
new file mode 100644
index 000000000000..874d42e6e8ab
--- /dev/null
+++ b/dev-python/pyrex/pyrex-0.9.3-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pyrex/pyrex-0.9.3-r2.ebuild,v 1.1 2005/04/24 19:03:31 azarah Exp $
+
+inherit distutils eutils
+
+MY_P="Pyrex-${PV}"
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="a language for writing Python extension modules"
+HOMEPAGE="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex"
+SRC_URI="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/${MY_P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~mips ~ppc ~sparc ~x86 ~ppc64"
+IUSE=""
+
+DEPEND="virtual/python"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ # fix for pyrex distutils for python 2.4. bug# 77042
+ epatch ${FILESDIR}/${P}-python24_distutils.patch
+ # fix for gcc-4.0
+ epatch ${FILESDIR}/${PN}-0.9.2.1-gcc4.patch
+}
+
+src_install() {
+ mydoc="CHANGES.txt INSTALL.txt README.txt USAGE.txt"
+ distutils_src_install
+
+ dodir /usr/share/doc/${PF}/Demos
+ cp -r ${S}/Demos ${D}/usr/share/doc/${PF}
+ dohtml -r Doc/*
+ cp ${S}/Doc/primes.c ${D}usr/share/doc/${PF}/html/
+}