diff --git a/common/shlibs b/common/shlibs index eff504f95e145f..4b6d82152dc149 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4599,3 +4599,4 @@ libgpiodcxx.so.2 libgpiod-2.2_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 +libkrun.so.1 libkrun-1.19.3_1 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 +} 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 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 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 +}