nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 rustPlatform,
5 fetchFromGitHub,
6 pkg-config,
7 openssl,
8 versionCheckHook,
9 nix-update-script,
10}:
11rustPlatform.buildRustPackage (finalAttrs: {
12 pname = "rojo";
13 version = "7.6.1";
14
15 src = fetchFromGitHub {
16 owner = "rojo-rbx";
17 repo = "rojo";
18 tag = "v${finalAttrs.version}";
19 hash = "sha256-h8gd91Nc35jTQ4u9YyQGOB+rkgRAos8lsjX+bWzvpDs=";
20 fetchSubmodules = true;
21 };
22
23 cargoHash = "sha256-zl1L8q1AJwVn0o2BazJ30FyBCMq5F5nAQ0FGuEAPGms=";
24
25 nativeBuildInputs = [ pkg-config ];
26 buildInputs = [ openssl ];
27
28 # reqwest's native-tls-vendored feature flag uses vendored openssl. this disables that
29 env.OPENSSL_NO_VENDOR = true;
30
31 # tests flaky on darwin on hydra
32 doCheck = !stdenv.hostPlatform.isDarwin;
33
34 doInstallCheck = true;
35 nativeInstallCheckInputs = [ versionCheckHook ];
36 versionCheckProgram = "${placeholder "out"}/bin/rojo";
37
38 passthru.updateScript = nix-update-script { };
39
40 meta = {
41 changelog = "https://github.com/rojo-rbx/rojo/blob/v${finalAttrs.version}/CHANGELOG.md";
42 description = "Project management tool for Roblox";
43 downloadPage = "https://github.com/rojo-rbx/rojo/releases/tag/v${finalAttrs.version}";
44 homepage = "https://rojo.space";
45 license = lib.licenses.mpl20;
46 longDescription = ''
47 Tool designed to enable Roblox developers to use professional-grade software engineering tools.
48 '';
49 mainProgram = "rojo";
50 maintainers = with lib.maintainers; [ HeitorAugustoLN ];
51 };
52})