2023-09-11 17:33:19 +02:00
|
|
|
{
|
|
|
|
autoPatchelfHook,
|
|
|
|
gmp,
|
|
|
|
gnutls,
|
|
|
|
hidapi,
|
|
|
|
libftdi1,
|
|
|
|
libusb,
|
|
|
|
libxml2,
|
|
|
|
pixman,
|
|
|
|
python38,
|
|
|
|
readline,
|
|
|
|
cmake,
|
|
|
|
dtc,
|
|
|
|
fetchurl,
|
|
|
|
glib,
|
|
|
|
glibcLocales,
|
|
|
|
lib,
|
|
|
|
libfaketime,
|
|
|
|
nettle,
|
|
|
|
python3,
|
|
|
|
stdenv,
|
|
|
|
unzip,
|
|
|
|
which,
|
|
|
|
xz,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
hosttools.version = "0.9";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "zephyr-sdk";
|
|
|
|
version = "0.16.1";
|
|
|
|
|
|
|
|
src = let
|
|
|
|
getHash = arch:
|
|
|
|
{
|
|
|
|
"linux-x86_64" = "sha256-UTONUapM6iUWZBzg2dwLUbdjd58A3EVkorwN1xPfIsc=";
|
|
|
|
"linux-aarch64" = "sha256-BiuytcR8pW3Sm3+S3X8Hpc4iulE3WdK2lgvGWFMesAw=";
|
|
|
|
"macos-x86_64" = "sha256-sEbHviuQ7qMPH9kHr+DwgCFnAw62NWCxKfJj2aV1Tdo=";
|
|
|
|
"macos-aarch64" = "sha256-Vf/Gtzdv21x7+20zyEYEnmwPitYmL4ZClPxC1AWbGiY=";
|
|
|
|
}
|
|
|
|
.${arch};
|
|
|
|
getArch =
|
|
|
|
{
|
|
|
|
"x86_64-linux" = "linux-x86_64";
|
|
|
|
"aarch64-linux" = "linux-aarch64";
|
|
|
|
"x86_64-darwin" = "macos-x86_64";
|
|
|
|
"aarch64-darwin" = "macos-aarch64";
|
|
|
|
}
|
|
|
|
.${stdenv.system}
|
|
|
|
or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
|
|
|
|
getUrl = arch: "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${version}/${pname}-${version}_${arch}.tar.xz";
|
|
|
|
in
|
|
|
|
fetchurl {
|
|
|
|
url = getUrl getArch;
|
|
|
|
sha256 = getHash getArch;
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
autoPatchelfHook
|
|
|
|
glib
|
|
|
|
glibcLocales
|
|
|
|
libfaketime
|
|
|
|
python3.pythonForBuild
|
|
|
|
unzip
|
|
|
|
which
|
|
|
|
xz
|
|
|
|
];
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
cmake
|
|
|
|
dtc
|
|
|
|
gmp
|
|
|
|
gnutls
|
|
|
|
hidapi
|
|
|
|
libftdi1
|
|
|
|
libusb
|
|
|
|
libxml2
|
|
|
|
nettle
|
|
|
|
pixman
|
|
|
|
python38
|
|
|
|
readline
|
|
|
|
];
|
|
|
|
|
|
|
|
postUnpack = ''
|
|
|
|
$sourceRoot/zephyr-sdk-$(uname -m)-hosttools-standalone-${hosttools.version}.sh \
|
|
|
|
-y -p -d $sourceRoot
|
|
|
|
|
|
|
|
rm -f $sourceRoot/{setup,zephyr-sdk-$(uname -m)-hosttools-standalone-*}.sh \
|
|
|
|
$sourceRoot/{version,environment-setup}-$(uname -m)-pokysdk-linux
|
|
|
|
'';
|
|
|
|
|
|
|
|
patchPhase = ''
|
2023-09-15 13:42:36 +02:00
|
|
|
patchShebangs .
|
2023-10-03 16:16:10 +02:00
|
|
|
|
|
|
|
substituteInPlace cmake/zephyr/host-tools.cmake \
|
|
|
|
--replace "/usr/share" "/share" \
|
|
|
|
--replace "/sysroots/\*-pokysdk-linux" ""
|
|
|
|
|
|
|
|
sed '/SYSROOT_DIR/d' cmake/zephyr/target.cmake
|
|
|
|
sed '/CROSS_COMPILE/d' cmake/zephyr/target.cmake
|
|
|
|
|
2023-09-11 17:33:19 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
dontConfigure = true;
|
|
|
|
dontBuild = true;
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
|
2023-10-03 16:16:10 +02:00
|
|
|
mkdir -p $out/{share,lib}
|
|
|
|
|
|
|
|
find ./sysroots/$(uname -m)-pokysdk-linux/usr/bin -type l -exec unlink {} \;
|
|
|
|
|
|
|
|
mv ./sysroots/$(uname -m)-pokysdk-linux/usr/{bin,libexec,share} $out/
|
|
|
|
mv ./sysroots/$(uname -m)-pokysdk-linux/usr/synopsys/bin/qemu-system-* $out/bin/
|
|
|
|
mv ./sysroots/$(uname -m)-pokysdk-linux/usr/xilinx/bin/qemu-system-aarch64 \
|
|
|
|
$out/bin/qemu-system-xilinx-aarch64
|
|
|
|
mv ./sysroots/$(uname -m)-pokysdk-linux/usr/xilinx/bin/qemu-system-microblazeel \
|
|
|
|
$out/bin/qemu-system-xilinx-microblazeel
|
|
|
|
|
|
|
|
mv ./cmake $out
|
|
|
|
mv ./*zephyr* $out
|
|
|
|
mv ./sdk_* $out
|
2023-09-11 17:33:19 +02:00
|
|
|
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
|
|
|
|
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Zephyr SDK (Toolchains, Development Tools)";
|
|
|
|
homepage = "https://github.com/zephyrproject-rtos/sdk-ng/";
|
|
|
|
license = licenses.asl20;
|
|
|
|
platforms = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
|
|
|
};
|
|
|
|
}
|