Difference between revisions of "Gtk2Hs"
Jump to navigation
Jump to search
Andrewufrank (talk | contribs) m |
(delete outdated links + update some of the information) |
||
(29 intermediate revisions by 15 users not shown) | |||
Line 7: | Line 7: | ||
== Homepage == |
== Homepage == |
||
− | http://haskell.org/gtk2hs/ |
+ | http://projects.haskell.org/gtk2hs/ |
== Tutorials and Demos == |
== Tutorials and Demos == |
||
http://www.haskell.org/haskellwiki/Gtk2Hs/Tutorials |
http://www.haskell.org/haskellwiki/Gtk2Hs/Tutorials |
||
− | |||
⚫ | |||
Some demonstration programs can be found at: |
Some demonstration programs can be found at: |
||
− | http:// |
+ | http://code.haskell.org/gtk2hs/gio/demo/ |
+ | http://code.haskell.org/gtk2hs/pango/demo/ |
||
+ | http://code.haskell.org/gtk2hs/cairo/demo/ |
||
⚫ | |||
== Status == |
== Status == |
||
+ | See [[Gtk2Hs/Installation#Supported_Versions]] for details on which systems should be able to build Gtk2Hs and which are known to be able to build Gtk2Hs. |
||
− | 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 |
||
== Installation Notes == |
== Installation Notes == |
||
− | === Mac OS X === |
||
− | |||
− | ==== Using the GTK+ OS X Framework ==== |
||
− | |||
− | This explains how to install Gtk2Hs on Macs using the native [http://www.gtk-osx.org/ GTK+ OS X Framework], a port of GTK+ to the Mac that does '''not''' depend on X11, and hence, is better integrated into the Mac desktop - i.e., menus actually appear in the menu bar, where they belong. It also avoids the often tedious installation of GTK+ via MacPorts. However, it misses support for optional Gtk2Hs packages that are currently not supported by the [http://www.gtk-osx.org/ GTK+ OS X Framework], most notably support for Glade. It does include support for Cairo, though. |
||
− | |||
− | Here is how to install the library: |
||
− | # Download and install [http://www.gtk-osx.org/ GTK+ OS X Framework] (this uses the standard Mac package installer). |
||
− | # Install [http://pkg-config.freedesktop.org/ pkg-config], either by compiling it from source or via MacPorts. |
||
− | # Download and unpack the Gtk2Hs tar ball from the [http://www.haskell.org/gtk2hs/download/ Gtk2Hs download page] (I tested 0.10.0). |
||
− | # Configure with (you may want to remove the two backslashes and put everything on one line) |
||
− | env PKG_CONFIG_PATH=/Library/Frameworks/Cairo.framework/Resources/dev/lib/pkgconfig:\ |
||
− | /Library/Frameworks/GLib.framework/Resources/dev/lib/pkgconfig:\ |
||
− | /Library/Frameworks/Gtk.framework/Resources/dev/lib/pkgconfig ./configure --disable-gio |
||
− | # Build with |
||
− | make |
||
− | # Install (to <tt>/usr/local/</tt> unless a <tt>--prefix</tt> option was passed to <tt>configure</tt>) with |
||
− | sudo make install |
||
− | |||
− | The library is now registered with the package database of the GHC you used for compiling. |
||
− | |||
− | NB: Thanks to Ross Mellgren for his post on the gtk2hs-users list that outlined the use of <tt>PKG_CONFIG_PATH</tt>. |
||
− | |||
− | ==== 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 [http://macports.org MacPorts] |
||
− | * Install dependencies: |
||
− | sudo port install 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 <tt>ghc</tt> driver program and change the last line to: |
||
− | exec $GHCBIN $TOPDIROPT ${1+"$@"} -L/opt/local/lib -I/opt/local/include |
||
− | * Download Gtk2Hs following instructions at [http://www.haskell.org/gtk2hs/downloads/ Gtk2Hs Download page] |
||
− | * Check configuration: |
||
− | ./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 |
||
+ | See [[Gtk2Hs/Installation]]. |
||
− | ==== 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. Also note that ghc configure will give up if your perl5.8 is not new enough, if so deactivate it and try again. |
||
− | * 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 == |
||
Line 115: | Line 38: | ||
These are links to FAQS on the main site. |
These are links to FAQS on the main site. |
||
*[http://haskell.org/gtk2hs/archives/2005/06/23/hiding-the-console-on-windows/#more-26 Hiding the console on windows] |
*[http://haskell.org/gtk2hs/archives/2005/06/23/hiding-the-console-on-windows/#more-26 Hiding the console on windows] |
||
− | *[http://haskell.org/gtk2hs/archives/2005/07/24/writing-multi-threaded-guis/#more-38 Writing multi-threaded GUIs] |
||
− | *[http://haskell.org/gtk2hs/archives/2005/06/24/building-from-source-on-windows/#more-15 Building on Windows] |
||
*[http://haskell.org/gtk2hs/development/#darcs Checkout instructions]. Also see [[Darcs]] |
*[http://haskell.org/gtk2hs/development/#darcs Checkout instructions]. Also see [[Darcs]] |
||
Latest revision as of 20:16, 1 December 2012
What is it?
Gtk2Hs is a Haskell binding to Gtk+ 2.x. Using it, one can write Gtk+ based applications with GHC.
Homepage
http://projects.haskell.org/gtk2hs/
Tutorials and Demos
http://www.haskell.org/haskellwiki/Gtk2Hs/Tutorials
Some demonstration programs can be found at:
http://code.haskell.org/gtk2hs/gio/demo/ http://code.haskell.org/gtk2hs/pango/demo/ http://code.haskell.org/gtk2hs/cairo/demo/ http://code.haskell.org/gtk2hs/gtk/demo/
Status
See Gtk2Hs/Installation#Supported_Versions for details on which systems should be able to build Gtk2Hs and which are known to be able to build Gtk2Hs.
Installation Notes
See Gtk2Hs/Installation.
Demos
OpenGL and Gtk2Hs
Gtk2Hs/Demos/GtkGLext/hello.hs
Gtk2Hs/Demos/GtkGLext/terrain.hs requires Gtk2Hs/Demos/GtkGLext/terrain.xpm
FAQs
These are links to FAQS on the main site.