about summary refs log tree commit diff
path: root/pkgs/development/libraries/czmqpp
diff options
context:
space:
mode:
authorChris Martin <ch.martin@gmail.com>2016-09-15 17:23:45 -0400
committerChris Martin <ch.martin@gmail.com>2016-09-17 12:00:47 -0400
commit295bb3adf73ce721cd5b0a3ba0189731167c50b6 (patch)
tree679d76b432fd18c204f5ac1cadbd0611d42fc81b /pkgs/development/libraries/czmqpp
parent1a51047c3cd26b438bf6fc71cdf433d09837b275 (diff)
downloadnixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar.gz
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar.bz2
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar.lz
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar.xz
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.tar.zst
nixlib-295bb3adf73ce721cd5b0a3ba0189731167c50b6.zip
czmqpp: init at 1.2.0
Diffstat (limited to 'pkgs/development/libraries/czmqpp')
-rw-r--r--pkgs/development/libraries/czmqpp/default.nix28
-rw-r--r--pkgs/development/libraries/czmqpp/socket.patch17
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/libraries/czmqpp/default.nix b/pkgs/development/libraries/czmqpp/default.nix
new file mode 100644
index 000000000000..672a89cc3c02
--- /dev/null
+++ b/pkgs/development/libraries/czmqpp/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, czmq }:
+
+stdenv.mkDerivation rec {
+  name = "czmqpp-${version}";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "zeromq";
+    repo = "czmqpp";
+    rev = "v${version}";
+    sha256 = "0z8lwq53yk4h7pgibicx3q9idz15qb95r0pjpz0j5vql6qh46rja";
+  };
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ chris-martin ];
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  propagatedBuildInputs = [ czmq ];
+
+  # https://github.com/zeromq/czmqpp/issues/42
+  patches = [ ./socket.patch ];
+}
diff --git a/pkgs/development/libraries/czmqpp/socket.patch b/pkgs/development/libraries/czmqpp/socket.patch
new file mode 100644
index 000000000000..0464bcf77971
--- /dev/null
+++ b/pkgs/development/libraries/czmqpp/socket.patch
@@ -0,0 +1,17 @@
+--- /src/socket.cpp
++++ /src/socket.cpp
+@@ -60,12 +60,12 @@
+ int socket::bind(const std::string& address)
+ {
+     // format-security: format not a string literal and no format arguments.
+-    return zsocket_bind(self_, address.c_str());
++    return zsocket_bind(self_, "%s", address.c_str());
+ }
+ int socket::connect(const std::string& address)
+ {
+     // format-security: format not a string literal and no format arguments.
+-    return zsocket_connect(self_, address.c_str());
++    return zsocket_connect(self_, "%s", address.c_str());
+ }
+
+ bool operator==(const socket& sock_a, const socket& sock_b)