summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Kolmodin <kolmodin@gentoo.org>2009-04-19 14:54:35 +0000
committerLennart Kolmodin <kolmodin@gentoo.org>2009-04-19 14:54:35 +0000
commitfb7dd4335ade5c168b6e36c9aeb28f37d7ece1eb (patch)
tree250ab104c0ddc158cc6302c5428ed6f55d712f8d /dev-lang/ghc/files
parentamd64/x86 stable, bug #266357 (diff)
downloadgentoo-2-fb7dd4335ade5c168b6e36c9aeb28f37d7ece1eb.tar.gz
gentoo-2-fb7dd4335ade5c168b6e36c9aeb28f37d7ece1eb.tar.bz2
gentoo-2-fb7dd4335ade5c168b6e36c9aeb28f37d7ece1eb.zip
Version bump dev-lang/ghc to 6.10.2, currently masked for testing.
(Portage version: 2.1.6.7/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/ghc/files')
-rw-r--r--dev-lang/ghc/files/ghc-6.10.2-readline.patch216
1 files changed, 216 insertions, 0 deletions
diff --git a/dev-lang/ghc/files/ghc-6.10.2-readline.patch b/dev-lang/ghc/files/ghc-6.10.2-readline.patch
new file mode 100644
index 000000000000..315d800ac57b
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-6.10.2-readline.patch
@@ -0,0 +1,216 @@
+Lennart Kolmodin <kolmodin@gentoo.org> 2009
+Make GHC 6.10.2 use readline instead of editline
+
+diff -rN -u old-ghc-6.10.2/aclocal.m4 new-ghc-6.10.2/aclocal.m4
+--- old-ghc-6.10.2/aclocal.m4 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/aclocal.m4 2009-04-02 22:56:23.000000000 +0200
+@@ -900,18 +900,18 @@
+ fi])# FP_PROG_GHC_PKG
+
+
+-# FP_GHC_HAS_EDITLINE
++# FP_GHC_HAS_READLINE
+ # -------------------
+-AC_DEFUN([FP_GHC_HAS_EDITLINE],
++AC_DEFUN([FP_GHC_HAS_READLINE],
+ [AC_REQUIRE([FP_PROG_GHC_PKG])
+-AC_CACHE_CHECK([whether ghc has editline package], [fp_cv_ghc_has_editline],
+-[if "${GhcPkgCmd-ghc-pkg}" --show-package editline >/dev/null 2>&1; then
+- fp_cv_ghc_has_editline=yes
++AC_CACHE_CHECK([whether ghc has readline package], [fp_cv_ghc_has_readline],
++[if "${GhcPkgCmd-ghc-pkg}" describe readline >/dev/null 2>&1; then
++ fp_cv_ghc_has_readline=yes
+ else
+- fp_cv_ghc_has_editline=no
++ fp_cv_ghc_has_readline=no
+ fi])
+-AC_SUBST([GhcHasEditline], [`echo $fp_cv_ghc_has_editline | sed 'y/yesno/YESNO/'`])
+-])# FP_GHC_HAS_EDITLINE
++AC_SUBST([GhcHasReadline], [`echo $fp_cv_ghc_has_readline | sed 'y/yesno/YESNO/'`])
++])# FP_GHC_HAS_READLINE
+
+
+ # FP_GCC_EXTRA_FLAGS
+diff -rN -u old-ghc-6.10.2/compiler/ghc.cabal.in new-ghc-6.10.2/compiler/ghc.cabal.in
+--- old-ghc-6.10.2/compiler/ghc.cabal.in 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/compiler/ghc.cabal.in 2009-04-02 22:56:23.000000000 +0200
+@@ -28,8 +28,8 @@
+ Default: False
+ Manual: True
+
+-Flag editline
+- Description: Use editline
++Flag readline
++ Description: Use readline
+ Default: False
+ Manual: True
+
+@@ -71,8 +71,8 @@
+ else
+ Build-Depends: unix
+
+- if flag(editline)
+- Build-Depends: editline
++ if flag(readline)
++ Build-Depends: readline
+ CPP-Options: -DUSE_EDITLINE
+
+ GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
+diff -rN -u old-ghc-6.10.2/compiler/ghci/InteractiveUI.hs new-ghc-6.10.2/compiler/ghci/InteractiveUI.hs
+--- old-ghc-6.10.2/compiler/ghci/InteractiveUI.hs 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/compiler/ghci/InteractiveUI.hs 2009-04-02 22:56:23.000000000 +0200
+@@ -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
+@@ -96,6 +96,10 @@
+
+ import Data.IORef ( IORef, readIORef, writeIORef )
+
++#ifdef USE_EDITLINE
++import System.Posix.Internals ( setNonBlockingFD )
++#endif
++
+ -----------------------------------------------------------------------------
+
+ ghciWelcomeMsg :: String
+@@ -322,10 +326,6 @@
+ when is_tty $ withReadline $ do
+ Readline.initialize
+
+- withGhcAppData
+- (\dir -> Readline.readHistory (dir </> "ghci_history"))
+- (return True)
+-
+ Readline.setAttemptedCompletionFunction (Just completeWord)
+ --Readline.parseAndBind "set show-all-if-ambiguous 1"
+
+@@ -360,9 +360,6 @@
+
+ #ifdef USE_EDITLINE
+ liftIO $ do
+- Readline.stifleHistory 100
+- withGhcAppData (\dir -> Readline.writeHistory (dir </> "ghci_history"))
+- (return True)
+ Readline.resetTerminal Nothing
+ #endif
+
+@@ -634,11 +631,9 @@
+ return (Just str)
+
+ withReadline :: IO a -> IO a
+-withReadline = bracket_ stopTimer startTimer
+- -- editline doesn't handle some of its system calls returning
+- -- EINTR, so our timer signal confuses it, hence we turn off
+- -- the timer signal when making calls to editline. (#2277)
+- -- If editline is ever fixed, we can remove this.
++withReadline = flip finally (setNonBlockingFD 0)
++ -- 1. readline sometimes puts stdin into blocking mode,
++ -- so we need to put it back for the IO library
+
+ -- These come from the RTS
+ foreign import ccall unsafe startTimer :: IO ()
+diff -rN -u old-ghc-6.10.2/compiler/ghci/Linker.lhs new-ghc-6.10.2/compiler/ghci/Linker.lhs
+--- old-ghc-6.10.2/compiler/ghci/Linker.lhs 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/compiler/ghci/Linker.lhs 2009-04-02 22:56:23.000000000 +0200
+@@ -953,7 +953,7 @@
+ partOfGHCi
+ | isWindowsTarget || isDarwinTarget = []
+ | otherwise = map PackageName
+- ["base", "haskell98", "template-haskell", "editline"]
++ ["base", "haskell98", "template-haskell", "readline"]
+
+ showLS :: LibrarySpec -> String
+ showLS (Object nm) = "(static) " ++ nm
+diff -rN -u old-ghc-6.10.2/compiler/Makefile new-ghc-6.10.2/compiler/Makefile
+--- old-ghc-6.10.2/compiler/Makefile 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/compiler/Makefile 2009-04-02 22:56:23.000000000 +0200
+@@ -118,15 +118,15 @@
+ CONFIGURE_FLAGS_STAGE2 += --ghc-option=-DDEBUGGER
+ endif
+
+-# Enable editline if:
+-# - we're building stage 2/3, and we have built the editline package
++# Enable readline if:
++# - we're building stage 2/3, and we have built the readline package
+ #
+-# But we don't enable editline on Windows, as Windows terminals have
+-# editline-like support builtin.
++# But we don't enable readline on Windows, as Windows terminals have
++# readline-like support builtin.
+ #
+ ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+-ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/editline/unbuildable)" ""
+-CONFIGURE_FLAGS_STAGE2 += --flags=editline
++ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/readline/unbuildable)" ""
++CONFIGURE_FLAGS_STAGE2 += --flags=readline
+ endif
+ endif
+ endif
+diff -rN -u old-ghc-6.10.2/configure.ac new-ghc-6.10.2/configure.ac
+--- old-ghc-6.10.2/configure.ac 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/configure.ac 2009-04-02 22:56:23.000000000 +0200
+@@ -679,8 +679,8 @@
+ AC_SUBST(ghc_ge_609)dnl
+ fi
+
+-# Check whether this GHC has editline installed
+-FP_GHC_HAS_EDITLINE
++# Check whether this GHC has readline installed
++FP_GHC_HAS_READLINE
+
+ # Dummy arguments to print help for --with-editline-* arguments.
+ # Those are actually passed to the editline package's configure script
+diff -rN -u old-ghc-6.10.2/libraries/ifBuildable.hs new-ghc-6.10.2/libraries/ifBuildable.hs
+--- old-ghc-6.10.2/libraries/ifBuildable.hs 2009-04-02 22:56:22.000000000 +0200
++++ new-ghc-6.10.2/libraries/ifBuildable.hs 2009-04-02 22:56:23.000000000 +0200
+@@ -36,5 +36,5 @@
+ requiredLines = filter ((3 == ) . length) $ map words nonCommentLines
+ requiredLibraries = [ x | 'l':'i':'b':'r':'a':'r':'i':'e':'s':'/':x
+ <- map head requiredLines ]
+- return $ filter ("editline" /=) requiredLibraries
++ return $ filter ("readline" /=) requiredLibraries
+
+diff -rN -u old-ghc-6.10.2/libraries/Makefile new-ghc-6.10.2/libraries/Makefile
+--- old-ghc-6.10.2/libraries/Makefile 2009-04-02 22:56:22.000000000 +0200
++++ new-ghc-6.10.2/libraries/Makefile 2009-04-02 22:56:23.000000000 +0200
+@@ -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.
+diff -rN -u old-ghc-6.10.2/Makefile new-ghc-6.10.2/Makefile
+--- old-ghc-6.10.2/Makefile 2009-04-02 22:56:21.000000000 +0200
++++ new-ghc-6.10.2/Makefile 2009-04-02 22:56:23.000000000 +0200
+@@ -393,7 +393,7 @@
+ echo "HaveLibGmp = $(HaveLibGmp)" >> $(BIN_DIST_VARFILE)
+ echo "GhcLibsWithUnix = $(GhcLibsWithUnix)" >> $(BIN_DIST_VARFILE)
+ echo "GhcWithInterpreter = $(GhcWithInterpreter)" >> $(BIN_DIST_VARFILE)
+- echo "GhcHasEditline = $(GhcHasEditline)" >> $(BIN_DIST_VARFILE)
++ echo "GhcHasReadline = $(GhcHasReadline)" >> $(BIN_DIST_VARFILE)
+ echo "BootingFromHc = $(BootingFromHc)" >> $(BIN_DIST_VARFILE)
+ echo "XMLDocWays = $(XMLDocWays)" >> $(BIN_DIST_VARFILE)
+ # We won't actually use xsltproc, but we need to know if it's "" or not
+diff -rN -u old-ghc-6.10.2/mk/config.mk.in new-ghc-6.10.2/mk/config.mk.in
+--- old-ghc-6.10.2/mk/config.mk.in 2009-04-02 22:56:22.000000000 +0200
++++ new-ghc-6.10.2/mk/config.mk.in 2009-04-02 22:56:23.000000000 +0200
+@@ -891,8 +891,8 @@
+ GHC = @WithGhc@
+ GhcDir = $(dir $(GHC))
+
+-# Set to YES if $(GHC) has the editline package installed
+-GhcHasEditline = @GhcHasEditline@
++# Set to YES if $(GHC) has the readline package installed
++GhcHasReadline = @GhcHasReadline@
+
+ HBC = @HBC@
+ NHC = @NHC@