summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a73c6bf580d634db2814fc2c0988f62efefabb84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Maintainer: Findlay Feng <findlayfeng@gmail.com>

pkgname=("zephyr-sdk-hosttools-bin" "zephyr-sdk-cmake-modules" "zephyr-sdk-profile")
pkgver=1.0.1
pkgrel=1
pkgdesc="SDK for Zephyr real-time operating system"
arch=('x86_64' 'aarch64')
url="https://www.zephyrproject.org/"
license=('Apache')
makedepends=('python' 'patchelf')
source=("profile-zephyr-sdk.sh" "profile-zephyr-sdk.ash")
sha256sums=('1f7d3c7246a572964db24c0845f9534b41fcf6769688a3d1ebb46a1158d89a7e'
            '8d723658578f4cd3f8cc884f9b6d2789acd8692f3fd5de4f61c6c6a06e2a413e')
sha256sums_x86_64=('ca9bc0ff66fafca1dac9d592a36d953cf16d096a9d09b1c0357f021cf9f6a7eb')
sha256sums_aarch64=('d79c5bfc68e679488659bea289a4026e52a64f03338875c8c9c850fff13cee30')

source_x86_64=("https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${pkgver}/zephyr-sdk-${pkgver}_linux-x86_64_minimal.tar.xz")

source_aarch64=("https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${pkgver}/zephyr-sdk-${pkgver}_linux-aarch64_minimal.tar.xz")

options=(!strip)

_installdir=/opt/zephyr-sdk

build() {
  cd "$srcdir"

  hosttools=$(find zephyr-sdk-$pkgver/hosttools/ -type f -name "zephyr-sdk-${CARCH}-hosttools-standalone-*.sh" | head -n 1)

  # Disables sanboxing on systems where libseccomp is available
  sed -i 's/xargs -n100 file/xargs -n100 file -S/' $hosttools
  $hosttools -y -R -S -d zephyr-sdk-$pkgver/hosttools/
  # Strip package build path from prefix path
  sed -i "s@\(relocate_sdk.py\s\+\)${srcdir}/zephyr-sdk-$pkgver/hosttools ${srcdir}/zephyr-sdk-$pkgver/hosttools@\1 ${_installdir}/hosttools ${_installdir}/hosttools@g" zephyr-sdk-$pkgver/hosttools/relocate_sdk.sh
  zephyr-sdk-$pkgver/hosttools/relocate_sdk.sh
}

package_zephyr-sdk-profile() {
  cd "$srcdir"

  install -Dm644 profile-zephyr-sdk.sh $pkgdir/etc/profile.d/zephyr-sdk.sh
  install -Dm644 profile-zephyr-sdk.ash $pkgdir/etc/profile.d/zephyr-sdk.ash
}

package_zephyr-sdk-cmake-modules() {
  depends=('cmake')

  cd "$srcdir"

  for f in $(find zephyr-sdk-$pkgver/cmake/ -type f -printf '%P\n'); do
    install -Dm644 zephyr-sdk-$pkgver/cmake/$f ${pkgdir}$_installdir/cmake/$f
  done

  install -Dm644 zephyr-sdk-$pkgver/sdk_version ${pkgdir}$_installdir/sdk_version

  # Manually install the CMake module, because upstream paths are no good:
  # file installed into $HOME and path is the package build path. Upstream
  # needs to support overridable path for the module and a -prefix argumnent
  # to distinguish destination copy dir from final system install path.
  local _cmake_fname=$(echo -n $_installdir | md5sum | cut -d' ' -f1)
  local _cmake_module_path="$pkgdir/usr/lib/cmake/Zephyr-sdk"
  mkdir -p "$_cmake_module_path"
  echo "$_installdir" > "$_cmake_module_path/${_cmake_fname}"
}

package_zephyr-sdk-hosttools-bin() {
  provides=("zephyr-sdk-hosttools")
  conflicts=("zephyr-sdk-hosttools")

  cd "$srcdir"

  for f in $(find zephyr-sdk-$pkgver/hosttools/sysroots/ -type f -printf '%P\n'); do
    install -D zephyr-sdk-$pkgver/hosttools/sysroots/$f ${pkgdir}$_installdir/hosttools/sysroots/$f
  done

  install -Dm644 zephyr-sdk-$pkgver/hosttools/version-x86_64-pokysdk-linux ${pkgdir}$_installdir/hosttools/version-x86_64-pokysdk-linux
}