From c38e1974824c14bdbaa0ae14656f096110f664ee Mon Sep 17 00:00:00 2001 From: fleaz Date: Sat, 18 Nov 2023 23:46:27 +0100 Subject: [PATCH] bump pytapo, add libedgetpu --- default.nix | 4 +- libedgetpu/default.nix | 68 +++++++++++++++++++++++++++++++ libedgetpu/libedgetpu-stddef.diff | 12 ++++++ pytapo/default.nix | 4 +- 4 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 libedgetpu/default.nix create mode 100644 libedgetpu/libedgetpu-stddef.diff diff --git a/default.nix b/default.nix index ea19860..ed693b3 100644 --- a/default.nix +++ b/default.nix @@ -13,4 +13,6 @@ self: super: { studio-link = super.callPackage ./studio-link.nix { }; nginxModules = super.recurseIntoAttrs (super.callPackage ./nginx/modules.nix { }); -} + + libedgetpu = self.callPackage ./libedgetpu {}; +} \ No newline at end of file diff --git a/libedgetpu/default.nix b/libedgetpu/default.nix new file mode 100644 index 0000000..d47a8ce --- /dev/null +++ b/libedgetpu/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, lib +, fetchFromGitHub +, libusb1 +, abseil-cpp +, flatbuffers +, xxd +}: + +let + flatbuffers_1_12 = flatbuffers.overrideAttrs (oldAttrs: rec { + version = "1.12.0"; + NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=maybe-uninitialized"; + cmakeFlags = (oldAttrs.cmakeFlags or []) ++ ["-DFLATBUFFERS_BUILD_SHAREDLIB=ON"]; + NIX_CXXSTDLIB_COMPILE = "-std=c++17"; + configureFlags = (oldAttrs.configureFlags or []) ++ ["--enable-shared"]; + src = fetchFromGitHub { + owner = "google"; + repo = "flatbuffers"; + rev = "v${version}"; + sha256 = "sha256-L1B5Y/c897Jg9fGwT2J3+vaXsZ+lfXnskp8Gto1p/Tg="; + }; + }); + +in stdenv.mkDerivation rec { + pname = "libedgetpu"; + version = "grouper"; + + src = fetchFromGitHub { + owner = "google-coral"; + repo = pname; + rev = "release-${version}"; + sha256 = "sha256-73hwItimf88Iqnb40lk4ul/PzmCNIfdt6Afi+xjNiBE="; + }; + + patches = [ ./libedgetpu-stddef.diff ]; + + makeFlags = ["-f" "makefile_build/Makefile" "libedgetpu" ]; + + buildInputs = [ + libusb1 + abseil-cpp + flatbuffers_1_12 + ]; + + nativeBuildInputs = [ + xxd + ]; + + NIX_CXXSTDLIB_COMPILE = "-std=c++17"; + + TFROOT = "${fetchFromGitHub { + owner = "tensorflow"; + repo = "tensorflow"; + rev = "v2.7.4"; + sha256 = "sha256-liDbUAdaVllB0b74aBeqNxkYNu/zPy7k3CevzRF5dk0="; + }}"; + + enableParallelBuilding = false; + + installPhase = '' + mkdir -p $out/lib + cp out/direct/k8/libedgetpu.so.1.0 $out/lib + ln -s $out/lib/libedgetpu.so.1.0 $out/lib/libedgetpu.so.1 + mkdir -p $out/lib/udev/rules.d + cp debian/edgetpu-accelerator.rules $out/lib/udev/rules.d/99-edgetpu-accelerator.rules + ''; +} \ No newline at end of file diff --git a/libedgetpu/libedgetpu-stddef.diff b/libedgetpu/libedgetpu-stddef.diff new file mode 100644 index 0000000..ad6fc03 --- /dev/null +++ b/libedgetpu/libedgetpu-stddef.diff @@ -0,0 +1,12 @@ +diff --git a/api/allocated_buffer.h b/api/allocated_buffer.h +index 97740f0..7bc0547 100644 +--- a/api/allocated_buffer.h ++++ b/api/allocated_buffer.h +@@ -16,6 +16,7 @@ + #define DARWINN_API_ALLOCATED_BUFFER_H_ + + #include ++#include + + namespace platforms { + namespace darwinn { \ No newline at end of file diff --git a/pytapo/default.nix b/pytapo/default.nix index b0893b5..2d4c828 100644 --- a/pytapo/default.nix +++ b/pytapo/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pytapo"; - version = "3.2.18"; + version = "3.3.16"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-z3HD7sjDg8dMNpd93PiN+nSzKTVCw+OJnfKX07e1+sg="; + hash = "sha256-omeJUF4bY/FfXMmBvpVo3dr7B/pUy8YXt0DPaSe3VkA="; }; propagatedBuildInputs = [