Personal tools

Mac OS X Strike Force

From HaskellWiki

Revision as of 10:15, 26 October 2010 by Lenny222 (Talk | contribs)

Jump to: navigation, search

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.


1 Goals

1.1 Take care of the Haskell Platform installer

The Haskell Platform OSX installer is looking for a new maintainer (contact Greg: "greg at gregorycollins net").

  • who is willing to take over?
    • collaborate effort or single effort?
  • where to host?
    • probably stay on github
  • what are the most pressing things on the todo list?

1.2 Make GUI-bindings easy to install

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

1.2.1 qtHaskell

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 in the qtHaskell top-level directory to use this spec.
  • Build qtHaskell by executing the build script in the top-level directory.

1.3 Make GHC 64 bit

Mac OS X GHC Trac tickets:

  • [2965] is the main ticket, with lots of CC: people
  • [4163] gives some cross-compiling hope

1.4 Reduce the number of GHC tickets

2 Information

2.1 Wiki

2.2 Installing Haskell

2.2.1 How Haskell is on OS X today

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 ?)

2.2.2 Manually compiled

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.

2.2.3 Dynamic Linking

working in GHC HEAD, not in any released version.

2.2.4 Difficult libraries on OS X

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?

2.3 OS X code integration

Write Haskell in XCode?

Write ObjectiveC against GHC.Framework?

FFI for Objective C from Haskell?

2.4 Improvements?

A cabal2pkg that maintains proper dependency tracking?

Discussion forum for all this?