Age | Commit message (Collapse) | Author |
|
Fix paths of exts.mk to clean
exts.mk files are one level under the top of extension directories.
---
template/exts.mk.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
exts.mk.tmpl: propagate MINIRUBY to enc.mk even though invoking from
exts.mk
This is another attempt to fix out-of-src build with
--with-static-linked-ext. The first attempt was
4f1888bda70981d9f5b1bf55ab692e0ce18e79f4 but reverted because it broke
out-of-src build from pre-generated sources via `make dist`.
This patch fixes the second trans C source gen, mentioned in the
previous commit message, by passing MINIRUBY as well as when invoking
from common.mk
---
common.mk | 2 +-
template/exts.mk.tmpl | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
Do not load library files from repository only for test
What we want to test should be the bundled and to be installed files,
but not the upstream.
---
tool/test-bundled-gems.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
`Gem.unpack` extracts gems so able to execute
Creates simple bin stubs to load the extracted executable files.
After only extracted under `gems` directory, the gems are considered
installed but the executable scripts are not found.
Also the second argument is now the parent of the previous second and
third arguments.
---
common.mk | 6 ++----
defs/gmake.mk | 3 +--
tool/gem-unpack.rb | 30 +++++++++++++++++++-----------
3 files changed, 22 insertions(+), 17 deletions(-)
|
|
Create build-only gemspec files only if having an extension
---
tool/gem-unpack.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Fix race conditions when cleaning extensions
Clean built directories by `make distclean`, and then clean leftover
makefiles for skipped extensions.
---
template/Makefile.in | 4 ++++
1 file changed, 4 insertions(+)
|
|
The "gems" build directory was rename as ".bundle"
---
common.mk | 12 ++++++------
template/Makefile.in | 10 +++++-----
2 files changed, 11 insertions(+), 11 deletions(-)
|
|
Retrieve previously configured macros also other than `extensions`
---
template/exts.mk.tmpl | 1 -
1 file changed, 1 deletion(-)
|
|
Move the target directory of bundled gems like as rubygems
---
ext/extmk.rb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
Retrieve configured gems info
---
template/configure-ext.mk.tmpl | 2 +-
template/exts.mk.tmpl | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
Bundled gems are expanded under `.bundle/gems` now
---
ext/extmk.rb | 13 +++++++------
template/exts.mk.tmpl | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
|
|
Remove wrong dollar
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Upgrade zlib_version on AppVeyor
They removed https://zlib.net/zlib1212.zip because
https://zlib.net/zlib1213.zip was released :thinking_face:
Fix CI failures like:
https://ci.appveyor.com/project/ruby/ruby/builds/45064876/job/bb9biogolh0u2595
---
.appveyor.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Set `GEM_PATH` environment variable in runruby.rb
---
tool/runruby.rb | 6 ++++++
1 file changed, 6 insertions(+)
|
|
Try to install also gemspec files under gem directories
Gemspec files having extension libraries are placed under each gem
directories now.
---
tool/rbinstall.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
Stop `build_extensions` when DESTDIR set
Try to fix `make install without root privilege` failures on snapshot CIs.
example: https://github.com/ruby/actions/actions/runs/2315349280
---
tool/rbinstall.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
rbinstall: Also do `Gem.ruby` patching for unpacked bundled gems
Pointing `Gem.ruby` to the newly installed ruby gives mkmf the right
inputs to build extensions in bundled gems. Previously, this patching
was only done for compressed bundled gems.
This patch also prevents `tool/fake.rb` from propagating to the child
process running mkmf for the native extension. The way `tool/fake.rb`
changes mkmf variables using `Kernel#trace_var` created spooky action at
a distance which made debugging difficult.
AppVeyor Windows CI started to fail starting with
8a3663789c52ec5635194656af6b69d3d03120ee because it enabled extension
building for bundled gems on mswin. This patch should address the CI
failures.
---
tool/rbinstall.rb | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
Fix bundled gems installation when relative loading
---
tool/rbinstall.rb | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
|
|
Skip build extensions again on cross compiling too
---
tool/rbinstall.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Skip build extensions again on mswin and mingw
---
tool/rbinstall.rb | 3 +++
1 file changed, 3 insertions(+)
|
|
Enabled to build extensions with the bundled gems again
https://github.com/ruby/ruby/commit/cbb115213c42f15638ef119eb20c4d3106eb8b1a
https://github.com/ruby/ruby/commit/5c1b76a3a55afeb07116bbd3492303c6b6cd890d
---
tool/rbinstall.rb | 3 ---
1 file changed, 3 deletions(-)
|
|
Install built gem extension binaries
---
tool/rbinstall.rb | 56 ++++++++++++++++---------------------------------------
1 file changed, 16 insertions(+), 40 deletions(-)
|
|
Install gems `lib` directory to build path
---
ext/extmk.rb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
|
|
Make dependency-free gemspec files
The default gems have not been installed yet in the build directory,
bundled gems depending on them can not work. As those dependencies
should be usable there even without rubygems, make temporary gemspec
files without the dependencies, and use them in the build directory.
---
ext/extmk.rb | 11 +++++++++++
tool/gem-unpack.rb | 4 ++++
2 files changed, 15 insertions(+)
|
|
Extract gemspec files to each gem directories
Since extension libraries can not be built in the source directory,
rubygems warns gems have extension libraries as the extensions are not
built. To order to suppress this warnings, extract such gemspec files
under each gem directories instead of the common `specifications`
directory.
---
tool/gem-unpack.rb | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
Obey spec file locations to rubygems
---
common.mk | 3 ++-
defs/gmake.mk | 2 +-
tool/gem-unpack.rb | 5 +++--
3 files changed, 6 insertions(+), 4 deletions(-)
|
|
Use `File::PATH_SEPARATOR` for the portability
---
tool/test-bundled-gems.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
[Bug #19038] Fix corruption of generic_iv_tbl when compacting
When the generic_iv_tbl is resized up, rebuild_table performs
allocations that can trigger GC. If autocompaction is enabled, then
moved objects are removed from and inserted into the generic_iv_tbl.
This may cause another call to rebuild_table to resize the
generic_iv_tbl. When returning back to the original rebuild_table, some
of the data may be stale, causing the generic_iv_tbl to be corrupted.
This commit changes rebuild_table to only read data from the st_table
after the allocations have completed.
Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>
---
st.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
|
|
fake.rb: Set prefix to `$topdir`
Not to refer outside the top build directory from rbconfig.
---
tool/fake.rb | 1 +
1 file changed, 1 insertion(+)
|
|
This reverts commit bda0b8c09331111f38af98291c201595ce3a2872.
|
|
|
|
|
|
|
|
|
|
Disable parallel built in test-bundled-gems
---
common.mk | 2 +-
tool/test-bundled-gems.rb | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
|
|
Mark struct METHOD->owner for the GC
* Fixes https://github.com/ruby/ruby/commit/6b7d32a5e5
* See [Bug #18729]
---
proc.c | 2 ++
1 file changed, 2 insertions(+)
|
|
|
|
* https://github.com/ruby/spec/pull/939
* https://github.com/ruby/ruby/pull/6393
|
|
|
|
Since macOS 13, CFString family API used in
`rb_str_append_normalized_ospath` may internally use Objective-C classes
(`NSTaggedPointerString` and `NSPlaceholderMutableString`) for small strings.
On the other hand, Objective-C classes should not be used for the first
time in a `fork()`'ed but not `exec()`'ed process. Violations for this rule
can result deadlock during class initialization, so Objective-C runtime
conservatively crashes on such cases by default.
Therefore, we need to use CFString API to initialize Objective-C classes
used internally *before* `fork()`.
For more details, see https://bugs.ruby-lang.org/issues/18912
|
|
The warning against `-undefined dynamic_lookup` is just a warning yet,
and many gems seem to pay no attention to warnings. Until it fails
actually, keep it as a migration path, except for standard extension
libraries and bundled extension gems.
|
|
|
|
94cea3e4d0a60326bd95be762819eed8ccd59ca6,aa53d69aa21c4dfa2a78a1cec5cb34e9697b3d30,6b7d32a5e54088b6b4014529bbf2b4b8c1a96029,c6319026caa6c8f0f569f80011e8502349a04b14,aa490f9442c32cd0e1e449ac817f410bd5924c8b: [Backport #18435]
Fix {Method,UnboundMethod}#super_method for zsuper methods
* We need to resolve the zsuper method first, and then look the super
method of that.
---
proc.c | 25 ++++++++++++-----------
spec/ruby/core/method/super_method_spec.rb | 15 +++-----------
spec/ruby/core/unboundmethod/super_method_spec.rb | 16 ++++++---------
3 files changed, 22 insertions(+), 34 deletions(-)
Add specs for {Method,UnboundMethod}#owner of a zsuper method
---
spec/ruby/core/method/owner_spec.rb | 6 ++++++
spec/ruby/core/unboundmethod/owner_spec.rb | 7 +++++++
2 files changed, 13 insertions(+)
Resolve zsuper method during lookup but preserve owner separately
* See https://bugs.ruby-lang.org/issues/18729#note-34
* See [Bug #18729]
---
proc.c | 109 +++++++++++++++++++++++++----------------------
test/ruby/test_method.rb | 66 +++++++++++++++++++++++-----
2 files changed, 114 insertions(+), 61 deletions(-)
Extend tests for a zsuper method of which the method it resolved to
has been removed
---
test/ruby/test_method.rb | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17f
* So it's easy to review https://github.com/ruby/ruby/pull/6242 +
https://github.com/ruby/ruby/pull/6467 and there are less changes
overall.
---
proc.c | 76 ++++++++++++++++++------------------------------
test/ruby/test_method.rb | 7 +++--
2 files changed, 34 insertions(+), 49 deletions(-)
|
|
Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
|
|
e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1: [Backport #19014]
configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
---
configure.ac | 97 +++++++++++++++++++++++++++---------------------------------
1 file changed, 43 insertions(+), 54 deletions(-)
configure.ac: Add --with-gmp-dir (#6366)
Add the `--with-gmp-dir` to specify the prefix directory of GMP.
The`--without-gmp` option is preserved for convenience. It can
be used to force to reject using GMP even if the `--with-gmp-dir`
option is specified.
---
configure.ac | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
configure.ac: Apply suggestions from code review in #6366
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create
a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7
---
lib/fileutils.rb | 2 +-
test/fileutils/test_fileutils.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
Return `false` where sticky-bit is not provided [Bug #18734]
---
file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[Win32] Fix mode of character/pipe device stat [Bug #18732]
---
test/ruby/test_file_exhaustive.rb | 33 ++++++++++++++++++++++++++++-----
win32/win32.c | 22 ++++++++++++++++------
2 files changed, 44 insertions(+), 11 deletions(-)
|