diff options
-rwxr-xr-x | net/i2pd/DETAILS | 4 | ||||
-rw-r--r-- | net/i2pd/HISTORY | 4 | ||||
-rw-r--r-- | net/i2pd/gcc46.patch | 61 |
3 files changed, 62 insertions, 7 deletions
diff --git a/net/i2pd/DETAILS b/net/i2pd/DETAILS index e422939e14..c7dbda3d73 100755 --- a/net/i2pd/DETAILS +++ b/net/i2pd/DETAILS @@ -1,8 +1,8 @@ SPELL=i2pd - VERSION=2.11.0 + VERSION=2.12.0 SOURCE=${SPELL}-${VERSION}.tar.gz SOURCE_URL[0]=https://github.com/PurpleI2P/${SPELL}/archive/${VERSION}.tar.gz - SOURCE_HASH=sha256:4d7946e33a6a1dd4439590ea23b494f36e6fbcb81f7b36857bf264413a19e9db:UPSTREAM_HASH + SOURCE_HASH=sha256:afb763aea2a4f4b51e327352d5da82ec08e84735d28db9af7710563a117fc648:UPSTREAM_HASH SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}" DOCS="docs/configuration.md docs/usage.md" DOC_DIRS="" diff --git a/net/i2pd/HISTORY b/net/i2pd/HISTORY index db49b973fe..19698a247d 100644 --- a/net/i2pd/HISTORY +++ b/net/i2pd/HISTORY @@ -1,3 +1,7 @@ +2017-02-16 Vlad Glagolev <stealth@sourcemage.org> + * DETAILS: updated spell to 2.12.0 + * gcc46.patch: updated + 2016-12-21 Vlad Glagolev <stealth@sourcemage.org> * DETAILS: updated spell to 2.11.0 * CONFIGURE: added WebSockets option diff --git a/net/i2pd/gcc46.patch b/net/i2pd/gcc46.patch index 2c3db939ec..fbe907db94 100644 --- a/net/i2pd/gcc46.patch +++ b/net/i2pd/gcc46.patch @@ -75,22 +75,26 @@ bool found = false; { std::unique_lock<std::mutex> l(m_TestsMutex); ---- Event.h.orig -+++ Event.h -@@ -21,11 +21,12 @@ +--- Event.h.orig 2017-02-16 13:28:19.692773653 -0500 ++++ Event.h 2017-02-16 13:30:19.903805378 -0500 +@@ -25,6 +25,7 @@ class EventCore { public: + EventCore(): m_listener(nullptr) {} void QueueEvent(const EventType & ev); + void CollectEvent(const std::string & type, const std::string & ident, uint64_t val); void SetListener(EventListener * l); - - private: +@@ -39,7 +40,7 @@ + uint64_t Val; + }; + std::map<std::string, CollectedEvent> m_collected; - EventListener * m_listener = nullptr; + EventListener * m_listener; }; #ifdef WITH_EVENTS extern EventCore core; + extern EventCore core; --- Log.cpp.orig +++ Log.cpp @@ -30,11 +30,11 @@ @@ -110,3 +114,50 @@ }; #endif +--- NTCPSession.cpp.orig ++++ NTCPSession.cpp +@@ -167,7 +167,13 @@ namespace transport + return; + } + } +- ++#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7) ++// due the bug in gcc 4.7. std::shared_future.get() is not const ++ if (!m_DHKeysPair) ++ m_DHKeysPair = transports.GetNextDHKeysPair (); ++ CreateAESKey (m_Establisher->phase1.pubKey); ++ SendPhase2 (); ++#else + // TODO: check for number of pending keys + auto s = shared_from_this (); + auto keyCreated = std::async (std::launch::async, [s] () +@@ -180,7 +186,8 @@ namespace transport + { + keyCreated.get (); + s->SendPhase2 (); +- }); ++ }); ++#endif + } + } + +@@ -239,6 +246,11 @@ namespace transport + } + else + { ++#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7) ++// due the bug in gcc 4.7. std::shared_future.get() is not const ++ CreateAESKey (m_Establisher->phase2.pubKey); ++ HandlePhase2 (); ++#else + auto s = shared_from_this (); + // create AES key in separate thread + auto keyCreated = std::async (std::launch::async, [s] () +@@ -251,6 +263,7 @@ namespace transport + keyCreated.get (); // we might wait if no more pending operations + s->HandlePhase2 (); + }); ++#endif + } + } + |