forked from arthurk/homebrew-virt-manager
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathvirt-manager.rb
91 lines (76 loc) · 3.01 KB
/
virt-manager.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
class VirtManager < Formula
include Language::Python::Virtualenv
desc "App for managing virtual machines"
homepage "https://virt-manager.org/"
url "https://virt-manager.org/download/sources/virt-manager/virt-manager-3.2.0.tar.gz"
sha256 "2b6fe3d90d89e1130227e4b05c51e6642d89c839d3ea063e0e29475fd9bf7b86"
revision 3
depends_on "intltool" => :build
depends_on "pkg-config" => :build
depends_on "adwaita-icon-theme"
depends_on "gtk+3"
depends_on "gtk-vnc"
depends_on "gtksourceview4"
depends_on "hicolor-icon-theme"
depends_on "libosinfo"
depends_on "libvirt"
depends_on "libvirt-glib"
depends_on "libxml2" # need python3 bindings
depends_on "osinfo-db"
depends_on "py3cairo"
depends_on "pygobject3"
depends_on "docutils"
depends_on "python"
depends_on "spice-gtk"
depends_on "vte3"
resource "libvirt-python" do
url "https://libvirt.org/sources/python/libvirt-python-7.10.0.tar.gz"
sha256 "267774bbdf99d47515274542880499437dc94ae291771f5663c62020a62da975"
end
resource "idna" do
url "https://pypi.io/packages/source/i/idna/idna-3.3.tar.gz"
sha256 "9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"
end
resource "certifi" do
url "https://pypi.io/packages/source/c/certifi/certifi-2021.10.8.tar.gz"
sha256 "78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"
end
resource "urllib3" do
url "https://pypi.io/packages/source/u/urllib3/urllib3-1.26.7.tar.gz"
sha256 "4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"
end
resource "requests" do
url "https://pypi.io/packages/source/r/requests/requests-2.27.1.tar.gz"
sha256 "68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"
end
# virt-manager doesn't prompt for password on macOS unless --no-fork flag is provided
patch :DATA
def install
venv = virtualenv_create(libexec, "python3")
venv.pip_install resources
# virt-manager uses distutils, doesn't like --single-version-externally-managed
system "#{libexec}/bin/python", "setup.py",
"configure",
"--prefix=#{libexec}"
system "#{libexec}/bin/python", "setup.py",
"--no-user-cfg",
"--no-update-icon-cache",
"--no-compile-schemas",
"install"
# install virt-manager commands with PATH set to Python virtualenv environment
bin.install Dir[libexec/"bin/virt-*"]
bin.env_script_all_files(libexec/"bin", :PATH => "#{libexec}/bin:$PATH")
share.install Dir[libexec/"share/man"]
share.install Dir[libexec/"share/glib-2.0"]
share.install Dir[libexec/"share/icons"]
end
def post_install
# manual schema compile step
system "#{Formula["glib"].opt_bin}/glib-compile-schemas", "#{HOMEBREW_PREFIX}/share/glib-2.0/schemas"
# manual icon cache update step
system "#{Formula["gtk+3"].opt_bin}/gtk3-update-icon-cache", "#{HOMEBREW_PREFIX}/share/icons/hicolor"
end
test do
system "#{bin}/virt-manager", "--version"
end
end