1{ lib
2, stdenv
3, fetchCrate
4, rustPlatform
5, pkg-config
6, rustfmt
7, cacert
8, openssl
9, darwin
10, testers
11, dioxus-cli
12}:
13
14rustPlatform.buildRustPackage rec {
15 pname = "dioxus-cli";
16 version = "0.5.4";
17
18 src = fetchCrate {
19 inherit pname version;
20 hash = "sha256-rfftCJW3MRDg7a2WUDXZWGx1lYmOkqVRcJTEGMObars=";
21 };
22
23 cargoHash = "sha256-cpgjs8ZxpJrnA5UtoVoP97VFfmQ7CS1H74D19x0bzAA=";
24
25 nativeBuildInputs = [ pkg-config cacert ];
26 buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
27 darwin.apple_sdk.frameworks.CoreServices
28 darwin.apple_sdk.frameworks.SystemConfiguration
29 ];
30
31 OPENSSL_NO_VENDOR = 1;
32
33 nativeCheckInputs = [ rustfmt ];
34
35 checkFlags = [
36 # requires network access
37 "--skip=server::web::proxy::test::add_proxy"
38 "--skip=server::web::proxy::test::add_proxy_trailing_slash"
39 ];
40
41 passthru.tests.version = testers.testVersion {
42 package = dioxus-cli;
43 command = "${meta.mainProgram} --version";
44 inherit version;
45 };
46
47 meta = with lib; {
48 homepage = "https://dioxuslabs.com";
49 description = "CLI tool for developing, testing, and publishing Dioxus apps";
50 license = with licenses; [ mit asl20 ];
51 maintainers = with maintainers; [ xanderio cathalmullan ];
52 mainProgram = "dx";
53 };
54}