From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 3F41E138C9D for ; Sun, 26 Apr 2015 21:16:53 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9E104E07D6; Sun, 26 Apr 2015 21:16:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D63C8E07D6 for ; Sun, 26 Apr 2015 21:16:50 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AE58B340EE4 for ; Sun, 26 Apr 2015 21:16:49 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 4355C985 for ; Sun, 26 Apr 2015 21:16:46 +0000 (UTC) From: "Thomas Sachau" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Sachau" Message-ID: <1430083112.ee67ea8a9daea840351a640688dbfd9b5c476fc6.tommy@gentoo> Subject: [gentoo-commits] proj/multilib-portage:master commit in: dev-python/pycairo/, dev-python/pycairo/files/ X-VCS-Repository: proj/multilib-portage X-VCS-Files: dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch dev-python/pycairo/pycairo-1.10.0-r2.ebuild dev-python/pycairo/pycairo-1.10.0-r3.ebuild dev-python/pycairo/pycairo-1.10.0-r4.ebuild X-VCS-Directories: dev-python/pycairo/ dev-python/pycairo/files/ X-VCS-Committer: tommy X-VCS-Committer-Name: Thomas Sachau X-VCS-Revision: ee67ea8a9daea840351a640688dbfd9b5c476fc6 X-VCS-Branch: master Date: Sun, 26 Apr 2015 21:16:46 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 89c00275-8a63-4ea5-a0ef-4760e14280c9 X-Archives-Hash: 0c593ef96ed8c6931b2750277cade4ea commit: ee67ea8a9daea840351a640688dbfd9b5c476fc6 Author: Thomas Sachau gentoo org> AuthorDate: Sun Apr 26 21:18:32 2015 +0000 Commit: Thomas Sachau gentoo org> CommitDate: Sun Apr 26 21:18:32 2015 +0000 URL: https://gitweb.gentoo.org/proj/multilib-portage.git/commit/?id=ee67ea8a Update pycairo, initial patch by vloo via irc .../pycairo/files/pycairo-1.10.0-waf-unpack.patch | 12 ++ dev-python/pycairo/pycairo-1.10.0-r2.ebuild | 167 -------------------- dev-python/pycairo/pycairo-1.10.0-r3.ebuild | 174 --------------------- dev-python/pycairo/pycairo-1.10.0-r4.ebuild | 19 ++- 4 files changed, 25 insertions(+), 347 deletions(-) diff --git a/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch b/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch new file mode 100644 index 0000000..7d54ba1 --- /dev/null +++ b/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch @@ -0,0 +1,12 @@ +--- a/waf ++++ b/waf +@@ -153,6 +153,9 @@ + return dir + + wafdir = find_lib() ++if sys.argv[1:] == ['unpack']: ++ print(wafdir) ++ exit() + sys.path.insert(0, wafdir) + from waflib.Tools.c_config import MACRO_TO_DESTOS + MACRO_TO_DESTOS['__POWERPC__'] = 'darwin' diff --git a/dev-python/pycairo/pycairo-1.10.0-r2.ebuild b/dev-python/pycairo/pycairo-1.10.0-r2.ebuild deleted file mode 100644 index d6c42a7..0000000 --- a/dev-python/pycairo/pycairo-1.10.0-r2.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# 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-r2.ebuild,v 1.7 2012/02/13 19:35:24 xarthisius Exp $ - -EAPI="3" -PYTHON_DEPEND="2:2.6 3:3.1" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="2.4 2.5 3.0 *-jython" - -inherit eutils python waf-utils - -PYCAIRO_PYTHON2_VERSION="${PV}" -PYCAIRO_PYTHON3_VERSION="${PV}" - -DESCRIPTION="Python bindings for the cairo library" -HOMEPAGE="http://cairographics.org/pycairo/ http://pypi.python.org/pypi/pycairo" -SRC_URI="http://cairographics.org/releases/py2cairo-${PYCAIRO_PYTHON2_VERSION}.tar.bz2 - http://cairographics.org/releases/pycairo-${PYCAIRO_PYTHON3_VERSION}.tar.bz2 - http://dev.gentoo.org/~binki/distfiles/dev-python/${PN}/${P}-waf-multilib.patch" - -# LGPL-3 for pycairo 1.10.0. -# || ( LGPL-2.1 MPL-1.1 ) for pycairo 1.8.10. -LICENSE="LGPL-3 || ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc examples +svg test" - -RDEPEND=">=x11-libs/cairo-1.10.0[svg?]" -DEPEND="${RDEPEND} - dev-util/pkgconfig - test? ( dev-python/pytest )" - -PYTHON_CFLAGS=("2.* + -fno-strict-aliasing") - -# In case if waf-utils.eclass actually accepts waf-utils_waflibdir() as -# a function. -unset waf-utils_waflibdir 2>/dev/null - -# @FUNCTION: waf-utils_waflibdir -# @USAGE: [] -# @DESCRIPTION: -# Echoes the absolute path to the directory containing waf-based -# project's waflib python module. Ensures that the waflib shipped with a -# project is unpacked if it isn't already. This waflib may be safely -# patched because waf-lite will not touch the waflib directory when it -# is run if it already exists. Uses the waf binary in WAF_BINARY or the -# first argument. -# -# @EXAMPLE -# @CODE -# pushd "$(waf-utils_waflibdir)" || die "Unable to patch waflib" -# epatch "${FILESDIR}"/${P}-waf-fix.patch -# popd -# @CODE -# -# Note that if you are using the python eclass, you must either call -# python_set_active_version or call waf-utils_waflibdir() from within a -# function run by python_execute(). -# -# @CODE -# SUPPORT_PYTHON_ABIS=1 -# inherit python -# -# src_prepare() { -# python_copy_sources -# -# myprepare() { -# epatch "${FILESDIR}"/${P}-sourcecode-fix.patch -# -# pushd "$(waf-utils_saflibdir "$(PYTHON)" waf)" || die "Unable to patch waflib" -# epatch "${FILESDIR}"/${P}-waf-fix.patch -# popd -# } -# python_execute_function -s myprepare -# } -# @CODE -waf-utils_waflibdir() { - debug-print-function ${FUNCNAME} "$@" - - # @ECLASS-VARIABLE: WAF_BINARY - # @DESCRIPTION: - # Eclass can use different waf executable. Usually it is located in "${S}/waf". - : ${WAF_BINARY:="${S}/waf"} - - local waf_binary=${WAF_BINARY} - [[ -n ${1} ]] && waf_binary=${1} - - python -c "import imp, sys; sys.argv[0] = '${waf_binary}'; waflite = imp.load_source('waflite', '${waf_binary}'); print(waflite.find_lib());" \ - || die "Unable to locate or unpack waflib module from the waf script at ${waf_binary}" -} - -# When moving between the different build dirs, we want to use the waf -# associated with each build dir. -WAF_BINARY=./waf - -src_prepare() { - - pushd "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" > /dev/null - rm -f src/config.h || die - epatch "${FILESDIR}/${PN}-1.10.0-svg_check.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" - popd > /dev/null - - preparation() { - local srcdir=${WORKDIR}/${P}-${PYTHON_ABI} - if [[ "${PYTHON_ABI}" == 3.* ]]; then - cp -r "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" "${srcdir}" - else - cp -r "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" "${srcdir}" - fi - - cd "$(waf-utils_waflibdir ${srcdir}/waf)" || die "Unable to patch waflib" - epatch "${DISTDIR}"/${P}-waf-multilib.patch - } - python_execute_function preparation -} - -src_configure() { - if ! use svg; then - export PYCAIRO_DISABLE_SVG="1" - fi - - python_execute_function -s waf-utils_src_configure --nopyc --nopyo -} - -src_compile() { - python_execute_function -s waf-utils_src_compile -} - -src_test() { - test_installation() { - ./waf install --destdir="${T}/tests/${PYTHON_ABI}" - } - python_execute_function -q -s test_installation - - python_execute_py.test -P '${T}/tests/${PYTHON_ABI}${EPREFIX}$(python_get_sitedir)' -s -} - -src_install() { - python_execute_function -s waf-utils_src_install - - dodoc AUTHORS NEWS README || die "dodoc failed" - - if use doc; then - pushd doc/_build/html > /dev/null - insinto /usr/share/doc/${PF}/html - doins -r [a-z]* _static || die "Installation of documentation failed" - popd > /dev/null - fi - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r examples/* || die "Installation of examples failed" - fi -} - -pkg_postinst() { - python_mod_optimize cairo -} - -pkg_postrm() { - python_mod_cleanup cairo -} diff --git a/dev-python/pycairo/pycairo-1.10.0-r3.ebuild b/dev-python/pycairo/pycairo-1.10.0-r3.ebuild deleted file mode 100644 index 5ebe57a..0000000 --- a/dev-python/pycairo/pycairo-1.10.0-r3.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# 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-r2.ebuild,v 1.7 2012/02/13 19:35:24 xarthisius Exp $ - -EAPI="4" -PYTHON_DEPEND="2:2.6 3:3.1" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="2.4 2.5 3.0 *-jython" - -inherit eutils python waf-utils - -PYCAIRO_PYTHON2_VERSION="${PV}" -PYCAIRO_PYTHON3_VERSION="${PV}" - -DESCRIPTION="Python bindings for the cairo library" -HOMEPAGE="http://cairographics.org/pycairo/ http://pypi.python.org/pypi/pycairo" -SRC_URI="http://cairographics.org/releases/py2cairo-${PYCAIRO_PYTHON2_VERSION}.tar.bz2 - http://cairographics.org/releases/pycairo-${PYCAIRO_PYTHON3_VERSION}.tar.bz2 - http://dev.gentoo.org/~binki/distfiles/dev-python/${PN}/${P}-waf-multilib.patch" - -# LGPL-3 for pycairo 1.10.0. -# || ( LGPL-2.1 MPL-1.1 ) for pycairo 1.8.10. -LICENSE="LGPL-3 || ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc examples +svg test xcb" - -RDEPEND=">=x11-libs/cairo-1.10.0[svg?,xcb?] - xcb? ( x11-libs/xpyb )" -DEPEND="${RDEPEND} - virtual/pkgconfig - test? ( dev-python/pytest )" - -PYTHON_CFLAGS=("2.* + -fno-strict-aliasing") - -# In case if waf-utils.eclass actually accepts waf-utils_waflibdir() as -# a function. -unset waf-utils_waflibdir 2>/dev/null - -# @FUNCTION: waf-utils_waflibdir -# @USAGE: [] -# @DESCRIPTION: -# Echoes the absolute path to the directory containing waf-based -# project's waflib python module. Ensures that the waflib shipped with a -# project is unpacked if it isn't already. This waflib may be safely -# patched because waf-lite will not touch the waflib directory when it -# is run if it already exists. Uses the waf binary in WAF_BINARY or the -# first argument. -# -# @EXAMPLE -# @CODE -# pushd "$(waf-utils_waflibdir)" || die "Unable to patch waflib" -# epatch "${FILESDIR}"/${P}-waf-fix.patch -# popd -# @CODE -# -# Note that if you are using the python eclass, you must either call -# python_set_active_version or call waf-utils_waflibdir() from within a -# function run by python_execute(). -# -# @CODE -# SUPPORT_PYTHON_ABIS=1 -# inherit python -# -# src_prepare() { -# python_copy_sources -# -# myprepare() { -# epatch "${FILESDIR}"/${P}-sourcecode-fix.patch -# -# pushd "$(waf-utils_saflibdir "$(PYTHON)" waf)" || die "Unable to patch waflib" -# epatch "${FILESDIR}"/${P}-waf-fix.patch -# popd -# } -# python_execute_function -s myprepare -# } -# @CODE -waf-utils_waflibdir() { - debug-print-function ${FUNCNAME} "$@" - - # @ECLASS-VARIABLE: WAF_BINARY - # @DESCRIPTION: - # Eclass can use different waf executable. Usually it is located in "${S}/waf". - : ${WAF_BINARY:="${S}/waf"} - - local waf_binary=${WAF_BINARY} - [[ -n ${1} ]] && waf_binary=${1} - - python -c "import imp, sys; sys.argv[0] = '${waf_binary}'; waflite = imp.load_source('waflite', '${waf_binary}'); print(waflite.find_lib());" \ - || die "Unable to locate or unpack waflib module from the waf script at ${waf_binary}" -} - -# When moving between the different build dirs, we want to use the waf -# associated with each build dir. -WAF_BINARY=./waf - -src_prepare() { - - pushd "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" > /dev/null - rm -f src/config.h || die - epatch "${FILESDIR}/${PN}-1.10.0-svg_check.patch" - epatch "${FILESDIR}/${PN}-1.10.0-xpyb.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" - popd > /dev/null - - preparation() { - local srcdir=${WORKDIR}/${P}-${PYTHON_ABI} - if [[ "${PYTHON_ABI}" == 3.* ]]; then - cp -r "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" "${srcdir}" - else - cp -r "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" "${srcdir}" - fi - - cd "$(waf-utils_waflibdir ${srcdir}/waf)" || die "Unable to patch waflib" - epatch "${DISTDIR}"/${P}-waf-multilib.patch - } - python_execute_function preparation -} - -src_configure() { - if ! use svg; then - export PYCAIRO_DISABLE_SVG=1 - fi - - if ! use xcb; then - export PYCAIRO_DISABLE_XPYB=1 - fi - - python_execute_function -s waf-utils_src_configure --nopyc --nopyo -} - -src_compile() { - python_execute_function -s waf-utils_src_compile -} - -src_test() { - test_installation() { - ./waf install --destdir="${T}/tests/${PYTHON_ABI}" - } - python_execute_function -q -s test_installation - - python_execute_py.test -P '${T}/tests/${PYTHON_ABI}${EPREFIX}$(python_get_sitedir)' -s -} - -src_install() { - python_execute_function -s waf-utils_src_install - - dodoc AUTHORS NEWS README || die "dodoc failed" - - if use doc; then - pushd doc/_build/html > /dev/null - insinto /usr/share/doc/${PF}/html - doins -r [a-z]* _static || die "Installation of documentation failed" - popd > /dev/null - fi - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r examples/* || die "Installation of examples failed" - fi -} - -pkg_postinst() { - python_mod_optimize cairo -} - -pkg_postrm() { - python_mod_cleanup cairo -} diff --git a/dev-python/pycairo/pycairo-1.10.0-r4.ebuild b/dev-python/pycairo/pycairo-1.10.0-r4.ebuild index be59836..06b1311 100644 --- a/dev-python/pycairo/pycairo-1.10.0-r4.ebuild +++ b/dev-python/pycairo/pycairo-1.10.0-r4.ebuild @@ -1,9 +1,10 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2015 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-r4.ebuild,v 1.4 2013/01/14 17:29:27 bicatali Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pycairo/pycairo-1.10.0-r4.ebuild,v 1.21 2015/04/08 08:05:21 mgorny Exp $ EAPI="5" -PYTHON_COMPAT=( python2_{6,7} python3_{1,2,3} ) +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +PYTHON_REQ_USE='threads(+)' inherit eutils python-r1 waf-utils @@ -35,8 +36,6 @@ DEPEND="${RDEPEND} test? ( dev-python/pytest[${PYTHON_USEDEP}] ) " -PYTHON_CFLAGS=("2.* + -fno-strict-aliasing") - # In case if waf-utils.eclass actually accepts waf-utils_waflibdir() as # a function. unset waf-utils_waflibdir 2>/dev/null @@ -104,6 +103,7 @@ 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}/${PN}-1.10.0-waf-unpack.patch" epatch "${FILESDIR}"/py2cairo-1.10.0-ppc-darwin.patch cd "$(waf-utils_waflibdir waf)" || die "Unable to patch waflib" epatch "${DISTDIR}"/${P}-waf-multilib.patch @@ -119,8 +119,14 @@ src_prepare() { popd > /dev/null preparation() { - if [[ ${EPYTHON} == python3.* ]]; then + if python_is_python3; then cp -r -l "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" > /dev/null + wafdir="$(./waf unpack)" + pushd "${wafdir}" > /dev/null + epatch "${FILESDIR}/${PN}-1.10.0-waf-py3_4.patch" + popd > /dev/null + popd > /dev/null else cp -r -l "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" "${BUILD_DIR}" || die fi @@ -149,6 +155,7 @@ src_configure() { } src_compile() { + MAKEOPTS="$MAKEOPTS -j1" python_foreach_impl run_in_build_dir waf-utils_src_compile }