summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorOrivej Desh (NixOS) <40807862+orivej-nixos@users.noreply.github.com>2019-02-19 22:20:41 +0000
committerGitHub <noreply@github.com>2019-02-19 22:20:41 +0000
commit7b25f9c8338446762ab132db6eb2866ddb7fc62d (patch)
tree1686a500e26d030fac9fa67c852486a98549eca2 /pkgs
parent446520bb9bafc85c9464f7364ff25512b5fdff99 (diff)
parent8f5afc5bb681703f678e0658c737d16bac9a5c65 (diff)
downloadnixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar.gz
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar.bz2
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar.lz
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar.xz
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.tar.zst
nixpkgs-7b25f9c8338446762ab132db6eb2866ddb7fc62d.zip
Merge pull request #55754 from orivej/aws-sdk-cpp
 aws-sdk-cpp: 1.6.52 -> 1.7.49; add aws-checksums, aws-c-common, aws-c-event-stream
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix28
-rw-r--r--pkgs/development/libraries/aws-c-event-stream/default.nix29
-rw-r--r--pkgs/development/libraries/aws-checksums/default.nix23
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix48
-rw-r--r--pkgs/top-level/all-packages.nix6
5 files changed, 103 insertions, 31 deletions
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
new file mode 100644
index 00000000000..dd200304ab6
--- /dev/null
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "aws-c-common";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "169ha105qgcvj93hf1bhlya2nlwh8g5fvypd6whfjs9k0hqddi0c";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
+    "-Wno-nullability-extension"
+    "-Wno-typedef-redefinition"
+  ];
+
+  meta = with lib; {
+    description = "AWS SDK for C common core";
+    homepage = https://github.com/awslabs/aws-c-common;
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ orivej eelco ];
+  };
+}
diff --git a/pkgs/development/libraries/aws-c-event-stream/default.nix b/pkgs/development/libraries/aws-c-event-stream/default.nix
new file mode 100644
index 00000000000..47363e12a68
--- /dev/null
+++ b/pkgs/development/libraries/aws-c-event-stream/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, aws-checksums }:
+
+stdenv.mkDerivation rec {
+  pname = "aws-c-event-stream";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0anjynfghk3inysy21wqvhxha33xsswh3lm8pr7nx7cpj6cmr37m";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ aws-c-common aws-checksums ];
+
+  cmakeFlags = [
+    "-DCMAKE_MODULE_PATH=${aws-c-common}/lib/cmake"
+  ];
+
+  meta = with lib; {
+    description = "C99 implementation of the vnd.amazon.eventstream content-type";
+    homepage = https://github.com/awslabs/aws-c-event-stream;
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ orivej eelco ];
+  };
+}
diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix
new file mode 100644
index 00000000000..0e47398b346
--- /dev/null
+++ b/pkgs/development/libraries/aws-checksums/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "aws-checksums";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1r21sfs1ik6cb8bz17w6gp6y2xa9rbjxjka0p6airb3qds094iv5";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "HW accelerated CRC32c and CRC32";
+    homepage = https://github.com/awslabs/aws-checksums;
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ orivej eelco ];
+  };
+}
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index a5517a2522d..1743ddc1c6d 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, curl, openssl, zlib
+, aws-c-common, aws-c-event-stream, aws-checksums
 , CoreAudio, AudioToolbox
 , # Allow building a limited set of APIs, e.g. ["s3" "ec2"].
   apis ? ["*"]
@@ -6,22 +7,15 @@
   customMemoryManagement ? true
 }:
 
-let
-  loaderVar =
-    if stdenv.isLinux
-      then "LD_LIBRARY_PATH"
-      else if stdenv.isDarwin
-        then "DYLD_LIBRARY_PATH"
-        else throw "Unsupported system!";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "aws-sdk-cpp-${version}";
-  version = "1.6.52";
+  version = "1.7.49";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "17hyq6rv1xl3f70p2pfkkxm86gbfimq2pwpakv1wv3xjibmppbrf";
+    sha256 = "09j1y82jvi69mj7h751wg0zlyf3n8s2zgfn5p85v4659pl4jgqmf";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
@@ -30,43 +24,35 @@ in stdenv.mkDerivation rec {
   separateDebugInfo = stdenv.isLinux;
 
   nativeBuildInputs = [ cmake curl ];
-  buildInputs = [ zlib curl openssl ]
-    ++ lib.optionals (stdenv.isDarwin &&
+
+  buildInputs = [
+    curl openssl zlib
+    aws-c-common aws-c-event-stream aws-checksums
+  ] ++ lib.optionals (stdenv.isDarwin &&
                         ((builtins.elem "text-to-speech" apis) ||
                          (builtins.elem "*" apis)))
          [ CoreAudio AudioToolbox ];
 
-  cmakeFlags =
-       lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0"
+  cmakeFlags = [
+    "-DBUILD_DEPS=OFF"
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+  ] ++ lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0"
     ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DENABLE_TESTING=OFF"
     ++ lib.optional (apis != ["*"])
       "-DBUILD_ONLY=${lib.concatStringsSep ";" apis}";
 
-  enableParallelBuilding = true;
-
-  # Behold the escaping nightmare below on loaderVar o.O
-  preBuild =
-    ''
-      # Ensure that the unit tests can find the *.so files.
-      for i in testing-resources aws-cpp-sdk-*; do
-        export ${loaderVar}=$(pwd)/$i:''${${loaderVar}}
-      done
-    '';
-
   preConfigure =
     ''
       rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
     '';
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=noexcept-type" ];
-
   __darwinAllowLocalNetworking = true;
 
-  meta = {
+  meta = with lib; {
     description = "A C++ interface for Amazon Web Services";
     homepage = https://github.com/awslabs/aws-sdk-cpp;
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-    maintainers = [ lib.maintainers.eelco ];
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ eelco orivej ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7a5de67da1c..302187297e9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9362,6 +9362,12 @@ in
     inherit (darwin.apple_sdk.frameworks) AudioUnit CoreServices;
   };
 
+  aws-c-common = callPackage ../development/libraries/aws-c-common { };
+
+  aws-c-event-stream = callPackage ../development/libraries/aws-c-event-stream { };
+
+  aws-checksums = callPackage ../development/libraries/aws-checksums { };
+
   aws-sdk-cpp = callPackage ../development/libraries/aws-sdk-cpp {
     inherit (darwin.apple_sdk.frameworks) CoreAudio AudioToolbox;
   };