Am Wed, 11 Nov 2015 17:24:18 +0000 schrieb Chris Piker <f...@fakeu.edu>:
> On Tuesday, 12 November 2013 at 19:50:32 UTC, Marco Leise wrote: > > I've seen people use both 'd' and 'dlang' now, so I created a > > poll. Everyone assembling Linux packages is then free use the > > results to create a similar experience on all distributions. > > > > http://www.easypolls.net/poll.html?p=52828149e4b06cfb69b97527 > > Has this issued been settled? We are using the dmd compiler on > CentOS 6. I have a custom plplot.d file that I want to put > somewhere under our shared /usr/local for our programmers to use. > If I want to follow some sort of precedent then it looks like my > choices are: > > /usr/local/include/dmd (similar to dmd rpm) > /usr/local/include > /usr/local/include/d > /usr/local/include/dlang > /usr/local/src > /usr/local/src/d > /usr/local/src/dlang > > I personally prefer: > > /usr/local/src/d > > but would like to go with some sort of convention if one is > starting to gel. By secret ballot vote in this poll options with "d" in it lost 1:2 to "dlang". As far as I know this was the only real effort to unify directory names across Linux distributions and at least two package maintainers (Dicebot for Arch Linux and me on Gentoo) have used the input from the following discussion to decide on an import path for the currently active system DMD compiler: /usr/include/dlang/dmd This was after the official DMD package build script for .rpm/.deb have been created and "D" was renamed to "Dlang", so the discussion had no influence on their layout. As far as /usr/local/src goes, I've never seen anything but OS sources (i.e. Linux kernel) being installed to /usr/src and /usr/local is conventionally used like /usr, but for additional local files that are not covered by the generic OS installation: https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s3-filesystem-usr-local.html As for installing additional Dlang library imports, I advise to use one subdirectory in /usr/include/dlang for each package and "parallel version". What I mean by that is that many real packages change their API over the years, sometimes so radically that some packages stick with previous versions. One such example is Gtk, with GIMP still using Gtk 2 and Gnome being linked against Gtk 3. In such cases you want be able to include either gtk2 or gtk3. Now if you look at GtkD you see this reflected in different import paths, namely gtkd-2 and gtkd-3. Both contain common module paths like gtkc/cairo.d that would overwrite each other if not put under different parent directories. And once you have /usr/include/dlang/dmd /usr/include/dlang/ldc /usr/include/dlang/gtkd-2 /usr/include/dlang/gtkd-3 it makes sense to handle other libraries the same way. In your specific case you may be able to get away with a single flat import path for everything by allowing only one version of dmd, GtkD etc., but other distributions will not be able to follow this scheme. I hope this helps you in your decision making. -- Marco