* [gentoo-commits] gentoo-x86 commit in dev-lang/ghc/files: ghc-6.10.2-readline.patch
@ 2009-04-19 14:54 Lennart Kolmodin (kolmodin)
0 siblings, 0 replies; only message in thread
From: Lennart Kolmodin (kolmodin) @ 2009-04-19 14:54 UTC (permalink / raw
To: gentoo-commits
kolmodin 09/04/19 14:54:35
Added: ghc-6.10.2-readline.patch
Log:
Version bump dev-lang/ghc to 6.10.2, currently masked for testing.
(Portage version: 2.1.6.7/cvs/Linux x86_64)
Revision Changes Path
1.1 dev-lang/ghc/files/ghc-6.10.2-readline.patch
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ghc/files/ghc-6.10.2-readline.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ghc/files/ghc-6.10.2-readline.patch?rev=1.1&content-type=text/plain
Index: ghc-6.10.2-readline.patch
===================================================================
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@
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-04-19 14:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-19 14:54 [gentoo-commits] gentoo-x86 commit in dev-lang/ghc/files: ghc-6.10.2-readline.patch Lennart Kolmodin (kolmodin)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox