FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 09-06-2012, 08:44 PM
hasufell
 
Default 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?
 
Old 09-06-2012, 08:58 PM
Michał Górny
 
Default 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
 
Old 09-06-2012, 09:27 PM
Brian Harring
 
Default 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
 
Old 09-06-2012, 11:08 PM
Jonathan Callen
 
Default 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-----
 
Old 09-08-2012, 01:04 PM
hasufell
 
Default 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-----
 
Old 09-08-2012, 06:36 PM
Michał Górny
 
Default 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
 

Thread Tools




All times are GMT. The time now is 10:49 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org