1{
2 lib,
3 rustPlatform,
4 fetchCrate,
5 pkg-config,
6 libssh2,
7 openssl,
8 zlib,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "cargo-workspaces";
13 version = "0.4.0";
14
15 src = fetchCrate {
16 inherit pname version;
17 hash = "sha256-kBjiRPEWHKhX6vTB48TjKYhlpaiieNzE1l0PjaLTL4k=";
18 };
19
20 cargoHash = "sha256-vHLc738wFunyUDu6/B5foTE2/wExd2Yxcl638iqOWdw=";
21
22 nativeBuildInputs = [
23 pkg-config
24 ];
25
26 buildInputs = [
27 libssh2
28 openssl
29 zlib
30 ];
31
32 env = {
33 LIBSSH2_SYS_USE_PKG_CONFIG = true;
34 };
35
36 meta = {
37 description = "Tool for managing cargo workspaces and their crates, inspired by lerna";
38 longDescription = ''
39 A tool that optimizes the workflow around cargo workspaces with
40 git and cargo by providing utilities to version, publish, execute
41 commands and more.
42 '';
43 homepage = "https://github.com/pksunkara/cargo-workspaces";
44 changelog = "https://github.com/pksunkara/cargo-workspaces/blob/v${version}/CHANGELOG.md";
45 license = lib.licenses.mit;
46 maintainers = with lib.maintainers; [
47 figsoda
48 macalinao
49 matthiasbeyer
50 ];
51 mainProgram = "cargo-workspaces";
52 };
53}