diff options
author | Janik <80165193+Janik-Haag@users.noreply.github.com> | 2023-08-20 21:59:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-20 21:59:17 +0200 |
commit | 2df938f215b7c67fd67366adfc9dd696cbe5226e (patch) | |
tree | 4718072481a259bb9a89801230128f2032d1ac3f | |
parent | fe19e3c3b1ebd0152edbc448b14b04cb7694df89 (diff) | |
parent | 95497182636482c26a422fabe13d8b5702336b52 (diff) | |
download | nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar.gz nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar.bz2 nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar.lz nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar.xz nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.tar.zst nixlib-2df938f215b7c67fd67366adfc9dd696cbe5226e.zip |
Merge pull request #179713 from LU15W1R7H/openocd-rp2040
-rw-r--r-- | maintainers/maintainer-list.nix | 6 | ||||
-rw-r--r-- | pkgs/development/embedded/openocd-rp2040/default.nix | 81 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 89 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8f3a35c8b594..4ab91180ff68 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10010,6 +10010,12 @@ githubId = 8555953; name = "Laure Tavard"; }; + lu15w1r7h = { + email = "lwirth2000@gmail.com"; + github = "LU15W1R7H"; + githubId = 37505890; + name = "Luis Wirth"; + }; luc65r = { email = "lucas@ransan.tk"; github = "luc65r"; diff --git a/pkgs/development/embedded/openocd-rp2040/default.nix b/pkgs/development/embedded/openocd-rp2040/default.nix new file mode 100644 index 000000000000..a7e2bb65953c --- /dev/null +++ b/pkgs/development/embedded/openocd-rp2040/default.nix @@ -0,0 +1,81 @@ +{ lib +, stdenv +, fetchgit +, fetchurl +, pkg-config +, hidapi +, libftdi1 +, libusb1 +, which +, libtool +, autoconf +, automake +, texinfo +, git +, libgpiod +}: + +stdenv.mkDerivation { + pname = "openocd-rp2040"; + version = "0.12.0"; + src = fetchgit { + url = "https://github.com/raspberrypi/openocd"; + rev = "4d87f6dcae77d3cbcd8ac3f7dc887adf46ffa504"; + sha256 = "sha256-SYC0qqNx09yO/qeKDDN8dF/9d/dofJ5B1h/PofhG8Jw="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + hidapi + libftdi1 + libusb1 + which + libtool + autoconf + automake + texinfo + git + ] + ++ + # tracking issue for v2 api changes https://sourceforge.net/p/openocd/tickets/306/ + lib.optional stdenv.isLinux (libgpiod.overrideAttrs (old: rec { + version = "1.6.4"; + src = fetchurl { + url = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${version}.tar.gz"; + sha256 = "sha256-gp1KwmjfB4U2CdZ8/H9HbpqnNssqaKYwvpno+tGXvgo="; + }; + })); + + configurePhase = '' + SKIP_SUBMODULE=1 ./bootstrap + ./configure --prefix=$out + ''; + + enableParallelBuilding = true; + + postInstall = lib.optionalString stdenv.isLinux '' + mkdir -p "$out/etc/udev/rules.d" + rules="$out/share/openocd/contrib/60-openocd.rules" + if [ ! -f "$rules" ]; then + echo "$rules is missing, must update the Nix file." + exit 1 + fi + ln -s "$rules" "$out/etc/udev/rules.d/" + ''; + + meta = with lib; { + description = "OpenOCD fork for rp2040 microcontroller"; + longDescription = '' + This is a fork of OpenOCD by Raspberry Pi, + which brings support to the rp2040 microcontroller. + ''; + homepage = "https://github.com/raspberrypi/openocd"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ lu15w1r7h ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c89e688e2db6..7fdcdd20e589 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19709,6 +19709,8 @@ with pkgs; openocd = callPackage ../development/embedded/openocd { }; + openocd-rp2040 = callPackage ../development/embedded/openocd-rp2040 { }; + oprofile = callPackage ../development/tools/profiling/oprofile { libiberty_static = libiberty.override { staticBuild = true; }; }; |