mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 12:05:19 -06:00
gnu: Add vagrant.
* gnu/packages/virtualization.scm (vagrant): New variable. * gnu/packages/patches/vagrant-Support-system-installed-plugins.patch, gnu/packages/patches/vagrant-Use-a-private-temporary-dir.patch gnu/packages/patches/vagrant-bin-vagrant-silence-warning-about-installer.patch: New files. * gnu/local.mk(dist_patch_DATA): Add them
This commit is contained in:
parent
db0fdc19ab
commit
c3be000890
5 changed files with 431 additions and 1 deletions
|
|
@ -2419,6 +2419,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/unzip-32bit-zipbomb-fix.patch \
|
||||
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
|
||||
%D%/packages/patches/util-linux-tests.patch \
|
||||
%D%/packages/patches/vagrant-bin-vagrant-silence-warning-about-installer.patch \
|
||||
%D%/packages/patches/vagrant-Support-system-installed-plugins.patch \
|
||||
%D%/packages/patches/vagrant-Use-a-private-temporary-dir.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
|
||||
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,172 @@
|
|||
From: Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
Date: Mon, 07 Aug 2023 18:09:09 +0200
|
||||
Subject: Support system-installed plugins
|
||||
|
||||
Plugins must be installed as regular Ruby libraries, and they must
|
||||
contain share/vagrant-plugins/plugins.d/$PLUGINNAME.json with the
|
||||
following content:
|
||||
|
||||
{
|
||||
"${PLUGINNAME}": {
|
||||
"ruby_version":"$(ruby -e 'puts RUBY_VERSION')",
|
||||
"vagrant_version":"$(cat /usr/share/vagrant/version.txt)",
|
||||
"gem_version":"",
|
||||
"require":"",
|
||||
"sources":[]
|
||||
}
|
||||
}
|
||||
|
||||
This patch was based on the respective patch from Debian, anyhow heavily
|
||||
adjusted to Guix and to support GUIX_VAGRANT_PLUGINS_PATH.
|
||||
|
||||
Orignal-Author: Antonio Terceiro <terceiro@debian.org>
|
||||
Co-authored-by: Antonio Terceiro <terceiro@debian.org>
|
||||
---
|
||||
bin/vagrant | 15 +++++++++++++++
|
||||
lib/vagrant/bundler.rb | 2 +-
|
||||
lib/vagrant/plugin/manager.rb | 4 ++--
|
||||
lib/vagrant/plugin/state_file.rb | 30 ++++++++++++++++++++++++++++--
|
||||
lib/vagrant/shared_helpers.rb | 8 ++++++++
|
||||
5 files changed, 54 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/bin/vagrant b/bin/vagrant
|
||||
index d3f4ea6..cc00efa 100755
|
||||
--- a/bin/vagrant
|
||||
+++ b/bin/vagrant
|
||||
@@ -86,6 +86,21 @@ $stderr.sync = true
|
||||
# so we can provide correct resolutions later
|
||||
builtin_specs = []
|
||||
|
||||
+# Add the gem paths of vagrant plugins to the Gem search path
|
||||
+# TODO: find a better way to add paths to the Gem search path
|
||||
+gempath = []
|
||||
+if ENV['GEM_PATH']
|
||||
+ gempath.append(ENV['GEM_PATH'])
|
||||
+end
|
||||
+ENV['GUIX_VAGRANT_PLUGINS_PATH'].split(File::PATH_SEPARATOR).each do |pluginsdir|
|
||||
+ gemdir = File.absolute_path(File.join(pluginsdir, "../../lib/ruby/vendor_ruby"))
|
||||
+ gempath.append(gemdir)
|
||||
+end
|
||||
+ENV['GEM_PATH'] = gempath.join(':')
|
||||
+gemdir = nil
|
||||
+gempath = nil
|
||||
+Gem.clear_paths() # make GEM_PATH be reevaluated
|
||||
+
|
||||
vagrant_spec = Gem::Specification.find_all_by_name("vagrant").detect do |spec|
|
||||
spec.version == Gem::Version.new(Vagrant::VERSION)
|
||||
end
|
||||
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
|
||||
index 46ef69f..27979b9 100644
|
||||
--- a/lib/vagrant/bundler.rb
|
||||
+++ b/lib/vagrant/bundler.rb
|
||||
@@ -665,7 +665,7 @@ module Vagrant
|
||||
spec_dir = Gem::Specification.default_specifications_dir
|
||||
end
|
||||
directories = [spec_dir]
|
||||
- if Vagrant.in_bundler?
|
||||
+ if Vagrant.in_bundler? || Vagrant.in_guix_package?
|
||||
Gem::Specification.find_all{true}.each do |spec|
|
||||
list[spec.full_name] = spec
|
||||
end
|
||||
diff --git a/lib/vagrant/plugin/manager.rb b/lib/vagrant/plugin/manager.rb
|
||||
index b73f07f..94cd609 100644
|
||||
--- a/lib/vagrant/plugin/manager.rb
|
||||
+++ b/lib/vagrant/plugin/manager.rb
|
||||
@@ -18,7 +18,7 @@ module Vagrant
|
||||
|
||||
# Returns the path to the [StateFile] for system plugins.
|
||||
def self.system_plugins_file
|
||||
- dir = Vagrant.installer_embedded_dir
|
||||
+ dir = nil
|
||||
return nil if !dir
|
||||
Pathname.new(dir).join("plugins.json")
|
||||
end
|
||||
@@ -38,7 +38,7 @@ module Vagrant
|
||||
|
||||
system_path = self.class.system_plugins_file
|
||||
@system_file = nil
|
||||
- @system_file = StateFile.new(system_path) if system_path && system_path.file?
|
||||
+ @system_file = StateFile.new(system_path, true) #if system_path && system_path.file?
|
||||
|
||||
@local_file = nil
|
||||
@globalized = @localized = false
|
||||
diff --git a/lib/vagrant/plugin/state_file.rb b/lib/vagrant/plugin/state_file.rb
|
||||
index c6872d4..b927fd8 100644
|
||||
--- a/lib/vagrant/plugin/state_file.rb
|
||||
+++ b/lib/vagrant/plugin/state_file.rb
|
||||
@@ -11,11 +11,17 @@ module Vagrant
|
||||
# @return [Pathname] path to file
|
||||
attr_reader :path
|
||||
|
||||
- def initialize(path)
|
||||
+ def initialize(path, system = false)
|
||||
@path = path
|
||||
+ @system = system
|
||||
|
||||
@data = {}
|
||||
- if @path.exist?
|
||||
+ if system
|
||||
+ if ENV.has_key?('GUIX_VAGRANT_PLUGINS_PATH')
|
||||
+ @data["installed"] = {}
|
||||
+ load_system_plugins
|
||||
+ end
|
||||
+ elsif @path.exist?
|
||||
begin
|
||||
@data = JSON.parse(@path.read)
|
||||
rescue JSON::ParserError => e
|
||||
@@ -30,6 +36,22 @@ module Vagrant
|
||||
@data["installed"] ||= {}
|
||||
end
|
||||
|
||||
+ def load_system_plugins
|
||||
+ ENV['GUIX_VAGRANT_PLUGINS_PATH'].split(File::PATH_SEPARATOR).each do |pluginsdir|
|
||||
+ extra_plugins = Dir.glob(File.join(pluginsdir, 'plugins.d', '*.json'))
|
||||
+ extra_plugins.each do |filename|
|
||||
+ json = File.read(filename)
|
||||
+ begin
|
||||
+ plugin_data = JSON.parse(json)
|
||||
+ @data["installed"].merge!(plugin_data)
|
||||
+ rescue JSON::ParserError => e
|
||||
+ raise Vagrant::Errors::PluginStateFileParseError,
|
||||
+ path: filename, message: e.message
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
# Add a plugin that is installed to the state file.
|
||||
#
|
||||
# @param [String] name The name of the plugin
|
||||
@@ -107,6 +129,10 @@ module Vagrant
|
||||
f.close
|
||||
FileUtils.mv(f.path, @path)
|
||||
end
|
||||
+ rescue Errno::EACCES
|
||||
+ # Ignore permission denied against system-installed plugins; regular
|
||||
+ # users are not supposed to write there.
|
||||
+ raise unless @system
|
||||
end
|
||||
|
||||
protected
|
||||
diff --git a/lib/vagrant/shared_helpers.rb b/lib/vagrant/shared_helpers.rb
|
||||
index 7b0b87c..eb9a21e 100644
|
||||
--- a/lib/vagrant/shared_helpers.rb
|
||||
+++ b/lib/vagrant/shared_helpers.rb
|
||||
@@ -43,6 +43,14 @@ module Vagrant
|
||||
!defined?(::Bundler).nil?
|
||||
end
|
||||
|
||||
+ # This returns a true/false if we are running from a Guix package
|
||||
+ #
|
||||
+ # @return [Boolean]
|
||||
+ def self.in_guix_package?
|
||||
+ # FIXME write a proper check if this ever goes upstream
|
||||
+ true
|
||||
+ end
|
||||
+
|
||||
# Returns the path to the embedded directory of the Vagrant installer,
|
||||
# if there is one (if we're running in an installer).
|
||||
#
|
||||
--
|
||||
2.30.9
|
||||
|
||||
119
gnu/packages/patches/vagrant-Use-a-private-temporary-dir.patch
Normal file
119
gnu/packages/patches/vagrant-Use-a-private-temporary-dir.patch
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
From: Antonio Terceiro <terceiro@debian.org>
|
||||
Date: Wed, 22 Oct 2014 09:40:14 -0200
|
||||
Subject: Use a private temporary directory that is cleanup up on exit
|
||||
|
||||
This avoids vagrant from cluttering $TMPDIR with dozens of even hundreds
|
||||
of temporary files (~4 per vagrant invocation).
|
||||
---
|
||||
lib/vagrant/box.rb | 3 ++-
|
||||
lib/vagrant/util.rb | 1 +
|
||||
lib/vagrant/util/caps.rb | 2 +-
|
||||
lib/vagrant/util/platform.rb | 2 +-
|
||||
lib/vagrant/util/tempfile.rb | 39 +++++++++++++++++++++++++++++++++++++++
|
||||
5 files changed, 44 insertions(+), 3 deletions(-)
|
||||
create mode 100644 lib/vagrant/util/tempfile.rb
|
||||
|
||||
diff --git a/lib/vagrant/box.rb b/lib/vagrant/box.rb
|
||||
index 90dc69d..4ee79b9 100644
|
||||
--- a/lib/vagrant/box.rb
|
||||
+++ b/lib/vagrant/box.rb
|
||||
@@ -12,6 +12,7 @@ require "vagrant/util/downloader"
|
||||
require "vagrant/util/platform"
|
||||
require "vagrant/util/safe_chdir"
|
||||
require "vagrant/util/subprocess"
|
||||
+# require "vagrant/util/tempfile"
|
||||
|
||||
module Vagrant
|
||||
# Represents a "box," which is a package Vagrant environment that is used
|
||||
@@ -153,7 +154,7 @@ module Vagrant
|
||||
# @param [Hash] download_options Options to pass to the downloader.
|
||||
# @return [BoxMetadata]
|
||||
def load_metadata(download_options={})
|
||||
- tf = Tempfile.new("vagrant-load-metadata")
|
||||
+ tf = Util::Tempfile.new("vagrant-load-metadata")
|
||||
tf.close
|
||||
|
||||
url = @metadata_url
|
||||
diff --git a/lib/vagrant/util.rb b/lib/vagrant/util.rb
|
||||
index 4b3e0ff..36eb671 100644
|
||||
--- a/lib/vagrant/util.rb
|
||||
+++ b/lib/vagrant/util.rb
|
||||
@@ -57,6 +57,7 @@ module Vagrant
|
||||
autoload :SilenceWarnings, 'vagrant/util/silence_warnings'
|
||||
autoload :SSH, 'vagrant/util/ssh'
|
||||
autoload :StackedProcRunner, 'vagrant/util/stacked_proc_runner'
|
||||
+ autoload :Tempfile, 'vagrant/util/tempfile'
|
||||
autoload :StringBlockEditor, 'vagrant/util/string_block_editor'
|
||||
autoload :Subprocess, 'vagrant/util/subprocess'
|
||||
autoload :TemplateRenderer, 'vagrant/util/template_renderer'
|
||||
diff --git a/lib/vagrant/util/caps.rb b/lib/vagrant/util/caps.rb
|
||||
index 310add3..55afc49 100644
|
||||
--- a/lib/vagrant/util/caps.rb
|
||||
+++ b/lib/vagrant/util/caps.rb
|
||||
@@ -31,7 +31,7 @@ module Vagrant
|
||||
|
||||
def ensure_output_iso(file_destination)
|
||||
if file_destination.nil?
|
||||
- tmpfile = Tempfile.new(["vagrant", ".iso"])
|
||||
+ tmpfile = Util::Tempfile.new(["vagrant", ".iso"])
|
||||
file_destination = Pathname.new(tmpfile.path)
|
||||
tmpfile.close
|
||||
tmpfile.unlink
|
||||
diff --git a/lib/vagrant/util/platform.rb b/lib/vagrant/util/platform.rb
|
||||
index c8658e1..0421c70 100644
|
||||
--- a/lib/vagrant/util/platform.rb
|
||||
+++ b/lib/vagrant/util/platform.rb
|
||||
@@ -388,7 +388,7 @@ module Vagrant
|
||||
|
||||
if wsl?
|
||||
# Mark our filesystem with a temporary file having an unique name.
|
||||
- marker = Tempfile.new(Time.now.to_i.to_s)
|
||||
+ marker = Util::Tempfile.new(Time.now.to_i.to_s)
|
||||
logger = Log4r::Logger.new("vagrant::util::platform::wsl")
|
||||
|
||||
# Check for lxrun installation first
|
||||
diff --git a/lib/vagrant/util/tempfile.rb b/lib/vagrant/util/tempfile.rb
|
||||
new file mode 100644
|
||||
index 0000000..0cbbb53
|
||||
--- /dev/null
|
||||
+++ b/lib/vagrant/util/tempfile.rb
|
||||
@@ -0,0 +1,39 @@
|
||||
+require 'fileutils'
|
||||
+require 'tmpdir'
|
||||
+
|
||||
+module Vagrant
|
||||
+ module Util
|
||||
+ class Tempfile < ::Tempfile
|
||||
+
|
||||
+ def initialize(basename)
|
||||
+ super(basename, private_tmpdir)
|
||||
+ end
|
||||
+
|
||||
+ def private_tmpdir
|
||||
+ self.class.private_tmpdir
|
||||
+ end
|
||||
+
|
||||
+ def self.private_tmpdir
|
||||
+ @private_tmpdir ||=
|
||||
+ begin
|
||||
+ user = Etc.getpwuid.name
|
||||
+ pid = Process.pid
|
||||
+ tmpdir = File.join(Dir.tmpdir, "vagrant-#{user}-#{pid}")
|
||||
+ FileUtils.mkdir_p(tmpdir)
|
||||
+ FileUtils.chmod(0700, tmpdir)
|
||||
+ tmpdir
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
+ def self.mktmpdir(prefix_suffix)
|
||||
+ Dir.mktmpdir(prefix_suffix, private_tmpdir)
|
||||
+ end
|
||||
+
|
||||
+
|
||||
+ end
|
||||
+ end
|
||||
+end
|
||||
+
|
||||
+at_exit do
|
||||
+ FileUtils.rm_rf(Vagrant::Util::Tempfile.private_tmpdir)
|
||||
+end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
From: Antonio Terceiro <terceiro@debian.org>
|
||||
Date: Sat, 11 Oct 2014 16:54:58 -0300
|
||||
Subject: bin/vagrant: silence warning about installer
|
||||
|
||||
---
|
||||
bin/vagrant | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/bin/vagrant b/bin/vagrant
|
||||
index 7ca30b3..d3f4ea6 100755
|
||||
--- a/bin/vagrant
|
||||
+++ b/bin/vagrant
|
||||
@@ -221,11 +221,6 @@ begin
|
||||
end
|
||||
end
|
||||
|
||||
- if !Vagrant.in_installer? && !Vagrant.very_quiet?
|
||||
- # If we're not in the installer, warn.
|
||||
- env.ui.warn(I18n.t("vagrant.general.not_in_installer") + "\n", prefix: false)
|
||||
- end
|
||||
-
|
||||
# Acceptable experimental flag values include:
|
||||
#
|
||||
# Unset - Disables experimental features
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
|
||||
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2023, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2023-2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
|
||||
|
|
@ -2623,6 +2623,118 @@ helpers that let you write your own unit and acceptance tests for Vagrant.")
|
|||
(home-page "https://github.com/hashicorp/vagrant-spec")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public vagrant
|
||||
(package
|
||||
(name "vagrant")
|
||||
(version "2.3.7") ;; last release under BSD-3 license
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hashicorp/vagrant")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0c674c5v70skh38lpydz8cdmcp8wgr9h7rn00rxdpgizrzbfxl82"))
|
||||
(patches (search-patches
|
||||
"vagrant-bin-vagrant-silence-warning-about-installer.patch"
|
||||
"vagrant-Support-system-installed-plugins.patch"
|
||||
"vagrant-Use-a-private-temporary-dir.patch"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; test require ruby-grpc-tools which are not packaged yet
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-gemfile
|
||||
(lambda _
|
||||
(substitute* "Gemfile"
|
||||
((", git:.*") "\n"))))
|
||||
(add-after 'unpack 'pin-executables
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((bsdtar (search-input-file inputs "/bin/bsdtar"))
|
||||
(curl (search-input-file inputs "/bin/curl"))
|
||||
(dnsmasq (search-input-file inputs "/sbin/dnsmasq"))
|
||||
(grep (search-input-file inputs "/bin/grep"))
|
||||
(modinfo (search-input-file inputs "/bin/modinfo"))
|
||||
(ps (search-input-file inputs "/bin/ps")))
|
||||
;; bsdtar
|
||||
(for-each
|
||||
(lambda (rbfile)
|
||||
(substitute* rbfile
|
||||
(("\"bsdtar\",") (string-append "\"" bsdtar "\","))))
|
||||
(find-files "lib/vagrant/" "\\.rb$"))
|
||||
;; curl
|
||||
(substitute* "lib/vagrant/util/downloader.rb"
|
||||
(("\"curl\",") (string-append "\"" curl "\",")))
|
||||
(substitute* "lib/vagrant/util/uploader.rb"
|
||||
(("\"curl\",") (string-append "\"" curl "\",")))
|
||||
(substitute* "plugins/hosts/linux/cap/nfs.rb"
|
||||
;; grep
|
||||
(("\\| grep #\\{nfs_service")
|
||||
(string-append "| " grep " #{nfs_service"))
|
||||
(("\"grep\",") (string-append "\"" grep "\","))
|
||||
;; modinfo
|
||||
(("Vagrant::Util::Which.which\\(\"modinfo\"\\)")
|
||||
(string-append "\"" modinfo "\"")))
|
||||
;; ssh, rsync:
|
||||
;; Don't pin ssh to allow different clients and to avoid
|
||||
;; configuration conflicts when running on a foreign distro.
|
||||
;; (substitute* "lib/vagrant/util/ssh.rb"
|
||||
;; (("Which.which\\(\"ssh\", original_path: true\\)")
|
||||
;; (string-append "\"" ssh "\"")))
|
||||
;; ps
|
||||
(substitute* "lib/vagrant/util/platform.rb"
|
||||
(("\"ps\",") (string-append "\"" ps "\","))))))
|
||||
(add-after 'extract-gemspec 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "vagrant.gemspec"
|
||||
;; Relax some version specification.
|
||||
(("s\\.required_ruby_version ") "# s.required_ruby_version ")
|
||||
(("dependency \"rgl\", \"~> 0.5.10\"")
|
||||
"dependency \"rgl\"")
|
||||
(("dependency \"vagrant_cloud\", \"~> 3.0.5\"")
|
||||
"dependency \"vagrant_cloud\"")
|
||||
(("dependency \"rexml\", .*")
|
||||
"dependency \"rexml\"\n")
|
||||
;; Remove Windows specific dependencies
|
||||
((".*dependency \"(wdm|winrm(|-elevated|-fs))\".*") "")
|
||||
;; Remove BSD dependency
|
||||
((".*dependency \"rb-kqueue\".*") "")
|
||||
;; Remove cyclic inclusion of gem
|
||||
(("^ gitignore_path = " line)
|
||||
(string-append
|
||||
"all_files.reject! { |file| file.match?(\"vagrant-.*\\.gem\") }\n"
|
||||
line))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_VAGRANT_PLUGINS_PATH")
|
||||
(files '("share/vagrant-plugins")))))
|
||||
;; TODO: install bash/zsh completions, man-page, etc.
|
||||
;; see http://svnweb.mageia.org/packages/cauldron/vagrant/current/SPECS/vagrant.spec
|
||||
(native-inputs (list ruby-fake-ftp ruby-webrick bundler ruby-vagrant-spec))
|
||||
(inputs (list curl dnsmasq grep kmod libarchive openssh procps))
|
||||
(propagated-inputs
|
||||
(list ruby-bcrypt-pbkdf ruby-childprocess ruby-ed25519 ruby-erubi
|
||||
ruby-googleapis-common-protos-types ruby-grpc
|
||||
ruby-hashicorp-checkpoint ruby-i18n ruby-listen ruby-log4r
|
||||
ruby-mime-types ruby-net-ftp ruby-net-ssh ruby-net-sftp
|
||||
ruby-net-scp ruby-ipaddr ruby-rexml ruby-rgl ruby-rubyzip
|
||||
ruby-vagrant-cloud ruby-vagrant-spec))
|
||||
(synopsis "Build and distribute virtualized development environments")
|
||||
(description "Vagrant is the command line utility for managing the
|
||||
lifecycle of virtual machines. Isolate dependencies and their configuration
|
||||
within a single disposable and consistent environment.
|
||||
|
||||
Note: Make sure to have @code{ssh} and @code{rsync} installed — if you use the
|
||||
respective Vagrant functions. This package does not link to any specific
|
||||
implementation of these to allow different clients and to avoid configuration
|
||||
conflicts when running on a `foreign distribution'.")
|
||||
(home-page "https://www.vagrantup.com")
|
||||
;; CVE-2021-21361 is related to the gradle-vagrant-plugin
|
||||
(properties '((lint-hidden-cve . ("CVE-2021-21361"))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-vagrant
|
||||
(package
|
||||
(name "python-vagrant")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue