1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
require 'formula'
class Wine < Formula
homepage 'http://www.winehq.org/'
if ARGV.flag? '--devel'
url 'http://prdownloads.sourceforge.net/wine/wine-1.3.18.tar.bz2'
sha256 '994064d326954e6df252002891bfcbb987a35aa573ab74be605224f66623a4ac'
else
url 'http://prdownloads.sourceforge.net/wine/wine-1.2.3.tar.bz2'
sha256 '3fd8d3f2b466d07eb90b8198cdc9ec3005917a4533db7b8c6c69058a2e57c61f'
end
head 'git://source.winehq.org/git/wine.git'
depends_on 'jpeg'
depends_on 'libicns'
depends_on 'gnutls'
fails_with_llvm
# the following libraries are currently not specified as dependencies, or not built as 32-bit:
# configure: libsane, libv4l, libgphoto2, liblcms, gstreamer-0.10, libcapi20, libgsm, libtiff
# Wine loads many libraries lazily using dlopen calls, so it needs these paths
# to be searched by dyld.
# Including /usr/lib because wine, as of 1.3.15, tries to dlopen
# libncurses.5.4.dylib, and fails to find it without the fallback path.
def wine_wrapper; <<-EOS
#!/bin/sh
DYLD_FALLBACK_LIBRARY_PATH="/usr/X11/lib:#{HOMEBREW_PREFIX}/lib:/usr/lib" "#{bin}/wine.bin" "$@"
EOS
end
def install
ENV.x11
# Build 32-bit; Wine doesn't support 64-bit host builds on OS X.
build32 = "-arch i386 -m32"
ENV["LIBS"] = "-lGL -lGLU"
ENV.append "CFLAGS", build32
ENV.append "CXXFLAGS", "-D_DARWIN_NO_64_BIT_INODE"
ENV.append "LDFLAGS", "#{build32} -framework CoreServices -lz -lGL -lGLU"
args = ["--prefix=#{prefix}",
"--x-include=/usr/X11/include/",
"--x-lib=/usr/X11/lib/",
"--with-x",
"--with-coreaudio",
"--with-opengl"]
args << "--disable-win16" if MacOS.leopard?
# 64-bit builds of mpg123 are incompatible with 32-bit builds of Wine
args << "--without-mpg123" if Hardware.is_64_bit?
system "./configure", *args
system "make install"
# Don't need Gnome desktop support
rm_rf share+'applications'
# Use a wrapper script, so rename wine to wine.bin
# and name our startup script wine
mv (bin+'wine'), (bin+'wine.bin')
(bin+'wine').write(wine_wrapper)
end
def caveats; <<-EOS.undent
For a more full-featured install, try:
http://code.google.com/p/osxwinebuilder/
You may also want to get winetricks:
brew install winetricks
To use 3D applications, like games, check "Emulate a virtual desktop" in
winecfg's "Graphics" tab.
EOS
end
end
|