From 3cecf7bb5a36096c28acca2524c613122e098aef Mon Sep 17 00:00:00 2001 From: Michael Donovan Date: Fri, 18 Aug 2023 18:57:16 -0500 Subject: [PATCH] teensy-cmake-macros: init at unstable-2023-04-15 Co-authored-by: Anderson Torres --- .../embedded/teensy-cmake-macros/default.nix | 35 +++++++++++++++++++ .../embedded/teensy-cmake-macros/hook.nix | 17 +++++++++ .../teensy-cmake-macros/setup-hook.sh | 5 +++ pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 59 insertions(+) create mode 100644 pkgs/development/embedded/teensy-cmake-macros/default.nix create mode 100644 pkgs/development/embedded/teensy-cmake-macros/hook.nix create mode 100644 pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh diff --git a/pkgs/development/embedded/teensy-cmake-macros/default.nix b/pkgs/development/embedded/teensy-cmake-macros/default.nix new file mode 100644 index 000000000000..7254becdbce7 --- /dev/null +++ b/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/pkgs/development/embedded/teensy-cmake-macros/hook.nix b/pkgs/development/embedded/teensy-cmake-macros/hook.nix new file mode 100644 index 000000000000..83a4e6828d4a --- /dev/null +++ b/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/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh b/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh new file mode 100644 index 000000000000..71026eedcf65 --- /dev/null +++ b/pkgs/development/embedded/teensy-cmake-macros/setup-hook.sh @@ -0,0 +1,5 @@ +teensyCMakeMacrosEnvHook() { + cmakeFlagsArray+=(-DCMAKE_MODULE_PATH=@out@/lib/cmake) +} + +addEnvHooks "$targetOffset" teensyCMakeMacrosEnvHook diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 137f622a00cc..a63766000760 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20160,6 +20160,8 @@ with pkgs; tcptrack = callPackage ../development/tools/misc/tcptrack { }; + teensy-cmake-macros = callPackage ../development/embedded/teensy-cmake-macros { }; + teensyduino = arduino-core.override { withGui = true; withTeensyduino = true; }; teensy-loader-cli = callPackage ../development/embedded/teensy-loader-cli { };