nixpkgs/pkgs/development/tools/rojo/default.nix
wackbyte f32a290beb
rojo: 7.2.1 -> 7.4.0
enable OPENSSL_NO_VENDOR
2024-01-16 19:01:10 -05:00

55 lines
1.3 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, pkg-config
, openssl
, darwin
}:
let
inherit (darwin.apple_sdk.frameworks) CoreServices;
in
rustPlatform.buildRustPackage rec {
pname = "rojo";
version = "7.4.0";
src = fetchFromGitHub {
owner = "rojo-rbx";
repo = "rojo";
rev = "v${version}";
sha256 = "sha256-Eh1G0jX9KXVlMZLl8whxULywadblWml232qvcq4JLJ4=";
fetchSubmodules = true;
};
cargoSha256 = "sha256-aKfgylY9aspL1JpdYa6hOy/6lQoqO54OhZWqSlMPZ8o=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
] ++ lib.optionals stdenv.isDarwin [
CoreServices
];
# reqwest's native-tls-vendored feature flag uses vendored openssl. this disables that
OPENSSL_NO_VENDOR = "1";
# tests flaky on darwin on hydra
doCheck = !stdenv.isDarwin;
meta = with lib; {
description = "Project management tool for Roblox";
longDescription = ''
Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.
'';
homepage = "https://rojo.space";
downloadPage = "https://github.com/rojo-rbx/rojo/releases/tag/v${version}";
changelog = "https://github.com/rojo-rbx/rojo/raw/v${version}/CHANGELOG.md";
license = licenses.mpl20;
maintainers = with maintainers; [ wackbyte ];
};
}