summaryrefslogtreecommitdiff
path: root/gnu/packages/virtualization.scm
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2023-08-04 17:49:42 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2025-09-23 16:36:14 +0200
commitd91435919102861eae3df7e6648998c2614b6d1d (patch)
treec95e2c265844b193638cbf8eb4512eef0a3fa810 /gnu/packages/virtualization.scm
parentc3be000890446447c35703c7534dc0ca5cbaf1df (diff)
gnu: Add vagrant-vai.
* gnu/packages/virtualization.scm (vagrant-vai): New variable.
Diffstat (limited to 'gnu/packages/virtualization.scm')
-rw-r--r--gnu/packages/virtualization.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 66c6487a93f..86851d615dc 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -117,6 +117,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages java)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-apps)
@@ -2735,6 +2736,53 @@ conflicts when running on a `foreign distribution'.")
(properties '((lint-hidden-cve . ("CVE-2021-21361"))))
(license license:bsd-3)))
+(define-public vagrant-vai
+ (package
+ (name "vagrant-vai")
+ (version "0.9.3")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "vai" version))
+ (sha256
+ (base32
+ "041bi8hk03ybhacqzhw153j3knqhwvxn8aczzq6nikmpklcs4m4a"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:tests? #f ; tests involve running vagrant and downloading a box
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-plugin.json
+ (lambda _
+ (let* ((plugins.d (string-append
+ #$output "/share/vagrant-plugins/plugins.d"))
+ (plugin.json (string-append
+ plugins.d "/" #$name ".json")))
+ (mkdir-p plugins.d)
+ #$(with-extensions (list guile-json-4)
+ #~(begin
+ (use-modules (json))
+ (call-with-output-file plugin.json
+ (lambda (port)
+ (scm->json
+ '(("vai" ;; #$name
+ .
+ (("ruby_version"
+ . #$(package-version (this-package-input "ruby")))
+ ("vagrant_version"
+ . #$(package-version (this-package-input "vagrant")))
+ ("gem_version" . "")
+ ("require" . "")
+ ("installed_gem_version" . #$version)
+ ("sources" . #()))))
+ port)))))))))))
+ (inputs (list ruby vagrant))
+ (synopsis "Vagrant provisioning plugin to output an Ansible inventory")
+ (description "This plugin creates an Ansible inventory file containing the
+created virtual machines and the respective ssh-parameters.")
+ (home-page "https://github.com/MatthewMi11er/vai")
+ (license license:expat)))
+
(define-public python-vagrant
(package
(name "python-vagrant")