aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/graphics.scm6
-rw-r--r--gnu/packages/patches/lib2geom-fix-tests.patch40
2 files changed, 33 insertions, 13 deletions
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 2d0e3c1867..d5139b1f04 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -389,8 +389,8 @@ exception-handling library.")
(define-public lib2geom
;; Use the latest master commit, as the 1.0 release suffer build problems.
- (let ((revision "1")
- (commit "42e119d94934a9514c61571cfb6b4af503ece082"))
+ (let ((revision "2")
+ (commit "f98256d2a923955af74b8cff3d456f0df1ee4b59"))
(package
(name "lib2geom")
(version (git-version "1.0" revision commit))
@@ -402,7 +402,7 @@ exception-handling library.")
(file-name (git-file-name name version))
(sha256
(base32
- "195rs0kdbs8w62irha1nwy83bccz04wglmk578qrj1mky7fc4rjv"))
+ "0w6ijaai8i80d0f35c0shgdspqlsdhw3cvz106k1gm7bmnz1wzpq"))
(patches
;; Patches submitted to upstream (see:
;; https://gitlab.com/inkscape/lib2geom/merge_requests/17,
diff --git a/gnu/packages/patches/lib2geom-fix-tests.patch b/gnu/packages/patches/lib2geom-fix-tests.patch
index 9118658e49..47e8f6e2ec 100644
--- a/gnu/packages/patches/lib2geom-fix-tests.patch
+++ b/gnu/packages/patches/lib2geom-fix-tests.patch
@@ -1,10 +1,10 @@
-From 488edbf84e918e0353e7a8f438abbf6eeca3767e Mon Sep 17 00:00:00 2001
+From 3e858cc87f2f8b7dc514a8ad7709c1f47f1f4cde Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 17 Jun 2020 23:20:53 -0400
Subject: [PATCH] tests: Fix tests on non-x86_64 platforms.
On platform other than x86_64 such as aarch64-linux or i686-linux,
-some double comparison would fail.
+some double comparisons would fail.
See <http://issues.guix.gnu.org/41827>.
@@ -14,6 +14,7 @@ EXPECT_near.
(Portion): Replace EXPECT_EQ by EXPECT_near.
* tests/ellipse-test.cpp (BezierIntersection): Lower error tolerance
from 6e-13 to 6e-12.
+(LineIntersection): Replace EXPECT_DOUBLE_EQ by EXPECT_NEAR.
* tests/line-test.cpp (Reflection): Replace EXPECT_FLOAT_EQ BY
EXPECT_near.
(Coefficients): Skip test.
@@ -21,13 +22,13 @@ EXPECT_near.
EXPECT_DOUBLE_EQ.
---
tests/bezier-test.cpp | 31 +++++++++++++++++--------------
- tests/ellipse-test.cpp | 2 +-
+ tests/ellipse-test.cpp | 11 ++++++-----
tests/line-test.cpp | 11 +++++++----
tests/parallelogram-test.cpp | 8 ++++----
- 4 files changed, 29 insertions(+), 23 deletions(-)
+ 4 files changed, 34 insertions(+), 27 deletions(-)
diff --git a/tests/bezier-test.cpp b/tests/bezier-test.cpp
-index 4054a65..46209f4 100644
+index 4054a654..46209f40 100644
--- a/tests/bezier-test.cpp
+++ b/tests/bezier-test.cpp
@@ -152,11 +152,13 @@ TEST_F(BezierTest, Casteljau) {
@@ -104,10 +105,29 @@ index 4054a65..46209f4 100644
}
}
diff --git a/tests/ellipse-test.cpp b/tests/ellipse-test.cpp
-index 561c285..d6e65d8 100644
+index 561c285a..8e4de12c 100644
--- a/tests/ellipse-test.cpp
+++ b/tests/ellipse-test.cpp
-@@ -199,7 +199,7 @@ TEST(EllipseTest, BezierIntersection) {
+@@ -158,13 +158,14 @@ TEST(EllipseTest, LineIntersection) {
+ std::vector<ShapeIntersection> xs = e.intersect(l);
+
+ ASSERT_EQ(xs.size(), 2ul);
+- EXPECT_FLOAT_EQ(xs[0].point()[X], 0);
+- EXPECT_FLOAT_EQ(xs[0].point()[Y], -2);
+- EXPECT_FLOAT_EQ(xs[1].point()[X], 9./5);
+- EXPECT_FLOAT_EQ(xs[1].point()[Y], 8./5);
+
+ // due to numeric imprecision when evaluating Ellipse,
+ // the points may deviate by around 2e-16
++ EXPECT_NEAR(xs[0].point()[X], 0, 1e-15);
++ EXPECT_NEAR(xs[0].point()[Y], -2, 1e-15);
++ EXPECT_NEAR(xs[1].point()[X], 9./5, 1e-15);
++ EXPECT_NEAR(xs[1].point()[Y], 8./5, 1e-15);
++
+ EXPECT_intersections_valid(e, l, xs, 1e-15);
+ }
+
+@@ -199,7 +200,7 @@ TEST(EllipseTest, BezierIntersection) {
std::vector<ShapeIntersection> xs = e.intersect(b);
EXPECT_EQ(xs.size(), 2ul);
@@ -117,7 +137,7 @@ index 561c285..d6e65d8 100644
TEST(EllipseTest, Coefficients) {
diff --git a/tests/line-test.cpp b/tests/line-test.cpp
-index 99546dd..2399130 100644
+index 99546ddc..23991300 100644
--- a/tests/line-test.cpp
+++ b/tests/line-test.cpp
@@ -91,10 +91,12 @@ TEST(LineTest, Reflection) {
@@ -146,7 +166,7 @@ index 99546dd..2399130 100644
lines.push_back(Line(Point(1e9,1e9), Point(1,1)));
//the case below will never work without normalizing the line
diff --git a/tests/parallelogram-test.cpp b/tests/parallelogram-test.cpp
-index 8109ead..70ccea1 100644
+index 8109eadd..70ccea13 100644
--- a/tests/parallelogram-test.cpp
+++ b/tests/parallelogram-test.cpp
@@ -106,13 +106,13 @@ TEST(ParallelogramTest, area)
@@ -168,5 +188,5 @@ index 8109ead..70ccea1 100644
class ParallelogramTest
--
-2.26.2
+2.27.0