Unverified Commit 9eb2e11b authored by Colin's avatar Colin Committed by GitHub
Browse files

itgmania: init at 0.9.0 (#355725)

parents 2c8f8a71 89cd194e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -7933,6 +7933,12 @@
    githubId = 248148;
    name = "Sigrid Solveig Haflínudóttir";
  };
  ftsimas = {
    name = "Filippos Tsimas";
    email = "filippos.tsimas@outlook.com";
    github = "ftsimas";
    githubId = 47324723;
  };
  fuerbringer = {
    email = "severin@fuerbringer.info";
    github = "fuerbringer";
+94 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  cmake,
  nasm,
  pkg-config,
  copyDesktopItems,
  alsa-lib,
  glew,
  glib,
  gtk3,
  libmad,
  libogg,
  libpulseaudio,
  libusb-compat-0_1,
  libvorbis,
  libXtst,
  udev,
  makeWrapper,
  makeDesktopItem,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "itgmania";
  version = "0.9.0";

  src = fetchFromGitHub {
    owner = "itgmania";
    repo = "itgmania";
    rev = "v${finalAttrs.version}";
    fetchSubmodules = true;
    hash = "sha256-SAEYkAPNUjGNfNnHfwyOj65i2SpEX0ct/fREob5/6fI=";
  };

  nativeBuildInputs = [
    cmake
    nasm
    pkg-config
    makeWrapper
    copyDesktopItems
  ];

  buildInputs = [
    alsa-lib
    glew
    glib
    gtk3
    libmad
    libogg
    libpulseaudio
    libusb-compat-0_1
    libvorbis
    libXtst
    udev
  ];

  cmakeFlags = lib.optionals (!stdenv.hostPlatform.isx86) [ "-DWITH_MINIMAID=off" ];

  postInstall = ''
    makeWrapper $out/itgmania/itgmania $out/bin/itgmania \
      --chdir $out/itgmania

    mkdir -p $out/share/icons/hicolor/scalable/apps/
    ln -s $out/itgmania/Data/logo.svg $out/share/icons/hicolor/scalable/apps/itgmania.svg
  '';

  desktopItems = [
    (makeDesktopItem {
      name = "itgmania";
      desktopName = "ITGmania";
      genericName = "Rhythm and dance game";
      tryExec = "itgmania";
      exec = "itgmania";
      terminal = false;
      icon = "itgmania";
      type = "Application";
      comment = "A cross-platform rhythm video game.";
      categories = [
        "Game"
        "ArcadeGame"
      ];
    })
  ];

  meta = {
    homepage = "https://www.itgmania.com/";
    description = "Fork of StepMania 5.1, improved for the post-ITG community";
    platforms = lib.platforms.linux;
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ ftsimas ];
    mainProgram = "itgmania";
  };
})