Message ID | 20210704163203.31351-1-ds815@gmx.com |
---|---|
Headers | show |
Series | Add hyperfine | expand |
On Sun, Jul 04 2021, Domagoj Stolfa wrote: > Hyperfine is a rust utility used for benchmarking, see: > https://github.com/sharkdp/hyperfine. > > This patch series packages hyperfine in Guix, and each patch is adding the > necessary dependencies for hyperfine to build. > > I've tested 5 rounds of building hyperfine and everything seems to be in order > and have been using it locally. > > Domagoj Stolfa (21): > gnu: Add hyperfine. > gnu: Add rust-colored-2 > gnu: Add rust-rust-decimal-1 > gnu: Add rust-statistical-1 > gnu: Add rust-postgres-0.19 > gnu: Add rust-tokio-postgres-0.7 > gnu: Add rust-postgres-protocol-0.6 > gnu: Add rust-postgres-types-0.2 > gnu: Add rust-socket2-0.4 > gnu: Add rust-hmac-0.11 > gnu: Add rust-crypto-mac-0.11 > gnu: Add rust-cipher-0.3 > gnu: Add rust-streebog-0.9 > gnu: Add rust-hmac-0.10 > gnu: Add rust-bit-vec-0.6 > gnu: Add rust-eui48-0.4 > gnu: Add rust-geo-types-0.7 > gnu: Add rust-geo-types-0.6 > gnu: Add rust-rstar-0.8 > gnu: Add rust-postgres-derive-0.4 > gnu: Add rust-pdqselect-0.1 Ideally, the patches should be in the reverse order, so that the dependencies of ‘hyperfine’ gets added before ‘hyperfine’ itself gets added. A more general suggestion after reviewing the patches is to run ‘guix lint’ after adding new packages, it will often catch a lot of the common mistakes people make; don’t just rely on the importer to do everything. I didn’t build any of the packages as I was building GHC while reviewing the packages, hopefully I will get to that. :)
Hi Xinglu: Thanks for taking the effort to look through everything! Regarding the multiple versions, when I'd tried building with the same versions of things already imported (e.g. hmac-0.11 and hmac-0.10) it didn't work. Same is true for rust-geo-types. I'll investigate if maybe it was caused by some oversight on my end and try to eleminate as many duplicates as possible. > Ideally, the patches should be in the reverse order, so that the > dependencies of ‘hyperfine’ gets added before ‘hyperfine’ itself gets > added. ACK. > A more general suggestion after reviewing the patches is to run ‘guix > lint’ after adding new packages, it will often catch a lot of the > common mistakes people make; don’t just rely on the importer to do > everything. Will do, I'd ran it for hyperfine itself and had an (in retrospect, a very silly) assumption that it would lint the dependencies too. Will update the patches based on your comments and send them in as soon as I have something working with the updated patch set. Thanks again! -- Domagoj
Hi: I've gone through the comments and made sure that every `guix lint` and `guix build` is happy. I've update what made sense to update for this patch, however for anything that I could not update (e.g. there are too many packages depending on it) -- I simply added a new version and inherited from it in other versions. For rust-cipher, I added a new package, rust-cipher-0.3 and then moved all the packages that use rust-cipher-0.2 to use rust-cipher-0.3. I don't know if there is anything else that depends on rust-cipher-0.2, so I did not remove it. Any duplicate package with different versions must unfortunately be added in order for things to build (e.g. geo-types@0.7 and geo-types@0.6). I've tried everything, but cargo is generally unhappy about not having a particular version. Domagoj Stolfa (26): gnu: Add rust-pdqselect-0.1 gnu: Add rust-postgres-derive-0.4 gnu: Add rust-rstar-0.9 gnu: Add rust-geo-types-0.7 gnu: Add rust-bit-vec-0.6 gnu: Add rust-cipher-0.3 gnu: rust-crypto-mac-0.10: Use rust-cipher-0.3. gnu: rust-ctr-0.6: Use rust-cipher-0.3. gnu: rust-eax-0.3: Use rust-cipher-0.3. gnu: rust-win-crypto-ng-0.4: Use rust-cipher-0.3. gnu: Add rust-crypto-mac-0.11 gnu: Add rust-streebog-0.9 gnu: Add rust-hmac-0.11 gnu: Add rust-hmac-0.10 gnu: Add rust-postgres-protocol-0.6 gnu: Add rust-eui48-0.4 gnu: Add rust-rstar-0.8 gnu: Add rust-geo-types-0.6 gnu: Add rust-postgres-types-0.2 gnu: Add rust-socket2-0.4 gnu: Add rust-tokio-postgres-0.7 gnu: Add rust-postgres-0.19 gnu: Add rust-statistical-1 gnu: Add rust-rust-decimal-1 gnu: Add rust-colored-2 gnu: Add hyperfine. gnu/packages/crates-graphics.scm | 38 +- gnu/packages/crates-io.scm | 701 ++++++++++++++++++++++++++++--- gnu/packages/rust-apps.scm | 40 ++ 3 files changed, 713 insertions(+), 66 deletions(-)