diff options
-rw-r--r-- | dev-python/pycairo/ChangeLog | 6 | ||||
-rw-r--r-- | dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch | 18 | ||||
-rw-r--r-- | dev-python/pycairo/pycairo-1.10.0-r3.ebuild | 21 |
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() { |