ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / games / osu-lazer / default.nix
blobcfcb69625d8b4ca4bd95308efb42a35c95163824
1 { lib
2 , stdenvNoCC
3 , buildDotnetModule
4 , fetchFromGitHub
5 , makeDesktopItem
6 , copyDesktopItems
7 , ffmpeg
8 , alsa-lib
9 , SDL2
10 , lttng-ust
11 , numactl
12 , dotnetCorePackages
15 buildDotnetModule rec {
16   pname = "osu-lazer";
17   version = "2022.1101.0";
19   src = fetchFromGitHub {
20     owner = "ppy";
21     repo = "osu";
22     rev = version;
23     sha256 = "sha256-o0QHb8ebXKG0OZaYA9P/0OuOiSml3slYQ7gjyuP/ZyY=";
24   };
26   projectFile = "osu.Desktop/osu.Desktop.csproj";
27   nugetDeps = ./deps.nix;
29   nativeBuildInputs = [ copyDesktopItems ];
31   dotnetFlags = [
32     "--runtime linux-x64"
33   ];
35   runtimeDeps = [
36     ffmpeg
37     alsa-lib
38     SDL2
39     lttng-ust
40     numactl
41   ];
43   executables = [ "osu!" ];
45   fixupPhase = ''
46     runHook preFixup
48     for i in 16 32 48 64 96 128 256 512 1024; do
49       install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
50     done
52     ln -sft $out/lib/${pname} ${SDL2}/lib/libSDL2${stdenvNoCC.hostPlatform.extensions.sharedLibrary}
53     cp -f ${./osu.runtimeconfig.json} "$out/lib/${pname}/osu!.runtimeconfig.json"
55     runHook postFixup
56   '';
58   desktopItems = [(makeDesktopItem {
59     desktopName = "osu!";
60     name = "osu";
61     exec = "osu!";
62     icon = "osu!";
63     comment = meta.description;
64     type = "Application";
65     categories = [ "Game" ];
66   })];
68   meta = with lib; {
69     description = "Rhythm is just a *click* away";
70     homepage = "https://osu.ppy.sh";
71     license = with licenses; [
72       mit
73       cc-by-nc-40
74       unfreeRedistributable # osu-framework contains libbass.so in repository
75     ];
76     maintainers = with maintainers; [ oxalica thiagokokada ];
77     platforms = [ "x86_64-linux" ];
78     mainProgram = "osu!";
79   };
80   passthru.updateScript = ./update.sh;