summary refs log tree commit diff
path: root/pkgs/games/mars
diff options
context:
space:
mode:
authorMoritz Ulrich <moritz@tarn-vedra.de>2016-09-09 11:27:22 +0200
committerMoritz Ulrich <moritz@tarn-vedra.de>2016-09-09 11:28:03 +0200
commitc2397bf425409abbf453cd352f7666051239c907 (patch)
tree7b15986b90007092135274e202f208cf12102df1 /pkgs/games/mars
parentfcec24334e1432698a2a41a7902d70c1ecadfec7 (diff)
downloadnixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar.gz
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar.bz2
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar.lz
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar.xz
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.tar.zst
nixpkgs-c2397bf425409abbf453cd352f7666051239c907.zip
mars: Fix build caused by missing GL/glu.h import
Diffstat (limited to 'pkgs/games/mars')
-rw-r--r--pkgs/games/mars/default.nix5
-rw-r--r--pkgs/games/mars/fix-gluortho2d.patch113
2 files changed, 117 insertions, 1 deletions
diff --git a/pkgs/games/mars/default.nix b/pkgs/games/mars/default.nix
index dff005c0095..57e26050824 100644
--- a/pkgs/games/mars/default.nix
+++ b/pkgs/games/mars/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh";
   };
   buildInputs = [ cmake mesa sfml fribidi taglib ];
-  patches = [ ./unbind_fix.patch ];
+  patches = [
+    ./unbind_fix.patch
+    ./fix-gluortho2d.patch
+  ];
   installPhase = ''
     cd ..
     find -name '*.svn' -exec rm -rf {} \;
diff --git a/pkgs/games/mars/fix-gluortho2d.patch b/pkgs/games/mars/fix-gluortho2d.patch
new file mode 100644
index 00000000000..15a5c07060e
--- /dev/null
+++ b/pkgs/games/mars/fix-gluortho2d.patch
@@ -0,0 +1,113 @@
+From 33d5affabf8ff84f2c028b9303c6a9e83cc824ad Mon Sep 17 00:00:00 2001
+From: James Cowgill <james410@cowgill.org.uk>
+Date: Sat, 9 May 2015 01:54:14 +0100
+Subject: [PATCH] Remove dependency on GLU - fixes build with SFML 2.3
+
+---
+ premake4.lua           |  8 ++++----
+ src/Shaders/postFX.cpp |  2 +-
+ src/System/window.cpp  | 12 ++++++------
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/premake4.lua b/premake4.lua
+index 023dddd..5af4495 100755
+--- a/premake4.lua
++++ b/premake4.lua
+@@ -11,11 +11,11 @@ project "mars"
+     defines { "NDEBUG" }

+     flags   { "Optimize" }

+     if os.get() == "windows" then

+-      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }

++      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }

+     elseif os.get() == "macosx" then

+       links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }

+     else

+-      links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }

++      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }

+       libdirs { "/usr/lib", "/usr/local/lib" }

+     end

+     

+@@ -23,10 +23,10 @@ project "mars"
+     defines { "_DEBUG", "DEBUG" }

+     flags   { "Symbols" }

+     if os.get() == "windows" then

+-      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }

++      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }

+     elseif os.get() == "macosx" then

+       links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }

+     else

+-      links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }

++      links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }

+       libdirs { "/usr/lib", "/usr/local/lib" }

+     end

+diff --git a/src/Shaders/postFX.cpp b/src/Shaders/postFX.cpp
+index 987f411..f767a47 100644
+--- a/src/Shaders/postFX.cpp
++++ b/src/Shaders/postFX.cpp
+@@ -78,7 +78,7 @@ namespace postFX {
+             postFX_.loadFromFile(settings::C_dataPath + "shaders/bump.frag", sf::Shader::Fragment);
+             bumpMap_.create(SPACE_X_RESOLUTION*0.5f, SPACE_Y_RESOLUTION*0.5f);
+             glViewport(0,0,SPACE_X_RESOLUTION*0.5f,SPACE_Y_RESOLUTION*0.5f);
+-            gluOrtho2D(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0);
++            glOrtho(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0, -1, 1);
+             glEnable(GL_BLEND);
+             glMatrixMode(GL_MODELVIEW);
+             postFX_.setParameter("BumpMap", bumpMap_.getTexture());
+diff --git a/src/System/window.cpp b/src/System/window.cpp
+index e9a099a..8e12dcc 100644
+--- a/src/System/window.cpp
++++ b/src/System/window.cpp
+@@ -222,7 +222,7 @@ namespace window {
+         glLoadIdentity();
+ 
+         // Setup translation (according to left-upper corner)
+-        gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f);
++        glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1);
+ 
+         // probably improves performance...
+         glDisable(GL_LIGHTING);
+@@ -247,7 +247,7 @@ namespace window {
+ 
+         glMatrixMode(GL_PROJECTION);
+         glLoadIdentity();
+-        gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
++        glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
+         glMatrixMode(GL_MODELVIEW);
+         glLoadIdentity();
+ 
+@@ -255,7 +255,7 @@ namespace window {
+ 
+         glMatrixMode(GL_PROJECTION);
+         glLoadIdentity();
+-        gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f);
++        glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1);
+         glMatrixMode(GL_MODELVIEW);
+         glLoadIdentity();
+     }
+@@ -270,7 +270,7 @@ namespace window {
+             glLoadIdentity();
+             setViewPort();
+ 
+-            gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
++            glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
+ 
+             glMatrixMode(GL_MODELVIEW);
+             glLoadIdentity();
+@@ -284,7 +284,7 @@ namespace window {
+             glLoadIdentity();
+             setViewPort();
+ 
+-            gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
++            glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
+ 
+             glMatrixMode(GL_MODELVIEW);
+             glLoadIdentity();
+@@ -294,7 +294,7 @@ namespace window {
+         else {
+             glMatrixMode(GL_PROJECTION);
+             glLoadIdentity();
+-            gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
++            glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
+             glMatrixMode(GL_MODELVIEW);
+             glLoadIdentity();
+         }