nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 aws-c-auth,
6 aws-c-cal,
7 aws-c-common,
8 aws-c-compression,
9 aws-c-event-stream,
10 aws-c-http,
11 aws-c-io,
12 aws-c-mqtt,
13 aws-c-s3,
14 aws-checksums,
15 cmake,
16 s2n-tls,
17 nix,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "aws-crt-cpp";
22 # nixpkgs-update: no auto update
23 version = "0.34.3";
24
25 outputs = [
26 "out"
27 "dev"
28 ];
29
30 src = fetchFromGitHub {
31 owner = "awslabs";
32 repo = "aws-crt-cpp";
33 rev = "v${finalAttrs.version}";
34 sha256 = "sha256-jKmIsWAzxnfsNgHavR6crhIQXVJq/PbQgaj4KVGrMP0=";
35 };
36
37 postPatch = ''
38 substituteInPlace CMakeLists.txt \
39 --replace-fail "$<INSTALL_INTERFACE:include>" "$<INSTALL_INTERFACE:$dev/include>" \
40 --replace-fail '-Werror' ""
41 '';
42
43 nativeBuildInputs = [
44 cmake
45 ];
46
47 propagatedBuildInputs = [
48 aws-c-auth
49 aws-c-cal
50 aws-c-common
51 aws-c-compression
52 aws-c-event-stream
53 aws-c-http
54 aws-c-io
55 aws-c-mqtt
56 aws-c-s3
57 aws-checksums
58 s2n-tls
59 ];
60
61 cmakeFlags = [
62 "-DBUILD_DEPS=OFF"
63 "-DBUILD_SHARED_LIBS=ON"
64 ];
65
66 postInstall = ''
67 # Prevent dependency cycle.
68 moveToOutput lib/aws-crt-cpp/cmake "$dev"
69 '';
70
71 passthru.tests = {
72 inherit nix;
73 };
74
75 meta = {
76 description = "C++ wrapper around the aws-c-* libraries";
77 homepage = "https://github.com/awslabs/aws-crt-cpp";
78 license = lib.licenses.asl20;
79 platforms = lib.platforms.unix;
80 maintainers = with lib.maintainers; [ r-burns ];
81 };
82})