summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2025-06-05 03:13:26 +0200
committerAndreas Enge <andreas@enge.fr>2025-06-20 20:40:03 +0200
commit4d1785dba397e6d3990342b63d01c1d2dae67f0f (patch)
treec56c97c02e66ac43e66872a756a4cc1d1d540735
parent01ad0cf43ea778e59e8fd7ed3cf03d809d920639 (diff)
gnu: ruby-chunky-png: Fix build with ruby@3.2.
* gnu/packages/ruby-xyz.scm (ruby-chunky-png)[source]: Record patch. * gnu/local.mk: Record patch. * gnu/packages/patches/ruby-chunky-png-ruby-3-2-support.patch: Record patch. Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/ruby-chunky-png-ruby-3-2-support.patch29
-rw-r--r--gnu/packages/ruby-xyz.scm5
3 files changed, 33 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c1d4aee2a2..68a4b9eaa2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2230,6 +2230,7 @@ dist_patch_DATA = \
%D%/packages/patches/rottlog-direntry.patch \
%D%/packages/patches/ruby-actionpack-remove-browser-tests.patch \
%D%/packages/patches/ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch \
+ %D%/packages/patches/ruby-chunky-png-ruby-3-2-support.patch \
%D%/packages/patches/ruby-hiredis-use-system-hiredis.patch \
%D%/packages/patches/ruby-hydra-minimal-no-byebug.patch \
%D%/packages/patches/ruby-anystyle-data-immutable-install.patch \
diff --git a/gnu/packages/patches/ruby-chunky-png-ruby-3-2-support.patch b/gnu/packages/patches/ruby-chunky-png-ruby-3-2-support.patch
new file mode 100644
index 0000000000..75d08c9fc8
--- /dev/null
+++ b/gnu/packages/patches/ruby-chunky-png-ruby-3-2-support.patch
@@ -0,0 +1,29 @@
+From 8e6f5934541833f15664398f90331f3724e40933 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Tue, 15 Nov 2022 23:22:20 +0900
+Subject: [PATCH] ruby3_2 fix: check if object responds to regex_match op
+
+Object#=~ is already deprecated since ruby2.6 and will be
+removed from ruby3.2. As the result, Array no longer
+respond to =~ from ruby3.2, for example.
+
+Check if the target object really respond to =~ .
+
+Closes #168
+---
+ lib/chunky_png/vector.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/chunky_png/vector.rb b/lib/chunky_png/vector.rb
+index 4ef965f..034104c 100644
+--- a/lib/chunky_png/vector.rb
++++ b/lib/chunky_png/vector.rb
+@@ -166,7 +166,7 @@ def dimension
+ # @return [Array<ChunkyPNG::Point>] The list of points interpreted from the input array.
+ def self.multiple_from_array(source)
+ return [] if source.empty?
+- if source.first.is_a?(Numeric) || source.first =~ /^\d+$/
++ if source.first.is_a?(Numeric) || ( source.first.respond_to?(:=~) && source.first =~ /^\d+$/ )
+ raise ArgumentError, "The points array is expected to have an even number of items!" if source.length % 2 != 0
+
+ points = []
diff --git a/gnu/packages/ruby-xyz.scm b/gnu/packages/ruby-xyz.scm
index fb073cc40b..63ebf6ca78 100644
--- a/gnu/packages/ruby-xyz.scm
+++ b/gnu/packages/ruby-xyz.scm
@@ -1852,11 +1852,12 @@ to save time in the following ways:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05qwj72dy2fcy0n2jnf3bfriybfj36m7s6pv9xash6295dbcp901"))))
+ (base32 "05qwj72dy2fcy0n2jnf3bfriybfj36m7s6pv9xash6295dbcp901"))
+ (patches
+ (search-patches "ruby-chunky-png-ruby-3-2-support.patch"))))
(build-system ruby-build-system)
(arguments
(list
- #:ruby ruby-3.1
#:test-target "spec"
#:phases
#~(modify-phases %standard-phases