From 5eee952cd7c94c0ae510234cec24f558d43e9354 Mon Sep 17 00:00:00 2001 From: "Lance R. Vick" Date: Mon, 9 Sep 2024 23:09:52 -0700 Subject: [PATCH] feat: enable more qemu features --- packages/libslirp/Containerfile | 50 +++++++++++++++++++++++++++++++++ packages/qemu/Containerfile | 8 +++++- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 packages/libslirp/Containerfile diff --git a/packages/libslirp/Containerfile b/packages/libslirp/Containerfile new file mode 100644 index 0000000..a43df18 --- /dev/null +++ b/packages/libslirp/Containerfile @@ -0,0 +1,50 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=4.8.0 +ENV SRC_HASH=378216c88c021c9ed7de9006db291127d30a0da94a23dffefdb26b26a5849bf7 +ENV SRC_FILE=libslirp-${VERSION}.tar.gz +ENV SRC_SITE=https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/python . / +COPY --from=stagex/zlib . / +COPY --from=stagex/bzip2 . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/ncurses . / +COPY --from=stagex/meson . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/pcre2 . / +COPY --from=stagex/python . / +COPY --from=stagex/bison . / +COPY --from=stagex/flex . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/xz . / +COPY --from=stagex/ninja . / +COPY --from=stagex/glib . / +COPY --from=stagex/linux-headers . / +RUN tar -xf ${SRC_FILE} +WORKDIR /libslirp-v${VERSION}-ce314e39458223c2c42245fe536fbe1bcd94e9b1 +RUN --network=none <<-EOF + set -eux + meson setup \ + --default-library=shared \ + --prefix=/usr \ + . output + meson compile -C output + meson install --no-rebuild -C output +EOF + +FROM build AS install +RUN DESTDIR=/rootfs meson install --no-rebuild -C output +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/qemu/Containerfile b/packages/qemu/Containerfile index f386e1f..7a4521c 100644 --- a/packages/qemu/Containerfile +++ b/packages/qemu/Containerfile @@ -48,6 +48,7 @@ COPY --from=stagex/libaio . / COPY --from=stagex/libzstd . / COPY --from=stagex/libseccomp . / COPY --from=stagex/libcap-ng . / +COPY --from=stagex/libslirp . / COPY --from=stagex/alsa-lib . / COPY --from=stagex/ncurses . / COPY --from=stagex/curl . / @@ -99,6 +100,12 @@ RUN --network=none <<-EOF --enable-curses \ --enable-modules \ --enable-tpm \ + --enable-vhost-net \ + --enable-attr \ + --enable-linux-user \ + --enable-slirp \ + --enable-tcg \ + --disable-install-blobs \ --disable-docs \ --disable-sdl \ --disable-gtk \ @@ -115,7 +122,6 @@ RUN --network=none <<-EOF --disable-spice \ --disable-usb-redir \ --disable-vde \ - --disable-vhost-net \ --disable-virglrenderer \ --disable-virtfs \ --disable-vnc \