summaryrefslogtreecommitdiff
path: root/net-libs/wvstreams
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-libs/wvstreams
reinit the tree, so we can have metadata
Diffstat (limited to 'net-libs/wvstreams')
-rw-r--r--net-libs/wvstreams/Manifest15
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-2048-bytes-should-be-enough-right-question-mark.patch11
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch11
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch31
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch36
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch50
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-glibc212.patch23
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-openssl-1.0.0.patch16
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-parallel-make.patch56
-rw-r--r--net-libs/wvstreams/metadata.xml18
-rw-r--r--net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild105
-rw-r--r--net-libs/wvstreams/wvstreams-4.6.1-r4.ebuild95
-rw-r--r--net-libs/wvstreams/wvstreams-4.6.1-r5.ebuild96
13 files changed, 563 insertions, 0 deletions
diff --git a/net-libs/wvstreams/Manifest b/net-libs/wvstreams/Manifest
new file mode 100644
index 000000000000..f376d6c62dbd
--- /dev/null
+++ b/net-libs/wvstreams/Manifest
@@ -0,0 +1,15 @@
+AUX wvstreams-4.6.1-2048-bytes-should-be-enough-right-question-mark.patch 383 SHA256 79ced88593948a2083747b118f60fee7cdae18c0baf3b6115175b17955297d07 SHA512 629d0890d46849f2b46ce1823955f9bca98f0adb04f3ac92758c90435841803a0134cea66ef9ba01262f2abc8da82ded9e113dfeec51722593b36943c5d2786f WHIRLPOOL f1acc70f1aa018e2312f5e4fa2dbc1d3344615588bf4bf4ba03ba2276438beed33b441e6a38b1cc19e7ca07cd12e2f71701a5f0b824db7c7e11ce169df5afa52
+AUX wvstreams-4.6.1-_DEFAULT_SOURCE.patch 271 SHA256 0028aec2ac20e6751bceaa0947987d18435798ddc42f39018ee8d98af0683388 SHA512 99ffbd0551b60f66487db9cdda019400d244d8865ce8998bc906fbf169f1a3c19b7e8deaed57f2b572df8aa23405762405919929b894251115db05b786bee0dd WHIRLPOOL 6314203fca64955b57956a84de8711f2f3bfe3a7a4b466034a05188bb1c170d25a94499d3c6259992b85550267250e0adb06b99f75639c16833c960e74b8d364
+AUX wvstreams-4.6.1-autoconf.patch 701 SHA256 3387909a7bb48c080be2c06d41a94d3467cd5a1eda796dfc5a5a9e301fae3bd1 SHA512 31262107df38069b64b52b9660f0b5d8a2644a7f59e0e3e03a0502b1590690f039ad19d33ce73c3890b1e3d240658a5119791386db9e5a1f7045ae4650b1349e WHIRLPOOL 38102d70ef3ddadf6de3682fcbdb46e33c4ead431c15a16310320fb1eb0f90e07e84623c9ceb9cd84410d87d098323e0824d7c5a340fe435a711499fe5ced41b
+AUX wvstreams-4.6.1-fix-c++14.patch 1205 SHA256 ee4ebfe131f2c9a2dd32ea5ef1490e1817f36223ec0273a2f20744cb4e38e134 SHA512 a627b30fa9af412307fa082f27ff999fb7f198cf4acecc14f9efa0aee493a602672628b555096e833692c66abc35bc64011abd0588ac26232d338b0c81c69306 WHIRLPOOL 5a39acc27342a6401166d6397dc683495c7f8f876b049ae3252de407a1386f6cc35ed4e3afce818ef06146bc9b2c46077c1eb26a70f3ea7016992e911ef04041
+AUX wvstreams-4.6.1-gcc47.patch 1308 SHA256 58974ca81f6088232ca617c9eaf5bf9d1c223dea422f098d7b7d34c2b3b69c45 SHA512 cfac44a0c80d58e67d4a3be17cca3008f6c7bba02b434701fcf07a1209220edf93b4d0dc1f478456e07e28f9e39ab9d19a52a07ad1f9ecd09028ef5446cebfa5 WHIRLPOOL 3d0bbe4450956dfd6f7fef34fb33fcf16c6032bd7269006a055190427d2ff695656347640b5919bd75a3247fb26806399aa59aab24c49dff770c61efcc0e52e1
+AUX wvstreams-4.6.1-glibc212.patch 497 SHA256 f9f85eeafce67d53dc4265e739fa2349ab18d55dd37933c343d4ce945b0d86ff SHA512 467ef4faad88b4ba150a05f95147bbd2ba8d297bbb5e32a1c85e482b62786e1ec82f6ae8a8f62426c01239ec9e9da899f38fcd7a7d4737dd9a8c9d6de0bdedb1 WHIRLPOOL 2d0c0cc6d71707e35d398d70070553ae57dc77ed7ecb0fb4f25bf11219d761e6197113087624f8e94119e358a5fe09b7d6a4aa6c77739ea4f6e814f43330e3db
+AUX wvstreams-4.6.1-openssl-1.0.0.patch 399 SHA256 251794f1fbb99e3dccc068a3e2ba3249687dc270ac154ba736b028ac43418642 SHA512 98d8c8b529e9ce6c8219f70dbec8f9270d14952e88e3f0f0cf16e58cfed2cad8a2bd4039d2006290f9567beaeb5ec77ef500fb5bc812b7a3bac6a1bf4e2888aa WHIRLPOOL 09fc6ad0543173529b033d294ace1427e300849e9d744e2510dc1473e2e4158451d15cb5f0ca6952bfca88064a01673a7d4dba3cd765f734d398d0e54091eea2
+AUX wvstreams-4.6.1-parallel-make.patch 1882 SHA256 488f265874ee4c5e722fd26a0c426c172fe4685f283cff11bfd53d8c7d74e299 SHA512 d7fffbd7940495f2e34d3317b8f0066f6caa98e213df00bf31e3f42fa6821c9fd017e3052f7ff98303a8d8bb61d9b24a14b87ddd18199038e083e42cf253c17e WHIRLPOOL 4bb2036a0ef8be08306cc961cd49a8398eeed8e9b67b0340e6790206131608f75791e36fb418110f4638aeaf8ecdf3cc9f5fae2fd0f24d3e3042b45e82e9cb6f
+DIST wvstreams-4.6.1.tar.gz 1118456 SHA256 8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633 SHA512 59d64e527d86394b768b35254bf95ea59c412c0e092393ea3c84ec3202949150439bb6093bd7350b64ad4767acdb8feb38806c03de4e5cf238ed893f41db4a4a WHIRLPOOL 4d5a8e39332d00c1614d81e3d980d2458aebdf745b6630c8875adfff89b2c0baf08d39e5f7cc47bb4dbe37bc573c7e019e31163837df6d6d13741eeccc1c8e7a
+EBUILD wvstreams-4.6.1-r3.ebuild 2404 SHA256 ec8aabbf8e9ee613cc4e37618a75aa08ac40f3294c61105a722e7dac07b5cc8a SHA512 f4a95c3d74d79315e297a78c99ab2fca17b953c2b2b0f62934ed1de78b3ef98aba423057033eee1936717ff32f469b404875944f81b8e6f723f8cd701990ace9 WHIRLPOOL c4f4b39a2d0f31044fcc2c426057f64dab474687e7d3136f0855165a112c3a900f47329358aab65b97c746bf955d6192a3bf09b2ff46109ca685380f527c85d8
+EBUILD wvstreams-4.6.1-r4.ebuild 2039 SHA256 10e202a03e1f160dc4282af5acc4b442c98a3d2801b56ca470896aa896942349 SHA512 2a24763688a9d28d488ab6baced03d253af9a3a3d15c3d657b14fba32bb230614c8051b7da39b61a895ebbd5bd0eff5e2e68d3c45c7f2c42e5ac27cf2a5d78a1 WHIRLPOOL 9d85a350702457dd2d14da5a6778f73efedfe7625793d479f3385f670fb5547d12fa059bdc5238077e8eeb8b2fc7b5dbe5e7b72572ee30c079519088f8021817
+EBUILD wvstreams-4.6.1-r5.ebuild 2113 SHA256 299668f61eba0be1ea85649392a11f25200c87a628588b56148c727a849f4863 SHA512 2fe82454c1c34ac4d70e98b439e31beb3e8d9d6696e8ba0de6068f38e68288291f05bf0dce5f204b2374e746cf166f81300ad8d03d6d185eca5ac1d2ef191aaa WHIRLPOOL 4bcd422f0e9026b34d712da2007b2c8baf1ad047bfcb8a95ff02a10b6eb6a6b50b21f5c8b7b57dfa925cdabaaaa10c95fb26b5434f2d41a29273eb8b7447dc42
+MISC ChangeLog 3133 SHA256 a1069599338b4972a9b6050d86e5fb8c9beae9b0631560e5e099466e3705c78a SHA512 384ea935735de708f4d4c950be17d9c5813aca3fd2a079bd1c77e244be773d288d49b75bd38e0abd8de0a83623126fa1e1ad56db333bf804674cfc79b9b2bc50 WHIRLPOOL b6814a1ab2d55708b74c32a4c7e45082c4564bc15ad546618641ff90f504416db535640b34ec7abeafe8227b141e05b9bc3862a1da7c26fc8c05e846d4bb6914
+MISC ChangeLog-2015 27822 SHA256 cb0d9738ec60077eeeb552b2a28721580a68208952ef54b44d90a1bac0f383b1 SHA512 8802369d241831354507f9d5afde6c60b1c2d75134f84a830748ea86be778bb6b224da9f8c9504d2009564aa4b5fb6fa4a4bf6e6c5f087b20f781a19d8a04988 WHIRLPOOL 70b0326438af1b1fdb29a4f45e7671f1bd1427e246e97b6d76bccd124585dd6b4bac6e34942f8431cff9c44614db43f30d4ae335644150fd6381771804029e68
+MISC metadata.xml 567 SHA256 27e518f0770824985adea92155328ab4c024cf4b367d3249d00ba6aba6302d3b SHA512 11ce01ce8844fa3c43e8175c36a0f76266ce43acc9d6ed86156bfddc0b8e5f5ede6ecac9518e329c48fa46a448e57021496e46f9282d6d0cc81133ac9488c437 WHIRLPOOL 1fe86f1f3c7d6478299ae6c1b759a2be3b19168afdd92257cd992a35ac736e19ee59a3fbe4fdee1fd33c0839ded0d50fd97a3270086d9cbb7048a0626b43d6a0
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-2048-bytes-should-be-enough-right-question-mark.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-2048-bytes-should-be-enough-right-question-mark.patch
new file mode 100644
index 000000000000..15fb13ca633c
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-2048-bytes-should-be-enough-right-question-mark.patch
@@ -0,0 +1,11 @@
+--- a/utils/wvtask.cc
++++ b/utils/wvtask.cc
+@@ -429,7 +429,7 @@
+ total = (val+1) * (size_t)1024;
+
+ if (!use_shared_stack())
+- total = 1024; // enough to save the do_task stack frame
++ total = 2048; // enough to save the do_task stack frame
+
+ // set up a stack frame for the new task. This runs once
+ // per get_stack.
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch
new file mode 100644
index 000000000000..1084a5be21e3
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch
@@ -0,0 +1,11 @@
+--- a/wvrules.mk
++++ b/wvrules.mk
+@@ -83,7 +83,7 @@
+
+ INCFLAGS=$(addprefix -I,$(WVSTREAMS_INC) $(XPATH))
+ CPPFLAGS+=$(INCFLAGS) \
+- -D_BSD_SOURCE -D_GNU_SOURCE $(OSDEFINE) \
++ -D_DEFAULT_SOURCE $(OSDEFINE) \
+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+ -DUNSTABLE
+
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch
new file mode 100644
index 000000000000..a9b9a5ac90c1
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch
@@ -0,0 +1,31 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -641,6 +641,8 @@
+
+ AC_CONFIG_HEADERS(include/wvautoconf.h)
+
++AC_CONFIG_SUBDIRS(argp)
++
+ AC_OUTPUT
+
+ # Now convert PACKAGE_* macros into WVPACKAGE_* in include/wvautoconf.h
+--- a/argp/configure.ac
++++ b/argp/configure.ac
+@@ -4,7 +4,7 @@
+ AC_PREREQ(2.54)
+ AC_INIT(argp-ba.c)
+ AM_INIT_AUTOMAKE(argp, standalone-1.3)
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ # GNU libc defaults to supplying the ISO C library functions only. The
+ # _GNU_SOURCE define enables these extensions, in particular we want
+@@ -18,7 +18,7 @@
+ AC_PROG_RANLIB
+ AC_PROGRAM_CHECK(AR,ar,ar,:)
+ AC_PROGRAM_CHECK(AR,gar,gar,:)
+-AM_PROG_CC_STDC
++AC_PROG_CC
+
+ AC_SUBST(AR)
+
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
new file mode 100644
index 000000000000..b2c2efd56248
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
@@ -0,0 +1,36 @@
+Fix building with C++14, which errors out due to explicit operator bool() conversion
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594058
+
+--- a/streams/wvstream.cc
++++ b/streams/wvstream.cc
+@@ -907,9 +907,9 @@
+
+ if (forceable)
+ {
+- si.wants.readable = readcb;
+- si.wants.writable = writecb;
+- si.wants.isexception = exceptcb;
++ si.wants.readable = static_cast<bool>(readcb);
++ si.wants.writable = static_cast<bool>(writecb);
++ si.wants.isexception = static_cast<bool>(exceptcb);
+ }
+ else
+ {
+@@ -1019,7 +1019,7 @@
+
+ IWvStream::SelectRequest WvStream::get_select_request()
+ {
+- return IWvStream::SelectRequest(readcb, writecb, exceptcb);
++ return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
+@@ -1107,7 +1107,7 @@
+ // inefficient, because if the alarm was expired then pre_select()
+ // returned true anyway and short-circuited the previous select().
+ TRACE("hello-%p\n", this);
+- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
++ return !alarm_was_ticking || select(0, static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
new file mode 100644
index 000000000000..a1ad88817932
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
@@ -0,0 +1,50 @@
+http://bugs.gentoo.org/419563
+http://bugs.gentoo.org/419971
+
+See -gcc47-patch and -magic.patch in Fedora git:
+
+http://pkgs.fedoraproject.org/gitweb/?p=libwvstreams.git;a=tree
+
+--- a/include/wvtask.h
++++ b/include/wvtask.h
+@@ -45,7 +45,8 @@
+ typedef void TaskFunc(void *userdata);
+
+ static int taskcount, numtasks, numrunning;
+- int magic_number, *stack_magic;
++ int volatile magic_number;
++ int *stack_magic;
+ WvString name;
+ int tid;
+
+@@ -84,7 +85,7 @@
+ static WvTaskMan *singleton;
+ static int links;
+
+- static int magic_number;
++ static int volatile magic_number;
+ static WvTaskList all_tasks, free_tasks;
+
+ static void get_stack(WvTask &task, size_t size);
+--- a/include/wvuid.h
++++ b/include/wvuid.h
+@@ -7,6 +7,7 @@
+ #ifndef __WVUID_H
+ #define __WVUID_H
+
++#include <unistd.h>
+ #include "wvstring.h"
+
+ #if WIN32
+--- a/utils/wvtask.cc
++++ b/utils/wvtask.cc
+@@ -58,7 +58,8 @@
+ int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning;
+
+ WvTaskMan *WvTaskMan::singleton;
+-int WvTaskMan::links, WvTaskMan::magic_number;
++int WvTaskMan::links;
++int volatile WvTaskMan::magic_number;
+ WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks;
+ ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return,
+ WvTaskMan::toplevel;
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-glibc212.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-glibc212.patch
new file mode 100644
index 000000000000..38218d7213a9
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-glibc212.patch
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/333301
+
+--- a/ipstreams/wvunixdgsocket.cc
++++ b/ipstreams/wvunixdgsocket.cc
+@@ -1,5 +1,5 @@
+ #include "wvunixdgsocket.h"
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+--- a/streams/wvatomicfile.cc
++++ b/streams/wvatomicfile.cc
+@@ -11,7 +11,8 @@
+ #include "wvfileutils.h"
+ #include "wvstrutils.h"
+
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
++#include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-openssl-1.0.0.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-openssl-1.0.0.patch
new file mode 100644
index 000000000000..327e19a0c11b
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-openssl-1.0.0.patch
@@ -0,0 +1,16 @@
+http://bugs.gentoo.org/304283
+
+--- a/crypto/wvx509.cc
++++ b/crypto/wvx509.cc
+@@ -1157,7 +1157,11 @@
+
+ if (ext)
+ {
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#else
+ X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
++#endif
+ if (!method)
+ {
+ WvDynBuf buf;
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-parallel-make.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-parallel-make.patch
new file mode 100644
index 000000000000..688178c3a1bd
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-parallel-make.patch
@@ -0,0 +1,56 @@
+--- a/Makefile
++++ b/Makefile
+@@ -131,12 +131,19 @@
+ # libwvstreams: stream/event handling library
+ #
+ TARGETS += libwvstreams.so
+-TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest
++TARGETS += crypto/tests/ssltest
++crypto/tests/ssltest: $(LIBWVSTREAMS)
++
++TARGETS += ipstreams/tests/unixtest
++ipstreams/tests/unixtest: $(LIBWVSTREAMS)
++
+ TARGETS += crypto/tests/printcert
++crypto/tests/printcert: $(LIBWVSTREAMS)
+
+ ifndef _MACOS
+ ifneq ("$(with_readline)", "no")
+ TARGETS += ipstreams/tests/wsd
++ ipstreams/tests/wsd: $(LIBWVSTREAMS)
+ ipstreams/tests/wsd-LIBS += -lreadline
+ else
+ TEST_SKIP_OBJS += ipstreams/tests/wsd
+@@ -179,7 +186,11 @@
+ #
+ ifneq ("$(with_dbus)", "no")
+ TARGETS += libwvdbus.so
+- TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd
++ TARGETS += dbus/tests/wvdbus
++ dbus/tests/wvdbus: $(LIBWVDBUS)
++
++ TARGETS += dbus/tests/wvdbusd
++ dbus/tests/wvdbusd: $(LIBWVDBUS)
+ TESTS += $(call tests_cc,dbus/tests)
+ libwvdbus_OBJS += $(call objects,dbus)
+ libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS)
+--- a/wvrules-posix.mk
++++ b/wvrules-posix.mk
+@@ -85,12 +85,15 @@
+ $(AR) s $1
+ endef
+
+-CC: FORCE
++CC:
+ @CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ $(WVSTREAMS)/gen-cc CC c
+
+-CXX: FORCE
++CXX:
+ @CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ $(WVSTREAMS)/gen-cc CXX cc
+
++#All files must depend on the above two rules. This is a godawful hack.
++$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX
++
+ wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS)
diff --git a/net-libs/wvstreams/metadata.xml b/net-libs/wvstreams/metadata.xml
new file mode 100644
index 000000000000..bc7e48187998
--- /dev/null
+++ b/net-libs/wvstreams/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type='person'>
+<email>jer@gentoo.org</email>
+</maintainer>
+ <upstream>
+ <remote-id type="google-code">wvstreams</remote-id>
+ </upstream>
+ <use>
+ <flag name="boost">
+ Use <pkg>dev-libs/boost</pkg> to provide TR1-compatible
+ functional interface. This USE flag is only needed with GCC
+ earlier than version 4.1, or with other compilares not providing
+ said interface.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild b/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild
new file mode 100644
index 000000000000..dad2d2f206a9
--- /dev/null
+++ b/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic toolchain-funcs versionator
+
+DESCRIPTION="A network programming library in C++"
+HOMEPAGE="http://alumnit.ca/wiki/?WvStreams"
+SRC_URI="https://wvstreams.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc sparc x86"
+IUSE="pam doc +ssl +dbus debug boost"
+
+#Tests fail if openssl is not compiled with -DPURIFY. Gentoo's isn't. FAIL!
+RESTRICT="test"
+
+#QA Fail: xplc is compiled as a part of wvstreams.
+#It'll take a larger patching effort to get it extracted, since upstream integrated it
+#more tightly this time. Probably for the better since upstream xplc seems dead.
+
+RDEPEND="sys-libs/readline:0=
+ sys-libs/zlib
+ dbus? ( >=sys-apps/dbus-1.4.20 )
+ <dev-libs/openssl-1.1:0=
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ boost? ( >=dev-libs/boost-1.34.1:= )"
+
+DOCS="ChangeLog README*"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ if ! use boost && ! version_is_at_least 4.1 "$(gcc-fullversion)"; then
+ eerror "This package requires the active gcc to be at least version 4.1"
+ eerror "or USE=boost must be installed."
+ die "Please activate >=sys-devel/gcc-4.1 with gcc-config."
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-parallel-make.patch \
+ "${FILESDIR}"/${P}-openssl-1.0.0.patch \
+ "${FILESDIR}"/${P}-glibc212.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-fix-c++14.patch
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ argp/configure.ac || die
+
+ eautoreconf
+ pushd argp >/dev/null
+ eautoreconf
+ popd >/dev/null
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ append-flags -fno-tree-dce -fno-optimize-sibling-calls #421375
+
+ tc-export AR CXX
+
+ use boost && export ac_cv_header_tr1_functional=no
+
+ econf \
+ --localstatedir=/var \
+ $(use_enable debug) \
+ --disable-optimization \
+ $(use_with dbus) \
+ --with-openssl \
+ $(use_with pam) \
+ --without-tcl \
+ --without-qt \
+ --with-zlib \
+ --without-valgrind
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die
+ fi
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ #the list of files is too big for dohtml -r Docs/doxy-html/*
+ cd Docs/doxy-html
+ dohtml -r *
+ fi
+}
diff --git a/net-libs/wvstreams/wvstreams-4.6.1-r4.ebuild b/net-libs/wvstreams/wvstreams-4.6.1-r4.ebuild
new file mode 100644
index 000000000000..df4b00f5a857
--- /dev/null
+++ b/net-libs/wvstreams/wvstreams-4.6.1-r4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic toolchain-funcs versionator
+
+DESCRIPTION="A network programming library in C++"
+HOMEPAGE="http://alumnit.ca/wiki/?WvStreams"
+SRC_URI="https://wvstreams.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="pam doc +ssl +dbus debug boost"
+
+#Tests fail if openssl is not compiled with -DPURIFY. Gentoo's isn't. FAIL!
+RESTRICT="test"
+
+#QA Fail: xplc is compiled as a part of wvstreams.
+#It'll take a larger patching effort to get it extracted, since upstream integrated it
+#more tightly this time. Probably for the better since upstream xplc seems dead.
+
+RDEPEND="
+ <dev-libs/openssl-1.1:0=
+ sys-libs/readline:0=
+ sys-libs/zlib
+ dbus? ( >=sys-apps/dbus-1.4.20 )
+ pam? ( virtual/pam )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ boost? ( >=dev-libs/boost-1.34.1:= )
+"
+DOCS="ChangeLog README*"
+PATCHES=(
+ "${FILESDIR}"/${P}-autoconf.patch
+ "${FILESDIR}"/${P}-fix-c++14.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-glibc212.patch
+ "${FILESDIR}"/${P}-openssl-1.0.0.patch
+ "${FILESDIR}"/${P}-parallel-make.patch
+ "${FILESDIR}"/${P}-_DEFAULT_SOURCE.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ append-flags -fno-tree-dce -fno-optimize-sibling-calls #421375
+
+ tc-export AR CXX
+
+ use boost && export ac_cv_header_tr1_functional=no
+
+ econf \
+ $(use_enable debug) \
+ $(use_with dbus) \
+ $(use_with pam) \
+ --cache-file=${T}/config.cache \
+ --disable-optimization \
+ --localstatedir=/var \
+ --with-openssl \
+ --with-zlib \
+ --without-qt \
+ --without-tcl \
+ --without-valgrind
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die
+ fi
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ #the list of files is too big for dohtml -r Docs/doxy-html/*
+ docinto html
+ dodoc -r Docs/doxy-html/*
+ fi
+}
diff --git a/net-libs/wvstreams/wvstreams-4.6.1-r5.ebuild b/net-libs/wvstreams/wvstreams-4.6.1-r5.ebuild
new file mode 100644
index 000000000000..8d33d4bb7186
--- /dev/null
+++ b/net-libs/wvstreams/wvstreams-4.6.1-r5.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic toolchain-funcs versionator
+
+DESCRIPTION="A network programming library in C++"
+HOMEPAGE="http://alumnit.ca/wiki/?WvStreams"
+SRC_URI="https://wvstreams.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="pam doc +ssl +dbus debug boost"
+
+#Tests fail if openssl is not compiled with -DPURIFY. Gentoo's isn't. FAIL!
+RESTRICT="test"
+
+#QA Fail: xplc is compiled as a part of wvstreams.
+#It'll take a larger patching effort to get it extracted, since upstream integrated it
+#more tightly this time. Probably for the better since upstream xplc seems dead.
+
+RDEPEND="
+ <dev-libs/openssl-1.1:0=
+ sys-libs/readline:0=
+ sys-libs/zlib
+ dbus? ( >=sys-apps/dbus-1.4.20 )
+ pam? ( virtual/pam )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ boost? ( >=dev-libs/boost-1.34.1:= )
+"
+DOCS="ChangeLog README*"
+PATCHES=(
+ "${FILESDIR}"/${P}-autoconf.patch
+ "${FILESDIR}"/${P}-fix-c++14.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-glibc212.patch
+ "${FILESDIR}"/${P}-openssl-1.0.0.patch
+ "${FILESDIR}"/${P}-parallel-make.patch
+ "${FILESDIR}"/${P}-_DEFAULT_SOURCE.patch
+ "${FILESDIR}"/${P}-2048-bytes-should-be-enough-right-question-mark.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ append-flags -fno-tree-dce -fno-optimize-sibling-calls #421375
+
+ tc-export AR CXX
+
+ use boost && export ac_cv_header_tr1_functional=no
+
+ econf \
+ $(use_enable debug) \
+ $(use_with dbus) \
+ $(use_with pam) \
+ --cache-file=${T}/config.cache \
+ --disable-optimization \
+ --localstatedir=/var \
+ --with-openssl \
+ --with-zlib \
+ --without-qt \
+ --without-tcl \
+ --without-valgrind
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die
+ fi
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ default
+
+ if use doc; then
+ #the list of files is too big for dohtml -r Docs/doxy-html/*
+ docinto html
+ dodoc -r Docs/doxy-html/*
+ fi
+}