diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index afecbf6f539..fcca596bc35 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9644,6 +9644,16 @@ githubId = 819413; name = "Benedict Aas"; }; + shreerammodi = { + name = "Shreeram Modi"; + email = "shreerammodi10@gmail.com"; + github = "Shrimpram"; + githubId = 67710369; + keys = [{ + longkeyid = "rsa4096/0x163B16EE76ED24CE"; + fingerprint = "EA88 EA07 26E9 6CBF 6365 3966 163B 16EE 76ED 24CE"; + }]; + }; shyim = { email = "s.sayakci@gmail.com"; github = "shyim"; 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b144a18062e..70356587f03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2881,6 +2881,8 @@ in ink = callPackage ../tools/misc/ink { }; + inklecate = callPackage ../development/compilers/inklecate {}; + interlock = callPackage ../servers/interlock {}; iotools = callPackage ../tools/misc/iotools { };