Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / brogue-ce / default.nix
blob77e58ed5a1a6a78f7ab29f2999744953ffc9c0ad
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , makeDesktopItem
5 , copyDesktopItems
6 , SDL2
7 , SDL2_image
8 }:
10 stdenv.mkDerivation rec {
11   pname = "brogue-ce";
12   version = "1.13";
14   src = fetchFromGitHub {
15     owner = "tmewett";
16     repo = "BrogueCE";
17     rev = "v${version}";
18     hash = "sha256-FUIdi1Ytn+INeD9550MW41qXtLb6in0QS3Snt8QaXUA=";
19   };
21   postPatch = ''
22     substituteInPlace linux/brogue-multiuser.sh \
23       --replace broguedir= "broguedir=$out/opt/brogue-ce #"
24   '';
26   nativeBuildInputs = [
27     copyDesktopItems
28   ];
30   buildInputs = [
31     SDL2
32     SDL2_image
33   ];
35   makeFlags = [ "DATADIR=$(out)/opt/brogue-ce" ];
37   desktopItems = [(makeDesktopItem {
38     name = "brogue-ce";
39     desktopName = "Brogue CE";
40     genericName = "Roguelike";
41     comment = "Brave the Dungeons of Doom!";
42     icon = "brogue-ce";
43     exec = "brogue-ce";
44     categories = [ "Game" "AdventureGame" ];
45   })];
47   installPhase = ''
48     runHook preInstall
49     mkdir -p $out/opt
50     cp -r bin $out/opt/brogue-ce
51     install -Dm755 linux/brogue-multiuser.sh $out/bin/brogue-ce
52     install -Dm 644 bin/assets/icon.png $out/share/icons/hicolor/256x256/apps/brogue-ce.png
53     runHook postInstall
54   '';
56   meta = with lib; {
57     description = "A community-lead fork of the minimalist roguelike game Brogue";
58     homepage = "https://github.com/tmewett/BrogueCE";
59     license = licenses.agpl3;
60     maintainers = with maintainers; [ AndersonTorres fgaz ];
61     platforms = platforms.all;
62   };