Subject: [bug#78683] [PATCH 3/7] gnu: ruby: Add ruby/pinned.

From: Nicolas Graves <[email-masked]>
Date: Wed, 4 Jun 2025 22:49:31 +0200

This is to help batch update the lagging version of ruby on
core-packages.

* gnu/packages/ruby.scm (ruby/pinned): Define outdated variant.

* gnu/packages/qt.scm (qtbase-5, qtwebengine-5)
* gnu/packages/ruby.scm (ruby-hydra-minimal/pinned)
* gnu/packages/tex.scm (texlive-hyphen-complete)
* gnu/packages/texlive.scm (texlivebin)
* gnu/packages/webkit.scm (webkitgtk):
  [native-inputs]: Replace ruby-2.7 by ruby/pinned.
---
 gnu/packages/qt.scm      | 6 ++----
 gnu/packages/ruby.scm    | 6 +++++-
 gnu/packages/tex.scm     | 3 +--
 gnu/packages/texlive.scm | 3 +--
 gnu/packages/webkit.scm  | 3 +--
 5 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 7995dc74c5..791a176954 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -575,8 +575,7 @@ (define-public qtbase-5
            pkg-config
            python
            vulkan-headers
-           ;; TODO Move to ruby@3 on the next rebuild cycle.
-           ruby-2.7))
+           ruby/pinned))
     (arguments
      `(#:disallowed-references ,(list python)
        #:configure-flags
@@ -3345,8 +3344,7 @@ (define-public qtwebengine-5
            pkg-config
            python2-six
            python-2
-           ;; TODO Move to ruby@3 on the next rebuild cycle.
-           ruby-2.7))
+           ruby/pinned))
     (inputs
      (list alsa-lib
            at-spi2-core
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4b929b5bcb..72a05fa125 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -288,6 +288,10 @@ (define-public ruby-2.7
 
 (define-public ruby ruby-3.2)
 
+;; Outdated variant, should only be tolerated as a native-input.
+;; TODO: Update on the core-packages branch.
+(define-public ruby/pinned ruby-2.7)
+
 (define-public mruby
   (package
     (name "mruby")
@@ -4056,7 +4060,7 @@ (define-public ruby-hydra-minimal/pinned
    (package
      (inherit ruby-hydra-minimal)
      (arguments
-      (cons* #:ruby ruby-2.7
+      (cons* #:ruby ruby/pinned
              (package-arguments ruby-hydra-minimal))))))
 
 (define-public ruby-hydra
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 8ff396c50e..f03266643c 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -766,8 +766,7 @@ (define-public texlive-hyphen-complete
                      (string-append "File.join(\"" ptex "\"")))
                   (invoke "ruby" "generate-ptex-patterns.rb"))))))))
     (native-inputs
-     ;; TODO: Update to ruby@3 on next rebuild-cycle.
-     (list ruby-2.7
+     (list ruby/pinned
            ruby-hydra-minimal/pinned
            ;; Build phase requires "docstrip.tex" from TEXLIVE-LATEX.
            ;; However, adding this package to native inputs would initiate
diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
index 8ba3e1bb4f..c1ce170dda 100644
--- a/gnu/packages/texlive.scm
+++ b/gnu/packages/texlive.scm
@@ -136,8 +136,7 @@ (define texlivebin
        ("pixman" ,pixman)
        ("potrace" ,potrace)
        ("python" ,python)
-       ;; TODO Move to ruby@3 on the next rebuild cycle.
-       ("ruby" ,ruby-2.7)
+       ("ruby" ,ruby/pinned)
        ("tcsh" ,tcsh)
        ("teckit" ,teckit)
        ("zlib" ,zlib)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 7a2ded69d3..6cd590d2ca 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -242,8 +242,7 @@ (define-public webkitgtk
            pkg-config
            python-wrapper
            gi-docgen
-           ;; TODO Move to ruby@3 on the next rebuild cycle.
-           ruby-2.7
+           ruby/pinned
            unifdef))
     (propagated-inputs
      (list gtk libsoup))
-- 
2.49.0