Rename readline to gnu-readline

The Readline class clashes with the Readline module from the Ruby
stdlib. This has mostly worked, but with the recent debugging support's
integration of IRB, it is no longer possible for them to coexist. So we
need to rename it.

The implications of this are:

 - Anything that depends on readline will reinstall it as
   "gnu-readline". Anything already installed will continue to function.

 - "brew upgrade readline" will say "gnu-readline not installed", as
   "readline" is now an alias.

 - Probably other things.

So there are some downsides, but we will just have to deal with them.

Fixes Homebrew/homebrew#15776.
master
Jack Nagel 2012-11-09 19:55:57 -06:00
parent 49000ec433
commit e2f9856882
54 changed files with 71 additions and 70 deletions

1
Aliases/readline Symbolic link
View File

@ -0,0 +1 @@
../Formula/gnu-readline.rb

View File

@ -5,7 +5,7 @@ class Abook < Formula
homepage 'http://abook.sourceforge.net/'
sha1 '79f04f2264c8bd81bbc952b6560c86d69b21615d'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",

View File

@ -23,7 +23,7 @@ class Asymptote < Formula
depends_on TexInstalled.new
env :userpaths # To find TeX
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'bdw-gc'
def install

View File

@ -5,7 +5,7 @@ class Augeas < Formula
url 'http://augeas.net/download/augeas-0.10.0.tar.gz'
sha1 '6d1d7b4572c05748d537f3ff12c5ac8ceb6b49bd'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",

View File

@ -7,7 +7,7 @@ class Bash < Formula
sha256 'a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8'
version '4.2.39'
depends_on 'readline'
depends_on 'gnu-readline'
# Vendor the patches. The mirrors are unreliable for getting the patches,
# and the more patches there are, the more unreliable they get. Upstream

View File

@ -7,7 +7,7 @@ class Cadaver < Formula
depends_on 'pkg-config' => :build
depends_on 'gettext'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'neon'
def install

View File

@ -5,7 +5,7 @@ class Calc < Formula
sha1 'cc55ee21ab7a7a6a8b7516a7236e87ae1b09d00d'
homepage 'http://www.isthe.com/chongo/tech/comp/calc/'
depends_on 'readline'
depends_on 'gnu-readline'
def install
ENV.deparallelize
@ -13,7 +13,7 @@ class Calc < Formula
ENV['EXTRA_CFLAGS'] = ENV.cflags
ENV['EXTRA_LDFLAGS'] = ENV.ldflags
readline = Formula.factory('readline')
readline = Formula.factory('gnu-readline')
inreplace "Makefile" do |s|
s.change_make_var! "INCDIR", include
s.change_make_var! "BINDIR", bin

View File

@ -5,7 +5,7 @@ class Cgdb < Formula
url 'http://downloads.sourceforge.net/project/cgdb/cgdb/cgdb-0.6.6/cgdb-0.6.6.tar.gz'
sha1 'bf1d9a66909a03220438a4126bb39850bdbfea65'
depends_on 'readline'
depends_on 'gnu-readline'
# man page for cgdb is only there to point people to the info page where all
# of the actual documentation is, so skip cleaning the info to preserve the

View File

@ -7,7 +7,7 @@ class Clisp < Formula
sha1 '7e8d585ef8d0d6349ffe581d1ac08681e6e670d4'
depends_on 'libsigsegv'
depends_on 'readline'
depends_on 'gnu-readline'
# -Os causes the build to fail with C_CODE_ALIGNMENT is wrong
# superenv doeesn't yet support changing the optimization level

View File

@ -5,7 +5,7 @@ class Devtodo < Formula
url 'http://swapoff.org/files/devtodo/devtodo-0.1.20.tar.gz'
sha1 '003067a12139d712dbb3706069e0950a93ecaaf4'
depends_on "readline"
depends_on "gnu-readline"
# Fix invalid regex. See http://swapoff.org/ticket/54
# @adamv - this url not responding 3/17/2012

View File

@ -14,7 +14,7 @@ class Drizzle < Formula
depends_on 'pcre'
depends_on 'intltool'
depends_on 'libgcrypt'
depends_on 'readline'
depends_on 'gnu-readline'
def install

View File

@ -7,7 +7,7 @@ class Dwarf < Formula
head 'http://code.autistici.org/svn/dwarf/trunk'
depends_on 'readline'
depends_on 'gnu-readline'
# There's a subtle error in C99 handling of stdint.h and inttypes.h.
# Reported upstream: http://code.autistici.org/trac/dwarf/ticket/8

View File

@ -6,13 +6,13 @@ class Ekg2 < Formula
sha1 '8b6f53086e8e1d2890fdc1ec274a7b1615da0fa1'
depends_on 'pkg-config' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'libgadu' if build.include? "with-libgadu"
option "with-libgadu", "Compiles ekg2 with gadu-gadu support"
def install
readline = Formula.factory 'readline'
readline = Formula.factory 'gnu-readline'
args = ["--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}",

View File

@ -10,7 +10,7 @@ class Fish < Formula
# Indeed, the head build always builds documentation
depends_on 'doxygen' => :build if build.head?
depends_on :autoconf if build.head?
depends_on 'readline'
depends_on 'gnu-readline'
skip_clean 'share/doc'

View File

@ -6,7 +6,7 @@ class Ginac < Formula
sha1 'c93913c4c543874b2ade4f0390030641be7e0c41'
depends_on 'cln'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--prefix=#{prefix}", "--disable-dependency-tracking"

View File

@ -1,17 +1,17 @@
require 'formula'
class Readline < Formula
class GnuReadline < Formula
homepage 'http://tiswww.case.edu/php/chet/readline/rltop.html'
url 'http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz'
mirror 'http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz'
sha256 '79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381'
version '6.2.4'
keg_only <<-EOS
OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.
EOS
keg_only <<-EOS.undent
OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.
EOS
# Vendor the patches.
# The mirrors are unreliable for getting the patches, and the more patches

View File

@ -18,7 +18,7 @@ class GnuSmalltalk < Formula
depends_on 'pkg-config' => :build
depends_on 'xz' => :build
depends_on 'gawk' => :build
depends_on 'readline' => :build
depends_on 'gnu-readline'
depends_on 'libffi' => :recommended
depends_on 'libsigsegv' => :recommended
depends_on 'glew' => :optional
@ -45,7 +45,7 @@ class GnuSmalltalk < Formula
--disable-dependency-tracking
--prefix=#{prefix}
--disable-gtk
--with-readline=#{Formula.factory('readline').lib}
--with-readline=#{Formula.factory('gnu-readline').lib}
]
unless build.include? 'tcltk'
args << '--without-tcl' << '--without-tk' << '--without-x'

View File

@ -23,7 +23,7 @@ class Gnuplot < Formula
end
depends_on 'pkg-config' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'pango' if build.include? 'cairo' or build.include? 'wx'
depends_on :x11 if build.include? 'with-x' or MacOS::X11.installed?
depends_on 'pdflib-lite' if build.include? 'pdf'
@ -34,7 +34,7 @@ class Gnuplot < Formula
def install
# Help configure find libraries
readline = Formula.factory 'readline'
readline = Formula.factory 'gnu-readline'
pdflib = Formula.factory 'pdflib-lite'
gd = Formula.factory 'gd'

View File

@ -9,7 +9,7 @@ class Gphoto2 < Formula
depends_on 'jpeg'
depends_on 'libgphoto2'
depends_on 'popt'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-dependency-tracking",

View File

@ -26,7 +26,7 @@ class Grass < Formula
depends_on "pkg-config" => :build
depends_on "gettext"
depends_on "readline"
depends_on "gnu-readline"
depends_on "gdal"
depends_on "libtiff"
depends_on "unixodbc"
@ -55,7 +55,7 @@ class Grass < Formula
end
def install
readline = Formula.factory('readline')
readline = Formula.factory('gnu-readline')
gettext = Formula.factory('gettext')
args = [

View File

@ -20,7 +20,7 @@ class Guile < Formula
depends_on 'gmp'
# GNU Readline is required; libedit won't work.
depends_on 'readline'
depends_on 'gnu-readline'
fails_with :llvm do
build 2336
@ -30,7 +30,7 @@ class Guile < Formula
def install
system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}",
"--with-libreadline-prefix=#{Formula.factory('readline').prefix}"
"--with-libreadline-prefix=#{Formula.factory('gnu-readline').prefix}"
system "make install"
# A really messed up workaround required on OS X --mkhl

View File

@ -6,7 +6,7 @@ class Hugs98 < Formula
homepage 'http://www.haskell.org/hugs/'
sha1 '1464a80c715bc5f786ea5a4e4257b2ff0dc7e1e9'
depends_on 'readline'
depends_on 'gnu-readline'
fails_with :clang do
build 421

View File

@ -5,7 +5,7 @@ class Hunspell < Formula
homepage 'http://hunspell.sourceforge.net/'
sha1 '902c76d2b55a22610e2227abc4fd26cbe606a51c'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-dependency-tracking",

View File

@ -7,7 +7,7 @@ class Kes < Formula
head 'https://github.com/epilnivek/kes.git'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--prefix=#{prefix}", "--mandir=#{man}", "--with-readline"

View File

@ -8,7 +8,7 @@ class Ldapvi < Formula
depends_on 'gettext'
depends_on 'glib'
depends_on 'popt'
depends_on 'readline'
depends_on 'gnu-readline'
# Backporting the fix from the devel version
# (namespace conflict with Lion's getline function)

View File

@ -6,7 +6,7 @@ class Lftp < Formula
sha1 '4eef63d05760a0e7d6d6a7318e1fcda8de8c154e'
depends_on 'pkg-config' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'gnutls'
def install

View File

@ -10,7 +10,7 @@ class Libgda < Formula
depends_on 'gettext'
depends_on 'glib'
depends_on 'intltool'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'libgcrypt'
# brew's sqlite doesn't have necessary options compiled, so skipping as a dep for now

View File

@ -9,7 +9,7 @@ class Libqalculate < Formula
depends_on 'glib'
depends_on 'gnuplot'
depends_on 'gettext'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'wget'
# Patches against version 0.9.7, should not be needed in the future

View File

@ -18,7 +18,7 @@ class Libvirt < Formula
if MacOS.version == :leopard
# Definitely needed on Leopard, but not on Snow Leopard.
depends_on "readline"
depends_on "gnu-readline"
depends_on "libxml2"
end

View File

@ -7,7 +7,7 @@ class Mdbtools < Formula
depends_on 'pkg-config' => :build
depends_on 'glib'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on :automake
depends_on :libtool

View File

@ -9,7 +9,7 @@ class Monetdb < Formula
depends_on 'pkg-config' => :build
depends_on 'pcre'
depends_on 'readline' # Compilation fails with libedit.
depends_on 'gnu-readline' # Compilation fails with libedit.
def install
system "./bootstrap" if build.head?

View File

@ -25,7 +25,7 @@ class MysqlCluster < Formula
depends_on MysqlNotInstalled.new
depends_on 'cmake' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'pidof'
fails_with :clang do

View File

@ -5,7 +5,7 @@ class Newlisp < Formula
url 'http://www.newlisp.org/downloads/newlisp-10.4.4.tgz'
sha1 'eb1121aa49e5ef208855bd1ffdc3204eab974169'
depends_on 'readline'
depends_on 'gnu-readline'
def install
# Required to use our configuration

View File

@ -33,7 +33,7 @@ class Octave < Formula
# We can work around the issues using dotwrp.
depends_on 'dotwrp' if _snow_leopard_64?
# octave refuses to work with BSD readline, so it's either this or --disable-readline
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'curl' if MacOS.version == :leopard # Leopard's libcurl is too old
# additional features

View File

@ -6,10 +6,10 @@ class Pari < Formula
sha1 'c83314bb993161a60e1e46ae7616072858414354'
depends_on :x11
depends_on 'readline'
depends_on 'gnu-readline'
def install
readline = Formula.factory 'readline'
readline = Formula.factory 'gnu-readline'
system "./Configure", "--prefix=#{prefix}",
"--with-readline-include=#{readline.include}",
"--with-readline-lib=#{readline.lib}"

View File

@ -13,7 +13,7 @@ class Pce < Formula
end
depends_on 'sdl'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",

View File

@ -5,7 +5,7 @@ class Pdsh < Formula
url 'http://sourceforge.net/projects/pdsh/files/pdsh/pdsh-2.26/pdsh-2.26.tar.bz2'
sha1 'bdcec89760b93bd12107d8a785ca2710853cde75'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--prefix=#{prefix}",

View File

@ -7,7 +7,7 @@ class PerconaServer < Formula
sha1 'c7b2803c440564beff124c9a5641daa643b9f909'
depends_on 'cmake' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'pidof'
option :universal

View File

@ -5,7 +5,7 @@ class Postgresql < Formula
url 'http://ftp.postgresql.org/pub/source/v9.2.1/postgresql-9.2.1.tar.bz2'
sha1 'cea9601b3acd1484fd98441b49a15ea1c42057ec'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'libxml2' if MacOS.version == :leopard # Leopard libxml is too old
depends_on 'ossp-uuid' unless build.include? 'without-ossp-uuid'

View File

@ -12,7 +12,7 @@ class Pure < Formula
depends_on 'llvm'
depends_on 'gmp'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'mpfr'
def install

View File

@ -5,7 +5,7 @@ class Pwsafe < Formula
homepage 'http://nsd.dyndns.org/pwsafe/'
sha1 '026643a391796a527a48ffccf93d542113ca79d4'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",

View File

@ -32,7 +32,7 @@ class Python < Formula
depends_on TkCheck.new
depends_on 'pkg-config' => :build
depends_on 'readline' => :recommended
depends_on 'gnu-readline' => :recommended
depends_on 'sqlite' => :recommended
depends_on 'gdbm' => :recommended
depends_on 'openssl' if build.include? 'with-brewed-openssl'
@ -205,7 +205,7 @@ class Python < Formula
# superenv handles that cc finds includes/libs!
inreplace "setup.py",
"do_readline = self.compiler.find_library_file(lib_dirs, 'readline')",
"do_readline = '#{HOMEBREW_PREFIX}/opt/readline/lib/libhistory.dylib'"
"do_readline = '#{HOMEBREW_PREFIX}/opt/gnu-readline/lib/libhistory.dylib'"
end
end

View File

@ -24,7 +24,7 @@ class Python3 < Formula
depends_on TkCheck.new
depends_on 'pkg-config' => :build
depends_on 'readline' => :recommended
depends_on 'gnu-readline' => :recommended
depends_on 'sqlite' => :recommended
depends_on 'gdbm' => :recommended
depends_on 'openssl' if build.include? 'with-brewed-openssl'
@ -167,7 +167,7 @@ class Python3 < Formula
# superenv makes cc always find includes/libs!
inreplace "setup.py",
"do_readline = self.compiler.find_library_file(lib_dirs, 'readline')",
"do_readline = '#{HOMEBREW_PREFIX}/opt/readline/lib/libhistory.dylib'"
"do_readline = '#{HOMEBREW_PREFIX}/opt/gnu-readline/lib/libhistory.dylib'"
end
end

View File

@ -16,7 +16,7 @@ class R < Formula
option 'with-valgrind', 'Compile an unoptimized build with support for the Valgrind debugger'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'libtiff'
depends_on 'jpeg'
depends_on :x11

View File

@ -5,7 +5,7 @@ class Renameutils < Formula
url 'http://download.savannah.gnu.org/releases/renameutils/renameutils-0.12.0.tar.gz'
sha1 '8c6edae4ee374330a01a95257fd552b5cb7540bc'
depends_on 'readline' # Use instead of system libedit
depends_on 'gnu-readline' # Use instead of system libedit
depends_on 'coreutils'
# Use the GNU versions of certain system utilities. See:

View File

@ -5,7 +5,7 @@ class Rlwrap < Formula
sha1 'c8fc5e7798a7c618a22583c56fa38d344700cc2f'
homepage 'http://utopia.knoware.nl/~hlub/rlwrap/'
depends_on 'readline'
depends_on 'gnu-readline'
def install
system "./configure", "--prefix=#{prefix}", "--disable-debug", "--disable-dependency-tracking"

View File

@ -9,12 +9,12 @@ class RubyEnterpriseEdition < Formula
option 'enable-shared', "Compile shared, but see caveats"
depends_on 'readline'
depends_on 'gnu-readline'
fails_with :llvm
def install
readline = Formula.factory('readline').prefix
readline = Formula.factory('gnu-readline').prefix
args = ["--auto", prefix, '--no-tcmalloc']
args << '-c' << '--enable-shared' if build.include? 'enable-shared'

View File

@ -16,7 +16,7 @@ class Ruby < Formula
depends_on :autoconf if build.head?
depends_on 'pkg-config' => :build
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'gdbm'
depends_on 'libyaml'
depends_on :x11 if build.include? 'with-tcltk'

View File

@ -10,7 +10,7 @@ class Socat < Formula
sha1 'd75c0abc816f9bb8ee1e36f6ca4fe58d7e56f2a4'
end
depends_on 'readline'
depends_on 'gnu-readline'
def patches
# Socat devs are aware; see:

View File

@ -18,7 +18,7 @@ class Spidermonkey < Formula
# head 'https://hg.mozilla.org/tracemonkey', :using => :hg
head 'https://hg.mozilla.org/tracemonkey/archive/tip.tar.gz', :using => :curl
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'nspr'
def install

View File

@ -18,7 +18,7 @@ class Sqlite < Formula
sha1 'c464e0e3efe98227c6546b9b1e786b51b8b642fc'
version '3.7.14.1'
depends_on 'readline' => :recommended
depends_on 'gnu-readline' => :recommended
option :universal
option 'with-docs', 'Install HTML documentation'

View File

@ -9,7 +9,7 @@ class Sqsh < Formula
depends_on :x11 if build.include? "enable-x"
depends_on 'freetds'
depends_on 'readline'
depends_on 'gnu-readline'
def install
args = %W[
@ -18,8 +18,8 @@ class Sqsh < Formula
--with-readline
]
ENV['LIBDIRS'] = Readline.new('readline').lib
ENV['INCDIRS'] = Readline.new('readline').include
ENV['LIBDIRS'] = GnuReadline.new('gnu-readline').lib
ENV['INCDIRS'] = GnuReadline.new('gnu-readline').include
if build.include? "enable-x"
args << "--with-x"

View File

@ -11,7 +11,7 @@ class SwiProlog < Formula
option 'with-jpl', "Enable JPL (Java Prolog Bridge)"
option 'with-xpce', "Enable XPCE (Prolog Native GUI Library)"
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'gmp'
if build.include? 'with-xpce'

View File

@ -15,7 +15,7 @@ class Yarp < Formula
depends_on 'gtkmm'
depends_on 'libglademm'
depends_on 'sqlite'
depends_on 'readline'
depends_on 'gnu-readline'
depends_on 'jpeg'
depends_on :x11