ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / fh / fheroes2 / package.nix
blobcffc2de3041416b6459f11bdae38ff018dcf7e74
1 { stdenv, lib, fetchFromGitHub, imagemagick
2 , gettext, glibcLocalesUtf8, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, zlib
3 , libiconv
5 , gitUpdater
6 }:
8 stdenv.mkDerivation rec {
9   pname = "fheroes2";
10   version = "1.1.4";
12   src = fetchFromGitHub {
13     owner = "ihhub";
14     repo = "fheroes2";
15     rev = version;
16     hash = "sha256-hgFOXAxbCpG3lHWyX6gE/aGJ1A/QymWHMmRwta997+Q=";
17   };
19   nativeBuildInputs = [ imagemagick ];
21   buildInputs = [ gettext glibcLocalesUtf8 libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ]
22     ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
24   makeFlags = [
25     "FHEROES2_STRICT_COMPILATION=1"
26     "FHEROES2_DATA=\"${placeholder "out"}/share/fheroes2\""
27   ];
29   enableParallelBuilding = true;
31   postBuild = ''
32     # Pick guaranteed to be present UTF-8 locale.
33     # Otherwise `iconv` calls fail to produce valid translations.
34     LANG=en_US.UTF_8 make -C files/lang
35   '';
37   installPhase = ''
38     runHook preInstall
40     install -Dm755 $PWD/src/dist/fheroes2 $out/bin/fheroes2
42     install -Dm644 -t $out/share/fheroes2/files/lang $PWD/files/lang/*.mo
43     install -Dm644 -t $out/share/fheroes2/files/data $PWD/files/data/resurrection.h2d
45     install -Dm644 -t $out/share/applications $PWD/script/packaging/common/fheroes2.desktop
47     for size in 16 24 32 48 64 128; do
48       mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
49       convert -resize "$size"x"$size" $PWD/src/resources/fheroes2.png $out/share/icons/hicolor/"$size"x"$size"/apps/fheroes2.png
50     done;
52     runHook postInstall
53   '';
55   passthru = {
56     updateScript = gitUpdater {
57       url = "https://github.com/ihhub/fheroes2.git";
58     };
59   };
61   meta = with lib; {
62     homepage = "https://github.com/ihhub/fheroes2";
63     description = "Free implementation of Heroes of Might and Magic II game engine";
64     mainProgram = "fheroes2";
65     longDescription = ''
66         In order to play this game, an original game data is required.
67         Please refer to README of the project for instructions.
68         On linux, the data can be placed in ~/.local/share/fheroes2 folder.
69     '';
70     license = licenses.gpl2Plus;
71     maintainers = [ maintainers.karolchmist ];
72     platforms = platforms.unix;
73   };