diff options
Diffstat (limited to 'community/newlib/APKBUILD')
-rw-r--r-- | community/newlib/APKBUILD | 61 |
1 files changed, 43 insertions, 18 deletions
diff --git a/community/newlib/APKBUILD b/community/newlib/APKBUILD index 466af998bb9..220d71083e5 100644 --- a/community/newlib/APKBUILD +++ b/community/newlib/APKBUILD @@ -1,32 +1,49 @@ # Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de> - -_targets=" - aarch64-none-elf - arm-none-eabi - mips-mti-elf - msp430-elf - riscv-none-elf - " -# or1k-elf fails to build on 32-bit architectures -case "$CARCH" in - x86_64|aarch64|ppc64le) _targets="$_targets or1k-elf" -esac pkgname=newlib -pkgver=4.2.0.20211231 -pkgrel=1 +pkgver=4.3.0.20230120 +pkgrel=3 pkgdesc="C standard library implementation intended for use on embedded systems" url="https://www.sourceware.org/newlib/" makedepends="texinfo" -arch="all" +arch="aarch64 ppc64le x86_64 x86" 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=" https://sourceware.org/pub/newlib/newlib-$pkgver.tar.gz + + msp430-elf-nano.specs + 0001-msp430-enable-syscalls.patch " options="!check" +# classify targets as exotic or mainstream. Only build support for +# exotic targets on typical developer / CI hardware (x86_86, aarach64). +_targets_mainstream=" + arm-none-eabi + riscv-none-elf + " + +_targets_exotic=" + msp430-elf + or1k-elf + aarch64-none-elf + " + +case "$CARCH" in +x86_64|aarch64) + # support all targets on typical workstation / notebook / CI servers + _targets="$_targets_mainstream $_targets_exotic" + ;; +*) + # support only mainstream targets on exotic hosts + _targets="$_targets_mainstream" + ;; +esac + for target in $_targets; do targetnorm="${target//-/_}" subpackages="newlib-$target:$targetnorm $subpackages" + # here only makedepends. The depends to binutils-$target and gcc-$target + # will be set in the subpkg newlib-$target makedepends="binutils-$target gcc-$target $makedepends" done @@ -129,14 +146,20 @@ _install_subpkg() { find . -regex ".*\(c\|g\|m\|rdimon\|gloss\)\.a" | while read -r _file; do mv "$_file" "${_file%%.a}_nano.a" done - mkdir -p "$subpkgdir/usr/$target/include/nano" + mkdir -p "$subpkgdir/usr/$target/include/newlib-nano" mv "$subpkgdir/usr/$target/include/newlib.h" \ - "$subpkgdir/usr/$target/include/nano/" + "$subpkgdir/usr/$target/include/newlib-nano/" # install regular version cd "$builddir/build-$target" make -j1 DESTDIR="$subpkgdir" install rm -rf "$subpkgdir/deleteme" + + # install custom nano specs, if existing + if [ -e "$srcdir/$target-nano.specs" ]; then + install -m 644 "$srcdir/$target-nano.specs" \ + "$subpkgdir/usr/$target/lib/nano.specs" + fi } arm_none_eabi() { @@ -164,5 +187,7 @@ aarch64_none_elf() { } sha512sums=" -0c3efd7b74a6b8457a717cbb6aa6c5ff268eeaba375535465c6bd6502c3d32b54a9bc3ba7f2c6990f78e29152eee2f62acb39b674d24f9ddf440374a1ec9d2e8 newlib-4.2.0.20211231.tar.gz +4a06309d36c2255fef8fc8f2d133cafa850f1ed2eddfb27b5d45f5d16af69e0fca829a0b4c9b34af4ed3a28c6fcc929761e0ee823a4229f35c2853d432b5e7ef newlib-4.3.0.20230120.tar.gz +647b79e3cc6f3bb98b1263ebbf4b3efa4a4692fddc0df6491c726de2fa0ee46b05ab2ddf96c2c8c785f3cd6a442135ec97bf8df93a8f371d479ea46d03aa8a08 msp430-elf-nano.specs +268c44f8056067e03ee9914d04e8cfa2bb22764bb294b7d16dbfdd51c2e5ef0ad221037a86caafd20ab755b16b38519d61e27ffcd13239cbdbbfad421fa8cb60 0001-msp430-enable-syscalls.patch " |