Thoughts about D package management on Gentoo

Marco Leise Marco.Leise at gmx.de
Sun Nov 10 07:35:36 PST 2013


Am Sun, 10 Nov 2013 14:20:05 +0100
schrieb Jacob Carlborg <doob at me.com>:

> On 2013-11-10 12:14, Iain Buclaw wrote:
> 
> > It also makes no sense as both have wildly different compiler switch
> > names.  And for the switches that are the same, both interpret the
> > switches differently. ie:  '-I ./imports'  works for GDC but not DMD
> > (for some reason DMD doesn't like spaces between switches and switch
> > arguments).
> 
> Right, it also depends on the flag. They're all quite inconsistent.

Well, it doesn't hurt to add a "dc" symlink the way you
described it. As long as you use no spaces after -I and resort
to the basic stuff like adding -release -O -inline etc. it
should work.

I'm currently testing the parallel installation of
dmd-versions in Gentoo. After finding starting and stopping
work on a few experiments to figure out what is possible with
ebuilds, it was time for something simpler.

The biggest problem was the library path. I chose
/usr/lib{32,64}/dlang/<compiler>/ for now, where <compiler>
is "dmd-2.064". I don't know if I should add the .2 minor
version, too. But that's really a minor detail.
I solved that by replacing all occurrences of /etc/
with /etc/dlang/dmd-<version>/ in inifile.c and then putting
dmd.conf there with two sections for [Environment32] and
[Environment64], that point to the afore mentioned library
paths for 32-bit and 64-bit respectively.
I didn't know of these two sections until I looked at the dmd
source code. They also mean that I can remove
--no-warn-search-mismatch from DFLAGS, since 32-bit and
64-bit libraries are now clearly separated.

Next, I'll probably modify the dmd-2.063.2 ebuild in the same
fashion and look at the eselect python module to create a
counterpart for dlang.

-- 
Marco



More information about the Digitalmars-d mailing list