rake-compiler-dock 0.4.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -7
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Dockerfile +34 -30
- data/History.md +8 -0
- data/README.md +11 -10
- data/{src/rake-compiler-without-exts.diff → build/patches/rake-compiler-0.9.5/without-exts.diff} +0 -0
- data/{patches → build/patches}/ruby-1.8.7-p374/nop.patch +0 -0
- data/{patches → build/patches}/ruby-1.9.3/no_sendfile.patch +0 -0
- data/{patches → build/patches}/ruby-1.9.3/nop.patch +0 -0
- data/{patches/ruby-2.2.2 → build/patches/ruby-2.3.0}/no_sendfile.patch +2 -2
- data/{src → build}/runas +0 -0
- data/{src → build}/sigfw.c +0 -0
- data/{src → build}/strip_wrapper +0 -0
- data/{src → build}/sudoers +0 -0
- data/lib/rake_compiler_dock.rb +9 -0
- data/lib/rake_compiler_dock/colors.rb +8 -8
- data/lib/rake_compiler_dock/docker_check.rb +182 -49
- data/lib/rake_compiler_dock/starter.rb +23 -7
- data/lib/rake_compiler_dock/version.rb +2 -2
- data/rake-compiler-dock.gemspec +4 -1
- data/test/test_starter.rb +33 -0
- metadata +75 -65
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e5326f050ab952a7641a48ab10de71a2f56933fe
|
4
|
+
data.tar.gz: de257ed5785395495ee8e11cc6aae3a5e35870c7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9d7089a62ac4b0b6f7224791d56d152e57364e47bf989079fe03f822095f11243e5bffb18906ffa1372f0b8f370a75cb36c9470c623b1075f29a923ba38f162e
|
7
|
+
data.tar.gz: c7ff5593f623e88a794b341df449d0859b8f555cf515ff098881be5387f4cb65601e7dd24a0549c224fec773c84e5e699aa122ecaa6d157be2c74061659201f7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/Dockerfile
CHANGED
@@ -25,13 +25,14 @@ RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 && \
|
|
25
25
|
source /etc/rubybashrc && \
|
26
26
|
rvmsudo rvm cleanup all "
|
27
27
|
|
28
|
-
|
28
|
+
# Import patch files for ruby and gems
|
29
|
+
COPY build/patches /home/rvm/patches/
|
29
30
|
ENV BASH_ENV /etc/rubybashrc
|
30
31
|
|
31
32
|
# install rubies and fix permissions on
|
32
33
|
RUN bash -c " \
|
33
34
|
export CFLAGS='-s -O3 -fno-fast-math -fPIC' && \
|
34
|
-
for v in
|
35
|
+
for v in 2.3.0 1.9.3 1.8.7-p374 ; do \
|
35
36
|
rvm install \$v --patch \$(echo ~/patches/ruby-\$v/* | tr ' ' ','); \
|
36
37
|
done && \
|
37
38
|
rvm cleanup all && \
|
@@ -42,7 +43,8 @@ RUN bash -c " \
|
|
42
43
|
RUN echo "gem: --no-ri --no-rdoc" >> ~/.gemrc && \
|
43
44
|
bash -c " \
|
44
45
|
rvm all do gem install bundler rake-compiler hoe mini_portile rubygems-tasks && \
|
45
|
-
|
46
|
+
rvm 1.9.3,2.3.0 do gem install mini_portile2 && \
|
47
|
+
find /usr/local/rvm -type d -print0 | sudo xargs -0 chmod g+sw "
|
46
48
|
|
47
49
|
# Install rake-compiler's cross rubies in global dir instead of /root
|
48
50
|
RUN sudo mkdir -p /usr/local/rake-compiler && \
|
@@ -50,38 +52,40 @@ RUN sudo mkdir -p /usr/local/rake-compiler && \
|
|
50
52
|
ln -s /usr/local/rake-compiler ~/.rake-compiler
|
51
53
|
|
52
54
|
# Patch rake-compiler to avoid build of ruby extensions
|
53
|
-
|
54
|
-
|
55
|
-
cd /usr/local/rvm/gems/ruby-
|
56
|
-
|
55
|
+
RUN cd /usr/local/rvm/gems/ruby-1.8.7-p374/gems/rake-compiler-0.9.5 && patch -p1 < /home/rvm/patches/rake-compiler-0.9.5/without-exts.diff ; \
|
56
|
+
cd /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rake-compiler-0.9.5 && patch -p1 < /home/rvm/patches/rake-compiler-0.9.5/without-exts.diff ; \
|
57
|
+
cd /usr/local/rvm/gems/ruby-2.3.0/gems/rake-compiler-0.9.5 && patch -p1 < /home/rvm/patches/rake-compiler-0.9.5/without-exts.diff ; \
|
58
|
+
true
|
57
59
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
rake-compiler cross-ruby VERSION=
|
63
|
-
|
60
|
+
RUN bash -c "rvm use 2.3.0 --default && \
|
61
|
+
export MAKE=\"make -j`nproc`\" CFLAGS='-s -O1 -fno-omit-frame-pointer -fno-fast-math' && \
|
62
|
+
rake-compiler cross-ruby VERSION=2.3.0 HOST=i686-w64-mingw32 && \
|
63
|
+
rake-compiler cross-ruby VERSION=2.3.0 HOST=x86_64-w64-mingw32 && \
|
64
|
+
rake-compiler cross-ruby VERSION=2.2.2 HOST=i686-w64-mingw32 && \
|
65
|
+
rake-compiler cross-ruby VERSION=2.2.2 HOST=x86_64-w64-mingw32 && \
|
66
|
+
rake-compiler cross-ruby VERSION=2.1.6 HOST=i686-w64-mingw32 && \
|
67
|
+
rake-compiler cross-ruby VERSION=2.1.6 HOST=x86_64-w64-mingw32 && \
|
68
|
+
rake-compiler cross-ruby VERSION=2.0.0-p645 HOST=i686-w64-mingw32 && \
|
69
|
+
rake-compiler cross-ruby VERSION=2.0.0-p645 HOST=x86_64-w64-mingw32 && \
|
70
|
+
rm -rf ~/.rake-compiler/builds ~/.rake-compiler/sources && \
|
71
|
+
find /usr/local/rvm -type d | sudo xargs chmod g+sw "
|
64
72
|
|
65
73
|
RUN bash -c "rvm use 1.9.3 && \
|
66
74
|
export CFLAGS='-s -O1 -fno-omit-frame-pointer -fno-fast-math' && \
|
67
75
|
rake-compiler cross-ruby VERSION=1.9.3-p551 HOST=i586-mingw32msvc && \
|
68
76
|
rm -rf ~/.rake-compiler/builds ~/.rake-compiler/sources"
|
69
77
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
rake-compiler cross-ruby VERSION=
|
75
|
-
rake-compiler
|
76
|
-
rake-compiler cross-ruby VERSION=2.2.2 HOST=i686-w64-mingw32 && \
|
77
|
-
rake-compiler cross-ruby VERSION=2.2.2 HOST=x86_64-w64-mingw32 && \
|
78
|
-
rm -rf ~/.rake-compiler/builds ~/.rake-compiler/sources && \
|
79
|
-
find /usr/local/rvm -type d | sudo xargs chmod g+sw "
|
78
|
+
# Build 1.8.7 with mingw32 compiler (GCC 4.2)
|
79
|
+
# Use just one CPU for building 1.8.7 and 1.9.3
|
80
|
+
RUN bash -c "rvm use 1.8.7-p374 && \
|
81
|
+
export CFLAGS='-s -O1 -fno-omit-frame-pointer -fno-fast-math' && \
|
82
|
+
rake-compiler cross-ruby VERSION=1.8.7-p374 HOST=i586-mingw32msvc && \
|
83
|
+
rm -rf ~/.rake-compiler/builds ~/.rake-compiler/sources"
|
80
84
|
|
81
85
|
RUN bash -c " \
|
82
|
-
rvm alias create
|
86
|
+
rvm alias create 2.3 2.3.0 && \
|
83
87
|
rvm alias create 1.9 1.9.3 && \
|
84
|
-
rvm alias create
|
88
|
+
rvm alias create 1.8 1.8.7-p374 "
|
85
89
|
|
86
90
|
USER root
|
87
91
|
|
@@ -92,7 +96,7 @@ RUN sed -i -- "s:/root/.rake-compiler:/usr/local/rake-compiler:g" /usr/local/rak
|
|
92
96
|
echo "export PATH=\$PATH:/opt/mingw/mingw64/bin" >> /etc/bash.bashrc
|
93
97
|
|
94
98
|
# Install wrappers for strip commands as a workaround for "Protocol error" in boot2docker.
|
95
|
-
|
99
|
+
COPY build/strip_wrapper /root/
|
96
100
|
RUN mv /opt/mingw/mingw32/bin/i686-w64-mingw32-strip /opt/mingw/mingw32/bin/i686-w64-mingw32-strip.bin && \
|
97
101
|
mv /opt/mingw/mingw64/bin/x86_64-w64-mingw32-strip /opt/mingw/mingw64/bin/x86_64-w64-mingw32-strip.bin && \
|
98
102
|
mv /usr/bin/i586-mingw32msvc-strip /usr/bin/i586-mingw32msvc-strip.bin && \
|
@@ -101,15 +105,15 @@ RUN mv /opt/mingw/mingw32/bin/i686-w64-mingw32-strip /opt/mingw/mingw32/bin/i686
|
|
101
105
|
ln /root/strip_wrapper /usr/bin/i586-mingw32msvc-strip
|
102
106
|
|
103
107
|
# Install SIGINT forwarder
|
104
|
-
|
108
|
+
COPY build/sigfw.c /root/
|
105
109
|
RUN gcc $HOME/sigfw.c -o /usr/local/bin/sigfw
|
106
110
|
|
107
111
|
# Install user mapper
|
108
|
-
|
112
|
+
COPY build/runas /usr/local/bin/
|
109
113
|
|
110
114
|
# Install sudoers configuration
|
111
|
-
|
115
|
+
COPY build/sudoers /etc/sudoers.d/rake-compiler-dock
|
112
116
|
|
113
|
-
ENV RUBY_CC_VERSION
|
117
|
+
ENV RUBY_CC_VERSION 2.3.0:2.2.2:2.1.6:2.0.0:1.9.3:1.8.7
|
114
118
|
|
115
119
|
CMD bash
|
data/History.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
0.5.0 / 2015-12-25
|
2
|
+
------------------
|
3
|
+
* Add cross ruby version 2.3.0.
|
4
|
+
* Replace RVM ruby version 2.2.2 with 2.3.0 and set it as default.
|
5
|
+
* Add support for docker-machine in addition to deprecated boot2docker.
|
6
|
+
* Drop runtime support for ruby-1.8. Cross build for 1.8 is still supported.
|
7
|
+
|
8
|
+
|
1
9
|
0.4.3 / 2015-07-09
|
2
10
|
------------------
|
3
11
|
* Ensure the user and group names doesn't clash with names in the image.
|
data/README.md
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
**Easy to use and reliable cross compiler environment for building Windows binary gems.**
|
4
4
|
|
5
|
-
It provides cross compilers and Ruby environments for all versions of the [RubyInstaller](http://rubyinstaller.org/)
|
6
|
-
They are prepared for use with [rake-compiler](https://github.com/rake-compiler/rake-compiler)
|
5
|
+
It provides cross compilers and Ruby environments for all versions of the [RubyInstaller](http://rubyinstaller.org/).
|
6
|
+
They are prepared for use with [rake-compiler](https://github.com/rake-compiler/rake-compiler).
|
7
|
+
It is used by [many gems with C-extentions](https://github.com/rake-compiler/rake-compiler-dock/wiki/Projects-using-rake-compiler-dock).
|
7
8
|
|
8
9
|
This is kind of successor of [rake-compiler-dev-box](https://github.com/tjschuck/rake-compiler-dev-box).
|
9
10
|
It is wrapped as a gem for easier setup, usage and integration and is based on lightweight Docker containers.
|
@@ -15,7 +16,7 @@ Install docker natively on Linux:
|
|
15
16
|
|
16
17
|
$ sudo apt-get install docker.io
|
17
18
|
|
18
|
-
... or install boot2docker on [Windows](https://github.com/boot2docker/windows-installer/releases) or [OS X](https://github.com/boot2docker/osx-installer/releases) .
|
19
|
+
... or install [docker-toolbox for Windows and OSX](https://www.docker.com/docker-toolbox) or boot2docker on [Windows](https://github.com/boot2docker/windows-installer/releases) or [OS X](https://github.com/boot2docker/osx-installer/releases) .
|
19
20
|
|
20
21
|
Install rake-compiler-dock as a gem. The docker image is downloaded later on demand:
|
21
22
|
|
@@ -23,7 +24,7 @@ Install rake-compiler-dock as a gem. The docker image is downloaded later on dem
|
|
23
24
|
|
24
25
|
... or build your own gem and docker image:
|
25
26
|
|
26
|
-
$ git clone https://github.com/
|
27
|
+
$ git clone https://github.com/rake-compiler/rake-compiler-dock
|
27
28
|
$ rake install
|
28
29
|
|
29
30
|
|
@@ -77,9 +78,9 @@ This can be done like this:
|
|
77
78
|
|
78
79
|
Rake-compiler-dock uses [semantic versioning](http://semver.org/), so you should add it into your Gemfile, to make sure, that future changes will not break your build.
|
79
80
|
|
80
|
-
gem 'rake-compiler-dock', '~> 0.
|
81
|
+
gem 'rake-compiler-dock', '~> 0.5.0'
|
81
82
|
|
82
|
-
See [the wiki](https://github.com/
|
83
|
+
See [the wiki](https://github.com/rake-compiler/rake-compiler-dock/wiki/Projects-using-rake-compiler-dock) for projects which make use of rake-compiler-dock.
|
83
84
|
|
84
85
|
|
85
86
|
## Environment Variables
|
@@ -93,7 +94,7 @@ The following variables are recognized by rake-compiler-dock:
|
|
93
94
|
|
94
95
|
The following variables are passed through to the docker container without modification:
|
95
96
|
|
96
|
-
* `http_proxy`, `https_proxy`, `ftp_proxy` - See [Frequently asked questions](https://github.com/
|
97
|
+
* `http_proxy`, `https_proxy`, `ftp_proxy` - See [Frequently asked questions](https://github.com/rake-compiler/rake-compiler-dock/wiki/FAQ) for more details.
|
97
98
|
|
98
99
|
The following variables are provided to the running docker container:
|
99
100
|
|
@@ -101,7 +102,7 @@ The following variables are provided to the running docker container:
|
|
101
102
|
* `RCD_HOST_RUBY_PLATFORM` - The `RUBY_PLATFORM` of the host ruby.
|
102
103
|
* `RCD_HOST_RUBY_VERSION` - The `RUBY_VERSION` of the host ruby.
|
103
104
|
* `RUBY_CC_VERSION` - The target ruby versions for rake-compiler.
|
104
|
-
The default is defined in the [Dockerfile](https://github.com/
|
105
|
+
The default is defined in the [Dockerfile](https://github.com/rake-compiler/rake-compiler-dock/blob/master/Dockerfile), but can be changed as a parameter to rake.
|
105
106
|
|
106
107
|
Other environment variables can be set or passed through to the container like this:
|
107
108
|
|
@@ -110,12 +111,12 @@ Other environment variables can be set or passed through to the container like t
|
|
110
111
|
|
111
112
|
## More information
|
112
113
|
|
113
|
-
See [Frequently asked questions](https://github.com/
|
114
|
+
See [Frequently asked questions](https://github.com/rake-compiler/rake-compiler-dock/wiki/FAQ) and [](https://gitter.im/larskanis/rake-compiler-dock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
114
115
|
|
115
116
|
|
116
117
|
## Contributing
|
117
118
|
|
118
|
-
1. Fork it ( https://github.com/
|
119
|
+
1. Fork it ( https://github.com/rake-compiler/rake-compiler-dock/fork )
|
119
120
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
120
121
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
121
122
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/{src/rake-compiler-without-exts.diff → build/patches/rake-compiler-0.9.5/without-exts.diff}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,8 +1,8 @@
|
|
1
1
|
diff --git a/configure b/configure
|
2
|
-
index
|
2
|
+
index ebe3d8c..a336b73 100755
|
3
3
|
--- a/configure
|
4
4
|
+++ b/configure
|
5
|
-
@@ -
|
5
|
+
@@ -18943,7 +18943,6 @@ do :
|
6
6
|
ac_fn_c_check_func "$LINENO" "sendfile" "ac_cv_func_sendfile"
|
7
7
|
if test "x$ac_cv_func_sendfile" = xyes; then :
|
8
8
|
cat >>confdefs.h <<_ACEOF
|
data/{src → build}/runas
RENAMED
File without changes
|
data/{src → build}/sigfw.c
RENAMED
File without changes
|
data/{src → build}/strip_wrapper
RENAMED
File without changes
|
data/{src → build}/sudoers
RENAMED
File without changes
|
data/lib/rake_compiler_dock.rb
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
|
2
|
+
# We do ruby version check at runtime, so this file should be kept ruby-1.8 compatible.
|
3
|
+
if (m=RUBY_VERSION.match(/^(\d+)\.(\d+)\.(\d+)/)) &&
|
4
|
+
m.captures.map(&:to_i).pack("N*") < [1,9,2].pack("N*")
|
5
|
+
raise "rake-compiler-dock requires at least RUBY_VERSION >= 1.9.2"
|
6
|
+
end
|
7
|
+
|
1
8
|
require "rake_compiler_dock/colors"
|
2
9
|
require "rake_compiler_dock/docker_check"
|
3
10
|
require "rake_compiler_dock/starter"
|
@@ -45,6 +52,8 @@ module RakeCompilerDock
|
|
45
52
|
# * Option +:sigfw+ can be set to false to not stop the container on Ctrl-C.
|
46
53
|
# * Option +:runas+ can be set to false to execute the command as user root.
|
47
54
|
# * Option +:options+ can be an Array of additional options to the 'docker run' command.
|
55
|
+
# * Option +:username+ can be used to overwrite the user name in the container
|
56
|
+
# * Option +:groupname+ can be used to overwrite the group name in the container
|
48
57
|
#
|
49
58
|
# Examples:
|
50
59
|
#
|
@@ -7,14 +7,14 @@ module RakeCompilerDock
|
|
7
7
|
NND = "#{ESC}0m"
|
8
8
|
|
9
9
|
ColorMap = {
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
10
|
+
black: 0,
|
11
|
+
red: 1,
|
12
|
+
green: 2,
|
13
|
+
yellow: 3,
|
14
|
+
blue: 4,
|
15
|
+
magenta: 5,
|
16
|
+
cyan: 6,
|
17
|
+
white: 7,
|
18
18
|
}
|
19
19
|
|
20
20
|
ColorMap.each do |color, code|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "uri"
|
1
2
|
require "rake_compiler_dock/colors"
|
2
3
|
|
3
4
|
module RakeCompilerDock
|
@@ -5,9 +6,12 @@ module RakeCompilerDock
|
|
5
6
|
include Colors
|
6
7
|
|
7
8
|
attr_reader :io
|
9
|
+
attr_accessor :machine_name
|
8
10
|
|
9
|
-
def initialize(io)
|
11
|
+
def initialize(io, machine_name="rake-compiler-dock")
|
10
12
|
@io = io
|
13
|
+
@machine_name = machine_name
|
14
|
+
|
11
15
|
if !io.tty? || (RUBY_PLATFORM=~/mingw|mswin/ && RUBY_VERSION[/^\d+/] < '2')
|
12
16
|
disable_colors
|
13
17
|
else
|
@@ -17,25 +21,37 @@ module RakeCompilerDock
|
|
17
21
|
docker_version
|
18
22
|
|
19
23
|
unless ok?
|
20
|
-
|
21
|
-
|
22
|
-
if b2d_avail?
|
24
|
+
doma_version
|
25
|
+
if doma_avail?
|
23
26
|
io.puts
|
24
|
-
io.puts yellow("
|
27
|
+
io.puts yellow("docker-machine is available, but not ready to use. Trying to start.")
|
25
28
|
|
26
|
-
|
27
|
-
if
|
28
|
-
|
29
|
+
doma_create
|
30
|
+
if doma_create_ok?
|
31
|
+
doma_start
|
29
32
|
|
30
33
|
docker_version
|
31
34
|
end
|
35
|
+
else
|
36
|
+
b2d_version
|
37
|
+
|
38
|
+
if b2d_avail?
|
39
|
+
io.puts
|
40
|
+
io.puts yellow("boot2docker is available, but not ready to use. Trying to start.")
|
41
|
+
|
42
|
+
b2d_init
|
43
|
+
if b2d_init_ok?
|
44
|
+
b2d_start
|
45
|
+
|
46
|
+
docker_version
|
47
|
+
end
|
48
|
+
end
|
32
49
|
end
|
33
50
|
end
|
34
51
|
end
|
35
52
|
|
36
53
|
def docker_version
|
37
|
-
@docker_version_text =
|
38
|
-
@docker_version_status = $?.exitstatus
|
54
|
+
@docker_version_text, @docker_version_status = run("docker version")
|
39
55
|
end
|
40
56
|
|
41
57
|
def ok?
|
@@ -46,6 +62,55 @@ module RakeCompilerDock
|
|
46
62
|
@docker_version_text =~ /version/
|
47
63
|
end
|
48
64
|
|
65
|
+
def doma_version
|
66
|
+
@doma_version_text, @doma_version_status = run("docker-machine --version")
|
67
|
+
end
|
68
|
+
|
69
|
+
def doma_avail?
|
70
|
+
@doma_version_status == 0 && @doma_version_text =~ /version/
|
71
|
+
end
|
72
|
+
|
73
|
+
def doma_create
|
74
|
+
options = [
|
75
|
+
"--engine-env", "ftp_proxy=#{ENV['ftp_proxy']}",
|
76
|
+
"--engine-env", "http_proxy=#{ENV['http_proxy']}",
|
77
|
+
"--engine-env", "https_proxy=#{ENV['https_proxy']}",
|
78
|
+
]
|
79
|
+
@doma_create_text, @doma_create_status = run("docker-machine create --driver virtualbox #{options.join(" ")} #{machine_name}", cmd: :visible, output: :visible)
|
80
|
+
end
|
81
|
+
|
82
|
+
def doma_create_ok?
|
83
|
+
@doma_create_status == 0 || @doma_create_text =~ /already exists/
|
84
|
+
end
|
85
|
+
|
86
|
+
def doma_start
|
87
|
+
@doma_start_text, @doma_start_status = run("docker-machine start #{machine_name}", cmd: :visible, output: :visible)
|
88
|
+
@doma_env_set = false
|
89
|
+
|
90
|
+
if doma_start_ok?
|
91
|
+
@doma_env_text, @doma_env_status = run("docker-machine env #{machine_name}")
|
92
|
+
if @doma_env_status == 0 && set_env(@doma_env_text)
|
93
|
+
# We use docker-machine for a local provider only, so we shouldn't use any proxy to connect to it.
|
94
|
+
if host=ENV['DOCKER_HOST']
|
95
|
+
ENV['NO_PROXY'] = [ENV['NO_PROXY'], URI.parse(host).host].compact.join(",")
|
96
|
+
end
|
97
|
+
@doma_env_set = true
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def doma_start_ok?
|
103
|
+
@doma_start_status == 0 || @doma_start_text =~ /already running/
|
104
|
+
end
|
105
|
+
|
106
|
+
def doma_env_ok?
|
107
|
+
@doma_env_status == 0
|
108
|
+
end
|
109
|
+
|
110
|
+
def doma_has_env?
|
111
|
+
@doma_env_set
|
112
|
+
end
|
113
|
+
|
49
114
|
def b2d_version
|
50
115
|
@b2d_version_text = `boot2docker version 2>&1` rescue SystemCallError
|
51
116
|
@b2d_version_status = $?.exitstatus
|
@@ -71,19 +136,11 @@ module RakeCompilerDock
|
|
71
136
|
|
72
137
|
if @b2d_start_status == 0
|
73
138
|
io.puts @b2d_start_text
|
74
|
-
@b2d_start_text
|
75
|
-
ENV.delete(key)
|
76
|
-
@b2d_start_envset = true
|
77
|
-
end
|
78
|
-
@b2d_start_text.scan(/(export |\$Env:)(.+?)(=| = ")(.*?)(|\")$/) do |_, key, _, val, _|
|
79
|
-
ENV[key] = val
|
139
|
+
if set_env(@b2d_start_text)
|
80
140
|
@b2d_start_envset = true
|
141
|
+
io.puts yellow("Using above environment variables for starting #{machine_name}.")
|
81
142
|
end
|
82
143
|
end
|
83
|
-
|
84
|
-
if @b2d_start_envset
|
85
|
-
io.puts yellow("Using above environment variables for starting rake-compiler-dock.")
|
86
|
-
end
|
87
144
|
end
|
88
145
|
|
89
146
|
def b2d_start_ok?
|
@@ -94,9 +151,22 @@ module RakeCompilerDock
|
|
94
151
|
@b2d_start_envset
|
95
152
|
end
|
96
153
|
|
154
|
+
def set_env(text)
|
155
|
+
set = false
|
156
|
+
text.scan(/(unset |Remove-Item Env:\\)(.+?)$/) do |_, key|
|
157
|
+
ENV.delete(key)
|
158
|
+
set = true
|
159
|
+
end
|
160
|
+
text.scan(/(export |\$Env:)(.+?)(="|=| = ")(.*?)(|\")$/) do |_, key, _, val, _|
|
161
|
+
ENV[key] = val
|
162
|
+
set = true
|
163
|
+
end
|
164
|
+
set
|
165
|
+
end
|
166
|
+
|
97
167
|
def help_text
|
98
168
|
help = []
|
99
|
-
if !ok? && docker_client_avail? && !b2d_avail?
|
169
|
+
if !ok? && docker_client_avail? && !doma_avail? && !b2d_avail?
|
100
170
|
help << red("Docker client tools work, but connection to the local docker server failed.")
|
101
171
|
case RUBY_PLATFORM
|
102
172
|
when /linux/
|
@@ -114,17 +184,17 @@ module RakeCompilerDock
|
|
114
184
|
help << " sudo systemctl start docker"
|
115
185
|
help << ""
|
116
186
|
help << yellow("Then re-check with '") + white("docker version") + yellow("'")
|
117
|
-
help << yellow("or have a look at
|
187
|
+
help << yellow("or have a look at our FAQs: http://git.io/vm8AL")
|
118
188
|
else
|
119
189
|
help << yellow(" Please check why '") + white("docker version") + yellow("' fails")
|
120
|
-
help << yellow(" or have a look at
|
190
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vm8AL")
|
121
191
|
end
|
122
|
-
elsif !ok? && !b2d_avail?
|
192
|
+
elsif !ok? && !doma_avail? && !b2d_avail?
|
123
193
|
case RUBY_PLATFORM
|
124
194
|
when /mingw|mswin/
|
125
195
|
help << red("Docker is not available.")
|
126
|
-
help << yellow("Please download and install
|
127
|
-
help << yellow(" https://
|
196
|
+
help << yellow("Please download and install the docker-toolbox:")
|
197
|
+
help << yellow(" https://www.docker.com/docker-toolbox")
|
128
198
|
when /linux/
|
129
199
|
help << red("Docker is not available.")
|
130
200
|
help << ""
|
@@ -140,33 +210,70 @@ module RakeCompilerDock
|
|
140
210
|
help << " sudo systemctl start docker"
|
141
211
|
when /darwin/
|
142
212
|
help << red("Docker is not available.")
|
143
|
-
help << yellow("Please
|
144
|
-
help <<
|
213
|
+
help << yellow("Please install docker-machine per homebrew:")
|
214
|
+
help << " brew cask install virtualbox"
|
215
|
+
help << " brew install docker"
|
216
|
+
help << " brew install docker-machine"
|
217
|
+
help << ""
|
218
|
+
help << yellow("or download and install the official docker-toolbox:")
|
219
|
+
help << yellow(" https://www.docker.com/docker-toolbox")
|
145
220
|
else
|
146
221
|
help << red("Docker is not available.")
|
147
222
|
end
|
148
|
-
elsif
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
help <<
|
223
|
+
elsif doma_avail?
|
224
|
+
if !ok? && !doma_create_ok?
|
225
|
+
help << red("docker-machine is installed but machine couldn't be created.")
|
226
|
+
help << ""
|
227
|
+
help << yellow(" Please check why '") + white("docker-machine create") + yellow("' fails")
|
228
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vRzIg")
|
229
|
+
elsif !ok? && !doma_start_ok?
|
230
|
+
help << red("docker-machine is installed but couldn't be started.")
|
231
|
+
help << ""
|
232
|
+
help << yellow(" Please check why '") + white("docker-machine start") + yellow("' fails.")
|
233
|
+
help << yellow(" You might need to re-init with '") + white("docker-machine rm") + yellow("'")
|
234
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vRzIg")
|
235
|
+
elsif !ok? && !doma_env_ok?
|
236
|
+
help << red("docker-machine is installed and started, but 'docker-machine env' failed.")
|
237
|
+
help << ""
|
238
|
+
help << yellow("You might try to regenerate TLS certificates with:")
|
239
|
+
help << " docker-machine regenerate-certs #{machine_name}"
|
240
|
+
elsif !ok?
|
241
|
+
help << red("docker-machine is installed and started, but 'docker version' failed.")
|
242
|
+
help << ""
|
243
|
+
|
244
|
+
if doma_has_env?
|
245
|
+
help << yellow(" Please copy and paste following environment variables to your terminal")
|
246
|
+
help += @doma_env_text.each_line.reject{|l| l=~/\s*#/ }.map{|l| " #{l.chomp}" }
|
247
|
+
help << yellow(" and check why '") + white("docker version") + yellow("' fails.")
|
248
|
+
else
|
249
|
+
help << yellow(" Please check why '") + white("docker version") + yellow("' fails.")
|
250
|
+
end
|
251
|
+
help << yellow(" You might also have a look at our FAQs: http://git.io/vRzIg")
|
252
|
+
end
|
253
|
+
elsif b2d_avail?
|
254
|
+
if !ok? && !b2d_init_ok?
|
255
|
+
help << red("boot2docker is installed but couldn't be initialized.")
|
256
|
+
help << ""
|
257
|
+
help << yellow(" Please check why '") + white("boot2docker init") + yellow("' fails")
|
258
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vm8Nr")
|
259
|
+
elsif !ok? && !b2d_start_ok?
|
260
|
+
help << red("boot2docker is installed but couldn't be started.")
|
261
|
+
help << ""
|
262
|
+
help << yellow(" Please check why '") + white("boot2docker start") + yellow("' fails.")
|
263
|
+
help << yellow(" You might need to re-init with '") + white("boot2docker delete") + yellow("'")
|
264
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vm8Nr")
|
265
|
+
elsif !ok? && b2d_start_ok?
|
266
|
+
help << red("boot2docker is installed and started, but 'docker version' failed.")
|
267
|
+
help << ""
|
268
|
+
if b2d_start_has_env?
|
269
|
+
help << yellow(" Please copy and paste above environment variables to your terminal")
|
270
|
+
help << yellow(" and check why '") + white("docker version") + yellow("' fails.")
|
271
|
+
else
|
272
|
+
help << yellow(" Please check why '") + white("docker version") + yellow("' fails.")
|
273
|
+
end
|
274
|
+
help << yellow(" You might need to re-init with '") + white("boot2docker delete") + yellow("'")
|
275
|
+
help << yellow(" or have a look at our FAQs: http://git.io/vm8Nr")
|
167
276
|
end
|
168
|
-
help << yellow(" You might need to re-init with '") + white("boot2docker delete") + yellow("'")
|
169
|
-
help << yellow(" or have a look at the FAQs: http://git.io/vtDBH")
|
170
277
|
end
|
171
278
|
|
172
279
|
help.join("\n")
|
@@ -175,5 +282,31 @@ module RakeCompilerDock
|
|
175
282
|
def print_help_text
|
176
283
|
io.puts(help_text)
|
177
284
|
end
|
285
|
+
|
286
|
+
private
|
287
|
+
|
288
|
+
def run(cmd, options={})
|
289
|
+
if options[:cmd] == :visible
|
290
|
+
io.puts "$ #{green(cmd)}"
|
291
|
+
end
|
292
|
+
|
293
|
+
if options[:output] == :visible
|
294
|
+
text = String.new
|
295
|
+
begin
|
296
|
+
IO.popen("#{cmd} 2>&1") do |fd|
|
297
|
+
while !fd.eof?
|
298
|
+
t = fd.read_nonblock(1024)
|
299
|
+
io.write t
|
300
|
+
text << t
|
301
|
+
end
|
302
|
+
end
|
303
|
+
rescue SystemCallError
|
304
|
+
text = nil
|
305
|
+
end
|
306
|
+
else
|
307
|
+
text = `#{cmd} 2>&1` rescue SystemCallError
|
308
|
+
end
|
309
|
+
[text, $?.exitstatus]
|
310
|
+
end
|
178
311
|
end
|
179
312
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "shellwords"
|
2
|
+
require "etc"
|
2
3
|
require "rake_compiler_dock/version"
|
3
4
|
|
4
5
|
module RakeCompilerDock
|
@@ -49,10 +50,8 @@ module RakeCompilerDock
|
|
49
50
|
uid = Process.uid
|
50
51
|
gid = Process.gid
|
51
52
|
end
|
52
|
-
user =
|
53
|
-
group =
|
54
|
-
|
55
|
-
drun_args = docker_opts + [image_name] + runargs
|
53
|
+
user = options.fetch(:username){ current_user }
|
54
|
+
group = options.fetch(:groupname){ current_group }
|
56
55
|
|
57
56
|
cmd = ["docker", "run",
|
58
57
|
"-v", "#{pwd}:#{make_valid_path(pwd)}",
|
@@ -67,7 +66,9 @@ module RakeCompilerDock
|
|
67
66
|
"-e", "RCD_HOST_RUBY_VERSION=#{RUBY_VERSION}",
|
68
67
|
"-e", "RCD_IMAGE=#{image_name}",
|
69
68
|
"-w", make_valid_path(pwd),
|
70
|
-
*
|
69
|
+
*docker_opts,
|
70
|
+
image_name,
|
71
|
+
*runargs]
|
71
72
|
|
72
73
|
cmdline = Shellwords.join(cmd)
|
73
74
|
if verbose_flag(options) == true
|
@@ -89,10 +90,25 @@ module RakeCompilerDock
|
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
93
|
+
def current_user
|
94
|
+
make_valid_user_name(Etc.getlogin)
|
95
|
+
end
|
96
|
+
|
97
|
+
def current_group
|
98
|
+
group_obj = Etc.getgrgid
|
99
|
+
make_valid_group_name(group_obj ? group_obj.name : "dummygroup")
|
100
|
+
end
|
101
|
+
|
92
102
|
def make_valid_name(name)
|
93
|
-
name = name.downcase
|
103
|
+
name = name.to_s.downcase
|
104
|
+
name = "_" if name.empty?
|
94
105
|
# Convert disallowed characters
|
95
|
-
|
106
|
+
if name.length > 1
|
107
|
+
name = name[0..0].gsub(/[^a-z_]/, "_") + name[1..-2].to_s.gsub(/[^a-z0-9_-]/, "_") + name[-1..-1].to_s.gsub(/[^a-z0-9_$-]/, "_")
|
108
|
+
else
|
109
|
+
name = name.gsub(/[^a-z_]/, "_")
|
110
|
+
end
|
111
|
+
|
96
112
|
# Limit to 32 characters
|
97
113
|
name.sub( /^(.{16}).{2,}(.{15})$/ ){ $1+"-"+$2 }
|
98
114
|
end
|
data/rake-compiler-dock.gemspec
CHANGED
@@ -11,8 +11,11 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = %q{Easy to use and reliable cross compiler environment for building Windows binary gems.}
|
12
12
|
spec.description = %q{Easy to use and reliable cross compiler environment for building Windows binary gems.
|
13
13
|
Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.}
|
14
|
-
spec.homepage = "https://github.com/
|
14
|
+
spec.homepage = "https://github.com/rake-compiler/rake-compiler-dock"
|
15
15
|
spec.license = "MIT"
|
16
|
+
# We do not set a ruby version in the gemspec, to allow addition to the Gemfile of gems that still support ruby-1.8.
|
17
|
+
# However we do the version check at runtime.
|
18
|
+
# spec.required_ruby_version = '>= 1.9.2'
|
16
19
|
|
17
20
|
spec.files = `git ls-files -z`.split("\x0")
|
18
21
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rake_compiler_dock'
|
2
|
+
require 'test/unit'
|
3
|
+
begin
|
4
|
+
require 'test/unit/notify'
|
5
|
+
rescue LoadError
|
6
|
+
end
|
7
|
+
|
8
|
+
class TestStarter < Test::Unit::TestCase
|
9
|
+
include RakeCompilerDock
|
10
|
+
|
11
|
+
def test_make_valid_user_name
|
12
|
+
assert_equal "mouse-click", Starter.make_valid_user_name("Mouse-Click")
|
13
|
+
assert_equal "very_very_very_l-ame_with_spaces", Starter.make_valid_user_name("Very very very long name with spaces")
|
14
|
+
assert_equal "_nobody", Starter.make_valid_user_name("nobody")
|
15
|
+
assert_equal "_rvm", Starter.make_valid_user_name("rvm")
|
16
|
+
assert_equal "staff", Starter.make_valid_user_name("staff")
|
17
|
+
assert_equal "a", Starter.make_valid_user_name("a")
|
18
|
+
assert_equal "_", Starter.make_valid_user_name("")
|
19
|
+
assert_equal "_", Starter.make_valid_user_name(nil)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_make_valid_group_name
|
23
|
+
assert_equal "mouse-click", Starter.make_valid_group_name("Mouse-Click")
|
24
|
+
assert_equal "very_very_very_l-ame_with_spaces", Starter.make_valid_group_name("Very very very long name with spaces")
|
25
|
+
assert_equal "nobody", Starter.make_valid_group_name("nobody")
|
26
|
+
assert_equal "_rvm", Starter.make_valid_group_name("rvm")
|
27
|
+
assert_equal "_staff", Starter.make_valid_group_name("staff")
|
28
|
+
assert_equal "a", Starter.make_valid_group_name("a")
|
29
|
+
assert_equal "_", Starter.make_valid_group_name("")
|
30
|
+
assert_equal "_", Starter.make_valid_group_name(nil)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler-dock
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Lars Kanis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
10
|
+
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDPDCCAiSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQ0wCwYDVQQDDARsYXJz
|
@@ -29,52 +29,61 @@ cert_chain:
|
|
29
29
|
6jkDey5mE3jQb893U6ihl55uLkVQwxZZTq/flNWjTIcbbvKKafEGdGv5uOlB+KRL
|
30
30
|
PRtgPFlA2jDgUr1EPAIH1Q==
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2015-12-25 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
36
35
|
name: bundler
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
version: "1.7"
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.7'
|
43
41
|
type: :development
|
44
|
-
version_requirements: *id001
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: rake
|
47
42
|
prerelease: false
|
48
|
-
|
49
|
-
requirements:
|
50
|
-
- - ~>
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version:
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rake
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
53
55
|
type: :development
|
54
|
-
version_requirements: *id002
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: test-unit
|
57
56
|
prerelease: false
|
58
|
-
|
59
|
-
requirements:
|
60
|
-
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: test-unit
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
63
69
|
type: :development
|
64
|
-
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
65
76
|
description: |-
|
66
77
|
Easy to use and reliable cross compiler environment for building Windows binary gems.
|
67
78
|
Use rake-compiler-dock to enter an interactive shell session or add a task to your Rakefile to automate your cross build.
|
68
|
-
email:
|
79
|
+
email:
|
69
80
|
- lars@greiz-reinsdorf.de
|
70
|
-
executables:
|
81
|
+
executables:
|
71
82
|
- rake-compiler-dock
|
72
83
|
extensions: []
|
73
|
-
|
74
84
|
extra_rdoc_files: []
|
75
|
-
|
76
|
-
|
77
|
-
- .gitignore
|
85
|
+
files:
|
86
|
+
- ".gitignore"
|
78
87
|
- Dockerfile
|
79
88
|
- Gemfile
|
80
89
|
- History.md
|
@@ -82,48 +91,49 @@ files:
|
|
82
91
|
- README.md
|
83
92
|
- Rakefile
|
84
93
|
- bin/rake-compiler-dock
|
94
|
+
- build/patches/rake-compiler-0.9.5/without-exts.diff
|
95
|
+
- build/patches/ruby-1.8.7-p374/nop.patch
|
96
|
+
- build/patches/ruby-1.9.3/no_sendfile.patch
|
97
|
+
- build/patches/ruby-1.9.3/nop.patch
|
98
|
+
- build/patches/ruby-2.3.0/no_sendfile.patch
|
99
|
+
- build/runas
|
100
|
+
- build/sigfw.c
|
101
|
+
- build/strip_wrapper
|
102
|
+
- build/sudoers
|
85
103
|
- lib/rake_compiler_dock.rb
|
86
104
|
- lib/rake_compiler_dock/colors.rb
|
87
105
|
- lib/rake_compiler_dock/docker_check.rb
|
88
106
|
- lib/rake_compiler_dock/predefined_user_group.rb
|
89
107
|
- lib/rake_compiler_dock/starter.rb
|
90
108
|
- lib/rake_compiler_dock/version.rb
|
91
|
-
- patches/ruby-1.8.7-p374/nop.patch
|
92
|
-
- patches/ruby-1.9.3/no_sendfile.patch
|
93
|
-
- patches/ruby-1.9.3/nop.patch
|
94
|
-
- patches/ruby-2.2.2/no_sendfile.patch
|
95
109
|
- rake-compiler-dock.gemspec
|
96
|
-
- src/rake-compiler-without-exts.diff
|
97
|
-
- src/runas
|
98
|
-
- src/sigfw.c
|
99
|
-
- src/strip_wrapper
|
100
|
-
- src/sudoers
|
101
110
|
- test/test_environment_variables.rb
|
102
|
-
|
103
|
-
|
111
|
+
- test/test_starter.rb
|
112
|
+
homepage: https://github.com/rake-compiler/rake-compiler-dock
|
113
|
+
licenses:
|
104
114
|
- MIT
|
105
115
|
metadata: {}
|
106
|
-
|
107
116
|
post_install_message:
|
108
117
|
rdoc_options: []
|
109
|
-
|
110
|
-
require_paths:
|
118
|
+
require_paths:
|
111
119
|
- lib
|
112
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
-
|
115
|
-
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
121
130
|
requirements: []
|
122
|
-
|
123
131
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.4.8
|
125
133
|
signing_key:
|
126
134
|
specification_version: 4
|
127
|
-
summary: Easy to use and reliable cross compiler environment for building Windows
|
128
|
-
|
135
|
+
summary: Easy to use and reliable cross compiler environment for building Windows
|
136
|
+
binary gems.
|
137
|
+
test_files:
|
129
138
|
- test/test_environment_variables.rb
|
139
|
+
- test/test_starter.rb
|
metadata.gz.sig
CHANGED
Binary file
|