Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv
2, fetchurl
3, fontconfig
4, freetype
5, lib
6, libICE
7, libSM
8, udev
9, libX11
10, libXcursor
11, libXext
12, libXfixes
13, libXrandr
14, libXrender
15}:
16
17stdenv.mkDerivation rec {
18 pname = "segger-ozone";
19 version = "3.28e";
20
21 src = fetchurl {
22 url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${(lib.replaceStrings ["."] [""] version)}_x86_64.tgz";
23 sha256 = "BfmKBAKyTA0V31zkwFLrbT0Xob221KfHa6v0VxKFsSI=";
24 };
25
26 rpath = lib.makeLibraryPath [
27 fontconfig
28 freetype
29 libICE
30 libSM
31 udev
32 libX11
33 libXcursor
34 libXext
35 libXfixes
36 libXrandr
37 libXrender
38 ]
39 + ":${stdenv.cc.cc.lib}/lib64";
40
41 installPhase = ''
42 mkdir -p $out/bin
43 mv Lib lib
44 mv * $out
45 ln -s $out/Ozone $out/bin
46 '';
47
48 postFixup = ''
49 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Ozone" \
50 --set-rpath ${rpath}:$out/lib "$out/Ozone"
51
52 for file in $(find $out/lib -maxdepth 1 -type f -and -name \*.so\*); do
53 patchelf --set-rpath ${rpath}:$out/lib $file
54 done
55 '';
56
57 meta = with lib; {
58 description = "J-Link Debugger and Performance Analyzer";
59 longDescription = ''
60 Ozone is a cross-platform debugger and performance analyzer for J-Link
61 and J-Trace.
62
63 - Stand-alone graphical debugger
64 - Debug output of any tool chain and IDE 1
65 - C/C++ source level debugging and assembly instruction debugging
66 - Debug information windows for any purpose: disassembly, memory,
67 globals and locals, (live) watches, CPU and peripheral registers
68 - Source editor to fix bugs immediately
69 - High-speed programming of the application into the target
70 - Direct use of J-Link built-in features (Unlimited Flash
71 Breakpoints, Flash Download, Real Time Terminal, Instruction Trace)
72 - Scriptable project files to set up everything automatically
73 - New project wizard to ease the basic configuration of new projects
74
75 1 Ozone has been tested with the output of the following compilers:
76 GCC, Clang, ARM, IAR. Output of other compilers may be supported but is
77 not guaranteed to be.
78 '';
79 homepage = "https://www.segger.com/products/development-tools/ozone-j-link-debugger";
80 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
81 license = licenses.unfree;
82 maintainers = [ maintainers.bmilanov ];
83 platforms = [ "x86_64-linux" ];
84 };
85}