On Tue, Feb 28, 2012 at 4:13 PM, Krzysztof Pawlik <nelch...@gentoo.org> wrote:
> Hello,
>
> After some work during weekend on Python packages I've decided to start a
> rewrite of Python/distutils eclass for installing Python packages. My main 
> goal
> was simplicity and functionality similar to ruby-ng.eclass (thanks Ruby team 
> for
> your great work!). Python team members already contributed comments and
> suggestions and helped me to make the eclass better, thank you!
>
> Highlights:
>  - *SIMPLE*next
>  - uses PYTHON_TARGETS use-expand (no more python-updater, whoooo!)
>  - EAPI4 required, uses REQUIRED_USE
>  - <400 lines of code including documentation
>  - should work for >95% of packages (my educated guess)
>  - did I mention it's *SIMPLE*?
>  - easy to maintain & read so it's also easy to use
>
> Important thing: I'm not aiming at having 100% functionality of current
> python.eclass+distutils.eclass in the new one, I think that simplicity is more
> important that supporting every possible, obscure case that's out there.
>
> I'm attaching the eclass itself and two ebuilds using it, code is also 
> available
> in my overlay at 
> http://git.overlays.gentoo.org/gitweb/?p=dev/nelchael.git;a=summary
>
> If there are no objections then during the weekend (March 3, 4) I will add 
> this
> to portage (after finishing remaining TODO items, PyPy requires 4G of 
> RAM(!!)).
>
> --
> Krzysztof Pawlik  <nelchael at gentoo.org>  key id: 0xF6A80E46
> desktop-misc, java, vim, kernel, python, apache...
>

# Phase function: src_unpack
python-distutils-ng_src_unpack() {
        [[ "${PYTHON_OPTIONAL}" = "yes" ]] && { use python || return; }

        if type python_unpack &> /dev/null; then
                # This should not run anything specific to any single Python
                # implementation, keep it generic:
                python_unpack_all
        else
                [[ -n ${A} ]] && unpack ${A}
        fi
}

I think you meant to write "if type python_unpack_all".

More to the point, I don't actually understand why this function
exists. It doesn't actually do anything that default_src_unpack does
not do already. Exporting it will clobber any vcs eclasses if the
inherit order is wrong.

Reply via email to