eigen: Backport an upstream fix

Backport upstream patch to fix some build errors
in opencv.

BUG=chromium:1059030
TEST=eigen builds, opencv errors are reduced.

Change-Id: I162bb51a6831cc102423d20ab857b3fb4a10e178
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2090087
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Caroline Tice <cmtice@chromium.org>
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
diff --git a/dev-cpp/eigen/eigen-3.3.7.ebuild b/dev-cpp/eigen/eigen-3.3.7-r1.ebuild
similarity index 96%
rename from dev-cpp/eigen/eigen-3.3.7.ebuild
rename to dev-cpp/eigen/eigen-3.3.7-r1.ebuild
index 61db9a8..608368e 100644
--- a/dev-cpp/eigen/eigen-3.3.7.ebuild
+++ b/dev-cpp/eigen/eigen-3.3.7-r1.ebuild
@@ -41,6 +41,10 @@
 # METIS-5
 # GOOGLEHASH
 
+PATCHES=(
+	"${FILESDIR}/eigen-add-sstream-include.patch"
+)
+
 src_unpack() {
 	default
 	mv ${PN}* ${P} || die
diff --git a/dev-cpp/eigen/files/eigen-add-sstream-include.patch b/dev-cpp/eigen/files/eigen-add-sstream-include.patch
new file mode 100644
index 0000000..3251dcb
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-add-sstream-include.patch
@@ -0,0 +1,39 @@
+manojgupta: Upstream patch modified to apply to eigen 3.3.7,
+https://crbug.com/1059030.
+
+From f0ce88cff75e2020b4beae54b094c77c526724a2 Mon Sep 17 00:00:00 2001
+From: Tobias Bosch <tbosch@google.com>
+Date: Mon, 24 Feb 2020 23:09:36 +0000
+Subject: [PATCH] Include <sstream> explicitly, and don't rely on the implicit
+ include via <complex>.
+
+This implicit dependency does no longer exist in a recent llbm release (sha 78be61871704).
+---
+ Eigen/Core                         | 1 +
+ Eigen/src/Core/arch/Default/Half.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/Eigen/Core b/Eigen/Core
+index b923b8c..39d572a 100644
+--- a/Eigen/Core
++++ b/Eigen/Core
+@@ -279,6 +279,7 @@
+ #include <cmath>
+ #include <cassert>
+ #include <functional>
++#include <sstream>
+ #include <iosfwd>
+ #include <cstring>
+ #include <string>
+diff --git a/Eigen/src/Core/arch/CUDA/Half.h b/Eigen/src/Core/arch/CUDA/Half.h
+index 755e620..10318dd 100644
+--- a/Eigen/src/Core/arch/CUDA/Half.h
++++ b/Eigen/src/Core/arch/CUDA/Half.h
+@@ -42,6 +42,7 @@
+ #define EIGEN_EXPLICIT_CAST(tgt_type) operator tgt_type()
+ #endif
+ 
++#include <iostream>
+ 
+ namespace Eigen {
+