Files
2026-08-18 01:51:35 -04:00

42 lines
1.6 KiB
Plaintext

/*
* meson — the build system.
*
* Pure-python; installed by a plain file copy (no setuptools dependency):
* meson.py becomes /usr/bin/meson and mesonbuild/ lands in the store
* python's site-packages. At runtime meson shells out to pkg-config and
* ninja, so both must be on PATH when meson is used.
*/
package "meson" {
const version = "1.12.0"
const source = "https://github.com/mesonbuild/meson/archive/refs/tags/${version}.tar.gz"
sha256 = "5ab1c86446d9dfe073f07141088cde545e43f8ddb2f97ebe3f600ab12e77ca1f"
license = "Apache-2.0"
provides = ["meson"]
depends = [
{ name = "python" },
{ name = "pkgconf" },
]
prepare {
curl -L -o meson-${version}.tar.gz ${source}
echo "5ab1c86446d9dfe073f07141088cde545e43f8ddb2f97ebe3f600ab12e77ca1f meson-${version}.tar.gz" | sha256sum -c -
tar xf meson-${version}.tar.gz --strip-components=1
ROOT=$KAPPA_ROOT; [ -z $ROOT ] && ROOT=/usr/local/kappa; if [ -d $ROOT/temp/python/destdir/usr/bin ]; then echo $ROOT/temp/python/destdir/usr/bin; else echo $ROOT/bin/$(grep '^python ' $ROOT/db/installed | tail -1 | cut -d' ' -f3)/usr/bin; fi > py.path
}
// Installs mesonbuild NEXT TO the script: meson.py's own self-fixup adds
// its directory to sys.path when mesonbuild is a sibling, so no
// PYTHONPATH games are needed in the store. meson.py ships +x.
build {
mkdir -p ${destdir}/usr/bin
cp meson.py ${destdir}/usr/bin/meson
cp -r mesonbuild ${destdir}/usr/bin/mesonbuild
}
install {
true
}
}