Hello community,
here is the log from the commit of package perl-Cpanel-JSON-XS for
openSUSE:Factory checked in at 2017-09-04 12:37:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
and /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cpanel-JSON-XS"
Mon Sep 4 12:37:11 2017 rev:8 rq:520451 version:3.0238
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes
2017-08-28 15:10:32.952533985 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new/perl-Cpanel-JSON-XS.changes
2017-09-04 12:37:12.636015097 +0200
@@ -1,0 +2,10 @@
+Sat Aug 26 05:16:44 UTC 2017 - [email protected]
+
+- updated to 3.0238
+ see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+ 3.0238 2017-08-25 (rurban)
+ - Make printing of numbers on perl's earlier than 5.22 locale
+ insensitive, to produce a dot as decimal sep. (#96)
+
+-------------------------------------------------------------------
Old:
----
Cpanel-JSON-XS-3.0237.tar.gz
New:
----
Cpanel-JSON-XS-3.0238.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.9nrW0X/_old 2017-09-04 12:37:13.271925631 +0200
+++ /var/tmp/diff_new_pack.9nrW0X/_new 2017-09-04 12:37:13.271925631 +0200
@@ -17,7 +17,7 @@
Name: perl-Cpanel-JSON-XS
-Version: 3.0237
+Version: 3.0238
Release: 0
%define cpan_name Cpanel-JSON-XS
Summary: Cpanel Fork of Json::Xs, Fast and Correct Serializing
++++++ Cpanel-JSON-XS-3.0237.tar.gz -> Cpanel-JSON-XS-3.0238.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.appveyor.yml
new/Cpanel-JSON-XS-3.0238/.appveyor.yml
--- old/Cpanel-JSON-XS-3.0237/.appveyor.yml 2017-07-27 22:15:44.000000000
+0200
+++ new/Cpanel-JSON-XS-3.0238/.appveyor.yml 2017-07-29 17:18:21.000000000
+0200
@@ -45,4 +45,4 @@
build: off
test_script:
- - cmd: 'call t\appveyor-test.bat'
+ - 't\appveyor-test.bat'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.travis.yml
new/Cpanel-JSON-XS-3.0238/.travis.yml
--- old/Cpanel-JSON-XS-3.0237/.travis.yml 2017-07-27 22:15:44.000000000
+0200
+++ new/Cpanel-JSON-XS-3.0238/.travis.yml 2017-07-29 17:18:21.000000000
+0200
@@ -59,7 +59,7 @@
matrix:
fast_finish: true
include:
- - perl: "5.26"
+ - perl: "5.18"
env: COVERAGE=1 AUTHOR_TESTING=1 # enables coverage+coveralls reporting
allow_failures:
- env: COVERAGE=1 AUTHOR_TESTING=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/Changes
new/Cpanel-JSON-XS-3.0238/Changes
--- old/Cpanel-JSON-XS-3.0237/Changes 2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/Changes 2017-08-25 21:36:52.000000000 +0200
@@ -2,6 +2,10 @@
TODO: http://stevehanov.ca/blog/index.php?id=104 compression
+3.0238 2017-08-25 (rurban)
+ - Make printing of numbers on perl's earlier than 5.22 locale
+ insensitive, to produce a dot as decimal sep. (#96)
+
3.0237 2017-07-28 (rurban)
- relax inf/nan tests as in t/op/infnan.t for windows.
we cannot know if msvcrt.dll or the new ucrt.dll is used.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.json
new/Cpanel-JSON-XS-3.0238/META.json
--- old/Cpanel-JSON-XS-3.0237/META.json 2017-07-28 13:14:53.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/META.json 2017-08-25 22:52:34.000000000 +0200
@@ -48,6 +48,6 @@
"url" : "https://github.com/rurban/Cpanel-JSON-XS"
}
},
- "version" : "3.0237",
+ "version" : "3.0238",
"x_serialization_backend" : "JSON::PP version 2.93"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.yml
new/Cpanel-JSON-XS-3.0238/META.yml
--- old/Cpanel-JSON-XS-3.0237/META.yml 2017-07-28 13:14:53.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/META.yml 2017-08-25 22:52:34.000000000 +0200
@@ -23,5 +23,5 @@
bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
license: http://dev.perl.org/licenses/
repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '3.0237'
+version: '3.0238'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/README
new/Cpanel-JSON-XS-3.0238/README
--- old/Cpanel-JSON-XS-3.0237/README 2017-07-28 13:14:54.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/README 2017-08-25 22:52:51.000000000 +0200
@@ -158,6 +158,8 @@
- #72 parsing of illegal unicode or non-unicode characters.
+ - #96 locale-insensitive numeric conversion
+
- public maintenance and bugtracker
- use ppport.h, sanify XS.xs comment styles, harness C coding style
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/SIGNATURE
new/Cpanel-JSON-XS-3.0238/SIGNATURE
--- old/Cpanel-JSON-XS-3.0237/SIGNATURE 2017-07-28 13:14:54.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/SIGNATURE 2017-08-25 22:52:51.000000000 +0200
@@ -14,17 +14,17 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 66ade5a767190219d6892f1e4d59fea22be138d8 .appveyor.yml
-SHA1 041783628ea621df1271501c341141be0c4cd0c2 .travis.yml
+SHA1 b1dc76bb84e636c3d4a32dc6676ae3259fa25aeb .appveyor.yml
+SHA1 dc43f44fb1538b019f6b00c3b761bcdef76e7d2b .travis.yml
SHA1 9a56f3b919dfc8fced3803e165a2e38de62646e5 COPYING
-SHA1 05e39fba1f3550cca1f9d6f15fb2fd472b133fa6 Changes
+SHA1 49a2ea2313c4a80c9a1b17ac5a33e37b4aee5211 Changes
SHA1 1cb5b409cb86b392753ca0ea2d6ba718f104b128 MANIFEST
-SHA1 0293f584ff61e62d9a5efea0bb74191a93eaae62 META.json
-SHA1 dc0b25e34b021a66f298791270c523c70812b347 META.yml
+SHA1 12c974bbab5e0fc50c25915021acbafc2ba1c5c3 META.json
+SHA1 3f227704a2b605b00db50cddf12c9e86bfe564bb META.yml
SHA1 9f4e725e4e2fa7e255d1fce4314446c77da64035 Makefile.PL
-SHA1 ad85457cffa84dc07f9016b170f0ea7894a2b5eb README
-SHA1 9a3fda3cb684c8a4d482472640aa0e38de6e55a7 XS.pm
-SHA1 3022dd0522d14476779a21d7d9ad550bbea4a3a3 XS.xs
+SHA1 13237f66b5b6778d16cb6b3b272982de5915348d README
+SHA1 9512711c01a1f10c12c45290c55ac195e7cc374a XS.pm
+SHA1 b2294e2d6e251c43a8c27a931b5e85b44695ea79 XS.xs
SHA1 27b0bc7e0cd6fe90876fb3d285065c6a07cca028 XS/Boolean.pm
SHA1 9e4b04d1af085e6959aaed51734475d350136392 bin/cpanel_json_xs
SHA1 ea72bbe602baaabdd0004ef1d7e7cc3334b42bb4 eg/bench
@@ -53,7 +53,7 @@
SHA1 8dece990d5b07df0ae1b6364caefced774cb587d t/114_decode_prefix.t
SHA1 eb050780996f1e428c87bf6375415ca4c863cbb2 t/115_tie_ixhash.t
SHA1 3477b0490b8666e451ac15df97f9f35d72c946b1 t/116_incr_parse_fixed.t
-SHA1 5dc6d574882edd0d6c49ec3d5daeb8d9d4afc246 t/117_numbers.t
+SHA1 25ca035b576130cf560953df4e9daf68bdd96c3c t/117_numbers.t
SHA1 d1003d09b5da3609977362bcda64b2c593039a6b t/11_pc_expo.t
SHA1 c0037e62cefc891df4bb84a110051963a60e9f8c t/12_blessed.t
SHA1 4d553fd6b5e4486f087babff2946e0cb4b2c38fb t/13_limit.t
@@ -69,7 +69,7 @@
SHA1 3d155f37e687f929bd0cae767dc2dbf1993b73c9 t/22_comment_at_eof.t
SHA1 1ffb0242c800720c565a9e148e184bfa9d54b1c4 t/23_array_ctx.t
SHA1 2d2ccc7877250f80755a74acd0c3c2f21e606aae t/24_freeze_recursion.t
-SHA1 b1af7c633a8654de5180ae42289f8fe6d86263de t/25_boolean.t
+SHA1 bc1bf7bba31c320aed7164fe377957a0f6a8be57 t/25_boolean.t
SHA1 b731e24e61fd24c19c7b2e636bf20b368fbc851e t/26_duplicate.t
SHA1 7f4c74f3c46477c513a2baf07a60c94969d2e0e9 t/30_jsonspec.t
SHA1 3705a4bc706627dde26e444f41342b88850cbe98 t/31_bom.t
@@ -434,7 +434,7 @@
SHA1 e93c9b53438be114c25aa426742e24f4343057a7 typemap
-----BEGIN PGP SIGNATURE-----
-iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWXscrQAKCRCabZJij/3J
-QuLWAJ9MygjIcjr3je/GWcbxuToLjGUADwCgi4KIy98+e+HNEpVgBKEy+pqXeec=
-=7QEI
+iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWaCOEwAKCRCabZJij/3J
+QpBjAJ4qTm8QvBv4LnkngrHyJ2nFFG14igCfc+lK4hL27HUiAW9k9ZUXdtXH9R4=
+=34bW
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.pm
new/Cpanel-JSON-XS-3.0238/XS.pm
--- old/Cpanel-JSON-XS-3.0237/XS.pm 2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/XS.pm 2017-08-25 21:38:24.000000000 +0200
@@ -1,5 +1,5 @@
package Cpanel::JSON::XS;
-our $VERSION = '3.0237';
+our $VERSION = '3.0238';
our $XS_VERSION = $VERSION;
# $VERSION = eval $VERSION;
@@ -171,6 +171,8 @@
- #72 parsing of illegal unicode or non-unicode characters.
+ - #96 locale-insensitive numeric conversion
+
- public maintenance and bugtracker
- use ppport.h, sanify XS.xs comment styles, harness C coding style
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.xs
new/Cpanel-JSON-XS-3.0238/XS.xs
--- old/Cpanel-JSON-XS-3.0237/XS.xs 2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/XS.xs 2017-08-25 21:35:30.000000000 +0200
@@ -28,6 +28,10 @@
#define HAVE_BAD_POWL
#endif
+#if PERL_VERSION < 22 && defined(HAS_SETLOCALE)
+#define NEED_NUMERIC_LOCALE_C
+#endif
+
/* FIXME: still a refcount error */
#define HAVE_DECODE_BOM
#define UTF8BOM "\357\273\277" /* EF BB BF */
@@ -1387,6 +1391,9 @@
{
char *savecur, *saveend;
char inf_or_nan = 0;
+#ifdef NEED_NUMERIC_LOCALE_C
+ char *locale = NULL;
+#endif
NV nv = SvNVX(sv);
/* trust that perl will do the right thing w.r.t. JSON syntax. */
need (aTHX_ enc, NV_DIG + 32);
@@ -1406,11 +1413,22 @@
}
}
#endif
+ /* locale insensitive sprintf radix #96 */
+#ifdef NEED_NUMERIC_LOCALE_C
+ locale = setlocale(LC_NUMERIC, NULL);
+ if (!locale || strNE(locale, "C")) {
+ setlocale(LC_NUMERIC, "C");
+ }
+#endif
#ifdef USE_QUADMATH
quadmath_snprintf(enc->cur, enc->end - enc->cur, "%.*Qg", (int)NV_DIG,
nv);
#else
(void)Gconvert (nv, NV_DIG, 0, enc->cur);
#endif
+#ifdef NEED_NUMERIC_LOCALE_C
+ if (locale)
+ setlocale(LC_NUMERIC, locale);
+#endif
#ifdef STR_INF4
if (UNLIKELY(strEQc(enc->cur, STR_INF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/117_numbers.t
new/Cpanel-JSON-XS-3.0238/t/117_numbers.t
--- old/Cpanel-JSON-XS-3.0237/t/117_numbers.t 2017-07-28 11:20:18.000000000
+0200
+++ new/Cpanel-JSON-XS-3.0238/t/117_numbers.t 2017-08-25 21:43:09.000000000
+0200
@@ -3,7 +3,7 @@
use Test::More;
use Config;
plan skip_all => "Yet unhandled inf/nan with $^O" if $^O eq 'dec_osf';
-plan tests => 24;
+plan tests => 25;
# infnan_mode = 0:
is encode_json([9**9**9]), '[null]', "inf -> null stringify_infnan(0)";
@@ -126,3 +126,10 @@
$resnum = ($] > 5.007 && $] <= 5.010) ? '23' : '23.0';
is encode_json({test => [$num, $str]}), qq|{"test":[$resnum,"bar"]}|,
'int/string dualvar';
+
+{
+ use POSIX qw(setlocale);
+ setlocale(&POSIX::LC_ALL, "fr_FR.utf-8");
+ is encode_json({"invalid" => 123.45}), qq|{"invalid":123.45}|,
+ "numeric radix";
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/25_boolean.t
new/Cpanel-JSON-XS-3.0238/t/25_boolean.t
--- old/Cpanel-JSON-XS-3.0237/t/25_boolean.t 2017-07-27 22:15:44.000000000
+0200
+++ new/Cpanel-JSON-XS-3.0238/t/25_boolean.t 2017-07-29 17:18:21.000000000
+0200
@@ -1,6 +1,7 @@
use strict;
use Test::More tests => 32;
use Cpanel::JSON::XS ();
+use Config;
my $booltrue = q({"is_true":true});
my $boolfalse = q({"is_false":false});
@@ -60,22 +61,28 @@
is( $nonref_cjson->encode( do{utf8::is_utf8($utf8)} ), "true", "map
do{utf8::is_utf8(\$utf8)} to true");
}
-# GH #39
-# perl expression which evaluates to sv_no or sv_yes
-SKIP: {
- # implemented in 5.16 but broken, works since 5.20
- skip 'Perl 5.20 is needed for boolean tests based on !1 and !0', 4 if $] <
5.020;
- is( $nonref_cjson->encode( !1 ), "false", "map !1 to false");
- is( $nonref_cjson->encode( !1 ), "false", "map !1 to false");
- is( $nonref_cjson->encode( !0 ), "true", "map !0 to true");
- is( $nonref_cjson->encode( !0 ), "true", "map !0 to true");
+# GH #39 stringification. enabled with 5.16, stable fix with 5.20
+if ($] < 5.020 && $Config{useithreads}) {
+ # random results threaded
+ my ($strue, $sfalse) = (qr/^(1|true)$/, qr/^(""||false)$/);
+ like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+ like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+ like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true");
+ like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true");
+} else {
+ # perl expression which evaluates to stable sv_no or sv_yes
+ my ($strue, $sfalse) = ("true", "false");
+ is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+ is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+ is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true");
+ is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true");
}
$js = $cjson->decode( $truefalse );
ok ($js->[0] == $true, "decode true to yes");
ok ($js->[1] == $false, "decode false to no");
-ok( Cpanel::JSON::XS::is_bool($js->[0]) );
-ok( Cpanel::JSON::XS::is_bool($js->[1]) );
+ok( Cpanel::JSON::XS::is_bool($js->[0]), "true is_bool");
+ok( Cpanel::JSON::XS::is_bool($js->[1]), "false is_bool");
# GH #53
-ok( !Cpanel::JSON::XS::is_bool( [] ) );
+ok( !Cpanel::JSON::XS::is_bool( [] ), "[] !is_bool");