diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-02-22 10:43:06 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-03-11 16:17:56 +0000 |
commit | ca1aada113c0ebda1ab8667199f6453f8e01c4fc (patch) | |
tree | 55e402280096f62eb0bc8bcad5ce6050c5a0aec7 /nixpkgs/pkgs/games/osu-lazer/default.nix | |
parent | e4df5a52a6a6531f32626f57205356a773ac2975 (diff) | |
parent | 93883402a445ad467320925a0a5dbe43a949f25b (diff) | |
download | nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.gz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.bz2 nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.lz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.xz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.zst nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.zip |
Merge commit '93883402a445ad467320925a0a5dbe43a949f25b'
Conflicts: nixpkgs/nixos/modules/programs/ssh.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/data/fonts/noto-fonts/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix
Diffstat (limited to 'nixpkgs/pkgs/games/osu-lazer/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/osu-lazer/default.nix | 125 |
1 files changed, 42 insertions, 83 deletions
diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix index ab826c4f0b31..5ddbabe042ea 100644 --- a/nixpkgs/pkgs/games/osu-lazer/default.nix +++ b/nixpkgs/pkgs/games/osu-lazer/default.nix @@ -1,111 +1,70 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs -, dotnetCorePackages, dotnetPackages, cacert -, ffmpeg_4, alsa-lib, SDL2, lttng-ust, numactl, alsa-plugins +{ lib +, stdenvNoCC +, buildDotnetModule +, fetchFromGitHub +, makeDesktopItem +, copyDesktopItems +, ffmpeg +, alsa-lib +, SDL2 +, lttng-ust +, numactl }: -let - runtimeDeps = [ - ffmpeg_4 alsa-lib SDL2 lttng-ust numactl - ]; - - dotnet-sdk = dotnetCorePackages.sdk_5_0; - dotnet-runtime = dotnetCorePackages.runtime_5_0; - - # https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#using-rids - runtimeId = "linux-x64"; - -in stdenv.mkDerivation rec { +buildDotnetModule rec { pname = "osu-lazer"; - version = "2021.1113.0"; + version = "2022.205.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - sha256 = "EDW3DGnDkdH6k4XKDc5xWFYeIMcoRN4S9nMBF+TeAl8="; + sha256 = "sha256-CzXgj3990qWOwIjhbU8vO29nDO/7HrGDtsc67VIenPI="; }; - nativeBuildInputs = [ - dotnet-sdk dotnetPackages.Nuget makeWrapper - # FIXME: Without `cacert`, we will suffer from https://github.com/NuGet/Announcements/issues/49 - cacert - ]; - - nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix { - fetchNuGet = { pname, version, sha256 }: fetchurl { - name = "${pname}-${version}.nupkg"; - url = "https://www.nuget.org/api/v2/package/${pname}/${version}"; - inherit sha256; - }; - }); - - configurePhase = '' - runHook preConfigure - - export HOME=$(mktemp -d) - export DOTNET_CLI_TELEMETRY_OPTOUT=1 - export DOTNET_NOLOGO=1 - - nuget sources Add -Name nixos -Source "$PWD/nixos" - nuget init "$nugetDeps" "$PWD/nixos" + projectFile = "osu.Desktop/osu.Desktop.csproj"; + nugetDeps = ./deps.nix; - # FIXME: https://github.com/NuGet/Home/issues/4413 - mkdir -p $HOME/.nuget/NuGet - cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet + nativeBuildInputs = [ copyDesktopItems ]; - dotnet restore --source "$PWD/nixos" osu.Desktop --runtime ${runtimeId} - - runHook postConfigure + preConfigure = '' + dotnetFlags+=( + --runtime linux-x64 + ) ''; - buildPhase = '' - runHook preBuild - dotnet build osu.Desktop \ - --no-restore \ - --configuration Release \ - --runtime ${runtimeId} \ - -p:Version=${version} - runHook postBuild - ''; + runtimeDeps = [ + ffmpeg + alsa-lib + SDL2 + lttng-ust + numactl + ]; - installPhase = '' - runHook preInstall + executables = [ "osu!" ]; - dotnet publish osu.Desktop \ - --no-build \ - --configuration Release \ - --runtime ${runtimeId} \ - --no-self-contained \ - --output $out/lib/osu + fixupPhase = '' + runHook preFixup - makeWrapper $out/lib/osu/osu\! $out/bin/osu\! \ - --set DOTNET_ROOT "${dotnet-runtime}" \ - --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" for i in 16 32 48 64 96 128 256 512 1024; do install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png done - cp -r ${makeDesktopItem { - desktopName = "osu!"; - name = "osu"; - exec = "osu!"; - icon = "osu!"; - comment = meta.description; - type = "Application"; - categories = "Game;"; - }}/share/applications $out/share - runHook postInstall - ''; + ln -sft $out/lib/${pname} ${SDL2}/lib/libSDL2${stdenvNoCC.hostPlatform.extensions.sharedLibrary} + cp -f ${./osu.runtimeconfig.json} "$out/lib/${pname}/osu!.runtimeconfig.json" - fixupPhase = '' - runHook preFixup - cp -f ${./osu.runtimeconfig.json} "$out/lib/osu/osu!.runtimeconfig.json" - ln -sft $out/lib/osu ${SDL2}/lib/libSDL2${stdenv.hostPlatform.extensions.sharedLibrary} runHook postFixup ''; - # Strip breaks the executable. - dontStrip = true; + desktopItems = [(makeDesktopItem { + desktopName = "osu!"; + name = "osu"; + exec = "osu!"; + icon = "osu!"; + comment = meta.description; + type = "Application"; + categories = "Game;"; + })]; meta = with lib; { description = "Rhythm is just a *click* away"; |