Leksah: an IDE for Haskell written in Haskell
This is the Leksah users' wiki. Leksah is in active development. We plan to release a first beta soon. For general information:
- Visit the Leksah website
- Consult the Leksah manual
- Subscribe to the Leksah mailinglist
- Contact us for further info (info at leksah.org)
- First look to the general information in the Manual
- When you get the following error:
Not in scope: `sourceLanguageManagerGuessLanguage'
you have to install gtksourceview2 in a version > 2.4.0
- When you get the following error:
Linking dist/build/leksah/leksah ...
/usr/bin/ld: cannot find -ledit
collect2: ld returned 1 exit status
you have to install libedit development files.
- The package type-level considered toxic!
This package defines > 20000 newtypes for numbers and wastes a lot of space for metadata. So consider to unregister it, if you don't really need it.
2 Release notes
Moved to the Leksah webside
3 Installation on Windows from scratch
In the future when Leksah reaches production quality I hope we can provide a Windows installer.
This is what you can do to get leksah 0.4.3 running on Vista
0. cabal-install was not working for me. Probably because currently there is no gtk2hs >= 0.10.0 on Hackage right now.
1. Install your GHC from http://www.haskell.org/ghc. Duh. Mine was GHC 6.10.1.
3. Install Cygwin with the online installer from http://www.cygwin.com/ Select packages wget, curl and gcc-core in adition to the standard selection. I used the 1.7.0 version of Cygwin setup, but it is still beta.
4*. Download darcs from http://wiki.darcs.net/DarcsWiki/Binaries, unpack it in under Program Files and add the path to your environment variables. The file I downloaded was darcsdir-cygwin-2.2.0.tar.bz2.
5. Download the GHC sources from http://www.haskell.org/ghc. Open a Cygwin shell, make a directory Haskell, copy the source tarballs here and unpack them.
6*. Download the binary and utf-8 packages from Hackage and copy them to the Haskell folder. Open a Cygwin shell in Administrator mode and unpack the tar files. Go to the directories and do runhaskell Setup configure, runhaskell Setup build, runhaskell Setup install.
7*. In the Haskell directory do a darcs get http://code.haskell.org/leksah. Go to the leksah directory and do a runhaskell Setup configure, runhaskell Setup build, runhaskell Setup install.
7a) Although I probably didn't get this, previously some gtk error message was resolved by editting C:/Program Files/Gtk2Hs/0.10.0/etc/gtk-2.0/gtkrc and change the theme name from MS-Windows to Raleigh: gtk-theme-name = "Raleigh"
8. You may wish to install a full Unicode monospace font if you want to use the source candy feature of leksah. e.g. Everson Mono or Deja Vu Sans Mono (or perhaps the GNU FreeFonts which are aesthetically pleasing to my eyes).
9. Start leksah and give your Haskell directory as source root. Select the right font from Help/Prefs.
10. Have fun with leksah, but remember it is a beta version!
NB* I actually experienced a bit of a problem here, darcs was taking too much time. While in Cygwin, I cabal-installed it! Voila! So the starred portions are actually unnecessary, I think.
4 Installation for Ubuntu
4.1 version 0.6 in Ubuntu 9.04
Built in Ubuntu 9.04 using GHC 6.10.3 from Someone561's PPA. cabal-install was bootstrapped using original ghc from the distribution, because of dependency problems. GHC 6.10.3 was installed afterwards.
4.1.1 Install cabal-install from CabalInstall
4.1.2 Upgrade GHC to 6.10.3
4.1.3 Install gtk2hs
$ sudo aptitude build-deb libghc6-gtk-dev $ sudo aptitude install libgtk2.0-dev libgtksourceview2.0-dev libcairo2-dev checkinstall
in gtk2hs sources:
$ ./configure $ make $ checkinstall
(say 'n' to question about making docs. checkinstall makes a deb package gtk2hs that could be easily uninstalled - normally you could do make install)
4.1.4 Install Leksah using cabal
$ cd ~/.cabal/bin $ ./cabal update $ ./cabal install leksah Resolving dependencies... cabal: cannot configure regex-compat-0.92. It requires regex-base >=0.93 For the dependency on regex-base >=0.93 there are these packages: regex-base-0.93 and regex-base-0.93.1. However none of them are available. regex-base-0.93 was excluded because regex-base-0.72.0.2 was selected instead regex-base-0.93 was excluded because leksah-0.6.0 requires regex-base ==0.72.0.2 regex-base-0.93.1 was excluded because regex-base-0.72.0.2 was selected instead regex-base-0.93.1 was excluded because leksah-0.6.0 requires regex-base 0.72.0.2
to solve dependency problems, download leksah-0.6 archive from hackage, decompress and change in leksah.cabal:
regex-posix ==0.72.0.3, regex-compat ==0.71.0.1,
then in the same directory do
$ ~/.cabal/bin/cabal install
4.1.5 running the IDE
Leksah should now work. If you have problems running with config from older version, consider removing the old configuration:
$ rm ~/.leksah -r
To start the IDE:
$ export PATH=$PATH:~/.cabal/bin $ leksah
4.2 version 0.4.4.1 in Ubuntu 8.10
Hello, I've installed Leksah 0.4.4.1 today in Ubuntu 8.10. This procedure is based on the one given in the manual, but uses GHC 6.10.2. Hope it will be useful. (Maciej Noszczyński)
# compile ghc 6.10.2
sudo aptitude build-dep ghc6
tar jxf ghc-6.10.2-src.tar.bz2
tar jxf ghc-6.10.2-src-extralibs.tar.bz2
./configure --prefix ~/ghc
# cleanup and setup paths
sudo aptitude remove ghc6
(you should put this export into some startup file e.g. .bash_profile
and source it when needed)
# gtk2hs from darcs (> 0.10.0) is needed for 6.10.2
sudo aptitude install darcs
darcs get --partial http://code.haskell.org/gtk2hs/
aptitude install happy alex libglib2.0-dev libgtk2.0-dev
libgtksourceview2.0-dev libgmp3-dev autoconf libtool
sudo make install
# cabal install
tar zxf cabal-install-0.6.2.tar.gz
# build and install Leksah
tar zxf leksah-0.4.4.1.tar.gz
mv leksah.cabal leksah.cabal.old
sed -e 's/Cabal ==184.108.40.206/Cabal >=220.127.116.11/g' leksah.cabal.old > leksah.cabal
cabal install binary
cabal install utf8-string
runhaskell Setup configure --user
runhaskell Setup build
runhaskell Setup install
# run the IDE
Leksah Darcs repository: http://code.haskell.org/leksah