From f07b934c8a9f9bde57efc14eaa348f777220cec3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= <viric@viric.name>
Date: Fri, 1 Apr 2016 11:16:02 +0200
Subject: [PATCH] Updating trigger-rally to 0.6.3

---
 pkgs/games/trigger/default.nix  | 42 ++++++++++++++++-----------------
 pkgs/games/trigger/search.patch | 14 +++++++++++
 2 files changed, 34 insertions(+), 22 deletions(-)
 create mode 100644 pkgs/games/trigger/search.patch

diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index ad65b54ddcda..382edb6908b4 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -1,37 +1,35 @@
-{ fetchurl, stdenv, SDL, freealut, SDL_image, openal, physfs, zlib, mesa, jam }:
+{ fetchurl, stdenv, SDL, freealut, SDL_image, openal, physfs, zlib, mesa, glew }:
 
 stdenv.mkDerivation rec {
-  name = "trigger-rally-0.6.1";
+  name = "trigger-rally-0.6.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/trigger-rally/${name}-src.tar.bz2";
-    sha256 = "1fvb6dl5bwclmx0y8ygyrfn8jczc5kxawxlyv6mp592smb5x5hjs";
+    url = "mirror://sourceforge/trigger-rally/${name}.tar.gz";
+    sha256 = "103mv4vpq335mrmgzlhahrfncq7ds3b5ip5a52967rv2j6hhzpvy";
   };
 
-  srcData = fetchurl {
-    url = "mirror://sourceforge/trigger-rally/${name}-data.tar.bz2";
-    sha256 = "04f9d74gz5xvfx6pnmbfxqhp0kd1p16j5lrgcq12wxvla6py4qaw";
-  };
-
-  buildInputs = [ SDL freealut SDL_image openal physfs zlib mesa jam ];
+  buildInputs = [ SDL freealut SDL_image openal physfs zlib mesa glew ];
 
   preConfigure = ''
-    configureFlags="$configureFlags --datadir=$out/share/${name}-data"
+    sed s,/usr/local,$out, -i bin/*defs
+
+    cd src
+    export makeFlags="$makeFlags prefix=$out"
   '';
 
-  # It has some problems installing the README file, so... out.
-  patchPhase = ''
-    sed -i /README/d Jamfile
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cat <<EOF > $out/bin/trigger-rally
+    #!/bin/sh
+    exec $out/games/trigger-rally "$@"
+    EOF
+    chmod +x $out/bin/trigger-rally
   '';
 
-  buildPhase = "jam";
-
-  installPhase = ''
-    jam install
-    mkdir -p $out/share
-    pushd $out/share
-    tar xf $srcData
-  '';
+  # search.patch :   fix c++ error.
+  patches = [ ./search.patch ];
 
   meta = {
     description = "Rally";
diff --git a/pkgs/games/trigger/search.patch b/pkgs/games/trigger/search.patch
new file mode 100644
index 000000000000..60a69b159b5b
--- /dev/null
+++ b/pkgs/games/trigger/search.patch
@@ -0,0 +1,14 @@
+diff --git a/src/Trigger/main.cpp b/src/Trigger/main.cpp
+index 39539e1..680c12c 100644
+--- a/src/Trigger/main.cpp
++++ b/src/Trigger/main.cpp
+@@ -890,7 +890,8 @@ bool MainApp::loadAll()
+                 std::smatch mr; // Match Results
+                 std::regex pat(R"(^(\w+)(\..+)$)"); // Pattern
+ 
+-                if (!std::regex_search(std::string(*fname), mr, pat))
++                std::string search(*fname);
++                if (!std::regex_search(search, mr, pat))
+                     continue;
+ 
+                 std::string basefname = mr[1];