mingw-libvirt.spec.in 11.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
%{?mingw_package_header}

# Default to skipping autoreconf.  Distros can change just this one line
# (or provide a command-line override) if they backport any patches that
# touch configure.ac or Makefile.am.
%{!?enable_autotools:%define enable_autotools 0}

# The mingw build is client only.  Set up defaults for hypervisor drivers
# that talk via a native remote protocol, and for which prereq mingw
# libraries exist.
%define with_phyp          0%{!?_without_phyp:1}
%define with_esx           0%{!?_without_esx:1}
# missing libwsman, so can't build hyper-v
%define with_hyperv        0%{!?_without_hyperv:0}
%define with_xenapi        0%{!?_without_xenapi:1}
16
%define with_vz            0%{!?_without_vz:0}
17 18 19

# RHEL ships ESX but not PowerHypervisor, HyperV, or libxenserver (xenapi)
%if 0%{?rhel}
20 21 22
    %define with_phyp 0
    %define with_xenapi 0
    %define with_hyperv 0
23 24 25 26 27 28 29 30 31
%endif

Name:           mingw-libvirt
Version:        @VERSION@
Release:        1%{?dist}%{?extra_release}
Summary:        MinGW Windows libvirt virtualization library

License:        LGPLv2+
Group:          Development/Libraries
32
URL:            https://libvirt.org/
33 34 35 36

%if %(echo %{version} | grep -q "\.0$"; echo $?) == 1
    %define mainturl stable_updates/
%endif
37
Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

BuildRequires:  mingw32-filesystem >= 95
BuildRequires:  mingw64-filesystem >= 95
BuildRequires:  mingw32-gcc
BuildRequires:  mingw64-gcc
BuildRequires:  mingw32-binutils
BuildRequires:  mingw64-binutils
BuildRequires:  mingw32-libgpg-error
BuildRequires:  mingw64-libgpg-error
BuildRequires:  mingw32-libgcrypt
BuildRequires:  mingw64-libgcrypt
BuildRequires:  mingw32-gnutls
BuildRequires:  mingw64-gnutls
BuildRequires:  mingw32-gettext
BuildRequires:  mingw64-gettext
BuildRequires:  mingw32-libxml2
BuildRequires:  mingw64-libxml2
BuildRequires:  mingw32-portablexdr
BuildRequires:  mingw64-portablexdr
57 58
BuildRequires:  mingw32-dlfcn
BuildRequires:  mingw64-dlfcn
59 60 61 62

BuildRequires:  pkgconfig
# Need native version for msgfmt
BuildRequires:  gettext
63
BuildRequires:  libxslt
64
BuildRequires:  python2
65 66 67
%if 0%{?fedora} >= 27
BuildRequires:  perl-interpreter
%else
68
BuildRequires:  perl
69
%endif
70
BuildRequires:  perl(Getopt::Long)
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
%if 0%{?enable_autotools}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
%endif

%if %{with_phyp}
BuildRequires: mingw32-libssh2
BuildRequires: mingw64-libssh2
%endif
%if %{with_esx}
BuildRequires: mingw32-curl
BuildRequires: mingw64-curl
%endif

BuildArch:      noarch

%description
MinGW Windows libvirt virtualization library.

# Mingw32
%package -n mingw32-libvirt
Summary: %{summary}

%description -n mingw32-libvirt
MinGW Windows libvirt virtualization library.

%package -n mingw32-libvirt-static
Summary: %{summary}
Requires: mingw32-libvirt = %{version}-%{release}

%description -n mingw32-libvirt-static
MinGW Windows libvirt virtualization library, static version.

# Mingw64
%package -n mingw64-libvirt
Summary: %{summary}

%description -n mingw64-libvirt
MinGW Windows libvirt virtualization library.

%package -n mingw64-libvirt-static
Summary: %{summary}
Requires: mingw64-libvirt = %{version}-%{release}

%description -n mingw64-libvirt-static
MinGW Windows libvirt virtualization library, static version.

%{?mingw_debug_package}


%prep
%setup -q -n libvirt-%{version}

%build
%if ! %{with_phyp}
128
    %define _without_phyp --without-phyp
129 130 131
%endif

%if ! %{with_esx}
132
    %define _without_esx --without-esx
133 134 135
%endif

%if ! %{with_hyperv}
136
    %define _without_hyperv --without-hyperv
137 138 139
%endif

%if ! %{with_xenapi}
140
    %define _without_xenapi --without-xenapi
141 142
%endif

143 144
%if ! %{with_vz}
    %define _without_vz --without-vz
D
Dmitry Guryanov 已提交
145 146
%endif

147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
%if 0%{?enable_autotools}
autoreconf -if
%endif

# XXX enable SASL in future
%mingw_configure \
  --enable-static \
  --without-xen \
  --without-qemu \
  --without-openvz \
  --without-lxc \
  --without-vbox \
  %{?_without_xenapi} \
  --without-sasl \
  --without-avahi \
  --without-polkit \
  --without-libvirtd \
  --without-uml \
  %{?_without_phyp} \
  %{?_without_esx} \
  %{?_without_hyperv} \
  --without-vmware \
D
Dmitry Guryanov 已提交
169
  --without-parallels \
170 171
  --without-netcf \
  --without-audit \
172 173
  --without-dtrace \
  --enable-expensive-tests
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192

%mingw_make %{?_smp_mflags}


%install
%mingw_make_install "DESTDIR=$RPM_BUILD_ROOT"

# Libtool files don't need to be bundled
find $RPM_BUILD_ROOT -name "*.la" -delete

rm -rf $RPM_BUILD_ROOT%{mingw32_sysconfdir}/libvirt/nwfilter
rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/libvirt/nwfilter
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/doc/*
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/doc/*
rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc/*
rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/*

rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt_iohelper.exe
rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt_iohelper.exe
E
Eric Blake 已提交
193 194
rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt-guests.sh
rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
195 196 197 198 199 200


# Mingw32
%files -n mingw32-libvirt
%dir %{mingw32_sysconfdir}/libvirt/
%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt.conf
201
%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt-admin.conf
202 203 204

%{mingw32_bindir}/libvirt-0.dll
%{mingw32_bindir}/virsh.exe
205
%{mingw32_bindir}/virt-admin.exe
206 207
%{mingw32_bindir}/virt-xml-validate
%{mingw32_bindir}/virt-pki-validate
208
%{mingw32_bindir}/libvirt-lxc-0.dll
209
%{mingw32_bindir}/libvirt-qemu-0.dll
210
%{mingw32_bindir}/libvirt-admin-0.dll
211 212 213

%{mingw32_libdir}/libvirt.dll.a
%{mingw32_libdir}/pkgconfig/libvirt.pc
214 215
%{mingw32_libdir}/pkgconfig/libvirt-qemu.pc
%{mingw32_libdir}/pkgconfig/libvirt-lxc.pc
216
%{mingw32_libdir}/pkgconfig/libvirt-admin.pc
217
%{mingw32_libdir}/libvirt-lxc.dll.a
218
%{mingw32_libdir}/libvirt-qemu.dll.a
219
%{mingw32_libdir}/libvirt-admin.dll.a
220 221 222 223 224

%dir %{mingw32_datadir}/libvirt/
%dir %{mingw32_datadir}/libvirt/schemas/
%{mingw32_datadir}/libvirt/schemas/basictypes.rng
%{mingw32_datadir}/libvirt/schemas/capability.rng
225
%{mingw32_datadir}/libvirt/schemas/cputypes.rng
226
%{mingw32_datadir}/libvirt/schemas/domain.rng
M
Michal Privoznik 已提交
227
%{mingw32_datadir}/libvirt/schemas/domaincaps.rng
228 229 230 231 232 233 234 235
%{mingw32_datadir}/libvirt/schemas/domaincommon.rng
%{mingw32_datadir}/libvirt/schemas/domainsnapshot.rng
%{mingw32_datadir}/libvirt/schemas/interface.rng
%{mingw32_datadir}/libvirt/schemas/network.rng
%{mingw32_datadir}/libvirt/schemas/networkcommon.rng
%{mingw32_datadir}/libvirt/schemas/nodedev.rng
%{mingw32_datadir}/libvirt/schemas/nwfilter.rng
%{mingw32_datadir}/libvirt/schemas/secret.rng
236
%{mingw32_datadir}/libvirt/schemas/storagecommon.rng
237 238 239 240
%{mingw32_datadir}/libvirt/schemas/storagepool.rng
%{mingw32_datadir}/libvirt/schemas/storagevol.rng
%dir %{mingw32_datadir}/libvirt/api/
%{mingw32_datadir}/libvirt/api/libvirt-api.xml
241
%{mingw32_datadir}/libvirt/api/libvirt-lxc-api.xml
242
%{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml
243
%{mingw32_datadir}/libvirt/api/libvirt-admin-api.xml
244 245 246

%{mingw32_datadir}/libvirt/cpu_map.xml

D
Daniel P. Berrange 已提交
247 248
%{mingw32_datadir}/libvirt/test-screenshot.png

249 250 251 252
%{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo

%dir %{mingw32_includedir}/libvirt
%{mingw32_includedir}/libvirt/libvirt.h
253
%{mingw32_includedir}/libvirt/libvirt-common.h
254
%{mingw32_includedir}/libvirt/libvirt-domain.h
255
%{mingw32_includedir}/libvirt/libvirt-domain-snapshot.h
256
%{mingw32_includedir}/libvirt/libvirt-event.h
257
%{mingw32_includedir}/libvirt/libvirt-host.h
258
%{mingw32_includedir}/libvirt/libvirt-interface.h
259
%{mingw32_includedir}/libvirt/libvirt-network.h
260
%{mingw32_includedir}/libvirt/libvirt-nodedev.h
261
%{mingw32_includedir}/libvirt/libvirt-nwfilter.h
262
%{mingw32_includedir}/libvirt/libvirt-secret.h
263
%{mingw32_includedir}/libvirt/libvirt-storage.h
264
%{mingw32_includedir}/libvirt/libvirt-stream.h
265
%{mingw32_includedir}/libvirt/virterror.h
266
%{mingw32_includedir}/libvirt/libvirt-lxc.h
267
%{mingw32_includedir}/libvirt/libvirt-qemu.h
268
%{mingw32_includedir}/libvirt/libvirt-admin.h
269 270

%{mingw32_mandir}/man1/virsh.1*
271
%{mingw32_mandir}/man1/virt-admin.1*
272 273
%{mingw32_mandir}/man1/virt-xml-validate.1*
%{mingw32_mandir}/man1/virt-pki-validate.1*
274
%{mingw32_mandir}/man7/virkey*.7*
275 276 277

%files -n mingw32-libvirt-static
%{mingw32_libdir}/libvirt.a
278
%{mingw32_libdir}/libvirt-lxc.a
279
%{mingw32_libdir}/libvirt-qemu.a
280
%{mingw32_libdir}/libvirt-admin.a
281 282 283 284 285

# Mingw64
%files -n mingw64-libvirt
%dir %{mingw64_sysconfdir}/libvirt/
%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt.conf
286
%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt-admin.conf
287 288 289

%{mingw64_bindir}/libvirt-0.dll
%{mingw64_bindir}/virsh.exe
290
%{mingw64_bindir}/virt-admin.exe
291 292
%{mingw64_bindir}/virt-xml-validate
%{mingw64_bindir}/virt-pki-validate
293
%{mingw64_bindir}/libvirt-lxc-0.dll
294
%{mingw64_bindir}/libvirt-qemu-0.dll
295
%{mingw64_bindir}/libvirt-admin-0.dll
296 297 298

%{mingw64_libdir}/libvirt.dll.a
%{mingw64_libdir}/pkgconfig/libvirt.pc
299 300
%{mingw64_libdir}/pkgconfig/libvirt-qemu.pc
%{mingw64_libdir}/pkgconfig/libvirt-lxc.pc
301
%{mingw64_libdir}/pkgconfig/libvirt-admin.pc
302
%{mingw64_libdir}/libvirt-lxc.dll.a
303
%{mingw64_libdir}/libvirt-qemu.dll.a
304
%{mingw64_libdir}/libvirt-admin.dll.a
305 306 307 308 309

%dir %{mingw64_datadir}/libvirt/
%dir %{mingw64_datadir}/libvirt/schemas/
%{mingw64_datadir}/libvirt/schemas/basictypes.rng
%{mingw64_datadir}/libvirt/schemas/capability.rng
J
Jiri Denemark 已提交
310
%{mingw64_datadir}/libvirt/schemas/cputypes.rng
311
%{mingw64_datadir}/libvirt/schemas/domain.rng
M
Michal Privoznik 已提交
312
%{mingw64_datadir}/libvirt/schemas/domaincaps.rng
313 314 315 316 317 318 319 320
%{mingw64_datadir}/libvirt/schemas/domaincommon.rng
%{mingw64_datadir}/libvirt/schemas/domainsnapshot.rng
%{mingw64_datadir}/libvirt/schemas/interface.rng
%{mingw64_datadir}/libvirt/schemas/network.rng
%{mingw64_datadir}/libvirt/schemas/networkcommon.rng
%{mingw64_datadir}/libvirt/schemas/nodedev.rng
%{mingw64_datadir}/libvirt/schemas/nwfilter.rng
%{mingw64_datadir}/libvirt/schemas/secret.rng
321
%{mingw64_datadir}/libvirt/schemas/storagecommon.rng
322 323 324 325
%{mingw64_datadir}/libvirt/schemas/storagepool.rng
%{mingw64_datadir}/libvirt/schemas/storagevol.rng
%dir %{mingw64_datadir}/libvirt/api/
%{mingw64_datadir}/libvirt/api/libvirt-api.xml
326
%{mingw64_datadir}/libvirt/api/libvirt-lxc-api.xml
327
%{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml
328
%{mingw64_datadir}/libvirt/api/libvirt-admin-api.xml
329 330 331

%{mingw64_datadir}/libvirt/cpu_map.xml

D
Daniel P. Berrange 已提交
332 333
%{mingw64_datadir}/libvirt/test-screenshot.png

334 335 336 337
%{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo

%dir %{mingw64_includedir}/libvirt
%{mingw64_includedir}/libvirt/libvirt.h
338
%{mingw64_includedir}/libvirt/libvirt-common.h
339
%{mingw64_includedir}/libvirt/libvirt-domain.h
340
%{mingw64_includedir}/libvirt/libvirt-domain-snapshot.h
341
%{mingw64_includedir}/libvirt/libvirt-event.h
342
%{mingw64_includedir}/libvirt/libvirt-host.h
343
%{mingw64_includedir}/libvirt/libvirt-interface.h
344
%{mingw64_includedir}/libvirt/libvirt-network.h
345
%{mingw64_includedir}/libvirt/libvirt-nodedev.h
346
%{mingw64_includedir}/libvirt/libvirt-nwfilter.h
347
%{mingw64_includedir}/libvirt/libvirt-secret.h
348
%{mingw64_includedir}/libvirt/libvirt-storage.h
349
%{mingw64_includedir}/libvirt/libvirt-stream.h
350
%{mingw64_includedir}/libvirt/virterror.h
351
%{mingw64_includedir}/libvirt/libvirt-lxc.h
352
%{mingw64_includedir}/libvirt/libvirt-qemu.h
353
%{mingw64_includedir}/libvirt/libvirt-admin.h
354 355

%{mingw64_mandir}/man1/virsh.1*
356
%{mingw64_mandir}/man1/virt-admin.1*
357 358
%{mingw64_mandir}/man1/virt-xml-validate.1*
%{mingw64_mandir}/man1/virt-pki-validate.1*
359
%{mingw64_mandir}/man7/virkey*.7*
360 361 362

%files -n mingw64-libvirt-static
%{mingw64_libdir}/libvirt.a
363
%{mingw64_libdir}/libvirt-lxc.a
364
%{mingw64_libdir}/libvirt-qemu.a
365
%{mingw64_libdir}/libvirt-admin.a
366 367 368


%changelog