diff options
| author | Mio <mio@mio19.uk> | 2026-01-14 16:13:52 +1100 |
|---|---|---|
| committer | Mio <mio@mio19.uk> | 2026-01-14 16:13:52 +1100 |
| commit | f1a4cca7745bd513576f553314e8d37ccf3caa27 (patch) | |
| tree | f2c25702a735654b6b6e2b70084b2d4cfe43c7a2 /pkgs/games | |
| parent | lockbook-desktop: 25.12.15 -> 26.1.13 (#479900) (diff) | |
| download | nixpkgs-f1a4cca7745bd513576f553314e8d37ccf3caa27.tar.gz | |
speed-dreams: 2.3.0-r8786 -> 2.4.2
Diffstat (limited to 'pkgs/games')
| -rw-r--r-- | pkgs/games/speed-dreams/default.nix | 131 |
1 files changed, 67 insertions, 64 deletions
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix index 520439b2321b..b257e77934fd 100644 --- a/pkgs/games/speed-dreams/default.nix +++ b/pkgs/games/speed-dreams/default.nix @@ -1,5 +1,4 @@ { - fetchurl, lib, stdenv, libGLU, @@ -32,83 +31,83 @@ libvorbis, runtimeShell, curl, + fetchgit, + cjson, + minizip, + rhash, copyDesktopItems, - makeDesktopItem, }: -let - version = "2.3.0-r8786"; - shortVersion = builtins.substring 0 5 version; -in stdenv.mkDerivation rec { - inherit version; + version = "2.4.2"; pname = "speed-dreams"; - src = fetchurl { - url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-base-${version}.tar.xz"; - sha256 = "sha256-DUyMs9Hr1PYgmNVwBY/e6snVeGl9GX0AnZ7S+TFABKQ="; + src = fetchgit { + url = "https://forge.a-lec.org/speed-dreams/speed-dreams-code.git"; + rev = "v${version}"; + sha256 = "sha256-ZY/0tf0wFbepEUNqpaBA4qgkWDij/joqPtbiF/48oN4="; + fetchSubmodules = true; }; - - cars-and-tracks = fetchurl { - url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-hq-cars-and-tracks-${version}.tar.xz"; - sha256 = "sha256-WT+W6uuw4BRSbF1Cw123q3v9qSCvBQ7TcQ/Y0RV/7Js="; - }; - - more-cars-and-tracks = fetchurl { - url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-more-hq-cars-and-tracks-${version}.tar.xz"; - sha256 = "sha256-psApv+Z1HDFvh5bzt125mo/ZvO5rjee/KhOf45iKnKk="; - }; - - wip-cars-and-tracks = fetchurl { - url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-wip-cars-and-tracks-${version}.tar.xz"; - sha256 = "sha256-OEAbqFfO2PzHP7+eAtPNn3Ql6fYNTKzzQW8lHe9KDXM="; - }; - - sourceRoot = "."; - - postUnpack = '' - echo Unpacking data - tar -xf ${cars-and-tracks} - tar -xf ${more-cars-and-tracks} - tar -xf ${wip-cars-and-tracks} - ''; - - preBuild = '' - make -C src/libs/portability - make -C src/libs/portability portability.o - ar -rv "$(echo lib*/games/speed-dreams*/lib)"/libportability_static.a src/libs/portability/CMakeFiles/portability.dir/portability.cpp.o - export NIX_LDFLAGS="$NIX_LDFLAGS -L$(echo $PWD/lib*/games/speed-dreams*/lib) -lexpat" - echo "libportability_static.a built" - ''; + NIX_CFLAGS_COMPILE = "-I${src}/src/libs/tgf -I${src}/src/libs/tgfdata -I${src}/src/interfaces -I${src}/src/libs/math -I${src}/src/libs/portability"; postInstall = '' - mkdir "$out/bin" - for i in "$out"/games/*; do - echo '#!${runtimeShell}' >> "$out/bin/$(basename "$i")" - echo "$i"' "$@"' >> "$out/bin/$(basename "$i")" - chmod a+x "$out/bin/$(basename "$i")" - done + mkdir -p "$out/bin" + # Wrapper for main executable + cat > "$out/bin/speed-dreams" <<EOF + #!${runtimeShell} + export LD_LIBRARY_PATH="$out/lib/games/speed-dreams-2/lib:$out/lib:${ + lib.makeLibraryPath [ + libGL + libGLU + libglut + libX11 + plib + openal + freealut + libXrandr + libXext + libSM + libICE + libXi + libXt + libXrender + libXxf86vm + openscenegraph + expat + libpng + zlib + SDL2 + SDL2_mixer + enet + libjpeg + libvorbis + curl + cjson + minizip + rhash + stdenv.cc.cc.lib + ] + }" + if [ -e "${libGL}/lib/libGL.so.1" ]; then + export LD_PRELOAD="${libGL}/lib/libGL.so.1''${LD_PRELOAD:+:$LD_PRELOAD}" + fi + export SDL_VIDEODRIVER="x11" + exec "$out/games/speed-dreams-2" "$@" + EOF + chmod a+x "$out/bin/speed-dreams" + # Symlink for desktop icon mkdir -p $out/share/pixmaps/ ln -s "$out/share/games/speed-dreams-2/data/icons/icon.png" "$out/share/pixmaps/speed-dreams-2.png" + substituteInPlace "$out/share/applications/speed-dreams.desktop" \ + --replace-fail "Exec=$out/games/speed-dreams-2" "Exec=$out/bin/speed-dreams" \ + --replace-fail "Icon=/build/speed-dreams-code/speed-dreams-data/data/data/icons/icon.png" "Icon=$out/share/pixmaps/speed-dreams-2.png" ''; - desktopItems = [ - (makeDesktopItem { - name = "Speed Dreams 2"; - exec = "speed-dreams-2"; - icon = "speed-dreams-2.png"; - desktopName = "speed-dreams-2"; - comment = "The Open Racing Car Simulator Fork"; - categories = [ - "Application" - "Game" - ]; - }) - ]; - # RPATH of binary /nix/store/.../lib64/games/speed-dreams-2/drivers/shadow_sc/shadow_sc.so contains a forbidden reference to /build/ - cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; + cmakeFlags = [ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ]; nativeBuildInputs = [ pkg-config @@ -144,14 +143,18 @@ stdenv.mkDerivation rec { openscenegraph libvorbis curl + cjson + minizip + rhash ]; meta = { description = "Car racing game - TORCS fork with more experimental approach"; - homepage = "https://speed-dreams.sourceforge.net/"; + homepage = "https://www.speed-dreams.net/"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ raskin ]; platforms = lib.platforms.linux; hydraPlatforms = [ ]; + mainProgram = "speed-dreams"; }; } |
