Mac OS X Strike Force: Difference between revisions
No edit summary |
(→Take care of the Haskell Platform installer: 2011.4.0.0 is no longer the latest version of the Haskell Platform) |
||
(22 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
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' [http://www.reddit.com/r/haskell/comments/d9wm2/is_it_time_for_a_strike_team_to_form_dedicated_to/ post on reddit] and the comments therein. | 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' [http://www.reddit.com/r/haskell/comments/d9wm2/is_it_time_for_a_strike_team_to_form_dedicated_to/ post on reddit] and the comments therein. | ||
== Goals == | |||
== | === Take care of the Haskell Platform installer === | ||
The Haskell Platform installer is now maintained by [[User:MtnViewMark|Mark Lentczner]]. The build is now a Makefile that is part of the Haskell Platform [http://code.haskell.org/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 [http://hackage.haskell.org/platform/mac.html Haskell Platform] | |||
=== 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 | |||
==== wxHaskell ==== | |||
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 ==== | |||
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 === | |||
Mac OS X GHC Trac tickets: | |||
* [[http://hackage.haskell.org/trac/ghc/ticket/2965 2965]] is the main ticket, with lots of CC: people | |||
* [[http://hackage.haskell.org/trac/ghc/ticket/4163 4163]] gives some cross-compiling hope | |||
=== Reduce the number of GHC tickets === | |||
* All [http://hackage.haskell.org/trac/ghc/query?groupdesc=1&group=status&order=priority&os=MacOS+X&col=id&col=summary&col=owner&col=type&col=status&col=priority&col=milestone Mac OS X GHC Trac tickets] | |||
== Information == | |||
=== Wiki === | |||
* [[Mac OS X]] | * [[Mac OS X]] | ||
Line 10: | Line 66: | ||
* [[Using Haskell in an Xcode Cocoa project]] | * [[Using Haskell in an Xcode Cocoa project]] | ||
== Installing Haskell == | === Installing Haskell === | ||
=== How Haskell is on OS X today === | ==== How Haskell is on OS X today ==== | ||
The simplest methods are currently: | The simplest methods are currently: | ||
Line 22: | Line 78: | ||
* Homebrew (symlinked into /usr/local ?) | * Homebrew (symlinked into /usr/local ?) | ||
=== Manually compiled === | ==== Manually compiled ==== | ||
[[User:ChrisKuklewicz|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. | [[User:ChrisKuklewicz|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 === | ==== Dynamic Linking ==== | ||
working in GHC HEAD, not in any released version. | working in GHC HEAD, not in any released version. | ||
=== Difficult libraries on OS X === | ==== Difficult libraries on OS X ==== | ||
Libraries needed for ghc | Libraries needed for ghc | ||
Line 41: | Line 97: | ||
Libraries needed for other packages? gtk? | Libraries needed for other packages? gtk? | ||
= | === OS X code integration === | ||
== OS X code integration == | |||
Write Haskell in XCode? | Write Haskell in XCode? | ||
Line 53: | Line 105: | ||
FFI for Objective C from Haskell? | FFI for Objective C from Haskell? | ||
== | === Improvements? === | ||
A cabal2pkg that maintains proper dependency tracking? | |||
Discussion forum for all this? | |||
You can discuss it on Haskellers at [http://www.haskellers.com/teams/2/] | |||
[[Category:wxHaskell]] |
Latest revision as of 12:25, 26 September 2012
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 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
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
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
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:
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?
You can discuss it on Haskellers at [1]