summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2018-01-08 21:27:12 -0500
committerShea Levy <shea@shealevy.com>2018-01-08 21:27:32 -0500
commit6d3ff29d038c05eab7c6989f88906912489e2ad9 (patch)
treef28112740d0b6b04ae5ed6d7fea972947411f45d /pkgs
parent9d7883374c83c0d3c0d54a0bd5b1b8fd35847431 (diff)
downloadnixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar.gz
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar.bz2
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar.lz
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar.xz
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.tar.zst
nixpkgs-6d3ff29d038c05eab7c6989f88906912489e2ad9.zip
Add grpc.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/c-ares/default.nix29
-rw-r--r--pkgs/development/libraries/c-ares/release.patch19
-rw-r--r--pkgs/development/libraries/grpc/default.nix19
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 67 insertions, 2 deletions
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 14ff7a5f16c..6b3b69f9997 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, writeTextDir }:
 
+let self =
 stdenv.mkDerivation rec {
   name = "c-ares-1.13.0";
 
@@ -14,4 +15,28 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.all;
   };
-}
+
+  # Adapted from running a cmake build
+  passthru.cmake-config = writeTextDir "c-ares-config.cmake"
+    ''
+      set(c-ares_INCLUDE_DIR "${self}/include")
+
+      set(c-ares_LIBRARY c-ares::cares)
+
+      add_library(c-ares::cares SHARED IMPORTED)
+
+      set_target_properties(c-ares::cares PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${self}/include"
+        INTERFACE_LINK_LIBRARIES "nsl;rt"
+      )
+      set_property(TARGET c-ares::cares APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(c-ares::cares PROPERTIES
+        IMPORTED_LOCATION_RELEASE "${self}/lib/libcares.so.2.2.0"
+        IMPORTED_SONAME_RELEASE "libcares.so.2"
+        )
+      add_library(c-ares::cares_shared INTERFACE IMPORTED)
+      set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
+      set(c-ares_SHARED_LIBRARY c-ares::cares_shared)
+    '';
+
+}; in self
diff --git a/pkgs/development/libraries/c-ares/release.patch b/pkgs/development/libraries/c-ares/release.patch
new file mode 100644
index 00000000000..e745648062a
--- /dev/null
+++ b/pkgs/development/libraries/c-ares/release.patch
@@ -0,0 +1,19 @@
+diff -aur c-ares-cares-1_13_0/ares_version.h c-ares-1.13.0/ares_version.h
+--- c-ares-cares-1_13_0/ares_version.h	2017-06-20 02:00:21.000000000 -0400
++++ c-ares-1.13.0/ares_version.h	2017-06-20 02:03:54.000000000 -0400
+@@ -6,12 +6,12 @@
+ #define ARES_COPYRIGHT "2004 - 2016 Daniel Stenberg, <daniel@haxx.se>."
+ 
+ #define ARES_VERSION_MAJOR 1
+-#define ARES_VERSION_MINOR 12
+-#define ARES_VERSION_PATCH 1
++#define ARES_VERSION_MINOR 13
++#define ARES_VERSION_PATCH 0
+ #define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\
+                        (ARES_VERSION_MINOR<<8)|\
+                        (ARES_VERSION_PATCH))
+-#define ARES_VERSION_STR "1.12.1-DEV"
++#define ARES_VERSION_STR "1.13.0"
+ 
+ #if (ARES_VERSION >= 0x010700)
+ #  define CARES_HAVE_ARES_LIBRARY_INIT 1
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
new file mode 100644
index 00000000000..4e6fe783dc2
--- /dev/null
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
+
+stdenv.mkDerivation rec
+  { name = "grpc-1.8.3";
+    src = fetchurl
+      { url = "https://github.com/grpc/grpc/archive/v1.8.3.tar.gz";
+        sha256 = "14ichjllvhkbv8sjh9j5njnagpqw2sl12n41ga90jnj7qvfwwjy1";
+      };
+    nativeBuildInputs = [ cmake pkgconfig ];
+    buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
+    cmakeFlags =
+      [ "-DgRPC_ZLIB_PROVIDER=package"
+        "-DgRPC_CARES_PROVIDER=package"
+        "-DgRPC_SSL_PROVIDER=package"
+        "-DgRPC_PROTOBUF_PROVIDER=package"
+        "-DgRPC_GFLAGS_PROVIDER=package"
+      ];
+    enableParallelBuilds = true;
+  }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7f1653178fd..a25521ce537 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8664,6 +8664,8 @@ with pkgs;
 
   grib-api = callPackage ../development/libraries/grib-api { };
 
+  grpc = callPackage ../development/libraries/grpc { };
+
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
     callPackage = pkgs.newScope (pkgs // { libav = pkgs.ffmpeg; });
   });