If you don't use the Haskell Platform source repo to produce distributions or installers... you can skip this.
Currently, the platform is built via a twisty maze of scripts and short Haskell programs. It is further complicated by having to run in various phases each possibly in a different execution environment. For example: prepare.sh and Build.hs are run to build a source tar ball, including building scripts which..... are run on some target to build the packages after that source tar ball is unpacked (build.sh).... and the Mac install builder does those two steps in a sandbox (via huge Makefile), then after more prep it runs PackageMaker to build an installer... which when run on the final target copies stuff into place, and runs a final fix up script (hp-postinstall.sh) OY! While most of this in unavoidable - the nature of building such things - I think it can be cleaned up considerably. In particular, the "source of truth" about what makes up the platform and how it is built are scattered around the tree. For example, both haskell-platform.cabal and src/generic/tarball/packages/core.packages need to be updated in sync. In another, the magic incantations for building sandboxed and building a full haddock tree are hiding in src/macos/Makefile and possibly in other distribution scripts. I'd like to start unifying, simplifying, and cleaning this up. First thing I'd like to change is to put the official list of packages and versions into three master files at the top (those from GHC, and those HP adds, and executables HP adds), and drive all the rest from those. To do this, I need to know which parts of the process other systems are relying on. For example, the mac build uses the prepare.sh script to build a tarball, then uses the ./configure and scripts/build.sh scripts in that tarball, and it parses haskell-platform.cabal to get a version numbers of GHC and the platform. If you are a packager, please let me know here which parts you rely on. I don't think these changes will be done for this release - but I will probably apply them as soon as it is out so there is plenty of lead time for the next. - Mark
_______________________________________________ Haskell-platform mailing list Haskell-platform@projects.haskell.org http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform