Mac OSX installer for dmd

Anders F Björklund afb at algonet.se
Thu Aug 5 01:40:53 PDT 2010


Michel Fortin wrote:
>> To me, the biggest problem is deciding where the files should go. There doesn't seem to be any consensus or culture in OS X about this.
> 
> I agree. It took me quite a while to decide to do things as I did. The goals were:
> 
> 1. It should be easy to manually replace DMD from a new package from Digital Mars.
> 2. It should work on the command line with no user intervention (no need to add something to $PATH in the bash profile for instance).
> 3. It should not mess with the system directories.

It used to be that /usr/local/bin wasn't in the $PATH, and that
the shell wasn't bash either for that manner. And since GDC was
using the GCC installation anyway, it installs into /usr/bin...
(while being relocatable to a root, like Developer/usr/bin too)

> Except when it come from third party package managers (fink,
> MacPorts), most Unix software not coming from Apple installs in
> /usr/local on Mac OS X (for instance I have: MySQL, Git, Mercurial,
> Doxygen, 7za and a couple others there). So it makes a lot of sense
> to install it there.

Yeah, as long as the user has admin privileges the /usr/local
hierarchy (and matching /Library) is definitely the one to use.

[...]
> And using /usr/local/{dmd,dmd2} wasn't entirely satisfactory either. Mac 
> OS X hides the /usr folder when you browse using the Finder. So 
> replacing /usr/local/{dmd,dmd2} manually with a newer one isn't as 
> straightforward as it should be. I settled on using 
> /Library/Compilers/{dmd,dmd2}. This isn't entirely satisfactory either 
> since it doesn't follow UNIX ways, but it's not too far of how Mac OS X 
> is packaged and I told myself it'd be easier to support users that way.

Sounds excellent. For instance Python is packaged in the same way.
(/Library/Frameworks/Python.framework and symlinks from /usr/local)

For a hybrid environment like Mac OS X it makes sense to use both...
Then the user can either use the Unix way or set it up like Windows.

> Now, the only missing piece for an easy manual replacement of DMD is a 
> zip archive where the executable bit is set.

Hard to believe that bit is still missing, after all these years.

--anders


More information about the Digitalmars-d mailing list