From cbf5f1ccf722c3f4d00771e673a1afb5e5c4954b Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 03:21:58 -0400 Subject: [PATCH 01/10] New package: libkrun-1.19.3 --- srcpkgs/libkrun/template | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 srcpkgs/libkrun/template diff --git a/srcpkgs/libkrun/template b/srcpkgs/libkrun/template new file mode 100644 index 00000000000000..46a1dc1cab6bc3 --- /dev/null +++ b/srcpkgs/libkrun/template @@ -0,0 +1,16 @@ +# Template file for 'libkrun' +pkgname=libkrun +version=1.19.3 +revision=1 +build_style=gnu-makefile +make_build_args="GPU=1 BLK=1 NET=1" +make_install_args="GPU=1 BLK=1 NET=1" +hostmakedepends="clang21-devel clang21-headers pkg-config libclang patchelf rust cargo virglrenderer-devel libkrunfw" +depends="libkrunfw" +short_desc="Dynamic library providing Virtualization-based process isolation" +maintainer="Kira T. Patton " +license="Apache-2.0" +homepage="https://github.com/libkrun/libkrun/" +changelog="https://github.com/libkrun/libkrun/releases/tag/v${version}" +distfiles="https://github.com/libkrun/libkrun/archive/refs/tags/v${version}.tar.gz" +checksum=955b0d948f1d1cf315c55ea92b55d5251928e6ec6f6aa6697cea95afccd4d2b0 From 035b843f3565c207b5fdd7a79ad88b7e64057552 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 03:22:09 -0400 Subject: [PATCH 02/10] virglrenderer: add asahi native-context and venus support. --- common/shlibs | 3 ++- srcpkgs/virglrenderer/template | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/shlibs b/common/shlibs index 4f8990fdf1ad76..422aff90301033 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2814,7 +2814,7 @@ libsignon-qt6.so.1 signond-8.61_2 libsignon-plugins-common.so.1 signond-8.61_2 libsignon-extension.so.1 signond-8.61_2 libj4status-plugin.so.0 j4status-0.1_1 -libvirglrenderer.so.1 virglrenderer-0.5.0_1 +libvirglrenderer.so.1 virglrenderer-0.5.0_2 libglpk.so.40 glpk-4.60_1 libipmimonitoring.so.6 freeipmi-1.5.7_1 libipmiconsole.so.2 freeipmi-1.5.1_1 @@ -4602,3 +4602,4 @@ libigloo.so.0 libigloo-0.9.5_1 libfyaml.so.0 libfyaml-0.9.6_1 libcpptrace.so.1 cpptrace-1.0.4_1 libcgif.so.0 cgif-0.5.3_1 +libkrun.so.0 libkrun-1.19.3_1 diff --git a/srcpkgs/virglrenderer/template b/srcpkgs/virglrenderer/template index fecd10e43b728b..bf4b90a8419b77 100644 --- a/srcpkgs/virglrenderer/template +++ b/srcpkgs/virglrenderer/template @@ -1,8 +1,9 @@ # Template file for 'virglrenderer' pkgname=virglrenderer version=1.3.0 -revision=1 +revision=2 build_style=meson +configure_args="-D venus=true -D drm-renderers=asahi" hostmakedepends="pkg-config python3-yaml" makedepends="libepoxy-devel MesaLib-devel" short_desc="Virgl GL renderer library" From 577a20392ce39b9c1b75d0cd2e2e81a3d06d9ae4 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 03:23:07 -0400 Subject: [PATCH 03/10] New package: libkrunfw-5.5.0 --- srcpkgs/libkrunfw/template | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 srcpkgs/libkrunfw/template diff --git a/srcpkgs/libkrunfw/template b/srcpkgs/libkrunfw/template new file mode 100644 index 00000000000000..9806686aa0561a --- /dev/null +++ b/srcpkgs/libkrunfw/template @@ -0,0 +1,15 @@ +# Template file for 'libkrunfw' +pkgname=libkrunfw +version=5.5.0 +revision=1 +build_style=gnu-makefile +hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel \ + pkg-config cpio openssl-devel perl pahole python3 zstd \ + curl python3-pyelftools" +short_desc="Dynamic library bundling the guest payload consumed by libkrun" +maintainer="Kira T. Patton " +license="GPL-2.0-only" +homepage="https://github.com/libkrun/libkrunfw/" +changelog="https://github.com/libkrun/libkrunfw/releases/tag/v${version}" +distfiles="https://github.com/libkrun/libkrunfw/archive/refs/tags/v${version}.tar.gz" +checksum=b0cbf1450269c80aea1dccbf440011deb2762a098b338c234079a6ef06456ead From 3407a8becc38ce50dab91bb7bf460290d44f2399 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 03:23:15 -0400 Subject: [PATCH 04/10] New package: FEX-2605 --- srcpkgs/FEX/template | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 srcpkgs/FEX/template diff --git a/srcpkgs/FEX/template b/srcpkgs/FEX/template new file mode 100644 index 00000000000000..ad243f98f6ce6c --- /dev/null +++ b/srcpkgs/FEX/template @@ -0,0 +1,26 @@ +# Template file for 'FEX' +pkgname=FEX +version=2605 +revision=1 +archs="aarch64" +build_style=cmake +make_cmd="ninja" +configure_args="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_BUILD_TYPE=Release -DUSE_LINKER=lld -DENABLE_LTO=True -DBUILD_TESTING=False -DENABLE_ASSERTIONS=False -G Ninja" +hostmakedepends="git pkgconf clang cmake lld llvm21-devel openssl-devel nasm + python3-setuptools squashfs-tools squashfuse erofs-utils qt6-declarative qt6-declarative-devel" +short_desc="Fast usermode x86 and x86-64 emulator for ARM64 Linux" +maintainer="Kira T. Patton " +license="MIT" +homepage="https://fex-emu.com" +changelog="https://github.com/FEX-Emu/FEX/releases/tag/FEX-${version}" +distfiles="https://github.com/FEX-Emu/FEX.git" +do_fetch() { + git clone --branch "FEX-${version}" --recurse-submodules ${distfiles} ${wrksrc} +} +do_extract() { + cd ${wrksrc} +} +post_install() { + vlicense ${wrksrc}/LICENSE +} From b23c0766c57adf41ae19c06d6e2e3015437913b2 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 03:23:19 -0400 Subject: [PATCH 05/10] New package: muvm-0.6.0 --- srcpkgs/muvm/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/muvm/template diff --git a/srcpkgs/muvm/template b/srcpkgs/muvm/template new file mode 100644 index 00000000000000..5ce21b6769f3f4 --- /dev/null +++ b/srcpkgs/muvm/template @@ -0,0 +1,19 @@ +# Template file for 'muvm' +pkgname=muvm +version=0.6.0 +revision=1 +archs="aarch64" +build_style=cargo +make_install_args="--path crates/muvm" +hostmakedepends="libkrun pkg-config llvm21-devel eudev-libudev-devel" +depends="FEX" +short_desc="Run x86 programs from ARM64 in a microVM" +maintainer="Kira T. Patton " +license="MIT" +homepage="https://github.com/AsahiLinux/muvm" +changelog="https://github.com/AsahiLinux/muvm/releases/tag/muvm-${version}" +distfiles="https://github.com/AsahiLinux/muvm/archive/refs/tags/muvm-${version}.tar.gz" +checksum=7e7f10bced9f99ee7d9c4def71cb785b5f648f100971fb32868dbb7f87ab1839 +post_install() { + vlicense ${wrksrc}/crates/muvm/LICENSE +} From 91ae9658588bbb74415f34a89c3cfe7f3ee378d8 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 16:39:22 -0400 Subject: [PATCH 06/10] mesa: add asahi native-context support --- srcpkgs/mesa/template | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template index b6065f4bbf164e..1779fde1365c1a 100644 --- a/srcpkgs/mesa/template +++ b/srcpkgs/mesa/template @@ -1,7 +1,7 @@ # Template file for 'mesa' pkgname=mesa version=26.1.3 -revision=1 +revision=2 build_style=meson build_helper="qemu" _llvmver=21 @@ -162,13 +162,14 @@ case "$XBPS_TARGET_MACHINE" in ;; esac -# x86 additionally gets intel, vmware and gallium nine +# x86 additionally gets intel, vmware, asahi native-context (for Apple Silicon FEX support) and gallium nine # aarch64 also gets vmware for VMware Fusion on Apple Silicon # arm gets its own drivers (for mali, tegra etc.) case "$XBPS_TARGET_MACHINE" in i686*|x86_64*) _have_intel=yes _have_vmware=yes + _have_nativeContext=yes ;; aarch64*) _have_arm=yes @@ -246,6 +247,14 @@ if [ "$_have_arm" ]; then subpackages+=" mesa-lima-dri mesa-panfrost-dri" fi +# native context Asahi support for a future FEX Void RootFS for Asahi Linux +if [ "$_have_nativeContext" ]; then + _have_vulkan=yes + _have_opencl=yes + _gallium_drivers+=",asahi" + _vulkan_drivers+=",asahi" +fi + if [ "$_have_virgl" ]; then _gallium_drivers+=",virgl" _vulkan_drivers+=",virtio" From 6d7b18ffb783f1f4d5fdb36bbe727d8a5111dae4 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 17:05:42 -0400 Subject: [PATCH 07/10] add kernel headers dependency --- srcpkgs/libkrunfw/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libkrunfw/template b/srcpkgs/libkrunfw/template index 9806686aa0561a..a5bb8b34ea3b48 100644 --- a/srcpkgs/libkrunfw/template +++ b/srcpkgs/libkrunfw/template @@ -3,7 +3,7 @@ pkgname=libkrunfw version=5.5.0 revision=1 build_style=gnu-makefile -hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel \ +hostmakedepends="tar xz bc elfutils-devel linux6.18-headers flex gmp-devel kmod libmpc-devel \ pkg-config cpio openssl-devel perl pahole python3 zstd \ curl python3-pyelftools" short_desc="Dynamic library bundling the guest payload consumed by libkrun" From 9a476d24e92ba1287800e5bd0c95d917efa884b8 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 17:07:54 -0400 Subject: [PATCH 08/10] libkrunfw: Revert "add kernel headers dependency" This reverts commit 6d7b18ffb783f1f4d5fdb36bbe727d8a5111dae4. --- srcpkgs/libkrunfw/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libkrunfw/template b/srcpkgs/libkrunfw/template index a5bb8b34ea3b48..9806686aa0561a 100644 --- a/srcpkgs/libkrunfw/template +++ b/srcpkgs/libkrunfw/template @@ -3,7 +3,7 @@ pkgname=libkrunfw version=5.5.0 revision=1 build_style=gnu-makefile -hostmakedepends="tar xz bc elfutils-devel linux6.18-headers flex gmp-devel kmod libmpc-devel \ +hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel \ pkg-config cpio openssl-devel perl pahole python3 zstd \ curl python3-pyelftools" short_desc="Dynamic library bundling the guest payload consumed by libkrun" From b28f3ecd11cfc4bbd4ba505a4f4d4563a38aad5f Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 17:08:56 -0400 Subject: [PATCH 09/10] libkrunfw: add kernel headers dependency --- srcpkgs/libkrunfw/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/libkrunfw/template b/srcpkgs/libkrunfw/template index 9806686aa0561a..a5bb8b34ea3b48 100644 --- a/srcpkgs/libkrunfw/template +++ b/srcpkgs/libkrunfw/template @@ -3,7 +3,7 @@ pkgname=libkrunfw version=5.5.0 revision=1 build_style=gnu-makefile -hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel \ +hostmakedepends="tar xz bc elfutils-devel linux6.18-headers flex gmp-devel kmod libmpc-devel \ pkg-config cpio openssl-devel perl pahole python3 zstd \ curl python3-pyelftools" short_desc="Dynamic library bundling the guest payload consumed by libkrun" From a9f5009f4e3c822b94a52201b4641d9899e546c5 Mon Sep 17 00:00:00 2001 From: "Kira T. Patton" Date: Sat, 4 Jul 2026 19:54:07 -0400 Subject: [PATCH 10/10] libkrunfw: fix package definition using Calandracas606's template for libkrunfw --- srcpkgs/libkrunfw/template | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/srcpkgs/libkrunfw/template b/srcpkgs/libkrunfw/template index a5bb8b34ea3b48..1fd556019c6bf9 100644 --- a/srcpkgs/libkrunfw/template +++ b/srcpkgs/libkrunfw/template @@ -2,14 +2,40 @@ pkgname=libkrunfw version=5.5.0 revision=1 +_kernel_version=6.12.91 build_style=gnu-makefile -hostmakedepends="tar xz bc elfutils-devel linux6.18-headers flex gmp-devel kmod libmpc-devel \ - pkg-config cpio openssl-devel perl pahole python3 zstd \ - curl python3-pyelftools" +hostmakedepends="python3-pyelftools tar xz bc cpio flex perl elfutils-devel" short_desc="Dynamic library bundling the guest payload consumed by libkrun" maintainer="Kira T. Patton " -license="GPL-2.0-only" +license="GPL-2.0-only AND LGPL-2.1-only" homepage="https://github.com/libkrun/libkrunfw/" changelog="https://github.com/libkrun/libkrunfw/releases/tag/v${version}" -distfiles="https://github.com/libkrun/libkrunfw/archive/refs/tags/v${version}.tar.gz" -checksum=b0cbf1450269c80aea1dccbf440011deb2762a098b338c234079a6ef06456ead +distfiles="https://github.com/containers/libkrunfw/archive/refs/tags/v${version}.tar.gz + ${KERNEL_SITE}/kernel/v${_kernel_version%%.*}.x/linux-${_kernel_version}.tar.xz" +checksum="b0cbf1450269c80aea1dccbf440011deb2762a098b338c234079a6ef06456ead + 0ff2ab9e169f9f1948557471fbb450d3018f8c5b77caf288e1a3982582597969" + +skip_extraction="linux-${_kernel_version}.tar.xz" + + +do_build() { + local _arch _cross + + case "$XBPS_TARGET_MACHINE" in + x86_64*) _arch=x86_64;; + aarch64*) _arch=arm64 ;; + esac + + if [ "$CROSS_BUILD" ]; then + _cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-" + fi + + export LDFLAGS= + + make ARCH=$_arch ${_cross} ${makejobs} +} + +post_extract() { + mkdir tarballs + vsrccopy linux-${_kernel_version}.tar.xz tarballs +}