unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0
@ 2023-09-09  7:44 Andy Tai
  2023-09-10  7:23 ` [bug#65835] [PATCH v2] " Andy Tai
  2023-09-15  5:20 ` [bug#65835] [PATCH v2] " Andy Tai
  0 siblings, 2 replies; 6+ messages in thread
From: Andy Tai @ 2023-09-09  7:44 UTC (permalink / raw)
  To: 65835; +Cc: Andy Tai

* 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-disable-local-cmake-3rdparty-components.patch:
New file
---
 gnu/packages/machine-learning.scm             | 48 +++++++++++--------
 ...able-local-cmake-3rdparty-components.patch | 26 ++++++++++
 2 files changed, 55 insertions(+), 19 deletions(-)
 create mode 100644 gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fd0be8d500..e07e0e542a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2972,7 +2972,7 @@ (define-public tensorflow
 (define-public tensorflow-lite
   (package
     (name "tensorflow-lite")
-    (version "2.12.1")
+    (version "2.13.0")
     (source
      (origin
        (method git-fetch)
@@ -2982,7 +2982,12 @@ (define-public tensorflow-lite
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
+         "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
+       (patches
+               (search-patches
+                ;; patch to disable local cmake build code for 3rdparty
+                ;; componentas
+                "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -3025,6 +3030,7 @@ (define-public tensorflow-lite
          "-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"
@@ -3037,7 +3043,9 @@ (define-public tensorflow-lite
 
          "-DFFT2D_SOURCE_DIR=/tmp/fft2d"
          "-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
-         "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
+         ;"-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp"
+         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp"))
+         )
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -3069,8 +3077,10 @@ (define-public tensorflow-lite
                 (invoke "tar" "--strip-components=1"
                         "-xf" (assoc-ref inputs "fft2d-src")))
 
-              (copy-recursively (assoc-ref inputs "gemmlowp-src")
-                                "/tmp/gemmlowp/")))
+              ;(copy-recursively (assoc-ref inputs "gemmlowp-src")
+              ;                  "/tmp/gemmlowp/")
+
+              ))
 
           (add-after 'build 'build-shared-library
             (lambda* (#:key configure-flags #:allow-other-keys)
@@ -3101,7 +3111,7 @@ (define-public tensorflow-lite
        ("eigen" ,eigen)
        ("fp16" ,fp16)
        ("flatbuffers-shared" ,flatbuffers-next-shared)
-       ;;("gemmlowp" ,gemmlowp)  ; TODO
+       ("gemmlowp" ,gemmlowp)
        ("mesa-headers" ,mesa-headers)
        ("neon2sse" ,neon2sse)
        ("nsync" ,nsync)
@@ -3117,19 +3127,19 @@ (define-public tensorflow-lite
     (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")))))
+       ;("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
diff --git a/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
new file mode 100644
index 0000000000..c94540c3af
--- /dev/null
+++ b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
@@ -0,0 +1,26 @@
+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,7 @@
+ include(gemmlowp)
+ if(gemmlowp_POPULATED)
+   set(GEMMLOWP_FOUND TRUE)
+-  get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
++  #get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
+   set(GEMMLOWP_LIBRARIES
+     gemmlowp
+     gemmlowp_fixedpoint

base-commit: e2e5df596f5e682d78043b12463cc47d14291ba9
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#65835] [PATCH v2] gnu: tensorflow-lite: Update to 2.13.0
  2023-09-09  7:44 [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0 Andy Tai
@ 2023-09-10  7:23 ` Andy Tai
  2023-09-14 21:42   ` [bug#65835] [PATCH] " Ludovic Courtès
  2023-09-15  5:20 ` [bug#65835] [PATCH v2] " Andy Tai
  1 sibling, 1 reply; 6+ messages in thread
From: Andy Tai @ 2023-09-10  7:23 UTC (permalink / raw)
  To: 65835; +Cc: Andy Tai

* 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-disable-local-cmake-3rdparty-components.patch:
New file
---
 gnu/packages/machine-learning.scm             | 47 +++++++-------
 ...able-local-cmake-3rdparty-components.patch | 62 +++++++++++++++++++
 2 files changed, 85 insertions(+), 24 deletions(-)
 create mode 100644 gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fd0be8d500..fd6089a525 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2972,7 +2972,7 @@ (define-public tensorflow
 (define-public tensorflow-lite
   (package
     (name "tensorflow-lite")
-    (version "2.12.1")
+    (version "2.13.0")
     (source
      (origin
        (method git-fetch)
@@ -2982,11 +2982,15 @@ (define-public tensorflow-lite
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
+         "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
+       (patches
+               (search-patches
+                ;; patch to disable local cmake build code for 3rdparty
+                ;; componentas
+                "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))
     (build-system cmake-build-system)
     (arguments
      (list
-      #:tests? #false                   ;tests are not building now
       #:build-type "Release"
       #:modules '((ice-9 match)
                   (guix build utils)
@@ -3005,11 +3009,11 @@ (define-public tensorflow-lite
 
          ;; TODO: turn on Farmhash
          ;;"-DSYSTEM_FARMHASH=ON"
-         (string-append "-Dabsl_DIR=" #$(this-package-input "abseil-cpp")
+         (string-append "-Dabseil-cpp_DIR=" #$(this-package-input "abseil-cpp")
                         "/lib/cmake/absl")
          (string-append "-DEigen3_DIR=" #$(this-package-input "eigen")
                         "/share/eigen3/cmake")
-         (string-append "-DFlatBuffers_DIR="
+         (string-append "-Dflatbuffers_DIR="
                         #$(this-package-input "flatbuffers-shared")
                         "/lib/cmake/flatbuffers")
          (string-append "-DNEON_2_SSE_DIR=" #$(this-package-input "neon2sse")
@@ -3025,6 +3029,9 @@ (define-public tensorflow-lite
          "-DTFLITE_ENABLE_XNNPACK=OFF"
 
          ;; Don't fetch the sources.  We have these already
+         "-Dabseil-cpp_POPULATED=TRUE"
+         "-Dflatbuffers_POPULATED=TRUE"
+         "-Dgemmlowp_POPULATED=TRUE"
          "-Degl_headers_POPULATED=TRUE"
          "-Dfp16_headers_POPULATED=TRUE"
          "-Dopencl_headers_POPULATED=TRUE"
@@ -3037,7 +3044,10 @@ (define-public tensorflow-lite
 
          "-DFFT2D_SOURCE_DIR=/tmp/fft2d"
          "-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
-         "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
+         (string-append "-Dabseil-cpp_ROOT=" #$(this-package-input "abseil-cpp"))
+         (string-append "-Dflatbuffers_ROOT=" #$(this-package-input "flatbuffers-shared"))
+         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp"))
+         )
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -3069,8 +3079,10 @@ (define-public tensorflow-lite
                 (invoke "tar" "--strip-components=1"
                         "-xf" (assoc-ref inputs "fft2d-src")))
 
-              (copy-recursively (assoc-ref inputs "gemmlowp-src")
-                                "/tmp/gemmlowp/")))
+              ;(copy-recursively (assoc-ref inputs "gemmlowp-src")
+              ;                  "/tmp/gemmlowp/")
+
+              ))
 
           (add-after 'build 'build-shared-library
             (lambda* (#:key configure-flags #:allow-other-keys)
@@ -3096,12 +3108,12 @@ (define-public tensorflow-lite
               (when tests?
                 (invoke "ctest" "-L" "plain")))))))
     (inputs
-     `(("abseil-cpp" ,abseil-cpp-20200923.3)
+     `(("abseil-cpp" ,abseil-cpp)
        ("cpuinfo" ,cpuinfo)
        ("eigen" ,eigen)
        ("fp16" ,fp16)
        ("flatbuffers-shared" ,flatbuffers-next-shared)
-       ;;("gemmlowp" ,gemmlowp)  ; TODO
+       ("gemmlowp" ,gemmlowp)
        ("mesa-headers" ,mesa-headers)
        ("neon2sse" ,neon2sse)
        ("nsync" ,nsync)
@@ -3117,21 +3129,8 @@ (define-public tensorflow-lite
     (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"))
+        ,(let ((commit "0d859a811870d10f53a594927d0d0b97573ad06d"))
            (origin
              (method url-fetch)
              (uri (string-append
diff --git a/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
new file mode 100644
index 0000000000..eb1cc76db6
--- /dev/null
+++ b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
@@ -0,0 +1,62 @@
+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/kernels/CMakeLists.txt b/tensorflow/lite/kernels/CMakeLists.txt
+index 57ed10d7e64..b45b5d1df82 100644
+--- a/tensorflow/lite/kernels/CMakeLists.txt
++++ b/tensorflow/lite/kernels/CMakeLists.txt
+@@ -25,11 +25,13 @@ set(SCHEMA_GENERATED_PATH ${SCHEMA_GENERATED_ROOT}/tensorflow/lite/schema/mutabl
+ set(SCHEMA_GENERATED_FILE ${SCHEMA_GENERATED_PATH}/schema_generated.h)
+ 
+ # Use the util function in flatbuffer to generate the schema header.
++list(APPEND CMAKE_MODULE_PATH "${flatbuffers_DIR}")
+ include(BuildFlatBuffers)
+ 
+ # For cross-compilation purposes a natively compiled 'flatc' compiler is required
+ if(${CMAKE_CROSSCOMPILING})
+   set(FLATC_PATHS
++      ${flatbuffers_ROOT}/bin
+       ${TFLITE_HOST_TOOLS_DIR}
+       ${TFLITE_HOST_TOOLS_DIR}/bin
+       ${TFLITE_HOST_TOOLS_DIR}/flatbuffers-flatc/bin
+@@ -43,7 +45,7 @@ if(${CMAKE_CROSSCOMPILING})
+     set(FLATBUFFERS_FLATC_EXECUTABLE ${FLATC_BIN})
+   endif()
+ else()
+-  set(FLATBUFFERS_FLATC_EXECUTABLE ${CMAKE_BINARY_DIR}/flatbuffers-flatc/bin/flatc)
++  set(FLATBUFFERS_FLATC_EXECUTABLE ${flatbuffers_ROOT}/bin/flatc)
+ endif()
+ 
+ set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
+@@ -55,7 +57,7 @@ build_flatbuffers(
+   "${SCHEMA_FILE}"
+   ""
+   mutable_schema_file
+-  flatbuffers-flatc
++  ${FLATBUFFERS_FLATC_EXECUTABLE}
+   "${SCHEMA_GENERATED_PATH}"
+   ""
+   ""
+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,7 @@
+ include(gemmlowp)
+ if(gemmlowp_POPULATED)
+   set(GEMMLOWP_FOUND TRUE)
+-  get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
++  #get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
+   set(GEMMLOWP_LIBRARIES
+     gemmlowp
+     gemmlowp_fixedpoint

base-commit: 5db78e7c1b06d1b4892bdb3e153b95b21577271e
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0
  2023-09-10  7:23 ` [bug#65835] [PATCH v2] " Andy Tai
@ 2023-09-14 21:42   ` Ludovic Courtès
  2023-09-14 21:49     ` Andy Tai
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2023-09-14 21:42 UTC (permalink / raw)
  To: Andy Tai; +Cc: 65835

Hi,

Andy Tai <atai@atai.org> skribis:

> * 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-disable-local-cmake-3rdparty-components.patch:
> New file

Overall LGTM.  Some comments…

Could you add the patch to ‘gnu/local.mk’?

> +       (patches
> +               (search-patches
> +                ;; patch to disable local cmake build code for 3rdparty
> +                ;; componentas
> +                "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))

Please add the comment at the top of the patch itself, as reported by
‘guix lint’; also adjust indentation here as in the other files.

> +         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp"))
> +         )

Please move paren to the previous line.

>                  (invoke "tar" "--strip-components=1"
>                          "-xf" (assoc-ref inputs "fft2d-src")))
>  
> -              (copy-recursively (assoc-ref inputs "gemmlowp-src")
> -                                "/tmp/gemmlowp/")))
> +              ;(copy-recursively (assoc-ref inputs "gemmlowp-src")
> +              ;                  "/tmp/gemmlowp/")
> +
> +              ))

Leftover?  You can remove these two lines.

Could you send an updated patch?

Thanks in advance,
Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0
  2023-09-14 21:42   ` [bug#65835] [PATCH] " Ludovic Courtès
@ 2023-09-14 21:49     ` Andy Tai
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Tai @ 2023-09-14 21:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 65835

[-- Attachment #1: Type: text/plain, Size: 1792 bytes --]

will do.

On Thu, Sep 14, 2023 at 2:42 PM Ludovic Courtès <ludo@gnu.org> wrote:

> Hi,
>
> Andy Tai <atai@atai.org> skribis:
>
> > * 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-disable-local-cmake-3rdparty-components.patch:
> > New file
>
> Overall LGTM.  Some comments…
>
> Could you add the patch to ‘gnu/local.mk’?
>
> > +       (patches
> > +               (search-patches
> > +                ;; patch to disable local cmake build code for 3rdparty
> > +                ;; componentas
> > +
> "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))
>
> Please add the comment at the top of the patch itself, as reported by
> ‘guix lint’; also adjust indentation here as in the other files.
>
> > +         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input
> "gemmlowp"))
> > +         )
>
> Please move paren to the previous line.
>
> >                  (invoke "tar" "--strip-components=1"
> >                          "-xf" (assoc-ref inputs "fft2d-src")))
> >
> > -              (copy-recursively (assoc-ref inputs "gemmlowp-src")
> > -                                "/tmp/gemmlowp/")))
> > +              ;(copy-recursively (assoc-ref inputs "gemmlowp-src")
> > +              ;                  "/tmp/gemmlowp/")
> > +
> > +              ))
>
> Leftover?  You can remove these two lines.
>
> Could you send an updated patch?
>
> Thanks in advance,
> Ludo’.
>


-- 
Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat:
andytai1010
Year 2023 民國112年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能

[-- Attachment #2: Type: text/html, Size: 3045 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#65835] [PATCH v2] gnu: tensorflow-lite: Update to 2.13.0
  2023-09-09  7:44 [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0 Andy Tai
  2023-09-10  7:23 ` [bug#65835] [PATCH v2] " Andy Tai
@ 2023-09-15  5:20 ` Andy Tai
  2023-09-18 21:29   ` bug#65835: [PATCH] " Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Andy Tai @ 2023-09-15  5:20 UTC (permalink / raw)
  To: 65835, ludo; +Cc: Andy Tai

* 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-disable-local-cmake-3rdparty-components.patch:
New file
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/machine-learning.scm             | 49 ++++++++++---------
 ...able-local-cmake-3rdparty-components.patch | 28 +++++++++++
 3 files changed, 55 insertions(+), 23 deletions(-)
 create mode 100644 gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 8862fbfbb9..0af5e1498b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2002,6 +2002,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-disable-local-cmake-3rdparty-components.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   \
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fd0be8d500..bd94c9a540 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2972,7 +2972,7 @@ (define-public tensorflow
 (define-public tensorflow-lite
   (package
     (name "tensorflow-lite")
-    (version "2.12.1")
+    (version "2.13.0")
     (source
      (origin
        (method git-fetch)
@@ -2982,7 +2982,12 @@ (define-public tensorflow-lite
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
+         "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
+       (patches
+        (search-patches
+        ;; patch to disable local cmake build code for 3rdparty
+        ;; componentas
+         "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -3025,6 +3030,7 @@ (define-public tensorflow-lite
          "-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"
@@ -3037,7 +3043,8 @@ (define-public tensorflow-lite
 
          "-DFFT2D_SOURCE_DIR=/tmp/fft2d"
          "-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
-         "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
+         ;"-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp"
+         (string-append "-Dgemmlowp_ROOT=" #$(this-package-input "gemmlowp")))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
@@ -3067,11 +3074,7 @@ (define-public tensorflow-lite
               (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")
@@ -3101,7 +3104,7 @@ (define-public tensorflow-lite
        ("eigen" ,eigen)
        ("fp16" ,fp16)
        ("flatbuffers-shared" ,flatbuffers-next-shared)
-       ;;("gemmlowp" ,gemmlowp)  ; TODO
+       ("gemmlowp" ,gemmlowp)
        ("mesa-headers" ,mesa-headers)
        ("neon2sse" ,neon2sse)
        ("nsync" ,nsync)
@@ -3117,19 +3120,19 @@ (define-public tensorflow-lite
     (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")))))
+       ;("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
@@ -3151,7 +3154,7 @@ (define-public tensorflow-lite
            (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
diff --git a/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
new file mode 100644
index 0000000000..677a6be8c3
--- /dev/null
+++ b/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
@@ -0,0 +1,28 @@
+Patch to disable local cmake build code for 3rdparty componentas
+
+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,7 @@
+ include(gemmlowp)
+ if(gemmlowp_POPULATED)
+   set(GEMMLOWP_FOUND TRUE)
+-  get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
++  #get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
+   set(GEMMLOWP_LIBRARIES
+     gemmlowp
+     gemmlowp_fixedpoint

base-commit: 0c1aa354048f82023e6d2043bfecc4fd58bc9b58
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#65835: [PATCH] gnu: tensorflow-lite: Update to 2.13.0
  2023-09-15  5:20 ` [bug#65835] [PATCH v2] " Andy Tai
@ 2023-09-18 21:29   ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2023-09-18 21:29 UTC (permalink / raw)
  To: Andy Tai; +Cc: 65835-done

[-- Attachment #1: Type: text/plain, Size: 501 bytes --]

Hi,

Andy Tai <atai@atai.org> skribis:

> * 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-disable-local-cmake-3rdparty-components.patch:
> New file
> * gnu/local.mk (dist_patch_DATA): Add it.

Applied with the changes below: shortening the patch file name (as
reported by ‘guix lint’), fixing typos, removing leftover comments.

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 3923 bytes --]

diff --git a/gnu/local.mk b/gnu/local.mk
index 85bdc19145..de3cb0332c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2003,7 +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-disable-local-cmake-3rdparty-components.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   \
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 23975dadf2..abba41626d 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -3008,11 +3008,7 @@ (define-public tensorflow-lite
        (sha256
         (base32
          "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
-       (patches
-        (search-patches
-        ;; patch to disable local cmake build code for 3rdparty
-        ;; componentas
-         "tensorflow-lite-disable-local-cmake-3rdparty-components.patch"))))
+       (patches (search-patches "tensorflow-lite-unbundle.patch"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -3068,7 +3064,6 @@ (define-public tensorflow-lite
 
          "-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
@@ -3145,19 +3140,6 @@ (define-public tensorflow-lite
     (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
diff --git a/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch b/gnu/packages/patches/tensorflow-lite-unbundle.patch
similarity index 86%
rename from gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
rename to gnu/packages/patches/tensorflow-lite-unbundle.patch
index 677a6be8c3..efd7d5bbc6 100644
--- a/gnu/packages/patches/tensorflow-lite-disable-local-cmake-3rdparty-components.patch
+++ b/gnu/packages/patches/tensorflow-lite-unbundle.patch
@@ -1,4 +1,4 @@
-Patch to disable local cmake build code for 3rdparty componentas
+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
@@ -17,12 +17,11 @@ diff --git a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake b/tensorflow
 index 70331ad0a69..a9bd8a0f3bd 100644
 --- a/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
 +++ b/tensorflow/lite/tools/cmake/modules/Findgemmlowp.cmake
-@@ -18,7 +18,7 @@
+@@ -18,7 +18,6 @@
  include(gemmlowp)
  if(gemmlowp_POPULATED)
    set(GEMMLOWP_FOUND TRUE)
 -  get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
-+  #get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp INTERFACE_DIRECTORIES)
    set(GEMMLOWP_LIBRARIES
      gemmlowp
      gemmlowp_fixedpoint

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-09-18 21:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-09  7:44 [bug#65835] [PATCH] gnu: tensorflow-lite: Update to 2.13.0 Andy Tai
2023-09-10  7:23 ` [bug#65835] [PATCH v2] " Andy Tai
2023-09-14 21:42   ` [bug#65835] [PATCH] " Ludovic Courtès
2023-09-14 21:49     ` Andy Tai
2023-09-15  5:20 ` [bug#65835] [PATCH v2] " Andy Tai
2023-09-18 21:29   ` bug#65835: [PATCH] " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).