nixpkgs/pkgs/development/compilers/inklecate/default.nix
Shreeram Modi 23a95af60f
inklecate: init at version 1.0.0
inklecate is a command line compiler for the ink language, which is used
to make interactive narrative / choose-your-own-adventure style games.

More information about the ink language can be found at
https://github.com/inkle/ink
2021-07-08 22:36:54 -07:00

54 lines
1.7 KiB
Nix

{ lib, stdenv, fetchurl, unzip, makeWrapper }:
stdenv.mkDerivation rec {
pname = "inklecate";
version = "1.0.0";
src =
if stdenv.isLinux then
fetchurl {
url = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_linux.zip";
sha256 = "6e17db766222998ba0ae5a5da9857e34896e683b9ec42fad528c3f8bea7398ea";
name = "${pname}-${version}";
}
else if stdenv.isDarwin then
fetchurl {
url = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_mac.zip";
sha256 = "b6f4dd1f95c180637ce193dbb5fa6d59aeafe49a2121a05b7822e6cbbaa6931f";
name = "${pname}-${version}";
}
else throw "Not supported on ${stdenv.hostPlatform.system}.";
# Work around the "unpacker appears to have produced no directories"
# case that happens when the archive doesn't have a subdirectory.
setSourceRoot = "sourceRoot=$(pwd)";
nativeBuildInputs = [ unzip makeWrapper ];
unpackPhase = ''
unzip -qq -j $src -d $pname-$version
rm $pname-$version/ink-engine-runtime.dll
rm $pname-$version/ink_compiler.dll
'';
installPhase = ''
mkdir -p $out/bin/
cp $pname-$version/inklecate $out/bin/inklecate
'';
meta = with lib; {
description = "Compiler for ink, inkle's scripting language";
longDescription = ''
Inklecate is a command-line compiler for ink, inkle's open source
scripting language for writing interactive narrative
'';
homepage = "https://www.inklestudios.com/ink/";
downloadPage = "https://github.com/inkle/ink/releases";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ shreerammodi ];
};
}