building ghc-6.10.1 against readline

Hello all, Here are quick and dirty instructions for building ghc-6.10.1 against readline instead of editline, for anyone who may be interested. 1. Unpack the ghc source and extralibs trees into ~/build/ghc-6.10.1 (Where you put your build tree obviously doesn't matter; I just specify it for clarity.) 2. Download this patch to ~/build: http://mauke.ath.cx/stuff/haskell/ghc-6.10.1-readline.diff 3. Apply the patch by running (from ~/build): patch -p0 < ghc-6.10.1-readline.diff 4. Download the readline package to ~/build/ghc-6.10.1/libraries: http://hackage.haskell.org/packages/archive/readline/1.0.1.0/readline-1.0.1.... 5. Unpack it, and create a symlink (in ~/build/ghc-6.10.1/libraries): ln -s readline-1.0.1.0 readline 6. Now in ~/build/ghc-6.10.1, you can run ./configure, make, etc. Thanks to mauke on #haskell for the patch, which is also appended to this email for posterity. Regards, Reid ----------- ghc-6.10.1-readline.diff diff -ru ghc-6.10.1/compiler/ghc.cabal.in ghc-6.10.1-hax/compiler/ghc.cabal.in --- ghc-6.10.1/compiler/ghc.cabal.in 2008-11-03 19:13:13.000000000 +0100 +++ ghc-6.10.1-hax/compiler/ghc.cabal.in 2008-11-10 04:17:42.000000000 +0100 @@ -72,7 +72,7 @@ Build-Depends: unix if flag(editline) - Build-Depends: editline + Build-Depends: readline CPP-Options: -DUSE_EDITLINE GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans diff -ru ghc-6.10.1/compiler/ghci/InteractiveUI.hs ghc-6.10.1-hax/compiler/ghci/InteractiveUI.hs --- ghc-6.10.1/compiler/ghci/InteractiveUI.hs 2008-11-03 19:13:13.000000000 +0100 +++ ghc-6.10.1-hax/compiler/ghci/InteractiveUI.hs 2008-11-10 04:28:39.000000000 +0100 @@ -66,7 +66,7 @@ #ifdef USE_EDITLINE import Control.Concurrent ( yield ) -- Used in readline loop -import System.Console.Editline.Readline as Readline +import System.Console.Readline as Readline #endif --import SystemExts @@ -327,7 +327,7 @@ Readline.initialize withGhcAppData - (\dir -> Readline.readHistory (dir > "ghci_history")) + (\dir -> return True {- Readline.readHistory (dir > "ghci_history") -}) (return True) Readline.setAttemptedCompletionFunction (Just completeWord) @@ -367,8 +367,8 @@ #ifdef USE_EDITLINE liftIO $ do - Readline.stifleHistory 100 - withGhcAppData (\dir -> Readline.writeHistory (dir > "ghci_history")) + -- Readline.stifleHistory 100 + withGhcAppData (\dir -> return True {- Readline.writeHistory (dir > "ghci_history") -}) (return True) Readline.resetTerminal Nothing #endif diff -ru ghc-6.10.1/libraries/Makefile ghc-6.10.1-hax/libraries/Makefile --- ghc-6.10.1/libraries/Makefile 2008-11-03 19:13:13.000000000 +0100 +++ ghc-6.10.1-hax/libraries/Makefile 2008-11-10 04:12:01.000000000 +0100 @@ -46,7 +46,7 @@ ifeq "$(Windows)" "YES" SUBDIRS += $(wildcard Win32) endif -SUBDIRS += directory process pretty hpc template-haskell editline Cabal random haskell98 +SUBDIRS += directory process pretty hpc template-haskell readline Cabal random haskell98 # Set GhcBootLibs=YES from the command line to work with just the libraries # needed to bootstrap GHC.
participants (1)
-
Reid Barton