aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/games/mari0/default.nix
blob: c3fb66208b80f55245b87033e06318bae6fb8542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{ stdenv, fetchFromGitHub, zip, love_11, lua, makeWrapper, makeDesktopItem }:

let
  pname = "mari0";
  version = "1.6.2";

  desktopItem = makeDesktopItem {
    name = "mari0";
    exec = pname;
    comment = "Crossover between Super Mario Bros. and Portal";
    desktopName = "mari0";
    genericName = "mari0";
    categories = "Game";
  };

in

stdenv.mkDerivation {
  inherit pname version;

  src = fetchFromGitHub {
    owner = "Stabyourself";
    repo = pname;
    rev = version;
    sha256 = "1zqaq4w599scsjvy1rsb21fd2r8j3srx9vym4ir9bh666dp36gxa";
  };

  nativeBuildInputs = [ makeWrapper ];
  buildInputs = [ lua love_11 zip ];

  phases = [ "unpackPhase" "installPhase" ];

  installPhase =
  ''
    mkdir -p $out/bin $out/share/games/lovegames $out/share/applications
    zip -9 -r ${pname}.love ./*
    mv ${pname}.love $out/share/games/lovegames/${pname}.love
    makeWrapper ${love_11}/bin/love $out/bin/${pname} --add-flags $out/share/games/lovegames/${pname}.love
    ln -s ${desktopItem}/share/applications/* $out/share/applications/
    chmod +x $out/bin/${pname}
  '';

  meta = with stdenv.lib; {
    description = "Crossover between Super Mario Bros. and Portal";
    platforms = platforms.linux;
    license = licenses.mit;
    downloadPage = "https://stabyourself.net/mari0/";
  };

}