main/libucontext: add bootstrap variant

this serves as dependency for the gcc-gdc cross-compiler in bootstrap.sh
which is a requirement for bootstrapping GDC on new archs since GCC 12
(ref: Caveat #5 in https://gcc.gnu.org/gcc-12/changes.html)

the approach taken here is to not build the -doc subpackage and not
include the libucontext.pc in libucontext-dev, when BOOTSTRAP=nobase,
if the pkgconfig file is included, abuild auto-traces a dependency on
`pkgconfig`, meaning that will also need to be built when BOOTSTRAP=nobase

on the next pass when BOOTSTRAP=bootimage, abuild will see that the -doc
subpackage is unavailable, and rebuild this aport with the full cross compiler
This commit is contained in:
Celeste 2024-08-24 15:33:03 +00:00 committed by Ariadne Conill
parent 3d2fbde8ff
commit 12faa27b1c

View file

@ -6,8 +6,11 @@ pkgdesc="ucontext function implementations"
url="https://github.com/kaniini/libucontext"
arch="all"
license="ISC"
subpackages="$pkgname-dev $pkgname-doc"
makedepends="scdoc"
subpackages="$pkgname-dev"
if [ "$BOOTSTRAP" != "nobase" ]; then
subpackages="$subpackages $pkgname-doc"
makedepends="scdoc"
fi
source="https://distfiles.ariadne.space/libucontext/libucontext-$pkgver.tar.xz"
case "$CTARGET_ARCH" in
@ -18,7 +21,9 @@ esac
build() {
make ARCH="$LIBUCONTEXT_ARCH"
make ARCH="$LIBUCONTEXT_ARCH" docs
if [ "$BOOTSTRAP" != "nobase" ]; then
make ARCH="$LIBUCONTEXT_ARCH" docs
fi
}
check() {
@ -26,7 +31,16 @@ check() {
}
package() {
make ARCH="$LIBUCONTEXT_ARCH" DESTDIR="$pkgdir" install install_docs
case "$BOOTSTRAP" in
nobase)
# omit pkgconfig files during bootstrap to
# avoid auto-tracing a dependency on that
make ARCH="$LIBUCONTEXT_ARCH" DESTDIR="$pkgdir" pkgconfigdir=/.omit install
;;
*)
make ARCH="$LIBUCONTEXT_ARCH" DESTDIR="$pkgdir" install install_docs
;;
esac
}
sha512sums="