nixpkgs/pkgs/games/instead/default.nix

73 lines
2.0 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkg-config, lua, zlib, unzip }:
let
version = "3.3.2";
# I took several games at random from https://instead.syscall.ru/games/
games = [
(fetchurl {
url = "http://instead-games.googlecode.com/files/instead-apple-day-1.2.zip";
sha256 = "0d4m554hiqmgl4xl0jp0b3bqjl35879768hqznh9y57y04sygd2a";
})
(fetchurl {
url = "http://instead-games.googlecode.com/files/instead-cat_en-1.2.zip";
sha256 = "0jlm3ssqlka16dm0rg6qfjh6xdh3pv7lj2s4ib4mqwj2vfy0v6sg";
})
(fetchurl {
url = "http://instead-games.googlecode.com/files/instead-vinny-0.1.zip";
sha256 = "15qdbg82zp3a8vz4qxminr0xbzbdpnsciliy2wm3raz4hnadawg1";
})
(fetchurl {
url = "http://instead-games.googlecode.com/files/instead-toilet3in1-1.2.zip";
sha256 = "0wz4bljbg67m84qwpaqpzs934a5pcbhpgh39fvbbbfvnnlm4lirl";
})
(fetchurl {
url = "http://instead-games.googlecode.com/files/instead-kayleth-0.4.1.zip";
sha256 = "0xmn9inys0kbcdd02qaqp8gazqs67xq3fq7hvcy2qb9jbq85j8b2";
})
];
in
2019-08-13 21:52:01 +00:00
stdenv.mkDerivation {
name = "instead-" + version;
src = fetchurl {
url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
sha256 = "u5j2kDKRvMQPsG8iA6uOBScuyE/e1BJIK2+qVL6jqQs=";
};
NIX_LDFLAGS = "-llua -lgcc_s";
nativeBuildInputs = [ pkg-config unzip ];
2019-12-08 23:35:30 +00:00
buildInputs = [ SDL2 SDL2_ttf SDL2_image SDL2_mixer lua zlib ];
postPatch = ''
substituteInPlace configure.sh \
--replace "/tmp/sdl-test" $(mktemp)
'';
configurePhase = ''
{ echo 2; echo $out; } | ./configure.sh
'';
inherit games;
2019-12-08 23:35:30 +00:00
postInstall = ''
pushd $out/share/instead/games
for a in $games; do
unzip $a
done
popd
'';
2019-12-08 23:35:30 +00:00
enableParallelBuilding = true;
meta = with lib; {
description = "Simple text adventure interpreter for Unix and Windows";
homepage = "https://instead.syscall.ru/";
2021-01-15 04:31:39 +00:00
license = lib.licenses.gpl2;
platforms = with lib.platforms; linux;
maintainers = with maintainers; [ pSub ];
};
}