summaryrefslogtreecommitdiff
path: root/net-libs/zeromq
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/zeromq')
-rw-r--r--net-libs/zeromq/Manifest25
-rw-r--r--net-libs/zeromq/files/zeromq-3.2.3-unused-variable.patch105
-rw-r--r--net-libs/zeromq/files/zeromq-4.2.0-dl-backport.patch25
-rw-r--r--net-libs/zeromq/files/zeromq-4.2.1-disable-experimental-zmq_poll-implementation.patch35
-rw-r--r--net-libs/zeromq/files/zeromq-4.2.2-optional-libunwind.patch70
-rw-r--r--net-libs/zeromq/metadata.xml39
-rw-r--r--net-libs/zeromq/zeromq-2.2.0.ebuild51
-rw-r--r--net-libs/zeromq/zeromq-3.2.3.ebuild61
-rw-r--r--net-libs/zeromq/zeromq-3.2.5.ebuild60
-rw-r--r--net-libs/zeromq/zeromq-4.1.1.ebuild49
-rw-r--r--net-libs/zeromq/zeromq-4.1.6.ebuild55
-rw-r--r--net-libs/zeromq/zeromq-4.2.0-r1.ebuild59
-rw-r--r--net-libs/zeromq/zeromq-4.2.1.ebuild55
-rw-r--r--net-libs/zeromq/zeromq-4.2.2-r1.ebuild57
-rw-r--r--net-libs/zeromq/zeromq-4.2.2-r2.ebuild62
-rw-r--r--net-libs/zeromq/zeromq-4.2.2.ebuild55
16 files changed, 863 insertions, 0 deletions
diff --git a/net-libs/zeromq/Manifest b/net-libs/zeromq/Manifest
new file mode 100644
index 000000000000..14ed588e44ef
--- /dev/null
+++ b/net-libs/zeromq/Manifest
@@ -0,0 +1,25 @@
+AUX zeromq-3.2.3-unused-variable.patch 4012 SHA256 f80558d4bd5557128d2ebb44d075f4e32925fbcc5a726498184b0fa2721d672f SHA512 c54ee2ff1d11c33c734b7696a3fa98be8e0a5025678ac31599c652a4f0e2b507f41de3aae8d6808086bbe72fd0d485945ed2b822f984c2053f1f6f69b62a7b1f WHIRLPOOL 56113c224b01d7f300e1c6a1cb4bec2d297a3a285fe5ee3849c1f1cc82a984b8170869c67c1979a575042412e26675f8d5bfbbb4f531411d6243fc9b81309e95
+AUX zeromq-4.2.0-dl-backport.patch 897 SHA256 b58ecf12538fdcfed1dbf83705417b4b30a803c24be521c50f337183524e35f6 SHA512 db7ef6485040e158aabd2e5f5c49fbc02ba918415b3cd670baf7287a35ec67a8dd4d3509c30f7a00c88582e544f3cef886f99ecf218656cc8c3cd285fb221256 WHIRLPOOL 766447f152a7eb488ce853e3d7b7206bbddf8160e076a5d9e94d0248d9f24b4e6e378660717649cd65333f18d5ba5a44b6034bd9b0403e27b1458e53cde5a9ab
+AUX zeromq-4.2.1-disable-experimental-zmq_poll-implementation.patch 1317 SHA256 3b635156f7d54abb24a8002f5f8209f798145df7ad115b0c2b4cc78d6bd5ec10 SHA512 d75375a201e98be533d04cd29997cf28e81d3af958fad91acf5e8d9284c7b3d3d7d7b6a593fc752f6b50048c21d1fb9a7fd99d449f155e509fef9d35260f7188 WHIRLPOOL 7e4f999540a516696ec65a160768029972715fc7b3c1f3c3369b5173adce2309abd18fb849734df1bfa4bb37ae32ee91391ad61f9860cdd81c0da82987aa2751
+AUX zeromq-4.2.2-optional-libunwind.patch 2246 SHA256 40f53419900f625def934ce4fb9eaa7d105c07c867ce14c2e1d1d9f16e4c5730 SHA512 275175d2ed21654a224b55b7508dbee9e362929fa31fc33e8c20f303f6280a8416275143896e3541492b8d6187a559c805a38b31eae5ac14083905a50d5b8bdc WHIRLPOOL 07cc8b30b4c3614e071f7e8965df6d4a946c14971b90b082b360e4674ae93829cb30caa4456942f8c43994e9fe53ca4d3b3db65e6fef0ff54ddae992e322489d
+DIST zeromq-2.2.0.tar.gz 1899104 SHA256 6e2f4183e5259eeb67025b00116d900491fb71581e8e085373b51c3bc9571ae1 SHA512 fb3cf421b2dc48c31956b3e3ee4ab6ebc743deec3bf626c2238a1996c8c51be87260bd6aa662793a1f0c34dcda9b3146763777bb162dfad6fec4ca7acc403b2e WHIRLPOOL b35a6f0cdcff34ec188c989354fb53ee44f22ebb8d830f904447b4fa32ddd17de157998c2733a42ff0a6c1355f0ab2e0639e7666c7e983839e1dbde2188dcef5
+DIST zeromq-3.2.3.tar.gz 2072758 SHA256 e134c1aaf829dd77bca9dc0fa199ba31095a581bd0d3dda5fc59523b9f401238 SHA512 34ffb6aa645f62bd1158a8f2888bf92929ccf90917a6c50ed51ed1240732f498522e164d1536f26480c87ad5457fe614a93bf0e15f2f89b0b168e64a30de68ca WHIRLPOOL 14ba025abe6db59d6e8d1dd9df23f88e0171721bb046b9e2cf0cd7a5a6e9034980808d346fe10e755e367302cfbb670912576071345233148711815237fa176e
+DIST zeromq-3.2.5.tar.gz 2082960 SHA256 09653e56a466683edb2f87ee025c4de55b8740df69481b9d7da98748f0c92124 SHA512 3682204e5a47824d149968e62fbf9768134370e4f7debbbf8f2bfa24bdd0a781e50c4a9b4231af8a0c4bab61839169100525a91472448ef180a9672342e10a3f WHIRLPOOL a8afa70760fa1fa9382f4694beabfe50f5c8098b1f81d5c62c926cd3073fd25946f6b8d1236e903e6644a9fff783116e131f1f87a5b92d16a6e91e05bd7f6e75
+DIST zeromq-4.1.1.tar.gz 1383196 SHA256 43d61e5706b43946aad4a661400627bcde9c63cc25816d4749c67b64c3dab8db SHA512 6f626c89e573900d3b094ea6058693dee290eb9e4039a8a03d61d41b1d8976ed5596027ca76a43f371dbf86820edfbd56a84ecfab6864adfeee73035df7b5353 WHIRLPOOL b72f9118a0422bb2a6cc99e490085715739e7438fe88fb556b85e6da70a995c92ad0cdde296e02e31c02979458ad4bb6962ff0acd4f5642273659c29b43892e9
+DIST zeromq-4.1.6.tar.gz 799771 SHA256 02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a SHA512 c04a6bb7a719687d8e8e5e8a103f93ab75ead3fcd3516e6089959e4f02cff7c18e9d7a8696af4245d434b45e6aa6e2ca8f73d98db058df621bca3def97bf7af1 WHIRLPOOL 5c266d2f257584a606f7ec1d4d00a5c2d7a636814f33ce2a1bfd19a4ca650c5fa86527d70948bb4e04b20bd5e068ffd29a2bf63f9979459bf825c23e55340abb
+DIST zeromq-4.2.0.tar.gz 1046254 SHA256 53b83bf0ee978931f76fa9cb46ad4affea65787264a5f3d140bc743412d0c117 SHA512 3b6f0a1869fb1663ea40b3c3aa088b81399a35c051e4ade2b30bbac60bfceefe6b4403248a4635fb31d33767c1e478342f61c47b0ffdb4501419c13590ebeb96 WHIRLPOOL 432a8b04a28bd371a85c79dfd79d498808af8afe0e4d8b9bd903eef9d4f5e9c09c165484ee651b1a54e2e416bb324e39bee2db3a5880e216a7472c56c6e64190
+DIST zeromq-4.2.1.tar.gz 1243428 SHA256 27d1e82a099228ee85a7ddb2260f40830212402c605a4a10b5e5498a7e0e9d03 SHA512 6ef52edff930be34451e81bd21a7e23f08e135c8e10e006d0a6146e7fa4171e9dcf9065f77c33cb0c0db4c16cff4a50cab2a9d612e306490a02bc6a4a913ba6a WHIRLPOOL f86f2ea735f398b489fcba145dc3f98bf3b50e8cc26ccb91e0c57998c13aa030765634a82be5e24f6d63ad346fcf1214d42983788eee236f0d5409181b67f910
+DIST zeromq-4.2.2.tar.gz 1236437 SHA256 5b23f4ca9ef545d5bd3af55d305765e3ee06b986263b31967435d285a3e6df6b SHA512 d78813a61ce3311a1f8c230f7da0f5aedc97ef4b792afb6d398c5710da239348c0c7a67bdfeb38a7ab0282af498f1ed173649aff4add1bc35f0ef1b66f965443 WHIRLPOOL ebf95d311265db34420932aa0a1e112c1354ef0501dde6a5317792568156e9bb1c88e31e8009f3594a0f1b7c71a2ad1eac0993c6adcaaa8baf945f30c4039171
+EBUILD zeromq-2.2.0.ebuild 1309 SHA256 649166d54dd0522eeb7a8d642ccb8e9eb0fdc6c97f648b2f571c9579312541e7 SHA512 175a18d212a1966dceb29be017c1a018e5aa032c2cc176bd328b64106ae39287fc188a28c0e4242d9627f9957c7302c830749f0e396cb030ee30e929400e1b2e WHIRLPOOL 39d0c2c54e92930a28728e1827f533c7d18ff9cc1fd09ba0aa9ec14ab88c53902222c51616b2949df6183f81957dc613860433623480ddd2223af33239b8e89c
+EBUILD zeromq-3.2.3.ebuild 1520 SHA256 c295c486f8dd4e5920e506744809b92f3056c98bf4bd6c5ce04b7e4f6293c893 SHA512 1bb6da7c444a4377fe716d6a0702d12b2e23128418cd38820d2093da7bf0b14d9a3d7e85b17e283ec49bdedf5f5214d6723b23869d431c8fff82b816d3499fc4 WHIRLPOOL 2975b87b56c34966cca453ac5572312f2547c2d2e9c122bad98b0234a7c808832d81beb97c4ae2ca9d11975f0c85e857064252801e002f74595179dff8beafa9
+EBUILD zeromq-3.2.5.ebuild 1463 SHA256 2808a655ff1ca7ab347b631e9efeddf2e572563ad5f931588c8c90ca4abbe397 SHA512 1f0eaf965e38c837b94618b4d8c5308f11eef575d7e9c5cdace67768a11783c706b8a946df75a61554be45d480b6be282b8dd64c81f4db60c5cd658238a472fa WHIRLPOOL 046bdf3dbb6115f17a82e6787a8bfb24927f605cc0ca89ab778c4faf858b29b7fb98c7fa5466ff3c9461f194b1c1e79b9a00bd7b8d81738769915ce3fec34819
+EBUILD zeromq-4.1.1.ebuild 1029 SHA256 edac2c21b17617606a54348f42785e5ddd68e642808d6755b0eea158692a45d4 SHA512 0d18a5049611229103db0b20936c097717d092968d21e0967823e8984bddd2bb22a99c5e3217c00ea5418c20be772597ed00151380857105edf54e7386d8782a WHIRLPOOL 8481f6713271cf96b3738d15932865c1cb0c3eb29f68b69c154113bcae1c9e37aea89401e045f02d9e7f9d4a607958b6f5ae94406add3c0ba5eec9767754aee4
+EBUILD zeromq-4.1.6.ebuild 1154 SHA256 ef66d74781366df3528c621badcdd276f437597a477a4270d8ab9c27560c3ea5 SHA512 4c4c93f58c4ecf5ba82264198c1e40e265120c294761e348457830897201e89dfc50bfad4c5424bfe71eea9adb22cb105402485dbc31d49f1c20f5de80e86cd7 WHIRLPOOL 93b528f7eb6b87b912a7822ba2baa349b78eae262bf25d0958994766f67e8c3204f3b5c2debb1d4983fe19cc72800de31666679842b8eaf092f5dca540101563
+EBUILD zeromq-4.2.0-r1.ebuild 1268 SHA256 75bc198b2329465b1ec660fd47824e6c163ecfb7e2787c7c1de5a9976d9416d9 SHA512 e899d165a43f8d07a1f653e046483219f1dc1827e946c48490af8ce7a156e229a7041a4051076a3584d3768fbc80f8220d8453e7f5e8c0129abf86f411c098a1 WHIRLPOOL 2331c987bda2e176c811b0d0a5576ecba9dfe5da49328eec582649b14b898bf65385b266f8750efe117107c27937f4a8a6fe34951c61e66f4d3c5e2693e52509
+EBUILD zeromq-4.2.1.ebuild 1209 SHA256 5aa692b77bdcc6976cfb9e2da25a5b402e1ebe53d1eb2cc879e07b29048fe5b1 SHA512 d748d27548088f9121f1b3143fed334f5d69527a2868f46d6a1cc74daf0e6164801573d2c4065b9383245ec686680245dc46a036e1e6432d7f138f7a39136154 WHIRLPOOL 7fe0b358f2825a828f7f07272468cbe72d32c36a70165d37de61a0d85ca498ed42d0d3066920cfb2755ce67bfe5f22cbf2478919512b3cb9300c23e1fbc7aea0
+EBUILD zeromq-4.2.2-r1.ebuild 1380 SHA256 66efe92bf053d55886ce2b04f9d50d47292329fff2e02781c9085bf824e79432 SHA512 5ce25d3196c4be51420af99b4590d54c79b687d74a3b64ee44b1322bbce829e3e04b99ea5cb840f1f991f36cc12f9080806aa91666ba183372dee6963442b7d9 WHIRLPOOL e04341b6e82e0bd3fed692a1b1ed197bdca0ff0665291ab338baa5955061ad767ee40c2c6aa4a3da81b1c0de1e7e4f12d42d2af886d69c2cd1758aac92b80257
+EBUILD zeromq-4.2.2-r2.ebuild 1521 SHA256 6f5009e5a38468d9f14b135737a3305fe76951b0b84eaeb0b51485c5597de68e SHA512 76d3aae3ce742d06b8ca4026e8913963a501aa6179a5e8c9ccfe2d8c107c29d177a887b6e7faf5fbd9d34318283f536813b50633e07a735dbf27cc2b3f8afdf0 WHIRLPOOL 4adf06f4b9fa7525f757c099ebcc6968f427bd113d3839240a6bb7c8f483d40670547f180ba50c2840c146ae7d55e2b9cf120df7568c64cb1f0fad277c87a369
+EBUILD zeromq-4.2.2.ebuild 1217 SHA256 e3f0fa3c5448ff5a22003c12e9bbc7a8fec740d23a56fa2c0ab9ec239131a8b1 SHA512 097c10c8db5d2526d8eb5b0958d92be09c842373aad9b22dfa4c8d26cc6fa982440d28b8ac1ddabf1bce0e4a8f5e71ba16ebeecd7de02304ccdf2e5509da655c WHIRLPOOL e7d225fa284a750650e338f88913d7e1c0f861be4edea16ac0d716c58f8cf75e3612134569554ce87766f912cadf5055390dab495f4bbf20c674d4f7d8a588a4
+MISC ChangeLog 6676 SHA256 311b48768020ed8e2252dcc9a034995b81f00a182e02b8ec5f8e37617b78f97b SHA512 e4494ca72365f8c03f0bedec66ac2860f5c120ad2858a9204a674b72a318bedddd7db1581d5941af7fbde3cba57010f1447d54c1fd96c5f0abfedc6e95944ce6 WHIRLPOOL 351de5f5eaefecf51db8692b7677409b96560272e80df1d535a106a8ae38d21412b2f6a167322d71f90604e23f8a88217cb0c640a8017b9ba464885a4dd64cfd
+MISC ChangeLog-2015 10008 SHA256 7d620c3e362a41c8fadacd9c1e7ab9c058189ff9b5340265782937b21f89759a SHA512 15977242729f75e7c57e0f89698576afbd09d3b7ed30f79ef9fd41dd05db1290f37c92e9a5f1eefaea619ee21ed182826535c59519755669be2cf9661f5a9b54 WHIRLPOOL 61d74b6551db99a8d15ebc2e70bd9f86a04272c895dd78676bf11ecc46d6f3101df8306e44375b0eb219b1f0ecfaaed0108a6ae02baf2a9babe31a905f0edb66
+MISC metadata.xml 1349 SHA256 ca0ee8e5082dad01180b691e7da1568468a79397654b82408bd2a900a6057e6c SHA512 420989e7e605b7bcd1ee608d7e0ac06c563d3e37d01629963d7b6182eb3c187ca9667676ec73f267e15e35809d9552bc0d4407958d74d790381a3e45e1814296 WHIRLPOOL 2c32def9397f90f092af45e157423e9a75e4186e0bd7ee43e07738b1cfd7617e7c111d471fee735c03a1e909694b957b95b630a9b780d6bfd1f4cefd1bef5ebe
diff --git a/net-libs/zeromq/files/zeromq-3.2.3-unused-variable.patch b/net-libs/zeromq/files/zeromq-3.2.3-unused-variable.patch
new file mode 100644
index 000000000000..9fb86fa7d5c2
--- /dev/null
+++ b/net-libs/zeromq/files/zeromq-3.2.3-unused-variable.patch
@@ -0,0 +1,105 @@
+Fix building with -Wall.
+
+Description from upstream repo:
+ Author: Pieter Hintjens <ph@imatix.com>
+ Date: Wed Jan 30 23:53:23 2013 +0100
+
+ Various cleanups to test programs
+
+ - Patch applied using git am from libzmq commit 5f009e52
+ - tests/test_raw_sock.cpp doesn't exist in zeromq3-x, so that
+ file was manually removed from the patch before 'git am'
+
+ Signed-off-by: AJ Lewis <aj.lewis@quantum.com>
+X-GENTOO-BUG: 483318
+X-GENTOO-BUG-URL: https://bugs.gentoo.org/show_bug.cgi?id=483318
+X-UPSTREAM-URL: https://github.com/zeromq/zeromq3-x/commit/bdd72826c96fa7cb6a8d2e5cf688c973a8e8d42f
+
+--- a/tests/test_connect_delay.cpp
++++ b/tests/test_connect_delay.cpp
+@@ -61,12 +61,12 @@ int main (void)
+ assert(from);
+
+ val = 0;
+- zmq_setsockopt (from, ZMQ_LINGER, &val, sizeof(val));
++ zmq_setsockopt (from, ZMQ_LINGER, &val, sizeof (val));
+ // This pipe will not connect
+ rc = zmq_connect (from, "tcp://localhost:5556");
+ assert (rc == 0);
+ // This pipe will
+- rc = zmq_connect (from, "tcp://localhost:5555");
++ rc = zmq_connect (from, "tcp://localhost:6555");
+ assert (rc == 0);
+
+ // We send 10 messages, 5 should just get stuck in the queue
+@@ -112,7 +112,6 @@ int main (void)
+ // cause the pipe attachment to be delayed until the connection
+ // succeeds.
+ context = zmq_ctx_new();
+- fprintf (stderr, " Rerunning with DELAY_ATTACH_ON_CONNECT\n");
+
+ // Bind the valid socket
+ to = zmq_socket (context, ZMQ_PULL);
+@@ -182,7 +181,6 @@ int main (void)
+ // block. Then we reconnect and verify messages flow again.
+ context = zmq_ctx_new();
+ void *context2 = zmq_ctx_new();
+- fprintf (stderr, " Running DELAY_ATTACH_ON_CONNECT with disconnect\n");
+
+ to = zmq_socket (context2, ZMQ_PULL);
+ assert (to);
+diff --git a/tests/test_disconnect_inproc.cpp b/tests/test_disconnect_inproc.cpp
+index 7875083..d6b68c6 100644
+--- a/tests/test_disconnect_inproc.cpp
++++ b/tests/test_disconnect_inproc.cpp
+@@ -40,16 +40,14 @@ int main(int argc, char** argv) {
+ zmq_msg_t msg;
+ zmq_msg_init (&msg);
+ zmq_msg_recv (&msg, pubSocket, 0);
+- int msgSize = zmq_msg_size(&msg);
+ char* buffer = (char*)zmq_msg_data(&msg);
+
+ if (buffer[0] == 0) {
+ assert(isSubscribed);
+- printf("unsubscribing from '%s'\n", strndup(buffer + 1, msgSize - 1));
+ isSubscribed = false;
+- } else {
++ }
++ else {
+ assert(!isSubscribed);
+- printf("subscribing on '%s'\n", strndup(buffer + 1, msgSize - 1));
+ isSubscribed = true;
+ }
+
+@@ -66,11 +64,6 @@ int main(int argc, char** argv) {
+ zmq_msg_t msg;
+ zmq_msg_init (&msg);
+ zmq_msg_recv (&msg, subSocket, 0);
+- int msgSize = zmq_msg_size(&msg);
+- char* buffer = (char*)zmq_msg_data(&msg);
+-
+- printf("received on subscriber '%s'\n", strndup(buffer, msgSize));
+-
+ zmq_getsockopt (subSocket, ZMQ_RCVMORE, &more, &more_size);
+ zmq_msg_close (&msg);
+
+diff --git a/tests/test_last_endpoint.cpp b/tests/test_last_endpoint.cpp
+index 5f121c4..ef3230b 100644
+--- a/tests/test_last_endpoint.cpp
++++ b/tests/test_last_endpoint.cpp
+@@ -29,11 +29,10 @@ static void do_bind_and_verify (void *s, const char *endpoint)
+ {
+ int rc = zmq_bind (s, endpoint);
+ assert (rc == 0);
+-
+- char test [255];
+- size_t siz = 255;
+- rc = zmq_getsockopt (s, ZMQ_LAST_ENDPOINT, test, &siz);
+- assert (rc == 0 && strcmp (test, endpoint) == 0);
++ char reported [255];
++ size_t size = 255;
++ rc = zmq_getsockopt (s, ZMQ_LAST_ENDPOINT, reported, &size);
++ assert (rc == 0 && strcmp (reported, endpoint) == 0);
+ }
+
+ int main (void)
diff --git a/net-libs/zeromq/files/zeromq-4.2.0-dl-backport.patch b/net-libs/zeromq/files/zeromq-4.2.0-dl-backport.patch
new file mode 100644
index 000000000000..c00001d632a5
--- /dev/null
+++ b/net-libs/zeromq/files/zeromq-4.2.0-dl-backport.patch
@@ -0,0 +1,25 @@
+From 1b3fcbd3eead8f1f59f3e9472319d58ce6b52bb7 Mon Sep 17 00:00:00 2001
+From: Luca Boccassi <luca.boccassi@gmail.com>
+Date: Thu, 10 Nov 2016 22:49:41 +0000
+Subject: [PATCH] Problem: linker fails looking for dladdr
+
+Solution: search and add it via AC_CHECK_LIB when building with
+libunwind, as the backtrace function uses dladdr. This problem
+only appears on some distributions and with some compiler/toolchain
+versions.
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4fb2757..d548f9f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -650,6 +650,7 @@ PKG_CHECK_MODULES(LIBUNWIND, [libunwind],
+ AC_DEFINE(HAVE_LIBUNWIND, 1, [The libunwind library is to be used])
+ AC_SUBST([LIBUNWIND_CFLAGS])
+ AC_SUBST([LIBUNWIND_LIBS])
++ AC_CHECK_LIB([dl], [dladdr])
+ ],
+ [
+ AC_MSG_WARN([Cannot find libunwind])
diff --git a/net-libs/zeromq/files/zeromq-4.2.1-disable-experimental-zmq_poll-implementation.patch b/net-libs/zeromq/files/zeromq-4.2.1-disable-experimental-zmq_poll-implementation.patch
new file mode 100644
index 000000000000..3efe2153bfa9
--- /dev/null
+++ b/net-libs/zeromq/files/zeromq-4.2.1-disable-experimental-zmq_poll-implementation.patch
@@ -0,0 +1,35 @@
+From 90c76fbd6069b8e1e98236f31317ed22792ab739 Mon Sep 17 00:00:00 2001
+From: Luca Boccassi <luca.boccassi@gmail.com>
+Date: Fri, 28 Apr 2017 16:08:46 +0100
+Subject: [PATCH] Problem: new zmq_poller used by zmq_poll without DRAFTs
+
+Solution: do not define ZMQ_HAVE_POLLER in src/zmq_drafts.h otherwise
+src/zmq.cpp will implement zmq_poll using the new poller classes.
+Same for ZMQ_HAVE_TIMERS, even though it has no internal effect, but
+to be safe against future development.
+---
+ src/zmq_draft.h | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/zmq_draft.h b/src/zmq_draft.h
+index bfbf9e3..9aed6dd 100644
+--- a/src/zmq_draft.h
++++ b/src/zmq_draft.h
+@@ -67,8 +67,6 @@ const char *zmq_msg_group(zmq_msg_t *msg);
+ /* Poller polling on sockets,fd and thread-safe sockets */
+ /******************************************************************************/
+
+-#define ZMQ_HAVE_POLLER
+-
+ typedef struct zmq_poller_event_t
+ {
+ void *socket;
+@@ -103,8 +101,6 @@ int zmq_poller_remove_fd (void *poller, int fd);
+ /* Scheduling timers */
+ /******************************************************************************/
+
+-#define ZMQ_HAVE_TIMERS
+-
+ typedef void (zmq_timer_fn)(int timer_id, void *arg);
+
+ void *zmq_timers_new (void);
diff --git a/net-libs/zeromq/files/zeromq-4.2.2-optional-libunwind.patch b/net-libs/zeromq/files/zeromq-4.2.2-optional-libunwind.patch
new file mode 100644
index 000000000000..36a5f66bbc91
--- /dev/null
+++ b/net-libs/zeromq/files/zeromq-4.2.2-optional-libunwind.patch
@@ -0,0 +1,70 @@
+Accepted upstream as: https://github.com/zeromq/libzmq/pull/2625
+
+From 88487e7da3e0412abde30af2855a667ab973f9fc Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Fri, 14 Jul 2017 21:44:30 +0100
+Subject: [PATCH] configure.ac: allow user to disable libunwind discovery via
+ --disable-libunwind
+
+on ia64 architecture libunwind comes with gcc. Unfortunately
+libunwind is not directly usable as-is and fails at link time:
+
+```
+ ia64-unknown-linux-gnu-g++ -o perf/.libs/local_lat perf/local_lat.o src/.libs/libzmq.so -lsodium -lrt -lpthread -ldl
+ src/.libs/libzmq.so: undefined reference to `_ULia64_step'
+```
+
+The change adds --{enable,disable}-libunwind flag to control
+automatic dependency. The default is unchanged: use if available.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ configure.ac | 32 ++++++++++++++++++++++----------
+ 1 file changed, 22 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c10f8445..ad193871 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -721,16 +721,28 @@ else
+ AC_SUBST(pkg_config_defines, "")
+ fi
+
+-PKG_CHECK_MODULES(LIBUNWIND, [libunwind],
+- [
+- AC_DEFINE(HAVE_LIBUNWIND, 1, [The libunwind library is to be used])
+- AC_SUBST([LIBUNWIND_CFLAGS])
+- AC_SUBST([LIBUNWIND_LIBS])
+- AC_CHECK_LIB([dl], [dladdr])
+- ],
+- [
+- AC_MSG_WARN([Cannot find libunwind])
+- ])
++AC_ARG_ENABLE([libunwind],
++ [AS_HELP_STRING([--enable-libunwind],
++ [enable libunwind [default=auto]])],
++ [enable_libunwind=$enableval],
++ [enable_libunwind="auto"])
++
++if test "x$enable_libunwind" != "xno"; then
++ PKG_CHECK_MODULES(LIBUNWIND, [libunwind],
++ [
++ AC_DEFINE(HAVE_LIBUNWIND, 1, [The libunwind library is to be used])
++ AC_SUBST([LIBUNWIND_CFLAGS])
++ AC_SUBST([LIBUNWIND_LIBS])
++ AC_CHECK_LIB([dl], [dladdr])
++ ],
++ [
++ if test "x$enable_libunwind" = "xyes"; then
++ AC_MSG_ERROR([Cannot find libunwind])
++ else
++ AC_MSG_WARN([Cannot find libunwind])
++ fi
++ ])
++fi
+
+ # Subst LIBZMQ_EXTRA_CFLAGS & CXXFLAGS & LDFLAGS
+ AC_SUBST(LIBZMQ_EXTRA_CFLAGS)
+--
+2.13.3
+
diff --git a/net-libs/zeromq/metadata.xml b/net-libs/zeromq/metadata.xml
new file mode 100644
index 000000000000..981328e740da
--- /dev/null
+++ b/net-libs/zeromq/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>sustrik@fastmq.com</email>
+ <name>Martin Sustrik</name>
+ </maintainer>
+ <doc>http://zguide.zeromq.org/page:all</doc>
+ <bugs-to>https://github.com/zeromq/libzmq/issues</bugs-to>
+ <remote-id type="github">zeromq/zeromq4-1</remote-id>
+ <remote-id type="github">zeromq/libzmq</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ The 0MQ lightweight messaging kernel is a library which
+ extends the standard socket interfaces with features
+ traditionally provided by specialised messaging middleware
+ products. 0MQ sockets provide an abstraction of asynchronous
+ message queues, multiple messaging patterns, message filtering
+ (subscriptions), seamless access to multiple transport protocols
+ and more.
+ </longdescription>
+ <slots>
+ <subslots>Reflect ABI of libzmq.so.</subslots>
+ </slots>
+ <use>
+ <flag name="pgm">
+ Build PGM (Pragmatic General Multicast)extention, a protocol for reliable
+ multicast transport of data over IP networks.
+ </flag>
+ <flag name="sodium">
+ Use <pkg>dev-libs/libsodium</pkg> for cryptography
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/zeromq/zeromq-2.2.0.ebuild b/net-libs/zeromq/zeromq-2.2.0.ebuild
new file mode 100644
index 000000000000..24ca582fb49a
--- /dev/null
+++ b/net-libs/zeromq/zeromq-2.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTES:
+# 1- use flag 'pgm' (OpenPGM support) must be masked by profiles for ARM archs;
+
+EAPI=4
+WANT_AUTOCONF="2.5"
+inherit autotools
+
+DESCRIPTION="ZeroMQ is a brokerless messaging kernel with extremely high performance"
+HOMEPAGE="http://www.zeromq.org"
+SRC_URI="http://download.zeromq.org/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="pgm test static-libs"
+
+RDEPEND="!net-libs/cppzmq"
+DEPEND="pgm? (
+ virtual/pkgconfig
+ ~net-libs/openpgm-5.1.118
+ )
+ || ( sys-apps/util-linux sys-freebsd/freebsd-lib )"
+
+src_prepare() {
+ einfo "Removing bundled OpenPGM library"
+ rm -r "${S}"/foreign/openpgm/libpgm* || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use pgm && myconf="--with-system-pgm" || myconf="--without-pgm"
+ econf \
+ $(use_enable static-libs static) \
+ $myconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc NEWS README AUTHORS ChangeLog || die "dodoc failed"
+ doman doc/*.[1-9] || die "doman failed"
+
+ # remove useless .la files
+ find "${D}" -name '*.la' -delete
+
+ # remove useless .a (only for non static compilation)
+ use static-libs || find "${D}" -name '*.a' -delete
+}
diff --git a/net-libs/zeromq/zeromq-3.2.3.ebuild b/net-libs/zeromq/zeromq-3.2.3.ebuild
new file mode 100644
index 000000000000..1f5b77429309
--- /dev/null
+++ b/net-libs/zeromq/zeromq-3.2.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="ZeroMQ is a brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="http://download.zeromq.org/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="pgm test static-libs elibc_glibc"
+
+DEPEND="
+ || ( sys-devel/gcc sys-devel/gcc-apple )
+ pgm? (
+ virtual/pkgconfig
+ ~net-libs/openpgm-5.1.118
+ )
+ elibc_glibc? ( sys-apps/util-linux )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-unused-variable.patch
+ einfo "Removing bundled OpenPGM library"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+ rm -r "${S}"/foreign/openpgm/libpgm* || die
+ # apply effective bit of below commit to fix compilation on Darwin
+ # https://github.com/zeromq/zeromq3-x/commit/400cbc208a768c4df5039f401dd2688eede6e1ca
+ sed -i -e '/strndup/d' tests/test_disconnect_inproc.cpp || die
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use pgm && myconf="--with-system-pgm" || myconf="--without-pgm"
+ econf \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+ doman doc/*.[1-9]
+
+ # remove useless .la files
+ find "${ED}" -name '*.la' -delete || die
+
+ # remove useless .a (only for non static compilation)
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/net-libs/zeromq/zeromq-3.2.5.ebuild b/net-libs/zeromq/zeromq-3.2.5.ebuild
new file mode 100644
index 000000000000..28a94b695134
--- /dev/null
+++ b/net-libs/zeromq/zeromq-3.2.5.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="ZeroMQ is a brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="http://download.zeromq.org/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/3"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="pgm test static-libs elibc_glibc"
+
+DEPEND="
+ || ( sys-devel/gcc sys-devel/gcc-apple )
+ pgm? (
+ virtual/pkgconfig
+ >=net-libs/openpgm-5.2
+ )
+ elibc_glibc? ( sys-apps/util-linux )"
+RDEPEND=""
+
+src_prepare() {
+ einfo "Removing bundled OpenPGM library"
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+ rm -r "${S}"/foreign/openpgm/libpgm* || die
+ # apply effective bit of below commit to fix compilation on Darwin
+ # https://github.com/zeromq/zeromq3-x/commit/400cbc208a768c4df5039f401dd2688eede6e1ca
+ sed -i -e '/strndup/d' tests/test_disconnect_inproc.cpp || die
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use pgm && myconf="--with-system-pgm" || myconf="--without-pgm"
+ econf \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+ doman doc/*.[1-9]
+
+ # remove useless .la files
+ find "${ED}" -name '*.la' -delete || die
+
+ # remove useless .a (only for non static compilation)
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/net-libs/zeromq/zeromq-4.1.1.ebuild b/net-libs/zeromq/zeromq-4.1.1.ebuild
new file mode 100644
index 000000000000..f1bcf9d04ae3
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.1.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="http://download.zeromq.org/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/4"
+KEYWORDS="amd64 arm hppa ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="pgm static-libs test"
+
+RDEPEND="
+ dev-libs/libsodium:=
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ sys-apps/util-linux
+ pgm? ( virtual/pkgconfig )"
+
+src_prepare() {
+ einfo "Removing bundled OpenPGM library"
+ rm -fr "${S}"/foreign/openpgm/libpgm* || die
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=()
+ use pgm && myeconfargs+=( --with-system-pgm ) || myeconfargs+=( --without-pgm )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test -j1
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ doman doc/*.[1-9]
+}
diff --git a/net-libs/zeromq/zeromq-4.1.6.ebuild b/net-libs/zeromq/zeromq-4.1.6.ebuild
new file mode 100644
index 000000000000..ffa1660ff95d
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.1.6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/zeromq4-1/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="pgm static-libs test"
+
+RDEPEND="
+ dev-libs/libsodium:=
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ sys-apps/util-linux
+ pgm? ( virtual/pkgconfig )"
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ --with-relaxed
+ --with-libsodium
+ $(use_with pgm)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/net-libs/zeromq/zeromq-4.2.0-r1.ebuild b/net-libs/zeromq/zeromq-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..d69a469b3b23
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.2.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/libzmq/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="pgm +sodium static-libs test"
+
+RDEPEND="
+ sys-libs/libunwind
+ sodium? ( dev-libs/libsodium:= )
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ sys-apps/util-linux
+ pgm? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-dl-backport.patch
+)
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_with sodium libsodium)
+ $(use_with pgm)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ find "${ED}"usr/lib* -name '*.la' -delete || die
+}
diff --git a/net-libs/zeromq/zeromq-4.2.1.ebuild b/net-libs/zeromq/zeromq-4.2.1.ebuild
new file mode 100644
index 000000000000..586cff09f383
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.2.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/libzmq/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="amd64 arm arm64 hppa ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="pgm +sodium static-libs test"
+
+RDEPEND="
+ sys-libs/libunwind
+ sodium? ( dev-libs/libsodium:= )
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ sys-apps/util-linux
+ pgm? ( virtual/pkgconfig )"
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_with sodium libsodium)
+ $(use_with pgm)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ find "${ED}"usr/lib* -name '*.la' -delete || die
+}
diff --git a/net-libs/zeromq/zeromq-4.2.2-r1.ebuild b/net-libs/zeromq/zeromq-4.2.2-r1.ebuild
new file mode 100644
index 000000000000..5f72e2a7662b
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.2.2-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/libzmq/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="pgm +sodium static-libs test elibc_Darwin"
+
+RDEPEND="
+ !elibc_Darwin? ( sys-libs/libunwind )
+ sodium? ( dev-libs/libsodium:= )
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ !elibc_Darwin? ( sys-apps/util-linux )
+ pgm? ( virtual/pkgconfig )"
+
+PATCHES=( "${FILESDIR}"/${PN}-4.2.1-disable-experimental-zmq_poll-implementation.patch )
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_with sodium libsodium)
+ $(use_with pgm)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ find "${ED}"usr/lib* -name '*.la' -delete || die
+}
diff --git a/net-libs/zeromq/zeromq-4.2.2-r2.ebuild b/net-libs/zeromq/zeromq-4.2.2-r2.ebuild
new file mode 100644
index 000000000000..51ff7c65b514
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.2.2-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/libzmq/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc pgm +sodium static-libs test unwind elibc_Darwin"
+
+RDEPEND="
+ !elibc_Darwin? ( unwind? ( sys-libs/libunwind ) )
+ sodium? ( dev-libs/libsodium:= )
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ !elibc_Darwin? ( sys-apps/util-linux )
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )
+ pgm? ( virtual/pkgconfig )"
+
+PATCHES=( "${FILESDIR}"/${PN}-4.2.1-disable-experimental-zmq_poll-implementation.patch
+ "${FILESDIR}"/${PN}-4.2.2-optional-libunwind.patch )
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable unwind libunwind)
+ $(use_with sodium libsodium)
+ $(use_with pgm)
+ $(use_with doc docs)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ find "${ED}"usr/lib* -name '*.la' -delete || die
+}
diff --git a/net-libs/zeromq/zeromq-4.2.2.ebuild b/net-libs/zeromq/zeromq-4.2.2.ebuild
new file mode 100644
index 000000000000..6c9a850b617a
--- /dev/null
+++ b/net-libs/zeromq/zeromq-4.2.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools
+
+DESCRIPTION="A brokerless kernel"
+HOMEPAGE="http://www.zeromq.org/"
+SRC_URI="https://github.com/zeromq/libzmq/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="pgm +sodium static-libs test"
+
+RDEPEND="
+ sys-libs/libunwind
+ sodium? ( dev-libs/libsodium:= )
+ pgm? ( =net-libs/openpgm-5.2.122 )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ sys-apps/util-linux
+ pgm? ( virtual/pkgconfig )"
+
+src_prepare() {
+ sed \
+ -e '/libzmq_werror=/s:yes:no:g' \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_with sodium libsodium)
+ $(use_with pgm)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Restricting to one job because multiple tests are using the same port.
+ # Upstream knows the problem and says it doesn't support parallel test
+ # execution, see ${S}/INSTALL.
+ emake -j1 check
+}
+
+src_install() {
+ default
+ find "${ED}"usr/lib* -name '*.la' -delete || die
+}