summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2023-08-06 19:51:41 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2025-09-23 16:36:14 +0200
commit7679fdc8d42be26311db67ffc3a15418624989a1 (patch)
tree507dc4a15105a08c79c4291b43840cc742a42156 /gnu/packages
parent34778811bb33548bcfd1bdeef3c2ed175c14c64f (diff)
gnu: Add vagrant-libvirt.
* gnu/packages/virtualization.scm (vagrant-libvirt): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/virtualization.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9a2ebde5181..3d5e939a267 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2786,6 +2786,61 @@ managers and Linux distros.")
(home-page "https://github.com/fgrehm/vagrant-cachier")
(license license:expat)))
+(define-public vagrant-libvirt
+ (package
+ (name "vagrant-libvirt")
+ (version "0.12.2")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "vagrant-libvirt" version))
+ (sha256
+ (base32
+ "013g6wn24k01lwwkzcb0vvxj959lws8c52bkyqi6b8shnn793j1l"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:tests? #f ; tests involve running vagrant, downloading a box and
+ ; access to libvirt socket
+ #: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
+ '((#$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))
+ (propagated-inputs (list ruby-diffy
+ ruby-fog-core
+ ruby-fog-libvirt
+ ruby-nokogiri
+ ruby-rexml
+ ruby-xml-simple))
+ (synopsis "Libvirt provider for Vagrant")
+ (description "This is a Vagrant plugin that adds a Libvirt provider to
+Vagrant, allowing Vagrant to control and provision machines via the Libvirt
+toolkit.")
+ (home-page "https://github.com/vagrant-libvirt/vagrant-libvirt")
+ (license license:expat)))
+
(define-public vagrant-reload
(package
(name "vagrant-reload")