Difference between revisions of "Leksah"
Lambda belka (talk | contribs) |
|||
Line 51: | Line 51: | ||
9. Have fun with leksah, but remember it is an alpha version! |
9. Have fun with leksah, but remember it is an alpha version! |
||
+ | |||
+ | === Installation script for Ubuntu beginners === |
||
+ | |||
+ | Script (27.11.2008, leksah version: 0.3, dev): |
||
+ | |||
+ | ----------------------------------------------------------------------------------------------------------- |
||
+ | +++++++++++++++++++++++++++++++++++++++++++++++++ |
||
+ | ----------------------------------------------------------------------------------------------------------- |
||
+ | |||
+ | |||
+ | echo "-----------INIT CONTEXT: START-------------------------------" |
||
+ | |||
+ | |||
+ | sudo apt-get install ghc6 |
||
+ | |||
+ | sudo apt-get install libghc6-hgl-dev |
||
+ | |||
+ | sudo apt-get install libghc6-network-dev |
||
+ | |||
+ | sudo apt-get install zlib1g-dev libssl-dev |
||
+ | |||
+ | sudo apt-get install libghc6-gtk-dev |
||
+ | |||
+ | sudo apt-get install libghc6-sourceview-dev |
||
+ | |||
+ | |||
+ | echo "-----------INIT CONTEXT: DONE--------------------------------" |
||
+ | |||
+ | echo "-----------TEMP LOCATION CREATION: START---------------------" |
||
+ | |||
+ | |||
+ | cd ${HOME} |
||
+ | |||
+ | mkdir unique_tmp |
||
+ | |||
+ | cd unique_tmp |
||
+ | |||
+ | |||
+ | echo "-----------TEMP LOCATION CREATION: DONE----------------------" |
||
+ | |||
+ | echo "-----------INSTALLING PACKAGES NEEDED FOR LEKSAH: START------" |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/Cabal/1.6.0.1/Cabal-1.6.0.1.tar.gz |
||
+ | |||
+ | sudo tar -zxf Cabal-1.6.0.1.tar.gz |
||
+ | |||
+ | cd Cabal-1.6.0.1 |
||
+ | |||
+ | |||
+ | sudo ghc --make Setup |
||
+ | |||
+ | sudo ./Setup configure |
||
+ | |||
+ | sudo ./Setup build |
||
+ | |||
+ | sudo ./Setup install |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/HTTP/3001.1.3/HTTP-3001.1.3.tar.gz |
||
+ | |||
+ | sudo tar -zxf HTTP-3001.1.3.tar.gz |
||
+ | |||
+ | cd HTTP-3001.1.3 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/zlib/0.5.0.0/zlib-0.5.0.0.tar.gz |
||
+ | |||
+ | sudo tar -zxf zlib-0.5.0.0.tar.gz |
||
+ | |||
+ | cd zlib-0.5.0.0 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/cabal-install/0.6.0/cabal-install-0.6.0.tar.gz |
||
+ | |||
+ | sudo tar -zxf cabal-install-0.6.0.tar.gz |
||
+ | |||
+ | cd cabal-install-0.6.0 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | sudo echo 'PATH=${PATH}:${HOME}/.cabal/bin' >> ${HOME}/.bashrc |
||
+ | |||
+ | sudo echo 'export PATH' >> ${HOME}/.bashrc |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/binary/0.4.4/binary-0.4.4.tar.gz |
||
+ | |||
+ | sudo tar -zxf binary-0.4.4.tar.gz |
||
+ | |||
+ | cd binary-0.4.4 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/leksah/0.1.1/leksah-0.1.1.tar.gz |
||
+ | |||
+ | sudo tar -zxf leksah-0.1.1.tar.gz |
||
+ | |||
+ | cd leksah-0.1.1 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | |||
+ | sudo wget http://hackage.haskell.org/packages/archive/utf8-string/0.3.3/utf8-string-0.3.3.tar.gz |
||
+ | |||
+ | sudo tar -zxf utf8-string-0.3.3.tar.gz |
||
+ | |||
+ | cd utf8-string-0.3.3 |
||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | cd .. |
||
+ | |||
+ | |||
+ | echo "-----------INSTALLING PACKAGES NEEDED FOR LEKSAH: DONE------" |
||
+ | |||
+ | echo "-----------GETTING DARCS: START-----------------------------" |
||
+ | |||
+ | |||
+ | sudo apt-get install darcs |
||
+ | |||
+ | |||
+ | echo "-----------GETTING DARCS: DONE------------------------------" |
||
+ | |||
+ | echo "-----------GETTING LAST VER. OF LEKSAH: START---------------" |
||
+ | |||
+ | |||
+ | sudo darcs get http://code.haskell.org/leksah/ |
||
+ | |||
+ | cd leksah |
||
+ | |||
+ | |||
+ | find ./src/IDE/Metainfo/SourceCollector.hs | sudo xargs perl -pi -e 's/HsModule _ _ _ decls _ _ _/HsModule _ _ _ decls _ _ _ _/g' |
||
+ | |||
+ | |||
+ | echo "The previous command (find...) is designed for leksah.v0.3 (27.11.2008) to workaround an inconsistency. Perhaps you should put one '_' symbol as a first argument, not as a last. Didn't manage to figure it out yet." |
||
+ | |||
+ | |||
+ | echo "-----------GETTING LAST VER. OF LEKSAH: DONE----------------" |
||
+ | |||
+ | echo "-----------INSTALLING LEKSAH: START-------------------------" |
||
+ | |||
+ | |||
+ | sudo runghc Setup configure --user |
||
+ | |||
+ | sudo runghc Setup build |
||
+ | |||
+ | sudo runghc Setup install |
||
+ | |||
+ | |||
+ | echo "-----------INSTALLING LEKSAH: DONE--------------------------" |
||
+ | |||
+ | |||
+ | cd ${HOME} |
||
+ | |||
+ | |||
+ | sudo rm -I -r unique_tmp |
||
+ | |||
+ | |||
+ | ----------------------------------------------------------------------------------------------------------- |
||
+ | +++++++++++++++++++++++++++++++++++++++++++++++++ |
||
+ | ----------------------------------------------------------------------------------------------------------- |
||
=== Code === |
=== Code === |
Revision as of 16:03, 27 November 2008
Leksah: an IDE for Haskell written in Haskell
This is the Leksah users' wiki. Leksah is in an early phase of development. Please contact me if you are interested in the project (jnf at arcor.de)
Documentation
Screenshots
Installation on Windows from scratch
This is a short description how I install Leksah on Windows from scratch. (I'm running Vista in VirtualBox on a 64 Bit machine, but this should not matter.)
In the future when Leksah reaches production quality I hope we can provide a Windows installer.
Currently their is a gtk2hs bug, so that prepackaged gtk2hs 0.9.13 can't be used. So the installation description is for ghc 6.8.1 and gtk2hs 0.9.12.1.
1. Install Cygwin with the online installer from http://www.cygwin.com/ Select packages wget, curl and gcc-core in adition to the standard selection
1a. For some reasons I had to add C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4 to my path, because otherwise cc1 was not found when compiling.
2. Download darcsdir-cygwin-2.0.0.tar.bz2 from http://wiki.darcs.net/DarcsWiki/CategoryBinaries unpack it in under Programs and add the Path to your environment variables.
3. Install ghc6.8.1 from http://www.haskell.org/ghc
4. Download the sources from the same place. Open a cygwin shell, make a directory Haskell, copy the source tarballs here and unpack them.
5. Install gtk2hs 0.9.12.1 from http://www.haskell.org/gtk2hs/ (http://sourceforge.net/project/showfiles.php?group_id=49207&package_id=42440).
6. Download the binary and utf-8 packages from Hackage http://hackage.haskell.org/packages/archive/pkg-list.html 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 -fgtkless0913, runhaskell Setup build, runhaskell Setup install. Be aware of the special configure flag.
7a) For some reasons gtk gives some error messages when running leksah. They disappear if you edit C:/Programme/Gtk2Hs/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 from http://www.evertype.com/emono/.
8. Start leksah and give your Haskell directory as source root. Select the right font from Help/Prefs.
9. Have fun with leksah, but remember it is an alpha version!
Installation script for Ubuntu beginners
Script (27.11.2008, leksah version: 0.3, dev):
+++++++++++++++++++++++++++++++++++++++++++++++++
echo "-----------INIT CONTEXT: START-------------------------------"
sudo apt-get install ghc6
sudo apt-get install libghc6-hgl-dev
sudo apt-get install libghc6-network-dev
sudo apt-get install zlib1g-dev libssl-dev
sudo apt-get install libghc6-gtk-dev
sudo apt-get install libghc6-sourceview-dev
echo "-----------INIT CONTEXT: DONE--------------------------------"
echo "-----------TEMP LOCATION CREATION: START---------------------"
cd ${HOME}
mkdir unique_tmp
cd unique_tmp
echo "-----------TEMP LOCATION CREATION: DONE----------------------"
echo "-----------INSTALLING PACKAGES NEEDED FOR LEKSAH: START------"
sudo wget http://hackage.haskell.org/packages/archive/Cabal/1.6.0.1/Cabal-1.6.0.1.tar.gz
sudo tar -zxf Cabal-1.6.0.1.tar.gz
cd Cabal-1.6.0.1
sudo ghc --make Setup
sudo ./Setup configure
sudo ./Setup build
sudo ./Setup install
sudo wget http://hackage.haskell.org/packages/archive/HTTP/3001.1.3/HTTP-3001.1.3.tar.gz
sudo tar -zxf HTTP-3001.1.3.tar.gz
cd HTTP-3001.1.3
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
sudo wget http://hackage.haskell.org/packages/archive/zlib/0.5.0.0/zlib-0.5.0.0.tar.gz
sudo tar -zxf zlib-0.5.0.0.tar.gz
cd zlib-0.5.0.0
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
sudo wget http://hackage.haskell.org/packages/archive/cabal-install/0.6.0/cabal-install-0.6.0.tar.gz
sudo tar -zxf cabal-install-0.6.0.tar.gz
cd cabal-install-0.6.0
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
sudo echo 'PATH=${PATH}:${HOME}/.cabal/bin' >> ${HOME}/.bashrc
sudo echo 'export PATH' >> ${HOME}/.bashrc
sudo wget http://hackage.haskell.org/packages/archive/binary/0.4.4/binary-0.4.4.tar.gz
sudo tar -zxf binary-0.4.4.tar.gz
cd binary-0.4.4
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
sudo wget http://hackage.haskell.org/packages/archive/leksah/0.1.1/leksah-0.1.1.tar.gz
sudo tar -zxf leksah-0.1.1.tar.gz
cd leksah-0.1.1
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
sudo wget http://hackage.haskell.org/packages/archive/utf8-string/0.3.3/utf8-string-0.3.3.tar.gz
sudo tar -zxf utf8-string-0.3.3.tar.gz
cd utf8-string-0.3.3
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
cd ..
echo "-----------INSTALLING PACKAGES NEEDED FOR LEKSAH: DONE------"
echo "-----------GETTING DARCS: START-----------------------------"
sudo apt-get install darcs
echo "-----------GETTING DARCS: DONE------------------------------"
echo "-----------GETTING LAST VER. OF LEKSAH: START---------------"
sudo darcs get http://code.haskell.org/leksah/
cd leksah
find ./src/IDE/Metainfo/SourceCollector.hs | sudo xargs perl -pi -e 's/HsModule _ _ _ decls _ _ _/HsModule _ _ _ decls _ _ _ _/g'
echo "The previous command (find...) is designed for leksah.v0.3 (27.11.2008) to workaround an inconsistency. Perhaps you should put one '_' symbol as a first argument, not as a last. Didn't manage to figure it out yet."
echo "-----------GETTING LAST VER. OF LEKSAH: DONE----------------"
echo "-----------INSTALLING LEKSAH: START-------------------------"
sudo runghc Setup configure --user
sudo runghc Setup build
sudo runghc Setup install
echo "-----------INSTALLING LEKSAH: DONE--------------------------"
cd ${HOME}
sudo rm -I -r unique_tmp
+++++++++++++++++++++++++++++++++++++++++++++++++
Code
Leksah Darcs repository: http://code.haskell.org/leksah