summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorAstro <astro@spaceboyz.net>2022-08-05 18:52:54 +0200
committerehmry <ehmry@posteo.net>2022-08-05 21:00:19 -0500
commit633312813703642a14acd042c5a068968978a25d (patch)
treef30f301399776e84a00e1c7cee0fdcc8fab38875 /pkgs/games
parenteb3ac5a74f30a3dfd3b5e7256e54b028683d9b55 (diff)
downloadnixpkgs-633312813703642a14acd042c5a068968978a25d.tar
nixpkgs-633312813703642a14acd042c5a068968978a25d.tar.gz
nixpkgs-633312813703642a14acd042c5a068968978a25d.tar.bz2
nixpkgs-633312813703642a14acd042c5a068968978a25d.tar.lz
nixpkgs-633312813703642a14acd042c5a068968978a25d.tar.xz
nixpkgs-633312813703642a14acd042c5a068968978a25d.tar.zst
nixpkgs-633312813703642a14acd042c5a068968978a25d.zip
wargus: unpack data in package
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/wargus/default.nix28
1 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/games/wargus/default.nix b/pkgs/games/wargus/default.nix
index c225e2bbcb2..9cae3c53784 100644
--- a/pkgs/games/wargus/default.nix
+++ b/pkgs/games/wargus/default.nix
@@ -1,11 +1,30 @@
 { stdenv, lib, callPackage, fetchFromGitHub
+, fetchurl, runCommand, unzip, bchunk, p7zip
 , cmake, pkg-config, makeWrapper
 , zlib, bzip2, libpng
-, dialog, python3, cdparanoia
+, dialog, python3, cdparanoia, ffmpeg
 }:
 
 let
   stratagus = callPackage ./stratagus.nix {};
+
+  dataDownload = fetchurl {
+    url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip";
+    sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b";
+  };
+
+  data = runCommand "warcraft2" {
+    buildInputs = [ unzip bchunk p7zip ];
+    meta.license = lib.licenses.unfree;
+  } ''
+    unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue}
+    bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP
+    rm -r Warcraft.II.Tides.of.Darkness
+    7z x WC2BTDP01.iso
+    rm WC2BTDP*.{iso,cdr}
+    cp -r DATA $out
+  '';
+
 in
 stdenv.mkDerivation rec {
   pname = "wargus";
@@ -18,7 +37,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config makeWrapper ];
+  nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ];
   buildInputs = [ zlib bzip2 libpng ];
   cmakeFlags = [
     "-DSTRATAGUS=${stratagus}/games/stratagus"
@@ -26,7 +45,10 @@ stdenv.mkDerivation rec {
   ];
   postInstall = ''
     makeWrapper $out/games/wargus $out/bin/wargus \
-      --prefix PATH : ${lib.makeBinPath [ "$out" cdparanoia python3 ]}
+      --prefix PATH : ${lib.makeBinPath [ "$out" ]}
+
+    $out/bin/wartool -v -r ${data} $out/share/games/stratagus/wargus
+    ln -s $out/share/games/stratagus/wargus/{contrib/black_title.png,graphics/ui/black_title.png}
   '';
 
   meta = with lib; {