summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2011-04-09 19:55:11 +0000
committerArfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>2011-04-09 19:55:11 +0000
commit6ee921a408e5198bc6e29a8ea7be44617cce84c9 (patch)
treec8656ebf58081879b08cfc6714cf09c13a647eaf /dev-python/pycxx
parentExtend blocker to old kdelibs because of file collisions, bug 362767 (diff)
downloadhistorical-6ee921a408e5198bc6e29a8ea7be44617cce84c9.tar.gz
historical-6ee921a408e5198bc6e29a8ea7be44617cce84c9.tar.bz2
historical-6ee921a408e5198bc6e29a8ea7be44617cce84c9.zip
Fix compatibility with Python 3.2 (bug #292415).
Package-Manager: portage-2.2.0_alpha29_p10/cvs/Linux x86_64
Diffstat (limited to 'dev-python/pycxx')
-rw-r--r--dev-python/pycxx/ChangeLog8
-rw-r--r--dev-python/pycxx/Manifest24
-rw-r--r--dev-python/pycxx/files/pycxx-6.2.3-python-3.2.patch232
-rw-r--r--dev-python/pycxx/pycxx-6.2.3-r2.ebuild43
4 files changed, 305 insertions, 2 deletions
diff --git a/dev-python/pycxx/ChangeLog b/dev-python/pycxx/ChangeLog
index f86e21ebfc1d..66d7a8fe645a 100644
--- a/dev-python/pycxx/ChangeLog
+++ b/dev-python/pycxx/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/pycxx
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pycxx/ChangeLog,v 1.26 2011/03/09 13:56:40 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pycxx/ChangeLog,v 1.27 2011/04/09 19:55:11 arfrever Exp $
+
+*pycxx-6.2.3-r2 (09 Apr 2011)
+
+ 09 Apr 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+ +pycxx-6.2.3-r2.ebuild, +files/pycxx-6.2.3-python-3.2.patch:
+ Fix compatibility with Python 3.2 (bug #292415).
*pycxx-6.2.3-r1 (09 Mar 2011)
diff --git a/dev-python/pycxx/Manifest b/dev-python/pycxx/Manifest
index 85ca625814b7..9338fcc18044 100644
--- a/dev-python/pycxx/Manifest
+++ b/dev-python/pycxx/Manifest
@@ -1,8 +1,12 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX pycxx-6.1.0-C_compatible_headers.patch 1213 RMD160 a12fc8aef17e1ddac6cb653a4eb1014461a59852 SHA1 c13d9459ba7397985b26b1beddc5ba5fa1067609 SHA256 83bd693b9b293a90e81cfa6af23421165faf04a4f7849472d42b72acb9a23efa
AUX pycxx-6.1.0-python-3.patch 398 RMD160 0610322f137c6a587b581b9681fe0712ebdacdb9 SHA1 0a98ac0686f363d3f44d1235ce6f6ecd3e7e70e2 SHA256 6d23ce38343e86c62edf56e08837a199bd71f2b686446e3399be5ac4b7dd2ed4
AUX pycxx-6.1.0-setup.py.patch 1390 RMD160 7fbf6530f49bb97614fdc69c3a8e751e6b602526 SHA1 2cfed58ab995cf34bc29f74fc11774e3f9613c1b SHA256 7571d6c99d464bfb92a8eaeafec59610bb50fcea147b71722ff94fd90e3a4aa9
AUX pycxx-6.2.1-python-3.1.3.patch 2572 RMD160 130ce76aad330389ccccc0473fc5b2acbf28f03f SHA1 810c8a3dd8929eaef42f5c7901b188396e4222a1 SHA256 ad459013befc38a5166d635822b08b8f7979c2b55719360fec4d83fe02bd62bc
AUX pycxx-6.2.3-installation.patch 1248 RMD160 ec0d6925e21af0c1e2125a1f90da50bb09040202 SHA1 0c47e86288c3134377aa8cd17966c3ac8031ddc8 SHA256 f6c47b1d613b01511e55cefbc0e0564c402374fc0a4340848f712011b416f7de
+AUX pycxx-6.2.3-python-3.2.patch 10198 RMD160 088351084a352d79ab8702ff98f5cb81543d5f01 SHA1 9cbca97c6868225cf6b47179306551e93d4c7d13 SHA256 9a7cd9946a815d27631cb92afead183adf2652798df5c92058518f999164dbbc
AUX pycxx-6.2.3-python-3.patch 1063 RMD160 23aed53bf8e04df6171306c2e398b6c0676b854e SHA1 7177044874e96d270c10ae3313cf61e1f02c9d8a SHA256 3a06d5841d2f8e1dfa65b7d7197e8d72df652688956bc22d724aa89064612792
DIST pycxx-6.2.1.tar.gz 144162 RMD160 5549ec039b66d9c20d5fce8e16e38c81bedfbc88 SHA1 ec260197805c19e7cd9af7a371b5c4585554e566 SHA256 2f6c8b49a29aeece56c226d419998dca8f99af4d24b4092fa09f4878c72135a5
DIST pycxx-6.2.2.tar.gz 144438 RMD160 4613b0073250b6f248e535413f38dd18ead449ec SHA1 52f8136026d1a5ec638dfb2d5ce03ba70f9b1f68 SHA256 8a0c9c41885ab7579a807c2709e53528a53c2426a048840dad43c093b2994138
@@ -10,5 +14,23 @@ DIST pycxx-6.2.3.tar.gz 140787 RMD160 8f39efc0dc86f75a394172be232b10f5aead1368 S
EBUILD pycxx-6.2.1-r1.ebuild 1195 RMD160 dfbdedf54ca2c094d325c96a116a6e83e67695ad SHA1 48862b57eead261b3e7bb9af5a2ba55857839e10 SHA256 f255b6523c7402ffeb6264e8b0ab5501f112436a50cc98459bbd0de83c1b73f5
EBUILD pycxx-6.2.2.ebuild 1151 RMD160 b614ce9584e77fcf17462dbdd8ba6a3a4b1cd534 SHA1 22f9c2552c9082fc786b8383c441898ad29e13c6 SHA256 0cd901cffd306f725c855bbc6c8db93043268ae99716b2a0641b627bed98cea1
EBUILD pycxx-6.2.3-r1.ebuild 1145 RMD160 f17bf846edd6fcad1922763d2084c03c92e97914 SHA1 a65e4cb75ac2350196828fa3b5ebfe665520846f SHA256 32548ae0553f129f4f72f71bc437412576da7a402d9f6d8c6e8c02119d43c2c8
-MISC ChangeLog 3642 RMD160 e4c32c14ac4f3667e1a98a2ad4be9e9dc140f5e6 SHA1 9658dc56edcdb52b58bd1a1273e0d45d035d4f8f SHA256 3038b2f5d3c1c5813cb05e22ad448b00ddb417b63551b0e2978dffc57d615806
+EBUILD pycxx-6.2.3-r2.ebuild 1128 RMD160 562093320d02ca2175fabd55ac7ed8057b3dcd6a SHA1 97debeb418d650fbecff6f8ba9d7050328fe95ee SHA256 29e046b72296e781b652f925efa0108d09f011c08ee989cdaef645bd2bee56b6
+MISC ChangeLog 3861 RMD160 66424b61da6801d9b670591134ccacab51e45dae SHA1 d7ac7f3e77aac3213eb03111d95a8e141925fb1c SHA256 cbfdc288996c33692d6edbc04a84834db86948c1558b168361859af796d152c8
MISC metadata.xml 556 RMD160 58bf795f79850d5844f4c324bb9b01e5a7f3cfe6 SHA1 240a0b1d1f74321c3eb5eab5676dd0eafe824911 SHA256 cb33179b683664b2fdfce0dbc687c7816bc2d15417aeb7025db6c50063cdc3ab
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iQIcBAEBAgAGBQJNoLmyAAoJENgZr6v6gHY06AYQAL1eWia2cyU42K61k3c48e2M
+OUVKvDUq0kQVUo36Ij83PVgRSSNZkR+qIkEDl2HX585H2Wib+xnzpRK/yyGKvrXJ
+FUQ3j9Zihtic4cpVtq43go24Txp2klnCEoHNt+nO/VSPn5PX93CP8GaY8SyqOdlG
+wA23A5XfSrSVssPjugci9AFy55ggAATrAPvGekoqXE+K2AJkmH5G+7VTvVYAbR7R
+ED6/hEkOFZHKoQWVbYm+aCwpHtkQvH1FRuwFuhyoGnS1BgCrEzjy2ipHrfXCZZ21
+KwxFuBi//GeUYx0oxN8y9MuDZ4IKhImerO0SO0JD0MV9H+8qJIArwKViKB9tuStL
+v5WEYQuWiatHWeBa8cQXsHyf6LPalDkWz7YC4u7EifldbkGoU4In8MyavtYEKoOI
+Jb8g9EzPOnQZfTbY0RT9TGx6lCVRAxSeFQawe0QDapMb02jSMcIfKVkc8w7wIpd/
+KRhggdQgHJ33Kc2beeQpkc0DFa1JyFRfmIWNlyWrqzmM8gDDMzq7DPy1eYk0BvAe
+iwL/onLPYQsyjgHdKb0aUmXkdHYbkIq/KyKxYefbvGZxVoSMJCgUV/8E6OpTQ/Bu
+wSIJcAq2CM/sK291GcY1DiOSWL6NPId6WOU1/zfMWm2/riUF05jUG3Wq1o+vS8vC
+eIrc0eqTYZUjzpPPbp8C
+=0wf0
+-----END PGP SIGNATURE-----
diff --git a/dev-python/pycxx/files/pycxx-6.2.3-python-3.2.patch b/dev-python/pycxx/files/pycxx-6.2.3-python-3.2.patch
new file mode 100644
index 000000000000..84c02f4aee49
--- /dev/null
+++ b/dev-python/pycxx/files/pycxx-6.2.3-python-3.2.patch
@@ -0,0 +1,232 @@
+http://cxx.svn.sourceforge.net/viewvc?view=revision&revision=266
+
+--- CXX/Python3/ExtensionModule.hxx
++++ CXX/Python3/ExtensionModule.hxx
+@@ -82,8 +82,6 @@
+ extern "C" PyObject *method_varargs_call_handler( PyObject *_self_and_name_tuple, PyObject *_args );
+ extern "C" PyObject *method_keyword_call_handler( PyObject *_self_and_name_tuple, PyObject *_args, PyObject *_keywords );
+
+- extern "C" void do_not_dealloc( void * );
+-
+ template<TEMPLATE_TYPENAME T>
+ class ExtensionModule : public ExtensionModuleBase
+ {
+@@ -134,11 +132,11 @@
+ {
+ MethodDefExt<T> *method_def = (*i).second;
+
+- static PyObject *self = PyCObject_FromVoidPtr( this, do_not_dealloc );
++ static PyObject *self = PyCapsule_New( this, NULL, NULL );
+
+ Tuple args( 2 );
+ args[0] = Object( self );
+- args[1] = Object( PyCObject_FromVoidPtr( method_def, do_not_dealloc ) );
++ args[1] = Object( PyCapsule_New( method_def, NULL, NULL ) );
+
+ PyObject *func = PyCFunction_New
+ (
+--- CXX/Python3/ExtensionOldType.hxx
++++ CXX/Python3/ExtensionOldType.hxx
+@@ -178,7 +178,7 @@
+ Tuple self( 2 );
+
+ self[0] = Object( this );
+- self[1] = Object( PyCObject_FromVoidPtr( method_def, do_not_dealloc ) );
++ self[1] = Object( PyCapsule_New( method_def, NULL, NULL ) );
+
+ PyObject *func = PyCFunction_New( &method_def->ext_meth_def, self.ptr() );
+
+@@ -237,7 +237,7 @@
+ T *self = static_cast<T *>( self_in_cobject );
+
+ MethodDefExt<T> *meth_def = reinterpret_cast<MethodDefExt<T> *>(
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ) );
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ) );
+
+ Object result;
+
+@@ -273,7 +273,7 @@
+ PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
+ T *self = static_cast<T *>( self_in_cobject );
+ MethodDefExt<T> *meth_def = reinterpret_cast<MethodDefExt<T> *>(
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ) );
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ) );
+
+ Tuple args( _args );
+
+@@ -310,7 +310,7 @@
+ PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
+ T *self = static_cast<T *>( self_in_cobject );
+ MethodDefExt<T> *meth_def = reinterpret_cast<MethodDefExt<T> *>(
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ) );
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ) );
+
+ Tuple args( _args );
+
+--- CXX/Python3/IndirectPythonInterface.hxx
++++ CXX/Python3/IndirectPythonInterface.hxx
+@@ -109,9 +109,6 @@
+ PyTypeObject * _Method_Type();
+ bool _Method_Check( PyObject *op );
+
+-PyTypeObject * _CObject_Type();
+-bool _CObject_Check( PyObject *op );
+-
+ PyTypeObject * _Complex_Type();
+ bool _Complex_Check( PyObject *op );
+
+--- Src/IndirectPythonInterface.cxx
++++ Src/IndirectPythonInterface.cxx
+@@ -40,7 +40,6 @@
+ namespace Py
+ {
+ bool _CFunction_Check( PyObject *op ) { return op->ob_type == _CFunction_Type(); }
+-bool _CObject_Check( PyObject *op ) { return op->ob_type == _CObject_Type(); }
+ bool _Complex_Check( PyObject *op ) { return op->ob_type == _Complex_Type(); }
+ bool _Dict_Check( PyObject *op ) { return op->ob_type == _Dict_Type(); }
+ bool _Float_Check( PyObject *op ) { return op->ob_type == _Float_Type(); }
+@@ -59,6 +58,7 @@
+ #if PY_MAJOR_VERSION == 2
+ bool _String_Check( PyObject *op ) { return op->ob_type == _String_Type(); }
+ bool _Int_Check( PyObject *op ) { return op->ob_type == _Int_Type(); }
++bool _CObject_Check( PyObject *op ) { return op->ob_type == _CObject_Type(); }
+ #endif
+ #if PY_MAJOR_VERSION >= 3
+ bool _Bytes_Check( PyObject *op ) { return op->ob_type == _Bytes_Type(); }
+@@ -111,7 +111,6 @@
+ static PyObject *ptr__PyFalse = NULL;
+ static PyObject *ptr__PyTrue = NULL;
+ static PyTypeObject *ptr__CFunction_Type = NULL;
+-static PyTypeObject *ptr__CObject_Type = NULL;
+ static PyTypeObject *ptr__Complex_Type = NULL;
+ static PyTypeObject *ptr__Dict_Type = NULL;
+ static PyTypeObject *ptr__Float_Type = NULL;
+@@ -129,6 +128,7 @@
+ #if PY_MAJOR_VERSION == 2
+ static PyTypeObject *ptr__Int_Type = NULL;
+ static PyTypeObject *ptr__String_Type = NULL;
++static PyTypeObject *ptr__CObject_Type = NULL;
+ #endif
+ #if PY_MAJOR_VERSION >= 3
+ static PyTypeObject *ptr__Bytes_Type = NULL;
+@@ -284,7 +284,6 @@
+ ptr__PyTrue = GetPyObject_As_PyObjectPointer( "_Py_TrueStruct" );
+
+ ptr__CFunction_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyCFunction_Type" );
+- ptr__CObject_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyCObject_Type" );
+ ptr__Complex_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyComplex_Type" );
+ ptr__Dict_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyDict_Type" );
+ ptr__Float_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyFloat_Type" );
+@@ -303,6 +302,7 @@
+ #if PY_MAJOR_VERSION == 2
+ ptr__String_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyString_Type" );
+ ptr__Int_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyInt_Type" );
++ ptr__CObject_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyCObject_Type" );
+ #endif
+ #if PY_MAJOR_VERSION >= 3
+ ptr__Bytes_Type = GetPyTypeObject_As_PyTypeObjectPointer( "PyBytes_Type" );
+@@ -367,7 +367,6 @@
+ PyObject *_True() { return ptr__PyTrue; }
+
+ PyTypeObject *_CFunction_Type() { return ptr__CFunction_Type; }
+-PyTypeObject *_CObject_Type() { return ptr__CObject_Type; }
+ PyTypeObject *_Complex_Type() { return ptr__Complex_Type; }
+ PyTypeObject *_Dict_Type() { return ptr__Dict_Type; }
+ PyTypeObject *_Float_Type() { return ptr__Float_Type; }
+@@ -386,6 +385,7 @@
+ #if PY_MAJOR_VERSION == 2
+ PyTypeObject *_String_Type() { return ptr__String_Type; }
+ PyTypeObject *_Int_Type() { return ptr__Int_Type; }
++PyTypeObject *_CObject_Type() { return ptr__CObject_Type; }
+ #endif
+ #if PY_MAJOR_VERSION >= 3
+ PyTypeObject *_Bytes_Type() { return ptr__Bytes_Type; }
+@@ -506,7 +506,6 @@
+ PyObject *_True() { return Py_True; }
+
+ PyTypeObject *_CFunction_Type() { return &PyCFunction_Type; }
+-PyTypeObject *_CObject_Type() { return &PyCObject_Type; }
+ PyTypeObject *_Complex_Type() { return &PyComplex_Type; }
+ PyTypeObject *_Dict_Type() { return &PyDict_Type; }
+ PyTypeObject *_Float_Type() { return &PyFloat_Type; }
+@@ -525,6 +524,7 @@
+ #if PY_MAJOR_VERSION == 2
+ PyTypeObject *_String_Type() { return &PyString_Type; }
+ PyTypeObject *_Int_Type() { return &PyInt_Type; }
++PyTypeObject *_CObject_Type() { return &PyCObject_Type; }
+ #endif
+ #if PY_MAJOR_VERSION >= 3
+ PyTypeObject *_Bytes_Type() { return &PyBytes_Type; }
+--- Src/Python3/cxx_extensions.cxx
++++ Src/Python3/cxx_extensions.cxx
+@@ -1471,13 +1471,13 @@
+ Tuple self_and_name_tuple( _self_and_name_tuple );
+
+ PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
+- void *self_as_void = PyCObject_AsVoidPtr( self_in_cobject );
++ void *self_as_void = PyCapsule_GetPointer( self_in_cobject, NULL );
+ if( self_as_void == NULL )
+ return NULL;
+
+ ExtensionModuleBase *self = static_cast<ExtensionModuleBase *>( self_as_void );
+
+- Object result( self->invoke_method_noargs( PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ) ) );
++ Object result( self->invoke_method_noargs( PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ) ) );
+
+ return new_reference_to( result.ptr() );
+ }
+@@ -1494,7 +1494,7 @@
+ Tuple self_and_name_tuple( _self_and_name_tuple );
+
+ PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
+- void *self_as_void = PyCObject_AsVoidPtr( self_in_cobject );
++ void *self_as_void = PyCapsule_GetPointer( self_in_cobject, NULL );
+ if( self_as_void == NULL )
+ return NULL;
+
+@@ -1504,7 +1504,7 @@
+ (
+ self->invoke_method_varargs
+ (
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ),
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ),
+ args
+ )
+ );
+@@ -1524,7 +1524,7 @@
+ Tuple self_and_name_tuple( _self_and_name_tuple );
+
+ PyObject *self_in_cobject = self_and_name_tuple[0].ptr();
+- void *self_as_void = PyCObject_AsVoidPtr( self_in_cobject );
++ void *self_as_void = PyCapsule_GetPointer( self_in_cobject, NULL );
+ if( self_as_void == NULL )
+ return NULL;
+
+@@ -1540,7 +1540,7 @@
+ (
+ self->invoke_method_keyword
+ (
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ),
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ),
+ args,
+ keywords
+ )
+@@ -1556,7 +1556,7 @@
+ (
+ self->invoke_method_keyword
+ (
+- PyCObject_AsVoidPtr( self_and_name_tuple[1].ptr() ),
++ PyCapsule_GetPointer( self_and_name_tuple[1].ptr(), NULL ),
+ args,
+ keywords
+ )
+@@ -1571,9 +1571,6 @@
+ }
+ }
+
+-extern "C" void do_not_dealloc( void * )
+-{}
+-
+
+ //--------------------------------------------------------------------------------
+ //
diff --git a/dev-python/pycxx/pycxx-6.2.3-r2.ebuild b/dev-python/pycxx/pycxx-6.2.3-r2.ebuild
new file mode 100644
index 000000000000..415d9ef90568
--- /dev/null
+++ b/dev-python/pycxx/pycxx-6.2.3-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pycxx/pycxx-6.2.3-r2.ebuild,v 1.1 2011/04/09 19:55:11 arfrever Exp $
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython"
+
+inherit eutils distutils
+
+DESCRIPTION="Set of facilities to extend Python with C++"
+HOMEPAGE="http://cxx.sourceforge.net"
+SRC_URI="mirror://sourceforge/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="doc examples"
+
+PYTHON_MODNAME="CXX"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python-3.patch"
+ epatch "${FILESDIR}/${P}-installation.patch"
+ epatch "${FILESDIR}/${P}-python-3.2.patch"
+
+ sed -e "/^#include/s:/Python[23]/:/:" -i CXX/*/*.hxx || die "sed failed"
+}
+
+src_install() {
+ distutils_src_install
+
+ if use doc; then
+ dohtml -r Doc/ || die "dohtml failed"
+ fi
+
+ if use examples; then
+ docinto examples/python-2
+ dodoc Demo/Python2/* || die "dodoc failed"
+ docinto examples/python-3
+ dodoc Demo/Python3/* || die "dodoc failed"
+ fi
+}