
kili:
On Sat, May 10, 2008 at 03:03:39PM -0700, Don Stewart wrote:
I've to admit that the ghc port for OpenBSD is a little bit weird ;-)
(but not as weird as my current work on ghc-6.8 for OpenBSD)
What's your plan for the OpenBSD port, Kili?
* Proper bootstrapping from .hc files.
* Think about a better way to build the libraries; I understand why the GHC developers do it using the makefiles generated by Cabal, but I'd really prefer something less intrusive (i.e. let Cabal generate only some makefile snippets with dependencies, special flags etc. and include those snippets from a "classical" Makefile that fits better into the good old fptools framework).
* Port it to more archs (arm, powerpc, maybe alpha and vax, and, if I'll ever be at that point, to everything else, at least unregisterised).
The debian port is inspiring in this regard. E.g. xmonad is available for: alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, s390, sparc http://packages.debian.org/sid/xmonad
* Omit as many core libraries as possible from the build, and make separate ports for them.
So in 6.8.2 only those actually required to build ghc should be in the core.
* Improve ghc.port.mk to make ports of "standard" stuff on hackage more simple. Currently all GHC-depending ports are a real mess, for example xmonad: http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/xmonad/ With the new ghc.port.mk, all the do-something targets will vanish, and the xmonad Makefile will just contain a line like
MODGHC_BUILD= cabal hackage haddock register
which means: use Cabal (Setup.hs or Setup.lhs), fetch sources from hackage, use haddock to build the documentation, create register/unregister scripts that update package.conf on installation/deinstallation.
yeah, a tool to spit out Makefile defs from .cabal files to automate the process of getting the 500 things on hackage into the ports tree would be ideal. -- Don