Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 157 lines 3.6 kB view raw
1{ 2 fetchurl, 3 lib, 4 stdenv, 5 libGLU, 6 libGL, 7 libglut, 8 libX11, 9 plib, 10 openal, 11 freealut, 12 libXrandr, 13 xorgproto, 14 libXext, 15 libSM, 16 libICE, 17 libXi, 18 libXt, 19 libXrender, 20 libXxf86vm, 21 openscenegraph, 22 expat, 23 libpng, 24 zlib, 25 bash, 26 SDL2, 27 SDL2_mixer, 28 enet, 29 libjpeg, 30 cmake, 31 pkg-config, 32 libvorbis, 33 runtimeShell, 34 curl, 35 copyDesktopItems, 36 makeDesktopItem, 37}: 38 39let 40 version = "2.3.0-r8786"; 41 shortVersion = builtins.substring 0 5 version; 42in 43stdenv.mkDerivation rec { 44 inherit version; 45 pname = "speed-dreams"; 46 47 src = fetchurl { 48 url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-base-${version}.tar.xz"; 49 sha256 = "sha256-DUyMs9Hr1PYgmNVwBY/e6snVeGl9GX0AnZ7S+TFABKQ="; 50 }; 51 52 cars-and-tracks = fetchurl { 53 url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-hq-cars-and-tracks-${version}.tar.xz"; 54 sha256 = "sha256-WT+W6uuw4BRSbF1Cw123q3v9qSCvBQ7TcQ/Y0RV/7Js="; 55 }; 56 57 more-cars-and-tracks = fetchurl { 58 url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-more-hq-cars-and-tracks-${version}.tar.xz"; 59 sha256 = "sha256-psApv+Z1HDFvh5bzt125mo/ZvO5rjee/KhOf45iKnKk="; 60 }; 61 62 wip-cars-and-tracks = fetchurl { 63 url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-wip-cars-and-tracks-${version}.tar.xz"; 64 sha256 = "sha256-OEAbqFfO2PzHP7+eAtPNn3Ql6fYNTKzzQW8lHe9KDXM="; 65 }; 66 67 sourceRoot = "."; 68 69 postUnpack = '' 70 echo Unpacking data 71 tar -xf ${cars-and-tracks} 72 tar -xf ${more-cars-and-tracks} 73 tar -xf ${wip-cars-and-tracks} 74 ''; 75 76 preBuild = '' 77 make -C src/libs/portability 78 make -C src/libs/portability portability.o 79 ar -rv "$(echo lib*/games/speed-dreams*/lib)"/libportability_static.a src/libs/portability/CMakeFiles/portability.dir/portability.cpp.o 80 export NIX_LDFLAGS="$NIX_LDFLAGS -L$(echo $PWD/lib*/games/speed-dreams*/lib) -lexpat" 81 echo "libportability_static.a built" 82 ''; 83 84 postInstall = '' 85 mkdir "$out/bin" 86 for i in "$out"/games/*; do 87 echo '#!${runtimeShell}' >> "$out/bin/$(basename "$i")" 88 echo "$i"' "$@"' >> "$out/bin/$(basename "$i")" 89 chmod a+x "$out/bin/$(basename "$i")" 90 done 91 92 mkdir -p $out/share/pixmaps/ 93 ln -s "$out/share/games/speed-dreams-2/data/icons/icon.png" "$out/share/pixmaps/speed-dreams-2.png" 94 ''; 95 96 desktopItems = [ 97 (makeDesktopItem { 98 name = "Speed Dreams 2"; 99 exec = "speed-dreams-2"; 100 icon = "speed-dreams-2.png"; 101 desktopName = "speed-dreams-2"; 102 comment = "The Open Racing Car Simulator Fork"; 103 categories = [ 104 "Application" 105 "Game" 106 ]; 107 }) 108 ]; 109 110 # RPATH of binary /nix/store/.../lib64/games/speed-dreams-2/drivers/shadow_sc/shadow_sc.so contains a forbidden reference to /build/ 111 cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; 112 113 nativeBuildInputs = [ 114 pkg-config 115 cmake 116 copyDesktopItems 117 ]; 118 119 buildInputs = [ 120 libpng 121 libGLU 122 libGL 123 libglut 124 libX11 125 plib 126 openal 127 freealut 128 libXrandr 129 xorgproto 130 libXext 131 libSM 132 libICE 133 libXi 134 libXt 135 libXrender 136 libXxf86vm 137 zlib 138 bash 139 expat 140 SDL2 141 SDL2_mixer 142 enet 143 libjpeg 144 openscenegraph 145 libvorbis 146 curl 147 ]; 148 149 meta = { 150 description = "Car racing game - TORCS fork with more experimental approach"; 151 homepage = "https://speed-dreams.sourceforge.net/"; 152 license = lib.licenses.gpl2Plus; 153 maintainers = with lib.maintainers; [ raskin ]; 154 platforms = lib.platforms.linux; 155 hydraPlatforms = [ ]; 156 }; 157}