at 22.05-pre 54 lines 1.8 kB view raw
1{ lib, stdenv, fetchurl, unzip, makeWrapper }: 2 3stdenv.mkDerivation rec { 4 pname = "inklecate"; 5 version = "1.0.0"; 6 7 src = 8 if stdenv.isLinux then 9 fetchurl { 10 url = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_linux.zip"; 11 sha256 = "6e17db766222998ba0ae5a5da9857e34896e683b9ec42fad528c3f8bea7398ea"; 12 name = "${pname}-${version}"; 13 } 14 else if stdenv.isDarwin then 15 fetchurl { 16 url = "https://github.com/inkle/ink/releases/download/v${version}/inklecate_mac.zip"; 17 sha256 = "b6f4dd1f95c180637ce193dbb5fa6d59aeafe49a2121a05b7822e6cbbaa6931f"; 18 name = "${pname}-${version}"; 19 } 20 else throw "Not supported on ${stdenv.hostPlatform.system}."; 21 22 # Work around the "unpacker appears to have produced no directories" 23 # case that happens when the archive doesn't have a subdirectory. 24 setSourceRoot = "sourceRoot=$(pwd)"; 25 26 nativeBuildInputs = [ unzip makeWrapper ]; 27 28 unpackPhase = '' 29 unzip -qq -j $src -d $pname-$version 30 31 rm $pname-$version/ink-engine-runtime.dll 32 rm $pname-$version/ink_compiler.dll 33 ''; 34 35 installPhase = '' 36 mkdir -p $out/bin/ 37 38 cp $pname-$version/inklecate $out/bin/inklecate 39 ''; 40 41 42 meta = with lib; { 43 description = "Compiler for ink, inkle's scripting language"; 44 longDescription = '' 45 Inklecate is a command-line compiler for ink, inkle's open source 46 scripting language for writing interactive narrative 47 ''; 48 homepage = "https://www.inklestudios.com/ink/"; 49 downloadPage = "https://github.com/inkle/ink/releases"; 50 license = licenses.mit; 51 platforms = platforms.unix; 52 maintainers = with maintainers; [ shreerammodi ]; 53 }; 54}