Gentoo Archives: gentoo-commits

From: Quentin Retornaz <gentoo@××××××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/libressl:master commit in: net-libs/wvstreams/files/, net-libs/wvstreams/
Date: Sun, 03 Jul 2022 17:47:40
Message-Id: 1656870420.2898e36e6587a7082f11965291381e0c9bda1220.quentin@gentoo
1 commit: 2898e36e6587a7082f11965291381e0c9bda1220
2 Author: orbea <orbea <AT> riseup <DOT> net>
3 AuthorDate: Sun Jul 3 02:42:51 2022 +0000
4 Commit: Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
5 CommitDate: Sun Jul 3 17:47:00 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=2898e36e
7
8 net-libs/wvstreams: Remove package
9
10 Works with libressl-3.5.x and wvstreams-4.6.1_p14-r2::gentoo.
11
12 Signed-off-by: orbea <orbea <AT> riseup.net>
13 Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>
14
15 net-libs/wvstreams/Manifest | 2 -
16 .../files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch | 11 -
17 .../wvstreams/files/wvstreams-4.6.1-autoconf.patch | 31 --
18 .../wvstreams/files/wvstreams-4.6.1-gcc47.patch | 50 ---
19 .../files/wvstreams-4.6.1-parallel-make.patch | 56 ---
20 .../files/wvstreams-4.6.1_p14-libressl.patch | 114 ------
21 .../wvstreams/files/wvstreams-4.6.1_p14-llvm.patch | 412 ---------------------
22 .../files/wvstreams-4.6.1_p14-xplc-module.patch | 25 --
23 net-libs/wvstreams/metadata.xml | 16 -
24 net-libs/wvstreams/wvstreams-4.6.1_p14-r1.ebuild | 100 -----
25 10 files changed, 817 deletions(-)
26
27 diff --git a/net-libs/wvstreams/Manifest b/net-libs/wvstreams/Manifest
28 deleted file mode 100644
29 index ac90826..0000000
30 --- a/net-libs/wvstreams/Manifest
31 +++ /dev/null
32 @@ -1,2 +0,0 @@
33 -DIST wvstreams_4.6.1-14.debian.tar.xz 21124 BLAKE2B 2af6ec180c3130dd7def733e5ea569fd0a81cd2c2411daca25e6042dcbe78792bafc4b13f1c1fffddb6cd66273f11c62f54b415c975cbea0af052b18ff0955d1 SHA512 93ea7c4fbab542bd552d6e91ae0c49a27ad8aded177ae6474943acb08d204ab31eac49b3f416b4d90a38ea697f3641c09651a64f9c40d12543d454aadf2ad9e4
34 -DIST wvstreams_4.6.1.orig.tar.gz 1118456 BLAKE2B 62243d9adc6ff5d01b7dfeb2ce24e8e530914e6ac4540e542dc3cee31e00d32211ad1c6085d7f5bd6e5fd85ff66e8c93afa37cec81f976590ba150f039dc8580 SHA512 59d64e527d86394b768b35254bf95ea59c412c0e092393ea3c84ec3202949150439bb6093bd7350b64ad4767acdb8feb38806c03de4e5cf238ed893f41db4a4a
35
36 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
37 deleted file mode 100644
38 index 1084a5b..0000000
39 --- a/net-libs/wvstreams/files/wvstreams-4.6.1-_DEFAULT_SOURCE.patch
40 +++ /dev/null
41 @@ -1,11 +0,0 @@
42 ---- a/wvrules.mk
43 -+++ b/wvrules.mk
44 -@@ -83,7 +83,7 @@
45 -
46 - INCFLAGS=$(addprefix -I,$(WVSTREAMS_INC) $(XPATH))
47 - CPPFLAGS+=$(INCFLAGS) \
48 -- -D_BSD_SOURCE -D_GNU_SOURCE $(OSDEFINE) \
49 -+ -D_DEFAULT_SOURCE $(OSDEFINE) \
50 - -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
51 - -DUNSTABLE
52 -
53
54 diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch
55 deleted file mode 100644
56 index a9b9a5a..0000000
57 --- a/net-libs/wvstreams/files/wvstreams-4.6.1-autoconf.patch
58 +++ /dev/null
59 @@ -1,31 +0,0 @@
60 ---- a/configure.ac
61 -+++ b/configure.ac
62 -@@ -641,6 +641,8 @@
63 -
64 - AC_CONFIG_HEADERS(include/wvautoconf.h)
65 -
66 -+AC_CONFIG_SUBDIRS(argp)
67 -+
68 - AC_OUTPUT
69 -
70 - # Now convert PACKAGE_* macros into WVPACKAGE_* in include/wvautoconf.h
71 ---- a/argp/configure.ac
72 -+++ b/argp/configure.ac
73 -@@ -4,7 +4,7 @@
74 - AC_PREREQ(2.54)
75 - AC_INIT(argp-ba.c)
76 - AM_INIT_AUTOMAKE(argp, standalone-1.3)
77 --AM_CONFIG_HEADER(config.h)
78 -+AC_CONFIG_HEADERS(config.h)
79 -
80 - # GNU libc defaults to supplying the ISO C library functions only. The
81 - # _GNU_SOURCE define enables these extensions, in particular we want
82 -@@ -18,7 +18,7 @@
83 - AC_PROG_RANLIB
84 - AC_PROGRAM_CHECK(AR,ar,ar,:)
85 - AC_PROGRAM_CHECK(AR,gar,gar,:)
86 --AM_PROG_CC_STDC
87 -+AC_PROG_CC
88 -
89 - AC_SUBST(AR)
90 -
91
92 diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
93 deleted file mode 100644
94 index a1ad888..0000000
95 --- a/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
96 +++ /dev/null
97 @@ -1,50 +0,0 @@
98 -http://bugs.gentoo.org/419563
99 -http://bugs.gentoo.org/419971
100 -
101 -See -gcc47-patch and -magic.patch in Fedora git:
102 -
103 -http://pkgs.fedoraproject.org/gitweb/?p=libwvstreams.git;a=tree
104 -
105 ---- a/include/wvtask.h
106 -+++ b/include/wvtask.h
107 -@@ -45,7 +45,8 @@
108 - typedef void TaskFunc(void *userdata);
109 -
110 - static int taskcount, numtasks, numrunning;
111 -- int magic_number, *stack_magic;
112 -+ int volatile magic_number;
113 -+ int *stack_magic;
114 - WvString name;
115 - int tid;
116 -
117 -@@ -84,7 +85,7 @@
118 - static WvTaskMan *singleton;
119 - static int links;
120 -
121 -- static int magic_number;
122 -+ static int volatile magic_number;
123 - static WvTaskList all_tasks, free_tasks;
124 -
125 - static void get_stack(WvTask &task, size_t size);
126 ---- a/include/wvuid.h
127 -+++ b/include/wvuid.h
128 -@@ -7,6 +7,7 @@
129 - #ifndef __WVUID_H
130 - #define __WVUID_H
131 -
132 -+#include <unistd.h>
133 - #include "wvstring.h"
134 -
135 - #if WIN32
136 ---- a/utils/wvtask.cc
137 -+++ b/utils/wvtask.cc
138 -@@ -58,7 +58,8 @@
139 - int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning;
140 -
141 - WvTaskMan *WvTaskMan::singleton;
142 --int WvTaskMan::links, WvTaskMan::magic_number;
143 -+int WvTaskMan::links;
144 -+int volatile WvTaskMan::magic_number;
145 - WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks;
146 - ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return,
147 - WvTaskMan::toplevel;
148
149 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
150 deleted file mode 100644
151 index 688178c..0000000
152 --- a/net-libs/wvstreams/files/wvstreams-4.6.1-parallel-make.patch
153 +++ /dev/null
154 @@ -1,56 +0,0 @@
155 ---- a/Makefile
156 -+++ b/Makefile
157 -@@ -131,12 +131,19 @@
158 - # libwvstreams: stream/event handling library
159 - #
160 - TARGETS += libwvstreams.so
161 --TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest
162 -+TARGETS += crypto/tests/ssltest
163 -+crypto/tests/ssltest: $(LIBWVSTREAMS)
164 -+
165 -+TARGETS += ipstreams/tests/unixtest
166 -+ipstreams/tests/unixtest: $(LIBWVSTREAMS)
167 -+
168 - TARGETS += crypto/tests/printcert
169 -+crypto/tests/printcert: $(LIBWVSTREAMS)
170 -
171 - ifndef _MACOS
172 - ifneq ("$(with_readline)", "no")
173 - TARGETS += ipstreams/tests/wsd
174 -+ ipstreams/tests/wsd: $(LIBWVSTREAMS)
175 - ipstreams/tests/wsd-LIBS += -lreadline
176 - else
177 - TEST_SKIP_OBJS += ipstreams/tests/wsd
178 -@@ -179,7 +186,11 @@
179 - #
180 - ifneq ("$(with_dbus)", "no")
181 - TARGETS += libwvdbus.so
182 -- TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd
183 -+ TARGETS += dbus/tests/wvdbus
184 -+ dbus/tests/wvdbus: $(LIBWVDBUS)
185 -+
186 -+ TARGETS += dbus/tests/wvdbusd
187 -+ dbus/tests/wvdbusd: $(LIBWVDBUS)
188 - TESTS += $(call tests_cc,dbus/tests)
189 - libwvdbus_OBJS += $(call objects,dbus)
190 - libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS)
191 ---- a/wvrules-posix.mk
192 -+++ b/wvrules-posix.mk
193 -@@ -85,12 +85,15 @@
194 - $(AR) s $1
195 - endef
196 -
197 --CC: FORCE
198 -+CC:
199 - @CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
200 - $(WVSTREAMS)/gen-cc CC c
201 -
202 --CXX: FORCE
203 -+CXX:
204 - @CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
205 - $(WVSTREAMS)/gen-cc CXX cc
206 -
207 -+#All files must depend on the above two rules. This is a godawful hack.
208 -+$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX
209 -+
210 - wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS)
211
212 diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-libressl.patch b/net-libs/wvstreams/files/wvstreams-4.6.1_p14-libressl.patch
213 deleted file mode 100644
214 index e897c95..0000000
215 --- a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-libressl.patch
216 +++ /dev/null
217 @@ -1,114 +0,0 @@
218 -From cb8a81da928054c2e8174d671f2abc88f4f35b87 Mon Sep 17 00:00:00 2001
219 -From: Stefan Strogin <steils@g.o>
220 -Date: Mon, 10 Jun 2019 17:07:06 +0300
221 -Subject: [PATCH] Fix LibreSSL support
222 -
223 ----
224 - crypto/wvocsp.cc | 34 ++++++++++++++++++++++++++++++++++
225 - crypto/wvx509mgr.cc | 14 ++++++++++++++
226 - include/wvdigest.h | 1 +
227 - 3 files changed, 49 insertions(+)
228 -
229 -diff --git a/crypto/wvocsp.cc b/crypto/wvocsp.cc
230 -index 7d5da072..7a157f90 100644
231 ---- a/crypto/wvocsp.cc
232 -+++ b/crypto/wvocsp.cc
233 -@@ -130,6 +130,7 @@ bool WvOCSPResp::signedbycert(const WvX509 &cert) const
234 - }
235 -
236 -
237 -+#ifndef LIBRESSL_VERSION_NUMBER
238 - WvX509 WvOCSPResp::get_signing_cert() const
239 - {
240 - const STACK_OF(X509) *certs = OCSP_resp_get0_certs(bs);
241 -@@ -143,6 +144,39 @@ WvX509 WvOCSPResp::get_signing_cert() const
242 -
243 - return WvX509();
244 - }
245 -+#else
246 -+WvX509 WvOCSPResp::get_signing_cert() const
247 -+{
248 -+ if (!bs || !sk_X509_num(bs->certs))
249 -+ return WvX509();
250 -+
251 -+ // note: the following bit of code is taken almost verbatim from
252 -+ // ocsp_vfy.c in OpenSSL 0.9.8. Copyright and attribution should
253 -+ // properly belong to them
254 -+
255 -+ OCSP_RESPID *id = bs->tbsResponseData->responderId;
256 -+
257 -+ if (id->type == V_OCSP_RESPID_NAME)
258 -+ {
259 -+ X509 *x = X509_find_by_subject(bs->certs, id->value.byName);
260 -+ if (x)
261 -+ return WvX509(X509_dup(x));
262 -+ }
263 -+
264 -+ if (id->value.byKey->length != SHA_DIGEST_LENGTH) return NULL;
265 -+ unsigned char tmphash[SHA_DIGEST_LENGTH];
266 -+ unsigned char *keyhash = id->value.byKey->data;
267 -+ for (int i = 0; i < sk_X509_num(bs->certs); i++)
268 -+ {
269 -+ X509 *x = sk_X509_value(bs->certs, i);
270 -+ X509_pubkey_digest(x, EVP_sha1(), tmphash, NULL);
271 -+ if(!memcmp(keyhash, tmphash, SHA_DIGEST_LENGTH))
272 -+ return WvX509(X509_dup(x));
273 -+ }
274 -+
275 -+ return WvX509();
276 -+}
277 -+#endif /* LIBRESSL_VERSION_NUMBER */
278 -
279 -
280 - WvOCSPResp::Status WvOCSPResp::get_status(const WvX509 &cert,
281 -diff --git a/crypto/wvx509mgr.cc b/crypto/wvx509mgr.cc
282 -index 156d3a49..e2bb3ffe 100644
283 ---- a/crypto/wvx509mgr.cc
284 -+++ b/crypto/wvx509mgr.cc
285 -@@ -350,8 +350,15 @@ bool WvX509Mgr::signcert(WvX509 &unsignedcert) const
286 - return false;
287 - }
288 -
289 -+#ifndef LIBRESSL_VERSION_NUMBER
290 - uint32_t ex_flags = X509_get_extension_flags(cert);
291 - uint32_t ex_kusage = X509_get_key_usage(cert);
292 -+#else
293 -+ X509_check_purpose(cert, -1, -1);
294 -+ uint32_t ex_flags = cert->ex_flags;
295 -+ uint32_t ex_kusage = (cert->ex_flags & EXFLAG_KUSAGE) ?
296 -+ cert->ex_kusage : UINT32_MAX;
297 -+#endif
298 - if (cert == unsignedcert.cert)
299 - {
300 - debug("Self Signing!\n");
301 -@@ -392,8 +399,15 @@ bool WvX509Mgr::signcert(WvX509 &unsignedcert) const
302 -
303 - bool WvX509Mgr::signcrl(WvCRL &crl) const
304 - {
305 -+#ifndef LIBRESSL_VERSION_NUMBER
306 - uint32_t ex_flags = X509_get_extension_flags(cert);
307 - uint32_t ex_kusage = X509_get_key_usage(cert);
308 -+#else
309 -+ X509_check_purpose(cert, -1, -1);
310 -+ uint32_t ex_flags = cert->ex_flags;
311 -+ uint32_t ex_kusage = (cert->ex_flags & EXFLAG_KUSAGE) ?
312 -+ cert->ex_kusage : UINT32_MAX;
313 -+#endif
314 - if (!isok() || !crl.isok())
315 - {
316 - debug(WvLog::Warning, "Asked to sign CRL, but certificate or CRL (or "
317 -diff --git a/include/wvdigest.h b/include/wvdigest.h
318 -index f2eed401..e637fb49 100644
319 ---- a/include/wvdigest.h
320 -+++ b/include/wvdigest.h
321 -@@ -10,6 +10,7 @@
322 - #include "wvencoder.h"
323 - #include <stdint.h>
324 - #include <openssl/evp.h>
325 -+#include <openssl/hmac.h>
326 -
327 -
328 - /**
329 ---
330 -2.21.0
331 -
332
333 diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-llvm.patch b/net-libs/wvstreams/files/wvstreams-4.6.1_p14-llvm.patch
334 deleted file mode 100644
335 index 156d198..0000000
336 --- a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-llvm.patch
337 +++ /dev/null
338 @@ -1,412 +0,0 @@
339 ---- a/include/uniconf.h
340 -+++ b/include/uniconf.h
341 -@@ -434,7 +434,7 @@
342 - */
343 - class UniConf::Iter : public UniConf::IterBase
344 - {
345 -- UniConfGen::Iter *it;
346 -+ IUniConfGen::Iter *it;
347 -
348 - public:
349 - /** Creates an iterator over the direct children of a branch. */
350 -@@ -465,7 +465,7 @@
351 - */
352 - class UniConf::RecursiveIter : public UniConf::IterBase
353 - {
354 -- UniConfGen::Iter *it;
355 -+ IUniConfGen::Iter *it;
356 -
357 - public:
358 - /** Creates a recursive iterator over a branch. */
359 ---- a/include/uniconfgen.h
360 -+++ b/include/uniconfgen.h
361 -@@ -153,8 +153,50 @@
362 - */
363 - virtual bool haschildren(const UniConfKey &key) = 0;
364 -
365 -- /** The abstract iterator type (see below) */
366 -- class Iter;
367 -+ /**
368 -+ * An abstract iterator over keys and values in a generator.
369 -+ *
370 -+ * Unlike other WvStreams iterators, this one declares virtual methods so
371 -+ * that UniConfGen implementations can supply the right behaviour
372 -+ * through a common interface that does not depend on static typing.
373 -+ *
374 -+ * The precise traversal sequence is defined by the iterator implementation.
375 -+ *
376 -+ * The iterator need not support concurrent modifications of the underlying
377 -+ * data structures.
378 -+ *
379 -+ * TODO: Consider changing this rule depending on observed usage patterns.
380 -+ */
381 -+ class Iter
382 -+ {
383 -+ public:
384 -+ /** Destroys the iterator. */
385 -+ virtual ~Iter() { }
386 -+
387 -+ /**
388 -+ * Rewinds the iterator.
389 -+ * Must be called prior to the first invocation of next().
390 -+ */
391 -+ virtual void rewind() = 0;
392 -+
393 -+ /**
394 -+ * Seeks to the next element in the sequence.
395 -+ * Returns true if that element exists.
396 -+ * Must be called prior to the first invocation of key().
397 -+ */
398 -+ virtual bool next() = 0;
399 -+
400 -+ /** Returns the current key. */
401 -+ virtual UniConfKey key() const = 0;
402 -+
403 -+ /**
404 -+ * Returns the value of the current key. You could just do a get(),
405 -+ * but maybe your generator has a more efficient way.
406 -+ */
407 -+ virtual WvString value() const = 0;
408 -+ };
409 -+
410 -+
411 -
412 - /** A concrete null iterator type (see below) */
413 - class NullIter;
414 -@@ -214,7 +256,7 @@
415 - public:
416 - /** Destroys the UniConfGen and may discard uncommitted data. */
417 - virtual ~UniConfGen();
418 --
419 -+
420 - /***** Notification API *****/
421 -
422 - /**
423 -@@ -300,70 +342,28 @@
424 - protected:
425 - // A naive implementation of setv() that uses only set().
426 - void setv_naive(const UniConfPairList &pairs);
427 --};
428 --
429 --DeclareWvList(IUniConfGen);
430 --DeclareWvList2(UniConfGenList, IUniConfGen);
431 --
432 -
433 --/**
434 -- * An abstract iterator over keys and values in a generator.
435 -- *
436 -- * Unlike other WvStreams iterators, this one declares virtual methods so
437 -- * that UniConfGen implementations can supply the right behaviour
438 -- * through a common interface that does not depend on static typing.
439 -- *
440 -- * The precise traversal sequence is defined by the iterator implementation.
441 -- *
442 -- * The iterator need not support concurrent modifications of the underlying
443 -- * data structures.
444 -- *
445 -- * TODO: Consider changing this rule depending on observed usage patterns.
446 -- */
447 --class UniConfGen::Iter
448 --{
449 - public:
450 -- /** Destroys the iterator. */
451 -- virtual ~Iter() { }
452 --
453 -- /**
454 -- * Rewinds the iterator.
455 -- * Must be called prior to the first invocation of next().
456 -- */
457 -- virtual void rewind() = 0;
458 --
459 - /**
460 -- * Seeks to the next element in the sequence.
461 -- * Returns true if that element exists.
462 -- * Must be called prior to the first invocation of key().
463 -- */
464 -- virtual bool next() = 0;
465 --
466 -- /** Returns the current key. */
467 -- virtual UniConfKey key() const = 0;
468 --
469 -- /**
470 -- * Returns the value of the current key. You could just do a get(),
471 -- * but maybe your generator has a more efficient way.
472 -+ * An iterator that's always empty.
473 -+ * This is handy if you don't have anything good to iterate over.
474 - */
475 -- virtual WvString value() const = 0;
476 -+ class NullIter : public UniConfGen::Iter
477 -+ {
478 -+ public:
479 -+ /***** Overridden members *****/
480 -+
481 -+ virtual void rewind() { }
482 -+ virtual bool next() { return false; }
483 -+ virtual UniConfKey key() const { return UniConfKey::EMPTY; }
484 -+ virtual WvString value() const { return WvString(); }
485 -+ };
486 - };
487 -
488 -+DeclareWvList(IUniConfGen);
489 -+DeclareWvList2(UniConfGenList, IUniConfGen);
490 -+
491 -
492 --/**
493 -- * An iterator that's always empty.
494 -- * This is handy if you don't have anything good to iterate over.
495 -- */
496 --class UniConfGen::NullIter : public UniConfGen::Iter
497 --{
498 --public:
499 -- /***** Overridden members *****/
500 --
501 -- virtual void rewind() { }
502 -- virtual bool next() { return false; }
503 -- virtual UniConfKey key() const { return UniConfKey::EMPTY; }
504 -- virtual WvString value() const { return WvString(); }
505 --};
506 -
507 -
508 - #endif // __UNICONFGEN_H
509 ---- a/include/unifastregetgen.h
510 -+++ b/include/unifastregetgen.h
511 -@@ -42,7 +42,6 @@
512 - virtual bool haschildren(const UniConfKey &key);
513 -
514 - private:
515 -- IUniConfGen *inner;
516 - UniConfValueTree *tree;
517 -
518 - protected:
519 ---- a/include/unifiltergen.h
520 -+++ b/include/unifiltergen.h
521 -@@ -68,8 +68,8 @@
522 - virtual bool exists(const UniConfKey &key);
523 - virtual bool haschildren(const UniConfKey &key);
524 - virtual bool isok();
525 -- virtual Iter *iterator(const UniConfKey &key);
526 -- virtual Iter *recursiveiterator(const UniConfKey &key);
527 -+ virtual IUniConfGen::Iter *iterator(const UniConfKey &key);
528 -+ virtual IUniConfGen::Iter *recursiveiterator(const UniConfKey &key);
529 -
530 - protected:
531 - /**
532 ---- a/include/unihashtree.h
533 -+++ b/include/unihashtree.h
534 -@@ -62,10 +62,11 @@
535 - UniHashTreeBase *xparent; /*!< the parent of this subtree */
536 - Container *xchildren; /*!< the hash table of children */
537 -
538 --private:
539 - void _setparent(UniHashTreeBase *parent);
540 - UniHashTreeBase *_root() const;
541 -
542 -+private:
543 -+
544 - /** Called by a child to link itself to this node. */
545 - void link(UniHashTreeBase *node);
546 -
547 ---- a/include/unimountgen.h
548 -+++ b/include/unimountgen.h
549 -@@ -103,8 +103,8 @@
550 - virtual void commit();
551 - virtual bool refresh();
552 - virtual void flush_buffers() { }
553 -- virtual Iter *iterator(const UniConfKey &key);
554 -- virtual Iter *recursiveiterator(const UniConfKey &key);
555 -+ virtual IUniConfGen::Iter *iterator(const UniConfKey &key);
556 -+ virtual IUniConfGen::Iter *recursiveiterator(const UniConfKey &key);
557 -
558 - private:
559 - /** Find the active generator for a given key. */
560 ---- a/include/wvmoniker.h
561 -+++ b/include/wvmoniker.h
562 -@@ -72,7 +72,7 @@
563 - // from IObject, which is very important. The 'for' avoids a
564 - // warning.
565 - for(IObject *silly = (T *)NULL; silly; )
566 -- ;
567 -+ silly = (T *)NULL;
568 - };
569 - };
570 -
571 ---- a/include/wvpushdir.h
572 -+++ b/include/wvpushdir.h
573 -@@ -27,12 +27,11 @@
574 -
575 - WvPushDir(WvStringParm new_dir)
576 - {
577 --#ifdef MACOS
578 -- old_dir = static_cast<char *>(calloc(PATH_MAX, sizeof(char *)));
579 -- getcwd(old_dir, PATH_MAX);;
580 --#else
581 -- old_dir = get_current_dir_name();
582 --#endif
583 -+ old_dir = new char[2048];
584 -+ if (!getcwd(old_dir, 2048)) {
585 -+ errnum = errno;
586 -+ return;
587 -+ }
588 - dir_handle = opendir(old_dir);
589 - if (chdir(new_dir) == -1)
590 - errnum = errno;
591 ---- a/include/wvscatterhash.h
592 -+++ b/include/wvscatterhash.h
593 -@@ -183,7 +183,7 @@
594 - Iter(WvScatterHash &_table) : IterBase(_table) { }
595 - Iter(const Iter &other) : IterBase(other) { }
596 -
597 -- unsigned char *getstatus() { return &xstatus[index-1]; }
598 -+ unsigned char *getstatus() { return &this->xstatus[index-1]; }
599 -
600 - T *ptr() const
601 - { return (T *)(get()); }
602 ---- a/include/wvserialize.h
603 -+++ b/include/wvserialize.h
604 -@@ -60,6 +60,7 @@
605 - return htons(i);
606 - }
607 -
608 -+#ifndef ntohll
609 - /**
610 - * Helper functions to convert 64 bit ints to and from host byteorder
611 - */
612 -@@ -80,6 +81,7 @@
613 - return (((uint64_t)htonl(n)) << 32) | htonl(n >> 32);
614 - #endif
615 - }
616 -+#endif
617 -
618 - /**
619 - * A helper function that serializes different types of integers. Since
620 ---- a/include/wvtask.h
621 -+++ b/include/wvtask.h
622 -@@ -24,6 +24,7 @@
623 - #include "wvstreamsdebugger.h"
624 - #include "wvstringlist.h"
625 - #include "setjmp.h"
626 -+#define _XOPEN_SOURCE
627 - #include <ucontext.h>
628 -
629 - #define WVTASK_MAGIC 0x123678
630 ---- a/uniconf/unicachegen.cc
631 -+++ b/uniconf/unicachegen.cc
632 -@@ -69,7 +69,7 @@
633 -
634 - void UniCacheGen::loadtree(const UniConfKey &key)
635 - {
636 -- UniConfGen::Iter *i = inner->recursiveiterator(key);
637 -+ IUniConfGen::Iter *i = inner->recursiveiterator(key);
638 - if (!i) return;
639 -
640 - //assert(false);
641 ---- a/uniconf/uniconfgen.cc
642 -+++ b/uniconf/uniconfgen.cc
643 -@@ -104,7 +104,7 @@
644 -
645 - hold_delta();
646 -
647 -- Iter *it = iterator(key);
648 -+ IUniConfGen::Iter *it = iterator(key);
649 - if (it)
650 - {
651 - it->rewind();
652 -@@ -257,7 +257,7 @@
653 - };
654 -
655 -
656 --UniConfGen::Iter *UniConfGen::recursiveiterator(const UniConfKey &key)
657 -+IUniConfGen::Iter *UniConfGen::recursiveiterator(const UniConfKey &key)
658 - {
659 - return new _UniConfGenRecursiveIter(this, key);
660 - }
661 ---- a/uniconf/unifiltergen.cc
662 -+++ b/uniconf/unifiltergen.cc
663 -@@ -134,7 +134,7 @@
664 - }
665 -
666 -
667 --UniConfGen::Iter *UniFilterGen::iterator(const UniConfKey &key)
668 -+IUniConfGen::Iter *UniFilterGen::iterator(const UniConfKey &key)
669 - {
670 - UniConfKey mapped_key;
671 - if (xinner && keymap(key, mapped_key))
672 -@@ -144,7 +144,7 @@
673 - }
674 -
675 -
676 --UniConfGen::Iter *UniFilterGen::recursiveiterator(const UniConfKey &key)
677 -+IUniConfGen::Iter *UniFilterGen::recursiveiterator(const UniConfKey &key)
678 - {
679 - UniConfKey mapped_key;
680 - if (xinner && keymap(key, mapped_key))
681 ---- a/uniconf/unifstreegen.cc
682 -+++ b/uniconf/unifstreegen.cc
683 -@@ -62,7 +62,7 @@
684 - log("Key '%s' not found.\n", key);
685 - }
686 -
687 -- virtual Iter *recursiveiterator(const UniConfKey &key)
688 -+ virtual IUniConfGen::Iter *recursiveiterator(const UniConfKey &key)
689 - {
690 - // don't try to optimize this like UniMountGen does, because we're
691 - // going to mount things *as* we iterate through them, not sooner.
692 ---- a/uniconf/unimountgen.cc
693 -+++ b/uniconf/unimountgen.cc
694 -@@ -305,7 +305,7 @@
695 - return strcmp(*l, *r);
696 - }
697 -
698 --UniMountGen::Iter *UniMountGen::iterator(const UniConfKey &key)
699 -+IUniConfGen::Iter *UniMountGen::iterator(const UniConfKey &key)
700 - {
701 - UniGenMount *found = findmount(key);
702 - if (found)
703 -@@ -345,7 +345,7 @@
704 - // FIXME: this function will be rather slow if you try to iterate over multiple
705 - // generators and the latency level is high (as is the case with e.g.: the tcp generator).
706 - // the fast path will only kick in if you iterate over a single generator.
707 --UniMountGen::Iter *UniMountGen::recursiveiterator(const UniConfKey &key)
708 -+IUniConfGen::Iter *UniMountGen::recursiveiterator(const UniConfKey &key)
709 - {
710 - UniGenMount *found = findmountunder(key);
711 - if (found)
712 ---- a/utils/t/wvpushdir.t.cc
713 -+++ b/utils/t/wvpushdir.t.cc
714 -@@ -15,14 +15,9 @@
715 -
716 - WVPASS(newpushdir.isok());
717 -
718 --#ifdef MACOS
719 -- char *pwd = static_cast<char *>(calloc(PATH_MAX,sizeof(char *)));
720 -- getcwd(pwd,PATH_MAX);
721 --#else
722 -- char *pwd = get_current_dir_name();
723 --#endif
724 -+ char pwd[1024] = "";
725 -+ getcwd(pwd, sizeof(pwd));
726 - WVPASSEQ(pwd, dir);
727 -- free(pwd);
728 -
729 - unlink(dir);
730 - }
731 ---- a/utils/wvpam.cc
732 -+++ b/utils/wvpam.cc
733 -@@ -5,6 +5,7 @@
734 - * A WvStream that authenticates with PAM before allowing any reading or
735 - * writing. See wvpam.h.
736 - */
737 -+#include <pwd.h>
738 - #include "wvlog.h"
739 - #include "wvpam.h"
740 - #include "wvautoconf.h"
741 ---- a/xplc/modulemgr.cc
742 -+++ b/xplc/modulemgr.cc
743 -@@ -23,6 +23,7 @@
744 - #include <assert.h>
745 - #include "modulemgr.h"
746 - #include <xplc/IModuleLoader.h>
747 -+#include <unistd.h>
748 -
749 - #include "config.h"
750 -
751
752 diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-xplc-module.patch b/net-libs/wvstreams/files/wvstreams-4.6.1_p14-xplc-module.patch
753 deleted file mode 100644
754 index a7d931c..0000000
755 --- a/net-libs/wvstreams/files/wvstreams-4.6.1_p14-xplc-module.patch
756 +++ /dev/null
757 @@ -1,25 +0,0 @@
758 ---- a/include/xplc/module.h
759 -+++ b/include/xplc/module.h
760 -@@ -100,19 +100,19 @@
761 - * XPLC module magic number. This is to ensure that it is in fact a
762 - * valid XPLC module that has been loaded.
763 - */
764 -- unsigned long magic;
765 -+ signed long magic;
766 - /**
767 - * The XPLC module ABI version that this module conforms to. This
768 - * should always be the first member of the XPLC_ModuleInfo
769 - * structure, as the meaning of the following members depend on it.
770 - */
771 -- unsigned int version_major;
772 -+ signed int version_major;
773 - /**
774 - * The XPLC module ABI sub-version that this module conforms
775 - * to. This is used for optional and backward-compatible changes in
776 - * the module ABI.
777 - */
778 -- unsigned int version_minor;
779 -+ signed int version_minor;
780 -
781 - /**
782 - * Description string for the module.
783
784 diff --git a/net-libs/wvstreams/metadata.xml b/net-libs/wvstreams/metadata.xml
785 deleted file mode 100644
786 index d49958f..0000000
787 --- a/net-libs/wvstreams/metadata.xml
788 +++ /dev/null
789 @@ -1,16 +0,0 @@
790 -<?xml version="1.0" encoding="UTF-8"?>
791 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
792 -<pkgmetadata>
793 -<!-- maintainer-needed -->
794 - <upstream>
795 - <remote-id type="google-code">wvstreams</remote-id>
796 - </upstream>
797 - <use>
798 - <flag name="boost">
799 - Use <pkg>dev-libs/boost</pkg> to provide TR1-compatible
800 - functional interface. This USE flag is only needed with GCC
801 - earlier than version 4.1, or with other compilares not providing
802 - said interface.
803 - </flag>
804 - </use>
805 -</pkgmetadata>
806
807 diff --git a/net-libs/wvstreams/wvstreams-4.6.1_p14-r1.ebuild b/net-libs/wvstreams/wvstreams-4.6.1_p14-r1.ebuild
808 deleted file mode 100644
809 index 5dd3bec..0000000
810 --- a/net-libs/wvstreams/wvstreams-4.6.1_p14-r1.ebuild
811 +++ /dev/null
812 @@ -1,100 +0,0 @@
813 -# Copyright 1999-2021 Gentoo Authors
814 -# Distributed under the terms of the GNU General Public License v2
815 -
816 -EAPI=7
817 -inherit autotools flag-o-matic toolchain-funcs
818 -
819 -DESCRIPTION="A network programming library in C++"
820 -HOMEPAGE="https://github.com/apenwarr/wvstreams"
821 -SRC_URI="
822 - mirror://debian/pool/main/w/${PN}/${PN}_${PV/_p*}.orig.tar.gz
823 - mirror://debian/pool/main/w/${PN}/${PN}_${PV/_p/-}.debian.tar.xz
824 -"
825 -
826 -LICENSE="GPL-2"
827 -SLOT="0"
828 -KEYWORDS="~alpha amd64 ~hppa ppc sparc x86"
829 -IUSE="boost +dbus debug doc pam"
830 -
831 -#Tests fail if openssl is not compiled with -DPURIFY. Gentoo's isn't. FAIL!
832 -RESTRICT="test"
833 -
834 -#QA Fail: xplc is compiled as a part of wvstreams.
835 -#It'll take a larger patching effort to get it extracted, since upstream integrated it
836 -#more tightly this time. Probably for the better since upstream xplc seems dead.
837 -
838 -RDEPEND="
839 - sys-libs/readline:0=
840 - sys-libs/zlib
841 - dbus? ( >=sys-apps/dbus-1.4.20 )
842 - >=dev-libs/openssl-1.1:0=
843 - pam? ( sys-libs/pam )
844 -"
845 -DEPEND="
846 - ${RDEPEND}
847 - virtual/pkgconfig
848 - doc? ( app-doc/doxygen )
849 - boost? ( >=dev-libs/boost-1.34.1:= )
850 -"
851 -DOCS="ChangeLog README*"
852 -PATCHES=(
853 - "${FILESDIR}"/${PN}-4.6.1-autoconf.patch
854 - "${FILESDIR}"/${PN}-4.6.1-gcc47.patch
855 - "${FILESDIR}"/${PN}-4.6.1-parallel-make.patch
856 - "${FILESDIR}"/${PN}-4.6.1-_DEFAULT_SOURCE.patch
857 - "${FILESDIR}"/${PN}-4.6.1_p14-xplc-module.patch
858 - "${FILESDIR}"/${PN}-4.6.1_p14-llvm.patch
859 -)
860 -S=${WORKDIR}/${P/_p*}
861 -
862 -src_prepare() {
863 - default
864 -
865 - eapply $(awk '{ print "'"${WORKDIR}"'/debian/patches/" $0; }' < "${WORKDIR}"/debian/patches/series)
866 - eapply "${FILESDIR}"/${P}-libressl.patch # bug 687096
867 -
868 - eautoreconf
869 -}
870 -
871 -src_configure() {
872 - append-flags -fno-strict-aliasing
873 - append-flags -fno-tree-dce -fno-optimize-sibling-calls #421375
874 -
875 - tc-export AR CXX
876 -
877 - use boost && export ac_cv_header_tr1_functional=no
878 -
879 - econf \
880 - $(use_enable debug) \
881 - $(use_with dbus) \
882 - $(use_with pam) \
883 - --cache-file="${T}"/config.cache \
884 - --disable-optimization \
885 - --localstatedir=/var \
886 - --with-openssl \
887 - --with-zlib \
888 - --without-qt \
889 - --without-tcl \
890 - --without-valgrind
891 -}
892 -
893 -src_compile() {
894 - default
895 -
896 - if use doc; then
897 - doxygen || die
898 - fi
899 -}
900 -
901 -src_test() {
902 - emake test
903 -}
904 -
905 -src_install() {
906 - default
907 -
908 - if use doc; then
909 - docinto html
910 - dodoc -r Docs/doxy-html/*
911 - fi
912 -}