From 442744ba750d2f7e38b3954c150561967ba62ade Mon Sep 17 00:00:00 2001 From: Magnus Ulimoen Date: Thu, 8 Aug 2024 15:34:59 +0200 Subject: [PATCH 1/3] Use hdf5-metno fork --- Cargo.lock | 83 +++++++++++++++++++++++++----------------------------- Cargo.toml | 12 ++------ 2 files changed, 42 insertions(+), 53 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d4f56fa..a2a3bee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -540,15 +540,16 @@ dependencies = [ ] [[package]] -name = "hdf5" -version = "0.8.1" -source = "git+https://github.com/magnusuMET/hdf5-rust?branch=hidefix_jul_2023#139027b327c0c6e441f54c769b64ddb6a7d93c7e" +name = "hdf5-metno" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0bfdbd1f586191c2620c3913d68d9c44ca049032971d8ebe83bbcb48bc02721" dependencies = [ "bitflags 2.6.0", "cfg-if", - "hdf5-derive", - "hdf5-sys", - "hdf5-types", + "hdf5-metno-derive", + "hdf5-metno-sys", + "hdf5-metno-types", "lazy_static", "libc", "ndarray", @@ -557,9 +558,10 @@ dependencies = [ ] [[package]] -name = "hdf5-derive" -version = "0.8.1" -source = "git+https://github.com/magnusuMET/hdf5-rust?branch=hidefix_jul_2023#139027b327c0c6e441f54c769b64ddb6a7d93c7e" +name = "hdf5-metno-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6bbf95dac0682b4d62845d65c3820f27da82e1835f4c1a70aa5e57b4fadfac" dependencies = [ "proc-macro-error", "proc-macro2", @@ -568,20 +570,22 @@ dependencies = [ ] [[package]] -name = "hdf5-src" -version = "0.8.1" -source = "git+https://github.com/magnusuMET/hdf5-rust?branch=hidefix_jul_2023#139027b327c0c6e441f54c769b64ddb6a7d93c7e" +name = "hdf5-metno-src" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e38a0cf492c96b0814b8179d53211478e2523c12c48db85bd03bc00a3de019e" dependencies = [ "cmake", "libz-sys", ] [[package]] -name = "hdf5-sys" -version = "0.8.1" -source = "git+https://github.com/magnusuMET/hdf5-rust?branch=hidefix_jul_2023#139027b327c0c6e441f54c769b64ddb6a7d93c7e" +name = "hdf5-metno-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a4d459ce024a086ba8776d56a0024af23f4ecb80f9b89c0f0c6f45ef5670aea" dependencies = [ - "hdf5-src", + "hdf5-metno-src", "libc", "libloading", "libz-sys", @@ -589,17 +593,18 @@ dependencies = [ "regex", "serde", "serde_derive", - "winreg 0.50.0", + "winreg", ] [[package]] -name = "hdf5-types" -version = "0.8.1" -source = "git+https://github.com/magnusuMET/hdf5-rust?branch=hidefix_jul_2023#139027b327c0c6e441f54c769b64ddb6a7d93c7e" +name = "hdf5-metno-types" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "236c29ece21fd13543f45b1578c4e65d5d61da38d90192812f1f6ad86ac255ac" dependencies = [ "ascii", "cfg-if", - "hdf5-sys", + "hdf5-metno-sys", "libc", ] @@ -630,9 +635,8 @@ dependencies = [ "futures", "futures-core", "futures-util", - "hdf5", - "hdf5-src", - "hdf5-sys", + "hdf5-metno", + "hdf5-metno-sys", "itertools", "libc", "libdeflater", @@ -999,35 +1003,36 @@ dependencies = [ [[package]] name = "netcdf" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8aa8799e918d05f6d5d05e08d980f5a4e5d4f4fb503904f2c35c49aed9ac75a" +checksum = "8c1e5d3a9613189828a53846ec7b3881960ab3a3ef2e7a86f5636c8f877b195d" dependencies = [ "bitflags 2.6.0", "libc", "ndarray", "netcdf-sys", + "semver", ] [[package]] name = "netcdf-src" -version = "0.3.7" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ae83ca3a3cdbd6f5bc1a30b51cc4838679cbc926f6ead0fed5ee3e52708795" +checksum = "a6f4b2ec89f807b02a1e06db7eaba041de1ac4d01f7d49692f5790e3413c348d" dependencies = [ "cmake", - "hdf5-sys", + "hdf5-metno-sys", "libz-sys", ] [[package]] name = "netcdf-sys" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d5387d8e8569b204a9e065529f10d42ef0a1d3b8622d6ee2612765639fbe19" +checksum = "634fcbdaeb00d90b0673d5928b729d6f9fd33f5be7e45561217bd859b278f3a2" dependencies = [ "curl-sys", - "hdf5-sys", + "hdf5-metno-sys", "libz-sys", "netcdf-src", "semver", @@ -1543,7 +1548,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.52.0", + "winreg", ] [[package]] @@ -2337,17 +2342,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "serde", - "windows-sys 0.48.0", -] - [[package]] name = "winreg" version = "0.52.0" @@ -2355,6 +2349,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", + "serde", "windows-sys 0.48.0", ] diff --git a/Cargo.toml b/Cargo.toml index df301ad..951334e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,15 +31,14 @@ serde_bytes = "0.11" strength_reduce = "0.2" zerocopy = "0.7" libc = "0.2" -hdf5 = "0.8" -hdf5-sys = "0.8" -hdf5-src = { version = "0.8", features = [ "threadsafe" ] } +hdf5 = { package = "hdf5-metno", version = "0.9" } +hdf5-sys = { package = "hdf5-metno-sys", version = "0.9", features = ["threadsafe"] } log = "0.4" rayon = "1.10" ndarray = { version = "0.15", features = [ "rayon" ] } pyo3 = { version = "0.21", optional = true, features = ["anyhow", "auto-initialize", "abi3-py39"] } numpy = { version = "0.21.0", optional = true } -netcdf = { version = "^0.9", optional = true } +netcdf = { version = "0.10.0", optional = true } [dependencies.serde] features = ["derive"] @@ -55,11 +54,6 @@ rand = "0.8" sled = "0.34.7" reqwest = { version = "0.12", features = [ "blocking" ] } -[patch.crates-io] -hdf5 = { git = "https://github.com/magnusuMET/hdf5-rust", branch = "hidefix_jul_2023" } -hdf5-sys = { git = "https://github.com/magnusuMET/hdf5-rust", branch = "hidefix_jul_2023" } -hdf5-src = { git = "https://github.com/magnusuMET/hdf5-rust", branch = "hidefix_jul_2023" } - [profile.release] lto = 'thin' codegen-units = 1 From d9f1a9a92c0217910ca90304c10f54bafb38e19d Mon Sep 17 00:00:00 2001 From: Magnus Ulimoen Date: Fri, 9 Aug 2024 09:02:59 +0200 Subject: [PATCH 2/3] Don't require threadsafe hdf5-c --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 951334e..be76716 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ strength_reduce = "0.2" zerocopy = "0.7" libc = "0.2" hdf5 = { package = "hdf5-metno", version = "0.9" } -hdf5-sys = { package = "hdf5-metno-sys", version = "0.9", features = ["threadsafe"] } +hdf5-sys = { package = "hdf5-metno-sys", version = "0.9" } log = "0.4" rayon = "1.10" ndarray = { version = "0.15", features = [ "rayon" ] } From 39fe223c174220b8803848c0af29c4b254eaff77 Mon Sep 17 00:00:00 2001 From: Magnus Ulimoen Date: Fri, 9 Aug 2024 13:28:55 +0200 Subject: [PATCH 3/3] Update netcdf --- Cargo.lock | 20 +++++++++++--------- Cargo.toml | 6 +++--- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a2a3bee..9a1b25f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -541,9 +541,9 @@ dependencies = [ [[package]] name = "hdf5-metno" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bfdbd1f586191c2620c3913d68d9c44ca049032971d8ebe83bbcb48bc02721" +checksum = "6f2c9e7b522edb713f5dabf35860d7e2fee4039d2365101fe4120789b861050d" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -553,7 +553,6 @@ dependencies = [ "lazy_static", "libc", "ndarray", - "parking_lot 0.12.3", "paste", ] @@ -581,14 +580,15 @@ dependencies = [ [[package]] name = "hdf5-metno-sys" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a4d459ce024a086ba8776d56a0024af23f4ecb80f9b89c0f0c6f45ef5670aea" +checksum = "1e7be8ee30e5034ee48dd30bc85a2fdde6e1ec0e5e19598409e8e9955eab14af" dependencies = [ "hdf5-metno-src", "libc", "libloading", "libz-sys", + "parking_lot 0.12.3", "pkg-config", "regex", "serde", @@ -1003,14 +1003,15 @@ dependencies = [ [[package]] name = "netcdf" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1e5d3a9613189828a53846ec7b3881960ab3a3ef2e7a86f5636c8f877b195d" +checksum = "2d48655f023b5bb91490d12685e170f9ff9ecd771e30e166faa80f7f414caf27" dependencies = [ "bitflags 2.6.0", "libc", "ndarray", "netcdf-sys", + "parking_lot 0.12.3", "semver", ] @@ -1027,14 +1028,15 @@ dependencies = [ [[package]] name = "netcdf-sys" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634fcbdaeb00d90b0673d5928b729d6f9fd33f5be7e45561217bd859b278f3a2" +checksum = "2f024a696579d16a9d51747b69560683257886807870ee3c253049d9d76c00bd" dependencies = [ "curl-sys", "hdf5-metno-sys", "libz-sys", "netcdf-src", + "parking_lot 0.12.3", "semver", ] diff --git a/Cargo.toml b/Cargo.toml index be76716..e3762f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,14 +31,14 @@ serde_bytes = "0.11" strength_reduce = "0.2" zerocopy = "0.7" libc = "0.2" -hdf5 = { package = "hdf5-metno", version = "0.9" } -hdf5-sys = { package = "hdf5-metno-sys", version = "0.9" } +hdf5 = { package = "hdf5-metno", version = "0.9.1" } +hdf5-sys = { package = "hdf5-metno-sys", version = "0.9.1" } log = "0.4" rayon = "1.10" ndarray = { version = "0.15", features = [ "rayon" ] } pyo3 = { version = "0.21", optional = true, features = ["anyhow", "auto-initialize", "abi3-py39"] } numpy = { version = "0.21.0", optional = true } -netcdf = { version = "0.10.0", optional = true } +netcdf = { version = "0.10.1", optional = true } [dependencies.serde] features = ["derive"]