[paludis-user] Who wants contrarius?

Dave Bender codehero at gmail.com
Mon Oct 13 21:53:48 UTC 2008


A tool for building cross compilers is actually quite useful (I currently
use crossdev). So I was interested, but in looking at contrarius I came to
this conclusion: There is a disconnect between contrarius' intended audience
and its implementation.

-Developers coding for say, arm processors, are writing bootloaders or
writing programs in C. If they use C++, it does not resemble the following:

std::tr1::shared_ptr<const PackageIDSequence>
c((*_env)[selection::BestVersionOnly(

generator::Matches(parse_user_package_dep_spec(TargetConfig::get_instance()->gcc(),
                         _env.get(), UserPackageDepSpecOptions())) |
                         filter::InstalledAtRoot(_env->root()))]);
(from stage.cc)

Looking at it, this code does seem quite elegant. But since there are no
comments, and its hard for me to tell what's a function and what's a ctor, I
can't really follow it, much less maintain it. While there may some benefit
for the average embedded developer to understand higher C++ constructs, they
just don't really.

The other possible intended audience are developers who may want to cross
compile on an x86_64 host for 32 bit based hosts. As Ciaran pointed out,
this is largely a useless effort, since people use 32bit chroots for this
anyway.

On the other hand, while crossdev is a not a pretty sequence of hacks, parts
of it are accessible to the average embedded developer, such as platform
parsing code. The ebuild/portage parts are obviously beyond comprehension or
desire to comprehend.

If you want a paludis improved cross toolchain builder, you would want to
make a bash script similar to crossdev but with the portage portions
replaced by paludis equivalents. There would also need to be ebuilds for
gcc, etc specifically developed for cross compiling, to separate them from
the hacks in the ebuilds intended for hosts. As I see it, crossdev merely
links to the regular ebulids in the overlay.

-Dave

On Mon, Oct 13, 2008 at 12:28 PM, Ciaran McCreesh <
ciaran.mccreesh at googlemail.com> wrote:

> contrarius depends rather heavily upon some nastily hacked Gentoo
> ebuilds that aren't well tested, that are very configuration sensitive
> and that get broken on a regular basis. Even when it does work it's
> largely pointless because ebuilds don't support cross compiling.


>
> Would anyone like to step up and volunteer to maintain contrarius?
> You'll need a decent knowledge of C++, familiarity with how those
> horrible toolchain ebuilds on Gentoo work and time to keep bringing
> contrarius up to date with both Gentoo's changes and Paludis API
> changes.
>
> If we can't get someone to pick contrarius up, I'm seriously considering
> dropping it in 0.32.
>
> --
> Ciaran McCreesh
>
> _______________________________________________
> paludis-user mailing list
> paludis-user at lists.pioto.org
> http://lists.pioto.org/mailman/listinfo/paludis-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.exherbo.org/pipermail/paludis-user/attachments/20081013/ff391f3e/attachment.html>


More information about the paludis-user mailing list