Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package glm.

This fixes a FTBFS (#860701), caused by the test suite which caught an
infinite loop.

unblock glm/0.9.8.3-2

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (1001, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/12 CPU cores)
Locale: LANG=nl_NL.utf8, LC_CTYPE=nl_NL.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru glm-0.9.8.3/debian/changelog glm-0.9.8.3/debian/changelog
--- glm-0.9.8.3/debian/changelog        2017-01-12 00:58:59.000000000 +0100
+++ glm-0.9.8.3/debian/changelog        2017-04-19 16:39:23.000000000 +0200
@@ -1,3 +1,9 @@
+glm (0.9.8.3-3) unstable; urgency=medium
+
+  * Fix FTBFS on i386. Closes: 860701
+
+ -- Guus Sliepen <g...@debian.org>  Wed, 19 Apr 2017 16:39:23 +0200
+
 glm (0.9.8.3-2) unstable; urgency=medium
 
   * Team upload
diff -Nru glm-0.9.8.3/debian/patches/fix-infiloop 
glm-0.9.8.3/debian/patches/fix-infiloop
--- glm-0.9.8.3/debian/patches/fix-infiloop     1970-01-01 01:00:00.000000000 
+0100
+++ glm-0.9.8.3/debian/patches/fix-infiloop     2017-04-19 16:20:31.000000000 
+0200
@@ -0,0 +1,24 @@
+Description: Fix potential infinite loop in float_distance()
+Author: Guus Sliepen <g...@debian.org>
+Last-Update: 2017-04-19
+
+--- glm-0.9.8.3.orig/glm/gtc/ulp.inl
++++ glm-0.9.8.3/glm/gtc/ulp.inl
+@@ -287,7 +287,7 @@ namespace glm
+               if(x < y)
+               {
+                       T temp = x;
+-                      while(temp != y)// && ulp < 
std::numeric_limits<std::size_t>::max())
++                      while(temp < y)// && ulp < 
std::numeric_limits<std::size_t>::max())
+                       {
+                               ++ulp;
+                               temp = next_float(temp);
+@@ -296,7 +296,7 @@ namespace glm
+               else if(y < x)
+               {
+                       T temp = y;
+-                      while(temp != x)// && ulp < 
std::numeric_limits<std::size_t>::max())
++                      while(temp < x)// && ulp < 
std::numeric_limits<std::size_t>::max())
+                       {
+                               ++ulp;
+                               temp = next_float(temp);
diff -Nru glm-0.9.8.3/debian/patches/fix-packing-test 
glm-0.9.8.3/debian/patches/fix-packing-test
--- glm-0.9.8.3/debian/patches/fix-packing-test 1970-01-01 01:00:00.000000000 
+0100
+++ glm-0.9.8.3/debian/patches/fix-packing-test 2017-04-19 16:18:44.000000000 
+0200
@@ -0,0 +1,61 @@
+Description: Fix failure of gtc_packing test on i386 
+Author: Guus Sliepen <g...@debian.org>
+Last-Update: 2017-04-19
+
+--- glm-0.9.8.3.orig/test/gtc/gtc_packing.cpp
++++ glm-0.9.8.3/test/gtc/gtc_packing.cpp
+@@ -100,8 +100,8 @@ int test_Half4x16()
+               glm::u16vec4 p2 = glm::packHalf(v0);
+               glm::vec4 v2 = glm::unpackHalf(p2);
+ 
+-              Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
+-              Error += glm::all(glm::equal(v0, v2)) ? 0 : 1;
++              Error += !!memcmp(&v0, &v1, sizeof v0);
++              Error += !!memcmp(&v0, &v2, sizeof v0);
+       }
+ 
+       return Error;
+@@ -125,7 +125,7 @@ int test_I3x10_1x2()
+               glm::ivec4 v0 = glm::unpackI3x10_1x2(p0);
+               glm::uint32 p1 = glm::packI3x10_1x2(v0);
+               glm::ivec4 v1 = glm::unpackI3x10_1x2(p1);
+-              Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
++              Error += !!memcmp(&v0, &v1, sizeof v0);
+       }
+ 
+       return Error;
+@@ -149,7 +149,7 @@ int test_U3x10_1x2()
+               glm::uvec4 v0 = glm::unpackU3x10_1x2(p0);
+               glm::uint32 p1 = glm::packU3x10_1x2(v0);
+               glm::uvec4 v1 = glm::unpackU3x10_1x2(p1);
+-              Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
++              Error += !!memcmp(&v0, &v1, sizeof v0);
+       }
+ 
+       return Error;
+@@ -173,7 +173,7 @@ int test_Snorm3x10_1x2()
+               glm::vec4 v0 = glm::unpackSnorm3x10_1x2(p0);
+               glm::uint32 p1 = glm::packSnorm3x10_1x2(v0);
+               glm::vec4 v1 = glm::unpackSnorm3x10_1x2(p1);
+-              Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
++              Error += !!memcmp(&v0, &v1, sizeof v0);
+       }
+ 
+       return Error;
+@@ -197,7 +197,7 @@ int test_Unorm3x10_1x2()
+               glm::vec4 v0 = glm::unpackUnorm3x10_1x2(p0);
+               glm::uint32 p1 = glm::packUnorm3x10_1x2(v0);
+               glm::vec4 v1 = glm::unpackUnorm3x10_1x2(p1);
+-              Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
++              Error += !!memcmp(&v0, &v1, sizeof v0);
+       }
+ 
+       return Error;
+@@ -221,6 +221,7 @@ int test_F2x11_1x10()
+               glm::vec3 v0 = glm::unpackF2x11_1x10(p0);
+               glm::uint32 p1 = glm::packF2x11_1x10(v0);
+               glm::vec3 v1 = glm::unpackF2x11_1x10(p1);
++              Error += !!memcmp(&v0, &v1, sizeof v0);
+               Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
+       }
+ 
diff -Nru glm-0.9.8.3/debian/patches/series glm-0.9.8.3/debian/patches/series
--- glm-0.9.8.3/debian/patches/series   2017-01-12 00:58:59.000000000 +0100
+++ glm-0.9.8.3/debian/patches/series   2017-04-19 16:20:55.000000000 +0200
@@ -1 +1,3 @@
 Fix-CMake-package-version-file.patch
+fix-infiloop
+fix-packing-test

Reply via email to