nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, stdenv
3, fetchFromGitHub
4, capnproto
5, cmake }:
6
7stdenv.mkDerivation rec {
8 pname = "capnproto";
9 version = "0.9.1";
10
11 # release tarballs are missing some ekam rules
12 src = fetchFromGitHub {
13 owner = "capnproto";
14 repo = "capnproto";
15 rev = "v${version}";
16 sha256 = "0cbiwkmd29abih8rjjm35dfkrkr8c6axbzq3fkryay6jyvpi42c5";
17 };
18
19 nativeBuildInputs = [ cmake ]
20 ++ lib.optional (!(stdenv.hostPlatform.isCompatible stdenv.buildPlatform)) capnproto;
21
22 cmakeFlags = lib.optional (!(stdenv.hostPlatform.isCompatible stdenv.buildPlatform)) "-DEXTERNAL_CAPNP";
23
24 # Upstream 77ac9154440bcc216fda1092fd5bb51da62ae09c, modified to apply to v0.9.1. Drop on update.
25 patches = lib.optional stdenv.hostPlatform.isMusl ./musl-no-fibers.patch;
26
27 meta = with lib; {
28 homepage = "https://capnproto.org/";
29 description = "Cap'n Proto cerealization protocol";
30 longDescription = ''
31 Cap’n Proto is an insanely fast data interchange format and
32 capability-based RPC system. Think JSON, except binary. Or think Protocol
33 Buffers, except faster.
34 '';
35 license = licenses.mit;
36 platforms = platforms.all;
37 maintainers = with maintainers; [ cstrahan ];
38 };
39}