From 298f8021bac98e3784e33c25f13495c9f2a393bc Mon Sep 17 00:00:00 2001 From: Christoph Honal Date: Tue, 18 Feb 2025 02:16:30 +0100 Subject: [PATCH 1/3] segger-jlink: Change install path to /opt/SEGGER/JLink --- pkgs/by-name/se/segger-jlink/package.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/se/segger-jlink/package.nix b/pkgs/by-name/se/segger-jlink/package.nix index a0db9726edcc..ac5ec4c97d8c 100644 --- a/pkgs/by-name/se/segger-jlink/package.nix +++ b/pkgs/by-name/se/segger-jlink/package.nix @@ -115,16 +115,16 @@ stdenv.mkDerivation { installPhase = '' runHook preInstall - mkdir -p $out/opt + mkdir -p $out/opt/SEGGER/JLink ${lib.optionalString (!headless) '' - # Install binaries and runtime files into /opt/ - mv J* ETC GDBServer Firmwares $out/opt + # Install binaries and runtime files into /opt/SEGGER/JLink + mv J* ETC GDBServer Firmwares $out/opt/SEGGER/JLink # Link executables into /bin/ mkdir -p $out/bin - for binr in $out/opt/*Exe; do - binrlink=''${binr#"$out/opt/"} + for binr in $out/opt/SEGGER/JLink/*Exe; do + binrlink=''${binr#"$out/opt/SEGGER/JLink/"} ln -s $binr $out/bin/$binrlink # Create additional symlinks without "Exe" suffix binrlink=''${binrlink/%Exe} @@ -132,7 +132,7 @@ stdenv.mkDerivation { done # Copy special alias symlinks - for slink in $(find $out/opt/. -type l); do + for slink in $(find $out/opt/SEGGER/JLink/. -type l); do cp -P -n $slink $out/bin || true rm $slink done @@ -141,7 +141,7 @@ stdenv.mkDerivation { # Install libraries install -Dm444 libjlinkarm.so* -t $out/lib for libr in $out/lib/libjlinkarm.*; do - ln -s $libr $out/opt + ln -s $libr $out/opt/SEGGER/JLink done # Install docs and examples From 6c11bef8813b5f2e38a14473613f8ea606964065 Mon Sep 17 00:00:00 2001 From: Christoph Honal Date: Tue, 18 Feb 2025 03:39:08 +0100 Subject: [PATCH 2/3] nrfconnect-bluetooth-low-energy: init at 4.0.4 --- .../package.nix | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pkgs/by-name/nr/nrfconnect-bluetooth-low-energy/package.nix diff --git a/pkgs/by-name/nr/nrfconnect-bluetooth-low-energy/package.nix b/pkgs/by-name/nr/nrfconnect-bluetooth-low-energy/package.nix new file mode 100644 index 000000000000..569ae3efe518 --- /dev/null +++ b/pkgs/by-name/nr/nrfconnect-bluetooth-low-energy/package.nix @@ -0,0 +1,48 @@ +{ + lib, + fetchurl, + appimageTools, + segger-jlink-headless, + libxshmfence, +}: + +let + pname = "nrfconnect-bluetooth-low-energy"; + version = "4.0.4"; + + src = fetchurl { + url = "https://github.com/NordicPlayground/pc-nrfconnect-ble-standalone/releases/download/v${version}/nrfconnect-bluetooth-low-energy-${version}-x86_64.AppImage"; + hash = "sha256-mL8ky/cYjNgfUJgE7W5LFK/w7Ky9Xx6E84UT668HRAk="; + name = "${pname}-${version}.AppImage"; + }; + + appimageContents = appimageTools.extractType2 { + inherit pname version src; + }; + +in +appimageTools.wrapType2 { + inherit pname version src; + + extraPkgs = pkgs: [ + segger-jlink-headless + libxshmfence + ]; + + extraInstallCommands = '' + install -Dm444 ${appimageContents}/nrfconnect-bluetooth-low-energy.desktop -t $out/share/applications + install -Dm444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/nrfconnect-bluetooth-low-energy.png \ + -t $out/share/icons/hicolor/512x512/apps + substituteInPlace $out/share/applications/nrfconnect-bluetooth-low-energy.desktop \ + --replace-fail 'Exec=AppRun' 'Exec=nrfconnect-bluetooth-low-energy' + ''; + + meta = { + description = "Nordic Semiconductor Bluetooth low energy app for nRF Connect for Desktop"; + homepage = "https://docs.nordicsemi.com/bundle/nrf-connect-ble/page/index.html"; + license = lib.licenses.unfree; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ stargate01 ]; + mainProgram = "nrfconnect-bluetooth-low-energy"; + }; +} From 30ec0da2b355726bf46ba9fd562c0daf5c5a6dc4 Mon Sep 17 00:00:00 2001 From: Christoph Honal Date: Tue, 18 Feb 2025 23:06:36 +0100 Subject: [PATCH 3/3] nrfconnect: Clean up syntax --- pkgs/by-name/nr/nrfconnect/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nr/nrfconnect/package.nix b/pkgs/by-name/nr/nrfconnect/package.nix index 8130d4f2a90a..ac0573c38773 100644 --- a/pkgs/by-name/nr/nrfconnect/package.nix +++ b/pkgs/by-name/nr/nrfconnect/package.nix @@ -1,7 +1,9 @@ { lib, + stdenv, fetchurl, appimageTools, + segger-jlink-headless, }: let @@ -23,7 +25,7 @@ appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [ - pkgs.segger-jlink-headless + segger-jlink-headless ]; extraInstallCommands = '' @@ -31,7 +33,7 @@ appimageTools.wrapType2 { install -Dm444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/nrfconnect.png \ -t $out/share/icons/hicolor/512x512/apps substituteInPlace $out/share/applications/nrfconnect.desktop \ - --replace 'Exec=AppRun' 'Exec=nrfconnect' + --replace-fail 'Exec=AppRun' 'Exec=nrfconnect' ''; meta = {