{ lib, rustPlatform, fetchFromGitHub, git, pkg-config, openssl, erlang_27, nodejs, bun, deno, versionCheckHook, nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "gleam"; version = "1.12.0"; src = fetchFromGitHub { owner = "gleam-lang"; repo = "gleam"; tag = "v${finalAttrs.version}"; hash = "sha256-Qjl+I09tnBbGc771SVJVb6fzAZ2tVOnBNhGfrIUh824="; }; cargoHash = "sha256-Ya0glVECB3cb9kgguuH4nY0ClK5NPH1mKAX9INDLzx4="; nativeBuildInputs = [ pkg-config erlang_27 ]; buildInputs = [ openssl ]; nativeCheckInputs = [ # used by several tests git # js runtimes used for integration tests nodejs bun deno ]; checkFlags = [ # Makes a network request "--skip=tests::echo::echo_dict" ]; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; passthru.updateScript = nix-update-script { }; meta = { description = "Statically typed language for the Erlang VM"; mainProgram = "gleam"; homepage = "https://gleam.run/"; changelog = "https://github.com/gleam-lang/gleam/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ philtaken llakala ]; teams = [ lib.teams.beam ]; }; })