Mac OS X Strike Force
The following is a wiki page to centralize discussion of how to improve Haskell on Mac OS X. The name "strike force" comes from dons' post on reddit and the comments therein.
Goals[edit]
Take care of the Haskell Platform installer[edit]
The Haskell Platform installer is now maintained by Mark Lentczner. The build is now a Makefile that is part of the Haskell Platform source tree.
- what are the most pressing things on the todo list?
- script a reliable uninstaller for prior versions
- work out how to suport: { 10.5 | 10.6 | 10.7 } × { 32bit | 64bit } × { Xcode 3.2 | Xcode 4.1 } with as few versions as possible.
This is done in version 2011.4.0.0 of the Haskell Platform
Make GUI-bindings easy to install[edit]
Neither wxHaskell nor Gtk2hs with native Gtk seems to be easy to install. What's the state of HQK and qtHaskell?
- We should provide at least one easy way to install one set of GUI bindings
wxHaskell[edit]
wxHaskell got a lot easier to install in April 2012, with the 0.90 release. See WxHaskell/Mac for details. Should be just a matter of a little homebrew and cabal install wx.
Note that using MacPorts is problematic because of iconv-related issues that various people have reported on the mailing list. I doubt qtHaskell is immune from this.
IMHO, it could be worthwhile to point people to a standard wxWidgets pkg.
qtHaskell[edit]
qtHaskell with i386 ghc can be compiled with the following steps:
- Install Qt via MacPorts with the universal option set.
- Install Perl 5.12 via MacPorts.
- qmake will default to building x86_64 binaries, which does not work with 32-bit ghc. Modify /opt/local/libexec/qt4-mac/mkspecs/macx-g++/qmake.conf, adding the following lines:
QMAKE_CXXFLAGS = -arch i386 QMAKE_CFLAGS = -arch i386 QMAKE_LFLAGS = -arch i386
- You could also create your own spec (macx-g++-i386?), and modify build.pl in the qtHaskell top-level directory to use this spec.
- Build qtHaskell by executing the build script in the top-level directory.
Make GHC 64 bit[edit]
Mac OS X GHC Trac tickets:
Reduce the number of GHC tickets[edit]
Information[edit]
Wiki[edit]
Installing Haskell[edit]
How Haskell is on OS X today[edit]
The simplest methods are currently:
- Binary GHC framework (/Library/Framework)
- Binary Haskell platform framework (/Library/Framework)
- MacPorts (/opt/local)
- Fink (/sw)
- Homebrew (symlinked into /usr/local ?)
Manually compiled[edit]
ChrisKuklewicz 11:53, 6 September 2010 (UTC) I use MacPorts for the infrastructure and compile ghc against /opt/local but with --prefix=/opt/ghc-6.12.3 to keep it separate.
Dynamic Linking[edit]
working in GHC HEAD, not in any released version.
Difficult libraries on OS X[edit]
Libraries needed for ghc
- iconv (older version in /usr is incompatible with new version from MacPorts)
- readline (faked in /usr, provided by framework or MacPorts)
- gmp (framework or MacPorts)
Libraries needed for other packages? gtk?
OS X code integration[edit]
Write Haskell in XCode?
Write ObjectiveC against GHC.Framework?
FFI for Objective C from Haskell?
Improvements?[edit]
A cabal2pkg that maintains proper dependency tracking?
Discussion forum for all this?
You can discuss it on Haskellers at [1]