Toolchain+Ports: Consolidate version information for QEMU

This consolidates version information, archive's download location,
filename and SHA256 checksum into version.sh. This file is then sourced
from the port script and toolchain build script.

The version.sh script contains the following variables:
- QEMU_VERSION           - Version number
- QEMU_ARCHIVE           - Filename
- QEMU_ARCHIVE_URL       - Full url to download location
- QEMU_ARCHIVE_SHA256SUM - The SHA256 checksum
This commit is contained in:
Kenneth Myhra 2023-04-15 23:14:11 +02:00 committed by Andreas Kling
parent 54e01824c7
commit 1cc095c5ab
Notes: sideshowbarker 2024-07-16 21:39:23 +09:00
3 changed files with 21 additions and 16 deletions

View File

@ -1,6 +1,9 @@
#!/usr/bin/env -S bash ../.port_include.sh
source version.sh
port='qemu'
version='7.2.0'
version="${QEMU_VERSION}"
useconfigure='true'
configopts=(
'--target-list=aarch64-softmmu,i386-softmmu,x86_64-softmmu'
@ -20,8 +23,8 @@ depends=(
'pixman'
'SDL2'
)
files="https://download.qemu.org/qemu-${version}.tar.xz qemu-${version}.tar.xz 5b49ce2687744dad494ae90a898c52204a3406e84d072482a1e1be854eeb2157"
auth_type='sha256'
files="${QEMU_ARCHIVE_URL} ${QEMU_ARCHIVE} ${QEMU_ARCHIVE_SHA256SUM}"
pre_patch() {
# Disable tests (those need way more stuff than QEMU itself) by clearing the respective meson file.

4
Ports/qemu/version.sh Normal file
View File

@ -0,0 +1,4 @@
QEMU_VERSION="7.2.0"
QEMU_ARCHIVE="qemu-${QEMU_VERSION}.tar.xz"
QEMU_ARCHIVE_URL="https://download.qemu.org/${QEMU_ARCHIVE}"
QEMU_ARCHIVE_SHA256SUM="5b49ce2687744dad494ae90a898c52204a3406e84d072482a1e1be854eeb2157"

View File

@ -11,8 +11,8 @@ PREFIX="$DIR/Local/qemu"
BUILD=$(realpath "$DIR/../Build")
SYSROOT="$BUILD/Root"
QEMU_VERSION=${QEMU_VERSION:="qemu-7.1.0"}
QEMU_MD5SUM=${QEMU_MD5SUM:="3be5458a9171b4ec5220c65d5d52bdcf"}
# shellcheck source=/dev/null
source "${DIR}/../Ports/qemu/version.sh"
echo PREFIX is "$PREFIX"
echo SYSROOT is "$SYSROOT"
@ -20,24 +20,21 @@ echo SYSROOT is "$SYSROOT"
mkdir -p "$DIR/Tarballs"
pushd "$DIR/Tarballs"
md5="$(md5sum $QEMU_VERSION.tar.xz | cut -f1 -d' ')"
if [ ! -e "$QEMU_VERSION.tar.xz" ] || [ "$md5" != "$QEMU_MD5SUM" ]; then
curl -C - -O "https://download.qemu.org/$QEMU_VERSION.tar.xz"
if [ ! -e "${QEMU_ARCHIVE}" ]; then
curl -C - -O "${QEMU_ARCHIVE_URL}"
else
echo "Skipped downloading $QEMU_VERSION"
echo "Skipped downloading ${QEMU_ARCHIVE}"
fi
md5="$(md5sum $QEMU_VERSION.tar.xz | cut -f1 -d' ')"
echo "qemu md5='$md5'"
if [ "$md5" != "$QEMU_MD5SUM" ] ; then
echo "qemu md5 sum mismatching, please run script again."
rm -f $QEMU_VERSION.tar.xz
if ! sha256sum --status -c <(echo "${QEMU_ARCHIVE_SHA256SUM}" "${QEMU_ARCHIVE}"); then
echo "qemu sha256 sum mismatching, please run script again."
rm -f "${QEMU_ARCHIVE}"
exit 1
fi
if [ ! -d "$QEMU_VERSION" ]; then
echo "Extracting qemu..."
tar -xf "$QEMU_VERSION.tar.xz"
tar -xf "${QEMU_ARCHIVE}"
else
echo "Skipped extracting qemu"
fi
@ -61,9 +58,10 @@ fi
echo Using $UI_LIB based UI
pushd "$DIR/Build/qemu"
"$DIR"/Tarballs/$QEMU_VERSION/configure --prefix="$PREFIX" \
"$DIR"/Tarballs/qemu-"${QEMU_VERSION}"/configure --prefix="$PREFIX" \
--target-list=aarch64-softmmu,x86_64-softmmu \
--enable-$UI_LIB || exit 1
--enable-$UI_LIB \
--enable-slirp || exit 1
make -j "$MAKEJOBS" || exit 1
make install || exit 1
popd