[{"id":3686366,"web_url":"http://patchwork.ozlabs.org/comment/3686366/","msgid":"<1993d589-5e6c-4b60-a2f0-c5e61f88b961@redhat.com>","list_archive_url":null,"date":"2026-05-05T11:44:07","subject":"Re: [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner","submitter":{"id":66152,"url":"http://patchwork.ozlabs.org/api/people/66152/","name":"Thomas Huth","email":"thuth@redhat.com"},"content":"On 05/05/2026 12.36, Alex Bennée wrote:\n> The gitlab runners are currently in beta but available to projects on\n> the Premium and Ultimate plans (which QEMU is via the Open Source\n> program).\n> \n> We install some compilers via brew so we can run some of the check-tcg\n> softmmu test cases.\n> \n> We disable rust as the version is too old.\n> \n> We disable plugins because we haven't taught the test harness about\n> .dynlib vs .so yet.\n> \n> There is a discrepancy between the vars and version of MacOS because\n> lcitool needs teaching about other versions (although I don't think it\n> matters as brew is shared across versions).\n> \n> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>\n> ---\n>   .gitlab-ci.d/macos-14.vars    | 16 ++++++++++++\n>   .gitlab-ci.d/macos.yml        | 49 +++++++++++++++++++++++++++++++++++\n>   .gitlab-ci.d/qemu-project.yml |  1 +\n>   tests/lcitool/refresh         | 11 ++++++++\n>   4 files changed, 77 insertions(+)\n>   create mode 100644 .gitlab-ci.d/macos-14.vars\n>   create mode 100644 .gitlab-ci.d/macos.yml\n> \n> diff --git a/.gitlab-ci.d/macos-14.vars b/.gitlab-ci.d/macos-14.vars\n> new file mode 100644\n> index 00000000000..def77cfdea5\n> --- /dev/null\n> +++ b/.gitlab-ci.d/macos-14.vars\n> @@ -0,0 +1,16 @@\n> +# THIS FILE WAS AUTO-GENERATED\n> +#\n> +#  $ lcitool variables macos-14 qemu\n> +#\n> +# https://gitlab.com/libvirt/libvirt-ci\n> +\n> +CCACHE='/opt/homebrew/bin/ccache'\n> +CPAN_PKGS=''\n> +CROSS_PKGS=''\n> +MAKE='/opt/homebrew/bin/gmake'\n> +NINJA='/opt/homebrew/bin/ninja'\n> +PACKAGING_COMMAND='brew'\n> +PIP3='/opt/homebrew/bin/pip3'\n> +PKGS='bash bc bindgen bison bzip2 capstone ccache cmocka coreutils ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed gnutls gtk+3 gtk-vnc jemalloc jpeg-turbo json-c libcbor libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson mtools ncurses nettle ninja pixman pkg-config python-setuptools python3 rpm2cpio rust sdl2 sdl2_image snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3 vulkan-tools xorriso zlib zstd'\n> +PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme tomli'\n> +PYTHON='/opt/homebrew/bin/python3'\n> diff --git a/.gitlab-ci.d/macos.yml b/.gitlab-ci.d/macos.yml\n> new file mode 100644\n> index 00000000000..edb500e937b\n> --- /dev/null\n> +++ b/.gitlab-ci.d/macos.yml\n> @@ -0,0 +1,49 @@\n> +.macos_job_template:\n> +  extends: .base_job_template\n> +  stage: build\n> +  tags:\n> +    - saas-macos-large-m2pro\n> +  needs: []\n> +  timeout: 80m\n> +  artifacts:\n> +    name: \"$CI_JOB_NAME-$CI_COMMIT_REF_SLUG\"\n> +    expire_in: 7 days\n> +    paths:\n> +      - build/meson-logs/\n> +      - build/tests/tcg/\n> +    reports:\n> +      junit: build/meson-logs/*.junit.xml\n> +    when: always\n> +  before_script:\n> +    - set -o allexport\n> +    - source .gitlab-ci.d/macos-14.vars\n> +    - set +o allexport\n> +    - export PATH=\"$PATH_EXTRA:$PATH\"\n> +    - export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"\n> +    - brew update\n> +    - brew install $PKGS\n> +    - brew install gdb aarch64-elf-gcc i686-elf-gcc x86_64-elf-gcc\n> +    - python3 ./scripts/probe-gdb-support.py $(which gdb)\n\nIs the probe-gdb-support.py required here? If not, I'd rather remove that \nline again.\n\n> +    - if test -n \"$PYPI_PKGS\" ; then PYLIB=$($PYTHON -c 'import sysconfig; print(sysconfig.get_path(\"stdlib\"))'); rm -f $PYLIB/EXTERNALLY-MANAGED; $PIP3 install --break-system-packages $PYPI_PKGS ; fi\n> +  script:\n> +    - mkdir build\n> +    - cd build\n> +    - env\n\ndito, the \"env\" looks like debugging leftovers ... I'd rather drop it.\n\n> +    - ../configure --enable-werror $CONFIGURE_ARGS || { cat config.log meson-logs/meson-log.txt; exit 1; }\n> +    - $MAKE -j$(sysctl -n hw.ncpu)\n> +    - for TARGET in $TEST_TARGETS ; do $MAKE $TARGET ; done\n> +\n> +aarch64-macos-15-build:\n> +  extends: .macos_job_template\n> +  image: macos-15-xcode-16\n> +  variables:\n> +    NAME: macos-15\n> +    PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin\n\nAs far as I can see, there is no cache configured for this runner ... so \ncould you please drop the ccache stuff from this patch? It will only slow \ndown compilation if the results get thrown away afterwards.\n\n  Thomas\n\n> +    PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig\n> +    CONFIGURE_ARGS:\n> +        --target-list=aarch64-softmmu,i386-softmmu,x86_64-softmmu\n> +        --cross-prefix-aarch64=aarch64-elf-\n> +        --cross-prefix-i386=i686-elf-\n> +        --cross-prefix-x86_64=x86_64-elf-\n> +        --disable-plugins\n> +    TEST_TARGETS: check-unit check-tcg\n> diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml\n> index 4d914c4897b..9cbb5fe787f 100644\n> --- a/.gitlab-ci.d/qemu-project.yml\n> +++ b/.gitlab-ci.d/qemu-project.yml\n> @@ -19,3 +19,4 @@ include:\n>     - local: '/.gitlab-ci.d/custom-runners.yml'\n>     - local: '/.gitlab-ci.d/cirrus.yml'\n>     - local: '/.gitlab-ci.d/windows.yml'\n> +  - local: '/.gitlab-ci.d/macos.yml'\n> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh\n> index fa4a16e3583..4289cc381a6 100755\n> --- a/tests/lcitool/refresh\n> +++ b/tests/lcitool/refresh\n> @@ -87,6 +87,12 @@ def generate_cirrus(target, trailer=None):\n>       generate(filename, cmd, trailer)\n>   \n>   \n> +def generate_vars(target, trailer=None):\n> +    filename = Path(src_dir, \".gitlab-ci.d\", target + \".vars\")\n> +    cmd = lcitool_cmd + [\"variables\", \"--format\", \"shell\", target, \"qemu\"]\n> +    generate(filename, cmd, trailer)\n> +\n> +\n>   def generate_pkglist(vm, target, project=\"qemu\"):\n>       filename = Path(src_dir, \"tests\", \"vm\", \"generated\", vm + \".json\")\n>       cmd = lcitool_cmd + [\"variables\", \"--format\", \"json\", target, project]\n> @@ -312,6 +318,11 @@ try:\n>       #\n>       generate_cirrus(\"freebsd-14\")\n>   \n> +    #\n> +    # GitLab packages lists\n> +    #\n> +    generate_vars(\"macos-14\")\n> +\n>       #\n>       # VM packages lists\n>       #","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=houLFT8c;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=o5ASDIAO;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8xXK0d4hz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 21:45:19 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wKECU-0006NW-KN; Tue, 05 May 2026 07:44:30 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <thuth@redhat.com>) id 1wKECQ-0006MS-4u\n for qemu-devel@nongnu.org; Tue, 05 May 2026 07:44:27 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <thuth@redhat.com>) id 1wKECI-0007NY-KU\n for qemu-devel@nongnu.org; Tue, 05 May 2026 07:44:25 -0400","from mail-wm1-f72.google.com (mail-wm1-f72.google.com\n [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-695-5ABh_u1dNU62v5ttJOanZA-1; Tue, 05 May 2026 07:44:11 -0400","by mail-wm1-f72.google.com with SMTP id\n 5b1f17b1804b1-488d8deb75fso43790355e9.3\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 04:44:11 -0700 (PDT)","from [192.168.0.9] ([47.64.115.164])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48d1a98247fsm26729675e9.0.2026.05.05.04.44.08\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Tue, 05 May 2026 04:44:09 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1777981453;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=rc+3Bksb6HZaTZMt5ERtfmcshhuI4z6FJKgovDQd9m8=;\n b=houLFT8cbsi1zl0aq+KevMooBa23eKDtB6UJrXSwuTvAznebPrVlBhMx0ERDZKLPWodOeE\n vO5fqmN3Ol+9gs3y9btqKoHvraL3pA9WH6GRsVbWP147qdwHRUtUqpIVsbhQDfjOp7vfrZ\n ZYQ5Me3uBNScgVWg7WH0uq+e7QFw8Ds=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1777981450; x=1778586250; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=rc+3Bksb6HZaTZMt5ERtfmcshhuI4z6FJKgovDQd9m8=;\n b=o5ASDIAOO+hS5TxuXY9hsS+q460PxUWneFz7PvW5QnIX3s1d69lxNORIBB93hX0cf7\n hCGE5VrpOLTXO7P6xQetCFRzEBskySfTIzFwrOGmuGDlgrI3IO3yFWZJ89FipOv9tWxd\n fKu/7bW/W7d8TCWY4VSOGoXz7lH7oiWqQQcEiLguemrzegnZhqWdzyvEDl0IQnhs37BA\n bA0jzMHykCiImaV9bo9U5JMX6LXlYHe/caSqid6o5AGy/4PaGzpnHmNOlS8XXIP5KoW4\n m7Uzd5tktTj+6YzwjZQIdNc/Ct4g26piYBcRQIixlVQIpi7FrHt0GSJv9NJtdxGkSA/o\n PI7g=="],"X-MC-Unique":"5ABh_u1dNU62v5ttJOanZA-1","X-Mimecast-MFC-AGG-ID":"5ABh_u1dNU62v5ttJOanZA_1777981451","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777981450; x=1778586250;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=rc+3Bksb6HZaTZMt5ERtfmcshhuI4z6FJKgovDQd9m8=;\n b=DHrVfK6EOcfiO8WthQoBuPyzo8+5QjZ3WTG4RA0RlvTj3lWesaoeJ+43knhpBBWBH3\n l3bgkFhAYpTG8QNvGlnYtotCB2tgLjLPXxjHsvUl9f5FyDWfGiPLgqtMDULHQaemyxMr\n aEtrzD+E2CNxw/gjEkfFCSerkNC4H7EfsLvG/DaKnAuRvCKje8qa42r7Qohtox5HBth3\n 85P4XSZLZFVCSSaC8Wtidjfhm+/uRf0V4xeDAD4wjMLJF/cBjWUu9KaLI/tET4HJVpic\n bd5JbzAfmcB9d3M19sGeAB2VcQByT5PmSPMdPIr1T+r+OR11SQuk5/WshJOefLphrKrl\n SPMg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ8+fVCkjAoSXfGiqrcf2tBIE3mQE3MuCTPTGMuGm9IES1toWVoGHt/I/cJF6nA7CRu3kQRcKvKzExu4@nongnu.org","X-Gm-Message-State":"AOJu0YwdUVCiHl8/z8jL8p2GN43QtiINNx9rjvyWh/SGXMDlyPLhn/Jl\n sCedtn/ywxjjkzgWWQ9ydOuw7PN8r2QW8kticgf12fQ4yIO9YmDCzDQluWRByeSryaY5Cx9LZg6\n 47TaY8VZ1RlXBrYaPNFIiwTTFjn1y4tdWFNrGv77mL7QTXg3U1f1OhBum","X-Gm-Gg":"AeBDietbIiN9LIH17+A7nwfJIsT1XPRN5/pMiCJPb2HwSKYWKSZxtjqcvSaUHyRUsvL\n 5Lg8ONLnszYrtDC5MT4U5orpD+KWsjA+8ZEMGTihOCTgY76H08fKo5swGgleciK2gXk5dld1GhW\n Tg351TNpvjeQmu3lylv2ZiMQMCanYP7Sindmwb4j3MkEJcwdgW+vn+sMpwhxAZbho2lnTcLYaNd\n 9eUt925LqyUQik1HUgcjGPLPtmdvTNKcTbzS7yhdKM0e6T2lF0wfxvANt3CO7bbi2Iv9dRzMg4Q\n y0SdBi8TpRBy8sXTelT1e2vT8hqcf2y8mlFaj05Esm3QJsnsTHuZS6Ao2WUyeKncK59Lm64nXIe\n wabLoEbb+Rxc3wHP2E4ApnJprqX11sw==","X-Received":["by 2002:a05:600c:c082:b0:488:af7f:775f with SMTP id\n 5b1f17b1804b1-48a988a2211mr156763945e9.18.1777981450001;\n Tue, 05 May 2026 04:44:10 -0700 (PDT)","by 2002:a05:600c:c082:b0:488:af7f:775f with SMTP id\n 5b1f17b1804b1-48a988a2211mr156763545e9.18.1777981449586;\n Tue, 05 May 2026 04:44:09 -0700 (PDT)"],"Message-ID":"<1993d589-5e6c-4b60-a2f0-c5e61f88b961@redhat.com>","Date":"Tue, 5 May 2026 13:44:07 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner","To":"=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n qemu-devel@nongnu.org","Cc":"Thomas Huth <th.huth+qemu@posteo.eu>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>, qemu-arm@nongnu.org,\n Peter Xu <peterx@redhat.com>,\n =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,\n Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,\n Brad Smith <brad@comstyle.com>, Fabiano Rosas <farosas@suse.de>,\n Kyle Evans <kevans@freebsd.org>, Peter Maydell <peter.maydell@linaro.org>,\n Paolo Bonzini <pbonzini@redhat.com>, Warner Losh <imp@bsdimp.com>,\n Richard Henderson <richard.henderson@linaro.org>, =?utf-8?q?Philippe_Mathie?=\n\t=?utf-8?q?u-Daud=C3=A9?= <philmd@linaro.org>","References":"<20260505103649.68361-1-alex.bennee@linaro.org>\n <20260505103649.68361-5-alex.bennee@linaro.org>","Content-Language":"en-US","From":"Thomas Huth <thuth@redhat.com>","Autocrypt":"addr=thuth@redhat.com; keydata=\n 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","In-Reply-To":"<20260505103649.68361-5-alex.bennee@linaro.org>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=170.10.129.124; envelope-from=thuth@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-24","X-Spam_score":"-2.5","X-Spam_bar":"--","X-Spam_report":"(-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.443,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3686445,"web_url":"http://patchwork.ozlabs.org/comment/3686445/","msgid":"<87se86m1va.fsf@draig.linaro.org>","list_archive_url":null,"date":"2026-05-05T13:18:01","subject":"Re: [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner","submitter":{"id":39532,"url":"http://patchwork.ozlabs.org/api/people/39532/","name":"Alex Bennée","email":"alex.bennee@linaro.org"},"content":"Thomas Huth <thuth@redhat.com> writes:\n\n> On 05/05/2026 12.36, Alex Bennée wrote:\n>> The gitlab runners are currently in beta but available to projects on\n>> the Premium and Ultimate plans (which QEMU is via the Open Source\n>> program).\n>> We install some compilers via brew so we can run some of the\n>> check-tcg\n>> softmmu test cases.\n>> We disable rust as the version is too old.\n>> We disable plugins because we haven't taught the test harness about\n>> .dynlib vs .so yet.\n>> There is a discrepancy between the vars and version of MacOS because\n>> lcitool needs teaching about other versions (although I don't think it\n>> matters as brew is shared across versions).\n>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>\n>> ---\n>>   .gitlab-ci.d/macos-14.vars    | 16 ++++++++++++\n>>   .gitlab-ci.d/macos.yml        | 49 +++++++++++++++++++++++++++++++++++\n>>   .gitlab-ci.d/qemu-project.yml |  1 +\n>>   tests/lcitool/refresh         | 11 ++++++++\n>>   4 files changed, 77 insertions(+)\n>>   create mode 100644 .gitlab-ci.d/macos-14.vars\n>>   create mode 100644 .gitlab-ci.d/macos.yml\n>> diff --git a/.gitlab-ci.d/macos-14.vars b/.gitlab-ci.d/macos-14.vars\n>> new file mode 100644\n>> index 00000000000..def77cfdea5\n>> --- /dev/null\n>> +++ b/.gitlab-ci.d/macos-14.vars\n>> @@ -0,0 +1,16 @@\n>> +# THIS FILE WAS AUTO-GENERATED\n>> +#\n>> +#  $ lcitool variables macos-14 qemu\n>> +#\n>> +# https://gitlab.com/libvirt/libvirt-ci\n>> +\n>> +CCACHE='/opt/homebrew/bin/ccache'\n>> +CPAN_PKGS=''\n>> +CROSS_PKGS=''\n>> +MAKE='/opt/homebrew/bin/gmake'\n>> +NINJA='/opt/homebrew/bin/ninja'\n>> +PACKAGING_COMMAND='brew'\n>> +PIP3='/opt/homebrew/bin/pip3'\n>> +PKGS='bash bc bindgen bison bzip2 capstone ccache cmocka coreutils\n>> ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed\n>> gnutls gtk+3 gtk-vnc jemalloc jpeg-turbo json-c libcbor libepoxy\n>> libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1\n>> libusb llvm lzo make meson mtools ncurses nettle ninja pixman\n>> pkg-config python-setuptools python3 rpm2cpio rust sdl2 sdl2_image\n>> snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3\n>> vulkan-tools xorriso zlib zstd'\n>> +PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme tomli'\n>> +PYTHON='/opt/homebrew/bin/python3'\n>> diff --git a/.gitlab-ci.d/macos.yml b/.gitlab-ci.d/macos.yml\n>> new file mode 100644\n>> index 00000000000..edb500e937b\n>> --- /dev/null\n>> +++ b/.gitlab-ci.d/macos.yml\n>> @@ -0,0 +1,49 @@\n>> +.macos_job_template:\n>> +  extends: .base_job_template\n>> +  stage: build\n>> +  tags:\n>> +    - saas-macos-large-m2pro\n>> +  needs: []\n>> +  timeout: 80m\n>> +  artifacts:\n>> +    name: \"$CI_JOB_NAME-$CI_COMMIT_REF_SLUG\"\n>> +    expire_in: 7 days\n>> +    paths:\n>> +      - build/meson-logs/\n>> +      - build/tests/tcg/\n>> +    reports:\n>> +      junit: build/meson-logs/*.junit.xml\n>> +    when: always\n>> +  before_script:\n>> +    - set -o allexport\n>> +    - source .gitlab-ci.d/macos-14.vars\n>> +    - set +o allexport\n>> +    - export PATH=\"$PATH_EXTRA:$PATH\"\n>> +    - export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"\n>> +    - brew update\n>> +    - brew install $PKGS\n>> +    - brew install gdb aarch64-elf-gcc i686-elf-gcc x86_64-elf-gcc\n>> +    - python3 ./scripts/probe-gdb-support.py $(which gdb)\n>\n> Is the probe-gdb-support.py required here? If not, I'd rather remove\n> that line again.\n>\n>> +    - if test -n \"$PYPI_PKGS\" ; then PYLIB=$($PYTHON -c 'import sysconfig; print(sysconfig.get_path(\"stdlib\"))'); rm -f $PYLIB/EXTERNALLY-MANAGED; $PIP3 install --break-system-packages $PYPI_PKGS ; fi\n>> +  script:\n>> +    - mkdir build\n>> +    - cd build\n>> +    - env\n>\n> dito, the \"env\" looks like debugging leftovers ... I'd rather drop it.\n>\n\nYes both are debug left overs. Will fix.\n\n>> +    - ../configure --enable-werror $CONFIGURE_ARGS || { cat config.log meson-logs/meson-log.txt; exit 1; }\n>> +    - $MAKE -j$(sysctl -n hw.ncpu)\n>> +    - for TARGET in $TEST_TARGETS ; do $MAKE $TARGET ; done\n>> +\n>> +aarch64-macos-15-build:\n>> +  extends: .macos_job_template\n>> +  image: macos-15-xcode-16\n>> +  variables:\n>> +    NAME: macos-15\n>> +    PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin\n>\n> As far as I can see, there is no cache configured for this runner ...\n> so could you please drop the ccache stuff from this patch? It will\n> only slow down compilation if the results get thrown away afterwards.\n\nYeah will drop that. The machine is beefy enough and the job duration is\n~12 mins and most of that is installing brew bits.\n\n>\n>  Thomas\n>\n>> +    PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig\n>> +    CONFIGURE_ARGS:\n>> +        --target-list=aarch64-softmmu,i386-softmmu,x86_64-softmmu\n>> +        --cross-prefix-aarch64=aarch64-elf-\n>> +        --cross-prefix-i386=i686-elf-\n>> +        --cross-prefix-x86_64=x86_64-elf-\n>> +        --disable-plugins\n>> +    TEST_TARGETS: check-unit check-tcg\n>> diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml\n>> index 4d914c4897b..9cbb5fe787f 100644\n>> --- a/.gitlab-ci.d/qemu-project.yml\n>> +++ b/.gitlab-ci.d/qemu-project.yml\n>> @@ -19,3 +19,4 @@ include:\n>>     - local: '/.gitlab-ci.d/custom-runners.yml'\n>>     - local: '/.gitlab-ci.d/cirrus.yml'\n>>     - local: '/.gitlab-ci.d/windows.yml'\n>> +  - local: '/.gitlab-ci.d/macos.yml'\n>> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh\n>> index fa4a16e3583..4289cc381a6 100755\n>> --- a/tests/lcitool/refresh\n>> +++ b/tests/lcitool/refresh\n>> @@ -87,6 +87,12 @@ def generate_cirrus(target, trailer=None):\n>>       generate(filename, cmd, trailer)\n>>     +def generate_vars(target, trailer=None):\n>> +    filename = Path(src_dir, \".gitlab-ci.d\", target + \".vars\")\n>> +    cmd = lcitool_cmd + [\"variables\", \"--format\", \"shell\", target, \"qemu\"]\n>> +    generate(filename, cmd, trailer)\n>> +\n>> +\n>>   def generate_pkglist(vm, target, project=\"qemu\"):\n>>       filename = Path(src_dir, \"tests\", \"vm\", \"generated\", vm + \".json\")\n>>       cmd = lcitool_cmd + [\"variables\", \"--format\", \"json\", target, project]\n>> @@ -312,6 +318,11 @@ try:\n>>       #\n>>       generate_cirrus(\"freebsd-14\")\n>>   +    #\n>> +    # GitLab packages lists\n>> +    #\n>> +    generate_vars(\"macos-14\")\n>> +\n>>       #\n>>       # VM packages lists\n>>       #","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=bWTt1ak5;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8zbt3Jb1z1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 23:18:34 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wKFf8-000779-4k; Tue, 05 May 2026 09:18:10 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wKFf6-00076I-9T\n for qemu-devel@nongnu.org; Tue, 05 May 2026 09:18:08 -0400","from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <alex.bennee@linaro.org>)\n id 1wKFf3-0004hp-5k\n for qemu-devel@nongnu.org; Tue, 05 May 2026 09:18:07 -0400","by mail-wm1-x32e.google.com with SMTP id\n 5b1f17b1804b1-488ba840146so46077655e9.1\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 06:18:04 -0700 (PDT)","from draig.lan ([185.124.0.195]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-45052a48c04sm4512005f8f.15.2026.05.05.06.18.02\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 06:18:02 -0700 (PDT)","from draig (localhost [IPv6:::1])\n by draig.lan (Postfix) with ESMTP id 891685F8E7;\n Tue, 05 May 2026 14:18:01 +0100 (BST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777987083; x=1778591883; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:user-agent\n :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=Ar1rOur+4l4JeHNOGjq46BVBA9xUcd+1UWbkzSZd4MY=;\n b=bWTt1ak5BtCbkAP0fCBTCmq20inpqj+jBUTeh1JwLFaZUF3KEi72N5xfG8bGi7EfxY\n e7pN37bzGM/tmXjw/E1lL3TmxbJY75FSckoQ1m2uRyh1XPuLk+kBRb4JXmtw95z//hxH\n pEyz+IC3QuwCnQL3F3gs/7yZMZH+EOuVr1xkIsd5snrYoS+xtKqfqLDvCmpvKMzYGRDc\n buANogo8AkJnrd9d1pLTdqLcyIO2d07vEDBdbP+J44nLVLdcXrxKm13EsLSVeHawfZVt\n 01RgkEC8afALw+WgoIYjDbS3UsHxDXLP7fjwf3oo0crW409hDIzEP9+Ydg9SHr0GkCVd\n bYKA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777987083; x=1778591883;\n h=content-transfer-encoding:mime-version:message-id:date:user-agent\n :references:in-reply-to:subject:cc:to:from:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=Ar1rOur+4l4JeHNOGjq46BVBA9xUcd+1UWbkzSZd4MY=;\n b=kLDlYxp8UpfVrv0upZ4b7+3dFmwk70kWmW4lTwHAZYCLFloR1Mrc6edfeGut/i5jlp\n cqoEb9rxjBsIp8JpdL4ixkhUgrjSsrceYonARs5Q1J81jTb527nY6cw5WbxkS88N4UM7\n qfFdkMkpRdNA/ao7qhnBIIUUlQNduMmRCRwe7oB5X+G3zDXtaKyiwlJoYV/UHGYYNffh\n ihjfvbeXHwbuTxUKwyQPisHaIu0D1ckw6MYDm0iHaNesIUK6Uk4YVFB+mfBPoKEKU569\n fW4dRfH3TKSW678oe5iiBnkz/pABZEKWtq35mq7xrzh97TQnOStRlNNVNH1O0Lm4Ac6B\n 7Uzg==","X-Gm-Message-State":"AOJu0Yy8faPlcHBO47N3jrFdyr2lNoSQNvj6bCl7EgrfUDxwAeEK8uXq\n 65HPYgVKX122VcMPxeaf02D6c+A+GoMCQHkAyBBRmJVi22fRzyTtuQQTErQoklo+l6s=","X-Gm-Gg":"AeBDiesa0VGjLSGN1VN6K2BM81//z5owTrtYCDtzAuBjfdvsYSFvbq75jo/d0Cb7jF+\n QUplE1EcXITM3xvE6ATKp9xbBf52FqHT+TjuS4Y7tA41vtpboBp/UlsXNnFR+JtcEdyhyj+yHwg\n 9k9beFkD1+nGNqZPuB3YdOpmcA/iP4p/S0lXerZPpQkVuF/Ban3GqpReFuPuWYAjSvoJJ4GJAp6\n ABi9OXoEtvshvpox8bgsH2LX7p47j+nn9mrjbnYW96Y+qO8k2CTXpCiqr8HdLB04rfpor9EBstV\n 2BG38hh6dWQmQ6wL8SSsTGYY85JfmOA0eyoSuDDAKwE65nYqep+oBXolhun9h6w0P1pbN7NPt9E\n cjvfMl9NGTShI4tuI3cpjfwG1tHBorG9Xwt0cEGLCyB7WOLvnn6rN0w8PFWVJp32ThbiORDkFqb\n HxkbtkKN/8obCe4QKyak+cQsLsu1tUQkwCwg==","X-Received":"by 2002:a05:600c:1991:b0:488:ac01:72b6 with SMTP id\n 5b1f17b1804b1-48d18be473dmr51416455e9.21.1777987083403;\n Tue, 05 May 2026 06:18:03 -0700 (PDT)","From":"=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>","To":"Thomas Huth <thuth@redhat.com>","Cc":"qemu-devel@nongnu.org,  Thomas Huth <th.huth+qemu@posteo.eu>,\n  Pierrick Bouvier <pierrick.bouvier@linaro.org>,  qemu-arm@nongnu.org,\n  Peter Xu <peterx@redhat.com>,\n  Daniel P. =?utf-8?b?QmVycmFuZ8Op?= <berrange@redhat.com>,\n  Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,\n  Brad Smith <brad@comstyle.com>,  Fabiano Rosas <farosas@suse.de>,\n  Kyle Evans <kevans@freebsd.org>,  Peter Maydell <peter.maydell@linaro.org>,\n  Paolo Bonzini <pbonzini@redhat.com>,  Warner Losh <imp@bsdimp.com>,\n  Richard Henderson <richard.henderson@linaro.org>,  Philippe =?utf-8?q?Math?=\n\t=?utf-8?q?ieu-Daud=C3=A9?= <philmd@linaro.org>","Subject":"Re: [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner","In-Reply-To":"<1993d589-5e6c-4b60-a2f0-c5e61f88b961@redhat.com> (Thomas Huth's\n message of \"Tue, 5 May 2026 13:44:07 +0200\")","References":"<20260505103649.68361-1-alex.bennee@linaro.org>\n <20260505103649.68361-5-alex.bennee@linaro.org>\n <1993d589-5e6c-4b60-a2f0-c5e61f88b961@redhat.com>","User-Agent":"mu4e 1.14.1; emacs 30.1","Date":"Tue, 05 May 2026 14:18:01 +0100","Message-ID":"<87se86m1va.fsf@draig.linaro.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","Received-SPF":"pass client-ip=2a00:1450:4864:20::32e;\n envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]