Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { pkgs ? import <nixpkgs> { } }:
- with pkgs;
- let
- eigen = pkgs.fetchzip {
- url = "https://storage.googleapis.com/mirror.tensorflow.org/gitlab.com/libeigen/eigen/-/archive/352f1422d3ceea19a04cab297c6339e0870e1c6c/eigen-352f1422d3ceea19a04cab297c6339e0870e1c6c.tar.gz";
- #url = "https://gitlab.com/libeigen/eigen/-/archive/352f1422d3ceea19a04cab297c6339e0870e1c6c/eigen-352f1422d3ceea19a04cab297c6339e0870e1c6c.tar.gz";
- sha256 = "0w9nx9xcg2ac9rmcfffg9nxr29wswi7f7f9cy9slf5z523p979mz";
- };
- gemmlowp = pkgs.fetchzip {
- url = "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip";
- sha256 = "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl";
- };
- ruy = pkgs.fetchzip {
- url = "https://github.com/google/ruy/archive/4790797d11a81f96baf24f3731fd3ca44c2c5f8b.zip";
- sha256 = "0b0ydm8q4zqc6g2yzx5j9mgnyf4xck5faxs9bhixvvv1d1fn7vii";
- };
- googletest = pkgs.fetchzip {
- url = "https://github.com/google/googletest/archive/release-1.8.0.tar.gz";
- sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399";
- };
- absl = pkgs.fetchzip {
- url = "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz";
- sha256 = "035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w";
- };
- neon = pkgs.fetchzip {
- url = "https://github.com/intel/ARM_NEON_2_x86_SSE/archive/master.zip";
- sha256 = "0ai5c9gkrwafabq9naq3ycxdc394n95xiq0wharg9r5wpfh8fg3b";
- };
- farmhash = pkgs.fetchzip {
- url = "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz";
- sha256 = "1mqxsljq476n1hb8ilkrpb39yz3ip2hnc7rhzszz4sri8ma7qzp6";
- };
- flatbuffers = pkgs.fetchzip {
- url = "https://github.com/google/flatbuffers/archive/v1.12.0.tar.gz";
- sha256 = "0f7xd66vc1lzjbn7jzd5kyqrgxpsfxi4zc7iymhb5xrwyxipjl1g";
- };
- ff2d = pkgs.fetchzip {
- url ="https://storage.googleapis.com/mirror.tensorflow.org/www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz";
- sha256 = "10f1qrk0n2pal6qndh2nk7vy6gvdbamc6myzbpqdp33c308gswvh";
- };
- fp16 = pkgs.fetchzip {
- url = "https://github.com/Maratyszcza/FP16/archive/febbb1c163726b5db24bed55cc9dc42529068997.zip";
- sha256 = "1ayrddk2zdkpzixvrlkvn4az2kx5jnivxhvffr8177yxjslrmbfw";
- #sha256 = ""; # Not provided
- };
- cpuinfo = pkgs.fetchzip {
- url = "https://github.com/pytorch/cpuinfo/archive/c2092219e7c874783a00a62edb94ddc672f57ab3.zip";
- sha256 = "14bbkl82380144y55sr7awkpc9agwnpr7zhkhjm0cpa4wij3vshn";
- };
- downloaddir = "tensorflow/lite/tools/make/downloads";
- in
- stdenv.mkDerivation {
- name = "tensorflow-lite";
- version = "2.4.0";
- src = pkgs.fetchFromGitHub {
- owner = "tensorflow";
- repo = "tensorflow";
- rev = "21273f6e323173c79e614d8f2dd4608416a8f02c";
- sha256 = "1halzg9288hzwh0fpxq46nh2iq58vxg8jilv976q6p6v1788r43a";
- fetchSubmodules = false;
- };
- nativeBuildInputs = [
- cmake
- pkg-config
- bazel
- ];
- buildInputs = [
- ];
- preConfigure = ''
- mkdir ${downloaddir}
- cp ${eigen} -pr ${downloaddir}/eigen
- cp ${gemmlowp} -pr ${downloaddir}/gemmlowp
- cp ${ruy} -pr ${downloaddir}/ruy
- cp ${googletest} -pr ${downloaddir}/googletest
- cp ${absl} -pr ${downloaddir}/absl
- cp ${neon} -pr ${downloaddir}/neon_2_sse
- cp ${farmhash} -pr ${downloaddir}/farmhash
- cp ${flatbuffers} -pr ${downloaddir}/flatbuffers
- cp ${ff2d} -pr ${downloaddir}/fft2d
- cp ${fp16} -pr ${downloaddir}/fp16
- cp ${cpuinfo} -pr ${downloaddir}/cpuinfo
- ls ${downloaddir}
- patchShebangs ./configure
- patchShebangs ./tensorflow/lite/tools/make/Makefile
- patchShebangs ./tensorflow/lite/tools/make/build_lib.sh
- substituteInPlace ./tensorflow/lite/tools/make/Makefile \
- --replace "/bin/bash" "${pkgs.bash}/bin/bash"
- '';
- configurePhase = ''
- pwd
- ls tensorflow/lite
- cmake tensorflow/lite
- '';
- buildPhase = ''
- cmake --build . -j
- '';
- # postPatch = "patchShebangs bin";
- }
Advertisement
Add Comment
Please, Sign In to add comment