rake-compiler-dock 1.7.1 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9c4b1e01bfda55a4667b92493a41b27893b83c670455e1ffe0238bf123498d8
4
- data.tar.gz: ed349a2d99f6615ba3dabc237580c72a1eb9461651dfd3e11b759176f4a4f46d
3
+ metadata.gz: d8defac75bbfdcb50e87c34ae26c04eeac94d56144481a01ea096cffe70f33ac
4
+ data.tar.gz: 5fe13b2f51bea09bb8ed3f02c170ccf2984aa6fcd74bed05b74643d658a0d615
5
5
  SHA512:
6
- metadata.gz: 2dab2d0f3d3b0e616b7c5f8c410d9a66a917b5ee64cb2773cafabffae10b1ff586caadba926395c02ee64dbf30a4831819f6ac50638a315a4593aea96a5eeb06
7
- data.tar.gz: 7b75f6e253400bc5314b547021889ad4e06a83338a3a9bf66de2c453774b81e0e03b6fd744f7c5961869c9959dcb03b46371d8535c54d1a3b16786d81abe85ea
6
+ metadata.gz: 94bb24cf349bc6099fc6dd07ffe860588a782ef0408af57c59001a4100a5be568489e7d8610a840949590086289a474c123be34da1193633c7ba6aaff733c2fb
7
+ data.tar.gz: 2123aa6ccb22c06ee123e58eb34e306a0f8e5b69e57fd6124b1bfe7cdd42a5f2a83a0b7c6ce63015e7c02f706f011bd46a1b0e56b823d86997a702fa7ab57525
@@ -187,9 +187,10 @@ jobs:
187
187
  uses: actions/download-artifact@v4
188
188
  with:
189
189
  name: gem-${{ matrix.platform }}
190
+ - if: matrix.rubygems
191
+ run: gem update --system ${{ matrix.rubygems }}
190
192
  - name: Test gem-${{ matrix.platform }}
191
193
  run: |
192
- gem update --system ${{ matrix.rubygems }}
193
194
  gem install --local *.gem --verbose
194
195
  cd test/rcd_test/
195
196
  bundle install
@@ -250,7 +251,7 @@ jobs:
250
251
  docker run --rm -v $PWD:/work -w /work \
251
252
  ${{ matrix.docker_platform}} ruby:${{ matrix.ruby }}${{ matrix.docker_tag }} \
252
253
  sh -c "
253
- gem update --system ${{ matrix.rubygems }} &&
254
+ if test -n '${{ matrix.rubygems }}' ; then gem update --system ${{ matrix.rubygems }} ; fi &&
254
255
  gem install --local *.gem --verbose &&
255
256
  cd test/rcd_test/ &&
256
257
  bundle install &&
data/Dockerfile.jruby CHANGED
@@ -50,7 +50,9 @@ RUN bash -c " \
50
50
  rbenv shell \$v && \
51
51
  gem install rake-compiler -v1.2.9 && \
52
52
  cd ${RBENV_ROOT}/versions/\$v/lib/ruby/gems/*/gems/rake-compiler-1.2.9 && \
53
- patch -p1 < /home/rubyuser/patches/rake-compiler-1.2.9/*.patch ; \
53
+ for patch in /home/rubyuser/patches/rake-compiler-1.2.9/*.patch ; do \
54
+ patch -p1 < \$patch ; \
55
+ done \
54
56
  done \
55
57
  "
56
58
 
data/Dockerfile.mri.erb CHANGED
@@ -10,28 +10,6 @@ RUN apt-get -y update && \
10
10
  apt-get install -y autoconf cmake pkg-config zlib1g-dev libreadline-dev libsqlite0-dev libssl-dev libyaml-dev libffi-dev && \
11
11
  rm -rf /var/lib/apt/lists/*
12
12
 
13
- ##
14
- ## install rbenv and ruby-build
15
- ##
16
- RUN groupadd -r rubyuser && useradd -r -g rubyuser -G sudo -p "" --create-home rubyuser
17
-
18
- ENV RBENV_ROOT=/usr/local/rbenv RBENV_RUBIES="2.5.9 3.1.3"
19
-
20
- # chown after running `rbenv init` because that command creates some subdirectories
21
- RUN git clone https://github.com/rbenv/rbenv.git ${RBENV_ROOT} && \
22
- git clone https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
23
- \
24
- echo "export RBENV_ROOT=/usr/local/rbenv" >> /etc/rubybashrc && \
25
- echo "export PATH=$RBENV_ROOT/bin:\$PATH" >> /etc/rubybashrc && \
26
- $RBENV_ROOT/bin/rbenv init - --no-rehash bash >> /etc/rubybashrc && \
27
- echo "source /etc/rubybashrc" >> /etc/bashrc && \
28
- echo "source /etc/rubybashrc" >> /etc/bash.bashrc && \
29
- \
30
- chown -R rubyuser:rubyuser ${RBENV_ROOT} && \
31
- find ${RBENV_ROOT} -type d -print0 | sudo xargs -0 chmod g+sw
32
- ENV BASH_ENV=/etc/rubybashrc
33
-
34
-
35
13
  ##
36
14
  ## Install cross compilers
37
15
  ##
@@ -69,11 +47,35 @@ RUN /tmp/mk_osxcross.sh
69
47
  <% end %>
70
48
 
71
49
 
50
+ ##
51
+ ## install rbenv and ruby-build
52
+ ##
53
+ RUN groupadd -r rubyuser && useradd -r -g rubyuser -G sudo -p "" --create-home rubyuser
54
+
55
+ ENV RBENV_ROOT=/usr/local/rbenv
56
+
57
+ # chown after running `rbenv init` because that command creates some subdirectories
58
+ RUN git clone https://github.com/rbenv/rbenv.git ${RBENV_ROOT} && \
59
+ git clone https://github.com/rbenv/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build && \
60
+ \
61
+ echo "export RBENV_ROOT=/usr/local/rbenv" >> /etc/rubybashrc && \
62
+ echo "export PATH=$RBENV_ROOT/bin:\$PATH" >> /etc/rubybashrc && \
63
+ $RBENV_ROOT/bin/rbenv init - --no-rehash bash >> /etc/rubybashrc && \
64
+ echo "source /etc/rubybashrc" >> /etc/bashrc && \
65
+ echo "source /etc/rubybashrc" >> /etc/bash.bashrc && \
66
+ \
67
+ chown -R rubyuser:rubyuser ${RBENV_ROOT} && \
68
+ find ${RBENV_ROOT} -type d -print0 | sudo xargs -0 chmod g+sw
69
+ ENV BASH_ENV=/etc/rubybashrc
70
+
71
+
72
72
  ##
73
73
  ## set up rake-compiler and install bootstrap rubies
74
74
  ##
75
75
  USER rubyuser
76
76
 
77
+ ENV RBENV_RUBIES="2.5.9 3.1.6"
78
+
77
79
  # Install the bootstrap rubies
78
80
  RUN bash -c " \
79
81
  echo 'gem: --no-ri --no-rdoc --no-document' >> ~/.gemrc && \
@@ -91,7 +93,9 @@ RUN bash -c " \
91
93
  rbenv shell \$v && \
92
94
  gem install rake-compiler -v1.2.9 && \
93
95
  cd ${RBENV_ROOT}/versions/\$v/lib/ruby/gems/*/gems/rake-compiler-1.2.9 && \
94
- patch -p1 < /home/rubyuser/patches/rake-compiler-1.2.9/*.patch ; \
96
+ for patch in /home/rubyuser/patches/rake-compiler-1.2.9/*.patch ; do \
97
+ patch -p1 < \$patch ; \
98
+ done \
95
99
  done \
96
100
  "
97
101
 
@@ -110,19 +114,19 @@ RUN sudo mkdir -p /usr/local/rake-compiler && \
110
114
  #
111
115
  xrubies_build_plan = if platform =~ /x64-mingw-ucrt/
112
116
  [
113
- # Rubyinstaller-3.1.0+ is platform x64-mingw-ucrt
114
- ["3.4.1:3.3.5:3.2.0:3.1.0", "3.1.3"],
117
+ # Rubyinstaller-3.1+ is platform x64-mingw-ucrt
118
+ ["3.4.1:3.3.5:3.2.6:3.1.6", "3.1.6"],
115
119
  ]
116
120
  elsif platform =~ /x64-mingw32/
117
121
  [
118
- # Rubyinstaller prior to 3.1.0 is platform x64-mingw32
119
- ["2.6.0:2.5.0:2.4.0", "2.5.9"],
120
- ["3.0.0:2.7.0", "3.1.3"],
122
+ # Rubyinstaller prior to 3.1 is platform x64-mingw32
123
+ ["2.6.10:2.5.9:2.4.10", "2.5.9"],
124
+ ["3.0.7:2.7.8", "3.1.6"],
121
125
  ]
122
126
  else
123
127
  [
124
- ["2.6.0:2.5.0:2.4.0", "2.5.9"],
125
- ["3.4.1:3.3.5:3.2.0:3.1.0:3.0.0:2.7.0", "3.1.3"],
128
+ ["2.6.10:2.5.9:2.4.10", "2.5.9"],
129
+ ["3.4.1:3.3.5:3.2.6:3.1.6:3.0.7:2.7.8", "3.1.6"],
126
130
  ]
127
131
  end
128
132
 
@@ -165,12 +169,15 @@ RUN find /usr/local/rake-compiler/ruby -name lib*-ruby*.dll.a | while read f ; d
165
169
  RUN find /usr/local/rake-compiler/ruby -name rbconfig.rb | while read f ; do sed -i 's/-lcrypt//' $f ; done
166
170
 
167
171
  <% if platform =~ /darwin/ %>
168
- # ruby-3.2+ on darwin links with `-bundle_loader`,
169
- # - see https://github.com/rake-compiler/rake-compiler-dock/issues/87
170
- # - note that we do this for "3.[2-9].0" to match rubies 3.2 and later
171
- # - and we add a "*" on the end for "3.[2-9].0*" to match prereleases like "3.3.0+0"
172
- RUN find /usr/local/rake-compiler/ruby/*/*/lib/ruby/3.[2-9].0* -name rbconfig.rb | \
173
- while read f ; do sed -i 's/\["EXTDLDFLAGS"\] = "/&-Wl,-flat_namespace /' $f ; done
172
+ # for rubies which use `-bundle_loader` on darwin
173
+ # - the upstream change: https://github.com/ruby/ruby/pull/6193
174
+ # - how we got to this solution: https://github.com/rake-compiler/rake-compiler-dock/issues/87
175
+ #
176
+ # note that ruby/ruby#6193 was backported to 2.7.7, 3.0.5, and 3.1.3
177
+ # - see https://github.com/rake-compiler/rake-compiler-dock/issues/134 for more notes
178
+ RUN find /usr/local/rake-compiler/ruby/*/*/lib/ruby -name rbconfig.rb | while read f ; do \
179
+ sed -E -i 's/(\["EXTDLDFLAGS"\] = ".*)(-bundle_loader)/\1-Wl,-flat_namespace \2/' $f ; \
180
+ done
174
181
  <% end %>
175
182
 
176
183
 
@@ -216,8 +223,8 @@ RUN echo 'source /etc/profile.d/rcd-env.sh' >> /etc/rubybashrc
216
223
  # Install sudoers configuration
217
224
  COPY build/sudoers /etc/sudoers.d/rake-compiler-dock
218
225
 
219
- RUN bash -c "rbenv global 3.1.3"
226
+ RUN bash -c "rbenv global 3.1.6"
220
227
 
221
- ENV RUBY_CC_VERSION=3.4.1:3.3.5:3.2.0:3.1.0:3.0.0:2.7.0:2.6.0:2.5.0:2.4.0
228
+ ENV RUBY_CC_VERSION=3.4.1:3.3.5:3.2.6:3.1.6:3.0.7:2.7.8:2.6.10:2.5.9:2.4.10
222
229
 
223
230
  CMD bash
data/History.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # `rake-compiler/rake-compiler-dock` Changelog
2
2
 
3
+ ## v1.8.0 / 2025-01-05
4
+
5
+ ### Notable changes
6
+
7
+ All versions of Ruby in the build containers are the latest patch version. #135 @flavorjones
8
+ - `RUBY_CC_VERSION=3.4.1:3.3.5:3.2.6:3.1.6:3.0.7:2.7.8:2.6.10:2.5.9:2.4.10`
9
+
10
+ ### Other changes
11
+
12
+ - Base ruby updated to v3.1.6 (from v3.1.3), which is now the default `rbenv` ruby.
13
+ - (Darwin) Set `OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1` to successfully build the 3.0 series.
14
+ - (Darwin) The linker flags include `-Wl,-flat_namespace` for 2.7, 3.0, 3.1, 3.2, 3.3, and 3.4 rubies. Previously this was only needed for 3.2+, but code backported to 2.7.7, 3.0.5, and 3.1.3 required it for those versions as well.
15
+
16
+
3
17
  ## v1.7.1 / 2025-01-03
4
18
 
5
19
  - Bump rake-compiler dependency to v1.2.9 (from v1.2.5).
data/build/mk_osxcross.sh CHANGED
@@ -27,6 +27,8 @@ rm -rf *~ build tarballs/*
27
27
  echo "export PATH=/opt/osxcross/target/bin:\$PATH" >> /etc/rubybashrc
28
28
  echo "export MACOSX_DEPLOYMENT_TARGET=10.13" >> /etc/rubybashrc
29
29
  echo "export OSXCROSS_MP_INC=1" >> /etc/rubybashrc
30
+ echo "export OSXCROSS_PKG_CONFIG_USE_NATIVE_VARIABLES=1" >> /etc/rubybashrc
31
+
30
32
 
31
33
  # Add links to build tools without target version kind of:
32
34
  # arm64-apple-darwin-clang => arm64-apple-darwin20.1-clang
@@ -0,0 +1,17 @@
1
+ diff --git a/tasks/bin/cross-ruby.rake b/tasks/bin/cross-ruby.rake
2
+ index d37ab97b..0df44b30 100644
3
+ --- a/tasks/bin/cross-ruby.rake
4
+ +++ b/tasks/bin/cross-ruby.rake
5
+ @@ -129,6 +129,12 @@
6
+
7
+ # make
8
+ file "#{build_dir}/ruby.exe" => ["#{build_dir}/Makefile"] do |t|
9
+ + puts "MIKE: #{ruby_cc_version}: #{mingw_target}"
10
+ + if ruby_cc_version.start_with?("ruby-3.1") && mingw_target =~ /darwin/
11
+ + # for later 3.1.x releases, we need to explicitly build miniruby
12
+ + # see https://bugs.ruby-lang.org/issues/19239
13
+ + sh "#{MAKE} miniruby", chdir: File.dirname(t.prerequisites.first)
14
+ + end
15
+ sh MAKE, chdir: File.dirname(t.prerequisites.first)
16
+ end
17
+
@@ -1,4 +1,4 @@
1
1
  module RakeCompilerDock
2
- VERSION = "1.7.1"
3
- IMAGE_VERSION = "1.7.1"
2
+ VERSION = "1.8.0"
3
+ IMAGE_VERSION = "1.8.0"
4
4
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-compiler-dock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lars Kanis
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-03 00:00:00.000000000 Z
10
+ date: 2025-01-06 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bundler
@@ -88,6 +88,7 @@ files:
88
88
  - build/mk_pkg_config.sh
89
89
  - build/parallel_docker_build.rb
90
90
  - build/patches/rake-compiler-1.2.9/0004-Enable-build-of-static-libruby.patch
91
+ - build/patches/rake-compiler-1.2.9/0005-build-miniruby-first.patch
91
92
  - build/rcd-env.sh
92
93
  - build/runas
93
94
  - build/sigfw.c