/* * 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 } }