diff options
Diffstat (limited to 'pkgs/development/compilers/inklecate/default.nix')
-rw-r--r-- | pkgs/development/compilers/inklecate/default.nix | 71 |
1 files changed, 30 insertions, 41 deletions
diff --git a/pkgs/development/compilers/inklecate/default.nix b/pkgs/development/compilers/inklecate/default.nix index 6ed01d9bbcf63..32b91f5ddfecc 100644 --- a/pkgs/development/compilers/inklecate/default.nix +++ b/pkgs/development/compilers/inklecate/default.nix @@ -1,54 +1,43 @@ -{ lib, stdenv, fetchurl, unzip, makeWrapper }: - -stdenv.mkDerivation rec { +{ lib +, stdenv +, autoPatchelfHook +, buildDotnetModule +, dotnetCorePackages +, fetchFromGitHub +}: + +buildDotnetModule 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 - ''; + src = fetchFromGitHub { + owner = "inkle"; + repo = "ink"; + rev = "v${version}"; + sha256 = "00lagmwsbxap5mgnw4gndpavmv3xsgincdaq1zvw7fkc3vn3pxqc"; + }; - installPhase = '' - mkdir -p $out/bin/ + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ stdenv.cc.cc.lib ]; - cp $pname-$version/inklecate $out/bin/inklecate - ''; + projectFile = "inklecate/inklecate.csproj"; + nugetDeps = if stdenv.isDarwin then ./deps-darwin.nix else ./deps-linux.nix; + executables = [ "inklecate" ]; + dotnet-runtime = dotnetCorePackages.runtime_3_1; + dotnet-sdk = dotnetCorePackages.sdk_6_0; meta = with lib; { - description = "Compiler for ink, inkle's scripting language"; + 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 ]; + ''; + homepage = "https://www.inklestudios.com/ink/"; + downloadPage = "https://github.com/inkle/ink/"; + license = licenses.mit; + platforms = platforms.unix; + badPlatforms = platforms.aarch64; + maintainers = with maintainers; [ shreerammodi ]; }; } |