mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-27 08:04:14 +00:00
fbda1dbfd6
Allow the macOS GLUT framework to be used automatically in many cases. Packages that specifically search for freeglut or require its additional APIs should still explicitly depend on it. Deliberately skip the Haskell package set, which is mostly automatically generated, and mupdf, which has its own fork of freeglut.
91 lines
3.3 KiB
Nix
91 lines
3.3 KiB
Nix
{ fetchurl, lib, stdenv, libGLU, libGL, libglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
|
|
libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat,
|
|
libpng, zlib, bash, SDL2, SDL2_mixer, enet, libjpeg, cmake, pkg-config, libvorbis, runtimeShell, curl, copyDesktopItems, makeDesktopItem }:
|
|
|
|
let
|
|
version = "2.3.0-r8786";
|
|
shortVersion = builtins.substring 0 5 version;
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
inherit version;
|
|
pname = "speed-dreams";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-base-${version}.tar.xz";
|
|
sha256 = "sha256-DUyMs9Hr1PYgmNVwBY/e6snVeGl9GX0AnZ7S+TFABKQ=";
|
|
};
|
|
|
|
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"
|
|
'';
|
|
|
|
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/share/pixmaps/
|
|
ln -s "$out/share/games/speed-dreams-2/data/icons/icon.png" "$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" ];
|
|
|
|
nativeBuildInputs = [ pkg-config cmake copyDesktopItems ];
|
|
|
|
buildInputs = [ libpng libGLU libGL libglut libX11 plib openal freealut libXrandr xorgproto
|
|
libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat
|
|
SDL2 SDL2_mixer enet libjpeg openscenegraph libvorbis curl ];
|
|
|
|
meta = {
|
|
description = "Car racing game - TORCS fork with more experimental approach";
|
|
homepage = "https://speed-dreams.sourceforge.net/";
|
|
license = lib.licenses.gpl2Plus;
|
|
maintainers = with lib.maintainers; [raskin];
|
|
platforms = lib.platforms.linux;
|
|
hydraPlatforms = [];
|
|
};
|
|
}
|