I've been asked, and am willing to take over maintenance of the Mac OS X
installer from George.
In preparation for that, I've been digging into how both GHC and Haskell
Platform are currently packaged for Mac OS X, and how they might be in the
future. I've generated some crazy ideas here, and thought I'd run them by all
of you, especially since I have no idea what approaches are used for Windows
and various Linux environments.
[Terminology warning: "installer package" means a Mac OS installer package that
the user opens to install. "haskell package" means a package that cabal can
build and install]
For Mac, GHC creates their own installer package that installs GHC and the base
libraries. The central issue is how to deliver that along with the Haskell
Platform components. Currently we give the user the stock GHC installer
package, and a second H.P. installer package. They install these (in order) and
off they go. It would be nicer to have just one installer package... Here are
some ideas
1) Deliver the GHC installer package, but with a different postinstall script
that downloads, compiles and installs the Haskell Platform. (!) This would be
essentially the build.sh script from the Haskell Platform repo.
2) Like #1, but include the source trees or tarballs of all the haskell
packages in the installer package, and have the build.sh script build from
those sources.
1&2 Result in only one framework (GHC) being installed on the Mac, and the H.P.
haskell packages are just managed by ghc-pkg & cabal just like any other
haskell packages the user installs. Further, while these take longer to
install, they guarantee that the packages are built in a way best for the
user's system.
3) Unpack the GHC installer package, build and install the Haskell Platform
haskell packages into that tree, and then re-create the installer package. This
results in a single installed framework on the Mac (which could be called GHC,
or GHC-HP, or some such).
4) Build an independent Haskell Platform framework, containing the haskell
packages built and installed. Take apart the GHC installer package, and build a
new, single installer package that installs both the H.P. framework and the GHC
framework. This give two frameworks installed on the Mac, and the GHC one is
the same as what GHC's installer package would install, but gives the user a
single installer experience.
I'm looking for thoughts on this, both Mac specific, and what other
distributions for H.P. have choosen to do, since these questions must be
similar:
1) Use the installers GHC produces untouched? Rebundle them? Scrap them and
build a new installer as needed?
2) Maintain compatibility with GHC's choice of platform packaging and
installation? or not?
3) Dynamically build the Haskell Platform components at install time or not?
- Mark
Mark Lentczner
http://www.ozonehouse.com/mark/
IRC: mtnviewmark
_______________________________________________
Haskell-platform mailing list
[email protected]
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform