[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
56/229: gnu: ruby-activesupport: Update to 7.0.4.3.
From: |
guix-commits |
Subject: |
56/229: gnu: ruby-activesupport: Update to 7.0.4.3. |
Date: |
Tue, 28 Mar 2023 22:29:01 -0400 (EDT) |
apteryx pushed a commit to branch master
in repository guix.
commit 365de8cfd2de433b111b2e14e36c07c3c0b4c9f2
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Thu Mar 2 11:04:35 2023 -0500
gnu: ruby-activesupport: Update to 7.0.4.3.
* gnu/packages/ruby.scm (ruby-activesupport): Move to...
* gnu/packages/rails.scm (ruby-activesupport): ... here.
(%ruby-rails-version, ruby-rails-monorepo): New variables.
(ruby-activesupport): Update to 7.0.4.3.
[arguments]: Use gexps. Add the delete-gemfiles, chdir, check-setup and
delete-problematic-tests phases. Delete check phase override.
[native-inputs]: New field.
[propagated-inputs]: Remove ruby-zeitwerk. Replace ruby-minitest with
ruby-minitest-5.15.
[home-page]: Update URL.
---
gnu/packages/protobuf.scm | 1 +
gnu/packages/rails.scm | 84 +++++++++++++++++++++++++++++++++++++++++++++++
gnu/packages/ruby.scm | 33 -------------------
3 files changed, 85 insertions(+), 33 deletions(-)
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index 82c5b7b5f8..a746b7de9c 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -49,6 +49,7 @@
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rpc)
+ #:use-module (gnu packages rails)
#:use-module (gnu packages ruby)
#:use-module (srfi srfi-1))
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8f5bda4638..3af90bc913 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,10 +25,93 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages node)
#:use-module (gnu packages ruby)
#:use-module (guix build-system ruby))
+(define %ruby-rails-version "7.0.4.3")
+
+(define ruby-rails-monorepo
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rails/rails")
+ (commit (string-append "v" %ruby-rails-version))))
+ (file-name (git-file-name "ruby-rails" %ruby-rails-version))
+ (sha256
+ (base32
+ "0f5f8r8wdmdmbyl07b0z555arai4ys2j8dj3fy0mq63y9bfhcqqk"))))
+
+(define-public ruby-activesupport
+ (package
+ (name "ruby-activesupport")
+ (version %ruby-rails-version)
+ (source ruby-rails-monorepo)
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-gemfiles
+ (lambda _
+ (delete-file "Gemfile")
+ (delete-file "Gemfile.lock")))
+ (add-after 'delete-gemfiles 'chdir
+ (lambda _
+ (chdir "activesupport")))
+ (add-before 'check 'check-setup
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ ;; Multiple tests require to set the timezone.
+ (setenv "TZDIR" (search-input-directory (or native-inputs inputs)
+ "share/zoneinfo"))
+ ;; The test suite requires a memcached and a redis server.
+ (invoke "memcached" "-d")
+ (invoke "redis-server" "--daemonize" "yes")))
+ (add-before 'check 'delete-problematic-tests
+ (lambda _
+ ;; These tests fail non-deterministically.
+ (substitute* "test/cache/behaviors.rb"
+ ((".*behaviors/cache_store_behavior.*")
+ "")
+ ((".*behaviors/encoded_key_cache_behavior.*")
+ ""))
+ (delete-file "test/evented_file_update_checker_test.rb")
+ ;; These tests require cache_store_behavior, disabled above.
+ (delete-file "test/cache/stores/file_store_test.rb")
+ (delete-file "test/cache/stores/mem_cache_store_test.rb")
+ (delete-file "test/cache/stores/memory_store_test.rb")
+ (delete-file "test/cache/stores/redis_cache_store_test.rb"))))))
+ (native-inputs
+ (list memcached
+ redis
+ ruby-builder
+ ruby-connection-pool
+ ruby-dalli
+ ruby-hiredis
+ ruby-libxml
+ ruby-listen
+ ruby-rack
+ ruby-redis
+ ruby-rexml
+ tzdata-for-tests))
+ (propagated-inputs
+ (list ruby-concurrent
+ ruby-i18n
+ ;; This is sub-optimal, but apparently necessary (see:
+ ;; https://github.com/rails/rails/commit/
+ ;; 9766eb4a833c26c64012230b96dd1157ebb8e8a2).
+ ruby-minitest-5.15
+ ruby-tzinfo
+ ruby-tzinfo-data))
+ (synopsis "Ruby on Rails utility library")
+ (description "ActiveSupport is a toolkit of support libraries and Ruby
+core extensions extracted from the Rails framework. It includes support for
+multibyte strings, internationalization, time zones, and testing.")
+ (home-page "https://rubyonrails.org/")
+ (license license:expat)))
+
(define-public ruby-spring
(package
(name "ruby-spring")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fe93ec53e6..e600e84cfe 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6547,39 +6547,6 @@ you about the changes.")
documents and fragments. It's built on top of Nokogiri and libxml2.")
(license license:expat)))
-(define-public ruby-activesupport
- (package
- (name "ruby-activesupport")
- (version "6.1.3")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "activesupport" version))
- (sha256
- (base32
- "00a4db64g8w5yyk6hzak2nqrmdfvyh5zc9cvnm9gglwbi87ss28h"))))
- (build-system ruby-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- ;; There are no tests, instead attempt to load the library.
- (invoke "ruby" "-Ilib" "-r" "active_support"))))))
- (propagated-inputs
- (list ruby-concurrent
- ruby-i18n
- ruby-minitest
- ruby-tzinfo
- ruby-tzinfo-data
- ruby-zeitwerk))
- (synopsis "Ruby on Rails utility library")
- (description "ActiveSupport is a toolkit of support libraries and Ruby
-core extensions extracted from the Rails framework. It includes support for
-multibyte strings, internationalization, time zones, and testing.")
- (home-page "https://www.rubyonrails.org")
- (license license:expat)))
-
(define-public ruby-crass
(package
(name "ruby-crass")
- 21/229: gnu: Add ruby-simplecov-json-formatter., (continued)
- 21/229: gnu: Add ruby-simplecov-json-formatter., guix-commits, 2023/03/28
- 37/229: gnu: Add ruby-hiredis., guix-commits, 2023/03/28
- 39/229: gnu: ruby-rake: Update to 13.0.6., guix-commits, 2023/03/28
- 48/229: gnu: Add ruby-cucumber-ci-environment., guix-commits, 2023/03/28
- 13/229: gnu: ruby-rspec: Update to 3.12.0., guix-commits, 2023/03/28
- 60/229: gnu: ruby-activerecord: Update to 7.0.4.3 and enable tests., guix-commits, 2023/03/28
- 65/229: gnu: ruby-zeitwerk: Update to 2.6.7., guix-commits, 2023/03/28
- 66/229: gnu: Add ruby-queue-classic., guix-commits, 2023/03/28
- 71/229: gnu: Add ruby-websocket., guix-commits, 2023/03/28
- 44/229: gnu: ruby-cucumber-core: Update to 11.1.0., guix-commits, 2023/03/28
- 56/229: gnu: ruby-activesupport: Update to 7.0.4.3.,
guix-commits <=
- 70/229: gnu: Add ruby-launchy., guix-commits, 2023/03/28
- 78/229: gnu: Add ruby-rack-cache., guix-commits, 2023/03/28
- 80/229: gnu: ruby-rack-test: Update home page., guix-commits, 2023/03/28
- 82/229: gnu: ruby-sinatra: Update to 3.0.5., guix-commits, 2023/03/28
- 85/229: gnu: Add ruby-vcr-expat., guix-commits, 2023/03/28
- 87/229: gnu: Add ruby-syntax-tree., guix-commits, 2023/03/28
- 90/229: gnu: Add ruby-concurrent-ruby., guix-commits, 2023/03/28
- 93/229: gnu: Add ruby-concurrent-ruby-edge., guix-commits, 2023/03/28
- 96/229: gnu: Add ruby-ruby2-keywords., guix-commits, 2023/03/28
- 97/229: gnu: Add ruby-faraday-net-http., guix-commits, 2023/03/28