State of the Mac Installer

Mark Lentczner mark.lentczner at gmail.com
Wed Mar 2 05:15:20 GMT 2011


Thought I'd update you all with the state of the Mac OS X installer
for the upcoming HP 2011.x release:

I have built HP installers based on 7.0.2rc2 for both i386 and x86_64
architectures. The remaining issues are:

1) Some of the installed file owner:group settings are 501:501
(usually the first account on the machine) rather than admin:staff.
This has no affect on GHC, but it isn't "right". Investigating.

2) I haven't built a disk image with a nice background... The user
would just download a .pkg file, and double clicking launches the
installer. It would be nicer to do the disk image thing, but low
priority for now.

3) The default cabal layout is inconsistent with how the HP installed
packages are laid out. This isn't detrimental, just not pretty. My
solution is that I 'wrap' the installed cabal command with a shell
script that looks to see if the user has a .cabal/config file, and if
not, writes a new one there that sets the layout to match the HP
layout. Several sub-issues:

3.1) I renamed the real cabal "cabal.inst", and that causes error
messages to say that. So - I'm going to have to reference the real
cabal in another way so that it can remain named "cabal".

3.2) The new .cabal/config file uses symlink-bindir so that things the
user installs will be somewhere on their PATH. The problem is that it
turns out that a stock Mac OS X account doesn't have ~/bin (the
logical place to point this) on the PATH. So I'll probably point this
at /usr/local/bin (which is on the PATH). Still mulling this over...

3.3) Trying to decide if "root-cmd sudo" should be in the new .cabal/config

3.4) I noticed that even when enabled in the .cabal/config file, the
haddock master index is NOT rebuilt for --global installs. I suppose
this is a cabal issue.

3.5) There is no link from ~/Library/Haskell/doc to
~/Library/Haskell/<ghc-version>/doc. Adding one (at the time the
default .cabal/config file is installed) would make finding the
haddock master index (rebuilt on --local installs) easier.

4) My installer Makefile doesn't have a concept of ARCH, and so
currently must be edited by hand to produce the x86_64 version.

5) When building x86_64, I see this warning repeatedly: "ld: warning:
-read_only_relocs cannot be used with x86_64"  -- probably ignorable

6) Until we have cabal-install-0.10.0 on hackage, building requires a
fair bit of by-hand manipulation of the tree in the middle of the
build-installer process. Hoping once that all settles, the build will
"just work"

- Mark



More information about the Haskell-platform mailing list