From f6adf70058963961d42a33e1f7ef241f196776aa Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 20 Apr 2025 10:43:53 +0800 Subject: [PATCH] gnu: python-safetensors: Remove #:cargo-inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/machine-learning.scm (python-safetensors) [inputs]: Use ‘cargo-inputs’. [arguments]: Remove #:cargo-inputs. <#:install-source?>: Disable. <#:modules>: Unset. <#:phases>: Simplify 'inject-safetensors and move it to... [source]: ...here as a snippet. * gnu/packages/rust-crates.scm (lookup-cargo-inputs)[python-safetensors]: New entry. Change-Id: I806770a776e02deba1e4a1dddccd608897121605 --- gnu/packages/machine-learning.scm | 33 +++------------ gnu/packages/rust-crates.scm | 68 +++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 27 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 74a3b451753..dde302bf74b 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1430,31 +1430,15 @@ storing tensors safely, named safetensors. They aim to be safer than their (unless (member file '("." "..")) (rename-file (string-append "bindings/python/" file) file))) - (scandir "bindings/python")))))) + (scandir "bindings/python")) + (substitute* "Cargo.toml" + (("^path = .*") "")))))) (build-system cargo-build-system) (arguments (list - #:modules '((guix build cargo-build-system) - (guix build utils) - (ice-9 regex) - (ice-9 textual-ports) - (srfi srfi-26)) + #:install-source? #f #:phases #~(modify-phases %standard-phases - (add-after 'unpack-rust-crates 'inject-safetensors - (lambda _ - (substitute* "Cargo.toml" - (("\\[dependencies\\]") - (format #f "[dependencies]~%safetensors = ~s" - #$(package-version rust-safetensors)))) - (call-with-input-file "Cargo.toml" - (lambda (port) - (let* ((content (get-string-all port)) - (top-match (string-match - "\\[dependencies.safetensors" - content))) - (call-with-output-file "Cargo.toml" - (cut display (match:prefix top-match) <>))))))) (add-before 'check 'install-rust-library (lambda _ (copy-file "target/release/libsafetensors_rust.so" @@ -1484,14 +1468,9 @@ storing tensors safely, named safetensors. They aim to be safer than their (copy-file "PKG-INFO" (string-append info "/METADATA")) (copy-recursively "py_src/safetensors" - (string-append lib "safetensors")))))) - #:cargo-inputs - `(("rust-pyo3" ,rust-pyo3-0.21) - ("rust-memmap2" ,rust-memmap2-0.9) - ("rust-safetensors" ,rust-safetensors) - ("rust-serde-json" ,rust-serde-json-1)))) + (string-append lib "safetensors")))))))) (inputs - (list rust-safetensors)) + (cargo-inputs 'python-safetensors)) (native-inputs (list python-h5py python-minimal diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm index 3b3ff84d1c0..4361f58fb4f 100644 --- a/gnu/packages/rust-crates.scm +++ b/gnu/packages/rust-crates.scm @@ -7512,6 +7512,10 @@ (crate-source "pyo3" "0.19.2" "0f1aqx947mzsrk05zdm9w2702lj5k9s97y9w9lxwkp2avk7sd0g6")) +(define rust-pyo3-0.21.2 + (crate-source "pyo3" "0.21.2" + "1n39y183jfqbyvimscqr0ysxxa6804pn46ivw048ww91lnb0pq55")) + (define rust-pyo3-0.22.6 (crate-source "pyo3" "0.22.6" "110qrq9yibfv40zzind9p2i87617lhzs379ix0m2065b2qk0c0pl")) @@ -7529,6 +7533,10 @@ (crate-source "pyo3-build-config" "0.19.2" "19bb7aqyvr4kmh8b2lnrmcv9251j8yxw7l7xyr77m3s3pk876v07")) +(define rust-pyo3-build-config-0.21.2 + (crate-source "pyo3-build-config" "0.21.2" + "0l0vxvnqsbjrpdmysnwaljf4q3zcr1kb526qq23svzgs6mcdz0vq")) + (define rust-pyo3-build-config-0.22.6 (crate-source "pyo3-build-config" "0.22.6" "0f4w8waba9cyzllq0dpxpw7qmgic05wdf4k20p8nsi7znmsmfjxi")) @@ -7545,6 +7553,10 @@ (crate-source "pyo3-ffi" "0.19.2" "1nc4696k03ydyiy1f69l3ywknavjzxzag2mscrh2bgkywx1fwg75")) +(define rust-pyo3-ffi-0.21.2 + (crate-source "pyo3-ffi" "0.21.2" + "00vlp4gmzn76gz250pz1r3fydd5r41nwl7dd9nmidfb0vi1migh1")) + (define rust-pyo3-ffi-0.22.6 (crate-source "pyo3-ffi" "0.22.6" "0dl6zj806rkvs67q2mdgjbnzjhzm8glms46nqx8bpp1c9bqbrdcs")) @@ -7561,6 +7573,10 @@ (crate-source "pyo3-macros" "0.19.2" "1lggr5pnpmdj0cznlhw7ykm1qka3wlymwzfxqql6a4vyb6clrsyz")) +(define rust-pyo3-macros-0.21.2 + (crate-source "pyo3-macros" "0.21.2" + "0g65z9yj2iffjrkrkzan9hwhhj7rrchh7lfv64dy30h6zill1cvp")) + (define rust-pyo3-macros-0.22.6 (crate-source "pyo3-macros" "0.22.6" "0lylczfabgylnfldns6m36vsw98m9sini0wn1gcfda83g64lvlhg")) @@ -7577,6 +7593,10 @@ (crate-source "pyo3-macros-backend" "0.19.2" "0dlm4pg29hjmlqx15gcy9cmnabvc8ycy60hcvjg8hm62flhw2zcl")) +(define rust-pyo3-macros-backend-0.21.2 + (crate-source "pyo3-macros-backend" "0.21.2" + "0p58yp8ajlc8bq56wghw1syrjszmadasasdfpsjy3d9dychhf9h8")) + (define rust-pyo3-macros-backend-0.22.6 (crate-source "pyo3-macros-backend" "0.22.6" "1gmz3i0sr4fdg7qjvd8ylbkrgbbch9wv955kni903rd17fh13h1n")) @@ -8411,6 +8431,10 @@ (crate-source "safe_arch" "0.7.4" "08sk47n1kcm5w2di6bpgi2hsw8r2caz2230pwqvbdqfv5pl2vc4n")) +(define rust-safetensors-0.4.5 + (crate-source "safetensors" "0.4.5" + "1djm1sz72da28xws6dlcpwgchvckc9m86v73djj30qba4c8hqmj4")) + (define rust-salsa20-0.10.2 (crate-source "salsa20" "0.10.2" "04w211x17xzny53f83p8f7cj7k2hi8zck282q5aajwqzydd2z8lp")) @@ -23368,6 +23392,50 @@ rust-windows-x86-64-gnu-0.52.6 rust-windows-x86-64-gnullvm-0.52.6 rust-windows-x86-64-msvc-0.52.6)) + (python-safetensors => + (list rust-autocfg-1.4.0 + rust-bitflags-2.9.0 + rust-cfg-if-1.0.0 + rust-heck-0.4.1 + rust-indoc-2.0.6 + rust-itoa-1.0.15 + rust-libc-0.2.172 + rust-lock-api-0.4.12 + rust-memchr-2.7.4 + rust-memmap2-0.9.5 + rust-memoffset-0.9.1 + rust-once-cell-1.21.3 + rust-parking-lot-0.12.3 + rust-parking-lot-core-0.9.10 + rust-portable-atomic-1.11.0 + rust-proc-macro2-1.0.95 + rust-pyo3-0.21.2 + rust-pyo3-build-config-0.21.2 + rust-pyo3-ffi-0.21.2 + rust-pyo3-macros-0.21.2 + rust-pyo3-macros-backend-0.21.2 + rust-quote-1.0.40 + rust-redox-syscall-0.5.11 + rust-ryu-1.0.20 + rust-safetensors-0.4.5 + rust-scopeguard-1.2.0 + rust-serde-1.0.219 + rust-serde-derive-1.0.219 + rust-serde-json-1.0.140 + rust-smallvec-1.15.0 + rust-syn-2.0.100 + rust-target-lexicon-0.12.16 + rust-unicode-ident-1.0.18 + rust-unindent-0.2.4 + rust-windows-targets-0.52.6 + rust-windows-aarch64-gnullvm-0.52.6 + rust-windows-aarch64-msvc-0.52.6 + rust-windows-i686-gnu-0.52.6 + rust-windows-i686-gnullvm-0.52.6 + rust-windows-i686-msvc-0.52.6 + rust-windows-x86-64-gnu-0.52.6 + rust-windows-x86-64-gnullvm-0.52.6 + rust-windows-x86-64-msvc-0.52.6)) (rav1e => (list rust-addr2line-0.24.2 rust-adler2-2.0.0