diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 5 | ||||
-rw-r--r-- | gnu/packages/patches/json-glib-fix-tests-32bit.patch | 174 |
3 files changed, 2 insertions, 178 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 108ccdceda..003b75961b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -847,7 +847,6 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ - %D%/packages/patches/json-glib-fix-tests-32bit.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b497b965bc..9652f32fb0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2292,16 +2292,15 @@ configuration storage systems.") (define-public json-glib (package (name "json-glib") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) - (patches (search-patches "json-glib-fix-tests-32bit.patch")) (sha256 (base32 - "1j3dd2xj1l9fi12m1gpmfgf5p4c1w0i970m6k62k3is98yj0jxrd")))) + "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/patches/json-glib-fix-tests-32bit.patch b/gnu/packages/patches/json-glib-fix-tests-32bit.patch deleted file mode 100644 index 77ea134915..0000000000 --- a/gnu/packages/patches/json-glib-fix-tests-32bit.patch +++ /dev/null @@ -1,174 +0,0 @@ -Fix floating point issues on 32-bit platforms: - -https://gitlab.gnome.org/GNOME/json-glib/issues/27 - -This is an amalgamation of the following upstream commits: -https://gitlab.gnome.org/GNOME/json-glib/commit/70e2648e02232c1a439a7418388f18fee9afb3fe -https://gitlab.gnome.org/GNOME/json-glib/commit/675e27505776a1d77fa1ffd1974284890caec1f4 - -diff --git a/json-glib/tests/json-test-utils.h b/json-glib/tests/json-test-utils.h -new file mode 100644 -index 0000000..83a02c6 ---- /dev/null -+++ b/json-glib/tests/json-test-utils.h -@@ -0,0 +1,21 @@ -+#include <string.h> -+#include <math.h> -+#include <float.h> -+#include <glib.h> -+#include <json-glib/json-glib.h> -+ -+#define json_fuzzy_equals(n1,n2,epsilon) \ -+ (((n1) > (n2) ? ((n1) - (n2)) : ((n2) - (n1))) < (epsilon)) -+ -+#define json_assert_fuzzy_equals(n1,n2,epsilon) \ -+ G_STMT_START { \ -+ double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \ -+ if (json_fuzzy_equals (__n1, __n2, __epsilon)) ; else { \ -+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ -+ #n1 " == " #n2 " (+/- " #epsilon ")", \ -+ __n1, "==", __n2, 'f'); \ -+ } \ -+ } G_STMT_END -+ -+#define json_assert_almost_equals(n1,n2) \ -+ json_assert_fuzzy_equals (n1, n2, DBL_EPSILON) -diff --git a/json-glib/tests/array.c b/json-glib/tests/array.c -index 98afeab..426cd72 100644 ---- a/json-glib/tests/array.c -+++ b/json-glib/tests/array.c -@@ -1,9 +1,4 @@ --#include <stdio.h> --#include <stdlib.h> --#include <string.h> -- --#include <glib.h> --#include <json-glib/json-glib.h> -+#include "json-test-utils.h" - - static void - test_empty_array (void) -@@ -37,7 +32,7 @@ test_add_element (void) - - json_array_add_double_element (array, 3.14); - g_assert_cmpint (json_array_get_length (array), ==, 3); -- g_assert_cmpfloat (json_array_get_double_element (array, 2), ==, 3.14); -+ json_assert_fuzzy_equals (json_array_get_double_element (array, 2), 3.14, 0.001); - - json_array_add_boolean_element (array, TRUE); - g_assert_cmpint (json_array_get_length (array), ==, 4); -diff --git a/json-glib/tests/node.c b/json-glib/tests/node.c -index 23bda63..80beb78 100644 ---- a/json-glib/tests/node.c -+++ b/json-glib/tests/node.c -@@ -1,6 +1,4 @@ --#include <glib.h> --#include <json-glib/json-glib.h> --#include <string.h> -+#include "json-test-utils.h" - - static void - test_init_int (void) -@@ -19,7 +17,7 @@ test_init_double (void) - JsonNode *node = json_node_new (JSON_NODE_VALUE); - - json_node_set_double (node, 3.14159); -- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14159); -+ json_assert_fuzzy_equals (json_node_get_double (node), 3.14159, 0.00001); - - json_node_free (node); - } -@@ -119,13 +117,13 @@ test_get_int (void) - - json_node_set_int (node, 0); - g_assert_cmpint (json_node_get_int (node), ==, 0); -- g_assert_cmpfloat (json_node_get_double (node), ==, 0.0); -+ json_assert_almost_equals (json_node_get_double (node), 0.0); - g_assert (!json_node_get_boolean (node)); - g_assert (!json_node_is_null (node)); - - json_node_set_int (node, 42); - g_assert_cmpint (json_node_get_int (node), ==, 42); -- g_assert_cmpfloat (json_node_get_double (node), ==, 42.0); -+ json_assert_almost_equals (json_node_get_double (node), 42.0); - g_assert (json_node_get_boolean (node)); - g_assert (!json_node_is_null (node)); - -@@ -138,7 +136,7 @@ test_get_double (void) - JsonNode *node = json_node_new (JSON_NODE_VALUE); - - json_node_set_double (node, 3.14); -- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14); -+ json_assert_fuzzy_equals (json_node_get_double (node), 3.14, 0.001); - g_assert_cmpint (json_node_get_int (node), ==, 3); - g_assert (json_node_get_boolean (node)); - -@@ -232,9 +230,9 @@ test_gvalue_autopromotion (void) - g_print ("Expecting a gdouble, got a %s\n", g_type_name (G_VALUE_TYPE (&check))); - - g_assert_cmpint (G_VALUE_TYPE (&check), ==, G_TYPE_DOUBLE); -- g_assert_cmpfloat ((float) g_value_get_double (&check), ==, 3.14159f); -+ json_assert_fuzzy_equals (g_value_get_double (&check), 3.14159, 0.00001); - g_assert_cmpint (G_VALUE_TYPE (&value), !=, G_VALUE_TYPE (&check)); -- g_assert_cmpfloat ((gdouble) g_value_get_float (&value), ==, g_value_get_double (&check)); -+ json_assert_almost_equals (g_value_get_float (&value), g_value_get_double (&check)); - - g_value_unset (&value); - g_value_unset (&check); -diff --git a/json-glib/tests/parser.c b/json-glib/tests/parser.c -index f71584a..8c52a1d 100644 ---- a/json-glib/tests/parser.c -+++ b/json-glib/tests/parser.c -@@ -1,11 +1,5 @@ --#include "config.h" -- -+#include "json-test-utils.h" - #include <stdlib.h> --#include <stdio.h> -- --#include <glib.h> -- --#include <json-glib/json-glib.h> - - static const gchar *test_empty_string = ""; - static const gchar *test_empty_array_string = "[ ]"; -@@ -38,13 +32,13 @@ verify_string_value (JsonNode *node) - static void - verify_double_value (JsonNode *node) - { -- g_assert_cmpfloat (10.2e3, ==, json_node_get_double (node)); -+ json_assert_fuzzy_equals (10.2e3, json_node_get_double (node), 0.1); - } - - static void - verify_negative_double_value (JsonNode *node) - { -- g_assert_cmpfloat (-3.14, ==, json_node_get_double (node)); -+ json_assert_fuzzy_equals (-3.14, json_node_get_double (node), 0.01); - } - - static const struct { -diff --git a/json-glib/tests/reader.c b/json-glib/tests/reader.c -index 43a6aac..9bab312 100644 ---- a/json-glib/tests/reader.c -+++ b/json-glib/tests/reader.c -@@ -1,9 +1,4 @@ --#include <stdlib.h> --#include <stdio.h> -- --#include <glib.h> -- --#include <json-glib/json-glib.h> -+#include "json-test-utils.h" - - static const gchar *test_base_array_data = - "[ 0, true, null, \"foo\", 3.14, [ false ], { \"bar\" : 42 } ]"; -@@ -78,7 +73,7 @@ test_base_object (void) - g_assert (json_reader_get_error (reader) == NULL); - - json_reader_read_member (reader, "double"); -- g_assert_cmpfloat (json_reader_get_double_value (reader), ==, 42.47); -+ json_assert_fuzzy_equals (json_reader_get_double_value (reader), 42.47, 0.01); - json_reader_end_element (reader); - - g_object_unref (reader); |