Difference between revisions of "Mac OS X Strike Force"

From HaskellWiki
Jump to: navigation, search
m (Take care of the Haskell Platform installer)
(With some work qtHaskell works on OS X.)
Line 18: Line 18:
   
 
* We should provide at least one easy way to install one set of GUI bindings
 
* We should provide at least one easy way to install one set of GUI bindings
  +
  +
==== 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:
  +
<pre>
  +
QMAKE_CXXFLAGS = -arch i386
  +
QMAKE_CFLAGS = -arch i386
  +
QMAKE_LFLAGS = -arch i386
  +
</pre>
  +
* 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 ===
 
=== Make GHC 64 bit ===

Revision as of 10:38, 24 October 2010

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

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?
  • what are the most presing things on the todo list?

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

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

Mac OS X GHC Trac tickets:

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

Reduce the number of GHC tickets

Information

Wiki

Installing Haskell

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

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.

Dynamic Linking

working in GHC HEAD, not in any released version.


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?

OS X code integration

Write Haskell in XCode?

Write ObjectiveC against GHC.Framework?

FFI for Objective C from Haskell?

Improvements?

A cabal2pkg that maintains proper dependency tracking?

Discussion forum for all this?