guix_mirror_bot pushed a commit to branch master
in repository guix.
commit d91435919102861eae3df7e6648998c2614b6d1d
Author: Hartmut Goebel <[email protected]>
AuthorDate: Fri Aug 4 17:49:42 2023 +0200
gnu: Add vagrant-vai.
* gnu/packages/virtualization.scm (vagrant-vai): New variable.
---
gnu/packages/virtualization.scm | 48 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 66c6487a93..86851d615d 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")