]> git.ipfire.org Git - ipfire-3.x.git/blob - qemu/qemu.nm
mdadm: Use systemd tmpfile
[ipfire-3.x.git] / qemu / qemu.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = qemu
7 version = 7.2.0
8 release = 3
9
10 groups = Applications/Virtualization
11 url = https://www.qemu.org
12 license = GPLv2+
13 summary = QEMU is a generic and open source machine emulator and virtualizer
14
15 description
16 QEMU is a processor emulator that relies on dynamic binary translation
17 to achieve a reasonable speed while being easy to port on new host CPU
18 architectures.
19 end
20
21 source_dl = https://download.qemu.org/
22 sources = %{thisapp}.tar.xz
23
24 build
25 requires
26 autoconf
27 automake
28 bison
29 bzip2-devel
30 cairo-devel
31 flex
32 glib2-devel
33 glibc-devel >= 2.36
34 gnutls-devel
35 libcurl-devel
36 libgcrypt-devel
37 libjpeg-devel
38 libpng-devel
39 libseccomp-devel
40 libtasn1-devel
41 libudev-devel
42 libusb-devel
43 libuuid-devel
44 lzo-devel
45 meson
46 ninja
47 ncurses-devel
48 nettle-devel
49 pciutils-devel
50 pixman-devel
51 systemd-devel
52 zlib-devel
53 zstd-devel
54 end
55
56 targets = \
57 aarch64-linux-user \
58 aarch64-softmmu \
59 riscv64-linux-user \
60 riscv64-softmmu \
61 x86_64-linux-user \
62 x86_64-softmmu
63
64 configure_options = \
65 --prefix=%{prefix} \
66 --bindir=%{bindir} \
67 --sysconfdir=%{sysconfdir} \
68 --libdir=%{libdir} \
69 --libexecdir=%{libdir} \
70 --datadir=%{datadir} \
71 --mandir=%{mandir} \
72 --localstatedir=%{localstatedir} \
73 --extra-cflags="%{CFLAGS}" \
74 --extra-ldflags="%{LDFLAGS}" \
75 --disable-strip \
76 --disable-werror \
77 --target-list="%{targets}" \
78 --enable-bzip2 \
79 --enable-fdt \
80 --enable-kvm \
81 --enable-libusb \
82 --enable-lzo \
83 --enable-lto \
84 --enable-pie \
85 --enable-vnc \
86 --enable-vnc-jpeg \
87 --enable-seccomp \
88 --disable-xen \
89 --disable-sdl
90
91 install_cmds
92 # Remove ivshm stuff
93 rm -vf %{BUILDROOT}%{bindir}/ivshmem* %{BUILDROOT}%{mandir}/ivshmem*
94
95 # Remove deprecated run directory.
96 rm -rvf %{BUILDROOT}/var/run
97
98 # Remove firmware files for non supported platforms.
99 rm -rvf %{BUILDROOT}%{datadir}/%{name}/hppa-firmware.img
100 rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-ppc
101 rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-sparc32
102 rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-sparc64
103 rm -rvf %{BUILDROOT}%{datadir}/%{name}/palcode-clipper
104 rm -rvf %{BUILDROOT}%{datadir}/%{name}/s390-ccw.img
105 rm -rvf %{BUILDROOT}%{datadir}/%{name}/s390-netboot.img
106 rm -rvf %{BUILDROOT}%{datadir}/%{name}/u-boot.e500
107
108 # Make firmware non-executable
109 find %{BUILDROOT}%{datadir}/%{name} -type f -executable | xargs chmod -v a-x
110 end
111 end
112
113 packages
114 package %{name}
115 # Always install the native package (for KVM)
116 requires
117 qemu-%{DISTRO_ARCH} = %{thisver}
118 end
119
120 recommends
121 qemu-img = %{thisver}
122 end
123 end
124
125 template QEMUARCH
126 summary = QEMU for %{qemu_arch}
127 description = %{summary}
128
129 requires = %{name} = %{thisver}
130
131 files
132 %{bindir}/qemu-%{qemu_arch}
133 %{bindir}/qemu-system-%{qemu_arch}
134 %{mandir}/man1/qemu-%{qemu_arch}.1*
135 %{mandir}/man1/qemu-system-%{qemu_arch}.1*
136 end
137 end
138
139 package %{name}-aarch64
140 template QEMUARCH
141 qemu_arch = aarch64
142 end
143
144 package %{name}-riscv64
145 template QEMUARCH
146 qemu_arch = riscv64
147 end
148
149 package %{name}-x86_64
150 template QEMUARCH
151 qemu_arch = x86_64
152 end
153
154 package %{name}-img
155 summary = QEMU command line tool for manipulating disk images
156 description
157 This package provides a command line tool for manipulating disk images
158 end
159
160 files
161 %{bindir}/qemu-img
162 %{bindir}/qemu-io
163 %{bindir}/qemu-nbd
164 %{mandir}/man1/qemu-img.1*
165 %{mandir}/man8/qemu-nbd.8*
166 end
167 end
168
169 package %{name}-devel
170 template DEVEL
171 end
172
173 package %{name}-debuginfo
174 template DEBUGINFO
175 end
176 end