diff --git a/pkgs/by-name/ri/ringracers/package.nix b/pkgs/by-name/ri/ringracers/package.nix index 6bfafd4e4fe4..a5d6ea698c7e 100644 --- a/pkgs/by-name/ri/ringracers/package.nix +++ b/pkgs/by-name/ri/ringracers/package.nix @@ -13,7 +13,7 @@ libvpx, libyuv, zlib, - makeWrapper, + makeBinaryWrapper, makeDesktopItem, copyDesktopItems, pkg-config, @@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake nasm - makeWrapper + makeBinaryWrapper copyDesktopItems pkg-config ]; @@ -78,22 +78,41 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - installPhase = '' - runHook preInstall + installPhase = + lib.optionalString stdenv.hostPlatform.isLinux '' + runHook preInstall - install -Dm644 ../srb2.png $out/share/icons/hicolor/256x256/apps/ringracers.png - install -Dm755 bin/ringracers $out/bin/ringracers + install -Dm644 ../srb2.png $out/share/icons/hicolor/256x256/apps/ringracers.png + install -Dm755 bin/ringracers $out/bin/ringracers - wrapProgram $out/bin/ringracers \ - --set RINGRACERSWADDIR "${finalAttrs.assets}" + wrapProgram $out/bin/ringracers \ + --set RINGRACERSWADDIR "${finalAttrs.assets}" - runHook postInstall - ''; + runHook postInstall + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + runHook preInstall + + mkdir -p $out/Applications + cp -r bin/ringracers.app $out/Applications/ + + wrapProgram $out/Applications/ringracers.app/Contents/MacOS/ringracers \ + --set RINGRACERSWADDIR "${finalAttrs.assets}" + + mkdir -p $out/bin + cat << EOF > "$out/bin/ringracers" + #!${stdenv.shell} + open -na "$out/Applications/ringracers.app" --args "\$@" + EOF + chmod +x $out/bin/ringracers + + runHook postInstall + ''; meta = { description = "Kart racing video game based on Sonic Robo Blast 2 (SRB2), itself based on a modified version of Doom Legacy"; homepage = "https://kartkrew.org"; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux ++ lib.platforms.darwin; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ donovanglover