Fix Ruby 3.1 / Psych 4.0 compatibility.

f38
Vít Ondruch 3 years ago
parent 64c62fff29
commit e2e5e13efe

@ -0,0 +1,33 @@
From 7fa8d8aea4a041969e433debef7f4d5d59881ae2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
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

@ -2,7 +2,7 @@
Name: rubygem-%{gem_name} Name: rubygem-%{gem_name}
Version: 0.4.5 Version: 0.4.5
Release: 4%{?dist} Release: 5%{?dist}
Summary: Really simple JSON and XML parsing, ripped from Merb and Rails Summary: Really simple JSON and XML parsing, ripped from Merb and Rails
License: MIT License: MIT
URL: https://github.com/jnunemaker/crack 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 clone https://github.com/jnunemaker/crack.git && cd crack
# git archive -v -o crack-0.4.5-tests.tar.gz a951228b1ec0d19c8e3100f92b83a07b24c57a99 test/ # git archive -v -o crack-0.4.5-tests.tar.gz a951228b1ec0d19c8e3100f92b83a07b24c57a99 test/
Source1: crack-%{version}-tests.tar.gz 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 # ruby package has just soft dependency on rubygem(bigdecimal), while
# crack always requires it. # crack always requires it.
Requires: rubygem(bigdecimal) Requires: rubygem(bigdecimal)
@ -37,6 +40,8 @@ Documentation for %{name}.
%prep %prep
%setup -q -n %{gem_name}-%{version} -b 1 %setup -q -n %{gem_name}-%{version} -b 1
%patch0 -p1
%build %build
# Create the gem as gem install only works on a gem file # Create the gem as gem install only works on a gem file
gem build ../%{gem_name}-%{version}.gemspec gem build ../%{gem_name}-%{version}.gemspec
@ -70,6 +75,9 @@ popd
%changelog %changelog
* Fri Mar 11 2022 Vít Ondruch <vondruch@redhat.com> - 1:0.4.5-5
- Fix Ruby 3.1 / Psych 4.0 compatibility.
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.5-4 * Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.4.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

Loading…
Cancel
Save