2020-10-02 03:16:09 +00:00
|
|
|
{ stdenv
|
|
|
|
, fetchurl
|
|
|
|
, autoPatchelfHook
|
|
|
|
, substituteAll
|
|
|
|
, qt4
|
|
|
|
, fontconfig
|
|
|
|
, freetype
|
|
|
|
, libusb
|
|
|
|
, libICE
|
|
|
|
, libSM
|
|
|
|
, ncurses5
|
|
|
|
, udev
|
|
|
|
, libX11
|
|
|
|
, libXext
|
|
|
|
, libXcursor
|
|
|
|
, libXfixes
|
|
|
|
, libXrender
|
|
|
|
, libXrandr
|
|
|
|
}:
|
|
|
|
let
|
2021-04-28 17:50:54 +00:00
|
|
|
jlinkVersion = "700a";
|
2020-10-02 03:16:09 +00:00
|
|
|
|
|
|
|
architecture = {
|
|
|
|
x86_64-linux = "x86_64";
|
|
|
|
i686-linux = "i386";
|
|
|
|
armv7l-linux = "arm";
|
|
|
|
aarch64-linux = "arm64";
|
|
|
|
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
|
|
|
|
|
|
|
sha256 = {
|
2021-04-28 17:50:54 +00:00
|
|
|
x86_64-linux = "0b9jyhd0lkd0icabpfgdcbmzdz4arw1wvjkzchbm4gpd4lvw5q0g";
|
|
|
|
i686-linux = "0dam6v4gxc0jbhw3ab73jw9v8m166wxy07blfb53gq8xpl71x0f9";
|
|
|
|
armv7l-linux = "1ihcs0pxd28ay7v5c5kc6v28n9wml1s6p94b8lcxyddjli3lpkly";
|
|
|
|
aarch64-linux = "1pr1ziksixjrryhiycyl4qbr7fjnpgkj00iyphapxqcd0b64hsyr";
|
2020-10-02 03:16:09 +00:00
|
|
|
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
|
|
|
|
|
|
|
url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${jlinkVersion}_${architecture}.tgz";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "jlink";
|
|
|
|
version = jlinkVersion;
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = url;
|
|
|
|
sha256 = sha256;
|
|
|
|
curlOpts = "-d accept_license_agreement=accepted -d non_emb_ctr=confirmed";
|
|
|
|
};
|
|
|
|
|
|
|
|
dontConfigure = true;
|
|
|
|
dontBuild = true;
|
|
|
|
dontStrip = true;
|
|
|
|
|
|
|
|
nativeBuildInputs = [ autoPatchelfHook ];
|
|
|
|
buildInputs = [
|
|
|
|
qt4
|
|
|
|
fontconfig
|
|
|
|
freetype
|
|
|
|
libusb
|
|
|
|
libICE
|
|
|
|
libSM
|
|
|
|
ncurses5
|
|
|
|
udev
|
|
|
|
libX11
|
|
|
|
libXext
|
|
|
|
libXcursor
|
|
|
|
libXfixes
|
|
|
|
libXrender
|
|
|
|
libXrandr
|
|
|
|
];
|
|
|
|
|
|
|
|
runtimeDependencies = [ udev ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/{JLink,bin}
|
|
|
|
cp -R * $out/JLink
|
|
|
|
ln -s $out/JLink/J* $out/bin/
|
|
|
|
rm -r $out/bin/JLinkDevices.xml $out/JLink/libQt*
|
|
|
|
install -D -t $out/lib/udev/rules.d 99-jlink.rules
|
|
|
|
'';
|
|
|
|
|
|
|
|
preFixup = ''
|
|
|
|
patchelf --add-needed libudev.so.1 $out/JLink/libjlinkarm.so
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = "https://www.segger.com/downloads/jlink";
|
|
|
|
description = "SEGGER J-Link";
|
|
|
|
license = licenses.unfree;
|
|
|
|
platforms = [ "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ];
|
|
|
|
maintainers = with maintainers; [ artemist ];
|
|
|
|
};
|
|
|
|
}
|