diff --git a/xmoto-0.5.11/extra/Info.plist b/xmoto-0.5.11/extra/Info.plist
new file mode 100644
index 0000000..1216035
--- /dev/null
+++ b/xmoto-0.5.11/extra/Info.plist
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>X-Moto</string>
+	<key>CFBundleName</key>
+	<string>X-Moto</string>
+	<key>CFBundleExecutable</key>
+	<string>xmoto</string>
+	<key>CFBundleIconFile</key>
+	<string>xmoto.icns</string>
+	<key>CFBundleIdentifier</key>
+	<string>net.sourceforge.xmoto</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>%VERS%</string>
+	<key>CFBundleVersion</key>
+	<string>%VERS%</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>© 2005-2006 Rasmus Neckelmann</string>
+	<key>NSPrincipalClass</key>
+	<string>NSApplication</string>
+  <key>LSMinimumSystemVersionByArchitecture</key>
+  <dict>
+    <key>x86_64</key>
+    <string>10.6.0</string>
+    <key>i386</key>
+    <string>10.4.0</string>
+    <key>ppc</key>
+    <string>10.4.0</string>
+  </dict>
+</dict>
+</plist>
diff --git a/xmoto-0.5.11/extra/PkgInfo b/xmoto-0.5.11/extra/PkgInfo
new file mode 100644
index 0000000..3037503
--- /dev/null
+++ b/xmoto-0.5.11/extra/PkgInfo
@@ -0,0 +1 @@
+AAPL????
diff --git a/xmoto-0.5.11/extra/xmoto.icns b/xmoto-0.5.11/extra/xmoto.icns
new file mode 100644
index 0000000000000000000000000000000000000000..e659a84c591e42e2ca0632ce82827f8ad140e5a1
GIT binary patch
diff --git a/xmoto-0.5.11-orig/src/glext.h b/xmoto-0.5.11/src/glext.h
index df71de0..2046bc0 100644
--- a/xmoto-0.5.11-orig/src/glext.h
+++ b/xmoto-0.5.11/src/glext.h
@@ -3063,8 +3063,12 @@ typedef ptrdiff_t GLsizeiptrARB;
 #ifndef GL_ARB_shader_objects
 /* GL types for handling shader object handles and program/shader text */
 typedef char GLcharARB;		/* native character */
+#ifdef HAVE_APPLE_OPENGL_FRAMEWORK
+typedef void *GLhandleARB;	/* shader object handle */
+#else
 typedef unsigned int GLhandleARB;	/* shader object handle */
 #endif
+#endif
 
 /* GL types for "half" precision (s10e5) float data in host memory */
 #ifndef GL_ARB_half_float_pixel
diff --git a/xmoto-0.5.11-orig/src/helpers/System.cpp b/xmoto-0.5.11/src/helpers/System.cpp
index 8b76097..a0516a2 100644
--- a/xmoto-0.5.11-orig/src/helpers/System.cpp
+++ b/xmoto-0.5.11/src/helpers/System.cpp
@@ -31,6 +31,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #include <unistd.h>
 #endif
 
+#include <unistd.h> // for getpid()
+
 std::vector<std::string>* System::getDisplayModes(int windowed) {
     std::vector<std::string>* modes = new std::vector<std::string>;
     SDL_Rect **sdl_modes;
diff --git a/xmoto-0.5.11-orig/src/include/xm_hashmap.h b/xmoto-0.5.11/src/include/xm_hashmap.h
index 8cbce43..2b33f33 100644
--- a/xmoto-0.5.11-orig/src/include/xm_hashmap.h
+++ b/xmoto-0.5.11/src/include/xm_hashmap.h
@@ -14,7 +14,7 @@
 namespace HashNamespace=std;
 #endif
 struct hashcmp_str {
-  bool operator()(const char* s1, const char* s2) {
+  bool operator()(const char* s1, const char* s2) const {
     if(s1 == NULL || s2 == NULL) {
       return false;
     }
