summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/pycairo/ChangeLog6
-rw-r--r--dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch18
-rw-r--r--dev-python/pycairo/pycairo-1.10.0-r3.ebuild21
3 files changed, 42 insertions, 3 deletions
diff --git a/dev-python/pycairo/ChangeLog b/dev-python/pycairo/ChangeLog
index 2c5ccaf0e76a..029b481f7d95 100644
--- a/dev-python/pycairo/ChangeLog
+++ b/dev-python/pycairo/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-python/pycairo
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/ChangeLog,v 1.119 2012/11/22 12:50:05 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/ChangeLog,v 1.120 2012/12/05 13:12:14 grobian Exp $
+
+ 05 Dec 2012; Fabian Groffen <grobian@gentoo.org>
+ +files/py2cairo-1.10.0-ppc-darwin.patch, pycairo-1.10.0-r3.ebuild:
+ Fix for Darwin/Prefix, added *-macos keywords, bug #442934
22 Nov 2012; Anthony G. Basile <blueness@gentoo.org> pycairo-1.10.0-r3.ebuild:
keyword mips, bug #442934
diff --git a/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch b/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch
new file mode 100644
index 000000000000..e921ac34acd2
--- /dev/null
+++ b/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch
@@ -0,0 +1,18 @@
+inspired by:
+http://groups.google.com/group/waf-users/browse_thread/thread/2bd6774056c850bc/
+27bfdcac2fb9ec05?lnk=gst#27bfdcac2fb9ec05
+
+we cannot "fix" the buildsystem, since it's bzip2-tarred *sigh*
+
+
+--- waf
++++ waf
+@@ -154,6 +154,8 @@
+
+ wafdir = find_lib()
+ sys.path.insert(0, wafdir)
++from waflib.Tools.c_config import MACRO_TO_DESTOS
++MACRO_TO_DESTOS['__POWERPC__'] = 'darwin'
+
+ if __name__ == '__main__':
+ import waflib.extras.compat15
diff --git a/dev-python/pycairo/pycairo-1.10.0-r3.ebuild b/dev-python/pycairo/pycairo-1.10.0-r3.ebuild
index d07717f48727..c69900f170c6 100644
--- a/dev-python/pycairo/pycairo-1.10.0-r3.ebuild
+++ b/dev-python/pycairo/pycairo-1.10.0-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/pycairo-1.10.0-r3.ebuild,v 1.8 2012/11/22 12:50:05 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/pycairo-1.10.0-r3.ebuild,v 1.9 2012/12/05 13:12:14 grobian Exp $
EAPI="4"
PYTHON_DEPEND="2:2.6 3:3.1"
@@ -21,7 +21,7 @@ SRC_URI="http://cairographics.org/releases/py2cairo-${PYCAIRO_PYTHON2_VERSION}.t
# || ( LGPL-2.1 MPL-1.1 ) for pycairo 1.8.10.
LICENSE="LGPL-3 || ( LGPL-2.1 MPL-1.1 )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
IUSE="doc examples +svg test xcb"
RDEPEND=">=x11-libs/cairo-1.10.0[svg?,xcb?]
@@ -38,12 +38,14 @@ src_prepare() {
rm -f src/config.h || die
epatch "${FILESDIR}/${PN}-1.10.0-svg_check.patch"
epatch "${FILESDIR}/${PN}-1.10.0-xpyb.patch"
+ epatch "${FILESDIR}"/py2cairo-1.10.0-ppc-darwin.patch
popd > /dev/null
pushd "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" > /dev/null
rm -f src/config.h || die
epatch "${FILESDIR}/py2cairo-1.10.0-svg_check.patch"
epatch "${FILESDIR}/py2cairo-1.10.0-xpyb.patch"
+ epatch "${FILESDIR}"/py2cairo-1.10.0-ppc-darwin.patch
popd > /dev/null
preparation() {
@@ -65,6 +67,10 @@ src_configure() {
export PYCAIRO_DISABLE_XPYB=1
fi
+ # If WAF_BINARY is an absolute path, the configure is different and fails to
+ # find Python.h due to a compiler misconfiguration. If WAF_BINARY is just
+ # ./waf or python waf, it works fine. Hooray for reinvented buildsystems
+ WAF_BINARY="./waf"
python_execute_function -s waf-utils_src_configure --nopyc --nopyo
}
@@ -111,6 +117,17 @@ src_install() {
insinto /usr/share/doc/${PF}/examples
doins -r examples/* || die "Installation of examples failed"
fi
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_names; next to waf producing dylibs (not bundles) and
+ # calling them .bundle, it also has no idea what it should do to create
+ # proper ones (dylibs)
+ fix_darwin_install_names() {
+ local x=$(python_get_sitedir)/cairo/_cairo.bundle
+ install_name_tool -id "${EPREFIX}${x}" "${ED}${x}"
+ }
+ python_execute_function fix_darwin_install_names
+ fi
}
pkg_postinst() {