--- /dev/null
+From dcda81d796de2f4a16fd7e9e7a5d07baa288f147 Mon Sep 17 00:00:00 2001
+From: Niels Möller <nisse@lysator.liu.se>
+Date: Tue, 18 Jul 2017 20:52:30 +0200
+Subject: [PATCH] Fix for in-place ecc_add_eh.
+
+* ecc-add-eh.c (ecc_add_eh): Fix in-place operation by reordering
+two multiplies. Previously, in-place operation resulted in an
+invalid call to mpn_mul with overlapping operands. Reported by
+Sergei Trofimovich.
+---
+ ChangeLog | 7 +++++++
+ ecc-add-eh.c | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/ecc-add-eh.c b/ecc-add-eh.c
+index a16be4c..c07ff49 100644
+--- a/ecc-add-eh.c
++++ b/ecc-add-eh.c
+@@ -98,8 +98,8 @@ ecc_add_eh (const struct ecc_curve *ecc,
+ ecc_modp_mul (ecc, x3, B, z1);
+
+ /* y3 */
+- ecc_modp_mul (ecc, B, F, C); /* ! */
+- ecc_modp_mul (ecc, y3, B, z1);
++ ecc_modp_mul (ecc, B, F, z1); /* ! */
++ ecc_modp_mul (ecc, y3, B, C); /* Clobbers z1 in case r == p. */
+
+ /* z3 */
+ ecc_modp_mul (ecc, B, F, G);
+--
+libgit2 0.25.0
+
--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools multilib-build multilib-minimal multilib toolchain-funcs
+
+DESCRIPTION="Low-level cryptographic library"
+HOMEPAGE="http://www.lysator.liu.se/~nisse/nettle/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 LGPL-2.1 )"
+SLOT="0/6.1" # subslot = libnettle soname version, .1 as broke ABI bug#601512
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes"
+
+DEPEND="gmp? ( >=dev-libs/gmp-5.0:0=[${MULTILIB_USEDEP}] )"
+RDEPEND="${DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r17
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nettle/nettle-stdint.h
+ /usr/include/nettle/version.h
+)
+
+DOCS=()
+HTML_DOCS=()
+
+PATCHES=(
+ "${FILESDIR}/${P}-ecc-add-eh.patch"
+)
+
+pkg_setup() {
+ use doc && DOCS+=(
+ nettle.pdf
+ )
+ use doc && HTML_DOCS+=(
+ nettle.html
+ )
+}
+
+src_prepare() {
+ default
+
+ sed -e '/CFLAGS=/s: -ggdb3::' \
+ -e 's/solaris\*)/sunldsolaris*)/' \
+ -i configure.ac || die
+
+ # conditionally build tests and examples required by tests
+ use test || sed -i '/SUBDIRS/s/testsuite examples//' Makefile.in || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # --disable-openssl bug #427526
+ ECONF_SOURCE="${S}" econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --disable-openssl \
+ --disable-fat \
+ $(use_enable gmp public-key) \
+ $(use_enable static-libs static) \
+ $(tc-is-static-only && echo --disable-shared) \
+ $(use_enable doc documentation) \
+ $(use_enable neon arm-neon) \
+ $(use_enable cpu_flags_x86_aes x86-aesni)
+}