aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/abuse.rb
blob: a46a9c11511d6edca006547718886fa12f959101 (plain)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
require 'formula'

class AbuseGameData <Formula
  url 'http://abuse.zoy.org/raw/Downloads/abuse-data-2.00.tar.gz'
  md5 '2b857668849b2dc7cd29cdd84a33c19e'
end

class Abuse <Formula
  url 'svn://svn.zoy.org/abuse/abuse/trunk'
  homepage 'http://abuse.zoy.org/'
  version 'trunk'
  
  depends_on 'sdl'
  depends_on 'libvorbis'
  
  def patches
    # * Add SDL.m4 to aclocal includes
    # * Re-enable OpenGL detection
    # * Don't try to include malloc.h
    DATA
  end
  
  def startup_script
      return <<-END
#!/bin/bash
#{libexec}/abuse -datadir #{libexec} $*
END
  end

  def install
    ENV.x11

    # Copy the data files
    d = libexec
    AbuseGameData.new.brew { d.install Dir["*"] }
    

    system "./bootstrap"
    system "./configure", "--prefix=#{prefix}", "--disable-debug", 
                          "--disable-dependency-tracking"
    
    # Use Framework OpenGL, not libGl
    inreplace "Makefile",
      "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa  -lGL -lpthread",
      "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -framework OpenGL -lpthread"
    
    inreplace "src/Makefile",
      "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa  -lGL -lpthread",
      "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -framework OpenGL -lpthread"
    
    %w[imlib lisp net sdlport].each do |p|
      inreplace "src/#{p}/Makefile",
        "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa  -lGL -lpthread",
        "LIBS =  -lm -L/usr/local/Cellar/sdl/1.2.13/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -framework OpenGL -lpthread"
    end
    
    system "make"
    libexec.install "src/abuse"
    # Use a startup script to find the game data
    (bin+'abuse').write startup_script
  end
  
  def caveats
    "Game settings and saves will be written to the ~/.abuse folder."
  end
end


__END__
diff --git a/bootstrap b/bootstrap
index b22c332..7c03039 100755
--- a/bootstrap
+++ b/bootstrap
@@ -116,7 +116,7 @@ if test "$libtool" = "yes"; then
   fi
 fi
 
-aclocal${amvers} ${aclocalflags}
+aclocal${amvers} ${aclocalflags} -I /usr/local/share/aclocal
 autoconf${acvers}
 if test "$header" = "yes"; then
   autoheader${acvers}
diff --git a/configure.ac b/configure.ac
index 52d55af..c466c4f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,8 +65,7 @@ AC_TRY_COMPILE([
     #ifdef WIN32
     #include <windows.h>
     #elif defined(__APPLE__) && defined(__MACH__)
-/*    #include <OpenGL/gl.h>*/
-    #error	/* Error so the compile fails on OSX */
+    #include <OpenGL/gl.h>
     #else
     #include <GL/gl.h>
     #endif
diff --git a/src/compiled.cpp b/src/compiled.cpp
index 3b8047c..f944788 100644
--- a/src/compiled.cpp
+++ b/src/compiled.cpp
@@ -10,7 +10,10 @@
 #include "config.h"
 
 #include <string.h>
+
+#if !defined(__APPLE__)
 #include <malloc.h>
+#endif
 
 #include "lisp.hpp"
 #include "macs.hpp"
diff --git a/src/sdlport/setup.cpp b/src/sdlport/setup.cpp
index c3bd9d6..43db2a7 100644
--- a/src/sdlport/setup.cpp
+++ b/src/sdlport/setup.cpp
@@ -24,6 +24,12 @@
 #include <sys/stat.h>
 #include <signal.h>
 #include <SDL.h>
+
+#ifdef __APPLE__
+/* This is needed if ! HAVE_OPENGL */
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+
 #ifdef HAVE_OPENGL
 #ifdef __APPLE__
 #include <Carbon/Carbon.h>