diff --git a/rubygem-crack-0.4.5-Use-named-parameters-for-safe_load.patch b/rubygem-crack-0.4.5-Use-named-parameters-for-safe_load.patch new file mode 100644 index 0000000..de91629 --- /dev/null +++ b/rubygem-crack-0.4.5-Use-named-parameters-for-safe_load.patch @@ -0,0 +1,33 @@ +From 7fa8d8aea4a041969e433debef7f4d5d59881ae2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Fri, 11 Mar 2022 18:29:43 +0100 +Subject: [PATCH] Use named parameters for `safe_load`. + +This is available since Psych 3.1 [[1], [2]], but mandatory since Psych +4.0 [[3]]. + +Fixes #72 + +[1]: https://github.com/ruby/psych/pull/358 +[2]: https://github.com/ruby/psych/pull/378 +[3]: https://github.com/ruby/psych/commit/0767227051dbddf1f949eef512c174deabf22891 +--- + lib/crack/json.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/crack/json.rb b/lib/crack/json.rb +index 1a27ac7..528aad6 100644 +--- a/lib/crack/json.rb ++++ b/lib/crack/json.rb +@@ -13,7 +13,7 @@ module Crack + + def self.parse(json) + yaml = unescape(convert_json_to_yaml(json)) +- YAML.safe_load(yaml, [Regexp, Date, Time]) ++ YAML.safe_load(yaml, permitted_classes: [Regexp, Date, Time]) + rescue *parser_exceptions + raise ParseError, "Invalid JSON string" + rescue Psych::DisallowedClass +-- +2.34.1 + diff --git a/rubygem-crack.spec b/rubygem-crack.spec index c1bdf31..0bcfc76 100644 --- a/rubygem-crack.spec +++ b/rubygem-crack.spec @@ -2,7 +2,7 @@ Name: rubygem-%{gem_name} Version: 0.4.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Really simple JSON and XML parsing, ripped from Merb and Rails License: MIT URL: https://github.com/jnunemaker/crack @@ -10,6 +10,9 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem # git clone https://github.com/jnunemaker/crack.git && cd crack # git archive -v -o crack-0.4.5-tests.tar.gz a951228b1ec0d19c8e3100f92b83a07b24c57a99 test/ Source1: crack-%{version}-tests.tar.gz +# Fix Ruby 3.1 / Psych 4.0 compatibility. +# https://github.com/jnunemaker/crack/pull/73 +Patch0: rubygem-crack-0.4.5-Use-named-parameters-for-safe_load.patch # ruby package has just soft dependency on rubygem(bigdecimal), while # crack always requires it. Requires: rubygem(bigdecimal) @@ -37,6 +40,8 @@ Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} -b 1 +%patch0 -p1 + %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec @@ -70,6 +75,9 @@ popd %changelog +* Fri Mar 11 2022 Vít Ondruch - 1:0.4.5-5 +- Fix Ruby 3.1 / Psych 4.0 compatibility. + * Fri Jan 21 2022 Fedora Release Engineering - 1:0.4.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild