aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner2021-02-24 16:40:28 +0200
committerEfraim Flashner2021-02-24 16:40:28 +0200
commitdbaba4d9de349222492060c5b6fc62df045c28c8 (patch)
tree8b87b96728eb4984dc4409bdc0bc86731731b7a2
parent82c5260265dc9f2c7bbe3f04a2b48b6cd1de2e7a (diff)
downloadguix-bioinformatics-dbaba4d9de349222492060c5b6fc62df045c28c8.tar.gz
gn: more WIP on discourse
-rw-r--r--gn/packages/ruby.scm167
1 files changed, 65 insertions, 102 deletions
diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm
index 01087e8..9d88798 100644
--- a/gn/packages/ruby.scm
+++ b/gn/packages/ruby.scm
@@ -345,7 +345,7 @@ one-to-one, while still providing an idiomatic interface.")
(define-public discourse
(package
(name "discourse")
- (version "2.6.1")
+ (version "2.6.2")
(source
(origin
(method git-fetch)
@@ -355,7 +355,7 @@ one-to-one, while still providing an idiomatic interface.")
(file-name (git-file-name name version))
(sha256
(base32
- "1j1sinbxrdvidvn52z0qg668p7zd2ir5qdm43n4zdncmps6s4bnd"))))
+ "02g8bh0k8n9v2zbh6mrlvn3z3zrccd56z9wd1nriy4mckk0s85d7"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@@ -369,41 +369,38 @@ one-to-one, while still providing an idiomatic interface.")
;; This may not work, but it's worth a shot for now
(lambda _
(substitute* "Gemfile"
- (("6.0.3.3") "5.2.2.1") ; different rails version
- ((".*rails_failover.*") "") ; need to upgrade rails to 6.0+
+ (("6.0.3.3") ,(package-version ruby-rails))
(("2.0.1") ,(package-version ruby-sassc))
(("active_model_serializers.*") "active_model_serializers'\n")
- ;; hide mini-racer and rbtrace for now, can't build libv8, rbtrace
+ ;; hide mini-racer and for now, can't build libv8
((".*mini_racer.*") "")
- ((".*rbtrace.*") "")
;; ruby-cppjieba-rb never finishes the install phase
((".*cppjieba_rb.*") "")
)
#t))
(replace 'build
(lambda _
+ ;; https://github.com/discourse/discourse/blob/v2.6.2/docs/DEVELOPER-ADVANCED.md
(setenv "HOME" (getcwd))
+ (setenv "RAILS_ENV" "test")
+ (invoke "bundle" "exec" "rake" "db:create" "db:migrate")
(invoke "bundle" "exec" "rake" "autospec")))
)
))
;;TODO: What should be moved to native-inputs?
(inputs
`(
+ ("node" ,(@ (gnu packages node) node))
("ruby-actionmailer" ,ruby-actionmailer)
("ruby-actionview-precompiler" ,ruby-actionview-precompiler)
("ruby-active-model-serializers" ,ruby-active-model-serializers)
("ruby-activemodel" ,ruby-activemodel)
("ruby-activerecord" ,ruby-activerecord)
- ("ruby-annotate" ,ruby-annotate)
("ruby-aws-sdk-s3" ,ruby-aws-sdk-s3)
("ruby-aws-sdk-sns" ,ruby-aws-sdk-sns)
- ("ruby-better-errors" ,ruby-better-errors)
- ("ruby-binding-of-caller" ,ruby-binding-of-caller)
("ruby-bootsnap" ,ruby-bootsnap)
- ("ruby-bullet" ,ruby-bullet)
("ruby-cbor" ,ruby-cbor)
;("ruby-cppjieba-rb" ,ruby-cppjieba-rb)
- ("ruby-certified" ,ruby-certified)
("ruby-colored2" ,ruby-colored2)
("ruby-cose" ,ruby-cose)
("ruby-css-parser" ,ruby-css-parser)
@@ -414,8 +411,6 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-discourse-image-optim" ,ruby-discourse-image-optim)
("ruby-email-reply-trimmer" ,ruby-email-reply-trimmer)
("ruby-excon" ,ruby-excon)
- ("ruby-fabrication" ,ruby-fabrication)
- ("ruby-fakeweb" ,ruby-fakeweb)
("ruby-fast-blank" ,ruby-fast-blank)
("ruby-fast-xs" ,ruby-fast-xs)
("ruby-fastimage" ,ruby-fastimage)
@@ -423,7 +418,6 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-gc-tracer" ,ruby-gc-tracer)
("ruby-highline" ,ruby-highline)
("ruby-http-accept-language" ,ruby-http-accept-language)
- ("ruby-listen" ,ruby-listen)
("ruby-lograge" ,ruby-lograge)
("ruby-logstash-event" ,ruby-logstash-event)
("ruby-logstash-logger" ,ruby-logstash-logger)
@@ -438,8 +432,6 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-mini-scheduler" ,ruby-mini-scheduler)
("ruby-mini-sql" ,ruby-mini-sql)
("ruby-mini-suffix" ,ruby-mini-suffix)
- ("ruby-mocha" ,ruby-mocha)
- ("ruby-mock-redis" ,ruby-mock-redis)
("ruby-oj" ,ruby-oj)
("ruby-omniauth" ,ruby-omniauth)
("ruby-omniauth-facebook" ,ruby-omniauth-facebook)
@@ -447,7 +439,6 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-omniauth-google-oauth2" ,ruby-omniauth-google-oauth2)
("ruby-omniauth-twitter" ,ruby-omniauth-twitter)
("ruby-onebox" ,ruby-onebox)
- ("ruby-parallel-tests" ,ruby-parallel-tests)
("ruby-pg" ,ruby-pg)
("ruby-pry-byebug" ,ruby-pry-byebug)
("ruby-pry-rails" ,ruby-pry-rails)
@@ -455,24 +446,18 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-r2" ,ruby-r2)
("ruby-rack-mini-profiler" ,ruby-rack-mini-profiler)
("ruby-rack-protection" ,ruby-rack-protection)
- ;("ruby-rails-failover" ,ruby-rails-failover)
+ ("ruby-rails-failover" ,ruby-rails-failover)
("ruby-rails-multisite" ,ruby-rails-multisite)
("ruby-railties" ,ruby-railties)
("ruby-rake" ,ruby-rake)
- ;("ruby-rbtrace" ,ruby-rbtrace)
+ ("ruby-rbtrace" ,ruby-rbtrace)
("ruby-rchardet" ,ruby-rchardet)
("ruby-redis" ,ruby-redis)
("ruby-redis-namespace" ,ruby-redis-namespace)
("ruby-rinku" ,ruby-rinku)
("ruby-rotp" ,ruby-rotp)
("ruby-rqrcode" ,ruby-rqrcode)
- ("ruby-rspec" ,ruby-rspec)
- ("ruby-rspec-html-matchers" ,ruby-rspec-html-matchers)
- ("ruby-rspec-rails" ,ruby-rspec-rails)
- ("ruby-rswag-specs" ,ruby-rswag-specs)
("ruby-rtlit" ,ruby-rtlit)
- ("ruby-rubocop-discourse" ,ruby-rubocop-discourse)
- ("ruby-ruby-prof" ,ruby-ruby-prof)
("ruby-ruby-readability" ,ruby-ruby-readability)
("ruby-rubyzip" ,ruby-rubyzip)
("ruby-sassc" ,ruby-sassc)
@@ -480,21 +465,38 @@ one-to-one, while still providing an idiomatic interface.")
("ruby-seed-fu" ,ruby-seed-fu)
("ruby-shoulda-matchers" ,ruby-shoulda-matchers)
("ruby-sidekiq" ,ruby-sidekiq)
- ("ruby-simplecov" ,ruby-simplecov)
("ruby-sprockets-rails" ,ruby-sprockets-rails)
("ruby-sshkey" ,ruby-sshkey)
("ruby-stackprof" ,ruby-stackprof)
- ("ruby-test-prof" ,ruby-test-prof)
("ruby-uglifier" ,ruby-uglifier)
("ruby-unf" ,ruby-unf)
("ruby-unicorn" ,ruby-unicorn)
- ("ruby-webmock" ,ruby-webmock)
("ruby-webpush" ,ruby-webpush)
("ruby-xorcist" ,ruby-xorcist)
- ("ruby-yaml-lint" ,ruby-yaml-lint)
))
(native-inputs
`(
+ ("ruby-annotate" ,ruby-annotate)
+ ("ruby-better-errors" ,ruby-better-errors)
+ ("ruby-binding-of-caller" ,ruby-binding-of-caller)
+ ("ruby-bullet" ,ruby-bullet)
+ ("ruby-certified" ,ruby-certified)
+ ("ruby-fabrication" ,ruby-fabrication)
+ ("ruby-fakeweb" ,ruby-fakeweb)
+ ("ruby-listen" ,ruby-listen)
+ ("ruby-mocha" ,ruby-mocha)
+ ("ruby-mock-redis" ,ruby-mock-redis)
+ ("ruby-parallel-tests" ,ruby-parallel-tests)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rspec-html-matchers" ,ruby-rspec-html-matchers)
+ ("ruby-rspec-rails" ,ruby-rspec-rails)
+ ("ruby-rswag-specs" ,ruby-rswag-specs)
+ ("ruby-rubocop-discourse" ,ruby-rubocop-discourse)
+ ("ruby-ruby-prof" ,ruby-ruby-prof)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-test-prof" ,ruby-test-prof)
+ ("ruby-webmock" ,ruby-webmock)
+ ("ruby-yaml-lint" ,ruby-yaml-lint)
))
(synopsis "Platform for community discussion")
(description "Discourse is the 100% open source discussion platform built
@@ -529,23 +531,6 @@ hopefully the most robust seed data system around.")
(home-page "https://github.com/mbleigh/seed-fu")
(license license:expat)))
-(define-public ruby-mini-mime
- (package
- (name "ruby-mini-mime")
- (version "1.0.2")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "mini_mime" version))
- (sha256
- (base32
- "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha"))))
- (build-system ruby-build-system)
- (synopsis "Lightweight mime type lookup toy")
- (description "This package provides a lightweight mime type lookup toy.")
- (home-page "https://github.com/discourse/mini_mime")
- (license license:expat)))
-
;; TODO: deal with bundled libraries
(define-public ruby-mini-suffix
(package
@@ -2459,7 +2444,7 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(arguments
`(#:tests? #f)) ; no rakefile found
(propagated-inputs
- `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
+ `(("ruby-concurrent-ruby" ,ruby-concurrent)
("ruby-dry-core" ,ruby-dry-core)))
(synopsis
"Predicate logic with rule composition")
@@ -2502,7 +2487,7 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(arguments
`(#:tests? #f)) ; no rakefile found
(propagated-inputs
- `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)))
+ `(("ruby-concurrent-ruby" ,ruby-concurrent)))
(synopsis
"A toolset of small support modules used throughout the dry-rb ecosystem")
(description
@@ -2525,7 +2510,7 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(arguments
`(#:tests? #f)) ; no rakefile found
(propagated-inputs
- `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
+ `(("ruby-concurrent-ruby" ,ruby-concurrent)
("ruby-dry-core" ,ruby-dry-core)))
(synopsis
"A mixin to add configuration functionality to your classes")
@@ -2549,7 +2534,7 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(arguments
`(#:tests? #f)) ; no rakefile found
(propagated-inputs
- `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
+ `(("ruby-concurrent-ruby" ,ruby-concurrent)
("ruby-dry-configurable" ,ruby-dry-configurable)))
(native-inputs
`(
@@ -2562,31 +2547,6 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(home-page "https://github.com/dry-rb/dry-container")
(license license:expat)))
-(define-public ruby-concurrent-ruby
- (package
- (name "ruby-concurrent-ruby")
- (version "1.1.8")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "concurrent-ruby" version))
- (sha256
- (base32
- "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3"))))
- (build-system ruby-build-system)
- (arguments
- `(#:tests? #f)) ;; TODO: Fix
- (synopsis
- "Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
-Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
-")
- (description
- "Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
-Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
-")
- (home-page "http://www.concurrent-ruby.com")
- (license license:expat)))
-
(define-public ruby-dry-types
(package
(name "ruby-dry-types")
@@ -2602,7 +2562,7 @@ Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency pat
(arguments
`(#:tests? #f)) ; no rakefile found
(propagated-inputs
- `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
+ `(("ruby-concurrent-ruby" ,ruby-concurrent)
("ruby-dry-container" ,ruby-dry-container)
("ruby-dry-core" ,ruby-dry-core)
("ruby-dry-inflector" ,ruby-dry-inflector)
@@ -4978,19 +4938,37 @@ specify.")
`(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
- ;(replace 'build
- ; (lambda _
- ; (setenv "HOME" (getcwd))
- ; (substitute* "rbtrace.gemspec"
- ; (("~>") ">="))
- ; (setenv "CC" ,(cc-for-target))
- ; (invoke "bundle" "exec" "rake" "build")))
- )
- ))
+ (add-before 'build 'build-msgpack-library
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((msgpack (assoc-ref inputs "msgpack")))
+ ;; Don't try to build msgpack during 'install
+ (substitute* "rbtrace.gemspec"
+ ((".*s.extensions.*") ""))
+
+ ;; Use shared library, built with -fPIC
+ (substitute* "ext/extconf.rb"
+ (("libmsgpackc.a") "libmsgpackc.so")
+ (("libmsgpackc_ext.a") "libmsgpackc_ext.so"))
+
+ (mkdir-p "ext/dst/lib")
+ (mkdir-p "ext/dst/include")
+ (symlink (string-append msgpack "/lib/libmsgpackc.so")
+ "ext/dst/lib/libmsgpackc.so")
+ (symlink (string-append msgpack "/include/msgpack.h")
+ "ext/dst/include/msgpack.h")
+
+ ;; compile the rbtrace binary, linking to msgpack
+ (setenv "CC" ,(cc-for-target))
+ (with-directory-excursion "ext"
+ (invoke "ruby" "extconf.rb")
+ (invoke "make"))
+ #t))))))
(propagated-inputs
`(("ruby-ffi" ,ruby-ffi)
("ruby-msgpack" ,ruby-msgpack)
("ruby-optimist" ,ruby-optimist)))
+ (inputs
+ `(("msgpack" ,(@ (gnu packages serialization) msgpack))))
(synopsis
"rbtrace shows you method calls happening inside another ruby process in real time.")
(description
@@ -5681,7 +5659,6 @@ Simple gem that adds various color methods to String class, and can be used as f
(home-page "https://github.com/kigster/colored2")
(license license:expat)))
-;; TODO: Depends on rails >= 6.0
(define-public ruby-rails-failover
(package
(name "ruby-rails-failover")
@@ -5696,24 +5673,10 @@ Simple gem that adds various color methods to String class, and can be used as f
(build-system ruby-build-system)
(arguments
`(#:test-target "default"
- #:tests? #f ; cannot load such file -- spec_helper
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- ;; Of course this is easier than upgrading rails to 6
- (lambda _
- (substitute* "rails_failover.gemspec"
- (("gem_name, \\\".*") "gem_name\n")
- )
- (delete-file "Gemfile.lock")
- (with-output-to-file "Gemfile.lock"
- (lambda _ ""))
- (substitute* "Gemfile"
- (("activerecord.*") "activerecord'\n"))
- #t)))))
+ #:tests? #f)) ; cannot load such file -- spec_helper
(propagated-inputs
`(("ruby-activerecord" ,ruby-activerecord)
- ("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
+ ("ruby-concurrent-ruby" ,ruby-concurrent)
("ruby-railties" ,ruby-railties)))
(native-inputs
`(