diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-23 10:09:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-26 09:07:03 +0000 |
commit | 63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f (patch) | |
tree | d58934cb48f9c953b19a0d0d5cffc0d0c5561471 /nixpkgs/pkgs/development/embedded | |
parent | c4eef3dacb2a3d359561f30917d9e3cc4e041be9 (diff) | |
parent | 91a22f76cd1716f9d0149e8a5c68424bb691de15 (diff) | |
download | nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.gz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.bz2 nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.lz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.xz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.zst nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/embedded')
6 files changed, 167 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix b/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix index 566bf5bdf755..f0ff4a47b4c3 100644 --- a/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix +++ b/nixpkgs/pkgs/development/embedded/fpga/trellis/default.nix @@ -4,28 +4,29 @@ let rev = "488f4e71073062de314c55a037ede7cf03a3324c"; # git describe --tags realVersion = "1.2.1-14-g${builtins.substring 0 7 rev}"; + + main_src = fetchFromGitHub { + owner = "YosysHQ"; + repo = "prjtrellis"; + inherit rev; + hash = "sha256-Blbu+0rlM/3izbF0XCvkNpSAND0IclWEwK7anzyrpvw="; + name = "trellis"; + }; + + database_src = fetchFromGitHub { + owner = "YosysHQ"; + repo = "prjtrellis-db"; + rev = "35d900a94ff0db152679a67bf6e4fbf40ebc34aa"; + hash = "sha256-r6viR8y9ZjURGNbsa0/YY8lzy9kGzjuu408ntxwpqm0="; + name = "trellis-database"; + }; + in stdenv.mkDerivation rec { pname = "trellis"; version = "unstable-2022-09-14"; - srcs = [ - (fetchFromGitHub { - owner = "YosysHQ"; - repo = "prjtrellis"; - inherit rev; - hash = "sha256-Blbu+0rlM/3izbF0XCvkNpSAND0IclWEwK7anzyrpvw="; - name = "trellis"; - }) - - (fetchFromGitHub { - owner = "YosysHQ"; - repo = "prjtrellis-db"; - rev = "35d900a94ff0db152679a67bf6e4fbf40ebc34aa"; - hash = "sha256-r6viR8y9ZjURGNbsa0/YY8lzy9kGzjuu408ntxwpqm0="; - name = "trellis-database"; - }) - ]; - sourceRoot = "trellis"; + srcs = [ main_src database_src ]; + sourceRoot = main_src.name; buildInputs = [ boost ]; nativeBuildInputs = [ cmake python3 ]; @@ -36,7 +37,7 @@ in stdenv.mkDerivation rec { ]; preConfigure = '' - rmdir database && ln -sfv ${builtins.elemAt srcs 1} ./database + rmdir database && ln -sfv ${database_src} ./database cd libtrellis ''; diff --git a/nixpkgs/pkgs/development/embedded/openocd-rp2040/default.nix b/nixpkgs/pkgs/development/embedded/openocd-rp2040/default.nix new file mode 100644 index 000000000000..a7e2bb65953c --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/development/embedded/openocd/default.nix b/nixpkgs/pkgs/development/embedded/openocd/default.nix index 204d5794a304..954f043a2ade 100644 --- a/nixpkgs/pkgs/development/embedded/openocd/default.nix +++ b/nixpkgs/pkgs/development/embedded/openocd/default.nix @@ -25,7 +25,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ hidapi jimtcl libftdi1 libjaylink libusb1 ] - ++ lib.optional stdenv.isLinux libgpiod; + ++ + # 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="; + }; + })); configureFlags = [ "--disable-werror" diff --git a/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/default.nix b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/default.nix new file mode 100644 index 000000000000..7254becdbce7 --- /dev/null +++ b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/default.nix @@ -0,0 +1,35 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, callPackage +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "teensy-cmake-macros"; + version = "unstable-2023-04-15"; + + src = fetchFromGitHub { + owner = "newdigate"; + repo = "teensy-cmake-macros"; + rev = "dc401ed23e6e13a9db3cd2a65f611a4738df3b0e"; + hash = "sha256-E+BOlsCJtOScr3B5GSv1WM6rFv6cFYvm/iJ893fsmXM="; + }; + + propagatedBuildInputs = [ cmake pkg-config ]; + + passthru = { + hook = callPackage ./hook.nix { + teensy-cmake-macros = finalAttrs.finalPackage; + }; + }; + + meta = with lib; { + description = "CMake macros for building teensy projects"; + platforms = platforms.all; + homepage = "https://github.com/newdigate/teensy-cmake-macros"; + license = licenses.mit; + maintainers = [ maintainers.michaeldonovan ]; + }; +}) diff --git a/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/hook.nix b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/hook.nix new file mode 100644 index 000000000000..83a4e6828d4a --- /dev/null +++ b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/hook.nix @@ -0,0 +1,17 @@ +{ lib +, makeSetupHook +, teensy-cmake-macros +}: + +makeSetupHook { + name = "teensy-cmake-macros-hook"; + + propagatedBuildInputs = [ teensy-cmake-macros ]; + + passthru = { inherit teensy-cmake-macros; }; + + meta = { + description = "A setup hook for teensy-cmake-macros"; + inherit (teensy-cmake-macros.meta) maintainers platforms broken; + }; +} ./setup-hook.sh diff --git a/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh new file mode 100644 index 000000000000..71026eedcf65 --- /dev/null +++ b/nixpkgs/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh @@ -0,0 +1,5 @@ +teensyCMakeMacrosEnvHook() { + cmakeFlagsArray+=(-DCMAKE_MODULE_PATH=@out@/lib/cmake) +} + +addEnvHooks "$targetOffset" teensyCMakeMacrosEnvHook |