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 510631384B4 for ; Wed, 23 Dec 2015 16:45:13 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7E8F0E08F6; Wed, 23 Dec 2015 16:44:52 +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 5C937E08A5 for ; Wed, 23 Dec 2015 16:44:51 +0000 (UTC) Received: from localhost.localdomain (d202-251.icpnet.pl [109.173.202.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 73920340766; Wed, 23 Dec 2015 16:44:48 +0000 (UTC) From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Cc: python@gentoo.org, =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Subject: [gentoo-dev] [PATCH 0/5] python-r1 suite: python_gen_impl_dep() function Date: Wed, 23 Dec 2015 17:44:35 +0100 Message-Id: <1450889080-1920-1-git-send-email-mgorny@gentoo.org> X-Mailer: git-send-email 2.6.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Archives-Salt: 065d5f15-f3c5-4f85-be0c-455c6a52f353 X-Archives-Hash: b1e3e24bc304da319d42646cd835b848 Hi, Here's a quick set of patches that add python_gen_impl_dep() function to python-r1 and python-single-r1 eclasses, and use them in a few ebuilds. The problem solved is that some Python packages need to depend on more than one combination of USE flags on the Python interpreter. Currently, we solved this through bash-substituting USE dependencies in generated ${PYTHON_DEPS} -- though this was kinda ugly. The python_gen_impl_dep() function intends to match API of other functions. In particular, its usage is: python_gen_impl_dep [...] where req-use defines the USE-dep for Python interpreters (alike PYTHON_REQ_USE) and can optionally be an empty string, and impl-patterns specify PYTHON_COMPAT patterns to match implementations that will be present in the dependency. If no patterns are passed, '*' is assumed. Examples (for PYTHON_COMPAT=( python2_7 python3_4 )): python_gen_impl_dep 'bzip2(+)' python_targets_python2_7? ( dev-lang/python:2.7[bzip2(+)] ) python_targets_python3_4? ( dev-lang/python:3.4[bzip2(+)] ) python_gen_impl_dep '' python_targets_python2_7? ( dev-lang/python:2.7 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_gen_impl_dep '' python3* python_targets_python3_4? ( dev-lang/python:3.4 ) Please review the patches sent in reply. Michał Górny (5): python-r1.eclass: Introduce python_gen_impl_dep python-single-r1.eclass: Add python_gen_impl_dep, alike in python-r1 app-emulation/xen-tools: Make use of new python_gen_impl_dep function dev-python/django: Make use of the new python_gen_impl_dep function sys-apps/portage: Make use of the new python_gen_impl_dep function app-emulation/xen-tools/xen-tools-4.2.5-r10.ebuild | 2 +- app-emulation/xen-tools/xen-tools-4.2.5-r11.ebuild | 2 +- app-emulation/xen-tools/xen-tools-4.5.2-r2.ebuild | 4 +- app-emulation/xen-tools/xen-tools-4.5.2-r3.ebuild | 4 +- app-emulation/xen-tools/xen-tools-4.6.0-r4.ebuild | 2 +- app-emulation/xen-tools/xen-tools-4.6.0-r5.ebuild | 2 +- dev-python/django/django-1.4.22.ebuild | 2 +- dev-python/django/django-1.5.12.ebuild | 2 +- dev-python/django/django-1.6.11.ebuild | 2 +- dev-python/django/django-1.7.11.ebuild | 2 +- dev-python/django/django-1.8.7.ebuild | 2 +- dev-python/django/django-1.9.ebuild | 2 +- dev-python/django/django-9999.ebuild | 2 +- eclass/python-r1.eclass | 52 +++++++++++++++++++ eclass/python-single-r1.eclass | 58 ++++++++++++++++++++++ sys-apps/portage/portage-2.2.20.1.ebuild | 3 +- sys-apps/portage/portage-2.2.23.ebuild | 3 +- sys-apps/portage/portage-2.2.24.ebuild | 3 +- sys-apps/portage/portage-2.2.25.ebuild | 3 +- sys-apps/portage/portage-2.2.26.ebuild | 3 +- sys-apps/portage/portage-9999.ebuild | 3 +- 21 files changed, 131 insertions(+), 27 deletions(-) -- 2.6.4