pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / wargus / default.nix
blobca4b70923eca5860cf7e9afccf1d13b47aa4e28a
1 { stdenv, lib, callPackage, fetchFromGitHub
2 , fetchurl, runCommand, unzip, bchunk, p7zip
3 , cmake, pkg-config, makeWrapper
4 , zlib, bzip2, libpng
5 , dialog, python3, cdparanoia, ffmpeg
6 }:
8 let
9   stratagus = callPackage ./stratagus.nix {};
11   dataDownload = fetchurl {
12     url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip";
13     sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b";
14   };
16   data = runCommand "warcraft2" {
17     buildInputs = [ unzip bchunk p7zip ];
18     meta.license = lib.licenses.unfree;
19   } ''
20     unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue}
21     bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP
22     rm -r Warcraft.II.Tides.of.Darkness
23     7z x WC2BTDP01.iso
24     rm WC2BTDP*.{iso,cdr}
25     cp -r DATA $out
26   '';
29 stdenv.mkDerivation rec {
30   pname = "wargus";
31   inherit (stratagus) version;
33   src = fetchFromGitHub {
34     owner = "wargus";
35     repo = "wargus";
36     rev = "v${version}";
37     sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c=";
38   };
40   nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ];
41   buildInputs = [ zlib bzip2 libpng ];
42   cmakeFlags = [
43     "-DSTRATAGUS=${stratagus}/games/stratagus"
44     "-DSTRATAGUS_INCLUDE_DIR=${stratagus.src}/gameheaders"
45   ];
46   postInstall = ''
47     makeWrapper $out/games/wargus $out/bin/wargus \
48       --prefix PATH : ${lib.makeBinPath [ "$out" ]}
49     substituteInPlace $out/share/applications/wargus.desktop \
50       --replace $out/games/wargus $out/bin/wargus
52     $out/bin/wartool -v -r ${data} $out/share/games/stratagus/wargus
53     ln -s $out/share/games/stratagus/wargus/{contrib/black_title.png,graphics/ui/black_title.png}
54   '';
56   meta = with lib; {
57     description = "Importer and scripts for Warcraft II: Tides of Darkness, the expansion Beyond the Dark Portal, and Aleonas Tales";
58     homepage = "https://wargus.github.io/";
59     license = licenses.gpl2Only;
60     maintainers = [ maintainers.astro ];
61     platforms = platforms.linux;
62   };