mgem 0.1.7 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/mgem +27 -13
- data/lib/mgem.rb +24 -21
- metadata +7 -9
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aff684b1b46f4cf20be41e70a3eea1fcb0c6f91d
|
4
|
+
data.tar.gz: 805ea401404c9e967a7f1fda87ef242af759639b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c3d32755ba98a56d7cf341af1a04c9d0cce8068d7d793d14054354961d7052bdd01b776e7001cc0405b33a10d815f6e516ff95d2d2da99ec8353863bbd4f156e
|
7
|
+
data.tar.gz: afd0bf3783f5b994b462aab96a9567f1af8f162a67942e9fb5b3baabbace9f3864fd3b8a22d263965e62bb724ef4b2b28fb797cea227c8d3a44b2abff754a77e
|
data/bin/mgem
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require "#{File.dirname(__FILE__)}/../lib/mgem"
|
4
|
+
extend Mrbgem
|
4
5
|
|
5
6
|
gems = load_gems unless ARGV[0] == 'help'
|
6
7
|
|
@@ -65,30 +66,43 @@ def get_binaries
|
|
65
66
|
puts
|
66
67
|
print 'Compile mrbc? (Y/n): '
|
67
68
|
mrbc = STDIN.gets.chomp
|
68
|
-
print 'Compile mruby? (Y/n): '
|
69
|
-
mruby = STDIN.gets.chomp
|
70
|
-
print 'Compile mirb? (Y/n): '
|
71
|
-
mirb = STDIN.gets.chomp
|
72
69
|
|
73
70
|
binaries = []
|
74
71
|
binaries << 'mrbc' unless mrbc == 'n'
|
75
|
-
binaries << 'mruby' unless mruby == 'n'
|
76
|
-
binaries << 'mirb' unless mirb == 'n'
|
77
72
|
|
78
73
|
binaries.join ' '
|
79
74
|
end
|
80
75
|
|
81
|
-
|
76
|
+
CORE_GEMS = {
|
77
|
+
'irb Executable' => 'bin-mirb',
|
78
|
+
'mruby Executable' => 'bin-mruby',
|
79
|
+
'Array ext' => 'array-ext',
|
80
|
+
'Enumeration ext' => 'enum-ext',
|
81
|
+
'eval' => 'eval',
|
82
|
+
'exit' => 'exit',
|
83
|
+
'Fiber' => 'fiber',
|
84
|
+
'Hash ext' => 'hash-ext',
|
82
85
|
'Math' => 'math',
|
86
|
+
'Numeric ext' => 'numeric-ext',
|
87
|
+
'Object ext' => 'object-ext',
|
88
|
+
'ObjectSpace' => 'objectspace',
|
89
|
+
'print' => 'print',
|
90
|
+
'Proc ext' => 'proc-ext',
|
91
|
+
'random' => 'random',
|
92
|
+
'Range ext' => 'range-ext',
|
93
|
+
'sprintf' => 'sprintf',
|
94
|
+
'String ext' => 'string-ext',
|
95
|
+
'String UTF8' => 'string-utf8',
|
83
96
|
'Struct' => 'struct',
|
97
|
+
'Symbol ext' => 'symbol-ext',
|
84
98
|
'Time' => 'time',
|
85
|
-
'
|
99
|
+
'Toplevel ext' => 'toplevel-ext'
|
86
100
|
}
|
87
101
|
|
88
102
|
def get_default_gems
|
89
103
|
puts
|
90
104
|
gems = []
|
91
|
-
|
105
|
+
CORE_GEMS.each do |gem, path|
|
92
106
|
print "Include '#{gem}' GEM? (Y/n): "
|
93
107
|
question = STDIN.gets.chomp
|
94
108
|
unless question == 'n'
|
@@ -137,8 +151,8 @@ elsif ARGV[0] == 'update'
|
|
137
151
|
elsif ARGV[0] == 'config'
|
138
152
|
if ARGV[1] == 'default'
|
139
153
|
toolchain = 'gcc'
|
140
|
-
binaries = 'mrbc
|
141
|
-
default_gems =
|
154
|
+
binaries = 'mrbc'
|
155
|
+
default_gems = CORE_GEMS.each_value.to_a
|
142
156
|
else
|
143
157
|
toolchain = get_toolchain
|
144
158
|
binaries = get_binaries
|
@@ -170,7 +184,7 @@ MRuby::Build.new do |conf|
|
|
170
184
|
|
171
185
|
conf.bins = %w(#{binaries})
|
172
186
|
|
173
|
-
# mruby's
|
187
|
+
# mruby's Core GEMs
|
174
188
|
#{default_gem_command}
|
175
189
|
|
176
190
|
# user-defined GEMs
|
@@ -182,7 +196,7 @@ end
|
|
182
196
|
__CONFIG__
|
183
197
|
else
|
184
198
|
puts <<INFO
|
185
|
-
mgem (Version #{MGEM_VERSION}) is a library manager for mruby
|
199
|
+
mgem (Version #{Mrbgem::MGEM_VERSION}) is a library manager for mruby
|
186
200
|
|
187
201
|
Usage:
|
188
202
|
mgem size How many GEMs are available?
|
data/lib/mgem.rb
CHANGED
@@ -2,33 +2,36 @@ require 'yaml'
|
|
2
2
|
require 'fileutils'
|
3
3
|
require "stringio"
|
4
4
|
|
5
|
-
|
5
|
+
module Mrbgem
|
6
|
+
MGEM_VERSION = '0.2.0'
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
MGEM_HOME = ENV['MGEM_HOME'] ||= ENV['HOME']
|
9
|
+
MGEM_DIR = '.mgem'
|
10
|
+
GEMS_ACTIVE = 'GEMS_ACTIVE.lst'
|
11
|
+
GEMS_LIST = 'mgem-list'
|
12
|
+
GEMS_REPO = 'https://github.com/mruby/mgem-list.git'
|
11
13
|
|
12
|
-
def load_gems
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
def load_gems
|
15
|
+
config = {}
|
16
|
+
config[:mgem_dir] = [ENV["MGEM_HOME"], MGEM_DIR].join File::SEPARATOR
|
17
|
+
config[:mgem_active] = [config[:mgem_dir], GEMS_ACTIVE].join File::SEPARATOR
|
18
|
+
config[:mgem_list] = [config[:mgem_dir], GEMS_LIST].join File::SEPARATOR
|
17
19
|
|
18
|
-
|
20
|
+
initialize_mgem_list(config)
|
19
21
|
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
def initialize_mgem_list(config = {})
|
24
|
-
unless File.exists? config[:mgem_list]
|
25
|
-
puts "Loading fresh GEM list..."
|
26
|
-
`git clone #{GEMS_REPO} #{config[:mgem_list]}`
|
27
|
-
puts "done!"
|
22
|
+
MrbgemList.new(config)
|
28
23
|
end
|
29
24
|
|
30
|
-
|
31
|
-
|
25
|
+
def initialize_mgem_list(config = {})
|
26
|
+
unless File.exists? config[:mgem_list]
|
27
|
+
puts "Loading fresh GEM list..."
|
28
|
+
`git clone #{GEMS_REPO} #{config[:mgem_list]}`
|
29
|
+
puts "done!"
|
30
|
+
end
|
31
|
+
|
32
|
+
unless File.exists? config[:mgem_active]
|
33
|
+
FileUtils.touch config[:mgem_active]
|
34
|
+
end
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mgem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Daniel Bovensiepen
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-15 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: mgem helps you search and find GEMs specifically written for mruby. It
|
15
14
|
also supports by creating a mruby build configuration.
|
@@ -24,26 +23,25 @@ files:
|
|
24
23
|
homepage: http://github.com/bovi/mgem
|
25
24
|
licenses:
|
26
25
|
- MIT
|
26
|
+
metadata: {}
|
27
27
|
post_install_message:
|
28
28
|
rdoc_options: []
|
29
29
|
require_paths:
|
30
30
|
- lib
|
31
31
|
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
-
none: false
|
33
32
|
requirements:
|
34
|
-
- -
|
33
|
+
- - '>='
|
35
34
|
- !ruby/object:Gem::Version
|
36
35
|
version: '0'
|
37
36
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
37
|
requirements:
|
40
|
-
- -
|
38
|
+
- - '>='
|
41
39
|
- !ruby/object:Gem::Version
|
42
40
|
version: '0'
|
43
41
|
requirements: []
|
44
42
|
rubyforge_project:
|
45
|
-
rubygems_version:
|
43
|
+
rubygems_version: 2.0.3
|
46
44
|
signing_key:
|
47
|
-
specification_version:
|
45
|
+
specification_version: 4
|
48
46
|
summary: A program to manage GEMs for mruby.
|
49
47
|
test_files: []
|