From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id uLI+M2jxfmSUQAAASxT56A (envelope-from ) for ; Tue, 06 Jun 2023 10:42:16 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 0JEuM2jxfmRmdQEA9RJhRA (envelope-from ) for ; Tue, 06 Jun 2023 10:42:16 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7CE9D2D399 for ; Tue, 6 Jun 2023 10:42:15 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q6SGS-0004dK-M2; Tue, 06 Jun 2023 04:42:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q6SGQ-0004d7-JI for guix-patches@gnu.org; Tue, 06 Jun 2023 04:42:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q6SGQ-0000ks-Aq for guix-patches@gnu.org; Tue, 06 Jun 2023 04:42:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q6SGQ-0005ct-6n for guix-patches@gnu.org; Tue, 06 Jun 2023 04:42:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63897] [PATCH v3] gnu: tensorflow-lite: Update to 2.12.0 References: In-Reply-To: Resent-From: Andy Tai Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 06 Jun 2023 08:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63897 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63897@debbugs.gnu.org Cc: Andy Tai Received: via spool by 63897-submit@debbugs.gnu.org id=B63897.168604090721604 (code B ref 63897); Tue, 06 Jun 2023 08:42:02 +0000 Received: (at 63897) by debbugs.gnu.org; 6 Jun 2023 08:41:47 +0000 Received: from localhost ([127.0.0.1]:50925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6SGA-0005cN-7S for submit@debbugs.gnu.org; Tue, 06 Jun 2023 04:41:47 -0400 Received: from mail-pg1-f179.google.com ([209.85.215.179]:55749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6SG7-0005c7-CF for 63897@debbugs.gnu.org; Tue, 06 Jun 2023 04:41:45 -0400 Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-53f7bef98b7so5194454a12.3 for <63897@debbugs.gnu.org>; Tue, 06 Jun 2023 01:41:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686040897; x=1688632897; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=gDUWrmNCDe/ID6jq82I8iRmzXzWQYJjOUVn9qQCglxc=; b=LyeFx/FXPFscgrTv5pBZ/EwbM+fiLbjsvYcA62zC2/838u8ptBxKKg1m5z8rlKP51T sSrklOBBYWwtCU6IpWVtdZlvWHMesKULoISjUpNRW9iK0rQYrjhsGyjn/rlLEpGYXmF5 Q+mgUb2RI82lzmtvPlIvQ3UEF9VEjxJC/oM6UoqaIS3hxZhTrWolQVXyHrm424Tw1lDf AM17XhOAjx8OlNSNSjQkChlaSmgac2bp8EYwSSgiznDLJw037FOKy5ipf39AqOHdZDa6 mezaixj2ZqVoNLmVNdc+rm6B3TVsCtiZU73+bK0GPc3sso0GZd2kw4+P9LU3UrptId5j IhSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686040897; x=1688632897; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gDUWrmNCDe/ID6jq82I8iRmzXzWQYJjOUVn9qQCglxc=; b=By80g7Xr2i6f0xEm0KAZDcNHV48mzrr1nk9szkZAqjM3QgfCCdagOWPundad0isSd9 ajSTVonArlDmHNbW4xXXquZS2QgjJsErQJDLa1ok9gH2T2xtlmyohwB0U54wNR3j1qYP UbFyzgLsTkHPyRaHtFL2q9roTlZPRSPuX//ABc3nSnjNLDMjdx4CvEiEzHbHzo5cAC4h 9o54sMz2xhnlTbYFWMIgjshNsPeAVti0XOLMRirfQIRC/fIQQgdIFs76cd3md83a5xor u3/WfHtEz1hgTJgueS3mdBq14YtZroeeaBNiWzEj34CXbz6WL56BccJYDr0nHszypEX3 cfqQ== X-Gm-Message-State: AC+VfDzSW3Vx3CTzZIKOSuwCC2f3k9MFjG73rBFsBMhVPDoEE7BFdzMf fAKZ8ItM3KRu0En0jl4v0177sLO7sxM= X-Google-Smtp-Source: ACHHUZ4RrbohXlBLCPSMWO+cuD6W3bVlCNaU5Jx2nAoujEogby0MMUZIFchcxvaEBYygAmVlrTNKBg== X-Received: by 2002:a05:6a20:918a:b0:10d:8f40:6454 with SMTP id v10-20020a056a20918a00b0010d8f406454mr2354507pzd.36.1686040896556; Tue, 06 Jun 2023 01:41:36 -0700 (PDT) Received: from localhost.localdomain ([98.37.226.98]) by smtp.googlemail.com with ESMTPSA id f25-20020aa782d9000000b0064d74808738sm6297524pfn.214.2023.06.06.01.41.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jun 2023 01:41:35 -0700 (PDT) From: Andy Tai Date: Tue, 6 Jun 2023 01:41:32 -0700 Message-Id: X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1686040936; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=gDUWrmNCDe/ID6jq82I8iRmzXzWQYJjOUVn9qQCglxc=; b=kdDCtH2GHZtfQnRAB1VjgdyDwXXoa4diCIqMQ/rJLf5wc4q3qaLVuoFvvxgwpyybST4EuJ 1NctnQi9sGvW9oGcjmvYpdO3feH1+ybrYyeLkfr1uxJGdiv8tIfUMtgrFbJK7XVH4yauDr xXXVaFpaXX/Jnqs2FQ+JFgFcQJ6Kbw5ObZQmroDewl8g28cNpQ1xv1xKTaA2Mz1vtiGQLw hc2YY8aPaPBDQvf7OpWt9gAz36oaq0F9XOMIMY6y5PTSzYWAFGEK93RHXwMmEEkQQ0yzJj ZCFLhM7ypQlhFDQcBNxNRHMzc60rDAbdFhW3hg9LbK5IN3cjlEAatSXcZ4ExqA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b="LyeFx/FX"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1686040936; a=rsa-sha256; cv=none; b=IQx+NYxP5nWZnm7W6i3w8YzG0fUbudCq6EuBtN1UZskdhIEMDQUUxTyUWB6CSvlU2hrIqM PshkaR0OCvrBeQbkFrGzSrUX131tBMtmZF95seG/XVNKys5OOkCClNTHfT/TzGaDOu/9Rc cvOTCKi9SanQu4jnTF/fxAEM/oCvlY67x31JurSHPuOv5C32DRjcG/FKfkNgd07nZv7yQn w8GonN8ZdekUR+f22BRb1bUwtd5ZT3VRhxRukdFs1EtxBOTd90PRNXxCTgWCn9DFMQoR5+ kyqyBPrT77VCFz6LOCfbMewKh66a5Dqw85i4pgzwlJpt/NQq8vwcmfoOY+z1ow== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -0.69 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b="LyeFx/FX"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 7CE9D2D399 X-Spam-Score: -0.69 X-TUID: hXmPEhJwDnWh * gnu/packages/algebra.scm (eigen-for-tensorflow-lite): Remove variable * gnu/packages/machine-learning.scm (tensorflow-lite): Update to 2.12.0 [arguments] (configure-flags): Turn on GPU and RUY use; Use cmake to find packages already in Guix as dependencies for absl-cpp, eigen, flatbuffer, neon2ssl, cpuinfo, ruy. [arguments] (phases): Remove operations setting up absl-cpp, eigen, ruy, and neon2ssl as native inouts as now we use Guix's packages of these as dependencies. Do default build phase. Add steps to install C shared library and benchmark_model tool [arguments] (inputs): Add cpuinfo, eigen, fp16, mesa-header, opencl, pthreadpool, ruy, vulkan and xnnpack as explicit inputs [arguments] (native-inputs): Remove local setup of neon2ssl and ruy as we now use Guix's packages of these as explicit dependencies * gnu/packages/maths.scm: Remove extra statement * gnu/packages/serialization.scm (flatbuffers-next-shared): New variable, flatbuffers-next built with -fPIC as needed by tensorflow-lite --- gnu/packages/algebra.scm | 32 ------ gnu/packages/machine-learning.scm | 160 +++++++++++++++++------------- gnu/packages/maths.scm | 1 - gnu/packages/serialization.scm | 12 +++ 4 files changed, 101 insertions(+), 104 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 3babf90b3c..81df0c97ac 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1155,38 +1155,6 @@ (define-public eigen-for-tensorflow (substitute* "test/CMakeLists.txt" (("ei_add_test\\(stddeque") "#"))))))))))) -(define-public eigen-for-tensorflow-lite - ;; This commit was taken from - ;; tensorflow/lite/tools/cmake/modules/eigen.cmake - (let ((commit "d10b27fe37736d2944630ecd7557cefa95cf87c9") - (revision "1")) - (package (inherit eigen) - (name "eigen-for-tensorflow-lite") - (version (git-version "3.3.7" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/libeigen/eigen") - (commit commit))) - (sha256 - (base32 - "0v8a20cwvwmp3hw4275b37frw33v92z0mr8f4dn6y8k0rz92hrrf")) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - ;; Ther are test failures in the "unsupported" directory, but - ;; maintainers say it's unsupported anyway, so just skip - ;; them. - '(begin - (substitute* "unsupported/CMakeLists.txt" - (("add_subdirectory\\(test.*") - "# Do not build the tests for unsupported features.\n")))))) - (arguments - (substitute-keyword-arguments (package-arguments eigen) - ((#:phases phases) - `(modify-phases ,phases - (delete 'disable-some-tests)))))))) - (define-public xtensor (package (name "xtensor") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index c9bc5e8b68..1f9ffc8ede 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -54,6 +54,7 @@ (define-module (gnu packages machine-learning) #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages algebra) + #:use-module (gnu packages assembly) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -88,6 +89,7 @@ (define-module (gnu packages machine-learning) #:use-module (gnu packages ninja) #:use-module (gnu packages ocaml) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages opencl) #:use-module (gnu packages parallel) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -107,6 +109,7 @@ (define-module (gnu packages machine-learning) #:use-module (gnu packages swig) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages vulkan) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -2642,7 +2645,7 @@ (define-public tensorflow (define-public tensorflow-lite (package (name "tensorflow-lite") - (version "2.5.0") + (version "2.12.0") (source (origin (method git-fetch) @@ -2652,59 +2655,80 @@ (define-public tensorflow-lite (file-name (git-file-name name version)) (sha256 (base32 - "1jdw2i1rq06zqd6aabh7bbm0avsg4pygnfmd7gviv0blhih9054l")))) + "051knmq6ysg4936d9baaqsx6j3rfsp4ffi2pwrxx4llan682rvpi")))) (build-system cmake-build-system) (arguments `(#:tests? #false ; no "check" target #:build-type "Release" + + #:modules ((ice-9 match) + (guix build utils) + (guix build cmake-build-system)) + #:configure-flags (list - "-DTFLITE_ENABLE_GPU=OFF" - "-DTFLITE_ENABLE_RUY=OFF" + ;; so cmake can be used to find this from other packages + "-DTFLITE_ENABLE_INSTALL=ON" + + ;; Use Guix's own packages as dependencies. + "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON" + + "-DTFLITE_ENABLE_GPU=ON" + "-DTFLITE_ENABLE_RUY=ON" + + ;; TO DO: turn on Farmhash + ;"-DSYSTEM_FARMHASH=ON" + + + (string-append "-Dabsl_DIR=" (assoc-ref %build-inputs "abseil-cpp") + "/lib/cmake/absl") + (string-append "-DEigen3_DIR=" (assoc-ref %build-inputs "eigen") + "/share/eigen3/cmake") + (string-append "-DFlatBuffers_DIR=" (assoc-ref %build-inputs "flatbuffers") + "/lib/cmake/flatbuffers") + (string-append "-DNEON_2_SSE_DIR=" (assoc-ref %build-inputs "neon2sse") + "/lib/cmake/NEON_2_SSE") + (string-append "-Dcpuinfo_DIR=" (assoc-ref %build-inputs "cpuinfo") + "/share/cpuinfo") + (string-append "-Druy_DIR=" (assoc-ref %build-inputs "ruy") + "/lib/cmake/ruy") ;; TODO: The build system attempts to build xnnpack from source. We ;; would like to use our xnnpack package here, but this requires more ;; work. "-DTFLITE_ENABLE_XNNPACK=OFF" - ;; Pretend we've already fetched abseil. We won't actually build it - ;; but use the existing package. - "-Dabseil-cpp_POPULATED=TRUE" - - ;; Don't fetch the sources. We have already built flatbuffers. - "-Dflatbuffers_POPULATED=TRUE" + ;;; Don't fetch the sources. We have these already + "-Degl_headers_POPULATED=TRUE" + "-Dfp16_headers_POPULATED=TRUE" + "-Dopencl_headers_POPULATED=TRUE" + "-Dopengl_headers_POPULATED=TRUE" + "-Dvulkan_headers_POPULATED=TRUE" "-DFFT2D_SOURCE_DIR=/tmp/fft2d" - "-Dneon2sse_SOURCE_DIR=/tmp/neon2sse" - "-Dneon2sse_BINARY_DIR=/tmp/neon2sse-bin" "-DFARMHASH_SOURCE_DIR=/tmp/farmhash" "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp" - (string-append "-DRUY_SOURCE_DIR=" - (assoc-ref %build-inputs "ruy-src"))) + ) #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "tensorflow/lite"))) (add-after 'chdir 'copy-sources (lambda* (#:key inputs #:allow-other-keys) - ;; Use external cmake finders instead of these stubs that won't - ;; find anything but the bundled sources. - (delete-file "tools/cmake/modules/Findabsl.cmake") - (delete-file "tools/cmake/modules/Findeigen.cmake") + ;; TO DO: properly use Guix's pthreaqdpool + ;; roght now not using pthreadpool because + ;; we are not enabling xnnpack + (substitute* "CMakeLists.txt" + (("if\\(NOT DEFINED PTHREADPOOL_SOURCE_DIR\\)") + "if(false)")) (substitute* "CMakeLists.txt" - (("find_package\\(eigen REQUIRED") - "find_package(eigen REQUIRED NAMES Eigen3")) - (substitute* "tools/cmake/modules/Findflatbuffers.cmake" - (("get_target_property.*") - (format #false "set(FLATBUFFERS_INCLUDE_DIRS ~a/include)\n" - (assoc-ref inputs "flatbuffers")))) + (("if\\(NOT TARGET pthreadpool\\)") + "if(false)")) ;; Don't fetch source code; we already have everything we need. (substitute* '("tools/cmake/modules/fft2d.cmake" - "tools/cmake/modules/ruy.cmake" "tools/cmake/modules/farmhash.cmake" - "tools/cmake/modules/neon2sse.cmake" "tools/cmake/modules/gemmlowp.cmake") (("OverridableFetchContent_Populate.*") "")) @@ -2718,29 +2742,46 @@ (define-public tensorflow-lite (invoke "tar" "--strip-components=1" "-xf" (assoc-ref inputs "fft2d-src"))) - (copy-recursively (assoc-ref inputs "neon2sse-src") - "/tmp/neon2sse/") (copy-recursively (assoc-ref inputs "gemmlowp-src") "/tmp/gemmlowp/"))) - (add-after 'copy-sources 'prepare-shared-library-build - (lambda _ (chdir "c"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib")) - (headers (string-append out "/include/tensorflow/lite"))) - (install-file "../build/libtensorflowlite_c.so" lib) - (with-directory-excursion ".." - (for-each - (lambda (file) - (let ((target-dir (string-append headers "/" (dirname file)))) - (install-file file target-dir))) - (find-files "." "\\.h$"))))))))) + + (add-after 'build 'build-shared-library + (lambda* (#:key configure-flags #:allow-other-keys) + (mkdir-p "c") + (with-directory-excursion "c" + (apply invoke "cmake" (append configure-flags (list "../../lite/c"))) + (invoke "cmake" "--build" "." "-j" (number->string + (parallel-job-count)))))) + (add-after 'build-shared-library 'build-benchmark-model + (lambda _ + (invoke "cmake" "--build" "." "--target" "benchmark_model" + "-j" (number->string (parallel-job-count))))) + + (add-after 'install 'install-extra + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (bin (string-append out "/bin"))) + (install-file "../build/c/libtensorflowlite_c.so" lib) + (install-file "../build/tools/benchmark/benchmark_model" bin)))) + ))) (inputs `(("abseil-cpp" ,abseil-cpp-20200923.3) - ("eigen" ,eigen-for-tensorflow-lite) - ("flatbuffers" ,flatbuffers) - ("python" ,python))) + ("cpuinfo" ,cpuinfo) + ("eigen" ,eigen) + ("fp16" ,fp16) + ("flatbuffers" ,flatbuffers-next-shared) + ;("gemmlowp" ,gemmlowp) ;; TO DO + ("mesa-headers" ,mesa-headers) + ("neon2sse" ,neon2sse) + ("opencl-clhpp" ,opencl-clhpp) + ("opencl-headers" ,opencl-headers) + ("opencl-icd-loader" ,opencl-icd-loader) + ("pthreadpool" ,pthreadpool) + ("python" ,python) + ("ruy" ,ruy) + ;("xnnpack" ,xnnpack) ;; TO DO: properly use Guix's copy of xnnpack + ("vulkan-headers" , vulkan-headers))) (native-inputs `(("pkg-config" ,pkg-config) ("gemmlowp-src" @@ -2756,17 +2797,6 @@ (define-public tensorflow-lite (sha256 (base32 "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl"))))) - ("neon2sse-src" - ,(let ((commit "a1652fd5253afbf3e39357b012974f93511f6108")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/intel/ARM_NEON_2_x86_SSE") - (commit commit))) - (file-name (git-file-name "neon2sse" (string-take commit 8))) - (sha256 - (base32 - "1q8gkxag9wlnwdwad2pclsrkwzrdjy94hyrkayrsvxyj7szb5y8i"))))) ("farmhash-src" ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) (origin @@ -2782,24 +2812,12 @@ (define-public tensorflow-lite ,(origin (method url-fetch) (uri (string-append "https://storage.googleapis.com/" - "mirror.tensorflow.org/" - "www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz")) + "mirror.tensorflow.org/github.com/petewarden/" + "OouraFFT/archive/v1.0.tar.gz")) (file-name "fft2d.tar.gz") (sha256 (base32 - "1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd")))) - ("ruy-src" - ,(let ((commit "9c56af3fce210a8a103eda19bd6f47c08a9e3d90")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/google/ruy") - (commit commit) - (recursive? #true))) - (file-name (git-file-name "ruy" (string-take commit 8))) - (sha256 - (base32 - "1cfd5gk6kaj8kbl3h98gx1ap8czd59y6p8qq8nr28fklpyzf5cis"))))))) + "1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd")))))) (home-page "https://tensorflow.org") (synopsis "Machine learning framework") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7904d9e8e3..37480a8397 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -85,7 +85,6 @@ (define-module (gnu packages maths) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix gexp) #:use-module (guix utils) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix build-system ant) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 39954d6764..268a5d3d9b 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -748,6 +748,18 @@ (define-public flatbuffers-next (base32 "1z3a6l8g2y53i5xzraswfs2i0i3kk52zv7nzc2q3fgisbyiri3pz")))))) +(define-public flatbuffers-next-shared + (package + (inherit flatbuffers-next) + (name "flatbuffers-shared") + (version "23.1.21") + (arguments + (substitute-keyword-arguments (package-arguments flatbuffers-next) + ((#:configure-flags flags) + ;; make C++ fiels compiled with -fPIC, needed for shared lib". + #~(cons "-DFLATBUFFERS_CXX_FLAGS=-fPIC" #$flags)))))) + + (define-public python-feather-format (package (name "python-feather-format") base-commit: 8937898af9433c0b7a8d95a78c95e21576ae22e8 prerequisite-patch-id: 6a623f7c3bdc733b110fd6f59f31032adb7d987d prerequisite-patch-id: 5e9e341f5896c5eee0f64a7a031cc57491e76eb9 -- 2.40.1