gnu: graphite2: Fix test failure caused by rounding error on 32-bit CPUs.

* gnu/packages/patches/graphite2-ffloat-store.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/fontutils.scm (graphite2): Use it.
This commit is contained in:
Leo Famulari 2017-03-18 22:58:14 -04:00
parent 717c659630
commit 4c20b0bcf7
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08
3 changed files with 37 additions and 0 deletions

View file

@ -606,6 +606,7 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/grub-CVE-2015-8370.patch \
%D%/packages/patches/grub-gets-undeclared.patch \

View file

@ -4,6 +4,7 @@
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -380,6 +381,7 @@ (define-public graphite2
(method url-fetch)
(uri (string-append "https://github.com/silnrsi/graphite/releases/"
"download/" version "/" name "-" version ".tgz"))
(patches (search-patches "graphite2-ffloat-store.patch"))
(sha256
(base32
"0rs5h7m340z75kygx8d72cps0q6yvvqa9i788vym7585cfv8a0gc"))))

View file

@ -0,0 +1,34 @@
Fix test failures of awamicmp1 and awamicmp2.
Debian bug report:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855814
Patch adapted from upstream source repository:
https://github.com/silnrsi/graphite/commit/f7bbdd87d510d587c872e314d6458160c0069c65
From f7bbdd87d510d587c872e314d6458160c0069c65 Mon Sep 17 00:00:00 2001
From: Martin Hosken <martin_hosken@sil.org>
Date: Tue, 14 Feb 2017 17:00:03 +0000
Subject: [PATCH] try -ffloat-store for fp stability. Remove nested const to
work around VS bug
---
src/CMakeLists.txt | 2 +-
src/inc/locale2lcid.h | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4f1e7e5..5b61b5c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -108,7 +108,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}"
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set_target_properties(graphite2 PROPERTIES
- COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-stack-protector"
+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-stack-protector -ffloat-store"
LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
LINKER_LANGUAGE C)
if (CMAKE_COMPILER_IS_GNUCXX)