diff options
author | Morgan Smith <Morgan.J.Smith@outlook.com> | 2020-10-16 16:00:53 -0400 |
---|---|---|
committer | Guix Patches Tester <> | 2020-10-16 21:04:03 +0100 |
commit | 53ae8eb21b66fc50151f5532f68af69c4023f949 (patch) | |
tree | bb4c556113c75f3cc563a0ab18ee5c70092dfcb2 | |
parent | 09da0a7f4aab939b930a6fb9b566e1e804a84a29 (diff) | |
download | guix-patches-53ae8eb21b66fc50151f5532f68af69c4023f949.tar guix-patches-53ae8eb21b66fc50151f5532f68af69c4023f949.tar.gz |
gnu: Add libguestfs.series-5450
* gnu/packages/virtualization.scm (libguestfs): New variable.
-rw-r--r-- | gnu/packages/virtualization.scm | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index ac062dfa15..d958d99330 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,13 +38,16 @@ #:use-module (gnu packages admin) #:use-module (gnu packages assembly) #:use-module (gnu packages attr) + #:use-module (gnu packages augeas) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages cdrom) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages cpio) #:use-module (gnu packages cross-base) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -63,6 +67,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) + #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages haskell) @@ -79,8 +84,10 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) + #:use-module (gnu packages ocaml) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) @@ -2032,3 +2039,99 @@ administrators and developers in managing the database.") libosinfo library. It provides information about guest operating systems for use with virtualization provisioning tools") (license license:lgpl2.0+))) + +(define-public libguestfs + (package + (name "libguestfs") + (version "1.42.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://download.libguestfs.org/" + (version-major+minor version) + "-stable/libguestfs-" + version + ".tar.gz")) + (sha256 + (base32 + "097hfi53w5lhf3im9l1lrymzv07ksyi1zcmg8bqrg9daycn1kvjg")))) + (build-system gnu-build-system) + (arguments + `(;; XXX: I'm not sure why runpath validation doesn't work + #:validate-runpath? #f + ;; XXX: It's possible to get at least some of the tests to work + #:tests? #f + #:configure-flags (list "--disable-gnulib-tests" + "--disable-daemon" + "--disable-appliance" + "--with-distro=none" + "--disable-static") + ;; Installation is discouraged because users might want to have multiple + ;; versions installed at once. For that reason we have to specify + ;; "REALLY_INSTALL=yes" to install + #:make-flags (list "REALLY_INSTALL=yes") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-configure + (lambda* (#:key inputs #:allow-other-keys) + ;; Our ncurses package doesn't have a binary called + ;; "ncurses6-config". It probably should though + (substitute* "configure" + (("ncurses6-config") + "ncursesw6-config")) + ;; Hard code paths to ld and file in the configure script + (substitute* "configure" + (("/usr/bin/ld") + (string-append (assoc-ref inputs "ld-wrapper") "/bin/ld")) + (("/usr/bin/file") + (string-append (assoc-ref inputs "file") "/bin/file"))) + #t)) + (add-before 'check 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (string-append (assoc-ref inputs "bash") "/bin/bash"))) + (setenv "SHELL" bash)) + #t)) + (add-before 'install 'patch-ocaml-installdir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Force ocaml installdir to be correct + (substitute* "ocaml/Makefile" + (("\\$\\(DESTDIR\\)\\$\\(OCAMLLIB\\)") + (string-append + out "/lib/ocaml/site-lib")))) + #t))))) + (native-inputs + `(("bison" ,bison) + ("curl" ,curl) + ("flex" ,flex) + ("pkg-config" ,pkg-config))) + (inputs + `(("augeas" ,augeas) + ("cdrkit-libre" ,cdrkit-libre) + ("cpio" ,cpio) + ("fuse" ,fuse) + ("gperf" ,gperf) + ("gperf" ,gperf) + ("jansson" ,jansson) + ("libselinux" ,libselinux) + ("libtirpc" ,libtirpc) + ("libvirt" ,libvirt) + ("libxml2" ,libxml2) + ("util-linux" ,util-linux) ; getopt + ("ncurses" ,ncurses) + ("ocaml" ,ocaml) + ("ocaml-findlib" ,ocaml-findlib) + ("ocaml-hivex" ,ocaml-hivex) + ("pcre" ,pcre) + ("perl" ,perl) + ("qemu" ,qemu))) + (home-page "https://libguestfs.org/") + (synopsis "Tools for accessing and modifying virtual machine (VM) disk +images") + (description "libguestfs is a C library and a set of tools for accessing +and modifying virtual disk images used in platform virtualization. The tools +can be used for viewing and editing virtual machines (VMs) managed by libvirt +and files inside VMs, scripting changes to VMs, and creating VMs.") + ;; The library files are released under LGPLv2.1 or later. + ;; The programs ;; are released under GPLv2+. + (license (list license:lgpl2.1+ license:gpl2+)))) |