~ruther/guix-local

b82eda7a7f3334377af8c549fdeae028fa1ceb01 — Andrew Wong 11 months ago 194c8e4
gnu: Add typstyle.

* gnu/packages/rust-apps.scm (typstyle): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[typstyle]: New entry.

Change-Id: Ifc7d5f94f3ccac55586c69569e76eb1884d94b27
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
2 files changed, 212 insertions(+), 0 deletions(-)

M gnu/packages/rust-apps.scm
M gnu/packages/rust-crates.scm
M gnu/packages/rust-apps.scm => gnu/packages/rust-apps.scm +51 -0
@@ 2618,6 2618,57 @@ tasks, an extensible scripting system for uncommon tasks, incremental
compilation, and intuitive error messages.")
    (license license:asl2.0)))

(define-public typstyle
  (package
    (name "typstyle")
    (version "0.13.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typstyle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06mg12rkls1hkiz8wxchj1jqf1l1bq963s80mrvjfiajb08zqdx1"))))
    (build-system cargo-build-system)
    (arguments
     (list
      #:install-source? #f
      #:modules
      '((guix build cargo-build-system)
        (guix build utils)
        (ice-9 match))
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'install 'install-completions
            (lambda* (#:key native-inputs #:allow-other-keys)
              (for-each
               (match-lambda
                 ((shell . path)
                  (mkdir-p (in-vicinity #$output (dirname path)))
                  (let ((binary
                         (if #$(%current-target-system)
                             (search-input-file native-inputs "bin/typstyle")
                             (in-vicinity #$output "bin/typstyle"))))
                    (with-output-to-file (in-vicinity #$output path)
                      (lambda _
                        (invoke binary "completions" shell))))))
               '(("bash"   . "share/bash-completion/completions/typstyle")
                 ("elvish" . "share/elvish/lib/typstyle")
                 ("fish"   . "share/fish/vendor_completions.d/typstyle.fish")
                 ("zsh"    . "share/zsh/site-functions/_typstyle"))))))))
    (native-inputs
     (if (%current-target-system)
         (list this-package)
         '()))
    (inputs (cargo-inputs 'typstyle))
    (home-page "https://enter-tainer.github.io/typstyle/")
    (synopsis "Consistent formatter for Typst")
    (description
     "Typstyle is a formatter for the Typst typesetting system designed with
universal consistency and correctness as top priorities.  It is
configuration-free.")
    (license license:asl2.0)))

(define-public vivid
  (package
    (name "vivid")

M gnu/packages/rust-crates.scm => gnu/packages/rust-crates.scm +161 -0
@@ 1539,6 1539,10 @@
                "0c6f61rf0gzq7x9d2qmp0330pb397aldwdpmwqybbwly9rby4r1j"
                #:snippet '(delete-file-recursively "tests")))

(define rust-camino-1.1.10
  (crate-source "camino" "1.1.10"
                "1asw3160i5x2r98lsfym3my8dps0fyk25qi206bddn3i271mp90d"))

(define rust-camino-1.1.9
  (crate-source "camino" "1.1.9"
                "1lqszl12l1146jf8g01rvjmapif82mhzih870ln3x0dmcr4yr5lb"))


@@ 2260,6 2264,10 @@
  (crate-source "colored" "2.2.0"
                "0g6s7j2qayjd7i3sivmwiawfdg8c8ldy0g2kl4vwk1yk16hjaxqi"))

(define rust-colored-3.0.0
  (crate-source "colored" "3.0.0"
                "0plizddhxc4vgkzdbzky5zggyaqfrmyim2d0n6sb7py9j3nf1q7x"))

(define rust-colorsys-0.6.7
  (crate-source "colorsys" "0.6.7"
                "1g8vwcv89n2dzi9bmbzqlj9cl9a89jz49668grbcncv4cjx1l9jl"))


@@ 6672,6 6680,10 @@
  (crate-source "insta" "1.43.1"
                "0wa3iz1bafg3jwaqkjcs63spyalcm6chnhyxassm9065f3m38j8m"))

(define rust-insta-cmd-0.6.0
  (crate-source "insta-cmd" "0.6.0"
                "1rix5nmswns1p5p5f7pj5l9wvm69awzby0fbkkacwp4j4ylyzvpz"))

(define rust-instability-0.3.7
  (crate-source "instability" "0.3.7"
                "07f7k0cs1l8cdwxm46vy457bk880hgg6p83nfi777yqwv7bgxy8b"))


@@ 9711,6 9723,10 @@
  (crate-source "path_abs" "0.5.1"
                "1hrkjrk9w2mhgzwl84gl2lmajs7yagdrcpxnjf51vh1a6kv05vq5"))

(define rust-path-absolutize-3.1.1
  (crate-source "path-absolutize" "3.1.1"
                "1xc36c5lz187wy452qph3lrr41x8ffgxk1clj2s9b8czwwgkibz4"))

(define rust-path-clean-0.1.0
  (crate-source "path-clean" "0.1.0"
                "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc"))


@@ 9719,6 9735,10 @@
  (crate-source "path-clean" "1.0.1"
                "1vzwcrlz39rd94l89rppvkbsn7dvng449f1bnkyk3ayp43y9ld8p"))

(define rust-path-dedot-3.1.1
  (crate-source "path-dedot" "3.1.1"
                "15wkx8q3vra34fslzlg1lkq7liyxwqrpbxiz44a28wa7w3bhmfh7"))

(define rust-path-slash-0.1.5
  (crate-source "path-slash" "0.1.5"
                "15mni0f28mblwd97192c4zyyi6054yljmiqrdb6bx97ga69hk2j9"))


@@ 10197,6 10217,10 @@
  (crate-source "predicates-tree" "1.0.12"
                "0p223d9y02ywwxs3yl68kziswz4da4vabz67jfhp7yqx71njvpbj"))

(define rust-pretty-0.12.4
  (crate-source "pretty" "0.12.4"
                "0xx4jqir4ipkv2c11lvnsxcpxf34kd616nmbfps7bg09f4xpg65c"))

(define rust-pretty-assertions-0.6.1
  (crate-source "pretty_assertions" "0.6.1"
                "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z"


@@ 14307,6 14331,10 @@
  (crate-source "typst-utils" "0.13.1"
                "15px12a3qrdfhqkclp3hcc655nnqrr0lzagq84iv63vyjrcivdqf"))

(define rust-typstyle-core-0.13.10
  (crate-source "typstyle-core" "0.13.10"
                "1vfhvf1wpyjx925dwd3n70kbw6k7mm84b6qqp2vj96xi2a8s1ysh"))

(define rust-tz-rs-0.7.0
  (crate-source "tz-rs" "0.7.0"
                "18bi7k9zgwbm0ch049c1mj901a6aza4mr4z7f0hfg5wkp7r0nig1"))


@@ 43194,6 43222,139 @@
                                  rust-zopfli-0.8.2
                                  rust-zune-core-0.4.12
                                  rust-zune-jpeg-0.4.16))
                     (typstyle =>
                               (list rust-aho-corasick-1.1.3
                                     rust-anstream-0.6.19
                                     rust-anstyle-1.0.11
                                     rust-anstyle-parse-0.2.7
                                     rust-anstyle-query-1.1.3
                                     rust-anstyle-wincon-3.0.9
                                     rust-anyhow-1.0.98
                                     rust-arrayvec-0.5.2
                                     rust-autocfg-1.4.0
                                     rust-bitflags-2.9.1
                                     rust-camino-1.1.10
                                     rust-cargo-platform-0.1.9
                                     rust-cargo-metadata-0.19.2
                                     rust-cfg-if-1.0.0
                                     rust-clap-4.5.39
                                     rust-clap-builder-4.5.39
                                     rust-clap-complete-4.5.52
                                     rust-clap-derive-4.5.32
                                     rust-clap-lex-0.7.4
                                     rust-colorchoice-1.0.4
                                     rust-colored-3.0.0
                                     rust-console-0.15.11
                                     rust-crossbeam-deque-0.8.6
                                     rust-crossbeam-epoch-0.9.18
                                     rust-crossbeam-utils-0.8.21
                                     rust-darling-0.20.11
                                     rust-darling-core-0.20.11
                                     rust-darling-macro-0.20.11
                                     rust-deranged-0.4.0
                                     rust-derive-builder-0.20.2
                                     rust-derive-builder-core-0.20.2
                                     rust-derive-builder-macro-0.20.2
                                     rust-ecow-0.2.5
                                     rust-either-1.15.0
                                     rust-encode-unicode-1.0.0
                                     rust-equivalent-1.0.2
                                     rust-errno-0.3.12
                                     rust-fastrand-2.3.0
                                     rust-fnv-1.0.7
                                     rust-getrandom-0.3.3
                                     rust-hashbrown-0.15.3
                                     rust-heck-0.5.0
                                     rust-ident-case-1.0.1
                                     rust-indexmap-2.9.0
                                     rust-insta-1.43.1
                                     rust-insta-cmd-0.6.0
                                     rust-is-terminal-polyfill-1.70.1
                                     rust-itertools-0.14.0
                                     rust-itoa-1.0.15
                                     rust-libc-0.2.172
                                     rust-linux-raw-sys-0.9.4
                                     rust-lock-api-0.4.13
                                     rust-log-0.4.27
                                     rust-memchr-2.7.4
                                     rust-num-conv-0.1.0
                                     rust-num-threads-0.1.7
                                     rust-once-cell-1.21.3
                                     rust-once-cell-polyfill-1.70.1
                                     rust-parking-lot-0.12.4
                                     rust-parking-lot-core-0.9.11
                                     rust-path-absolutize-3.1.1
                                     rust-path-dedot-3.1.1
                                     rust-portable-atomic-1.11.1
                                     rust-powerfmt-0.2.0
                                     rust-pretty-0.12.4
                                     rust-proc-macro2-1.0.95
                                     rust-quote-1.0.40
                                     rust-r-efi-5.2.0
                                     rust-rayon-1.10.0
                                     rust-rayon-core-1.12.1
                                     rust-redox-syscall-0.5.12
                                     rust-regex-1.11.1
                                     rust-regex-automata-0.4.9
                                     rust-regex-syntax-0.8.5
                                     rust-rustc-hash-2.1.1
                                     rust-rustc-version-0.4.1
                                     rust-rustix-1.0.7
                                     rust-rustversion-1.0.21
                                     rust-ryu-1.0.20
                                     rust-same-file-1.0.6
                                     rust-scopeguard-1.2.0
                                     rust-semver-1.0.26
                                     rust-serde-1.0.219
                                     rust-serde-derive-1.0.219
                                     rust-serde-json-1.0.140
                                     rust-serde-spanned-0.6.9
                                     rust-similar-2.7.0
                                     rust-siphasher-1.0.1
                                     rust-smallvec-1.15.1
                                     rust-strsim-0.11.1
                                     rust-syn-2.0.101
                                     rust-tempfile-3.20.0
                                     rust-thin-vec-0.2.14
                                     rust-thiserror-2.0.12
                                     rust-thiserror-impl-2.0.12
                                     rust-time-0.3.41
                                     rust-time-core-0.1.4
                                     rust-time-macros-0.2.22
                                     rust-toml-0.8.23
                                     rust-toml-datetime-0.6.11
                                     rust-toml-edit-0.22.27
                                     rust-toml-write-0.1.2
                                     rust-typed-arena-2.0.2
                                     rust-typst-syntax-0.13.1
                                     rust-typst-timing-0.13.1
                                     rust-typst-utils-0.13.1
                                     rust-typstyle-core-0.13.10
                                     rust-unicode-ident-1.0.18
                                     rust-unicode-math-class-0.1.0
                                     rust-unicode-script-0.5.7
                                     rust-unicode-segmentation-1.12.0
                                     rust-unicode-width-0.1.14
                                     rust-unscanny-0.1.0
                                     rust-utf8parse-0.2.2
                                     rust-vergen-9.0.6
                                     rust-vergen-gitcl-1.0.8
                                     rust-vergen-lib-0.1.6
                                     rust-walkdir-2.5.0
                                     rust-wasi-0.14.2+wasi-0.2.4
                                     rust-winapi-util-0.1.9
                                     rust-windows-sys-0.59.0
                                     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
                                     rust-winnow-0.7.10
                                     rust-wit-bindgen-rt-0.39.0))
                     (uv =>
                         (list rust-addr2line-0.24.2
                          rust-adler2-2.0.0