On Sat, 25 Jul 2009 12:28:44 +0200 Arfrever Frehtes Taifersar Arahesis <arfre...@gentoo.org> wrote: > I would like to present the plan of support for multiple ABIs. It > should be sufficient for Python modules and might be also appropriate > for some other ABI types (e.g. for Ruby modules).
How do you plan to handle the intersection of ABIs? What if you have to build or depend upon a Python module for both 32 and 64 bit ABIs, and for both 2.5 and 2.6? What if you have a package that provides both Ruby and Python code, where the two ABIs are independent rather than a product? > 4.1. Implicitly specified ABI dependencies. During calculation of > dependencies of given package, Portage will verify if all > dependencies, which use given ABI type, have been built with enabled > support for these ABIs, which are enabled for given package. How do you say "I need only a single ABI for this, even though it looks like I need every ABI I'm built with"? For example, if your Python module, being built for 2.5 and 2.6, runs (but does not use in a library sense) a Python program that comes as part of a Python package that is buildable with multiple ABIs? > 4.2. Explicitly specified ABI dependencies. {,P,R}DEPEND variables > will support specifying ABI dependencies in explicit way. > {,P,R}DEPEND variables will also support ABI conditionals. I suggest > using {ABI_type[comma-delimited values]} syntax, but it can be > changed. I think we're trying to avoid introducing new special characters if we can get away with using existing ones. You can overload [] and existing conditionals if you're careful. Having said that, you can probably do everything you described slightly less elegantly just using things that're already in EAPI 3. -- Ciaran McCreesh
signature.asc
Description: PGP signature