public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
@ 2010-11-28 19:32 Arfrever Frehtes Taifersar Arahesis
  2010-11-28 20:15 ` Markos Chandras
  2010-11-28 20:20 ` Michał Górny
  0 siblings, 2 replies; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-28 19:32 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 8981 bytes --]

I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
EAPI >=4. The new syntax will depend on whether given package supports installation for
multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.

================================================================================================
PYTHON_DEPEND in EAPI <=3, PYTHON_USE_WITH*

(It's a reminder. No changes will occur here.)

PYTHON_DEPEND has 2 possible forms:
  PYTHON_DEPEND="${range_of_versions}"
  PYTHON_DEPEND="${USE_flag}? ${range_of_versions}"

This syntax doesn't allow to specify conditions depending on more than 1 USE flag.

PYTHON_USE_WITH and PYTHON_USE_WITH_OR specify USE dependencies. PYTHON_USE_WITH_OPT is used
to make PYTHON_USE_WITH or PYTHON_USE_WITH_OR conditional under a USE flag. It doesn't allow
to specify more complicated conditions (e.g. USE="A" enables dependency on Python[tk], while
USE="B" enables dependency on Python[xml]).

================================================================================================
PYTHON_DEPEND in EAPI >=4 in packages not supporting installation for multiple Python ABIs

Syntax of "${range_of_versions}" will remain the same as in EAPI <=3. The new syntax of
PYTHON_DEPEND will support USE conditionals and USE dependencies in {,R,P}DEPEND-style.
If PYTHON_DEPEND contains only 1 "${range_of_versions}", then no other elements in value of
whole PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}" should be included
between "<<" and ">>" markers. Potential USE dependencies should be included between "[" and "]"
markers directly after given "${range_of_versions}".

Examples:
  # Dependency on Python 2.7 or 2.6.
  PYTHON_DEPEND="2:2.6"

  # Dependency on Python 2.7 or 2.6.
  PYTHON_DEPEND="<<2:2.6>>"

  # Dependency on Python 2.7 or 2.6 when "A" USE flag is enabled.
  PYTHON_DEPEND="A? ( <<2:2.6>> )"

  # Dependency on Python 2.7 or 2.6 when "A" and "B" USE flags are enabled.
  PYTHON_DEPEND="A? ( B? ( <<2:2.6>> ) )"

  # Dependency on Python 2.7 or 2.6 when "A" and "B" USE flags are enabled and "C" USE flag is
  # disabled.
  PYTHON_DEPEND="A? ( B? ( !C? ( <<2:2.6>> ) ) )"

  # Dependency on Python 2 always, and 2.7 or 2.6 when "A" USE flag is enabled.
  PYTHON_DEPEND="<<2>> A? ( <<2:2.6>> )"

  # Dependency on Python 2 and 3. (It will probably never be used.)
  PYTHON_DEPEND="<<2>> <<3>>"

  # Dependency on Python 2 when "python2" USE flag is enabled, and Python 3 when "python3"
  # USE flag is enabled.
  PYTHON_DEPEND="python2? ( <<2>> ) python3? ( <<3>> )"

  # Dependency on Python 2.7 or 2.6 with "ncurses", "threads" and "xml" USE flags.
  PYTHON_DEPEND="<<2:2.6[ncurses,threads,xml]>>"

  # Dependency on Python 2.7 or 2.6 with "ncurses" and "threads" USE flags, and "xml" USE flag
  # when "xml" USE flag is enabled.
  PYTHON_DEPEND="<<2:2.6[ncurses,threads,xml?]>>"

  # Dependency on Python 2.7 or 2.6 with "ncurses" and "threads" USE flags, and "xml" USE flag
  # when "A" USE flag is enabled.
  PYTHON_DEPEND="<<2:2.6[ncurses,threads]>> A? ( <<2:2.6[xml]>> )"

  # Dependency on Python 2.7 or 2.6 with enabled "ncurses" USE flag and disabled "threads" USE
  # flag.
  PYTHON_DEPEND="<<2:2.6[ncurses,-threads]>>"

  # Dependency on Python 3.1, 2.6 or 2.5 with "ncurses" and "threads" USE flags.
  PYTHON_DEPEND="<<2:2.5:2.6 3:3.1:3.1[ncurses,threads]>>"

  # Dependency on Python 2 with "berkdb" or "gdbm" USE flag.
  PYTHON_DEPEND="|| ( <<2[berkdb]>> <<2[gdbm]>> )"

  # Dependency on Python 2 with "berkdb" or "gdbm" USE flag when "A" USE flag is enabled.
  PYTHON_DEPEND="A? ( || ( <<2[berkdb]>> <<2[gdbm]>> ) )"

The last 2 examples present replacement for PYTHON_USE_WITH_OR. PYTHON_USE_WITH_OR is used by
only 1 package and it's unlikely that there will be many other packages, so I don't plan to
introduce special, shorter syntax for specifying of USE flags of which at least one must be
enabled.

USE dependencies specified between "[" and "]" will be used literally in generated DEPEND and
RDEPEND.

Appropriate has_version() checks in python_pkg_setup() will be generated from PYTHON_DEPEND.
(They are generated from PYTHON_USE_WITH/PYTHON_USE_WITH_OR in EAPI <=3.)

If PYTHON_DEPEND is empty or unset, then no dependency on Python will be generated.

PYTHON_USE_WITH* variables will be banned in EAPI >=4.

================================================================================================
PYTHON_DEPEND in EAPI >=4 in packages supporting installation for multiple Python ABIs

Changes presented in this section can occur only if EAPI="4" contains support for dots in USE
flags.

The list of supported Python versions will depend only on RESTRICT_PYTHON_ABIS variable.
The new syntax of PYTHON_DEPEND will support USE conditionals and USE dependencies in
{,R,P}DEPEND-style. "<<>>" marker will be used to indicate dependencies on Python. Potential
USE dependencies should be included between "[" and "]" markers between "<<" and ">>".

If PYTHON_DEPEND is unset, then it will be treated as PYTHON_DEPEND="<<>>".
If PYTHON_DEPEND is set and empty, then no dependency on Python will be generated.

Examples:
  # No dependency on Python.
  PYTHON_DEPEND=""

  # Dependency on Python.
  # Unset PYTHON_DEPEND

  # Dependency on Python.
  PYTHON_DEPEND="<<>>"

  # Dependency on Python when "A" USE flag is enabled.
  PYTHON_DEPEND="A? ( <<>> )"

  # Dependency on Python when "A" and "B" USE flags are enabled.
  PYTHON_DEPEND="A? ( B? ( <<>> ) )"

  # Dependency on Python when "A" and "B" USE flags are enabled and "C" USE flag is disabled.
  PYTHON_DEPEND="A? ( B? ( !C? ( <<>> ) ) )"

  # Dependency on Python with "ncurses", "threads" and "xml" USE flags.
  PYTHON_DEPEND="<<[ncurses,threads,xml]>>"

  # Dependency on Python with "ncurses" and "threads" USE flags, and "xml" USE flag when "xml"
  # USE flag is enabled.
  PYTHON_DEPEND="<<[ncurses,threads,xml?]>>"

  # Dependency on Python with "ncurses" and "threads" USE flags, and "xml" USE flag when "A"
  # USE flag is enabled.
  PYTHON_DEPEND="<<[ncurses,threads]>> A? ( <<[xml]>> )"

  # Dependency on Python with enabled "ncurses" USE flag and disabled "threads" USE flag.
  PYTHON_DEPEND="<<[ncurses,-threads]>>"

  # Dependency on Python with "berkdb" or "gdbm" USE flag.
  PYTHON_DEPEND="|| ( <<[berkdb]>> <<[gdbm]>> )"

  # Dependency on Python with "berkdb" or "gdbm" USE flag when "A" USE flag is enabled.
  PYTHON_DEPEND="A? ( || ( <<[berkdb]>> <<[gdbm]>> ) )"

Each "<<>>" will be replaced in generated DEPEND and RDEPEND by something similar to:
  python_abis_2.4? ( dev-lang/python:2.4 )
  python_abis_2.5? ( dev-lang/python:2.5 )
  python_abis_2.6? ( dev-lang/python:2.6 )
  python_abis_2.7? ( dev-lang/python:2.7 )
  python_abis_3.0? ( dev-lang/python:3.0 )
  python_abis_3.1? ( dev-lang/python:3.1 )
  python_abis_3.2? ( dev-lang/python:3.2 )
  python_abis_2.5-jython? ( dev-java/jython:2.5 )

If USE dependencies have been specified in PYTHON_DEPEND, then they will be used literally
in generated DEPEND and RDEPEND:
  python_abis_2.4? ( dev-lang/python:2.4[threads,xml] )
  python_abis_2.5? ( dev-lang/python:2.5[threads,xml] )
  ...

No has_version() checks in python_pkg_setup() will be generated from PYTHON_DEPEND.

PYTHON_USE_WITH* variables will be banned in EAPI >=4.

Appropriate REQUIRED_USE will be generated from PYTHON_DEPEND.

Examples:
  # Unset PYTHON_DEPEND or PYTHON_DEPEND="<<>>" can generate:
  REQUIRED_USE="|| ( python_abis_2.4 python_abis_2.5 python_abis_2.6 python_abis_2.7 python_abis_3.0 python_abis_3.0 python_abis_3.1 python_abis_3.2 python_abis_2.5-jython )"

  # PYTHON_DEPEND="A? ( B? ( <<[ncurses,threads]>> ) )" can generate:
  REQUIRED_USE="A? ( B? ( || ( python_abis_2.4 python_abis_2.5 python_abis_2.6 python_abis_2.7 python_abis_3.0 python_abis_3.0 python_abis_3.1 python_abis_3.2 python_abis_2.5-jython ) ) )"

================================================================================================
PYTHON_BDEPEND

I would also like to introduce PYTHON_BDEPEND variable, which will affect only DEPEND without
RDEPEND. PYTHON_BDEPEND will have the same syntax as PYTHON_DEPEND in given EAPI and type of
package. PYTHON_BDEPEND maybe won't affect REQUIRED_USE and has_version() checks in
python_pkg_setup(). PYTHON_BDEPEND won't affect PYTHON_DEPEND's influence on DEPEND
(dependencies will be concatenated). PYTHON_BDEPEND probably will be used mainly in packages
not supporting installation for multiple Python ABIs. In packages supporting installation for
multiple Python ABIs, PYTHON_BDEPEND can be useful only to specify USE dependencies (e.g. USE
dependencies conditional on "test" USE flag). Unset PYTHON_BDEPEND won't affect DEPEND.

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 19:32 [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND Arfrever Frehtes Taifersar Arahesis
@ 2010-11-28 20:15 ` Markos Chandras
  2010-11-28 20:30   ` Arfrever Frehtes Taifersar Arahesis
  2010-11-29  4:13   ` Jeremy Olexa
  2010-11-28 20:20 ` Michał Górny
  1 sibling, 2 replies; 12+ messages in thread
From: Markos Chandras @ 2010-11-28 20:15 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1104 bytes --]

On Sun, Nov 28, 2010 at 08:32:16PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
> EAPI >=4. The new syntax will depend on whether given package supports installation for
> multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.
> 
> [...]

Your changes are far too complicated to me. Python eclass and
consequently writing python ebuilds is a difficult task already.
If you keep adding more and more "magic" in this eclass,
you will end up supporting and fixing all the python ebuilds by
yourself. Maybe you should consider splitting python eclass 
into two separate modules. One for core functionality and 
another one which will inherit this core eclass and export 
a simple API so the rest of us can use python eclass without 
having to study all the documentation for a month.

-- 
Markos Chandras (hwoarang)
Gentoo Linux Developer
Web: http://hwoarang.silverarrow.org
Key ID: 441AC410
Key FP: AAD0 8591 E3CD 445D 6411  3477 F7F7 1E8E 441A C410

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 19:32 [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND Arfrever Frehtes Taifersar Arahesis
  2010-11-28 20:15 ` Markos Chandras
@ 2010-11-28 20:20 ` Michał Górny
  2010-11-28 20:34   ` Arfrever Frehtes Taifersar Arahesis
  2010-11-29  0:24   ` Alex Alexander
  1 sibling, 2 replies; 12+ messages in thread
From: Michał Górny @ 2010-11-28 20:20 UTC (permalink / raw
  To: gentoo-dev; +Cc: Arfrever

[-- Attachment #1: Type: text/plain, Size: 478 bytes --]

On Sun, 28 Nov 2010 20:32:16 +0100
Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:

> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> should be included between "<<" and ">>" markers.

Do we really need to introduce those ugly markers? AFAICS in all places
they're used you could simply either use version numbers themselves or
'*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:15 ` Markos Chandras
@ 2010-11-28 20:30   ` Arfrever Frehtes Taifersar Arahesis
  2010-11-29  4:13   ` Jeremy Olexa
  1 sibling, 0 replies; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-28 20:30 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 1584 bytes --]

2010-11-28 21:15:15 Markos Chandras napisał(a):
> On Sun, Nov 28, 2010 at 08:32:16PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> > I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
> > EAPI >=4. The new syntax will depend on whether given package supports installation for
> > multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.
> > 
> > [...]
> 
> Your changes are far too complicated to me. Python eclass and
> consequently writing python ebuilds is a difficult task already.
> If you keep adding more and more "magic" in this eclass,
> you will end up supporting and fixing all the python ebuilds by
> yourself. Maybe you should consider splitting python eclass 
> into two separate modules. One for core functionality and 
> another one which will inherit this core eclass and export 
> a simple API so the rest of us can use python eclass without 
> having to study all the documentation for a month.

The changes aren't complicated. You only need to understand special "<<>>" marker.
The syntax of ranges of versions in packages not supporting installation for multiple Python ABIs
won't be changed. Majority of ebuilds won't need to explicitly use any extended functionality
of PYTHON_DEPEND. In ebuilds, which support installation for multiple Python ABIs, unconditionally
depend on Python and don't need additional USE dependencies on Python, I will unset PYTHON_DEPEND,
because it will work like PYTHON_DEPEND="<<>>".

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:20 ` Michał Górny
@ 2010-11-28 20:34   ` Arfrever Frehtes Taifersar Arahesis
  2010-11-28 20:39     ` Michał Górny
  2010-11-29  0:24   ` Alex Alexander
  1 sibling, 1 reply; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-28 20:34 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 1154 bytes --]

2010-11-28 21:20:31 Michał Górny napisał(a):
> On Sun, 28 Nov 2010 20:32:16 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> 
> > PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> > should be included between "<<" and ">>" markers.
> 
> Do we really need to introduce those ugly markers? AFAICS in all places
> they're used you could simply either use version numbers themselves or
> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').

I prefer to use a character sequence, which isn't valid in DEPEND/RDEPEND/PDEPEND.

I don't know what you mean by "version numbers". Remember that each "<<>>" in an ebuild with empty
RESTRICT_PYTHON_ABIS is replaced in DEPEND/RDEPEND by:
  python_abis_2.4? ( dev-lang/python:2.4 )
  python_abis_2.5? ( dev-lang/python:2.5 )
  python_abis_2.6? ( dev-lang/python:2.6 )
  python_abis_2.7? ( dev-lang/python:2.7 )
  python_abis_3.0? ( dev-lang/python:3.0 )
  python_abis_3.1? ( dev-lang/python:3.1 )
  python_abis_3.2? ( dev-lang/python:3.2 )
  python_abis_2.5-jython? ( dev-java/jython:2.5 )

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:34   ` Arfrever Frehtes Taifersar Arahesis
@ 2010-11-28 20:39     ` Michał Górny
  2010-11-28 20:53       ` Arfrever Frehtes Taifersar Arahesis
  0 siblings, 1 reply; 12+ messages in thread
From: Michał Górny @ 2010-11-28 20:39 UTC (permalink / raw
  To: gentoo-dev; +Cc: Arfrever

[-- Attachment #1: Type: text/plain, Size: 1493 bytes --]

On Sun, 28 Nov 2010 21:34:49 +0100
Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:

> 2010-11-28 21:20:31 Michał Górny napisał(a):
> > On Sun, 28 Nov 2010 20:32:16 +0100
> > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> > 
> > > PYTHON_DEPEND will be required. Otherwise each
> > > "${range_of_versions}" should be included between "<<" and ">>"
> > > markers.
> > 
> > Do we really need to introduce those ugly markers? AFAICS in all
> > places they're used you could simply either use version numbers
> > themselves or '*' (instead of '<<>>', and '*[...]' instead of
> > '<<[...]>>').
> 
> I prefer to use a character sequence, which isn't valid in
> DEPEND/RDEPEND/PDEPEND.

Plain version numbers aren't valid there as well.

> I don't know what you mean by "version numbers". Remember that each
> "<<>>" in an ebuild with empty RESTRICT_PYTHON_ABIS is replaced in
> DEPEND/RDEPEND by: python_abis_2.4? ( dev-lang/python:2.4 )
>   python_abis_2.5? ( dev-lang/python:2.5 )
>   python_abis_2.6? ( dev-lang/python:2.6 )
>   python_abis_2.7? ( dev-lang/python:2.7 )
>   python_abis_3.0? ( dev-lang/python:3.0 )
>   python_abis_3.1? ( dev-lang/python:3.1 )
>   python_abis_3.2? ( dev-lang/python:3.2 )
>   python_abis_2.5-jython? ( dev-java/jython:2.5 )

And we could use simply '*' instead. Similarly to what we use
in PYTHON_DEPEND now. That wouldn't be valid in *DEPEND as well.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:39     ` Michał Górny
@ 2010-11-28 20:53       ` Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-28 20:53 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 2090 bytes --]

2010-11-28 21:39:43 Michał Górny napisał(a):
> On Sun, 28 Nov 2010 21:34:49 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> 
> > 2010-11-28 21:20:31 Michał Górny napisał(a):
> > > On Sun, 28 Nov 2010 20:32:16 +0100
> > > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> > > 
> > > > PYTHON_DEPEND will be required. Otherwise each
> > > > "${range_of_versions}" should be included between "<<" and ">>"
> > > > markers.
> > > 
> > > Do we really need to introduce those ugly markers? AFAICS in all
> > > places they're used you could simply either use version numbers
> > > themselves or '*' (instead of '<<>>', and '*[...]' instead of
> > > '<<[...]>>').
> > 
> > I prefer to use a character sequence, which isn't valid in
> > DEPEND/RDEPEND/PDEPEND.
> 
> Plain version numbers aren't valid there as well.
> 
> > I don't know what you mean by "version numbers". Remember that each
> > "<<>>" in an ebuild with empty RESTRICT_PYTHON_ABIS is replaced in
> > DEPEND/RDEPEND by: python_abis_2.4? ( dev-lang/python:2.4 )
> >   python_abis_2.5? ( dev-lang/python:2.5 )
> >   python_abis_2.6? ( dev-lang/python:2.6 )
> >   python_abis_2.7? ( dev-lang/python:2.7 )
> >   python_abis_3.0? ( dev-lang/python:3.0 )
> >   python_abis_3.1? ( dev-lang/python:3.1 )
> >   python_abis_3.2? ( dev-lang/python:3.2 )
> >   python_abis_2.5-jython? ( dev-java/jython:2.5 )
> 
> And we could use simply '*' instead. Similarly to what we use
> in PYTHON_DEPEND now. That wouldn't be valid in *DEPEND as well.

'*' in range of versions has different meaning. Ranges of versions in ebuilds NOT supporting
installation for multiple Python ABIs still need to be explicitly included. In these ebuilds,
"<<" and ">>" indicate where characters of range of versions start and end.

Example:
  # Dependency on any version of Python when "A" and "B" USE flags are enabled.
  # PYTHON_DEPEND in EAPI <=3 doesn't allow to specify such a condition.
  PYTHON_DEPEND="A? ( B? ( <<*>> ) )"

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:20 ` Michał Górny
  2010-11-28 20:34   ` Arfrever Frehtes Taifersar Arahesis
@ 2010-11-29  0:24   ` Alex Alexander
  2010-11-29  1:48     ` Arfrever Frehtes Taifersar Arahesis
  1 sibling, 1 reply; 12+ messages in thread
From: Alex Alexander @ 2010-11-29  0:24 UTC (permalink / raw
  To: gentoo-dev@lists.gentoo.org

On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:

> On Sun, 28 Nov 2010 20:32:16 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> 
>> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
>> should be included between "<<" and ">>" markers.
> 
> Do we really need to introduce those ugly markers? AFAICS in all places
> they're used you could simply either use version numbers themselves or
> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
> 
> -- 
> Best regards,
> Michał Górny

I agree, reading these markers hurts my eyes :p

Alex | wired



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-29  0:24   ` Alex Alexander
@ 2010-11-29  1:48     ` Arfrever Frehtes Taifersar Arahesis
  2010-11-29  1:54       ` [gentoo-dev] " Jonathan Callen
  0 siblings, 1 reply; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-29  1:48 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 959 bytes --]

2010-11-29 01:24:50 Alex Alexander napisał(a):
> On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:
> 
> > On Sun, 28 Nov 2010 20:32:16 +0100
> > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> > 
> >> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> >> should be included between "<<" and ">>" markers.
> > 
> > Do we really need to introduce those ugly markers? AFAICS in all places
> > they're used you could simply either use version numbers themselves or
> > '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
> > 
> 
> I agree, reading these markers hurts my eyes :p

Some markers are necessary. Read the following examples in an ebuild NOT supporting installation
for multiple Python ABIs:

  # Dependency on Python 2 or 3
  PYTHON_DEPEND="<<2 3>>"

  # Dependency on Python 2 and 3
  PYTHON_DEPEND="<<2>> <<3>>"

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [gentoo-dev] Re: PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-29  1:48     ` Arfrever Frehtes Taifersar Arahesis
@ 2010-11-29  1:54       ` Jonathan Callen
  2010-11-29  3:08         ` Arfrever Frehtes Taifersar Arahesis
  0 siblings, 1 reply; 12+ messages in thread
From: Jonathan Callen @ 2010-11-29  1:54 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 11/28/2010 08:48 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-11-29 01:24:50 Alex Alexander napisał(a):
>> On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:
>>
>>> On Sun, 28 Nov 2010 20:32:16 +0100
>>> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
>>>
>>>> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
>>>> should be included between "<<" and ">>" markers.
>>>
>>> Do we really need to introduce those ugly markers? AFAICS in all places
>>> they're used you could simply either use version numbers themselves or
>>> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
>>>
>>
>> I agree, reading these markers hurts my eyes :p
> 
> Some markers are necessary. Read the following examples in an ebuild NOT supporting installation
> for multiple Python ABIs:
> 
>   # Dependency on Python 2 or 3
>   PYTHON_DEPEND="<<2 3>>"
> 
>   # Dependency on Python 2 and 3
>   PYTHON_DEPEND="<<2>> <<3>>"
> 

Just throwing this out as an option, instead of using "<< >>", maybe "{
}", which might be more readable (and isn't currently allowed at all in
*DEPEND.

- -- 
Jonathan Callen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCAAGBQJM8wfGAAoJELHSF2kinlg4+GcQAKd+AdhhXXiQmYpw0DGY+tz3
xiAxoFgNKob5lTNHT20Y82PoeDHrYeN8Wia8nHcKY/P3wJ7OjRW6RrA+OgS5sasu
fjA6sRhLqR6reUyQPJc/Varwd0Hr2sNUcNN25/6z12y9orsI0y7rtcqo7Nn23Sek
6YR5p4FCIN+94uXgdYUnt5ZhNwCaYl/5BZIvtMgGzA1fGTJlwlv8kQXKteD2ocQH
+AiRpGHOUusi4XA/9FVUiMHrX3N2pac87TR3FcUAtUEeOllYZqjUcQwu4cZjmRkb
nkqgXWU8/A10IpkHvwl0EctlHB5QWcLaV+Ffadd+itjIZ87d7+1mFZlOMr3wuypo
CMb/ogo8Zr7BqaeOyzxbQFR4LP3FbZjw/5hnMxQ7XqGyPsVduVeBWMl22SeBzUGK
fwNmxhIHNI4q3wCsI7e2AtS+bJL6CPhL1DzbMEEK6HQhxIVBrnnTBTJaX1lvs1l+
RK/0ygI7EBWGhebIfs28EMsxxZISH7ik2SVBGLTRpHEutrv+ikn96yMqMJC95Yef
R1rStPIkbwhGoVWw1QiYtjA3r7FRG0Zz09DeaPHXl66/qotNHfdQHuo6MsSPy1Yx
GdyFRiCSaD+AxnmJ8FJ5wg8TW47tPoX2M4xczQx08t34MHx9zlQ8fWIwgqKZrS0w
dp9HSzCYUXe7xlZ7Ja5g
=g1Y2
-----END PGP SIGNATURE-----



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Re: PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-29  1:54       ` [gentoo-dev] " Jonathan Callen
@ 2010-11-29  3:08         ` Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 12+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2010-11-29  3:08 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: Text/Plain, Size: 352 bytes --]

2010-11-29 02:54:14 Jonathan Callen napisał(a):
> Just throwing this out as an option, instead of using "<< >>", maybe "{
> }", which might be more readable (and isn't currently allowed at all in
> *DEPEND.

I'm not sure if Thomas Sachau or somebody else wasn't planning to use "{...}" in the future.

-- 
Arfrever Frehtes Taifersar Arahesis

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND
  2010-11-28 20:15 ` Markos Chandras
  2010-11-28 20:30   ` Arfrever Frehtes Taifersar Arahesis
@ 2010-11-29  4:13   ` Jeremy Olexa
  1 sibling, 0 replies; 12+ messages in thread
From: Jeremy Olexa @ 2010-11-29  4:13 UTC (permalink / raw
  To: gentoo-dev

On 11/28/2010 02:15 PM, Markos Chandras wrote:
> On Sun, Nov 28, 2010 at 08:32:16PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
>> I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
>> EAPI>=4. The new syntax will depend on whether given package supports installation for
>> multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.
>>
>> [...]
>
> Your changes are far too complicated to me. Python eclass and
> consequently writing python ebuilds is a difficult task already.
> If you keep adding more and more "magic" in this eclass,
> you will end up supporting and fixing all the python ebuilds by
> yourself. Maybe you should consider splitting python eclass
> into two separate modules. One for core functionality and
> another one which will inherit this core eclass and export
> a simple API so the rest of us can use python eclass without
> having to study all the documentation for a month.
>

Ditto, I've already stopped caring about python ebuilds in Gentoo Linux.
-Jeremy



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-11-29  4:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-28 19:32 [gentoo-dev] PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND Arfrever Frehtes Taifersar Arahesis
2010-11-28 20:15 ` Markos Chandras
2010-11-28 20:30   ` Arfrever Frehtes Taifersar Arahesis
2010-11-29  4:13   ` Jeremy Olexa
2010-11-28 20:20 ` Michał Górny
2010-11-28 20:34   ` Arfrever Frehtes Taifersar Arahesis
2010-11-28 20:39     ` Michał Górny
2010-11-28 20:53       ` Arfrever Frehtes Taifersar Arahesis
2010-11-29  0:24   ` Alex Alexander
2010-11-29  1:48     ` Arfrever Frehtes Taifersar Arahesis
2010-11-29  1:54       ` [gentoo-dev] " Jonathan Callen
2010-11-29  3:08         ` Arfrever Frehtes Taifersar Arahesis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox