vagrant: 2.2.14 -> 2.2.15

ChangeLog: https://github.com/hashicorp/vagrant/blob/v2.2.15/CHANGELOG.md#2215-march-30-2021

Also had to revert a change which improved plugin-errors a bit since it
changed the dependency resolution in a way that broke `vagrant-libvirt`
from `$out/vagrant-plugins/plugins.d`.

+394 -51
+342
pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
··· 1 + From dc7156d8951242231cfd9142b3d5628815dc6589 Mon Sep 17 00:00:00 2001 2 + From: Maximilian Bosch <maximilian@mbosch.me> 3 + Date: Wed, 31 Mar 2021 14:30:01 +0200 4 + Subject: [PATCH] Revert "Merge pull request #12225 from 5 + chrisroberts/resolution-isolation" 6 + 7 + This reverts commit 8a69d0c4dae035a4b1aa789bc4ec3db69c210df2, reversing 8 + changes made to 5dd0a8c8acc36b654c13a5102e4327eedf1858f2. 9 + 10 + ----- 11 + 12 + Rationale: NixOS-specific patch. The changes in here break our current 13 + implementation of declarative plugins (only `vagrant-libvirt` atm). 14 + --- 15 + bin/vagrant | 28 +-------------- 16 + lib/vagrant.rb | 2 +- 17 + lib/vagrant/bundler.rb | 17 +++------ 18 + lib/vagrant/errors.rb | 12 ------- 19 + lib/vagrant/plugin/manager.rb | 22 ++---------- 20 + templates/locales/en.yml | 23 ++---------- 21 + test/unit/bin/vagrant_test.rb | 1 - 22 + test/unit/vagrant/bundler_test.rb | 58 ++++++++++++++----------------- 23 + 8 files changed, 39 insertions(+), 124 deletions(-) 24 + 25 + diff --git a/bin/vagrant b/bin/vagrant 26 + index c019f30ff..ba7e40076 100755 27 + --- a/bin/vagrant 28 + +++ b/bin/vagrant 29 + @@ -23,9 +23,9 @@ if idx = argv.index("--") 30 + argv = argv.slice(0, idx) 31 + end 32 + 33 + -require_relative "../lib/vagrant/version" 34 + # Fast path the version of Vagrant 35 + if argv.include?("-v") || argv.include?("--version") 36 + + require_relative "../lib/vagrant/version" 37 + puts "Vagrant #{Vagrant::VERSION}" 38 + exit 0 39 + end 40 + @@ -82,29 +82,6 @@ end 41 + $stdout.sync = true 42 + $stderr.sync = true 43 + 44 + -# Before we start activate all our dependencies 45 + -# so we can provide correct resolutions later 46 + -builtin_specs = [] 47 + - 48 + -vagrant_spec = Gem::Specification.find_all_by_name("vagrant").detect do |spec| 49 + - spec.version == Gem::Version.new(Vagrant::VERSION) 50 + -end 51 + - 52 + -dep_activator = proc do |spec| 53 + - spec.runtime_dependencies.each do |dep| 54 + - gem(dep.name, *dep.requirement.as_list) 55 + - dep_spec = Gem::Specification.find_all_by_name(dep.name).detect(&:activated?) 56 + - if dep_spec 57 + - builtin_specs << dep_spec 58 + - dep_activator.call(dep_spec) 59 + - end 60 + - end 61 + -end 62 + - 63 + -if vagrant_spec 64 + - dep_activator.call(vagrant_spec) 65 + -end 66 + - 67 + env = nil 68 + begin 69 + require 'log4r' 70 + @@ -114,9 +91,6 @@ begin 71 + require 'vagrant/util/platform' 72 + require 'vagrant/util/experimental' 73 + 74 + - # Set our list of builtin specs 75 + - Vagrant::Bundler.instance.builtin_specs = builtin_specs 76 + - 77 + # Schedule the cleanup of things 78 + at_exit(&Vagrant::Bundler.instance.method(:deinit)) 79 + 80 + diff --git a/lib/vagrant.rb b/lib/vagrant.rb 81 + index f3dcba0bc..d696bdff8 100644 82 + --- a/lib/vagrant.rb 83 + +++ b/lib/vagrant.rb 84 + @@ -81,7 +81,7 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != "" 85 + # See https://github.com/rest-client/rest-client/issues/34#issuecomment-290858 86 + # for more information 87 + class VagrantLogger < Log4r::Logger 88 + - def << msg 89 + + def << (msg) 90 + debug(msg.strip) 91 + end 92 + end 93 + diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb 94 + index eb2caabb0..d75f54362 100644 95 + --- a/lib/vagrant/bundler.rb 96 + +++ b/lib/vagrant/bundler.rb 97 + @@ -189,11 +189,8 @@ module Vagrant 98 + attr_reader :env_plugin_gem_path 99 + # @return [Pathname] Vagrant environment data path 100 + attr_reader :environment_data_path 101 + - # @return [Array<Gem::Specification>, nil] List of builtin specs 102 + - attr_accessor :builtin_specs 103 + 104 + def initialize 105 + - @builtin_specs = [] 106 + @plugin_gem_path = Vagrant.user_data_path.join("gems", RUBY_VERSION).freeze 107 + @logger = Log4r::Logger.new("vagrant::bundler") 108 + end 109 + @@ -290,6 +287,7 @@ module Vagrant 110 + # Never allow dependencies to be remotely satisfied during init 111 + request_set.remote = false 112 + 113 + + repair_result = nil 114 + begin 115 + @logger.debug("resolving solution from available specification set") 116 + # Resolve the request set to ensure proper activation order 117 + @@ -652,6 +650,7 @@ module Vagrant 118 + self_spec.activate 119 + @logger.info("Activated vagrant specification version - #{self_spec.version}") 120 + end 121 + + self_spec.runtime_dependencies.each { |d| gem d.name, *d.requirement.as_list } 122 + # discover all the gems we have available 123 + list = {} 124 + if Gem.respond_to?(:default_specifications_dir) 125 + @@ -660,16 +659,10 @@ module Vagrant 126 + spec_dir = Gem::Specification.default_specifications_dir 127 + end 128 + directories = [spec_dir] 129 + - if Vagrant.in_bundler? 130 + - Gem::Specification.find_all{true}.each do |spec| 131 + - list[spec.full_name] = spec 132 + - end 133 + - else 134 + - builtin_specs.each do |spec| 135 + - list[spec.full_name] = spec 136 + - end 137 + + Gem::Specification.find_all{true}.each do |spec| 138 + + list[spec.full_name] = spec 139 + end 140 + - if Vagrant.in_installer? 141 + + if(!Object.const_defined?(:Bundler)) 142 + directories += Gem::Specification.dirs.find_all do |path| 143 + !path.start_with?(Gem.user_dir) 144 + end 145 + diff --git a/lib/vagrant/errors.rb b/lib/vagrant/errors.rb 146 + index 5cb861c06..782615bc4 100644 147 + --- a/lib/vagrant/errors.rb 148 + +++ b/lib/vagrant/errors.rb 149 + @@ -636,18 +636,6 @@ module Vagrant 150 + error_key(:provisioner_winrm_unsupported) 151 + end 152 + 153 + - class PluginNeedsDeveloperTools < VagrantError 154 + - error_key(:plugin_needs_developer_tools) 155 + - end 156 + - 157 + - class PluginMissingLibrary < VagrantError 158 + - error_key(:plugin_missing_library) 159 + - end 160 + - 161 + - class PluginMissingRubyDev < VagrantError 162 + - error_key(:plugin_missing_ruby_dev) 163 + - end 164 + - 165 + class PluginGemNotFound < VagrantError 166 + error_key(:plugin_gem_not_found) 167 + end 168 + diff --git a/lib/vagrant/plugin/manager.rb b/lib/vagrant/plugin/manager.rb 169 + index b73f07f9c..9058e68b3 100644 170 + --- a/lib/vagrant/plugin/manager.rb 171 + +++ b/lib/vagrant/plugin/manager.rb 172 + @@ -179,26 +179,8 @@ module Vagrant 173 + result 174 + rescue Gem::GemNotFoundException 175 + raise Errors::PluginGemNotFound, name: name 176 + - rescue Gem::Exception => err 177 + - @logger.warn("Failed to install plugin: #{err}") 178 + - @logger.debug("#{err.class}: #{err}\n#{err.backtrace.join("\n")}") 179 + - # Try and determine a cause for the failure 180 + - case err.message 181 + - when /install development tools first/ 182 + - raise Errors::PluginNeedsDeveloperTools 183 + - when /library not found in default locations/ 184 + - lib = err.message.match(/(\w+) library not found in default locations/) 185 + - if lib.nil? 186 + - raise Errors::BundlerError, message: err.message 187 + - end 188 + - raise Errors::PluginMissingLibrary, 189 + - library: lib.captures.first, 190 + - name: name 191 + - when /find header files for ruby/ 192 + - raise Errors::PluginMissingRubyDev 193 + - else 194 + - raise Errors::BundlerError, message: err.message 195 + - end 196 + + rescue Gem::Exception => e 197 + + raise Errors::BundlerError, message: e.to_s 198 + end 199 + 200 + # Uninstalls the plugin with the given name. 201 + diff --git a/templates/locales/en.yml b/templates/locales/en.yml 202 + index edae9b477..782904f49 100644 203 + --- a/templates/locales/en.yml 204 + +++ b/templates/locales/en.yml 205 + @@ -794,9 +794,9 @@ en: 206 + matching this provider. For example, if you're using VirtualBox, 207 + the clone environment must also be using VirtualBox. 208 + cloud_init_not_found: |- 209 + - cloud-init is not found. Please ensure that cloud-init is installed and 210 + + cloud-init is not found. Please ensure that cloud-init is installed and 211 + available on path for guest '%{guest_name}'. 212 + - cloud_init_command_failed: |- 213 + + cloud_init_command_failed: |- 214 + cloud init command '%{cmd}' failed on guest '%{guest_name}'. 215 + command_deprecated: |- 216 + The command 'vagrant %{name}' has been deprecated and is no longer functional 217 + @@ -1238,23 +1238,6 @@ en: 218 + following command: 219 + 220 + vagrant plugin install --local 221 + - plugin_needs_developer_tools: |- 222 + - Vagrant failed to install the requested plugin because development tools 223 + - are required for installation but are not currently installed on this 224 + - machine. Please install development tools and then try this command 225 + - again. 226 + - plugin_missing_library: |- 227 + - Vagrant failed to install the requested plugin because it depends 228 + - on a library which is not currently installed on this system. The 229 + - following library is required by the '%{name}' plugin: 230 + - 231 + - %{library} 232 + - 233 + - Please install the library and then run the command again. 234 + - plugin_missing_ruby_dev: |- 235 + - Vagrant failed to install the requested plugin because the Ruby header 236 + - files could not be found. Install the ruby development package for your 237 + - system and then run this command again. 238 + powershell_not_found: |- 239 + Failed to locate the powershell executable on the available PATH. Please 240 + ensure powershell is installed and available on the local PATH, then 241 + @@ -3015,7 +2998,7 @@ en: 242 + pushes: 243 + file: 244 + no_destination: "File destination must be specified." 245 + - 246 + + 247 + autocomplete: 248 + installed: |- 249 + Autocomplete installed at paths: 250 + diff --git a/test/unit/bin/vagrant_test.rb b/test/unit/bin/vagrant_test.rb 251 + index dbbd52112..bc11309aa 100644 252 + --- a/test/unit/bin/vagrant_test.rb 253 + +++ b/test/unit/bin/vagrant_test.rb 254 + @@ -30,7 +30,6 @@ describe "vagrant bin" do 255 + allow(Kernel).to receive(:exit) 256 + allow(Vagrant::Environment).to receive(:new).and_return(env) 257 + allow(Vagrant).to receive(:in_installer?).and_return(true) 258 + - allow(self).to receive(:require_relative) 259 + end 260 + 261 + after { expect(run_vagrant).to eq(exit_code) } 262 + diff --git a/test/unit/vagrant/bundler_test.rb b/test/unit/vagrant/bundler_test.rb 263 + index 69f425c66..00cedc021 100644 264 + --- a/test/unit/vagrant/bundler_test.rb 265 + +++ b/test/unit/vagrant/bundler_test.rb 266 + @@ -778,46 +778,42 @@ describe Vagrant::Bundler do 267 + end 268 + end 269 + 270 + - context "when bundler is not defined" do 271 + - before { expect(Vagrant).to receive(:in_bundler?).and_return(false) } 272 + + context "when run time dependencies are defined" do 273 + + let(:vagrant_dep_specs) { [double("spec", name: "vagrant-dep", requirement: double("spec-req", as_list: []))] } 274 + 275 + - context "when running inside the installer" do 276 + - before { expect(Vagrant).to receive(:in_installer?).and_return(true) } 277 + + it "should call #gem to activate the dependencies" do 278 + + expect(subject).to receive(:gem).with("vagrant-dep", any_args) 279 + + subject.send(:vagrant_internal_specs) 280 + + end 281 + + end 282 + 283 + - it "should load gem specification directories" do 284 + - expect(Gem::Specification).to receive(:dirs).and_return(spec_dirs) 285 + - subject.send(:vagrant_internal_specs) 286 + - end 287 + + context "when bundler is not defined" do 288 + + before { expect(Object).to receive(:const_defined?).with(:Bundler).and_return(false) } 289 + 290 + - context "when checking paths" do 291 + - let(:spec_dirs) { [double("spec-dir", start_with?: in_user_dir)] } 292 + - let(:in_user_dir) { true } 293 + - let(:user_dir) { double("user-dir") } 294 + + it "should load gem specification directories" do 295 + + expect(Gem::Specification).to receive(:dirs).and_return(spec_dirs) 296 + + subject.send(:vagrant_internal_specs) 297 + + end 298 + 299 + - before { allow(Gem).to receive(:user_dir).and_return(user_dir) } 300 + + context "when checking paths" do 301 + + let(:spec_dirs) { [double("spec-dir", start_with?: in_user_dir)] } 302 + + let(:in_user_dir) { true } 303 + + let(:user_dir) { double("user-dir") } 304 + 305 + - it "should check if path is within local user directory" do 306 + - expect(spec_dirs.first).to receive(:start_with?).with(user_dir).and_return(false) 307 + - subject.send(:vagrant_internal_specs) 308 + - end 309 + - 310 + - context "when path is not within user directory" do 311 + - let(:in_user_dir) { false } 312 + + before { allow(Gem).to receive(:user_dir).and_return(user_dir) } 313 + 314 + - it "should use path when loading specs" do 315 + - expect(Gem::Specification).to receive(:each_spec) { |arg| expect(arg).to include(spec_dirs.first) } 316 + - subject.send(:vagrant_internal_specs) 317 + - end 318 + - end 319 + + it "should check if path is within local user directory" do 320 + + expect(spec_dirs.first).to receive(:start_with?).with(user_dir).and_return(false) 321 + + subject.send(:vagrant_internal_specs) 322 + end 323 + - end 324 + 325 + - context "when running outside the installer" do 326 + - before { expect(Vagrant).to receive(:in_installer?).and_return(false) } 327 + + context "when path is not within user directory" do 328 + + let(:in_user_dir) { false } 329 + 330 + - it "should not load gem specification directories" do 331 + - expect(Gem::Specification).not_to receive(:dirs) 332 + - subject.send(:vagrant_internal_specs) 333 + + it "should use path when loading specs" do 334 + + expect(Gem::Specification).to receive(:each_spec) { |arg| expect(arg).to include(spec_dirs.first) } 335 + + subject.send(:vagrant_internal_specs) 336 + + end 337 + end 338 + end 339 + end 340 + -- 341 + 2.29.3 342 +
+3 -2
pkgs/development/tools/vagrant/default.nix
··· 5 5 let 6 6 # NOTE: bumping the version and updating the hash is insufficient; 7 7 # you must use bundix to generate a new gemset.nix in the Vagrant source. 8 - version = "2.2.14"; 8 + version = "2.2.15"; 9 9 url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz"; 10 - sha256 = "sha256-vsb7RFjT9l4N6BzwIvVLcRtA4n/c8jk20B6RUMkyhJs="; 10 + sha256 = "sha256-mMnHJtXLfkZ5O0UF89kHsqBnPg9uQ5l8IYoL5TMMyD8="; 11 11 12 12 deps = bundlerEnv rec { 13 13 name = "${pname}-${version}"; ··· 54 54 ./unofficial-installation-nowarn.patch 55 55 ./use-system-bundler-version.patch 56 56 ./0004-Support-system-installed-plugins.patch 57 + ./0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch 57 58 ]; 58 59 59 60 postPatch = ''
+24 -34
pkgs/development/tools/vagrant/gemset.nix
··· 4 4 platforms = []; 5 5 source = { 6 6 remotes = ["https://rubygems.org"]; 7 - sha256 = "02vssr285m7kpsr47jdmzbar1h1d0mnkmyrpr1zg828isfmwii35"; 7 + sha256 = "0ndamfaivnkhc6hy0yqyk2gkwr6f3bz6216lh74hsiiyk3axz445"; 8 8 type = "gem"; 9 9 }; 10 - version = "1.0.1"; 10 + version = "1.1.0"; 11 11 }; 12 12 builder = { 13 13 groups = ["default"]; ··· 34 34 platforms = []; 35 35 source = { 36 36 remotes = ["https://rubygems.org"]; 37 - sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; 37 + sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3"; 38 38 type = "gem"; 39 39 }; 40 - version = "1.1.7"; 40 + version = "1.1.8"; 41 41 }; 42 42 ed25519 = { 43 43 groups = ["default"]; ··· 64 64 platforms = []; 65 65 source = { 66 66 remotes = ["https://rubygems.org"]; 67 - sha256 = "1hi89v53pm2abfv9j8lgqdd7hgkr7fr0gwrczr940iwbb3xv7rrs"; 67 + sha256 = "1759s0rz6qgsw86dds1z4jzb3fvizqsk11j5q6z7lc5n404w6i23"; 68 68 type = "gem"; 69 69 }; 70 - version = "0.78.0"; 70 + version = "0.79.0"; 71 71 }; 72 72 ffi = { 73 73 groups = ["default"]; 74 74 platforms = []; 75 75 source = { 76 76 remotes = ["https://rubygems.org"]; 77 - sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af"; 77 + sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432"; 78 78 type = "gem"; 79 79 }; 80 - version = "1.13.1"; 80 + version = "1.15.0"; 81 81 }; 82 82 gssapi = { 83 83 dependencies = ["ffi"]; ··· 85 85 platforms = []; 86 86 source = { 87 87 remotes = ["https://rubygems.org"]; 88 - sha256 = "13l6pqbfrx3vv7cw26nq9p8rnyp9br31gaz85q32wx6hnzfcriwh"; 88 + sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765"; 89 89 type = "gem"; 90 90 }; 91 - version = "1.3.0"; 91 + version = "1.3.1"; 92 92 }; 93 93 gyoku = { 94 94 dependencies = ["builder"]; ··· 127 127 platforms = []; 128 128 source = { 129 129 remotes = ["https://rubygems.org"]; 130 - sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; 130 + sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; 131 131 type = "gem"; 132 132 }; 133 - version = "1.8.5"; 133 + version = "1.8.10"; 134 134 }; 135 135 listen = { 136 136 dependencies = ["rb-fsevent" "rb-inotify"]; ··· 138 138 platforms = []; 139 139 source = { 140 140 remotes = ["https://rubygems.org"]; 141 - sha256 = "0028p1fss6pvw4mlpjqdmxfzsm8ww79irsadbibrr7f23qfn8ykr"; 141 + sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj"; 142 142 type = "gem"; 143 143 }; 144 - version = "3.3.1"; 144 + version = "3.5.1"; 145 145 }; 146 146 little-plugger = { 147 147 groups = ["default"]; ··· 190 190 platforms = []; 191 191 source = { 192 192 remotes = ["https://rubygems.org"]; 193 - sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag"; 193 + sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi"; 194 194 type = "gem"; 195 195 }; 196 - version = "3.2020.1104"; 196 + version = "3.2021.0225"; 197 197 }; 198 198 multi_json = { 199 199 groups = ["default"]; ··· 232 232 platforms = []; 233 233 source = { 234 234 remotes = ["https://rubygems.org"]; 235 - sha256 = "1hlyp6z3ffwdcnzq9khrkz6waxggn4hnzsczbp3mz61lhx4qiri3"; 235 + sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9"; 236 236 type = "gem"; 237 237 }; 238 - version = "6.2.0.rc1"; 238 + version = "6.1.0"; 239 239 }; 240 240 nori = { 241 241 groups = ["default"]; ··· 279 279 }; 280 280 version = "0.2.5"; 281 281 }; 282 - ruby_dep = { 283 - groups = ["default"]; 284 - platforms = []; 285 - source = { 286 - remotes = ["https://rubygems.org"]; 287 - sha256 = "0v0qznxz999lx4vs76mr590r90i0cm5m76wwvgis7sq4y21l308l"; 288 - type = "gem"; 289 - }; 290 - version = "1.3.1"; 291 - }; 292 282 rubyntlm = { 293 283 groups = ["default"]; 294 284 platforms = []; 295 285 source = { 296 286 remotes = ["https://rubygems.org"]; 297 - sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy"; 287 + sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; 298 288 type = "gem"; 299 289 }; 300 - version = "0.6.2"; 290 + version = "0.6.3"; 301 291 }; 302 292 rubyzip = { 303 293 groups = ["default"]; ··· 315 305 platforms = []; 316 306 source = { 317 307 remotes = ["https://rubygems.org"]; 318 - sha256 = "0b3b9ybd6mskfz2vffb6li2y6njdc9xqhik9c4mvzq9dchxpbxlj"; 308 + sha256 = "1rwfw014fbvaxshf8abi87srfaiirb7cr93s61qm177jm8q86h57"; 319 309 type = "gem"; 320 310 }; 321 - version = "3.0.2"; 311 + version = "3.0.4"; 322 312 }; 323 313 wdm = { 324 314 groups = ["default"]; ··· 336 326 platforms = []; 337 327 source = { 338 328 remotes = ["https://rubygems.org"]; 339 - sha256 = "0k9i86v805gpya3pyqahjykljbdwpjsrk7hsdqrl05j2rpidvk4v"; 329 + sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i"; 340 330 type = "gem"; 341 331 }; 342 - version = "2.3.5"; 332 + version = "2.3.6"; 343 333 }; 344 334 winrm-elevated = { 345 335 dependencies = ["erubi" "winrm" "winrm-fs"];
+25 -15
pkgs/development/tools/vagrant/gemset_libvirt.nix
··· 14 14 platforms = []; 15 15 source = { 16 16 remotes = ["https://rubygems.org"]; 17 - sha256 = "1hi89v53pm2abfv9j8lgqdd7hgkr7fr0gwrczr940iwbb3xv7rrs"; 17 + sha256 = "1759s0rz6qgsw86dds1z4jzb3fvizqsk11j5q6z7lc5n404w6i23"; 18 18 type = "gem"; 19 19 }; 20 - version = "0.78.0"; 20 + version = "0.79.0"; 21 21 }; 22 22 fog-core = { 23 23 dependencies = ["builder" "excon" "formatador" "mime-types"]; ··· 47 47 platforms = []; 48 48 source = { 49 49 remotes = ["https://rubygems.org"]; 50 - sha256 = "0by97bx0szdz47kdy0fqvx6j2kzy5yhrwbvvsfbh27dm9c0vfwgr"; 50 + sha256 = "1s62ihwxlwgp84xw32wg6hwcx4422v20c7g7azd0xslb91y1ln1r"; 51 51 type = "gem"; 52 52 }; 53 - version = "0.7.0"; 53 + version = "0.8.0"; 54 54 }; 55 55 fog-xml = { 56 56 dependencies = ["fog-core" "nokogiri"]; ··· 78 78 platforms = []; 79 79 source = { 80 80 remotes = ["https://rubygems.org"]; 81 - sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz"; 81 + sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; 82 82 type = "gem"; 83 83 }; 84 - version = "2.3.1"; 84 + version = "2.5.1"; 85 85 }; 86 86 mime-types = { 87 87 dependencies = ["mime-types-data"]; ··· 99 99 platforms = []; 100 100 source = { 101 101 remotes = ["https://rubygems.org"]; 102 - sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag"; 102 + sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi"; 103 103 type = "gem"; 104 104 }; 105 - version = "3.2020.1104"; 105 + version = "3.2021.0225"; 106 106 }; 107 107 mini_portile2 = { 108 108 groups = ["default"]; 109 109 platforms = []; 110 110 source = { 111 111 remotes = ["https://rubygems.org"]; 112 - sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; 112 + sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7"; 113 113 type = "gem"; 114 114 }; 115 - version = "2.4.0"; 115 + version = "2.5.0"; 116 116 }; 117 117 multi_json = { 118 118 groups = ["default"]; ··· 125 125 version = "1.15.0"; 126 126 }; 127 127 nokogiri = { 128 - dependencies = ["mini_portile2"]; 128 + dependencies = ["mini_portile2" "racc"]; 129 129 groups = ["default"]; 130 130 platforms = []; 131 131 source = { 132 132 remotes = ["https://rubygems.org"]; 133 - sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2"; 133 + sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p"; 134 134 type = "gem"; 135 135 }; 136 - version = "1.10.10"; 136 + version = "1.11.2"; 137 + }; 138 + racc = { 139 + groups = ["default"]; 140 + platforms = []; 141 + source = { 142 + remotes = ["https://rubygems.org"]; 143 + sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; 144 + type = "gem"; 145 + }; 146 + version = "1.5.2"; 137 147 }; 138 148 ruby-libvirt = { 139 149 groups = ["default"]; ··· 151 161 platforms = []; 152 162 source = { 153 163 remotes = ["https://rubygems.org"]; 154 - sha256 = "1b1m8fg1rin6ps15ykqhwz6qm7isadb83r22b733dkw2gvvj91jv"; 164 + sha256 = "07j30w23syvzrhznad9dkh1ks4lzxzi7ak2966b7i7wr4kz8x1hp"; 155 165 type = "gem"; 156 166 }; 157 - version = "0.2.1"; 167 + version = "0.4.0"; 158 168 }; 159 169 }