about summary refs log tree commit diff
path: root/pkgs/development/embedded
diff options
context:
space:
mode:
authorElias Naur <mail@eliasnaur.com>2022-04-08 11:55:32 +0200
committerElias Naur <mail@eliasnaur.com>2022-04-08 12:50:55 +0200
commitaa3fd4aed55fedeb9264ce5364efd2269c8c5254 (patch)
tree37439c6c97a7fc3a9834475f4627c097c93569bb /pkgs/development/embedded
parent7eb1a32324f039230261195ee8f913bfb4617f91 (diff)
openocd: fix segfault caused by libusb incompatibility
This issue is fixed in upstream OpenOCD, but there hasn't been a
new release since the fix.

See https://github.com/libusb/libusb/issues/928 for context.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
Diffstat (limited to 'pkgs/development/embedded')
-rw-r--r--pkgs/development/embedded/openocd/default.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/development/embedded/openocd/default.nix b/pkgs/development/embedded/openocd/default.nix
index c2f7d231b1a5f..6b4fa92389460 100644
--- a/pkgs/development/embedded/openocd/default.nix
+++ b/pkgs/development/embedded/openocd/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , lib
+, fetchpatch
 , fetchurl
 , pkg-config
 , hidapi
@@ -21,6 +22,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ hidapi libftdi1 libusb1 ]
     ++ lib.optional stdenv.isLinux libgpiod;
 
+  patches = [
+    # Patch is upstream, so can be removed when OpenOCD 0.12.0 or later is released.
+    (fetchpatch
+      {
+        url = "https://github.com/openocd-org/openocd/commit/cff0e417da58adef1ceef9a63a99412c2cc87ff3.patch";
+        sha256 = "Xxzf5miWy4S34sbQq8VQdAbY/oqGyhL/AJxiEPRuj3Q=";
+      })
+  ];
+
   configureFlags = [
     "--enable-jtag_vpi"
     "--enable-usb_blaster_libftdi"