nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 perl,
6 openssl,
7 lmdb,
8 flatbuffers,
9 libuv,
10 libnotify,
11 secp256k1,
12 zlib-ng,
13 zstd,
14}:
15stdenv.mkDerivation {
16 pname = "strfry";
17 version = "1.0.4";
18 src = fetchFromGitHub {
19 owner = "hoytech";
20 repo = "strfry";
21 tag = "1.0.4";
22 hash = "sha256-2+kPUgyb9ZtC51EK66d3SX2zyqnS6lju2jkIhakcudg";
23 fetchSubmodules = true;
24 };
25
26 nativeBuildInputs = [
27 perl
28 ];
29
30 buildInputs = [
31 openssl # libssl-dev
32 lmdb # liblmdb-dev
33 flatbuffers # libflatbuffers-dev
34 libuv # libuv1-dev
35 libnotify # libnotify-dev
36 secp256k1 # libsecp256k1-dev
37 zlib-ng # alternative to zlib1g-dev
38 zstd # libzstd-dev
39 ];
40
41 postPatch = ''
42 patchShebangs golpe/
43 '';
44
45 buildPhase = ''
46 runHook preBuild
47 make -j$NIX_BUILD_CORES
48 runHook postBuild
49 '';
50
51 installPhase = ''
52 runHook preInstall
53 mkdir -p $out/bin
54 cp ./strfry $out/bin/
55 runHook postInstall
56 '';
57
58 meta = {
59 description = "Nostr relay implementation in C++";
60 homepage = "https://github.com/hoytech/strfry";
61 mainProgram = "strfry";
62 license = lib.licenses.mit;
63 maintainers = with lib.maintainers; [ felixzieger ];
64 platforms = lib.platforms.linux;
65 };
66}