nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 rustPlatform,
5 nix-update-script,
6 pkg-config,
7 openssl,
8 rdkafka,
9}:
10
11let
12 pname = "rustus";
13 version = "1.1.3";
14in
15rustPlatform.buildRustPackage {
16 inherit pname version;
17
18 src = fetchFromGitHub {
19 owner = "s3rius";
20 repo = "rustus";
21 tag = version;
22 hash = "sha256-ALnb6ICg+TZRuHayhozwJ5+imabgjBYX4W42ydhkzv0=";
23 };
24
25 cargoHash = "sha256-df92+gp/DtdHwPxJF89zKHjmVWzfrjnD8wAlrPRyyxk=";
26
27 env = {
28 OPENSSL_NO_VENDOR = 1;
29
30 # needed to dynamically link rdkafka
31 CARGO_FEATURE_DYNAMIC_LINKING = 1;
32 };
33
34 nativeBuildInputs = [
35 pkg-config
36 ];
37
38 buildInputs = [
39 openssl
40 rdkafka
41 ];
42
43 passthru.updateScript = nix-update-script { };
44
45 checkFlags = [
46 # tries to make a network access
47 "--skip=data_storage::impls::s3_storage::test::test_successfull_create_upload"
48 "--skip=data_storage::impls::s3_storage::test::test_successfull_delete"
49 "--skip=data_storage::impls::s3_storage::test::test_successfull_mime"
50 "--skip=data_storage::impls::s3_storage::test::test_successfull_upload"
51 "--skip=info_storage::impls::redis_storage::tests::deletion_success"
52 "--skip=info_storage::impls::redis_storage::tests::success"
53 "--skip=notifiers::impls::amqp_notifier::tests::success"
54 "--skip=notifiers::impls::http_notifier::tests::forwarded_header"
55 "--skip=notifiers::impls::http_notifier::tests::success_request"
56 "--skip=notifiers::impls::http_notifier::tests::timeout_request"
57 "--skip=notifiers::impls::http_notifier::tests::unknown_url"
58 "--skip=notifiers::impls::kafka_notifier::test::simple_success_on_prefix"
59 "--skip=notifiers::impls::kafka_notifier::test::simple_success_on_topic"
60 ];
61
62 meta = {
63 description = "TUS protocol implementation in Rust";
64 mainProgram = "rustus";
65 homepage = "https://s3rius.github.io/rustus/";
66 license = lib.licenses.asl20;
67 maintainers = with lib.maintainers; [ happysalada ];
68 platforms = lib.platforms.all;
69 };
70}