diff --git a/pkgs/development/tools/selene/default.nix b/pkgs/development/tools/selene/default.nix new file mode 100644 index 000000000000..810eee56cd19 --- /dev/null +++ b/pkgs/development/tools/selene/default.nix @@ -0,0 +1,40 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, robloxSupport ? true +, pkg-config +, openssl +, stdenv +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "selene"; + version = "0.14.0"; + + src = fetchFromGitHub { + owner = "kampfkarren"; + repo = pname; + rev = version; + sha256 = "0c228aakwf679wyxir0jwry3khv7phlaf77w675gn1wr4fxdg5gr"; + }; + + cargoSha256 = "sha256-5GODuqjVo3b1SzRgXVBIKec2tSS335EAUAmRlcpbClE="; + + nativeBuildInputs = lib.optional robloxSupport pkg-config; + + buildInputs = lib.optional robloxSupport openssl + ++ lib.optional (robloxSupport && stdenv.isDarwin) Security; + + cargoBuildFlags = lib.optional (!robloxSupport) "--no-default-features"; + + cargoTestFlags = cargoBuildFlags; + + meta = with lib; { + description = "A blazing-fast modern Lua linter written in Rust"; + homepage = "https://github.com/kampfkarren/selene"; + changelog = "https://github.com/kampfkarren/selene/blob/${version}/CHANGELOG.md"; + license = licenses.mpl20; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 81b6e6b59bc5..a0faf5bef4b6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14783,6 +14783,10 @@ with pkgs; segger-ozone = callPackage ../development/tools/misc/segger-ozone { }; + selene = callPackage ../development/tools/selene { + inherit (darwin.apple_sdk.frameworks) Security; + }; + shadowenv = callPackage ../tools/misc/shadowenv { inherit (darwin.apple_sdk.frameworks) Security; };