1{ lib
2, rustPlatform
3, fetchFromGitHub
4, pkg-config
5, oniguruma
6, openssl
7, stdenv
8, darwin
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "microbin";
13 version = "2.0.4";
14
15 src = fetchFromGitHub {
16 owner = "szabodanika";
17 repo = "microbin";
18 rev = "v${version}";
19 hash = "sha256-fsRpqSYDsuV0M6Xar2GVoyTgCPT39dcKJ6eW4YXCkQ0=";
20 };
21
22 cargoHash = "sha256-7GSgyh2aJ2f8pozoh/0Yxzbk8Wg3JYuqSy/34ywAc2s=";
23
24 nativeBuildInputs = [
25 pkg-config
26 ];
27
28 buildInputs = [
29 oniguruma
30 openssl
31 ] ++ lib.optionals stdenv.isDarwin [
32 darwin.apple_sdk.frameworks.Security
33 ];
34
35 env = {
36 OPENSSL_NO_VENDOR = true;
37 RUSTONIG_SYSTEM_LIBONIG = true;
38 };
39
40 meta = with lib; {
41 description = "A tiny, self-contained, configurable paste bin and URL shortener written in Rust";
42 homepage = "https://github.com/szabodanika/microbin";
43 changelog = "https://github.com/szabodanika/microbin/releases/tag/v${version}";
44 license = licenses.bsd3;
45 maintainers = with maintainers; [ dit7ya figsoda ];
46 };
47}