From 79670c5108fcfc402cc7724da99447fb19840572 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 10 Aug 2016 12:38:49 +1000 Subject: gnu: Add ruby-rails, ruby-sinatra and associated packages. This is a large commit which needs many improvements and should be split before its contents can be merged into the master branch. * gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch, gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch, gnu/packages/patches/ruby-listen-patch-gemspec.patch, gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch, gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch: New files. * gnu/packages/rails-wip.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- .../patches/ruby-coffee-rails-fix-rakefile.patch | 20 ++++++++++++++++++++ .../patches/ruby-listen-3.0.8-patch-gemspec.patch | 16 ++++++++++++++++ .../patches/ruby-listen-patch-gemspec.patch | 16 ++++++++++++++++ .../ruby-rspec-its-remove-rspec-gemspec.patch | 22 ++++++++++++++++++++++ .../patches/ruby-therubyracer-fix-gemspec.patch | 16 ++++++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 gnu/packages/patches/ruby-coffee-rails-fix-rakefile.patch create mode 100644 gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch create mode 100644 gnu/packages/patches/ruby-listen-patch-gemspec.patch create mode 100644 gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch create mode 100644 gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch (limited to 'gnu/packages/patches') 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/patches/ruby-listen-3.0.8-patch-gemspec.patch b/gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch new file mode 100644 index 0000000000..e870c060a5 --- /dev/null +++ b/gnu/packages/patches/ruby-listen-3.0.8-patch-gemspec.patch @@ -0,0 +1,16 @@ +diff --git a/listen.gemspec b/listen.gemspec +index ee1316e..067dca3 100644 +--- a/listen.gemspec ++++ b/listen.gemspec +@@ -14,9 +14,8 @@ Gem::Specification.new do |s| + s.description = 'The Listen gem listens to file modifications and '\ + 'notifies you about the changes. Works everywhere!' + +- s.files = `git ls-files -z`.split("\x0").select do |f| +- /^(?:bin|lib)\// =~ f +- end + %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md) ++ s.files = `find bin lib -type f |sort`.split("\n") + ++ %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md) + + s.test_files = [] + s.executable = 'listen' diff --git a/gnu/packages/patches/ruby-listen-patch-gemspec.patch b/gnu/packages/patches/ruby-listen-patch-gemspec.patch new file mode 100644 index 0000000000..dd4b190b3e --- /dev/null +++ b/gnu/packages/patches/ruby-listen-patch-gemspec.patch @@ -0,0 +1,16 @@ +diff --git a/listen.gemspec b/listen.gemspec +index 4e110b0..cda047b 100644 +--- a/listen.gemspec ++++ b/listen.gemspec +@@ -14,9 +14,8 @@ Gem::Specification.new do |s| + s.description = 'The Listen gem listens to file modifications and '\ + 'notifies you about the changes. Works everywhere!' + +- s.files = `git ls-files -z`.split("\x0").select do |f| +- %r{^(?:bin|lib)\/} =~ f +- end + %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md) ++ s.files = `find bin lib -type f |sort`.split("\n") + ++ %w(CHANGELOG.md CONTRIBUTING.md LICENSE.txt README.md) + + s.test_files = [] + s.executable = 'listen' diff --git a/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch b/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch new file mode 100644 index 0000000000..901eb88d21 --- /dev/null +++ b/gnu/packages/patches/ruby-rspec-its-remove-rspec-gemspec.patch @@ -0,0 +1,22 @@ +diff --git a/Gemfile b/Gemfile +index 9786991..bec005d 100644 +--- a/Gemfile ++++ b/Gemfile +@@ -3,17 +3,6 @@ source 'https://rubygems.org' + # Specify your gem's dependencies in rspec-its.gemspec + gemspec + +-%w[rspec rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib| +- branch = ENV.fetch('BRANCH','3-1-maintenance') +- library_path = File.expand_path("../../#{lib}", __FILE__) +- if File.exist?(library_path) +- gem lib, :path => library_path +- else +- gem lib, :git => "git://github.com/rspec/#{lib}.git", +- :branch => branch +- end +-end +- + # test coverage + # gem 'simplecov', :require => false + diff --git a/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch b/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch new file mode 100644 index 0000000000..83787192d2 --- /dev/null +++ b/gnu/packages/patches/ruby-therubyracer-fix-gemspec.patch @@ -0,0 +1,16 @@ +diff --git a/therubyracer.gemspec b/therubyracer.gemspec +index 5a6ace7..95e2a27 100644 +--- a/therubyracer.gemspec ++++ b/therubyracer.gemspec +@@ -8,9 +8,8 @@ Gem::Specification.new do |gem| + gem.description = "Call JavaScript code and manipulate JavaScript objects from Ruby. Call Ruby code and manipulate Ruby objects from JavaScript." + gem.homepage = "http://github.com/cowboyd/therubyracer" + +- gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } +- gem.files = `git ls-files`.split("\n") +- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") ++ gem.files = `find . -type f |sort`.split("\n") ++ gem.test_files = `find spec -type f |sort`.split("\n") + gem.name = "therubyracer" + gem.extensions = ["ext/v8/extconf.rb"] + gem.require_paths = ["lib", "ext"] -- cgit v1.2.3