aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAdam Vandenberg2010-06-17 21:33:14 -0700
committerAdam Vandenberg2010-06-17 21:33:14 -0700
commit9dc15bc563092a470dec5ca917ad2e37c111a23d (patch)
tree55e7a1a14a28558c9fc12b19d0a4de7f0e1d9a9f /Library
parent8c24aca1889b5f15ce9d60ce7671730cf50f3ba3 (diff)
downloadhomebrew-9dc15bc563092a470dec5ca917ad2e37c111a23d.tar.bz2
Remove buggy, unsupported TeX-live brew, and suggest MacTex.
The TeX-live 2008 formula was out of date (there's a 2009), buggy, and doesn't build 64-bit. The MacTeX package works and is supported, with a 2010 version in the works. Let's recommend that instead. Fixes #1087
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/tex-live.rb238
-rw-r--r--Library/Homebrew/brew.h.rb22
2 files changed, 10 insertions, 250 deletions
diff --git a/Library/Formula/tex-live.rb b/Library/Formula/tex-live.rb
deleted file mode 100644
index a8b57424a..000000000
--- a/Library/Formula/tex-live.rb
+++ /dev/null
@@ -1,238 +0,0 @@
-require 'formula'
-
-class CurlXZDownloadStrategy < CurlDownloadStrategy
- def stage
- # As far as I can tell, the LZMA format does not have any magic header bits that we could use to
- # identify LZMA archives in the CurlDownloadStrategy, so use this awesome hack
- safe_system "lzma -k --force --stdout --decompress #{@tarball_path} | /usr/bin/tar x"
-
- # You could also do this, but it leaves the tar file lying around...
- #safe_system '/usr/local/bin/lzma', '-k', '--force', '--decompress', @tarball_path
- #safe_system '/usr/bin/tar', 'xf', @tarball_path.to_s.gsub( ".lzma", "" )
- chdir
- end
-end
-
-class Texmf <Formula
- version '20080822'
- url "ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/texlive-#{version}-texmf.tar.lzma"
- md5 'fa74072e1344e8390eb156bcda61a8b2'
-
- def download_strategy
- CurlXZDownloadStrategy
- end
-end
-
-class TexLive <Formula
- version '20080816'
-
- # OpenBSD mirrors are slower but more reliable
- url "ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/texlive-#{version}-source.tar.lzma"
- homepage 'http://www.tug.org/texlive/'
- md5 '554287c3e458da776edd684506048d45'
-
- depends_on 'lzma'
- depends_on 'gd'
-
- def download_strategy
- CurlXZDownloadStrategy
- end
-
- def patches
- # Steal all the TexLive 2008 OpenBSD patches
- patches = [
- "configure?rev=1.1",
- "libs_configure?rev=1.1",
- "libs_graphite-engine_configure?rev=1.1",
- "libs_icu-xetex_Makefile_in?rev=1.2",
- # Hijacked: we needed to add a CFLAG to the patch, so I merged this and my change below
- #{}"libs_lua51_Makefile",
- "libs_lua51_lcoco_c?rev=1.1",
- "libs_lua51_lcoco_h?rev=1.1",
- "texk_afm2pl_Makefile_in?rev=1.2",
- "texk_bibtex8_Makefile_in?rev=1.2",
- "texk_cjkutils_conv_Makefile_in?rev=1.3",
- "texk_cjkutils_hbf2gf_Makefile_in?rev=1.2",
- "texk_cjkutils_scripts_Makefile_in?rev=1.3",
- "texk_dtl_Makefile_in?rev=1.2",
- "texk_dvidvi_Makefile_in?rev=1.2",
- "texk_dviljk_Makefile_in?rev=1.2",
- "texk_dvipdfm_Makefile_in?rev=1.2",
- "texk_dvipng_configure?rev=1.1",
- "texk_dvipos_Makefile_in?rev=1.2",
- "texk_dvipsk_Makefile_in?rev=1.2",
- "texk_gsftopk_Makefile_in?rev=1.2",
- "texk_kpathsea_Makefile_in?rev=1.2",
- # Replaced with some ruby code below, we need a different approach
- #"texk_kpathsea_texmf_cnf?rev=1.1",
- "texk_lacheck_Makefile_in?rev=1.2",
- "texk_make_man_mk?rev=1.2",
- "texk_makeindexk_Makefile_in?rev=1.2",
- "texk_musixflx_Makefile_in?rev=1.2",
- "texk_ps2pkm_Makefile_in?rev=1.2",
- "texk_seetexk_Makefile_in?rev=1.2",
- "texk_tetex_Makefile_in?rev=1.2",
- "texk_tex4htk_Makefile_in?rev=1.2",
- "texk_texlive_Makefile_in?rev=1.2",
- "texk_texlive_linked_scripts_texdoc_tlu?rev=1.1",
- "texk_ttf2pk_Makefile_in?rev=1.2",
- "texk_web2c_Makefile_in?rev=1.2", # not in OPENBSD_4_6_BASE
- "texk_web2c_alephdir_aleph_mk?rev=1.2",
- "texk_web2c_configure?rev=1.2",
- "texk_web2c_doc_Makefile_in?rev=1.2",
- "texk_web2c_luatexdir_luatex_mk?rev=1.1",
- "texk_web2c_mpware_Makefile_in?rev=1.2",
- "texk_web2c_omegadir_omega_mk?rev=1.2",
- "texk_web2c_omegafonts_Makefile_in?rev=1.2",
- "texk_web2c_otps_Makefile_in?rev=1.2",
- "texk_web2c_pdftexdir_pdftex_mk?rev=1.2",
- "texk_xdvik_Makefile_in?rev=1.2",
- "texk_xdvipdfmx_Makefile_in?rev=1.1",
- "texk_xdvipdfmx_configure?rev=1.1",
- "utils_dialog_Makefile_in?rev=1.3",
- "utils_tpic2pdftex_Makefile_in?rev=1.1"
- ].collect! {|middle| "http://www.openbsd.org/cgi-bin/cvsweb/ports/print/texlive/base/patches/patch-#{middle};content-type=text%2Fplain"}
- # Putting DATA in p0 seemed to cause trouble, so we put nonsense in the filenames and put it in p1
- { :p0 => patches, :p1 => DATA }
- end
-
- def install
- # Notes:
- # Several OSX-specific files (texk/web2c/xetexdir/XeTeXFontMgr_Mac.mm and others) can't build in
- # 64 bit mode on OSX, since they use deprecated functions only available when building in 32bit.
- fails_with_llvm
- ENV.m32
- ENV.deparallelize
-
- #Some of the makefiles doesn't use CFLAGS during linking, which causes things to break when building as 32bit.
- # Ugly hack to force -m32 always and forever.
- ENV['CC']="gcc-4.2 -m32 -arch i386"
- ENV['CXX']="g++-4.2 -m32 -arch i386"
- # I even had to patch a Makefile since it hardcoded using cc and c++, see below.
-
- # Is there a way to get these programmatically?
- # no, but they will always be these directories on OS X --mxcl
- x11_libdir = "/usr/X11/lib/"
- x11_includedir = "/usr/X11/include/"
-
- # The build scripts don't create this directory for no apparent reason...
- # It's easier to just do it here than it is to patch the Makefiles
- # Actually, if compilation fails brew thinks that we succeeded because this directory exists. Maybe we should patch the makefiles...
- FileUtils.mkdir_p "#{man}/man5"
-
- # Replaces the texk_kpathsea_texmf_cnf OpenBSD patch with our own version
- inreplace "texk/kpathsea/texmf.cnf", "$SELFAUTOPARENT/", "#{prefix}/share/"
-
- build_dir='Work'
-
- FileUtils.mkdir build_dir
- Dir.chdir build_dir do
- system "../configure", "--prefix=#{prefix}/", "--datadir=#{prefix}/", \
- "--with-xdvi-x-toolkit=xaw", "--disable-threads", "--with-old-mac-fonts", "--without-xindy", \
- "--x-libraries=#{x11_libdir}", "--x-includes=#{x11_includedir}", \
- "--with-freetype2-libdir=#{x11_libdir}", "--with-freetype2-include=#{x11_includedir}", \
- "--with-pnglib-libdir=#{x11_libdir}", "--with-pnglib-include=#{x11_includedir}", \
- "--with-system-ncurses", "--with-system-freetype2", "--with-system-pnglib", \
- "--with-system-zlib", "--with-system-gd", \
- "--disable-multiplatform", "--without-texinfo", "--without-xdvipdfmx", \
- "--without-texi2html", "--without-psutils"
-
- system "make world"
- end
-
- # Installs texmf, which has necessary support files for tex-live
- Texmf.new.brew{
- # Update a conf file to use the proper directories, replaces OpenBSD patch
- # Yes, this file exists in both tex-live and texmf. With this change they're identical, though.
- inreplace "texmf/web2c/texmf.cnf", "$SELFAUTOPARENT/", "#{prefix}/share/"
- share.install Dir['*']
- }
-
- # The texlive makefiles are supposed to do this, I don't know why they don't...
- #We need this ugly path hack because texlinks and fmtutil-sys call other scripts in bin
- system "PATH=$PATH:#{bin} texlinks -f #{share}/texmf/web2c/fmtutil.cnf"
- system "PATH=$PATH:#{bin} fmtutil-sys --all"
- end
-end
-
-# OpenBSD patches:
-# http://www.openbsd.org/cgi-bin/cvsweb/ports/print/texlive/
-
-# Notes for below:
-# Patch 1: No idea why this declaration is wrong, but we'll go ahead and fix it.
-# Patch 2: Slightly modified patch from OpenBSD. Adding the _XOPEN_SOURCE preprocessor flag in
-# libs/lua51/Makefile undeprecates some things in /usr/include/ucontext.h (Snow Leopard).
-# Patch 3: These are hardcoded and do not respect CFLAGS, so force them to use 32bit mode.
-__END__
---- nonsense/texk/web2c/xetexdir/XeTeX_ext.h 2009-10-28 02:27:34.000000000 -0700
-+++ nonsense/texk/web2c/xetexdir/XeTeX_ext.h 2009-10-28 02:31:38.000000000 -0700
-@@ -300,7 +300,7 @@
-
- #ifdef XETEX_MAC
- /* functions in XeTeX_mac.c */
-- void* loadAATfont(ATSFontRef fontRef, integer scaled_size, const char* cp1);
-+ void* loadAATfont(ATSFontRef fontRef, long scaled_size, const char* cp1);
- void DoAtsuiLayout(void* node, int justify);
- void GetGlyphBBox_AAT(ATSUStyle style, UInt16 gid, GlyphBBox* bbox);
- float GetGlyphWidth_AAT(ATSUStyle style, UInt16 gid);
- $OpenBSD: patch-libs_lua51_Makefile,v 1.2 2008/12/04 22:29:06 steven Exp $
---- nonsense/libs/lua51/Makefile.orig Mon Mar 24 15:47:15 2008
-+++ nonsense/libs/lua51/Makefile Sun Oct 26 15:30:26 2008
-@@ -8,7 +8,7 @@
- PLAT= none
-
- CC= gcc
--CFLAGS= -g -O2 -Wall $(XCFLAGS) $(MYCFLAGS) $(COCOFLAGS)
-+LOCALCFLAGS= -g -O2 -Wall -D_XOPEN_SOURCE $(MYCFLAGS) $(COCOCFLAGS)
- AR= ar rcu
- RANLIB= ranlib
- RM= rm -f
-@@ -77,12 +77,14 @@ clean:
- $(RM) $(ALL_T) $(ALL_O)
-
- depend:
-- @$(CC) $(CFLAGS) -MM l*.c print.c
-+ @$(CC) $(LOCALCFLAGS) $(CFLAGS) $(XCFLAGS) -MM l*.c print.c
-
- echo:
- @echo "PLAT = $(PLAT)"
- @echo "CC = $(CC)"
-+ @echo "LOCALCFLAGS = $(LOCALCFLAGS)"
- @echo "CFLAGS = $(CFLAGS)"
-+ @echo "XCFLAGS = $(XCFLAGS)"
- @echo "AR = $(AR)"
- @echo "RANLIB = $(RANLIB)"
- @echo "RM = $(RM)"
-@@ -96,7 +98,7 @@ none:
- @echo "Please choose a platform: $(PLATS)"
-
- aix:
-- $(MAKE) a CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall"
-+ $(MAKE) a CC="xlc" LOCALCFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall"
-
- ansi:
- $(MAKE) a MYCFLAGS=-DLUA_ANSI
-@@ -130,6 +132,10 @@ posix:
-
- solaris:
- $(MAKE) a MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl"
-+
-+.c.o:
-+ $(CC) $(LOCALCFLAGS) $(CFLAGS) $(XCFLAGS) -c $<
-+
-
- # list targets that do not create files (but not all makes understand .PHONY)
- .PHONY: all $(PLATS) default o a clean depend echo none
---- nonsense/texk/xdv2pdf/Makefile.in.orig 2009-10-28 15:18:25.000000000 -0700
-+++ nonsense/texk/xdv2pdf/Makefile.in 2009-10-28 15:18:51.000000000 -0700
-@@ -4,8 +4,8 @@
- kpse_include ../make/common.mk
- kpse_include ../make/programs.mk
-
--CXX = c++
--OBJC = cc
-+CXX = c++ -m32 -arch i386
-+OBJC = cc -m32 -arch i386
- CXXLD = $(CXX)
- cxx_link_command = $(CXXLD) -o $@ $(LDFLAGS)
- kpathsea_cxx_link = $(LIBTOOL) --mode=link $(cxx_link_command)
diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb
index b12786863..9e25bfb93 100644
--- a/Library/Homebrew/brew.h.rb
+++ b/Library/Homebrew/brew.h.rb
@@ -6,19 +6,17 @@ def check_for_blacklisted_formula names
names.each do |name|
case name
- # bazaar don't maintain their PyPi entry properly yet
- # when they do we'll remove our formula and use that
-# when 'bazaar', 'bzr' then abort <<-EOS
-#Bazaar can be installed thusly:
-#
-# brew install pip && pip install bzr==2.0.1
-#
-# EOS
- when 'mercurial', 'hg' then abort <<-EOS
-Mercurial can be install thusly:
-
- brew install pip && pip install mercurial
+ when 'tex', 'tex-live', 'texlive' then abort <<-EOS.undent
+ Installing TeX from source is weird and gross, requires a lot of patches,
+ and only builds 32-bit (and thus can't use Homebrew deps on Snow Leopard.)
+ We recommend using a MacTeX distribution:
+ http://www.tug.org/mactex/
+ EOS
+
+ when 'mercurial', 'hg' then abort <<-EOS.undent
+ Mercurial can be install thusly:
+ brew install pip && pip install mercurial
EOS
end
end