Personal tools

Gtk2Hs

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Adding link to various FAQs or other Gtk2hs pages)
(Mac OS X: Add recent experience)
Line 18: Line 18:
 
== Installation Notes ==
 
== Installation Notes ==
 
=== Mac OS X ===
 
=== Mac OS X ===
  +
==== Article as of Mid 2008 ====
 
Installing Gtk2Hs on Mac requires some finesse, at least until Haskell Libary Platform is built or ghc-6.8.3 is
 
Installing Gtk2Hs on Mac requires some finesse, at least until Haskell Libary Platform is built or ghc-6.8.3 is
 
available in macports. (These are planned for late 2008.)
 
available in macports. (These are planned for late 2008.)
Line 58: Line 59:
 
make
 
make
 
sudo make install
 
sudo make install
  +
==== Recent experiences ====
  +
I successfully installed the latest version on Mac OS 10.5 by:
  +
* Installing Macports.
  +
* <tt>sudo port install ghc</tt>
  +
* <tt>sudo port install gtk2hs</tt> - which does not complete successfully. It does however, install the appropriate dependencies. Note that there are so many, you may need to install a couple of times due to time outs etc.. The build of Gtk2HS will fail, but that is ok - continue as below.
  +
* Remove the build directory under <tt>/opt/.../build/gtk2hs</tt>
  +
* Download Gtk2Hs via darcs as per [http://haskell.org/gtk2hs/development/#darcs the gtk2hs download instructions]
  +
* do a <tt>sudo port install automake</tt>
  +
* do a <tt>sudo port install alex</tt>
  +
* do a <tt>sudo port install happy</tt> (Note this also fails and must be built from source. See the [[Happy]] page for details.)
  +
* Follow the build instructions on the [http://haskell.org/gtk2hs/development/#darcs the gtk2hs download page]. I would suggest using <tt>./configure --prefix=/opt/local</tt> to get it in the same place as ports - personal preference though.
  +
Good luck - as usual, your mileage may vary.
   
 
== Demos ==
 
== Demos ==

Revision as of 17:22, 17 December 2008

Contents

1 What is it?

Gtk2Hs is a Haskell binding to Gtk+ 2.x. Using it, one can write Gtk+ based applications with GHC.

2 Homepage

http://haskell.org/gtk2hs/

3 Status

It currently works with Gtk+ 2.0 through to 2.8 on Unix, Win32 and MacOS X. The widget function coverage is almost complete, only a few minor bits and pieces are missing.

It currently builds with ghc 5.04.3 through to 6.8.2

4 Installation Notes

4.1 Mac OS X

4.1.1 Article as of Mid 2008

Installing Gtk2Hs on Mac requires some finesse, at least until Haskell Libary Platform is built or ghc-6.8.3 is available in macports. (These are planned for late 2008.)

  • Install MacPorts
  • Install dependencies:
sudo port instll glade3 libglade2 gstreamer gst-plugins-base gtksourceview cairo librsvg gtkglext firefox
  • Update PKG_CONFIG_PATH (for libraries)
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/opt/local/lib/pkgconfig
  • Update ghc to use macports libs: Edit your main ghc driver program and change the last line to:
exec $GHCBIN $TOPDIROPT ${1+"$@"} -L/opt/local/lib -I/opt/local/include
./configure --enable-docs --enable-profiling

...

**************************************************
* Configuration completed successfully.           
*                                                 
* The following packages will be built:           
*                                                 
* glib          : yes                             
* gtk           : yes                             
* glade         : yes              
* cairo         : yes                 
* svgcairo      : yes              
* gtkglext      : yes              
* gconf         : yes                 
* sourceview    : yes            
* mozembed      : yes              
* soegtk        : yes                             
* gnomevfs      : yes              
* gstreamer     : yes             
* documentation : yes                    
*                                                 
* Now do "(g)make" followed by "(g)make install"
**************************************************
  • Build and Install:
make 
sudo make install

4.1.2 Recent experiences

I successfully installed the latest version on Mac OS 10.5 by:

  • Installing Macports.
  • sudo port install ghc
  • sudo port install gtk2hs - which does not complete successfully. It does however, install the appropriate dependencies. Note that there are so many, you may need to install a couple of times due to time outs etc.. The build of Gtk2HS will fail, but that is ok - continue as below.
  • Remove the build directory under /opt/.../build/gtk2hs
  • Download Gtk2Hs via darcs as per the gtk2hs download instructions
  • do a sudo port install automake
  • do a sudo port install alex
  • do a sudo port install happy (Note this also fails and must be built from source. See the Happy page for details.)
  • Follow the build instructions on the the gtk2hs download page. I would suggest using ./configure --prefix=/opt/local to get it in the same place as ports - personal preference though.

Good luck - as usual, your mileage may vary.

5 Demos

5.1 OpenGL and Gtk2Hs

Gtk2Hs/Demos/GtkGLext/hello.hs

Gtk2Hs/Demos/GtkGLext/terrain.hs requires Gtk2Hs/Demos/GtkGLext/terrain.xpm

6 FAQs

These are links to FAQS on the main site.