summaryrefslogtreecommitdiff
path: root/dev-libs/zthread
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 /dev-libs/zthread
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/zthread')
-rw-r--r--dev-libs/zthread/Manifest15
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch75
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake.patch45
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-clang.patch16
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-gcc47.patch25
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch26
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff94
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff94
-rw-r--r--dev-libs/zthread/metadata.xml11
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r1.ebuild58
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r2.ebuild62
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r3.ebuild65
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r4.ebuild66
13 files changed, 652 insertions, 0 deletions
diff --git a/dev-libs/zthread/Manifest b/dev-libs/zthread/Manifest
new file mode 100644
index 000000000000..5b1880e8729b
--- /dev/null
+++ b/dev-libs/zthread/Manifest
@@ -0,0 +1,15 @@
+AUX zthread-2.3.2-automake-r2.patch 2383 SHA256 c73b4997af598f1e4bc8a64433dd6c03763717c451e8f7f715be3ea1867ee9cc SHA512 dae4fad0d560e8681db8e212888a4976abb67fc8ce85a85cd56d743f7ebcefd2760e91de40a83bd9023173d90f10bdf731b501ad50c09a5e769de6080b9bbad6 WHIRLPOOL 357524eb646b2ae901e211ed610ce45805118750162c8e86147cc1074dbc7ce47f4ec799dbec9dba6aa7d4da4479400aaf0b3a9241e144428e59f85590c9d25b
+AUX zthread-2.3.2-automake.patch 1287 SHA256 9df40b2532e2cb3e59ef884ac20b63d5de43b141fd12263db3cda138ff92d470 SHA512 f2a481fc98e36261fa63dbf4cea7a200c56ba1417ae76afbff14303fecffd2d270537d3e9be190c8f42f48918a6836b7fb403519fc150a3c68ca946936e032d8 WHIRLPOOL 1bd6af102d5adb842f61f6138e65d6aed9deb56f033588e912086bfb9f4cc00049b90a259b71d40a4ed0b75b1ab3961bf1c4f9c33803c9834c3e7e88f15fc2e1
+AUX zthread-2.3.2-clang.patch 581 SHA256 4d8d46d507ef48523ce83c671b2b08b5e738f485bb8ea3d3fc566f02d50b78b5 SHA512 caaa4e491563b5a3ce142d242bb5fc7c08ceaffc9fecaf9720b6ffaf9192ef2f8a8ce819fd9f60bc741ffc19b47f0e894017d5f7befd5efb51314a6245938a68 WHIRLPOOL f7e3a2387df777a72416b0e27185fcaacf2a38ec7ad0ce844677673175ff9bfd5807052cf6548d50794034d089fb50238aa27f9df4f5c5749f610177633f0e6c
+AUX zthread-2.3.2-gcc47.patch 704 SHA256 9a9d5f64545ce9b74d8577e06da60c72563c593b98748063c07c312183f6c0fa SHA512 2c90bcb07a7063380b1f9f405467cf3d256ae0265d88886483612e7b11ded40a9dc810a9f11a36f2a40e62e30f98c36344b0f002b351980745d0562c1ca81a6b WHIRLPOOL cfbf3523fb5f04ca4192242bf09d010f0e6a5bfdb517d7c2f76c18fbc31d7b07baea1f38d0e4e276e6fb3f9052a0efaa8908701505308fa25bd484f5da149a59
+AUX zthread-2.3.2-m4-quote.patch 554 SHA256 6ef0a0732917e46102b02ac7bbcfa69eed7eba340816d2526ba21de023c730ce SHA512 0f1b82ed3955174b16927e36a7dfc549d7cb6243f3a0cd2699a2f3c53fad5cd554140401d59dafd6f5ee4ce4fb689407ccf96ae9d5b9dc4a72a83157583b3381 WHIRLPOOL f769c72e2c12ba0450e0e8091793feb964ee94ca38d87f1c97aa6081a20ec8fe110b9079cf47d5f965dba1b0a9a34ed5e0c9ff0e4dba3e878232588d2571e824
+AUX zthread-2.3.2-no-fpermissive-r1.diff 2008 SHA256 d7fa1ef2d7c5c75860d4f38745f80f551c4690e742a3b38ef2a916ceacd454c7 SHA512 f5df932dc2a4a20c757ba0781891d53f5c4ad81b904107af0aff84759efd73ff200e9ec890e6e63679a66fc33b74f49ef88937bfb29a2bf666c443c68b6023d9 WHIRLPOOL dba6cca8583c782f666d626ce8291991b4cdab76d1a248f4c95cb00f913a7625d2c627e046670090439ce8b3753222915022358ed4c7e6045be57cbe1fbc64f6
+AUX zthread-2.3.2-no-fpermissive.diff 2010 SHA256 f1f37cffbff4c3dd825ff482b80686672902b817529519851f1b554d50ce29d3 SHA512 95f89cad5f531bb5374ae1e300080977defb69bf304221188204f3cbfbf4e23a1445cbe4174e279453a005ab410925b0111ce56ffac4aaf8656b50483a9f1a8d WHIRLPOOL 2ff99434d56f9c7a31ff98657f13f23245a3a5fdd11a5c65c045e82eed94b80029ef1b41b30bc3c88d4a28c1de2b4ea8c2c3c660e79b6af738274bef93eab364
+DIST ZThread-2.3.2.tar.gz 412527 SHA256 950908b7473ac10abb046bd1d75acb5934344e302db38c2225b7a90bd1eda854 SHA512 e17e12746d16f32f6f1dc8ec041795f3c05a541c015b9579252599b51de9f97dc780946e6e83b41ca78d1af892455e6f00169a089f6e1a7c3196d6a4f49a7f7b WHIRLPOOL c5ceca4639b26a86936ff49e781737b9b7e59abcd0ececa5a0799b01460a23c88c18c84027dcdbf16cd5c98549dfceba3a4d30a71c0052f8ffdbe0a824e2c254
+EBUILD zthread-2.3.2-r1.ebuild 1247 SHA256 4324c30120b0bbfef251030befdf78486ef4ec764c5828d0f0df8e8453748370 SHA512 0dce5187c340b3c774154c83b1a705d6edea6568a1bedb2e319ad6ddd1e31c094090a8adb3f067ac37bf644cd3cf5a069f80de3e17a38bf7dfd613623f6d26f2 WHIRLPOOL 970d941f7a5dd48dbe6dc06a1f52218b34cbb50c4e988381f203e1f5e03bb071924d74daa93d6623a827b91203b00160bf34ea4d2e9df0575e02c50c6ed43c15
+EBUILD zthread-2.3.2-r2.ebuild 1457 SHA256 72e6f035d6c0677b47e41669ce95faf31494af898e82369c9d654f22a867e147 SHA512 219412008d7b9620cfb04d770834342c3b130c655a4771b39d9c16df292566c4598dca08250c364219fe62cd233bfa25788cf00e994160f93854e01a96afc799 WHIRLPOOL ba10a5e6ff6f9420b2a542475c883ec3461ef5774fd8eed9486405ac5e915ff76e2d223bed39751767f4d9610f9e8d70e551a9dad40fa702b5a187c5f87f5c1e
+EBUILD zthread-2.3.2-r3.ebuild 1461 SHA256 ec1db4baee921f16b6d5b6982fc51b5cacac8dc7ff7493d19d48c2d3daee9ce8 SHA512 0001e221cf7368c9f6ec9174a6792f53e4bd7174244e4eaaaa6d81cd95a260afaef647a58fccaa60e0be20aa3ccdc2a9d30cfe8483f0e40e6ffd5f7de06378b0 WHIRLPOOL 00f62338f7e52ead46e454c5e9b489028224ebfef853e0baadc0147fc8b18a172de54268e19533233ef8f5bb7a1b40591bf0145376d1f18d949cc8286dcbae26
+EBUILD zthread-2.3.2-r4.ebuild 1404 SHA256 10ee775d3522ed0e2ebab989cb5480f00352c7e7591f601ae72d49357518756c SHA512 eb69852c9ee5d14f525b3201fb99c7cacd28538c17c88c042757e20967440d4db3e484b9f80e286c0a6032328d8096f4b12d1cc44761c1775441224c28012913 WHIRLPOOL 22edad5065b63668d175af824dcc04d3c118e9bbb7dd097defbd6e619843eab8d9672339f534f13ac21603efdcab9b43b2bde32936177563a61c9afa988ac448
+MISC ChangeLog 3226 SHA256 d5915a5bedcf9b990e1379c8222124a75f1aa9e2f3db4156e57bc8a87c14e65c SHA512 cde125ab210c5745ea5ba4c706e5574196cdccb7261253c8caab2056572d12cf15b4cb61f6108a3a9acbe3b64fdcf6c13807e672182f417760ab3eb578fa596b WHIRLPOOL ff9aa4de83c97865a8ccaa89b6c8fa7789f23c7f91af4ebb774cdec1ddb15281120d1ec90a18314e41d472b6d0da60ab6148b39e1ad2fdb0a5b5f640100f5344
+MISC ChangeLog-2015 5897 SHA256 e4da5a1ecc0aed3a55bd26f150a22db8a6e9fc2c559e2b6e01c4835c5b53d979 SHA512 339a109d1d89ad83de913c9bfa27f7198c67fa6434a295bd01c65e54ed3d816fa26008247eb5dff843e1cc38c3b49e4170a2896c6a100f99e76d0f7b27494a0e WHIRLPOOL 05f109e36e70e16af6b1961c32f2c3533de9bd84b80b0c3c0740113f6f85881ea9fdec74fe8ec49f17cec311658b05c80644a2d09730c4b740758def833cf41d
+MISC metadata.xml 326 SHA256 210c8d16f72efbe69a7bc2954b22d48d4156610695762609f56a00a6d6269096 SHA512 b01487803f5222c80e0bec2b0acf7bc85a30c7314642ae8e178274b4872a17986ca88ef324700a732b1afb573b74eee64c2e1bf95c08e8fddeee5910969f2230 WHIRLPOOL 868f905de7f37b162a44695e01f15ce8f23f2a512f6431597bbf7b77fe9c839d64398550fe3ca3223ad4d16a40fa4a6dc9dddb9bcc0ad61c2efce3d3cbdec7f6
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
new file mode 100644
index 000000000000..bcd9e0675979
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
@@ -0,0 +1,75 @@
+From 577b34b74b7a73650d906f371044bfaed6e8b74c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
+Date: Tue, 19 Feb 2013 10:13:12 +0100
+Subject: [PATCH] Use standard automake rules rather than hand coding the
+ install rules and append linker flags to LDFLAGS and not LDADD, otherwise
+ --as-needed gets ignored (and possibly others).
+
+---
+ Makefile.am | 21 +++++----------------
+ configure.ac | 1 -
+ src/Makefile.am | 2 --
+ 3 files changed, 5 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6c092cf..2d7bddf 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,24 +24,13 @@ LICENSE \
+ MIT.TXT \
+ depcomp
+
++bin_SCRIPTS = share/zthread-config
+
+-## install the config script
+-install-exec-hook:
+- $(mkinstalldirs) $(bindir)
+- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
++aclocaldir = $(datadir)/aclocal
++aclocal_DATA = share/zthread.m4 share/pthread.m4
+
+-## install the config script & m4 macros
+-install-data-hook:
+- $(mkinstalldirs) $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
+- mkdir -p $(DESTDIR)$(includedir)/zthread
+- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
+-
+-## uninstall the config script & m4 macros
+-uninstall-local:
+- -rm -rf $(datadir)/aclocal/pthread.m4
+- -rm -rf $(datadir)/aclocal/zthread.m4
++zincludedir = $(includedir)/zthread
++zinclude_HEADERS = include/zthread/*.h
+
+ distclean-local:
+ -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
+diff --git a/configure.ac b/configure.ac
+index 866041b..5d32a58 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -226,7 +226,6 @@ AC_TRY_LINK( [#include <windows.h>], [_beginthreadex((void*)0, 0, 0, (void*)0, 0
+
+ dnl Configure the final compiler & linker options
+ COMPILER_OPTIONS="$COMPILER_OPTIONS $CXXFLAGS"
+-LINKER_OPTIONS="$LINKER_OPTIONS $LDFLAGS"
+
+ dnl Configured flags for compiling ZThreads
+ AC_SUBST(LINKER_OPTIONS)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 04404d6..35dc764 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -21,8 +21,6 @@ AM_CXXFLAGS = @COMPILER_OPTIONS@ @EXTRA_COMPILER_OPTIONS@
+ INCLUDES = -I$(top_srcdir)/include
+ SUBDIRS=.
+
+-libdir=$(prefix)/lib
+-
+ lib_LTLIBRARIES = libZThread.la
+
+ libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
+--
+1.8.1.1
+
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake.patch b/dev-libs/zthread/files/zthread-2.3.2-automake.patch
new file mode 100644
index 000000000000..f2eae68c505b
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-automake.patch
@@ -0,0 +1,45 @@
+use standard automake rules rather than hand coding the install rules
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,24 +24,13 @@
+ MIT.TXT \
+ depcomp
+
++bin_SCRIPTS = share/zthread-config
+
+-## install the config script
+-install-exec-hook:
+- $(mkinstalldirs) $(bindir)
+- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
++aclocaldir = $(datadir)/aclocal
++aclocal_DATA = share/zthread.m4 share/pthread.m4
+
+-## install the config script & m4 macros
+-install-data-hook:
+- $(mkinstalldirs) $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
+- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
+- mkdir -p $(DESTDIR)$(includedir)/zthread
+- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
+-
+-## uninstall the config script & m4 macros
+-uninstall-local:
+- -rm -rf $(datadir)/aclocal/pthread.m4
+- -rm -rf $(datadir)/aclocal/zthread.m4
++zincludedir = $(includedir)/zthread
++zinclude_HEADERS = include/zthread/*.h
+
+ distclean-local:
+ -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -21,8 +21,6 @@
+ INCLUDES = -I$(top_srcdir)/include
+ SUBDIRS=.
+
+-libdir=$(prefix)/lib
+-
+ lib_LTLIBRARIES = libZThread.la
+
+ libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
diff --git a/dev-libs/zthread/files/zthread-2.3.2-clang.patch b/dev-libs/zthread/files/zthread-2.3.2-clang.patch
new file mode 100644
index 000000000000..13dd91ea2ca5
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-clang.patch
@@ -0,0 +1,16 @@
+fix compile when using clang as $CC:
+
+Based on patch from https://bugs.launchpad.net/hugin/+bug/1213585 (rebased)
+
+diff -r 2a43e83684d5 src/foreign/zthread/include/zthread/Guard.h
+--- a/include/zthread/Guard.h Sat Aug 10 11:31:46 2013 +0200
++++ b/include/zthread/Guard.h Sun Aug 18 09:46:43 2013 +0200
+@@ -108,7 +108,7 @@
+ }
+
+ template <class LockType>
+- static void createScope(LockHolder<LockType>& l, unsigned long ms) {
++ static bool createScope(LockHolder<LockType>& l, unsigned long ms) {
+
+ if(Scope1::createScope(l, ms))
+ if(!Scope2::createScope(l, ms)) {
diff --git a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
new file mode 100644
index 000000000000..57b122d22c5f
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
@@ -0,0 +1,25 @@
+Description: Make sure to use qualified lookups.
+http://bugs.debian.org/667430
+https://bugs.gentoo.org/show_bug.cgi?id=414133
+
+Author: Cyril Brulebois <kibi@debian.org>
+--- a/include/zthread/Guard.h
++++ b/include/zthread/Guard.h
+@@ -428,7 +428,7 @@
+ template <class U, class V>
+ Guard(Guard<U, V>& g) : LockHolder<LockType>(g) {
+
+- LockingPolicy::shareScope(*this, extract(g));
++ LockingPolicy::shareScope(*this, this->extract(g));
+
+ }
+
+@@ -458,7 +458,7 @@
+ template <class U, class V>
+ Guard(Guard<U, V>& g, LockType& lock) : LockHolder<LockType>(lock) {
+
+- LockingPolicy::transferScope(*this, extract(g));
++ LockingPolicy::transferScope(*this, this->extract(g));
+
+ }
+
diff --git a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
new file mode 100644
index 000000000000..72163a3b12a3
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
@@ -0,0 +1,26 @@
+fix m4 warnings:
+zthread.m4:34: warning: underquoted definition of AM_PATH_ZTHREAD
+pthread.m4:39: warning: underquoted definition of AM_DETECT_PTHREAD
+
+--- a/share/zthread.m4
++++ b/share/zthread.m4
+@@ -31,7 +31,7 @@
+ dnl ZTHREAD_CXXFLAGS
+ dnl ZTHREAD_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_ZTHREAD,
++AC_DEFUN([AM_PATH_ZTHREAD],
+ [
+
+
+--- a/share/pthread.m4
++++ b/share/pthread.m4
+@@ -36,7 +36,7 @@
+ GNU Pth can also be used if it was configured with --enable-pthread.
+ EOF
+
+-AC_DEFUN(AM_DETECT_PTHREAD,
++AC_DEFUN([AM_DETECT_PTHREAD],
+ [
+
+ pthread_explicit="no"
diff --git a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
new file mode 100644
index 000000000000..94b42eedfbf3
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
@@ -0,0 +1,94 @@
+--- a/include/zthread/Guard.h 2008-07-22 14:46:28.000000000 +0200
++++ b/include/zthread/Guard.h 2008-07-22 14:51:41.000000000 +0200
+@@ -491,7 +491,7 @@
+
+ try {
+
+- if(!isDisabled())
++ if(!LockHolder<LockType>::isDisabled())
+ LockingPolicy::destroyScope(*this);
+
+ } catch (...) { /* ignore */ }
+--- a/src/MutexImpl.h 2008-07-22 14:54:40.000000000 +0200
++++ b/src/MutexImpl.h 2008-07-22 15:03:30.000000000 +0200
+@@ -153,7 +153,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List,Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -164,7 +164,7 @@
+ _waiters.insert(self);
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>::waiterArrived(self);
+
+ {
+
+@@ -173,7 +173,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -192,7 +192,7 @@
+ assert(_owner == 0);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -236,7 +236,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -253,7 +253,7 @@
+
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>:: waiterArrived(self);
+
+ {
+
+@@ -262,7 +262,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -284,7 +284,7 @@
+ assert(0 == _owner);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -326,7 +326,7 @@
+
+ _owner = 0;
+
+- ownerReleased(impl);
++ MutexImpl<List, Behavior>::ownerReleased(impl);
+
+ // Try to find a waiter with a backoff & retry scheme
+ for(;;) {
diff --git a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff
new file mode 100644
index 000000000000..21fad7c52c8e
--- /dev/null
+++ b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive.diff
@@ -0,0 +1,94 @@
+--- include/zthread/Guard.h.orig 2008-07-22 14:46:28.000000000 +0200
++++ include/zthread/Guard.h 2008-07-22 14:51:41.000000000 +0200
+@@ -491,7 +491,7 @@
+
+ try {
+
+- if(!isDisabled())
++ if(!LockHolder<LockType>::isDisabled())
+ LockingPolicy::destroyScope(*this);
+
+ } catch (...) { /* ignore */ }
+--- src/MutexImpl.h.orig 2008-07-22 14:54:40.000000000 +0200
++++ src/MutexImpl.h 2008-07-22 15:03:30.000000000 +0200
+@@ -153,7 +153,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List,Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -164,7 +164,7 @@
+ _waiters.insert(self);
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>::waiterArrived(self);
+
+ {
+
+@@ -173,7 +173,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -192,7 +192,7 @@
+ assert(_owner == 0);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -236,7 +236,7 @@
+
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ }
+
+@@ -253,7 +253,7 @@
+
+ m.acquire();
+
+- waiterArrived(self);
++ MutexImpl<List, Behavior>:: waiterArrived(self);
+
+ {
+
+@@ -262,7 +262,7 @@
+
+ }
+
+- waiterDeparted(self);
++ MutexImpl<List, Behavior>::waiterDeparted(self);
+
+ m.release();
+
+@@ -284,7 +284,7 @@
+ assert(0 == _owner);
+ _owner = self;
+
+- ownerAcquired(self);
++ MutexImpl<List, Behavior>::ownerAcquired(self);
+
+ break;
+
+@@ -326,7 +326,7 @@
+
+ _owner = 0;
+
+- ownerReleased(impl);
++ MutexImpl<List, Behavior>::ownerReleased(impl);
+
+ // Try to find a waiter with a backoff & retry scheme
+ for(;;) {
diff --git a/dev-libs/zthread/metadata.xml b/dev-libs/zthread/metadata.xml
new file mode 100644
index 000000000000..9512460c6411
--- /dev/null
+++ b/dev-libs/zthread/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">zthread</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zthread/zthread-2.3.2-r1.ebuild b/dev-libs/zthread/zthread-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..b80a5aca5751
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+inherit eutils autotools
+
+MY_P=ZThread-${PV}
+
+DESCRIPTION="A platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc sparc x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch "${FILESDIR}"/${P}-no-fpermissive.diff
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ emake || die
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/zthread.css doc/html/zthread.css || die
+ cp doc/bugs.js doc/html/bugs.js || die
+ fi
+}
+
+src_install() {
+ einstall || die
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ use doc && dohtml doc/html/*
+
+ find "${D}" -name '*.la' -delete
+}
diff --git a/dev-libs/zthread/zthread-2.3.2-r2.ebuild b/dev-libs/zthread/zthread-2.3.2-r2.ebuild
new file mode 100644
index 000000000000..d59acb7085f7
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils autotools
+
+MY_P=ZThread-${PV}
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch "${FILESDIR}"/${P}-no-fpermissive.diff
+ epatch "${FILESDIR}"/${P}-m4-quote.patch
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ # Autoconf does not support --disable-debug properly.
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/zthread.css doc/html/zthread.css || die
+ cp doc/bugs.js doc/html/bugs.js || die
+ fi
+}
+
+src_install() {
+ emake install DESTDIR="${ED}"
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ use doc && dohtml doc/html/*
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/zthread/zthread-2.3.2-r3.ebuild b/dev-libs/zthread/zthread-2.3.2-r3.ebuild
new file mode 100644
index 000000000000..c45773dbced4
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils autotools
+
+MY_P="ZThread-${PV}"
+
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc sparc x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+ epatch \
+ "${FILESDIR}"/${P}-no-fpermissive.diff \
+ "${FILESDIR}"/${P}-m4-quote.patch \
+ "${FILESDIR}"/${P}-automake-r2.patch \
+ "${FILESDIR}"/${P}-gcc47.patch
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467778
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ local myconf
+ # Autoconf does not support --disable-debug properly.
+ use debug && myconf="--enable-debug"
+
+ econf \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ sed -i -e 's|href="html/|href="|' doc/documentation.html || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/{zthread.css,bugs.js} doc/html/ || die
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && dohtml doc/html/*
+
+ prune_libtool_files
+}
diff --git a/dev-libs/zthread/zthread-2.3.2-r4.ebuild b/dev-libs/zthread/zthread-2.3.2-r4.ebuild
new file mode 100644
index 000000000000..aeb476d946f0
--- /dev/null
+++ b/dev-libs/zthread/zthread-2.3.2-r4.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+MY_P="ZThread-${PV}"
+
+DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
+HOMEPAGE="http://zthread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
+IUSE="debug doc kernel_linux static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-fpermissive-r1.diff
+ "${FILESDIR}"/${P}-m4-quote.patch
+ "${FILESDIR}"/${P}-automake-r2.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-clang.patch
+)
+
+src_prepare() {
+ default
+
+ rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467778
+
+ AT_M4DIR="share" eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable kernel_linux atomic-linux) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen doc/zthread.doxygen || die
+ sed -i -e 's|href="html/|href="|' doc/documentation.html || die
+ cp doc/documentation.html doc/html/index.html || die
+ cp doc/{zthread.css,bugs.js} doc/html/ || die
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && dodoc -r doc/html
+
+ prune_libtool_files
+}