python-distutils-ng.eclass: allow useflag dependencies for python
I am missing a replacement for PYTHON_USE_WITH.
Would the attached patch help in any way? Review? Other ideas? |
python-distutils-ng.eclass: allow useflag dependencies for python
On Thu, 06 Sep 2012 22:44:34 +0200
hasufell <hasufell@gentoo.org> wrote: > --- python-distutils-ng.eclass > +++ python-distutils-ng.eclass > @@ -59,6 +59,25 @@ > # Set to any value to disable automatic reinstallation of scripts in > bin # directories. See python-distutils-ng_src_install function. > > +# @ECLASS-VARIABLE: PYTHON_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# comma seperated list of useflags needed for python > +# this is directly substituted into dev-lang/python[${PYTHON_USE}] > thus allowing +# all valid useflag dependencies > +# example 1: PYTHON_USE="xml,sqlite" > +# example 2: PYTHON_USE="xml?,threads?,-foo" > + > +# @ECLASS-VARIABLE: JYTHON_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# same as PYTHON_USE just for JYTHON > + > +# @ECLASS-VARIABLE: PYPY_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# same as PYTHON_USE just for PYPY > + Why I feel like we're close to PYTHON2_USE, PYTHON3_USE, PYTHON3NG_USE... > EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test > src_install > case "${EAPI}" in > @@ -107,16 +126,22 @@ > fi > unset required_use_str > > +# avoid empty use deps > +[[ -n ${PYTHON_USE} ]] && _PYTHON_USE="[${PYTHON_USE}]" || > _PYTHON_USE="" +[[ -n ${JYTHON_USE} ]] && > _JYTHON_USE="[${JYTHON_USE}]" || _JYTHON_USE="" +[[ -n ${PYPY_USE} ]] > && _PYPY_USE="[${PYPY_USE}]" || _PYPY_USE="" + > +# set python DEPEND and RDEPEND > for impl in ${PYTHON_COMPAT}; do > IUSE+=" python_targets_${impl}" > dep_str="${impl/_/.}" > case "${dep_str}" in > python?.?) > - dep_str="dev-lang/python:${dep_str: -3}" ;; > + dep_str="dev-lang/python:${dep_str: > -3}${_PYTHON_USE}" ;; jython?.?) > - dep_str="dev-java/jython:${dep_str: -3}" ;; > + dep_str="dev-java/jython:${dep_str: > -3}${_JYTHON_USE}" ;; pypy?.?) > - dep_str="dev-python/pypy:${dep_str: -3}" ;; > + dep_str="dev-python/pypy:${dep_str: > -3}${_PYPY_USE}" ;; *) > die "Unsupported implementation: ${impl}" ;; > esac I have to think more about this. Where are your use cases? -- Best regards, Michał Górny |
python-distutils-ng.eclass: allow useflag dependencies for python
On Thu, Sep 06, 2012 at 10:44:34PM +0200, hasufell wrote:
> I am missing a replacement for PYTHON_USE_WITH. > > Would the attached patch help in any way? Review? Other ideas? > --- python-distutils-ng.eclass > +++ python-distutils-ng.eclass > @@ -59,6 +59,25 @@ > # Set to any value to disable automatic reinstallation of scripts in bin > # directories. See python-distutils-ng_src_install function. > > +# @ECLASS-VARIABLE: PYTHON_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# comma seperated list of useflags needed for python > +# this is directly substituted into dev-lang/python[${PYTHON_USE}] thus allowing > +# all valid useflag dependencies > +# example 1: PYTHON_USE="xml,sqlite" > +# example 2: PYTHON_USE="xml?,threads?,-foo" > + > +# @ECLASS-VARIABLE: JYTHON_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# same as PYTHON_USE just for JYTHON > + > +# @ECLASS-VARIABLE: PYPY_USE > +# @DEFAULT_UNSET > +# @DESCRIPTION: > +# same as PYTHON_USE just for PYPY > + > EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install > > case "${EAPI}" in > @@ -107,16 +126,22 @@ > fi > unset required_use_str > > +# avoid empty use deps > +[[ -n ${PYTHON_USE} ]] && _PYTHON_USE="[${PYTHON_USE}]" || _PYTHON_USE="" > +[[ -n ${JYTHON_USE} ]] && _JYTHON_USE="[${JYTHON_USE}]" || _JYTHON_USE="" > +[[ -n ${PYPY_USE} ]] && _PYPY_USE="[${PYPY_USE}]" || _PYPY_USE="" Ick. _PYTHON_USE="${PYTHON_USE:+[${PYTHON_USE}]}" _JYTHON_USE="${JYTHON_USE:+[${JYTHON_USE}]}" _PYPY_USE="${PYPY_USE:+[${PYPY_USE}]}" > + > +# set python DEPEND and RDEPEND > for impl in ${PYTHON_COMPAT}; do > IUSE+=" python_targets_${impl}" > dep_str="${impl/_/.}" > case "${dep_str}" in > python?.?) > - dep_str="dev-lang/python:${dep_str: -3}" ;; > + dep_str="dev-lang/python:${dep_str: -3}${_PYTHON_USE}" ;; should I ask wth the space is for? > jython?.?) > - dep_str="dev-java/jython:${dep_str: -3}" ;; > + dep_str="dev-java/jython:${dep_str: -3}${_JYTHON_USE}" ;; > pypy?.?) > - dep_str="dev-python/pypy:${dep_str: -3}" ;; > + dep_str="dev-python/pypy:${dep_str: -3}${_PYPY_USE}" ;; > *) > die "Unsupported implementation: ${impl}" ;; > esac |
python-distutils-ng.eclass: allow useflag dependencies for python
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512 On 09/06/2012 05:27 PM, Brian Harring wrote: > On Thu, Sep 06, 2012 at 10:44:34PM +0200, hasufell wrote: >> - dep_str="dev-lang/python:${dep_str: -3}" ;; + >> dep_str="dev-lang/python:${dep_str: -3}${_PYTHON_USE}" ;; > should I ask wth the space is for? > Without the space, ${dep_str:-3} means "${dep_str} unless empty or unset, otherwise 3"; with the space, ${dep_str: -3} (can also be written ${dep_str:(-3)}) means "the last 3 characters of ${dep_str}". -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBCgAGBQJQSSzXAAoJELHSF2kinlg4UMUP/1xlAEhmy9JfDp//IPssBZ6g SsO1eNbPjFtU8bFAWDAcbCMQ4c4bYB7xeAYCwn90qccpYiyOqf tWCRiF5CPdou0T ntUp2dpPkps1NkuuxSEwfk2jr91s38ri8GA3WOlT4AjADhjjjp IQjn7ib9SVYKVj ZywHrwxjpHlkR7SaALAriwg6hkkrdtNKVtqnWyGKfx570e0rGJ k+EK5SbnwtzHaD ttmKkSFcHrkyPamTrmLa2udjqnnVMi0wuRi8IC5NP5AgF3osj9 1fqq1waBpViXxL UVB397OpsHwXxP5uAWJ6O8eFPviCq8HcstRCg+XXnBIdyQYQcV B80aA+r+kfqfjI d2WGBS5wNwYILGW1L5S5z5tcGibJKkraCvwI2vhNYItzL43X2o BuuiwVKo7u0cd2 P04g3vwBAfcMvGKo/GFWyUGvsLrdl9Fcnmiyv86XvJSo8guhx0NO628x/4uFY+uU /IsbgXcWCC48HLmLqypE+kBVofkR7nWGNecEvHlgTe/4oLzpyJzOj/5bgTUbioW+ w9Rj/0S3K/GOYYfbBjvsQKH3vSuYqPP2/6KuG5N/r98lCtkaRujfxj7t7NlSqRT0 1XGr9Y+YZlE6YBQ/JjrfsOH9uotohvutY2aIxUlfe1MFjbixI3Q7p/9EWaZ89Cwq 8saYFqjaWfe9lHmwxxbJ =x+TM -----END PGP SIGNATURE----- |
python-distutils-ng.eclass: allow useflag dependencies for python
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 > Where are your use cases? qgrep PYTHON_USE_WITH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJQS0J1AAoJEFpvPKfnPDWzktAH/jY5/hfkIv6Gn+mRBg3ROtKh EQ0vAJV3ZXSsIlO7UOxJf79wj1TqiApAhXvUxs5orJKOuCqc3P fq41KNV/KfyRiS zno/4sSVvgU6udSGx3BScbDIQi6T7bQKquP3FalDw30v2/xDqYdTPFCx+qfRG0Eu erquQOiMs2OzBBzQn95xnjGaWN7Z9QBmkdIS3pC4hB2hIGOQmB EskRCQVtA9mfog wM5war7DpTUsyrcJb67LZy0AeACN42xHJ7KFMkqVYp1WkT7Y04 LmWmCjUJfSK7Yt osZ2r/SUpCHQ1cJ5LM5DunboV7j2DZGzyNvCM2N3phnfYbQWAxhWoI4I dc4YzqE= =KICW -----END PGP SIGNATURE----- |
python-distutils-ng.eclass: allow useflag dependencies for python
On Sat, 08 Sep 2012 15:04:53 +0200
hasufell <hasufell@gentoo.org> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > Where are your use cases? > > qgrep PYTHON_USE_WITH That gives more cases than your solution can handle... -- Best regards, Michał Górny |
| All times are GMT. The time now is 01:24 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.