Re: [gentoo-dev] [PATCH 1/3] Generate python depstrings in python-r1 (updated).

2012-09-21 Thread Ben de Groot
On 20 September 2012 05:43, Michał Górny  wrote:
> I've renamed PYTHON_DEPEND to avoid confusion with python.eclass.
> ---
>  gx86/eclass/python-distutils-ng.eclass | 20 ++-
>  gx86/eclass/python-r1.eclass   | 35 
> --
>  2 files changed, 35 insertions(+), 20 deletions(-)
>
> diff --git a/gx86/eclass/python-distutils-ng.eclass 
> b/gx86/eclass/python-distutils-ng.eclass
> index 5df965c..34717aa 100644
> --- a/gx86/eclass/python-distutils-ng.eclass
> +++ b/gx86/eclass/python-distutils-ng.eclass
> @@ -74,24 +74,8 @@ _python-distutils-ng_get_binary_for_implementation() {
> esac
>  }
>
> -for impl in ${PYTHON_COMPAT[@]}; do
> -   dep_str="${impl/_/.}"
> -   case "${dep_str}" in
> -   python?.?)
> -   dep_str="dev-lang/python:${dep_str: -3}" ;;
> -   jython?.?)
> -   dep_str="dev-java/jython:${dep_str: -3}" ;;
> -   pypy?.?)
> -   dep_str="dev-python/pypy:${dep_str: -3}" ;;
> -   *)
> -   die "Unsupported implementation: ${impl}" ;;
> -   esac
> -   dep_str="python_targets_${impl}? ( ${dep_str} )"
> -
> -   RDEPEND="${RDEPEND} ${dep_str}"
> -   DEPEND="${DEPEND} ${dep_str}"
> -   unset dep_str
> -done
> +RDEPEND=${PYTHON_DEPS}
> +DEPEND=${PYTHON_DEPS}
>
>  _PACKAGE_SPECIFIC_S="${S#${WORKDIR}/}"
>
> diff --git a/gx86/eclass/python-r1.eclass b/gx86/eclass/python-r1.eclass
> index 18f9246..957db68 100644
> --- a/gx86/eclass/python-r1.eclass
> +++ b/gx86/eclass/python-r1.eclass
> @@ -40,14 +40,45 @@ _PYTHON_ALL_IMPLS=(
>  # a package supports. It must be set before the `inherit' call.
>  # The default is to enable all implementations.
>  #
> -# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, the 
> eclass
> -# will implicitly convert it to an array.
> +# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar,
> +# the eclass will implicitly convert it to an array.
>  : ${PYTHON_COMPAT:=${_PYTHON_ALL_IMPLS[@]}}
>
> +# @ECLASS-VARIABLE: PYTHON_DEPS
> +# @DESCRIPTION:
> +# This is an eclass-generated Python dependency string for all
> +# implementations listed in PYTHON_COMPAT. It should be used
> +# in RDEPEND and/or DEPEND like:
> +#
> +# @CODE
> +# RDEPEND="${PYTHON_DEPS}
> +#   dev-foo/mydep"
> +# DEPEND="${RDEPEND}"
> +# @CODE
> +
>  PYTHON_COMPAT=( ${PYTHON_COMPAT[@]} )
>
>  _python_set_globals() {
> IUSE=${PYTHON_COMPAT[@]/#/python_targets_}
> REQUIRED_USE="|| ( ${IUSE} )"
> +
> +   PYTHON_DEPS=
> +   local i
> +   for i in ${PYTHON_COMPAT[@]}; do
> +   local d
> +   case ${i} in
> +   python*)
> +   d='dev-lang/python';;
> +   jython*)
> +   d='dev-java/jython';;
> +   pypy*)
> +   d='dev-python/pypy';;
> +   *)
> +   die "Invalid implementation: ${i}"
> +   esac
> +
> +   local v=${i##*[a-z]}
> +   PYTHON_DEPS+=" python_targets_${i}? ( ${d}:${v/_/.} )"
> +   done
>  }
>  _python_set_globals
> --
> 1.7.12
>
>

This patchset looks good to me.

-- 
Cheers,

Ben | yngwin
Gentoo developer
Gentoo Qt project lead, Gentoo Wiki admin



Re: [gentoo-dev] supporting static-libs

2012-09-21 Thread Maciej Mrozowski
On Thursday 06 of September 2012 10:18:34 Brian Harring wrote:
> On Mon, Sep 03, 2012 at 10:54:15PM +0200, Maciej Mrozowski wrote:
> > On Tuesday 28 of August 2012 02:15:40 hasufell wrote:
> > > Is there a reason not to support static-libs in an ebuild if the
> > > package supports it?
> > > 
> > > It seems some developers don't care about this option. What's the
> > > gentoo policy on this? Isn't this actually a bug?
> > 
> > A little remark.
> > For CMake controlled buildsystem (as you're coming here from latest dev-
> > games/simgear), there's no automatic way of building both static and
> > shared libs (simgear allows to choose just one).
> > This is why I removed static libs support that you proposed for dev-
> > games/simgear (similar to ruby eclass abi handling - manually calling
> > phases twice to build package 1st as shared, 2nd time as static).
> > This is what I called "not worth the effort" in private discussion with
> > you, not quite "I don't care for static libs" :)
> 
> Guessing in the worst case, you can do a double compile to get around
> this, no?  And yes, that's freaking horrible, just verifying cmake
> isn't doing something special that blocks it.

Not sure why they would need to block it, one build dir for static, second one 
for shared. All safely separated (still stinks as a hack).

> Is upstream doing anything about this, or is it not on their
> radar/list-of-things-they-care-about ?

Off the radar.

CMake provides equivalent of '--enable-static --disable-shared' and '--
disable-static --enable-shared' by the means of BUIlLD_SHARED_LIBS and not 
specifying linkage when defining library:

add_library(foo src1 src2)

It doesn't automatically provide both at the same time however. CMake is 
cross-platform (meaning it support different generators: GNU Make, NMake, 
Visual Studio Project, XCode etc) so their main audience aren't "distros", 
also on Windows for instance when shared .dll is created, also import .lib is 
created. If static .lib was to be created as well, they would need to have 
separate build subdir for it (and a bit more complex library resolution 
algorithm).

Still, if developer bothers enough to provide them both, he can easily 
implement it in buildsystem with explicitly given linkage (and separate target 
names):

set(foo_SRC src1 src2)
add_library(foo SHARED ${foo_SRC})
if (ENABLE_STATIC)
add_library(foo_static STATIC ${foo_SRC})
endif ()

That being said I can understand why it's off the radar - technically 
everything is already available, likely not worth the effort and in many cases 
building both static/shared is actually not needed.

-- 
regards
MM


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] vala.eclass: change vala_src_prepare behavior when USE=-vala

2012-09-21 Thread Pacho Ramos
El jue, 20-09-2012 a las 14:23 -0400, Ian Stakenvicius escribió:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> On 20/09/12 02:12 PM, Michael Mol wrote:
> > On Thu, Sep 20, 2012 at 1:58 PM, Pacho Ramos 
> > wrote:
> >> El jue, 20-09-2012 a las 10:14 -0400, Ian Stakenvicius escribió:
> >>> -BEGIN PGP SIGNED MESSAGE- Hash: SHA256
> >>> 
> >>> On 20/09/12 09:52 AM, Ciaran McCreesh wrote:
>  On Thu, 20 Sep 2012 09:13:40 -0400 Ian Stakenvicius 
>   wrote:
> > PMS may not need to be fixed, just the spec
>  
>  PMS is the spec, and it doesn't need fixing, since it
>  accurately reflects the situation we're dealing with.
>  
> >>> 
> >>> Sorry, I misread PMS as PMs (portage, paludis, etc).
> >>> 
> >>> And, for support to be official for ebuilds or eclasses to
> >>> query IUSE (or other globals) within phase functions, then the
> >>> 'spec' (PMS) is probably all that needs to be 'fixed'.  Right?
> >>> 
> >>> So, in EAPI=6, we propose something that'll make it official
> >>> (ie a querying function; or ensure that PMs can provide these
> >>> variables along with their proper 'effective' values, or their
> >>> in-ebuild 'explicit' values, or whatever it is we want to say
> >>> can be relied upon, to the environment).
> >>> 
> >> 
> >> The problem of waiting for eapi6 to specify CURRENT behavior is
> >> that we don't know how much time will need to wait until it's
> >> approved (as I think eapi5 cannot include this "extra" function
> >> as was approved some hours ago). Other option would be to fast
> >> release some kind of eapi5.1 adding this... but, again, I think
> >> we are discussing about something that could be resolved as
> >> simply as specifying current behavior for all existing eapis (as
> >> we are in fact doing in the tree) and rely on new eapis for
> >> future hypothetical changes on it.
> > 
> > The key question is: How would you formally describe the current
> > behavior?
> > 
> > I think someone already noted it's not reliable behavior in all
> > places.
> > 
> 
> I think we'd need an audit of what current behaviour is and then
> define based on that.  Possibly removing cases where the 'expected'
> behaviour isn't occurring (ie, bugs that just aren't being caught).
> 
> I'm biased, so to me just auditing what portage does would be good
> enough. :D  But probably the other PMs should be audited to before
> 'official' behaviour should be described for PMS.
> 

Will ask to portage people then to know what is current behavior


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] RFC: method of checking for cross compilation from ebuild functions

2012-09-21 Thread Zac Medico
On 09/20/2012 10:34 AM, Ambroz Bizjak wrote:
> The question now is, how should this method for checking
> --crosscompile be implemented? In particular, we have two options:
> 
> - Environment variable. If so, how to call it? Possible names are
> CROSSCOMPILE, GENTOO_CROSSCOMPILE, PORTAGE_CROSSCOMPILE,
> ECROSSCOMPILE... For more generic names (CROSSCOMPILE) it needs to be
> taken into account that they may inadvertently affect packages.
> However environment vars have the benefit that it's easy to pass them
> through programs and scripts.
> 
> - Internal function, similar to "use". Probably "is_crosscompile".
> This may look nicer and reduces the risk of collisions.

Since it's just a boolean flag, we could have a special "crosscompile"
USE flag for this, so that the use() function could be used like we
currently use it for the "test" USE flag. The flag would be forced on or
off based on your configuration, similar to the "test" flag [1], so
there wouldn't be any danger of the flag being accidentally enabled or
disabled. The flag could be bound to FEATURES=crosscompile, or some
other package manager configuration variable. Note that if we add a
--crosscompile option to emerge, then we'll also have to add it to the
ebuid(1) command, so maybe it's better to forgo the commandline option
and just toggle it with a configuration variable like
FEATURES=crosscompile. Also, it's conceivable that you could drop the
CROSS_HDEPEND variable, in favor of HDEPEND="crosscompile? ( foo )"
syntax (somewhat in alignment with Brian Harring's DEPENDENCIES proposal).

[1] https://bugs.gentoo.org/show_bug.cgi?id=373209
-- 
Thanks,
Zac



Re: [gentoo-dev] Lastrites for emboss.eclass

2012-09-21 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 21/09/12 11:02 AM, Ian Stakenvicius wrote:
> Since emboss.eclass is not used by anything in the tree (possibly
> for some time) , is outdated (seems EAPI=1'ish) and generally just
> cruft, It would be good to clean it.  Removal in 30 days unless
> anybody objects.
> 
> 


Rescinded; i confused emboss.eclass with embassy.eclass , which
apparently is still used.  Sorry for the spam.

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBcgs4ACgkQ2ugaI38ACPAMDgD/VCv2QQjtkt9CburG33djbOEp
UdRapH2bfHPmooHbbA0A/RKxLVNfHGsBe8giOXok0g03Y7wDUYmpzzjy1wOHJ5Up
=v1rA
-END PGP SIGNATURE-



[gentoo-dev] Lastrites for emboss.eclass

2012-09-21 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Since emboss.eclass is not used by anything in the tree (possibly for
some time) , is outdated (seems EAPI=1'ish) and generally just cruft,
It would be good to clean it.  Removal in 30 days unless anybody objects.

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBcgaMACgkQ2ugaI38ACPDwVQD+KsWjKfAwOgMDfk+7efQuFb15
/6E+m7YzuPrDqzyRfzAA/i/Xvw2xM9YxApyV+p62GL91vvdjVnYcLNRgQpznAcDW
=w9iF
-END PGP SIGNATURE-