summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2019-12-30 12:46:55 +0200
committerEfraim Flashner <efraim@flashner.co.il>2019-12-30 12:46:55 +0200
commit83870c32e8bbe5a70d58cbc9bdd98892e95dc5dc (patch)
tree51da0de2634476f5c1c9eb43dc7beea0ef7591fd /gnu
parenta6cffe6ec4f168138a2deb929737ee06376cff5c (diff)
downloadguix-83870c32e8bbe5a70d58cbc9bdd98892e95dc5dc.tar.gz
gnu: ruby-rack: Don't use unstable tarball.
* gnu/packages/ruby.scm (ruby-rack)[source]: Download using git-fetch.
[arguments]: Add phase to make gzip files writable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ruby.scm23
1 files changed, 15 insertions, 8 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6203352687..10c887eeaf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5068,16 +5068,15 @@ generates Ruby program.")
     (version "2.0.6")
     (source
      (origin
-       (method url-fetch)
+       (method git-fetch)
        ;; Download from GitHub so that the patch can be applied.
-       (uri (string-append
-             "https://github.com/rack/rack/archive/"
-             version
-             ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (git-reference
+              (url "https://github.com/rack/rack")
+              (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0pb3g5ymvbf07xaxcn51dpqv3djlxavckp3qkxsjdxiqznb0d9p1"))
+         "1n7z4g1x6yxip096cdc04wq7yk7ywpinq28g2xjb46r4nlv5h0j6"))
        ;; Ignore test which fails inside the build environment but works
        ;; outside.
        (patches (search-patches "ruby-rack-ignore-failing-test.patch"))))
@@ -5103,7 +5102,15 @@ generates Ruby program.")
                                  (number->string (+ 22 size-diff))
                                  "-"
                                  (number->string (+ 33 size-diff))))))
-             #t)))))
+             #t))
+         (add-before 'reset-gzip-timestamps 'make-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure .gz files are writable so that the
+             ;; 'reset-gzip-timestamps' phase can do its work.
+             (let ((out (assoc-ref outputs "out")))
+               (for-each make-file-writable
+                         (find-files out "\\.gz$"))
+               #t))))))
     (native-inputs
      `(("ruby-minitest" ,ruby-minitest)
        ("ruby-minitest-sprint" ,ruby-minitest-sprint)