aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/qemu.go
blob: 6ede43dd637ac54e1471984ba8bbb9870f976f3d (plain)
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
92
93
94
95
96
97
98
99
100
101
102
package rosa

import (
	"hakurei.app/internal/pkg"
)

func (t Toolchain) newQEMU() pkg.Artifact {
	const (
		version  = "10.2.1"
		checksum = "rjLTSgHJd3X3Vgpxrsus_ZZiaYLiNix1YhcHaGbLd_odYixwZjCcAIt8CVQPJGdZ"
	)
	return t.NewViaMake("qemu", version, t.NewPatchedSource(
		"qemu", version, pkg.NewHTTPGetTar(
			nil, "https://download.qemu.org/qemu-"+version+".tar.bz2",
			mustDecode(checksum),
			pkg.TarBzip2,
		), false, [2]string{"disable-mcast-test", `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
     }
`},
	), &MakeAttr{
		// configure script uses source as scratch space
		Writable: true,

		ScriptEarly: `
# tests expect /var/tmp/ to be available
mkdir -p /var/tmp/

# https://gitlab.com/qemu-project/qemu/-/issues/3145
(cd /usr/src/qemu && 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
)
`,

		Configure: [][2]string{
			{"disable-download"},
			{"disable-docs"},

			{"target-list-exclude", "" +
				// fails to load firmware
				"ppc-linux-user," +
				"ppc64-linux-user," +
				"ppc64le-linux-user," +
				"ppc-softmmu," +
				"ppc64-softmmu"},
		},

		ScriptConfigured: `
make "-j$(nproc)"
`,
	},
		t.Load(Bash),
		t.Load(Python),
		t.Load(Ninja),
		t.Load(Bzip2),
		t.Load(PkgConfig),
		t.Load(Diffutils),

		t.Load(OpenSSL),
		t.Load(Bzip2),
		t.Load(XZ),

		t.Load(Flex),
		t.Load(Bison),
		t.Load(M4),

		t.Load(PCRE2),
		t.Load(Libffi),
		t.Load(Zlib),
		t.Load(GLib),
		t.Load(Zstd),
		t.Load(DTC),
		t.Load(KernelHeaders),
	)
}
func init() { artifactsF[QEMU] = Toolchain.newQEMU }