aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Woodcroft <donttrustben@gmail.com>2018-02-05 11:59:20 +0100
committerChristopher Baines <mail@cbaines.net>2019-04-28 19:42:24 +0100
commit467ec0ef997ee5a477ae1c89e7c62958bb39e3ee (patch)
treeb986aefec739e862d624b24e04f6dedb17c2c936
parenta5b999ed970775b88e5666180fcc537fc2bd2aa5 (diff)
downloadguix-467ec0ef997ee5a477ae1c89e7c62958bb39e3ee.tar
guix-467ec0ef997ee5a477ae1c89e7c62958bb39e3ee.tar.gz
gnu: Add ruby-coffee-rails.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch20
-rw-r--r--gnu/packages/rails.scm31
3 files changed, 52 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 15db537098..6b6cb52332 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1238,6 +1238,7 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
+ %D%/packages/patches/ruby-coffee-rails-fix-rakefile.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
diff --git a/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch b/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch
new file mode 100644
index 0000000000..bd98812da7
--- /dev/null
+++ b/gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch
@@ -0,0 +1,20 @@
+diff --git a/Rakefile b/Rakefile
+index ae682dc..fdf146d 100644
+--- a/Rakefile
++++ b/Rakefile
+@@ -13,12 +13,12 @@ end
+ task default: :test
+
+ specname = "coffee-rails.gemspec"
+-deps = `git ls-files`.split("\n") - [specname]
++deps = `find . -type f -print0 |sort`.split("\n") - [specname]
+
+ file specname => deps do
+ files = ["CHANGELOG.md", "MIT-LICENSE", "README.md"] + `git ls-files -- lib`.split("\n")
+- test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
+- executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
++ test_files = `ls test/*`.split("\n")
++ executables = []
+
+ require 'erb'
+
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 3036153479..827dfc53e4 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)
#:use-module (gnu packages node)
#:use-module (gnu packages ruby)
#:use-module (guix build-system ruby))
@@ -718,3 +719,33 @@ happiness and sustainable productivity. It encourages beautiful code by
favoring convention over configuration.")
(home-page "https://rubyonrails.org/")
(license license:expat)))
+
+(define-public ruby-coffee-rails
+ (package
+ (name "ruby-coffee-rails")
+ (version "4.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Tests are not distributed at rubygems.org so download from GitHub
+ ;; instead.
+ (uri (string-append "https://github.com/rails/coffee-rails/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zbcs26dnic3ws1p0chggjrcjwkrgv445l765s4r615y1wqq1nfp"))
+ (patches (search-patches "ruby-coffee-rails-fix-rakefile.patch"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests require rails, disable to precent circular dependency.
+ (propagated-inputs
+ `(("ruby-coffee-script" ,ruby-coffee-script)
+ ("ruby-railties" ,ruby-railties)))
+ (synopsis
+ "CoffeeScript adapter for the Rails asset pipeline.")
+ (description
+ "CoffeeScript adapter for the Rails asset pipeline.")
+ (home-page
+ "https://github.com/rails/coffee-rails")
+ (license license:expat)))