1{ lib
2, rustPlatform
3, fetchFromGitHub
4, pkg-config
5, bzip2
6, openssl
7, zstd
8, stdenv
9, darwin
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "rtz";
14 version = "0.5.3";
15
16 src = fetchFromGitHub {
17 owner = "twitchax";
18 repo = "rtz";
19 rev = "v${version}";
20 hash = "sha256-cc5yGZ4zHB9V//ywvKv9qgKGDpKotzkJKbfwv1rK2tM=";
21 };
22
23 cargoLock = {
24 lockFile = ./Cargo.lock;
25 outputHashes = {
26 "bincode-2.0.0-rc.3" = "sha256-YCoTnIKqRObeyfTanjptTYeD9U2b2c+d4CJFWIiGckI=";
27 };
28 };
29
30 nativeBuildInputs = [
31 pkg-config
32 ];
33
34 buildInputs = [
35 bzip2
36 openssl
37 zstd
38 ] ++ lib.optionals stdenv.isDarwin [
39 darwin.apple_sdk.frameworks.Security
40 ];
41
42 buildFeatures = [ "web" ];
43
44 env = {
45 # requires nightly features
46 RUSTC_BOOTSTRAP = true;
47 };
48
49 meta = with lib; {
50 description = "A tool to easily work with timezone lookups via a binary, a library, or a server";
51 homepage = "https://github.com/twitchax/rtz";
52 changelog = "https://github.com/twitchax/rtz/releases/tag/${src.rev}";
53 license = licenses.mit;
54 maintainers = with maintainers; [ figsoda ];
55 };
56}