summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorShreeram Modi <67710369+Shrimpram@users.noreply.github.com>2021-07-07 17:54:53 -0700
committerShreeram Modi <67710369+Shrimpram@users.noreply.github.com>2021-07-08 22:36:54 -0700
commit23a95af60f6ba0428a158d0544dbbc0b36920677 (patch)
treee0cf2ae42024bef224c150e03e7325daffcf94b9 /pkgs/development/compilers
parent529c7aff88bad753bd9711b8a4d4c7d372977427 (diff)
downloadnixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar.gz
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar.bz2
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar.lz
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar.xz
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.tar.zst
nixpkgs-23a95af60f6ba0428a158d0544dbbc0b36920677.zip
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
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/inklecate/default.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/development/compilers/inklecate/default.nix b/pkgs/development/compilers/inklecate/default.nix
new file mode 100644
index 00000000000..6ed01d9bbcf
--- /dev/null
+++ b/pkgs/development/compilers/inklecate/default.nix
@@ -0,0 +1,54 @@
+{ 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 ];
+  };
+}