summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-06-04 22:46:10 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-06-04 22:46:10 +0200
commit0899352f970b321c22ff971bb674cb4a131587c9 (patch)
treefcb9004624d5dbada1d72c0123af5570c8a8738f
parenta7938625920b65f425d01a46dc28ecc7b1af8a09 (diff)
downloadguix-0899352f970b321c22ff971bb674cb4a131587c9.tar.gz
gnu: ruby-ansi: Fix build failure with ruby@2.4.0.
* gnu/packages/ruby.scm (ruby-ansi)[arguments]<#:phases>: Add 'replace-broken-symlink'.
-rw-r--r--gnu/packages/ruby.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c91be6f6cb..868188119c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3586,7 +3587,19 @@ It has built-in support for the legacy @code{cookies.txt} and
          ;; be require'd.
          (replace 'check
            (lambda _
-             (zero? (system* "ruby" "-Ilib" "-r" "ansi")))))))
+             (zero? (system* "ruby" "-Ilib" "-r" "ansi"))))
+         (add-before 'validate-runpath 'replace-broken-symlink
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (file (string-append out "/lib/ruby/gems/"
+                                         ,(package-version ruby)
+                                         "/gems/ansi-" ,version
+                                         "/lib/ansi.yml")))
+               ;; XXX: This symlink is broken since ruby 2.4.
+               ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html
+               (delete-file file)
+               (symlink "../.index" file)
+               #t))))))
     (synopsis "ANSI escape code related libraries")
     (description
      "This package is a collection of ANSI escape code related libraries