diff options
Diffstat (limited to 'nixpkgs/pkgs/games/vdrift/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/vdrift/default.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/vdrift/default.nix b/nixpkgs/pkgs/games/vdrift/default.nix new file mode 100644 index 000000000000..50fb4af1416a --- /dev/null +++ b/nixpkgs/pkgs/games/vdrift/default.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchsvn +, pkg-config +, scons +, libGLU +, libGL +, SDL2 +, SDL2_image +, libvorbis +, bullet +, curl +, gettext +, writeShellScriptBin + +, data ? fetchsvn { + url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data"; + rev = "1446"; + sha256 = "sha256-KEu49GAOfenPyuaUItt6W9pkuqUNpXgmTSFuc7ThljQ="; + } +}: +let + version = "unstable-2021-09-05"; + bin = stdenv.mkDerivation { + pname = "vdrift"; + inherit version; + + src = fetchFromGitHub { + owner = "vdrift"; + repo = "vdrift"; + rev = "7e9e00c8612b2014d491f026dd86b03f9fb04dcd"; + sha256 = "sha256-DrzRF4WzwEXCNALq0jz8nHWZ1oYTEsdrvSYVYI1WkTI="; + }; + + nativeBuildInputs = [ pkg-config scons ]; + buildInputs = [ libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ]; + + patches = [ + ./0001-Ignore-missing-data-for-installation.patch + ]; + + buildPhase = '' + sed -i -e s,/usr/local,$out, SConstruct + export CXXFLAGS="$(pkg-config --cflags SDL2_image)" + scons -j$NIX_BUILD_CORES + ''; + installPhase = "scons install"; + + meta = { + description = "Car racing game"; + homepage = "http://vdrift.net/"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ viric ]; + platforms = lib.platforms.linux; + }; + }; + wrappedName = "vdrift-${version}-with-data-${toString data.rev}"; +in +(writeShellScriptBin "vdrift" '' + export VDRIFT_DATA_DIRECTORY="${data}" + exec ${bin}/bin/vdrift "$@" +'').overrideAttrs (_: { + name = wrappedName; + meta = bin.meta // { + hydraPlatforms = [ ]; + }; + unwrapped = bin; + inherit bin data; +}) |