~ruther/guix-local

429a543d2222b12ffd014e1a8dc072c7ece8ad9e — Andy Tai 3 years ago 9f0c9f9
gnu: tensorflow-lite: Update to 2.13.0.

* gnu/packages/machine-learning.scm: (tensorflow-lite):
Update to 2.13.0
[inputs]: Add gemmlowp
[native-inputs]: Remove gemmlowp-src
* gnu/packages/patches/tensorflow-lite-unbundle.patch: New file
* gnu/local.mk (dist_patch_DATA): Add it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 2003,6 2003,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/tcsh-fix-autotest.patch			\
  %D%/packages/patches/teensy-loader-cli-help.patch		\
  %D%/packages/patches/tensorflow-c-api-fix.patch		\
  %D%/packages/patches/tensorflow-lite-unbundle.patch 		\
  %D%/packages/patches/texinfo-headings-single.patch		\
  %D%/packages/patches/texinfo-5-perl-compat.patch		\
  %D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch   \

M gnu/packages/machine-learning.scm => gnu/packages/machine-learning.scm +8 -23
@@ 2997,7 2997,7 @@ advanced research.")
(define-public tensorflow-lite
  (package
    (name "tensorflow-lite")
    (version "2.12.1")
    (version "2.13.0")
    (source
     (origin
       (method git-fetch)


@@ 3007,7 3007,8 @@ advanced research.")
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
         "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
       (patches (search-patches "tensorflow-lite-unbundle.patch"))))
    (build-system cmake-build-system)
    (arguments
     (list


@@ 3050,6 3051,7 @@ advanced research.")
         "-DTFLITE_ENABLE_XNNPACK=OFF"

         ;; Don't fetch the sources.  We have these already
         "-Dgemmlowp_POPULATED=TRUE"
         "-Degl_headers_POPULATED=TRUE"
         "-Dfp16_headers_POPULATED=TRUE"
         "-Dopencl_headers_POPULATED=TRUE"


@@ 3062,7 3064,7 @@ advanced research.")

         "-DFFT2D_SOURCE_DIR=/tmp/fft2d"
         "-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
         "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp")))
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'chdir


@@ 3092,11 3094,7 @@ advanced research.")
              (mkdir-p "/tmp/fft2d")
              (with-directory-excursion "/tmp/fft2d"
                (invoke "tar" "--strip-components=1"
                        "-xf" (assoc-ref inputs "fft2d-src")))

              (copy-recursively (assoc-ref inputs "gemmlowp-src")
                                "/tmp/gemmlowp/")))

                        "-xf" (assoc-ref inputs "fft2d-src")))))
          (add-after 'build 'build-shared-library
            (lambda* (#:key configure-flags #:allow-other-keys)
              (mkdir-p "c")


@@ 3126,7 3124,7 @@ advanced research.")
       ("eigen" ,eigen)
       ("fp16" ,fp16)
       ("flatbuffers-shared" ,flatbuffers-next-shared)
       ;;("gemmlowp" ,gemmlowp)  ; TODO
       ("gemmlowp" ,gemmlowp)
       ("mesa-headers" ,mesa-headers)
       ("neon2sse" ,neon2sse)
       ("nsync" ,nsync)


@@ 3142,19 3140,6 @@ advanced research.")
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("googletest" ,googletest)
       ("gemmlowp-src"
        ;; The commit hash is taken from
        ;; "tensorflow/lite/tools/cmake/modules/gemmlowp.cmake".
        ,(let ((commit "fda83bdc38b118cc6b56753bd540caa49e570745"))
           (origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://github.com/google/gemmlowp")
                   (commit commit)))
             (file-name (git-file-name "gemmlowp" (string-take commit 8)))
             (sha256
              (base32
               "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl")))))
       ("farmhash-src"
        ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45"))
           (origin


@@ 3176,7 3161,7 @@ advanced research.")
           (sha256
            (base32
             "1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd"))))))
    (home-page "https://tensorflow.org")
    (home-page "https://www.tensorflow.org")
    (synopsis "Machine learning framework")
    (description
     "TensorFlow is a flexible platform for building and training machine

A gnu/packages/patches/tensorflow-lite-unbundle.patch => gnu/packages/patches/tensorflow-lite-unbundle.patch +27 -0
@@ 0,0 1,27 @@
Disable local CMake build code for bundled 3rdparty components.

diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt
index 0476170e075..90abea00e8c 100644
--- a/tensorflow/lite/CMakeLists.txt
+++ b/tensorflow/lite/CMakeLists.txt
@@ -564,7 +564,7 @@ set(_ALL_TFLITE_HDRS ${_ALL_TFLITE_SRCS})
 list(FILTER _ALL_TFLITE_HDRS INCLUDE REGEX ".*\\.h$")
 target_include_directories(tensorflow-lite
   PUBLIC $<BUILD_INTERFACE:${TENSORFLOW_SOURCE_DIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-  ${CMAKE_BINARY_DIR}/gemmlowp
+  ${gemmlowp_ROOT}/include/gemmlowp
 )
 target_link_libraries(tensorflow-lite
   PUBLIC
diff --git a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
index 70331ad0a69..a9bd8a0f3bd 100644
--- a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
+++ b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
@@ -18,7 +18,6 @@
 include(gemmlowp)
 if(gemmlowp_POPULATED)
   set(GEMMLOWP_FOUND TRUE)
-  get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
   set(GEMMLOWP_LIBRARIES
     gemmlowp
     gemmlowp_fixedpoint