summary refs log tree commit diff
path: root/pkgs/games/rigsofrods/default.nix
blob: 8fc623184ed9e93b360361c2cee781cb46678d47 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{ fetchsvn, fetchurl, stdenv, wxGTK290, freeimage, cmake, zziplib, mesa, boost, 
  pkgconfig, libuuid, lua5, openal, ogre, ois, curl, gtk, pixman, mygui, unzip,
  angelscript
  }:

stdenv.mkDerivation rec {
  /* version = "1780"; */
  version = "0.37";
  name = "rigsofrods-${version}";

  /* src = fetchsvn {
    url = https://rigsofrods.svn.sourceforge.net/svnroot/rigsofrods/trunk;
    rev = version;
  }; */
  
  src = fetchurl {
    url = mirror://sourceforge/rigsofrods/rigsofrods/0.37-dev/RoR-0.37.126-Sources.zip;
    sha256 = "03mxmxpfdlsri0j3nqgyj2pc4gpzs8zq8qgg6qhnyazi7j95j4mk";
  };

  contentPackSrc = fetchurl {
    url = mirror://sourceforge/rigsofrods/rigsofrods/0.37/content-pack-0.37.zip;
    sha256 = "0prvn8lxqazadad4mv0nilax9i4vqb9s7dp7mqzvqc0ycmcnf4ps";
  };

  enableParallelBuilding = true;

  cmakeFlags = [
    "-DROR_USE_LUA=TRUE" "-DLUA_LIBRARIES=${lua5}/lib/liblua.a"
    "-DROR_USE_CURL=TRUE"
    "-DROR_USE_MYGUI=TRUE"
    # "-DROR_USE_OPNEAL=TRUE"
    # "-DROR_USE_MOFILEREADER=TRUE"
    # "-DROR_USE_CAELUM=TRUE"
    # "-DROR_USE_PAGED=TRUE"
    "-DROR_USE_ANGELSCRIPT=TRUE"
    # "-DROR_USE_SOCKETW=TRUE"
  ];

  installPhase = ''
    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../bin/plugins.cfg
    sed -e "/CgProgramManager/d" -i ../bin/plugins.cfg
    ensureDir $out/share/rigsofrods
    cp -r .. $out/share/rigsofrods/build-dir
    ensureDir $out/bin
    for i in RoR rorconfig RoRViewer; do
      echo '#! ${stdenv.shell}' >> "$out/bin/$i"
      if [ "$i" = "rorconfig" ]; then
        echo "[ -d \"\$HOME/.rigsofrods\" ] && cp -r '$out/share/rigsofrods/build-dirs/bin/skeleton' \"\$HOME/.rigsofrods\"" >> "$out/bin/$i"
        echo "chmod u+w -R \"\$HOME/.rigsofrods\"" >> "$out/bin/$i"
      fi
      echo "\"$out/share/rigsofrods/build-dir/bin/$i\"" >> "$out/bin/$i"
      chmod a+x "$out/bin/$i"
    done
    cd $out/share/rigsofrods/build-dir/bin/
    unzip "${contentPackSrc}"
  '';

  preConfigure = ''
    export NIX_LDFLAGS="$NIX_LDFLAGS -langelscript -lgtk-x11-2.0"
    sed -e 's@wxLOCALE_CONV_ENCODING@0@g' -i source/configurator/configurator.cpp
  '';

  # patches = [ ./wx.patch ];

  buildInputs = [ wxGTK290 freeimage cmake zziplib mesa boost pkgconfig
    libuuid lua5 openal ogre ois curl gtk mygui unzip angelscript ];

  meta = {
    description = "3D simulator game where you can drive, fly and sail various vehicles";
    homepage = http://rigsofrods.sourceforge.net/;
    license = "GPLv3";
    maintainers = with stdenv.lib.maintainers; [viric raskin];
    platforms = with stdenv.lib.platforms; linux;
  };
}