ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / ri / ringracers / package.nix
blob8cb144d870cc5bece8681b0225d7d02264a66708
2   lib,
3   stdenv,
4   fetchzip,
5   fetchFromGitHub,
6   cmake,
7   curl,
8   nasm,
9   game-music-emu,
10   libpng,
11   SDL2,
12   SDL2_mixer,
13   libvpx,
14   libyuv,
15   zlib,
16   makeWrapper,
17   makeDesktopItem,
18   copyDesktopItems,
21 stdenv.mkDerivation (finalAttrs: {
22   pname = "ringracers";
23   version = "2.3";
25   src = fetchFromGitHub {
26     owner = "KartKrewDev";
27     repo = "RingRacers";
28     rev = "v${finalAttrs.version}";
29     hash = "sha256-X2rSwZOEHtnSJBpu+Xf2vkxGUAZSNSXi6GCuGlM6jhY=";
30   };
32   assets = fetchzip {
33     name = "${finalAttrs.pname}-${finalAttrs.version}-assets";
34     url = "https://github.com/KartKrewDev/RingRacers/releases/download/v${finalAttrs.version}/Dr.Robotnik.s-Ring-Racers-v${finalAttrs.version}-Assets.zip";
35     hash = "sha256-sHeI1E6uNF0gBNd1e1AU/JT9wyZdkCQgYLiMPZqXAVc=";
36     stripRoot = false;
37   };
39   nativeBuildInputs = [
40     cmake
41     nasm
42     makeWrapper
43     copyDesktopItems
44   ];
46   buildInputs = [
47     curl
48     game-music-emu
49     libpng
50     SDL2
51     SDL2_mixer
52     libvpx
53     libyuv
54     zlib
55   ];
57   cmakeFlags = [
58     "-DSRB2_ASSET_DIRECTORY=${finalAttrs.assets}"
59     "-DGME_INCLUDE_DIR=${game-music-emu}/include"
60     "-DSDL2_MIXER_INCLUDE_DIR=${lib.getDev SDL2_mixer}/include/SDL2"
61     "-DSDL2_INCLUDE_DIR=${lib.getDev SDL2}/include/SDL2"
62   ];
64   desktopItems = [
65     (makeDesktopItem {
66       name = "ringracers";
67       exec = "ringracers";
68       icon = "ringracers";
69       comment = "This is Racing at the Next Level";
70       desktopName = "Dr. Robotnik's Ring Racers";
71       startupWMClass = ".ringracers-wrapped";
72       categories = [ "Game" ];
73     })
74   ];
76   installPhase = ''
77     runHook preInstall
79     install -Dm644 ../srb2.png $out/share/icons/hicolor/256x256/apps/ringracers.png
80     install -Dm755 bin/ringracers $out/bin/ringracers
82     wrapProgram $out/bin/ringracers \
83       --set RINGRACERSWADDIR "${finalAttrs.assets}"
85     runHook postInstall
86   '';
88   meta = with lib; {
89     description = "Kart racing video game based on Sonic Robo Blast 2 (SRB2), itself based on a modified version of Doom Legacy";
90     homepage = "https://kartkrew.org";
91     platforms = platforms.linux;
92     license = licenses.gpl2Plus;
93     maintainers = with maintainers; [
94       donovanglover
95       thehans255
96     ];
97     mainProgram = "ringracers";
98   };