diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index dcf1081e4d0..70c5657508b 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,9 +1,15 @@ -{ stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig +{ stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig, makeWrapper , openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype , fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet, harfbuzz }: let dir = "stk-code"; + assets = fetchsvn { + url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets"; + rev = "18212"; + sha256 = "1dyj8r5rfifhnhayga8w8irkpa99vw57xjmy74cp8xz8g7zvdzqf"; + name = "stk-assets"; + }; in stdenv.mkDerivation rec { pname = "supertuxkart"; @@ -17,15 +23,9 @@ in stdenv.mkDerivation rec { sha256 = "01vxxl94583ixswzmi4caz8dk64r56pn3zxh7v63zml60yfvxbvp"; name = dir; }) - (fetchsvn { - url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets"; - rev = "18212"; - sha256 = "1dyj8r5rfifhnhayga8w8irkpa99vw57xjmy74cp8xz8g7zvdzqf"; - name = "stk-assets"; - }) ]; - nativeBuildInputs = [ cmake gettext libtool pkgconfig ]; + nativeBuildInputs = [ cmake gettext libtool pkgconfig makeWrapper ]; buildInputs = [ libX11 libXrandr @@ -38,8 +38,14 @@ in stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs "-DUSE_SYSTEM_ANGELSCRIPT=OFF" # doesn't work with 2.31.2 or 2.32.0 + "-DCHECK_ASSETS=OFF" ]; + # Obtain the assets directly from the fetched store path, to avoid duplicating assets across multiple engine builds + preFixup = '' + wrapProgram $out/bin/supertuxkart --set-default SUPERTUXKART_ASSETS_DIR "${assets}" + ''; + sourceRoot = dir; meta = with stdenv.lib; {