mundler 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mundler/build_config.rb +15 -3
- data/lib/mundler/dsl.rb +8 -2
- data/lib/mundler/mruby.rb +12 -2
- data/lib/mundler/platforms/android.rb +1 -1
- data/lib/mundler/platforms/ios.rb +1 -1
- data/lib/mundler/platforms/ios_simulator.rb +1 -1
- data/lib/mundler/platforms/wasm.rb +33 -0
- data/lib/mundler/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a1e212a7e64550513e7b9581af1cddf8e4b9162bfa68cb44c0e1723cc1530ed
|
4
|
+
data.tar.gz: b426f4f7f1b4b7da2dfc2a252a48cf232cd18f6709306d35c50060867b317f03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd5a38523ad21a2ca981eb1cb996c0ccb14e78e1d6fb56e3fa20750b5ad3c57839ab48da45c539517542f471927e250e038dcab222f4299cac70368e6a92b665
|
7
|
+
data.tar.gz: 9535ee1e6dea408f0887a97a8320ec0d1a42f1cb18603cf4dd3ed761a91a12d5258fbe6a0ea8c7cf31d1ce47bb1bff1e0e56e4c2aa32d746e68ceee637f2ca01
|
data/lib/mundler/build_config.rb
CHANGED
@@ -16,8 +16,12 @@ module Mundler
|
|
16
16
|
end.join("\n")
|
17
17
|
end
|
18
18
|
|
19
|
-
def gems
|
19
|
+
def gems(platform_name)
|
20
20
|
@config.gems.map do |gem|
|
21
|
+
if !gem[:platforms].empty? && !gem[:platforms].include?(platform_name.to_sym)
|
22
|
+
next
|
23
|
+
end
|
24
|
+
|
21
25
|
# e.g. gem = {:name=>"mruby-regexp-pcre", :path=>nil, :github=>nil, :core=>nil}
|
22
26
|
args = ":mgem => #{gem[:name].inspect}"
|
23
27
|
|
@@ -165,13 +169,21 @@ module Mundler
|
|
165
169
|
|
166
170
|
#{host_platform}
|
167
171
|
#{gemboxes}
|
168
|
-
#{gems}
|
172
|
+
#{gems(:host)}
|
169
173
|
end
|
170
174
|
|
171
175
|
#{non_host_platforms}
|
172
176
|
CONTENTS
|
173
177
|
|
174
|
-
|
178
|
+
contents = contents.strip + "\n"
|
179
|
+
|
180
|
+
3.times do
|
181
|
+
contents.gsub!("\n \n", "\n\n")
|
182
|
+
contents.gsub!("\n\n\n", "\n\n")
|
183
|
+
contents.gsub!("\n\nend", "\nend")
|
184
|
+
end
|
185
|
+
|
186
|
+
contents
|
175
187
|
end
|
176
188
|
end
|
177
189
|
end
|
data/lib/mundler/dsl.rb
CHANGED
@@ -53,13 +53,19 @@ module Mundler
|
|
53
53
|
config.platforms << { name: name.to_s, options: options }
|
54
54
|
end
|
55
55
|
|
56
|
-
def gem(name, core: nil, path: nil, github: nil)
|
56
|
+
def gem(name, core: nil, path: nil, github: nil, platforms: [])
|
57
57
|
if path && !path.start_with?("/")
|
58
58
|
app_path = Pathname.new(@path).dirname.to_s
|
59
59
|
path = File.expand_path(File.join(app_path, path))
|
60
60
|
end
|
61
61
|
|
62
|
-
config.gems << {
|
62
|
+
config.gems << {
|
63
|
+
name: name,
|
64
|
+
path: path,
|
65
|
+
github: github,
|
66
|
+
core: core,
|
67
|
+
platforms: Array(platforms)
|
68
|
+
}
|
63
69
|
end
|
64
70
|
|
65
71
|
def env(name, value)
|
data/lib/mundler/mruby.rb
CHANGED
@@ -44,7 +44,8 @@ module Mundler
|
|
44
44
|
|
45
45
|
if version
|
46
46
|
system("git reset --hard #{version} >/dev/null 2>&1") ||
|
47
|
-
|
47
|
+
system("git reset --hard origin/#{version} >/dev/null 2>&1") ||
|
48
|
+
exit_out("Failed to set mruby version to \"#{version}\".")
|
48
49
|
end
|
49
50
|
|
50
51
|
FileUtils.touch(success_indicator)
|
@@ -73,7 +74,11 @@ module Mundler
|
|
73
74
|
puts "Using #{gembox} gembox"
|
74
75
|
end
|
75
76
|
@config.gems.each do |gem|
|
76
|
-
|
77
|
+
if gem[:platforms].empty?
|
78
|
+
puts "Using #{gem[:name]} gem"
|
79
|
+
else
|
80
|
+
puts "Using #{gem[:name]} gem for platforms: #{gem[:platforms]}"
|
81
|
+
end
|
77
82
|
end
|
78
83
|
|
79
84
|
puts "Using mruby (#{version})"
|
@@ -169,6 +174,11 @@ module Mundler
|
|
169
174
|
|
170
175
|
private
|
171
176
|
|
177
|
+
def exit_out(msg)
|
178
|
+
STDERR.puts("\e[31m#{msg}\e[0m")
|
179
|
+
exit(1)
|
180
|
+
end
|
181
|
+
|
172
182
|
def installed?
|
173
183
|
success_indicator = File.join(@path, ".mundler_built_successfully")
|
174
184
|
File.file?(success_indicator)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module WASMPlatform
|
2
|
+
def self.config(options, build_config)
|
3
|
+
cc_command = "emcc"
|
4
|
+
linker_command = "emcc"
|
5
|
+
archiver_command = "emar"
|
6
|
+
|
7
|
+
cc_flags = ["-Os"]
|
8
|
+
|
9
|
+
<<~BUILD
|
10
|
+
MRuby::CrossBuild.new("wasm") do |conf|
|
11
|
+
toolchain :clang
|
12
|
+
|
13
|
+
#{build_config.gemboxes}
|
14
|
+
#{build_config.gems(:wasm)}
|
15
|
+
|
16
|
+
conf.cc do |cc|
|
17
|
+
cc.command = #{cc_command.inspect}
|
18
|
+
cc.flags = #{cc_flags.inspect}
|
19
|
+
end
|
20
|
+
|
21
|
+
conf.linker do |l|
|
22
|
+
l.command = #{linker_command.inspect}
|
23
|
+
end
|
24
|
+
|
25
|
+
conf.archiver do |a|
|
26
|
+
a.command = #{archiver_command.inspect}
|
27
|
+
end
|
28
|
+
end
|
29
|
+
BUILD
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
define_platform "wasm", WASMPlatform
|
data/lib/mundler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Inkpen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -75,6 +75,7 @@ files:
|
|
75
75
|
- lib/mundler/platforms/host.rb
|
76
76
|
- lib/mundler/platforms/ios.rb
|
77
77
|
- lib/mundler/platforms/ios_simulator.rb
|
78
|
+
- lib/mundler/platforms/wasm.rb
|
78
79
|
- lib/mundler/project.rb
|
79
80
|
- lib/mundler/version.rb
|
80
81
|
homepage: https://github.com/Dan2552/mundler
|