summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexei Colin2019-03-26 23:34:09 -0400
committerAlexei Colin2019-03-27 01:44:38 -0400
commit7ad0945e7e88f480aa75fb5146078b4a23f4ddff (patch)
tree92249959a112a44da5129d02415e27be1ee5ebaf
parentd543a95f2ff0f9b8ec47018650bbb2284d3b8f76 (diff)
downloadaur-7ad0945e7e88f480aa75fb5146078b4a23f4ddff.tar.gz
update to 0.10.0
run relocation script remove installers
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD107
2 files changed, 82 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a0846a3f0001..47ac16041cb3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Sat Jan 5 05:19:03 UTC 2019
+# Wed Mar 27 05:36:02 UTC 2019
pkgbase = zephyr-sdk
pkgdesc = SDK for Zephyr real-time operating system
- pkgver = 0.9.5
+ pkgver = 0.10.0
pkgrel = 1
url = https://www.zephyrproject.org/
install = zephyr-sdk.install
@@ -20,6 +20,7 @@ pkgbase = zephyr-sdk
depends = python-pyelftools
depends = python-pyserial
depends = python-pykwalify
+ depends = python-west
depends = git-spindle
depends = gitlint
depends = ninja
@@ -32,9 +33,9 @@ pkgbase = zephyr-sdk
optdepends = pyocd: programming and debugging ARM MCUs
options = !strip
backup = etc/zephyrrc
- source = https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.5/zephyr-sdk-0.9.5-setup.run
+ source = https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.0/zephyr-sdk-0.10.0-setup.run
source = zephyrrc
- sha256sums = a5c483c099382036a87c02c7b4b1f4b32a31572fcb4a890b474b46b6e8cec647
+ sha256sums = 614e6d8e10842e899c513539c8b971caee4b79a14de3ebab38dbe2c120340e88
sha256sums = 7a1257272c64bdec281283d391e3149cece065935c9e8394d6bece32d0f6fc05
pkgname = zephyr-sdk
diff --git a/PKGBUILD b/PKGBUILD
index 8e6e37ef9dae..ef9668f23021 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Alexei Colin <ac@alexeicolin.com>
pkgname=zephyr-sdk
-pkgver=0.9.5
+pkgver=0.10.0
pkgrel=1
pkgdesc="SDK for Zephyr real-time operating system"
arch=('x86_64')
@@ -10,11 +10,12 @@ license=('Apache')
depends=('python-breathe' 'python-sphinx' 'python-docutils' 'python-pyaml'
'python-ply' 'python-pip' 'python-setuptools' 'python-wheel'
'python-pyelftools' 'python-pyserial' 'python-pykwalify'
+ 'python-west'
'git-spindle' 'gitlint' 'ninja' 'gperf' 'ccache'
'doxygen' 'dfu-util' 'dtc' 'cmake>=3.8.2')
optdepends=('pyocd: programming and debugging ARM MCUs')
makedepends=('patchelf')
-source=("https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/${pkgver}/zephyr-sdk-${pkgver}-setup.run"
+source=("https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${pkgver}/zephyr-sdk-${pkgver}-setup.run"
"zephyrrc")
options=(!strip)
@@ -28,8 +29,11 @@ build() {
cd "$srcdir"
}
+# Matches per-toolchain commands in $_installdir/setup.sh
+_TC_CMD="tar -C \\\$target_sdk_dir -xf .\/__TC__.tar.bz2 > \/dev\/null &"
+
_list_toolchains() {
- echo $(sed -n "s/\.\/zephyr-sdk-baremetal-x86_64-meta-toolchain-\([a-zA-Z0-9-]\+\)-toolchain-[0-9.]\+\.sh.*/\1/p" $1 | sort)
+ echo $(sed -n "s@^$(echo $_TC_CMD | sed 's/__TC__/\\(.*\\)/g')@\1@p" $1 | sort)
}
package ()
@@ -44,41 +48,84 @@ package ()
sed -i 's#^\(\./zephyr-sdk-x86_64-hosttools-standalone-[0-9.]\+sh\)#\1 -R -S#' $pkgdir/$_installdir/setup.sh
# Install hosttools always, but let the toolchains be selectable below:
- echo ">>> Available toolchains: $(_list_toolchains $pkgdir/$_installdir/$_setupsh)"
-
- local DISABLED_TOOLCHAINS=""
- #local DISABLED_TOOLCHAINS="i586 arc iamcu mips32r2 nios2 xtensa riscv32"
-
- echo ">>> Disabled toolchains: $(echo ${DISABLED_TOOLCHAINS} | xargs -n 1 | sort | xargs)"
-
- for tc in $DISABLED_TOOLCHAINS
+ ALL_TOOLCHAINS=($(_list_toolchains $pkgdir/$_installdir/$_setupsh))
+ echo ">>> To select a subset of toolchains set TOOLCHAINS in environment, like so:"
+ echo ">>> TOOLCHAINS='arm arc' makepkg"
+ echo ">>> Available toolchains: ${ALL_TOOLCHAINS[*]}"
+
+ # Validate selected toolchains
+ if [ ! -z "$TOOLCHAINS" ]
+ then
+ TOOLCHAINS=(${TOOLCHAINS}) # convert to array
+
+ for tc in "${TOOLCHAINS[@]}"
+ do
+ if ! echo "${ALL_TOOLCHAINS[@]}" | grep -q -w "$tc"
+ then
+ echo ">>> ERROR: unknown toolchain: $tc"
+ exit 1
+ fi
+ done
+ else
+ TOOLCHAINS=("${ALL_TOOLCHAINS[@]}")
+ fi
+ echo ">>> Selected toolchains: ${TOOLCHAINS[*]}"
+
+ # i586 is required because it is used as a hardcoded default
+ # (for preprocessing) before target architecture is available
+ echo ">>> Note: i586 was selected automatically because it is always required"
+ if ! echo "${TOOLCHAINS[@]}" | grep -q -w "i586"
+ then
+ TOOLCHAINS+=("i586")
+ fi
+
+ for tc in ${ALL_TOOLCHAINS[@]}
do
- sed -i "/\.\/zephyr-sdk-baremetal-x86_64-meta-toolchain-${tc}-toolchain-[0-9.]\+\.sh.*/,+3d" $pkgdir/$_installdir/$_setupsh
+ if ! echo "${TOOLCHAINS[@]}" | grep -q -w "$tc"
+ then
+ DISABLED_TOOLCHAINS+=("$tc")
+ fi
done
- echo ">>> Installing toolchains: $(_list_toolchains $pkgdir/$_installdir/$_setupsh)"
-
- # Because we chose not to relocate binaries, we need to make the default path work.
- # The version here is the toolchain version, in the filename of each toolchain.
- #
- # Alternatively, we can relocate the binaries, either using the stock relocation
- # script or using:
- #
- # find $pkgdir/$_installdir -type f -executable -exec \
- # patchelf --set-interpreter /opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2 \
- # --set-rpath /opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/lib:/opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/lib {} \;
- #
- local _ver="$(sed -n "s/^\.\/zephyr-sdk-baremetal-x86_64-meta-toolchain-[a-zA-Z0-9]\+-toolchain-\([0-9.]\+\)\.sh.*/\1/p" $pkgdir/$_installdir/$_setupsh | uniq)"
- for v in $_ver
+ for tc in ${DISABLED_TOOLCHAINS[@]}
do
- ln -s $_installdir $pkgdir/$_installdir/$v
+ sed -i "/$(echo $_TC_CMD | sed s/__TC__/${tc}/g)/,+3d" $pkgdir/$_installdir/$_setupsh
done
- bash -c "cd $pkgdir/$_installdir && ./$_setupsh -d $pkgdir/$_installdir"
+ echo ">>> Installing toolchains: $(_list_toolchains $pkgdir/$_installdir/$_setupsh)"
install -Dm644 zephyrrc $pkgdir/etc/zephyrrc
+
+ cd $pkgdir/$_installdir
+
+ ######### NOTE: we are in $_installdir after this point
+
+ ./$_setupsh -d $pkgdir/$_installdir
+
+ # Strip package build path from prefix path
+ sed -i "s@\(relocate_sdk.py\s\+\)$pkgdir@\1@g" relocate_sdk.sh
+ ./relocate_sdk.sh
+
+ rm zephyr-sdk-*-hosttools-standalone-*.sh
+ rm "${ALL_TOOLCHAINS[@]/%/.tar.bz2}"
+ rm -f mips.tar.bz2 # workaround: mips is part of archive but not in setup.sh
}
-# vim:set ts=2 sw=2 et:
-sha256sums=('a5c483c099382036a87c02c7b4b1f4b32a31572fcb4a890b474b46b6e8cec647'
+# Manual test procedure: get Zephyr Kernel, build an example, and run in Qemu:
+#
+# $ wget https://github.com/zephyrproject-rtos/zephyr/archive/master.tar.gz
+# $ tar xf master.tar.gz
+# $ cd zephyr-master/samples/synchronization
+# $ mkdir build && cd build
+# $ cmake -GNinja -DBOARD=qemu_cortex_m3 ..
+# $ ninja run
+#
+# Should get output like:
+# ***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
+# threadA: Hello World from arm!
+#
+# More info: https://docs.zephyrproject.org/latest/boards/arm/qemu_cortex_m3/doc/board.html
+
+
+sha256sums=('614e6d8e10842e899c513539c8b971caee4b79a14de3ebab38dbe2c120340e88'
'7a1257272c64bdec281283d391e3149cece065935c9e8394d6bece32d0f6fc05')