1{ lib
2, rustPlatform
3, fetchFromGitHub
4, robloxSupport ? true
5, pkg-config
6, openssl
7, stdenv
8, darwin
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "selene";
13 version = "0.25.0";
14
15 src = fetchFromGitHub {
16 owner = "kampfkarren";
17 repo = pname;
18 rev = version;
19 sha256 = "sha256-aKU+1eoLm/h5Rj/vAZOyAnyl5/TpStL5g8PPdYCJ8o0=";
20 };
21
22 cargoSha256 = "sha256-y2BoV59oJPMBf9rUgMhHu87teurwPSNowRbuPfXubGA=";
23
24 nativeBuildInputs = lib.optionals robloxSupport [
25 pkg-config
26 ];
27
28 buildInputs = lib.optionals robloxSupport [
29 openssl
30 ] ++ lib.optionals (robloxSupport && stdenv.isDarwin) [
31 darwin.apple_sdk.frameworks.Security
32 ];
33
34 buildNoDefaultFeatures = !robloxSupport;
35
36 meta = with lib; {
37 description = "A blazing-fast modern Lua linter written in Rust";
38 homepage = "https://github.com/kampfkarren/selene";
39 changelog = "https://github.com/kampfkarren/selene/blob/${version}/CHANGELOG.md";
40 license = licenses.mpl20;
41 maintainers = with maintainers; [ figsoda ];
42 };
43}