summaryrefslogtreecommitdiff
path: root/gnu/packages/rails.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-02-17 17:23:57 +0000
committerChristopher Baines <mail@cbaines.net>2019-03-23 09:56:37 +0000
commit1d672a6a7518d8a5d904429145ce182946076068 (patch)
treee7fb06e87a4f3d9137ae031d05cece8fbcafb00d /gnu/packages/rails.scm
parent87688ff3749219a1ea928300f5797e5cf56712c1 (diff)
downloadpatches-1d672a6a7518d8a5d904429145ce182946076068.tar
patches-1d672a6a7518d8a5d904429145ce182946076068.tar.gz
gnu: Add ruby-autoprefixer-rails.
* gnu/packages/rails.scm (ruby-autoprefixer-rails): New variable.
Diffstat (limited to 'gnu/packages/rails.scm')
-rw-r--r--gnu/packages/rails.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index e359b24991..e623f9b8c4 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -22,6 +22,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (gnu packages node)
#:use-module (gnu packages ruby)
#:use-module (guix build-system ruby))
@@ -122,6 +123,59 @@ API.")
"https://github.com/banister/debug_inspector")
(license license:expat)))
+(define-public ruby-autoprefixer-rails
+ (package
+ (name "ruby-autoprefixer-rails")
+ (version "9.4.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "autoprefixer-rails" version))
+ (sha256
+ (base32
+ "0fxbfl3xrrjj84n98x24yzxbz4nvm6c492dxj41kkrl9z97ga13i"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'extract-gemspec 'remove-unnecessary-dependencies
+ (lambda _
+ ;; Remove the testing of compass, as it's use is deprecated, and
+ ;; it's unpackaged for Guix
+ (substitute* "autoprefixer-rails.gemspec"
+ ((".*%q<compass>.*") "\n")
+ (("\"spec/compass_spec\\.rb\"\\.freeze, ") ""))
+ (delete-file "spec/compass_spec.rb")
+
+ (substitute* "Gemfile"
+ ;; Remove overly strict requirement on sprockets
+ ((", '>= 4\\.0\\.0\\.beta1'") "")
+ ;; The mini_racer gem isn't packaged yet, and it's not directly
+ ;; required, as other backends for ruby-execjs can be used.
+ (("gem 'mini_racer'") "")
+ ;; For some reason, this is required for the gems to be picked
+ ;; up
+ (("gemspec") "gemspec\ngem 'tzinfo-data'\ngem 'sass'"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rails" ,ruby-rails)
+ ("ruby-rspec-rails" ,ruby-rspec-rails)
+ ;; This is needed for a test, but I'm unsure why
+ ("ruby-sass" ,ruby-sass)
+ ;; This is used as the ruby-execjs runtime
+ ("node" ,node)))
+ (propagated-inputs
+ `(("ruby-execjs" ,ruby-execjs)))
+ (synopsis "Parse CSS and add vendor prefixes to CSS rules")
+ (description
+ "This gem provides Ruby and Ruby on Rails integration with Autoprefixer,
+which can parse CSS and add vendor prefixes to CSS rules using values from the
+Can I Use website.")
+ (home-page "https://github.com/ai/autoprefixer-rails")
+ (license license:expat)))
+
(define-public ruby-activemodel
(package
(name "ruby-activemodel")