Skip to content

Commit 2e83d0c

Browse files
authored
Install ext into RUBYARCHDIR (#345)
1 parent c4bfb1e commit 2e83d0c

File tree

7 files changed

+20
-16
lines changed

7 files changed

+20
-16
lines changed

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ task default: %i[compile rubocop spec]
88

99
desc 'Compile all the extensions'
1010
task :compile do
11-
sh 'rake', '-C', 'ext/sass', 'clobber', 'install'
11+
sh 'rake', '-C', 'ext/sass', 'clobber', 'install', 'embedded_sass_pb.rb'
1212

1313
if ENV.key?('ext_platform') && ENV['ext_platform'] != 'ruby'
1414
host_cpu, host_os = ENV['ext_platform'].split('-', 2)

exe/sass

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env ruby
22
# frozen_string_literal: true
33

4-
require_relative '../ext/sass/cli'
4+
require 'sass/cli'
55

66
module Sass
77
# The `sass` command line interface

ext/sass/Rakefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# frozen_string_literal: true
22

3+
dest = File.absolute_path('sass', ENV.fetch('RUBYARCHDIR', File.absolute_path('../../lib', __dir__)))
4+
FileUtils.mkdir_p(dest)
5+
Dir.chdir(dest)
6+
37
require 'rake/clean'
48

59
require_relative '../../lib/sass/elf'
@@ -8,9 +12,7 @@ ELF = Sass.const_get(:ELF)
812

913
task default: %i[install clean]
1014

11-
task install: %w[cli.rb] do
12-
Rake::Task['embedded_sass_pb.rb'].invoke unless File.exist?('embedded_sass_pb.rb')
13-
end
15+
task install: %w[cli.rb]
1416

1517
CLEAN.include %w[
1618
protoc.exe
@@ -57,6 +59,11 @@ rescue StandardError
5759
end
5860

5961
file 'node_modules/sass' do
62+
cp File.absolute_path('package.json', __dir__), './'
63+
64+
# TODO: remove after https://github.com/sass/dart-sass/pull/2413
65+
cp File.absolute_path("sass-#{SassConfig.dart_sass_version}.tgz", __dir__), './'
66+
6067
sh 'npm', 'install'
6168
rescue StandardError
6269
begin
@@ -135,7 +142,7 @@ file 'cli.rb' => %w[dart-sass] do |t|
135142
File.write(t.name, <<~CLI_RB)
136143
# frozen_string_literal: true
137144
138-
require_relative '../../lib/sass/elf'
145+
require 'sass/elf'
139146
140147
module Sass
141148
module CLI
@@ -487,7 +494,7 @@ module SassConfig
487494
end
488495

489496
def dart_sass_version
490-
package_json['dependencies']['sass']
497+
package_json(__dir__)['dependencies']['sass']
491498
# TODO: remove after https://github.com/sass/dart-sass/pull/2413
492499
.delete_prefix('file:sass-').delete_suffix('.tgz')
493500
end
File renamed without changes.

lib/sass/compiler/connection.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require 'open3'
44

5-
require_relative '../../../ext/sass/cli'
5+
require 'sass/cli'
66

77
module Sass
88
class Compiler

lib/sass/embedded_protocol.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module Sass
44
# @see https://github.com/sass/sass/blob/HEAD/spec/embedded-protocol.md
55
module EmbeddedProtocol
6-
require_relative '../../ext/sass/embedded_sass_pb'
6+
require_relative 'embedded_sass_pb'
77
end
88

99
private_constant :EmbeddedProtocol

sass-embedded.gemspec

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,16 @@ Gem::Specification.new do |spec|
2121

2222
spec.bindir = 'exe'
2323
spec.executables = ['sass']
24-
spec.files = Dir['exe/**/*', 'ext/**/*_pb.rb', 'lib/**/*.rb'] + ['LICENSE', 'README.md']
24+
spec.files = Dir['exe/**/*', 'lib/**/*.rb'] + ['LICENSE', 'README.md']
2525
spec.platform = ENV.fetch('gem_platform', 'ruby')
2626

2727
if spec.platform == Gem::Platform::RUBY
2828
spec.extensions = ['ext/sass/Rakefile']
29-
spec.files += Dir['ext/sass/sass-*.tgz'] # TODO: remove after https://github.com/sass/dart-sass/pull/2413
30-
spec.files += [
31-
'ext/sass/Rakefile',
32-
'ext/sass/package.json'
33-
]
29+
spec.files += Dir['ext/**/*']
30+
spec.files -= ['lib/sass/cli.rb']
3431
spec.add_dependency 'rake', '>= 13'
3532
else
36-
spec.files += Dir['ext/sass/dart-sass/**/*'] + ['ext/sass/cli.rb']
33+
spec.files += Dir['lib/sass/dart-sass/**/*']
3734
end
3835

3936
spec.required_ruby_version = if spec.platform == Gem::Platform::RUBY || spec.platform.os != 'linux'

0 commit comments

Comments
 (0)