70 lines
2.4 KiB
Ruby
70 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
lib = File.expand_path("../lib", __FILE__)
|
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
require "sassc/version"
|
|
|
|
Gem::Specification.new do |spec|
|
|
|
|
spec.name = "sassc"
|
|
spec.version = SassC::VERSION
|
|
spec.authors = ["Ryan Boland"]
|
|
spec.email = ["ryan@tanookilabs.com"]
|
|
spec.summary = "Use libsass with Ruby!"
|
|
spec.description = "Use libsass with Ruby!"
|
|
spec.homepage = "https://github.com/sass/sassc-ruby"
|
|
spec.license = "MIT"
|
|
|
|
spec.files = `git ls-files -z`.split("\x0")
|
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
|
|
spec.required_ruby_version = ">= 2.0.0"
|
|
|
|
spec.require_paths = ["lib"]
|
|
|
|
spec.platform = Gem::Platform::RUBY
|
|
spec.extensions = ["ext/extconf.rb"]
|
|
|
|
spec.add_development_dependency "minitest", "~> 5.5.1"
|
|
spec.add_development_dependency "minitest-around"
|
|
spec.add_development_dependency "test_construct"
|
|
spec.add_development_dependency "pry"
|
|
spec.add_development_dependency "bundler"
|
|
spec.add_development_dependency "rake"
|
|
spec.add_development_dependency "rake-compiler"
|
|
spec.add_development_dependency "rake-compiler-dock"
|
|
|
|
spec.add_dependency "ffi", "~> 1.9"
|
|
|
|
gem_dir = File.expand_path(File.dirname(__FILE__)) + "/"
|
|
|
|
libsass_dir = File.join(gem_dir, 'ext', 'libsass')
|
|
if !File.directory?(libsass_dir) ||
|
|
# '.', '..', and possibly '.git' from a failed checkout:
|
|
Dir.entries(libsass_dir).size <= 3
|
|
Dir.chdir(__dir__) { system('git submodule update --init') } or
|
|
fail 'Could not fetch libsass'
|
|
end
|
|
|
|
# Write a VERSION file for non-binary gems (for `SassC::Native.version`).
|
|
if File.exist?(File.join(libsass_dir, '.git'))
|
|
libsass_version = Dir.chdir(libsass_dir) do
|
|
%x[git describe --abbrev=4 --dirty --always --tags].chomp
|
|
end
|
|
File.write(File.join(libsass_dir, 'VERSION'), libsass_version)
|
|
end
|
|
|
|
Dir.chdir(libsass_dir) do
|
|
submodule_relative_path = File.join('ext', 'libsass')
|
|
skip_re = %r{(^("?test|docs|script)/)|\.md$|\.yml$}
|
|
only_re = %r{\.[ch](pp)?$}
|
|
`git ls-files`.split($\).each do |filename|
|
|
next if filename =~ skip_re || filename !~ only_re
|
|
spec.files << File.join(submodule_relative_path, filename)
|
|
end
|
|
spec.files << File.join(submodule_relative_path, 'VERSION')
|
|
end
|
|
|
|
end
|