commit: 2b7bb52573775e7a2a8334ba3c633d5b223d3d54 Author: Peter Levine <plevine457 <AT> gmail <DOT> com> AuthorDate: Sat Mar 31 06:25:53 2018 +0000 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> CommitDate: Fri Apr 13 16:57:25 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b7bb525
media-libs/glm: Fix tests with GCC-7 Bug: https://bugs.gentoo.org/638312 Closes: https://bugs.gentoo.org/638312 Closes: https://github.com/gentoo/gentoo/pull/7730 Package-Manager: Portage-2.3.16, Repoman-2.3.6 media-libs/glm/files/glm-0.9.8.5-gcc7_tests.patch | 70 +++++++++++++++++++++++ media-libs/glm/glm-0.9.8.5-r1.ebuild | 1 + 2 files changed, 71 insertions(+) diff --git a/media-libs/glm/files/glm-0.9.8.5-gcc7_tests.patch b/media-libs/glm/files/glm-0.9.8.5-gcc7_tests.patch new file mode 100644 index 00000000000..d7744aed555 --- /dev/null +++ b/media-libs/glm/files/glm-0.9.8.5-gcc7_tests.patch @@ -0,0 +1,70 @@ +Bug: https://bugs.gentoo.org/638312 +Upstream commit: https://github.com/g-truc/glm/commit/e37cf6e47fa4305c82845103b17af58f6cfe23db + +From e37cf6e47fa4305c82845103b17af58f6cfe23db Mon Sep 17 00:00:00 2001 +From: Christophe Riccio <christophe.ric...@unity3d.com> +Date: Thu, 17 Aug 2017 00:08:37 +0200 +Subject: [PATCH] Fixed GCC 7.1.0 failing tests #666 + +--- + test/core/core_type_mat2x4.cpp | 4 +++- + test/core/core_type_mat3x4.cpp | 4 +++- + test/core/core_type_mat4x4.cpp | 3 ++- + 3 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/test/core/core_type_mat2x4.cpp b/test/core/core_type_mat2x4.cpp +index 17afebf91..eea3e46f4 100644 +--- a/test/core/core_type_mat2x4.cpp ++++ b/test/core/core_type_mat2x4.cpp +@@ -1,3 +1,5 @@ ++#include <glm/gtc/epsilon.hpp> ++#include <glm/gtc/constants.hpp> + #include <glm/vector_relational.hpp> + #include <glm/mat2x2.hpp> + #include <glm/mat2x3.hpp> +@@ -83,7 +85,7 @@ namespace cast + glm::mat2x4 Identity(1.0f); + + for(glm::length_t i = 0, length = B.length(); i < length; ++i) +- Error += glm::all(glm::equal(B[i], Identity[i])) ? 0 : 1; ++ Error += glm::all(glm::epsilonEqual(B[i], Identity[i], glm::epsilon<float>())) ? 0 : 1; + + return Error; + } +diff --git a/test/core/core_type_mat3x4.cpp b/test/core/core_type_mat3x4.cpp +index e3b78d31b..74a45d87a 100644 +--- a/test/core/core_type_mat3x4.cpp ++++ b/test/core/core_type_mat3x4.cpp +@@ -1,3 +1,5 @@ ++#include <glm/gtc/epsilon.hpp> ++#include <glm/gtc/constants.hpp> + #include <glm/vector_relational.hpp> + #include <glm/mat2x2.hpp> + #include <glm/mat2x3.hpp> +@@ -87,7 +89,7 @@ namespace cast + glm::mat3x4 Identity(1.0f); + + for(glm::length_t i = 0, length = B.length(); i < length; ++i) +- Error += glm::all(glm::equal(B[i], Identity[i])) ? 0 : 1; ++ Error += glm::all(glm::epsilonEqual(B[i], Identity[i], glm::epsilon<float>())) ? 0 : 1; + + return Error; + } +diff --git a/test/core/core_type_mat4x4.cpp b/test/core/core_type_mat4x4.cpp +index 3966c2b7f..fd2aca8b4 100644 +--- a/test/core/core_type_mat4x4.cpp ++++ b/test/core/core_type_mat4x4.cpp +@@ -1,3 +1,4 @@ ++#include <glm/gtc/constants.hpp> + #include <glm/gtc/epsilon.hpp> + #include <glm/matrix.hpp> + #include <glm/mat2x2.hpp> +@@ -263,7 +264,7 @@ namespace cast + glm::mat4x4 Identity(1.0f); + + for(glm::length_t i = 0, length = B.length(); i < length; ++i) +- Error += glm::all(glm::equal(B[i], Identity[i])) ? 0 : 1; ++ Error += glm::all(glm::epsilonEqual(B[i], Identity[i], glm::epsilon<float>())) ? 0 : 1; + + return Error; + } diff --git a/media-libs/glm/glm-0.9.8.5-r1.ebuild b/media-libs/glm/glm-0.9.8.5-r1.ebuild index 073f3bee1e2..b30d2b1a0f8 100644 --- a/media-libs/glm/glm-0.9.8.5-r1.ebuild +++ b/media-libs/glm/glm-0.9.8.5-r1.ebuild @@ -18,6 +18,7 @@ RDEPEND="virtual/opengl" PATCHES=( "${FILESDIR}/glm-gcc73.patch" + "${FILESDIR}/${P}-gcc7_tests.patch" ) src_configure() {