| Age | Commit message (Collapse) | Author |
|
https://github.com/rubygems/rubygems/commit/b58829a868
|
|
The "ignore" attribute is a RubyGems thing to mark when a installed gem
should be ignored for activation because its extensions are not properly
compiled.
In the case of gems from path sources, the warning is not accurate
because extensions are compiled into the local lib path, which is not
where RubyGems leaves its sentinel `gem.build_complete` file.
Also, there's a single version of each gem in the path source available
to Bundler, so we always certainly want to consider that for activation
and never makes sense to ignore it.
https://github.com/rubygems/rubygems/commit/ec5d33695e
|
|
This will help centralize wheel platform selection logic eventually
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
|
|
of x64-mingw-ucrt
https://github.com/rubygems/rubygems/commit/71c969be44
|
|
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
https://github.com/rubygems/rubygems/commit/24c8073b24
|
|
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
https://github.com/rubygems/rubygems/commit/9336d3811c
|
|
Ruby 3.1 was EOL March 2025
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
https://github.com/rubygems/rubygems/commit/29c21b1e78
|
|
mutable dependencies array
That restores support for compact index dummy implementations that only lists
versions, without checksums or dependencies.
This format is undocumented, so we may want to get rid of it in the
future. However, some of our tests rely on it, and some implementations
did use it (gems.mutant.dev at least). And the way the code was written
suggest that support was intentional.
So for now, we should restore it.
https://github.com/rubygems/rubygems/commit/0427d8c983
|
|
with checksums
https://github.com/rubygems/rubygems/commit/8e2c5748d9
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
Unfortunately this requires reverting a previous enhancement of
reinstalling gems if they incorrectly ship with an empty installation
dir.
However, there's no way to distinguish this kind of bad state from a gem
that's empty for real, for example, sorbet-static-and-runtime.
This reverts commit https://github.com/rubygems/rubygems/commit/9720a9b980d2, and adds a
spec to make sure empty gems are not reinstalled every time.
https://github.com/rubygems/rubygems/commit/7c102394af
|
|
https://github.com/rubygems/rubygems/commit/9720a9b980
|
|
The previous wording was too specific, there may be situations when the
gem has actually never installed (so never deleted either).
https://github.com/rubygems/rubygems/commit/e4a0d71fbe
|
|
https://github.com/rubygems/rubygems/commit/96496e3f53
Co-authored-by: Johnny Shields <johnny.shields@gmail.com>
|
|
We need to move platform monkeypatching to happen earlier because
otherwise `Bundler::GemHelpers` will use the constants before they have
actually been defined.
https://github.com/rubygems/rubygems/commit/086c3438dc
|
|
Our CI did not catch this because it was testing with Ruby 3.1 patch
levels that include a RubyGems version that already has
`Gem::Uri.redact`.
We should make sure the system-rubygems workflow always tests against
the oldest supportted Ruby/RubyGems combination.
https://github.com/rubygems/rubygems/commit/3b695e3be1
|
|
https://github.com/rubygems/rubygems/commit/23d06195fa
|
|
https://github.com/rubygems/rubygems/commit/bc2537de71
|
|
set source
https://github.com/rubygems/rubygems/commit/3749273ec6
|
|
https://github.com/rubygems/rubygems/commit/ffd2fbaf6c
|
|
https://github.com/rubygems/rubygems/commit/d478ec403f
|
|
https://github.com/rubygems/rubygems/commit/264c61eb8e
|
|
We fixed some issues recently where Bundler would try to activate a
pysch spec with missing extensions and crash. However, as a side effect,
we started printing warnings about missing extensions in situations
where we did not warn before.
It may be interesting to warn on these new situations too, but in order
to minimize changes for now, I'm reverting to printing warnings in the
same situations as before.
https://github.com/rubygems/rubygems/commit/51ebff6982
|
|
NFS shares seem to support flock these days, but they need read-write
permissions.
https://github.com/rubygems/rubygems/commit/1c492804cd
|
|
https://github.com/rubygems/rubygems/commit/c80998a22a
|
|
for some reason
https://github.com/rubygems/rubygems/commit/f8f589b1b8
|
|
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
https://github.com/rubygems/rubygems/commit/085bafd8d4
|
|
https://github.com/rubygems/rubygems/commit/7cf2fdcfa1
|
|
https://github.com/rubygems/rubygems/commit/edbb2e3475
|
|
match
https://github.com/rubygems/rubygems/commit/174a8e5284
|
|
has extensions and `gemspec` DSL is being used
In a `bundle exec` context, the local specification will actually be
part of the known specifications, so RubyGems will assume it has already
been installed, which is not actually true.
This will cause `RequestSet` to rebuild extensions for a gem that's not
actually installed, causing errors.
The fix is to make sure detection of installed activation requests
considers not only that there's a known spec with the same full name as
the one being installed, but also that this spec is installed in the
same gem_home were pretend to install the new gem.
https://github.com/rubygems/rubygems/commit/a8ef1286a6
|
|
When resolving on truffleruby, and multiple platforms are included in
the lockfile, Bundler will not respect existing platforms, but always
force ruby variants. That means removal of existing version specific
variants, introducing lockfile churn between implementations.
To prevent this, we introduce the distinction between
`Dependency#force_ruby_platform`, only settable via Gemfile, and
`Dependency#default_force_ruby_platform`, which is always true on
truffleruby for certain dependency names. This way, when resolving
lockfile gems for other platforms on truffleruby, we keep platform
specific variants in the lockfile.
However, that introduces the problem that if only platform specific
variants are locked in the lockfile, Bundler won't be able to
materialize on truffleruby because the generic variant will be missing.
To fix this additional problem, we make sure the generic "ruby" platform
is always added when resolving on truffleruby.
|
|
This ensures that instance variable ordering cannot cause non-determinism in serialized gems
https://github.com/rubygems/rubygems/commit/0e912704f7
|
|
It was not properly being detected as an Array attribute, and thus not
properly validated.
Fixing this allows us to remove a strange `rescue` clause in Bundler.
https://github.com/rubygems/rubygems/commit/4121a32408
|
|
versions too
https://github.com/rubygems/rubygems/commit/b3cdccc6fb
|
|
This RubyGems feature is being released as 3.5.15, so we can stop
monkeypatching RubyGems once support for the previous version is
dropped.
https://github.com/rubygems/rubygems/commit/36f146840d
|
|
https://github.com/rubygems/rubygems/commit/b07e46820d
|
|
https://github.com/rubygems/rubygems/commit/14c4c16e96
|
|
This method validates only what is required for resolution, skipping any
irrelevant metadata validation. This will be used by Bundler instead of
doing a full validation, allowing gem authors to use `bundle` commands
immediately in newly created gems without first having to fix invalid
metafata fields in the default gemspec.
https://github.com/rubygems/rubygems/commit/da7704cfc0
|
|
https://github.com/rubygems/rubygems/commit/5d03a346ab
|
|
https://github.com/rubygems/rubygems/commit/de4650f629
|
|
https://github.com/rubygems/rubygems/commit/8c8aaecc48
|
|
https://github.com/rubygems/rubygems/commit/07022e3f2f
|
|
https://github.com/rubygems/rubygems/commit/924f87c8a9
|
|
https://github.com/rubygems/rubygems/commit/2361527c45
|
|
https://github.com/rubygems/rubygems/commit/e75cca9496
|
|
https://github.com/rubygems/rubygems/commit/7cc647c8f3
|
|
https://github.com/rubygems/rubygems/commit/1139e90931
|
|
|
|
https://github.com/rubygems/rubygems/commit/4016c6c024
|
|
https://github.com/rubygems/rubygems/commit/f63ce682d2
|