nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 dbus,
5 fetchFromGitHub,
6 openssl,
7 pkg-config,
8 rustPlatform,
9 samba,
10 versionCheckHook,
11 nix-update-script,
12}:
13
14rustPlatform.buildRustPackage rec {
15 pname = "termscp";
16 version = "0.19.1";
17
18 src = fetchFromGitHub {
19 owner = "veeso";
20 repo = "termscp";
21 tag = "v${version}";
22 hash = "sha256-/smeK7qCw1EgADc7bgC1xUep3hPj7gOddanbaTjbGgs=";
23 };
24
25 cargoHash = "sha256-zVkShePjUzagP8MAG5oq6hqm+lHxH++ufXkmetN+jvA=";
26
27 nativeBuildInputs = [
28 pkg-config
29 ];
30
31 buildInputs = [
32 dbus
33 openssl
34 samba
35 ];
36
37 # Needed to get openssl-sys to use pkg-config.
38 env.OPENSSL_NO_VENDOR = 1;
39
40 nativeInstallCheckInputs = [
41 versionCheckHook
42 ];
43 doInstallCheck = true;
44
45 checkFeatures = [ "isolated-tests" ];
46 checkFlags = [
47 # requires networking
48 "--skip=cli::remote::test::test_should_make_remote_args_from_one_bookmark_and_one_remote_with_local_dir"
49 "--skip=cli::remote::test::test_should_make_remote_args_from_two_bookmarks_and_local_dir"
50 "--skip=cli::remote::test::test_should_make_remote_args_from_two_remotes_and_local_dir"
51 "--skip=system::auto_update::test::test_should_check_whether_github_api_is_reachable"
52 "--skip=system::environment::tests::test_system_environment_get_config_dir_err"
53 ]
54 ++ lib.optionals stdenvNoCC.hostPlatform.isDarwin [
55 "--skip=system::watcher::test::should_poll_file_removed"
56 "--skip=system::watcher::test::should_poll_file_update"
57 "--skip=system::watcher::test::should_poll_nothing"
58 ];
59
60 passthru = {
61 updateScript = nix-update-script { };
62 };
63
64 meta = {
65 changelog = "https://github.com/veeso/termscp/blob/v${version}/CHANGELOG.md";
66 description = "Feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB";
67 homepage = "https://github.com/veeso/termscp";
68 license = lib.licenses.mit;
69 mainProgram = "termscp";
70 maintainers = with lib.maintainers; [
71 fab
72 gepbird
73 ];
74 platforms = with lib.platforms; linux ++ darwin;
75 };
76}