aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/qemu
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-20 05:10:41 +0900
committerOphestra <cat@gensokyo.uk>2026-05-20 05:10:41 +0900
commit1a9974ffdc63e9deb24e4c83f4b4ce566311360f (patch)
tree97f9b4686a77f1006c2abe08281592d1d326d314 /internal/rosa/package/qemu
parent1a2699b4867b7a736eedd973d69659ef468a994a (diff)
internal/rosa/package: migrate qemu
This has many dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/qemu')
-rw-r--r--internal/rosa/package/qemu/disable-mcast-test.patch22
-rw-r--r--internal/rosa/package/qemu/package.az80
2 files changed, 102 insertions, 0 deletions
diff --git a/internal/rosa/package/qemu/disable-mcast-test.patch b/internal/rosa/package/qemu/disable-mcast-test.patch
new file mode 100644
index 00000000..2308436c
--- /dev/null
+++ b/internal/rosa/package/qemu/disable-mcast-test.patch
@@ -0,0 +1,22 @@
+diff --git a/tests/qtest/netdev-socket.c b/tests/qtest/netdev-socket.c
+index b731af0ad9..b5cbed4801 100644
+--- a/tests/qtest/netdev-socket.c
++++ b/tests/qtest/netdev-socket.c
+@@ -401,7 +401,7 @@ static void test_dgram_inet(void)
+ qtest_quit(qts0);
+ }
+
+-#if !defined(_WIN32) && !defined(CONFIG_DARWIN)
++#if 0
+ static void test_dgram_mcast(void)
+ {
+ QTestState *qts;
+@@ -513,7 +513,7 @@ int main(int argc, char **argv)
+ if (has_ipv4) {
+ qtest_add_func("/netdev/stream/inet/ipv4", test_stream_inet_ipv4);
+ qtest_add_func("/netdev/dgram/inet", test_dgram_inet);
+-#if !defined(_WIN32) && !defined(CONFIG_DARWIN)
++#if 0
+ qtest_add_func("/netdev/dgram/mcast", test_dgram_mcast);
+ #endif
+ }
diff --git a/internal/rosa/package/qemu/package.az b/internal/rosa/package/qemu/package.az
new file mode 100644
index 00000000..0e2ac662
--- /dev/null
+++ b/internal/rosa/package/qemu/package.az
@@ -0,0 +1,80 @@
+package qemu {
+ description = "a generic and open source machine emulator and virtualizer";
+ website = "https://www.qemu.org";
+ anitya = 13607;
+
+ version* = "11.0.0";
+ source = remoteTar {
+ url = "https://download.qemu.org/qemu-"+version+".tar.bz2";
+ checksum = "C64gdi_Tkdg2fTwD9ERxtWGcf8vNn_6UvczW0c-x0KW1NZtd3NbEOIrlDhYGn15n";
+ compress = bzip2;
+ };
+ patches = [ "disable-mcast-test.patch" ];
+
+ // configure script uses source as scratch space
+ writable = true;
+ chmod = true;
+
+ early = `
+# tests expect /var/tmp/ to be available
+mkdir -p /var/tmp/
+
+# https://gitlab.com/qemu-project/qemu/-/issues/3145
+sed -i \
+ 's,Input/output error,I/O error,g' \
+ tests/qemu-iotests/[0-9][0-9][0-9]* \
+ tests/qemu-iotests/tests/copy-before-write \
+ tests/qemu-iotests/tests/file-io-error.out
+cat << EOF > tests/qemu-iotests/150
+#!/bin/sh
+_notrun 'appears to spuriously fail on zfs'
+EOF
+`;
+
+ exec = make {
+ configure = {
+ "disable-download";
+ "disable-docs";
+
+ "static";
+ "target-list-exclude": join {
+ elems = [
+ // fails to load firmware
+ "ppc-linux-user",
+ "ppc64-linux-user",
+ "ppc64le-linux-user",
+ "ppc-softmmu",
+ "ppc64-softmmu",
+ ];
+ sep = ",";
+ };
+ };
+ };
+
+ inputs = [
+ bash,
+ python,
+ python-setuptools,
+ python-wheel,
+ ninja,
+ pkg-config,
+ diffutils,
+
+ openssl,
+ xz,
+
+ flex,
+ bison,
+ m4,
+
+ glib,
+ zstd,
+ dtc,
+ kernel-headers,
+ ];
+
+ runtime = [
+ glib,
+ zstd,
+ ];
+}