[DRE-commits] [ruby-sass-rails] 05/06: Add patch for compatibility with sprockets 2.12
Antonio Terceiro
terceiro at moszumanska.debian.org
Sun Aug 3 03:12:37 UTC 2014
This is an automated email from the git hooks/post-receive script.
terceiro pushed a commit to branch master
in repository ruby-sass-rails.
commit 1a733109352835d0d50be3f3a310699e5e40ca99
Author: Antonio Terceiro <terceiro at debian.org>
Date: Sun Jul 27 16:09:50 2014 -0300
Add patch for compatibility with sprockets 2.12
---
debian/changelog | 4 +-
debian/patches/series | 1 +
debian/patches/sprockets-2.x.patch | 332 +++++++++++++++++++++++++++++++++++++
3 files changed, 336 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index 75795af..2282580 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,9 @@
-ruby-sass-rails (4.0.3-1) UNRELEASED; urgency=medium
+ruby-sass-rails (4.0.3-1+2) UNRELEASED; urgency=medium
* New upstream release
* change dependency on ruby-railties-3.2 to just ruby-railties
+ * Added debian/patches/sprockets-2.x.patch for compatibility with sprockets
+ 2.12
-- Antonio Terceiro <terceiro at debian.org> Sun, 27 Jul 2014 12:05:12 -0300
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..ab31a25
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+sprockets-2.x.patch
diff --git a/debian/patches/sprockets-2.x.patch b/debian/patches/sprockets-2.x.patch
new file mode 100644
index 0000000..3796591
--- /dev/null
+++ b/debian/patches/sprockets-2.x.patch
@@ -0,0 +1,332 @@
+Description: Restore compatibility with sprockets >= 2.12
+ This patch is a combination of the following upstream commits:
+ - e56c2fbf60ef2bd879aae6f6163c90326b4017be
+ - bd63297c31aceb079595c3a3d9007b0e4df505b6
+ - a62bdf85e56a678aa5fded3d4ed0d10bbc0b7a7b
+ .
+ Changes to non-essential files such as Gemfile's were dropped.
+ .
+ metadata.yml, which is specific to the Debian package, was modified to reflect
+ the changes to sass-rails.gemspec.
+Author:
+ Rafael Mendonça França <rafaelmfranca at gmail.com>,
+ Matthew Draper <matthew at trebex.net>,
+Reviewed-By: Antonio Terceiro <terceiro at debian.org>
+
+--- a/lib/sass/rails/railtie.rb
++++ b/lib/sass/rails/railtie.rb
+@@ -52,6 +52,9 @@ module Sass::Rails
+ end
+
+ if app.assets
++ app.assets.register_engine '.sass', Sass::Rails::SassTemplate
++ app.assets.register_engine '.scss', Sass::Rails::ScssTemplate
++
+ app.assets.context_class.extend(SassContext)
+ app.assets.context_class.sass_config = app.config.sass
+ end
+--- a/lib/sass/rails/template.rb
++++ b/lib/sass/rails/template.rb
+@@ -1,28 +1,42 @@
+ require "sprockets/sass_template"
+
+-module Sprockets
+- class SassTemplate
+- def evaluate(context, locals, &block)
+- cache_store = SassCacheStore.new(context.environment)
+-
+- options = {
+- :filename => eval_file,
+- :line => line,
+- :syntax => syntax,
+- :cache_store => cache_store,
+- :importer => SassImporter.new(context, context.pathname),
+- :load_paths => context.environment.paths.map { |path| SassImporter.new(context, path) },
+- :sprockets => {
+- :context => context,
+- :environment => context.environment
++module Sass
++ module Rails
++ class SassTemplate < Sprockets::SassTemplate
++
++ def evaluate(context, locals, &block)
++ cache_store = Sprockets::SassCacheStore.new(context.environment)
++
++ options = {
++ :filename => eval_file,
++ :line => line,
++ :syntax => syntax,
++ :cache_store => cache_store,
++ :importer => SassImporter.new(context, context.pathname.to_s),
++ :load_paths => context.environment.paths.map { |path| SassImporter.new(context, path.to_s) },
++ :sprockets => {
++ :context => context,
++ :environment => context.environment
++ }
+ }
+- }
+
+- sass_config = context.environment.context_class.sass_config.merge(options)
+- ::Sass::Engine.new(data, sass_config).render
+- rescue ::Sass::SyntaxError => e
+- context.__LINE__ = e.sass_backtrace.first[:line]
+- raise e
++ sass_config = context.environment.context_class.sass_config.merge(options)
++
++ ::Sass::Engine.new(data, sass_config).render
++ rescue ::Sass::SyntaxError => e
++ context.__LINE__ = e.sass_backtrace.first[:line]
++ raise e
++ end
++ end
++
++ class ScssTemplate < SassTemplate
++ def self.default_mime_type
++ 'text/css'
++ end
++
++ def syntax
++ :scss
++ end
+ end
+ end
+ end
+--- a/sass-rails.gemspec
++++ b/sass-rails.gemspec
+@@ -15,10 +15,10 @@ Gem::Specification.new do |s|
+
+ s.rubyforge_project = "sass-rails"
+
+- s.add_dependency 'sass', '~> 3.2.0'
++ s.add_dependency 'sass', '~> 3.2'
+ s.add_dependency 'railties', '>= 4.0.0', '< 5.0'
+ s.add_dependency 'sprockets-rails', '~> 2.0'
+- s.add_dependency 'sprockets', '~> 2.8', '<= 2.11.0'
++ s.add_dependency 'sprockets', '~> 2.12'
+
+ s.files = [".gitignore",".travis.yml","CHANGELOG.md","Gemfile","MIT-LICENSE","README.md","Rakefile","lib/rails/generators/sass/assets/assets_generator.rb","lib/rails/generators/sass/assets/templates/stylesheet.css.sass","lib/rails/generators/sass/scaffold/scaffold_generator.rb","lib/rails/generators/sass_scaffold.rb","lib/rails/generators/scss/assets/assets_generator.rb","lib/rails/generators/scss/assets/templates/stylesheet.css.scss","lib/rails/generators/scss/scaffold/scaffo [...]
+ s.test_files = ["test/fixtures/alternate_config_project/.gitignore","test/fixtures/alternate_config_project/Gemfile","test/fixtures/alternate_config_project/README","test/fixtures/alternate_config_project/Rakefile","test/fixtures/alternate_config_project/app/assets/images/1x1.png","test/fixtures/alternate_config_project/app/assets/images/rails.png","test/fixtures/alternate_config_project/app/assets/javascripts/application.js","test/fixtures/alternate_config_project/app/assets/style [...]
+--- a/sass-rails.gemspec.erb
++++ b/sass-rails.gemspec.erb
+@@ -15,10 +15,10 @@ Gem::Specification.new do |s|
+
+ s.rubyforge_project = "sass-rails"
+
+- s.add_dependency 'sass', '~> 3.2.0'
++ s.add_dependency 'sass', '~> 3.2'
+ s.add_dependency 'railties', '>= 4.0.0', '< 5.0'
+ s.add_dependency 'sprockets-rails', '~> 2.0'
+- s.add_dependency 'sprockets', '~> 2.8', '<= 2.11.0'
++ s.add_dependency 'sprockets', '~> 2.12'
+
+ s.files = [<%= files.map(&:inspect).join ',' %>]
+ s.test_files = [<%= test_files.map(&:inspect).join ',' %>]
+--- a/lib/sass/rails/importer.rb
++++ b/lib/sass/rails/importer.rb
+@@ -1,104 +1,96 @@
+ require 'sprockets/sass_importer'
+
+-module Sprockets
+- class SassImporter < Sass::Importers::Filesystem
+- GLOB = /\*|\[.+\]/
+-
+- attr_reader :context
+- private :context
+-
+- def extensions
+- {
+- 'css' => :scss,
+- 'css.scss' => :scss,
+- 'css.sass' => :sass,
+- 'css.erb' => :scss,
+- 'scss.erb' => :scss,
+- 'sass.erb' => :sass,
+- 'css.scss.erb' => :scss,
+- 'css.sass.erb' => :sass
+- }.merge!(super)
+- end
+-
+- def find_relative(name, base, options)
+- if name =~ GLOB
+- glob_imports(name, Pathname.new(base), options)
+- else
+- engine_from_path(name, File.dirname(base), options)
+- end
+- end
+-
+- def find(name, options)
+- if name =~ GLOB
+- nil # globs must be relative
+- else
+- engine_from_path(name, root, options)
+- end
+- end
+-
+- def each_globbed_file(glob, base_pathname, options)
+- Dir["#{base_pathname}/#{glob}"].sort.each do |filename|
+- next if filename == options[:filename]
+- yield filename if File.directory?(filename) || context.asset_requirable?(filename)
++module Sass
++ module Rails
++ class SassImporter < Sass::Importers::Filesystem
++ GLOB = /\*|\[.+\]/
++
++ attr_reader :context
++ def initialize(context, *args)
++ @context = context
++ super(*args)
++ end
++
++ def extensions
++ {
++ 'css' => :scss,
++ 'css.scss' => :scss,
++ 'css.sass' => :sass,
++ 'css.erb' => :scss,
++ 'scss.erb' => :scss,
++ 'sass.erb' => :sass,
++ 'css.scss.erb' => :scss,
++ 'css.sass.erb' => :sass
++ }.merge!(super)
++ end
++
++ def find_relative(name, base, options)
++ if name =~ GLOB
++ glob_imports(name, Pathname.new(base), options)
++ else
++ engine_from_path(name, File.dirname(base), options)
++ end
+ end
+- end
+
+- def glob_imports(glob, base_pathname, options)
+- contents = ""
+- each_globbed_file(glob, base_pathname.dirname, options) do |filename|
+- if File.directory?(filename)
+- depend_on(filename)
+- elsif context.asset_requirable?(filename)
+- depend_on(filename)
+- contents << "@import #{Pathname.new(filename).relative_path_from(base_pathname.dirname).to_s.inspect};\n"
++ def find(name, options)
++ if name =~ GLOB
++ nil # globs must be relative
++ else
++ engine_from_path(name, root, options)
+ end
+ end
+- return nil if contents.empty?
+- Sass::Engine.new(contents, options.merge(
+- :filename => base_pathname.to_s,
+- :importer => self,
+- :syntax => :scss
+- ))
+- end
+
+- private
++ private
+
+- def depend_on(filename)
+- context.depend_on(filename)
+- context.depend_on(globbed_file_parent(filename))
+- end
++ def each_globbed_file(glob, base_pathname, options)
++ Dir["#{base_pathname}/#{glob}"].sort.each do |filename|
++ next if filename == options[:filename]
++ if File.directory?(filename)
++ context.depend_on(filename)
++ context.depend_on(File.expand_path('..', filename))
++ elsif context.asset_requirable?(filename)
++ context.depend_on(File.dirname(filename))
++ yield filename
++ end
++ end
++ end
+
+- def globbed_file_parent(filename)
+- if File.directory?(filename)
+- File.expand_path('..', filename)
+- else
+- File.dirname(filename)
++ def glob_imports(glob, base_pathname, options)
++ contents = ""
++ each_globbed_file(glob, base_pathname.dirname, options) do |filename|
++ contents << "@import #{Pathname.new(filename).relative_path_from(base_pathname.dirname).to_s.inspect};\n"
++ end
++ return nil if contents.empty?
++ Sass::Engine.new(contents, options.merge(
++ :filename => base_pathname.to_s,
++ :importer => self,
++ :syntax => :scss
++ ))
+ end
+- end
+
+- def engine_from_path(name, dir, options)
+- full_filename, syntax = Sass::Util.destructure(find_real_file(dir, name, options))
+- return unless full_filename && File.readable?(full_filename)
+
+- engine = Sass::Engine.new(evaluate(full_filename), options.merge(
+- syntax: syntax,
+- filename: full_filename,
+- importer: self
+- ))
++ def engine_from_path(name, dir, options)
++ full_filename, syntax = Sass::Util.destructure(find_real_file(dir, name, options))
++ return unless full_filename && File.readable?(full_filename)
++
++ context.depend_on full_filename
++ engine = Sass::Engine.new(evaluate(full_filename), options.merge(
++ syntax: syntax,
++ filename: full_filename,
++ importer: self
++ ))
+
+- if engine && (filename = engine.options[:filename])
+- @context.depend_on(filename)
++ engine
+ end
+
+- engine
+- end
++ def evaluate(filename)
++ attributes = context.environment.attributes_for(filename)
++ processors = context.environment.preprocessors(attributes.content_type) +
++ attributes.engines.reverse - [Sass::Rails::ScssTemplate, Sass::Rails::SassTemplate]
+
+- def evaluate(filename)
+- attributes = context.environment.attributes_for(filename)
+- processors = context.environment.preprocessors(attributes.content_type) +
+- attributes.engines.reverse - [Sprockets::ScssTemplate, Sprockets::SassTemplate]
++ context.evaluate(filename, processors: processors)
++ end
+
+- context.evaluate(filename, processors: processors)
+- end
++ end
+ end
+ end
+--- a/metadata.yml
++++ b/metadata.yml
+@@ -65,20 +65,14 @@ dependencies:
+ requirements:
+ - - "~>"
+ - !ruby/object:Gem::Version
+- version: '2.8'
+- - - "<="
+- - !ruby/object:Gem::Version
+- version: 2.11.0
++ version: '2.12'
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - "~>"
+ - !ruby/object:Gem::Version
+- version: '2.8'
+- - - "<="
+- - !ruby/object:Gem::Version
+- version: 2.11.0
++ version: '2.12'
+ description: Sass adapter for the Rails asset pipeline.
+ email:
+ - wycats at gmail.com
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-sass-rails.git
More information about the Pkg-ruby-extras-commits
mailing list