Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Idris on Debian
Note: You can also choose build in a Cabal Sandbox as mentioned here.
Idris on Debian Jessie
For at least Debian Jessie 3.16.36-1+deb8u1 (my installation) the instructions below this update may not work. In particular you may be able to install with just:
sudo apt install haskell-platform sudo apt install libncurses5-dev mkdir Idris cd Idris cabal update cabal sandbox init cabal install idris
You may need a few packages I already had for my install (as are probably mentioned in the instructions below this update).
libncurses5-dev is where the instructions below this update may fail you - if you are having problems with cabal telling you your installation will break, or when you --force-installs anyway and terminfo fails to install because it is missing curses.h, installing libncurses5-dev should fix this for you.
I will describe the installation of Idris in a Haskell sandbox, relying in great part on Debian packages.
Having installed a basic Hakell environment, and in particular Cabal from Debian (your mileage may vary, of course):
# apt-get install haskell-platform cabal-install libgmp-dev
Further packages I install either from Debian or from within my isolated Haskell environment. Anyway, a few more Debian packages are needed:
# apt-get install llvm-3.3-dev libghc-terminfo-dev pkg-config libgc-dev build-essential libghc-llvm-dev
Update the cabal package list:
$ cabal update
A sandbox is created easily:
$ cabal unpack idris $ cd idris-0.9.19 $ cabal sandbox init
This should be enough to install Idris:
$ cabal install --dependencies-only $ cabal install -f FFI -f LLVM -f GMP
If this command completed succesfully, you should be able to run Idris using:
You can also specify an alternative directory for the binary (a directory that you already added to your $PATH for example), like this:
$ cabal install --bindir=$HOME/.local/bin/ -f FFI -f LLVM -f GMP
Note Idris will then install all packages into the sandbox. So removing the unpacked Idris directory will also delete all the libraries you have installed.
If everything goes well, you should be able to just call
Idris on Debian Wheezy
This excellent guide entails how to get a recent version of Haskell on Debian Wheezy: http://www.extellisys.com/articles/haskell-on-debian-wheezy
This is necessary for building the most recent version of Idris without pulling ones hair out. Once this has been done, there is one more dependency needed to link Idris, this can be installed via the following command
sudo apt-get install libtinfo-dev
You may also need to edit your .bashrc to reflect the location of our new shiny binaries. We can do this by adding the following to our file:
Now, after restarting bash or reloading the profile, you should see this upon running these commands:
$ cabal --version cabal-install version 22.214.171.124 using version 126.96.36.199 of the Cabal library $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.8.3
Next, we simply install Idris via cabal
cabal update cabal install idris
Not so soon after, and we're done :).