mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
131 lines
2.1 KiB
Bash
131 lines
2.1 KiB
Bash
SUMMARY="A meson implementation in C"
|
|
DESCRIPTION="Muon is a meson implementation in c99 with minimal dependencies"
|
|
HOMEPAGE="https://muon.build/"
|
|
COPYRIGHT="2022-2025 Stone Tickle"
|
|
LICENSE="GNU GPL v3"
|
|
REVISION="2"
|
|
SOURCE_URI="https://muon.build/releases/v$portVersion/muon-v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="9121f2521fb5037a87a922573b7fd886f0c4e7eb17696dd80901d810b9b56609"
|
|
SOURCE_DIR="muon-v$portVersion"
|
|
PATCHES="muon-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
# Bootstrap build fails pretty early on.
|
|
BOOSTRAP_BUILD=false
|
|
|
|
PROVIDES="
|
|
muon$secondaryArchSuffix = $portVersion
|
|
cmd:muon = $portVersion
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libarchive$secondaryArchSuffix
|
|
lib:libcurl$secondaryArchSuffix
|
|
lib:libpkgconf$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libarchive$secondaryArchSuffix
|
|
devel:libcurl$secondaryArchSuffix
|
|
devel:libpkgconf$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:sed
|
|
cmd:gcc$secondaryArchSuffix
|
|
"
|
|
|
|
if $BoostrapBuild; then
|
|
BUILD_PREREQUIRES+="
|
|
cmd:ninja
|
|
cmd:meson
|
|
"
|
|
fi
|
|
|
|
BUILD_BOOSTRAP()
|
|
{
|
|
export CC=gcc
|
|
|
|
# Stage 1
|
|
./bootstrap.sh build
|
|
|
|
# Stage 2
|
|
CFLAGS="-Dprefix=$prefix" \
|
|
build/muon-bootstrap setup build
|
|
|
|
build/muon-bootstrap -C build samu
|
|
}
|
|
|
|
|
|
BUILD_NON_BOOSTRAP()
|
|
{
|
|
unset meson
|
|
meson setup build \
|
|
--buildtype=release \
|
|
--prefix="$prefix" \
|
|
--bindir=$prefix/bin \
|
|
-Ddocs=disabled \
|
|
-Dwebsite=false
|
|
ninja -C build
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
if $BOOSTRAP_BUILD; then
|
|
BUILD_BOOSTRAP
|
|
else
|
|
BUILD_NON_BOOSTRAP
|
|
fi
|
|
}
|
|
|
|
|
|
INSTALL_BOOSTRAP()
|
|
{
|
|
build/muon install -C build
|
|
}
|
|
|
|
INSTALL_NON_BOOSTRAP()
|
|
{
|
|
unset meson
|
|
meson install -C build
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
if $BOOSTRAP_BUILD; then
|
|
INSTALL_BOOSTRAP
|
|
else
|
|
INSTALL_NON_BOOSTRAP
|
|
fi
|
|
}
|
|
|
|
|
|
TEST_BOOSTRAP()
|
|
{
|
|
build/muon test -C build
|
|
}
|
|
|
|
TEST_NON_BOOSTRAP()
|
|
{
|
|
unset meson
|
|
meson test -C build
|
|
}
|
|
|
|
# For reference, results on beta5 64 bits:
|
|
# Ok: 291
|
|
# Expected Fail: 3
|
|
# Fail: 38
|
|
# Unexpected Pass: 0
|
|
# Skipped: 16
|
|
# Timeout: 2
|
|
TEST()
|
|
{
|
|
if $BOOSTRAP_BUILD; then
|
|
TEST_BOOSTRAP
|
|
else
|
|
TEST_NON_BOOSTRAP
|
|
fi
|
|
}
|