Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / vdrift / default.nix
blob50fb4af1416a0a0ad160b96798f781e29fa09dcb
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchsvn
5 , pkg-config
6 , scons
7 , libGLU
8 , libGL
9 , SDL2
10 , SDL2_image
11 , libvorbis
12 , bullet
13 , curl
14 , gettext
15 , writeShellScriptBin
17 , data ? fetchsvn {
18     url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
19     rev = "1446";
20     sha256 = "sha256-KEu49GAOfenPyuaUItt6W9pkuqUNpXgmTSFuc7ThljQ=";
21   }
23 let
24   version = "unstable-2021-09-05";
25   bin = stdenv.mkDerivation {
26     pname = "vdrift";
27     inherit version;
29     src = fetchFromGitHub {
30       owner = "vdrift";
31       repo = "vdrift";
32       rev = "7e9e00c8612b2014d491f026dd86b03f9fb04dcd";
33       sha256 = "sha256-DrzRF4WzwEXCNALq0jz8nHWZ1oYTEsdrvSYVYI1WkTI=";
34     };
36     nativeBuildInputs = [ pkg-config scons ];
37     buildInputs = [ libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ];
39     patches = [
40       ./0001-Ignore-missing-data-for-installation.patch
41     ];
43     buildPhase = ''
44       sed -i -e s,/usr/local,$out, SConstruct
45       export CXXFLAGS="$(pkg-config --cflags SDL2_image)"
46       scons -j$NIX_BUILD_CORES
47     '';
48     installPhase = "scons install";
50     meta = {
51       description = "Car racing game";
52       homepage = "http://vdrift.net/";
53       license = lib.licenses.gpl2Plus;
54       maintainers = with lib.maintainers; [ viric ];
55       platforms = lib.platforms.linux;
56     };
57   };
58   wrappedName = "vdrift-${version}-with-data-${toString data.rev}";
60 (writeShellScriptBin "vdrift"  ''
61   export VDRIFT_DATA_DIRECTORY="${data}"
62   exec ${bin}/bin/vdrift "$@"
63 '').overrideAttrs (_: {
64   name = wrappedName;
65   meta = bin.meta // {
66     hydraPlatforms = [ ];
67   };
68   unwrapped = bin;
69   inherit bin data;