btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / ot / otto-matic / package.nix
blobfbdbb3366b10e317c755c421f27a241fe789f3e1
1 { lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper }:
3 stdenv.mkDerivation rec {
4   pname = "OttoMatic";
5   version = "unstable-2023-11-13";
7   src = fetchFromGitHub {
8     owner = "jorio";
9     repo = pname;
10     rev = "8a5411779762684066d3748fbf4d33747ca871a4";
11     hash = "sha256-cZ2gHNXmjMocfTgbA+0T2nwKs55ZMDoB+JTf0Qdqe8U=";
12     fetchSubmodules = true;
13   };
15   nativeBuildInputs = [
16     cmake
17     makeWrapper
18   ];
20   buildInputs = [
21     SDL2
22   ];
24   installPhase = ''
25     runHook preInstall
27     mkdir -p "$out/bin"
28     mkdir -p "$out/share/OttoMatic"
29     mv Data ReadMe.txt "$out/share/OttoMatic/"
30     install -Dm755 {.,$out/bin}/OttoMatic
31     wrapProgram $out/bin/OttoMatic --chdir "$out/share/OttoMatic"
32     install -Dm644 $src/packaging/io.jor.ottomatic.desktop $out/share/applications/io.jor.ottomatic.desktop
33     install -Dm644 $src/packaging/io.jor.ottomatic.png $out/share/pixmaps/io.jor.ottomatic.png
34     runHook postInstall
35   '';
37   meta = with lib; {
38     description = "Port of Otto Matic, a 2001 Macintosh game by Pangea Software, for modern operating systems";
39     homepage = "https://github.com/jorio/OttoMatic";
40     license = licenses.cc-by-sa-40;
41     maintainers = with maintainers; [ lux ];
42     platforms = platforms.linux;
43     mainProgram = "OttoMatic";
44   };