mbox series

[bug#68312,000/156] Add atuin (WIP).

Message ID cover.1704675820.git.w@wmeyer.eu
Headers show
Series Add atuin (WIP). | expand

Message

Wilko Meyer Jan. 8, 2024, 1:51 a.m. UTC
Hi Guix,

I started packaging atuin[0], a tool written in Rust to keep ones shell
history in sync across systems/make it more easily searchable, for Guix.
It builds successfully on my system already from a manifest.scm, so I
decided to create a patchset for Guix proper. I'm almost certain,
there'll be a v2 of this patch series; as some package description do
not fully comply with the preferred style yet, I want to add the proper
cargo-development-inputs to dependencies where applicable, smooth rough
edges,and want to see if I get the sync server implementation for atuin
running as a shepherd service.

As this patch series got pretty big, I'm not sure what the best way is
to get all changes/atuin into Guix proper. Is it even feasible like this
from a reviewing perspective or should I see if I can split up this
patch series in 3 (atuin cli tool, and the two server implementations,
one for postgresql and one for sqlite) seperate ones?

Kind regards,

Wilko Meyer

[0]: https://github.com/atuinsh/atuin 

Wilko Meyer (156):
  gnu: Add rust-rocket-0.5.
  gnu: Add rust-asn1-rs-0.3.
  gnu: Add rust-rocket-codegen-0.5.
  gnu: Add rust-rocket-http-0.5.
  gnu: Add rust-webpki-roots-0.24.
  gnu: Add rust-asn1-rs-derive-0.1.
  gnu: rust-ascii-1: Update to 1.1.0.
  gnu: Add rust-atoi-2.
  gnu: Add rust-atomic-0.6.
  gnu: Add rust-atomic-write-file-0.1.
  gnu: Add rust-atuin-common-17.
  gnu: Add rust-atuin-client-17.
  gnu: Add rust-atuin-server-database-17.
  gnu: Add rust-atuin-server-17.
  gnu: Add rust-atuin-server-postgres-17.
  gnu: Add rust-axum-server-0.5.
  gnu: Add rust-axum-core-0.3.
  gnu: Add rust-axum-0.6.
  gnu: Add rust-axum-macros-0.3.
  gnu: Add rust-base16ct-0.1.
  gnu: Add rust-bigdecimal-0.4.
  gnu: Add rust-binascii-0.1.
  gnu: Add rust-bindgen-0.69.
  gnu: Add rust-borsh-1.
  gnu: Add rust-borsh-derive-1.
  gnu: Add rust-chacha20-0.9.
  gnu: Add rust-cint-0.3.
  gnu: Add rust-clipboard-0.4.
  gnu: Add rust-config-0.13.
  gnu: Add rust-cookie-0.18.
  gnu: Add rust-ubyte-0.10.
  gnu: Add rust-crypto-secretbox-0.1.
  gnu: Add rust-crypto-bigint-0.4.
  gnu: Add rust-csscolorparser-0.6.
  gnu: Add rust-curve25519-dalek-derive-0.1.
  gnu: Add rust-curve25519-dalek-4.
  gnu: Add rust-deltae-0.3.
  gnu: Add rust-rust-decimal-1.
  gnu: Add rust-der-parser-7.
  gnu: rust-derive-new-0.5: Update to 0.5.9.
  gnu: Add rust-devise-0.4.
  gnu: Add rust-devise-codegen-0.4.
  gnu: Add rust-devise-core-0.4.
  gnu: Add rust-diesel-2.
  gnu: Add rust-diesel-derives-2.
  gnu: Add rust-diesel-table-macro-syntax-0.1.
  gnu: rust-directories-5: Update to 5.0.1.
  gnu: Add rust-dlv-list-0.3.
  gnu: Add rust-ecdsa-0.14.
  gnu: Add rust-ed25519-2.
  gnu: Add rust-ed25519-dalek-2.
  gnu: Add rust-elliptic-curve-0.12.
  gnu: Add rust-ff-derive-0.12.
  gnu: Add rust-ff-0.12.
  gnu: Add rust-figment-0.10.
  gnu: Add rust-fiat-crypto-0.2.
  gnu: Add rust-finl-unicode-1.
  gnu: Add rust-flume-0.11.
  gnu: Add rust-futures-intrusive-0.5.
  gnu: Add rust-group-0.12.
  gnu: Add rust-http-range-header-0.3.
  gnu: rust-http-body-0.4: Update to 0.4.6.
  gnu: Add rust-iri-string-0.7.
  gnu: Add rust-inlinable-string-0.1.
  gnu: Add rust-indicatif-0.17.
  gnu: Add rust-interim-0.1.
  gnu: Add rust-ipnetwork-0.20.
  gnu: Add rust-iso8601-0.4.
  gnu: Add rust-rust-json5-0.4.
  gnu: Add rust-libsqlite3-sys-0.27.
  gnu: Add rust-logos-codegen-0.13.
  gnu: Add rust-logos-derive-0.13.
  gnu: Add rust-logos-0.13.
  gnu: Add rust-lru-0.12.
  gnu: rust-lru-0.7: Update to 0.7.8.
  gnu: Add rust-mach2-0.4.
  gnu: Add rust-mac-address-1.
  gnu: Add rust-matchit-0.7.
  gnu: Add rust-memmem-0.1.
  gnu: Add rust-merlin-3.
  gnu: Add rust-metrics-util-0.15.
  gnu: Add rust-metrics-exporter-prometheus-0.12.
  gnu: Add rust-metrics-macros-0.7.
  gnu: Add rust-metrics-0.21.
  gnu: rust-mime-0.3: Update to 0.3.17.
  gnu: Add rust-minspan-0.1.
  gnu: Add rust-multer-2.
  gnu: Add rust-nu-ansi-term-0.49.
  gnu: Add rust-oid-registry-0.4.
  gnu: Add rust-ordered-multimap-0.4.
  gnu: Add rust-p384-0.11.
  gnu: Add rust-parse-duration-2.
  gnu: Add rust-pear-0.2.
  gnu: Add rust-pear-codegen-0.2.
  gnu: Add rust-platforms-3.
  gnu: Add rust-poly1305-0.8.
  gnu: Add rust-proc-macro-crate-2.
  gnu: rust-proc-macro2-1: Update to 1.0.76.
  gnu: Add rust-proc-macro-diagnostics-0.10.
  gnu: Add rust-prost-derive-0.11.
  gnu: Add rust-prost-0.11.
  gnu: Add rust-prost-types-0.11.
  gnu: Add rust-quanta-0.11.
  gnu: Add rust-ratatui-0.24.
  gnu: Add rust-rfc6979-0.3.
  gnu: Add rust-runtime-format-0.1.
  gnu: Add rust-rust-ini-0.18.
  gnu: rust-schemars-0.8: Update to 0.8.16.
  gnu: rust-schemars-derive-0.8: Update to 0.8.16.
  gnu: Add rust-sec1-0.3.
  gnu: Add rust-rusty-parserk-0.3.
  gnu: Add rust-rusty-paseto-0.6.
  gnu: Add rust-serde-derive-internals-0.26.
  gnu: Update rust-serde-json-1 to 1.0.111.
  gnu: Add rust-serdect-0.1.
  gnu: rust-signature-1: Update to 1.6.4.
  gnu: rust-signature-derive-1: Update to 1.0.0-pre.7.
  gnu: Add rust-sketches-ddsketch-0.2.
  gnu: Add rust-sqlformat-0.2.
  gnu: Add rust-sqlx-core-0.7.
  gnu: Add rust-sqlx-0.7.
  gnu: Add rust-sqlx-macros-core-0.7.
  gnu: Add rust-sqlx-macros-0.7.
  gnu: Add rust-sqlx-postgres-0.7.
  gnu: Add rust-sqlx-mysql-0.7.
  gnu: Add rust-sqlx-sqlite-0.7.
  gnu: Add rust-sql-builder-3.
  gnu: Add rust-stable-pattern-0.1.
  gnu: Add rust-state-0.6.
  gnu: rust-subtle-2: Update to 2.5.0.
  gnu: rust-syn-2: Update to 2.0.48.
  gnu: Add rust-syn-derive-0.1.
  gnu: Add rust-sync-wrapper-0.1.
  gnu: Add rust-termwiz-0.20.
  gnu: Add rust-tiny-bip39-1.
  gnu: Add tokio-tunkstenite-0.20.
  gnu: Add rust-tower-http-0.4.
  gnu: Add rust-tracing-log-0.2.
  gnu: Add rust-tracing-tree-0.3.
  gnu: Add rust-tree-magic-db-3.
  gnu: Add rust-tree-magic-mini-3.
  gnu: Add rust-tungstenite-0.20.
  gnu: Add rust-type-builder-macro-0.18.
  gnu: Add rust-type-builder-0.18.
  gnu: rust-universal-hash-0.5: Update to 0.5.1.
  gnu: Add rust-urlencoding-2.
  gnu: Add rust-vt100-0.15.
  gnu: Add rust-vtparse-0.6.
  gnu: Add rust-wl-clipboard-rs-0.7.
  gnu: Add rust-wezterm-color-types-0.2.
  gnu: Add rust-wezterm-dynamic-derive-0.1.
  gnu: Add rust-wezterm-dynamic-0.1.
  gnu: Add rust-wezterm-bidi-0.2.
  gnu: Add rust-x509-parser-0.13.
  gnu: Add rust-yansi-1.
  gnu: Add atuin.

 gnu/packages/crates-io.scm  | 4125 ++++++++++++++++++++++++++++++++---
 gnu/packages/crates-web.scm |  161 +-
 gnu/packages/rust-apps.scm  |   57 +
 3 files changed, 4005 insertions(+), 338 deletions(-)


base-commit: d15ee33955b704a5eb43ddb6535ae1a38034884a

Comments

Efraim Flashner Jan. 19, 2024, 9:21 a.m. UTC | #1
On Mon, Jan 08, 2024 at 02:51:39AM +0100, Wilko Meyer wrote:
> Hi Guix,
> 
> I started packaging atuin[0], a tool written in Rust to keep ones shell
> history in sync across systems/make it more easily searchable, for Guix.
> It builds successfully on my system already from a manifest.scm, so I
> decided to create a patchset for Guix proper. I'm almost certain,
> there'll be a v2 of this patch series; as some package description do
> not fully comply with the preferred style yet, I want to add the proper
> cargo-development-inputs to dependencies where applicable, smooth rough
> edges,and want to see if I get the sync server implementation for atuin
> running as a shepherd service.
> 
> As this patch series got pretty big, I'm not sure what the best way is
> to get all changes/atuin into Guix proper. Is it even feasible like this
> from a reviewing perspective or should I see if I can split up this
> patch series in 3 (atuin cli tool, and the two server implementations,
> one for postgresql and one for sqlite) seperate ones?

I assume you need the CLI tool and one of the server implementations to
make it work? I'd go with the CLI tool and the sqlite implementation
since that's always easy to work with.

I've applied a bunch of the patches, but I want to ask you to try to
build more of the crates instead of skipping the builds and to insert
them alphabetically.  Its easiest for me if each patch can be applied
after the previous one(s) and then build, but I'm not averse to applying
groups of them and then checking them together, for example the
rust-rocket-* patches or something similar. Then its not too bad to go
and slot in a couple of fixup commits to make any changes.