mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-09 10:24:15 +02:00
70 lines
2 KiB
Text
70 lines
2 KiB
Text
# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
|
|
|
|
_targets="
|
|
arm-none-eabi
|
|
riscv-none-elf
|
|
"
|
|
pkgname=picolibc
|
|
pkgver=1.8.10
|
|
_gccver=15.1.0
|
|
pkgrel=0
|
|
pkgdesc="A C standard library based on newlib with focus on compact size"
|
|
url="https://github.com/picolibc/picolibc"
|
|
makedepends="meson"
|
|
# riscv64: limited by newlib -> gcc-cross-embedded
|
|
arch="all !riscv64"
|
|
license="GPL-2.0-only AND LGPL-2.1-only AND 0BSD AND BSD-3-Clause AND GPL-3.0-only AND LGPL-3.0-only"
|
|
source="$pkgname-$pkgver.tar.xz::https://github.com/picolibc/picolibc/releases/download/$pkgver/picolibc-$pkgver.tar.xz"
|
|
options="!check"
|
|
|
|
for target in $_targets; do
|
|
subpackages="picolibc-$target:_install_subpkg $subpackages"
|
|
makedepends="binutils-$target gcc-$target~$_gccver newlib-$target $makedepends"
|
|
done
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
# Handle mismatch of target triples
|
|
mv "$builddir/scripts/cross-riscv64-unknown-elf.txt" \
|
|
"$builddir/scripts/cross-riscv-none-elf.txt"
|
|
sed -e 's/riscv64-unknown-elf/riscv-none-elf/g' \
|
|
-i "$builddir/scripts/cross-riscv-none-elf.txt"
|
|
}
|
|
|
|
build() {
|
|
for target in $_targets; do
|
|
# CFLAGS and LDFLAGS from the host (Linux) do not necessarily make sense
|
|
# for the target (bare metal MCU)
|
|
unset CFLAGS
|
|
unset LDFLAGS
|
|
# cannot use abuild-meson here, as target != host
|
|
meson \
|
|
--prefix=/usr/ \
|
|
--buildtype=plain \
|
|
--cross-file=scripts/cross-$target.txt \
|
|
-Dincludedir=picolibc/$target/include \
|
|
-Dlibdir=picolibc/$target/lib \
|
|
. build-$target
|
|
meson compile -C build-$target
|
|
done
|
|
}
|
|
|
|
package() {
|
|
for target in $_targets; do
|
|
depends="$depends picolibc-$target"
|
|
done
|
|
mkdir -p "$pkgdir"
|
|
}
|
|
|
|
_install_subpkg() {
|
|
target="${subpkgname#picolibc-}"
|
|
pkgdesc="A C standard library based on newlib with focus on compact size for $target"
|
|
depends="binutils-$target gcc-$target~$_gccver $depends"
|
|
|
|
DESTDIR="$subpkgdir" meson install -C "$builddir/build-$target"
|
|
}
|
|
|
|
sha512sums="
|
|
2b7f347fef1e5523f7acff32aa6f261bf9aae959902ea970f0fe414ff5206481c2ef37ade078b432022617e1ac6352e9039c7e95a61483eafdd241aac70683e6 picolibc-1.8.10.tar.xz
|
|
"
|