SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "qemu"

# SliTaz package receipt.

PACKAGE="qemu"
VERSION="6.2.0"
CATEGORY="misc"
SHORT_DESC="General-purpose full virtualizer for x86 hardware."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="GPL2"
TARBALL="$PACKAGE-$VERSION.tar.bz2"
WEB_SITE="https://www.qemu.org"
WGET_URL="https://wiki.qemu.org/download/$TARBALL"
UEFIZIP="OVMF-IA32-r15214.zip OVMF-X64-r15214.zip"
EXTRA_SOURCE_FILES="$UEFIZIP"
TAGS="virtualization emulator"

DEPENDS="alsa-lib gnutls libsdl bluez libtasn1 libsasl vde2 libcurl ncurses \
attr util-linux-uuid libgio glib libusb zlib liblzma pixman libsdl2"
BUILD_DEPENDS="gettext perl alsa-lib-dev gnutls-dev libsdl2-dev bluez-dev \
libtasn1-dev vde2-dev curl-dev attr-dev util-linux-uuid-dev libgio-dev \
glib-dev autoconf automake libtool bison flex libusb-dev ncurses-dev xz-dev \
file ninja meson pixman-dev libsdl2-dev"

# What is the latest version available today?
current_version()
{
    wget -O - $WEB_SITE 2>/dev/null | sed '/tar..z/!d;s|.*">||;s|</.*||;q'
}

# Rules to configure and make the package.
compile_rules()
{
    sed -i 's|uname -m|echo i486|' roms/openbios/utils/devbios/Makefile*
    mkdir -p $DESTDIR/usr/share/qemu/ia32 $DESTDIR/usr/share/qemu/x64

    for i in $UEFIZIP ; do
        [ -s $SOURCES_REPOSITORY/$i ] || wget -P $SOURCES_REPOSITORY \
            $SF_MIRROR/project/edk2/OVMF/$i
        unzip $SOURCES_REPOSITORY/$i OVMF.fd -d \
          $DESTDIR/usr/share/qemu/$(echo $i | sed 's|OVMF-\(.*\)-.*|\1|;y|AIX|aix|')
    done

    #patch -p0 < $stuff/cloop.u

    TARGET="i386-softmmu, x86_64-softmmu, \
    arm-softmmu, ppc-softmmu, mips-softmmu, mipsel-softmmu"

    export LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries"
    #--cross-prefix= --host-cc=

    mkdir build && cd build
    ../configure \
        --prefix=/usr \
        --sysconfdir=/etc \
        --enable-kvm \
        --enable-vde \
        --enable-sdl \
        --enable-curses \
        --disable-attr \
        --audio-drv-list=sdl,alsa,oss \
        --target-list="$TARGET" \
        --cc=$BUILD_SYSTEM-gcc

    ninja &&
    DESTDIR=$DESTDIR ninja install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    mkdir -p $fs/usr/bin $fs/usr/share $fs/etc/udev/rules.d

    cp -a $install/usr/bin/qemu-*-i386 $fs/usr/bin
    cp -a $install/usr/bin/qemu-ga $fs/usr/bin
    cp -a $install/usr/bin/qemu-io $fs/usr/bin
    cp -a $install/usr/bin/qemu-img $fs/usr/bin
    cp -a $install/usr/bin/qemu-nbd $fs/usr/bin

    cp -a $install/usr/share/qemu $fs/usr/share
    cp -a $src/docs $install/usr/share/doc

    # Remove unneeded bios binaries
    rm -f $fs/usr/share/qemu/*ppc*
    rm -f $fs/usr/share/qemu/*sparc*

    # Create qemu symlink
    cd $fs/usr/bin && ln -s qemu-system-i386 $PACKAGE

    # Add udev rule for kvm access
    cp $stuff/65-kvm.rules $fs/etc/udev/rules.d
}

pre_remove()
{
    chroot "$1/" delgroup kvm
}

post_install()
{
    grep -qs kvm "$1/etc/group" || chroot "$1/" addgroup -S kvm
    echo ''
    echo "add yourself to kvm group if you want to use kvm acceleration"
    echo "su -c \"addgroup <username> kvm\" or \"subox \$USER kvm\""

    # Ask udev to reload rules
    udevadm trigger
}
6025 packages and 203154 files in current database (Thu Apr 25 06:17:47 2024)