about summary refs log tree commit diff
path: root/pkgs/games/gog
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2018-06-10 00:30:02 +0200
committeraszlig <aszlig@nix.build>2018-06-10 00:30:02 +0200
commitf4e26c499a4346e8b183de5466257d482892ff58 (patch)
tree047be27975597f55cf9d855ba07564e4f2556755 /pkgs/games/gog
parent90316a0ec638e82819188647d6c0ceed339c7714 (diff)
games/albion: Temporarily fix loading of libGL
I think this has te be fixed in <nixpkgs>, because SDL2 loads libGL at
runtime using dlopen(), but recent changes have been made so that
libGL.so is no longer in LD_LIBRARY_PATH on NixOS by default.

So until then, let's set SDL_OPENGL_LIBRARY, so that SDL2 will load it
from that path directly instead of searching in LD_LIBRARY_PATH.

Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs/games/gog')
-rw-r--r--pkgs/games/gog/albion/default.nix8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkgs/games/gog/albion/default.nix b/pkgs/games/gog/albion/default.nix
index 09b8d39a..1c03f080 100644
--- a/pkgs/games/gog/albion/default.nix
+++ b/pkgs/games/gog/albion/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, buildSandbox, fetchGog, fetchzip, innoextract, SDL2, SDL2_mixer
-, bchunk, p7zip, alsaLib, writeText
+, bchunk, p7zip, alsaLib, writeText, makeWrapper, libGL
 
 # For static recompilation
 , fetchFromGitHub, scons, judy, python, nasm, autoreconfHook
@@ -150,7 +150,7 @@ in buildSandbox (stdenv.mkDerivation {
       --replace ./midiA-wildmidi.so "$wildmidiA/lib/midiA-wildmidi.so" \
   '';
 
-  nativeBuildInputs = [ scons judy python nasm udis86 ];
+  nativeBuildInputs = [ scons judy python nasm udis86 makeWrapper ];
   buildInputs = [ SDL2 SDL2_mixer ];
 
   NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2";
@@ -180,6 +180,10 @@ in buildSandbox (stdenv.mkDerivation {
     install -vD -m 0644 games/Albion/release/linux/Albion.cfg \
       "$out/etc/albion.cfg"
     install -vD games/Albion/SR-Main/SR-Main "$out/bin/albion"
+
+    # XXX: Temporary workaround, because SDL tries to dlopen() libGL.
+    wrapProgram "$out/bin/albion" \
+      --set SDL_OPENGL_LIBRARY ${lib.escapeShellArg "${libGL}/lib/libGL.so"}
   '';
 }) {
   paths.required = [ "$XDG_DATA_HOME/albion" "$XDG_CONFIG_HOME/albion" ];