[rubygems/rubygems] Vendor tsort into rubygems

So that it loads a consistent version of the library and `rubygems` is
never affected by gem activation conflicts related to `tsort`.

Getting CI green required updating one `bundler` spec, because `tsort`
is no longer loaded by `bundle clean` until after `BUNDLE_PATH` has been
changed, so to ensure it is found, it needs to be installed under
`BUNDLE_PATH` as well (which will be different from the global system
path on Bundler 3, meaning installing `tsort` to the global system path
is not enough there). This spec workaround can be removed once we also
vendor `tsort` inside `bundler`.

d326880999
This commit is contained in:
Frederik Dudzik 2021-10-21 12:23:08 -07:00 committed by Hiroshi SHIBATA
parent f45af5f0a4
commit 17fb785d15
No known key found for this signature in database
GPG key ID: F9CF13417264FAC2
5 changed files with 463 additions and 6 deletions

View file

@ -5,7 +5,7 @@
# See LICENSE.txt for permissions.
#++
require 'tsort'
require_relative 'tsort'
require_relative 'deprecate'
##
@ -20,7 +20,7 @@ class Gem::DependencyList
attr_reader :specs
include Enumerable
include TSort
include Gem::TSort
##
# Allows enabling/disabling use of development dependencies