summary refs log tree commit diff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-12-11 15:38:57 +0100
committerMarius Bakke <marius@gnu.org>2021-12-12 23:26:01 +0100
commita3b25dbfa6dc1923bad7adac2e226e8d49a2cdb5 (patch)
tree32a5c73739fe066f19caa93b3ab92e747e9c469f /gnu/packages/ruby.scm
parent867dcbe3a10bedf894b71cfabd2db22ca8dc249e (diff)
downloadguix-a3b25dbfa6dc1923bad7adac2e226e8d49a2cdb5.tar.gz
gnu: ruby-nokogiri: Update to 1.12.5.
* gnu/packages/ruby.scm (ruby-nokogiri-1.10): New variable.
(ruby-nokogiri): Inherit from it.  Update to 1.12.5.
(ruby-nokogiri-diff)[propagated-inputs]: Change from RUBY-NOKOGIRI to
RUBY-NOKOGIRI-1.10.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm42
1 files changed, 39 insertions, 3 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 020532fe14..7c9c7ebfd6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@@ -5121,7 +5121,10 @@ to reproduce user environments.")
                (base32
                 "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"))))))
 
-(define-public ruby-nokogiri
+;; TODO: In the next rebuild cycle, provide texlive a version of ruby-hydra
+;; that does not depend on byebug and rspec, so that their dependencies can
+;; be updated more freely.  For now pin this version to avoid rebuilds.
+(define-public ruby-nokogiri-1.10
   (package
     (name "ruby-nokogiri")
     (version "1.10.9")
@@ -5170,6 +5173,38 @@ both CSS3 selector and XPath 1.0 support.")
     (home-page "http://www.nokogiri.org/")
     (license license:expat)))
 
+;; nokogiri requires this version exactly.
+(define-public ruby-mini-portile-2.6.1
+  (package
+    (inherit ruby-mini-portile)
+    (version "2.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "mini_portile2" version))
+              (sha256
+               (base32
+                "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"))))))
+
+(define-public ruby-nokogiri
+  (package
+    (inherit ruby-nokogiri-1.10)
+    (version "1.12.5")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "nokogiri" version))
+              (sha256
+               (base32
+                "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"))))
+    (arguments
+     '(#:tests? #f                      ;XXX: no tests in rubygem
+       #:gem-flags (list "--" "--use-system-libraries"
+                         (string-append "--with-xml2-include="
+                                        (assoc-ref %build-inputs "libxml2")
+                                        "/include/libxml2"))))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs ruby-nokogiri-1.10)
+       (replace "ruby-mini-portile" ruby-mini-portile-2.6.1)))))
+
 (define-public ruby-method-source
   (package
     (name "ruby-method-source")
@@ -6819,7 +6854,8 @@ tree-like structures.  It is similar to Ruby's built-in @code{TSort} module.")
       (build-system ruby-build-system)
       (propagated-inputs
        `(("ruby-tdiff" ,ruby-tdiff)
-         ("ruby-nokogiri" ,ruby-nokogiri)))
+         ;; Use a fixed version to prevent rebuilds; see ruby-nokogiri TODO.
+         ("ruby-nokogiri" ,ruby-nokogiri-1.10)))
       (native-inputs
        `(("ruby-rspec" ,ruby-rspec)
          ("ruby-yard" ,ruby-yard)