# Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Auto-Generated by cargo-ebuild 0.5.1 EAPI=8 CRATES=" aho-corasick-0.7.18 android_system_properties-0.1.5 anyhow-1.0.63 arc-swap-1.5.1 autocfg-1.1.0 bitflags-1.3.2 bstr-0.2.17 bumpalo-3.11.0 bytecount-0.6.3 bytes-1.2.1 cassowary-0.3.0 cc-1.0.73 cfg-if-1.0.0 chardetng-0.1.17 chrono-0.4.22 clipboard-win-4.4.2 content_inspector-0.2.4 core-foundation-sys-0.8.3 crossbeam-utils-0.8.11 crossterm-0.25.0 crossterm_winapi-0.9.0 dirs-next-2.0.0 dirs-sys-next-0.1.2 either-1.8.0 encoding_rs-0.8.31 encoding_rs_io-0.1.7 error-code-2.3.1 etcetera-0.4.0 fastrand-1.8.0 fern-0.6.1 fnv-1.0.7 form_urlencoded-1.0.1 futures-core-0.3.24 futures-executor-0.3.24 futures-task-0.3.24 futures-util-0.3.24 fuzzy-matcher-0.3.7 getrandom-0.2.7 globset-0.4.9 grep-matcher-0.1.5 grep-regex-0.1.10 grep-searcher-0.1.10 hermit-abi-0.1.19 iana-time-zone-0.1.47 idna-0.2.3 ignore-0.4.18 indoc-1.0.7 instant-0.1.12 itoa-1.0.3 js-sys-0.3.59 lazy_static-1.4.0 libc-0.2.132 libloading-0.7.3 lock_api-0.4.8 log-0.4.17 lsp-types-0.93.1 matches-0.1.9 memchr-2.5.0 memmap2-0.5.7 mio-0.8.4 num-integer-0.1.45 num-traits-0.2.15 num_cpus-1.13.1 once_cell-1.13.1 parking_lot-0.12.1 parking_lot_core-0.9.3 percent-encoding-2.1.0 pin-project-lite-0.2.9 pin-utils-0.1.0 proc-macro2-1.0.43 pulldown-cmark-0.9.2 quickcheck-1.0.3 quote-1.0.21 rand-0.8.5 rand_core-0.6.3 redox_syscall-0.2.16 redox_users-0.4.3 regex-1.6.0 regex-automata-0.1.10 regex-syntax-0.6.27 remove_dir_all-0.5.3 retain_mut-0.1.9 ropey-1.5.0 ryu-1.0.11 same-file-1.0.6 scopeguard-1.1.0 serde-1.0.144 serde_derive-1.0.144 serde_json-1.0.85 serde_repr-0.1.9 signal-hook-0.3.14 signal-hook-mio-0.2.3 signal-hook-registry-1.4.0 signal-hook-tokio-0.3.1 similar-2.2.0 slab-0.4.7 slotmap-1.0.6 smallvec-1.9.0 smartstring-1.0.1 smawk-0.3.1 socket2-0.4.7 static_assertions-1.1.0 str-buf-1.0.6 str_indices-0.4.0 syn-1.0.99 tempfile-3.3.0 textwrap-0.15.0 thiserror-1.0.33 thiserror-impl-1.0.33 thread_local-1.1.4 threadpool-1.8.1 tinyvec-1.6.0 tinyvec_macros-0.1.0 tokio-1.20.1 tokio-macros-1.8.0 tokio-stream-0.1.9 toml-0.5.9 tree-sitter-0.20.8 unicase-2.6.0 unicode-bidi-0.3.8 unicode-general-category-0.5.1 unicode-ident-1.0.3 unicode-linebreak-0.1.2 unicode-normalization-0.1.21 unicode-segmentation-1.9.0 unicode-width-0.1.9 url-2.2.2 version_check-0.9.4 walkdir-2.3.2 wasi-0.11.0+wasi-snapshot-preview1 wasm-bindgen-0.2.82 wasm-bindgen-backend-0.2.82 wasm-bindgen-macro-0.2.82 wasm-bindgen-macro-support-0.2.82 wasm-bindgen-shared-0.2.82 which-4.3.0 winapi-0.3.9 winapi-i686-pc-windows-gnu-0.4.0 winapi-util-0.1.5 winapi-x86_64-pc-windows-gnu-0.4.0 windows-sys-0.36.1 windows_aarch64_msvc-0.36.1 windows_i686_gnu-0.36.1 windows_i686_msvc-0.36.1 windows_x86_64_gnu-0.36.1 windows_x86_64_msvc-0.36.1 " inherit cargo DESCRIPTION="A post-modern text editor." # Double check the homepage as the cargo_metadata crate # does not provide this value so instead repository is used HOMEPAGE="https://github.com/helix-editor/helix" SRC_URI=" https://github.com/helix-editor/helix/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz $(cargo_crate_uris) " LANGUAGES=( "rust https://github.com/tree-sitter/tree-sitter-rust 41e23b454f503e6fe63ec4b6d9f7f2cf7788ab8e" "toml https://github.com/ikatyang/tree-sitter-toml 7cff70bbcbbc62001b465603ca1ea88edd668704" "awk https://github.com/Beaglefoot/tree-sitter-awk a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3" "protobuf https://github.com/yusdacra/tree-sitter-protobuf 19c211a01434d9f03efff99f85e19f967591b175" "elixir https://github.com/elixir-lang/tree-sitter-elixir 1dabc1c790e07115175057863808085ea60dd08a" "fish https://github.com/ram02z/tree-sitter-fish 04e54ab6585dfd4fee6ddfe5849af56f101b6d4f" "json https://github.com/tree-sitter/tree-sitter-json 65bceef69c3b0f24c0b19ce67d79f57c96e90fcb" "c https://github.com/tree-sitter/tree-sitter-c f05e279aedde06a25801c3f2b2cc8ac17fac52ae" "cpp https://github.com/tree-sitter/tree-sitter-cpp e8dcc9d2b404c542fd236ea5f7208f90be8a6e89" "c-sharp https://github.com/tree-sitter/tree-sitter-c-sharp 9c494a503c8e2044bfffce57f70b480c01a82f03" "go https://github.com/tree-sitter/tree-sitter-go 0fa917a7022d1cd2e9b779a6a8fc5dc7fad69c75" "gomod https://github.com/camdencheek/tree-sitter-go-mod e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0" "gotmpl https://github.com/dannylongeuay/tree-sitter-go-template 395a33e08e69f4155156f0b90138a6c86764c979" "gowork https://github.com/omertuc/tree-sitter-go-work 6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2" "javascript https://github.com/tree-sitter/tree-sitter-javascript 4a95461c4761c624f2263725aca79eeaefd36cad" "typescript https://github.com/tree-sitter/tree-sitter-typescript 3e897ea5925f037cfae2e551f8e6b12eec2a201a" "tsx https://github.com/tree-sitter/tree-sitter-typescript 3e897ea5925f037cfae2e551f8e6b12eec2a201a" "css https://github.com/tree-sitter/tree-sitter-css 94e10230939e702b4fa3fa2cb5c3bc7173b95d07" "scss https://github.com/serenadeai/tree-sitter-scss c478c6868648eff49eb04a4df90d703dc45b312a" "html https://github.com/tree-sitter/tree-sitter-html d93af487cc75120c89257195e6be46c999c6ba18" "python https://github.com/tree-sitter/tree-sitter-python de221eccf9a221f5b85474a553474a69b4b5784d" "nickel https://github.com/nickel-lang/tree-sitter-nickel 9d83db400b6c11260b9106f131f93ddda8131933" "nix https://github.com/cstrahan/tree-sitter-nix 6b71a810c0acd49b980c50fc79092561f7cee307" "ruby https://github.com/tree-sitter/tree-sitter-ruby 4c600a463d97e36a0ca5ac57e11f3ac8c297a0fa" "bash https://github.com/tree-sitter/tree-sitter-bash 275effdfc0edce774acf7d481f9ea195c6c403cd" "php https://github.com/tree-sitter/tree-sitter-php 57f855461aeeca73bd4218754fb26b5ac143f98f" "twig https://github.com/eirabben/tree-sitter-twig b7444181fb38e603e25ea8fcdac55f9492e49c27" "latex https://github.com/latex-lsp/tree-sitter-latex b3b2cf27f33e71438ebe46934900b1153901c6f2" "lean https://github.com/Julian/tree-sitter-lean d98426109258b266e1e92358c5f11716d2e8f638" "julia https://github.com/tree-sitter/tree-sitter-julia fc60b7cce87da7a1b7f8cb0f9371c3dc8b684500" "java https://github.com/tree-sitter/tree-sitter-java bd6186c24d5eb13b4623efac9d944dcc095c0dad" "ledger https://github.com/cbarrete/tree-sitter-ledger 1f864fb2bf6a87fe1b48545cc6adc6d23090adf7" "beancount https://github.com/polarmutex/tree-sitter-beancount 4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c" "ocaml https://github.com/tree-sitter/tree-sitter-ocaml 23d419ba45789c5a47d31448061557716b02750a" "ocaml-interface https://github.com/tree-sitter/tree-sitter-ocaml 23d419ba45789c5a47d31448061557716b02750a" "lua https://github.com/nvim-treesitter/tree-sitter-lua 6f5d40190ec8a0aa8c8410699353d820f4f7d7a6" "svelte https://github.com/Himujjal/tree-sitter-svelte 349a5984513b4a4a9e143a6e746120c6ff6cf6ed" "vue https://github.com/ikatyang/tree-sitter-vue 91fe2754796cd8fba5f229505a23fa08f3546c06" "yaml https://github.com/ikatyang/tree-sitter-yaml 0e36bed171768908f331ff7dff9d956bae016efb" "haskell https://github.com/tree-sitter/tree-sitter-haskell b6ec26f181dd059eedd506fa5fbeae1b8e5556c8" "zig https://github.com/maxxnino/tree-sitter-zig 93331b8bd8b4ebee2b575490b2758f16ad4e9f30" "tsq https://github.com/the-mikedavis/tree-sitter-tsq 48b5e9f82ae0a4727201626f33a17f69f8e0ff86" "cmake https://github.com/uyha/tree-sitter-cmake f6616f1e417ee8b62daf251aa1daa5d73781c596" "make https://github.com/alemuller/tree-sitter-make a4b9187417d6be349ee5fd4b6e77b4172c6827dd" "glsl https://github.com/theHamsta/tree-sitter-glsl 88408ffc5e27abcffced7010fc77396ae3636d7e" "perl https://github.com/ganezdragon/tree-sitter-perl 0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a" "comment https://github.com/stsewd/tree-sitter-comment 5dd3c62f1bbe378b220fe16b317b85247898639e" "wgsl https://github.com/szebniok/tree-sitter-wgsl f00ff52251edbd58f4d39c9c3204383253032c11" "llvm https://github.com/benwilliamgraham/tree-sitter-llvm 3b213925b9c4f42c1acfe2e10bfbb438d9c6834d" "llvm-mir https://github.com/Flakebi/tree-sitter-llvm-mir 06fabca19454b2dc00c1b211a7cb7ad0bc2585f1" "tablegen https://github.com/Flakebi/tree-sitter-tablegen 568dd8a937347175fd58db83d4c4cdaeb6069bd2" "markdown https://github.com/MDeiml/tree-sitter-markdown 142a5b4a1b092b64c9f5db8f11558f9dd4009a1b" "markdown_inline https://github.com/MDeiml/tree-sitter-markdown 142a5b4a1b092b64c9f5db8f11558f9dd4009a1b" "dart https://github.com/UserNobody14/tree-sitter-dart 2d7f66651c9319c1a0e4dda226cc2628fbb66528" "scala https://github.com/tree-sitter/tree-sitter-scala 0a3dd53a7fc4b352a538397d054380aaa28be54c" "dockerfile https://github.com/camdencheek/tree-sitter-dockerfile 7af32bc04a66ab196f5b9f92ac471f29372ae2ce" "git-commit https://github.com/the-mikedavis/tree-sitter-git-commit 318dd72abfaa7b8044c1d1fbeabcd06deaaf038f" "git-diff https://github.com/the-mikedavis/tree-sitter-diff c12e6ecb54485f764250556ffd7ccb18f8e2942b" "git-rebase https://github.com/the-mikedavis/tree-sitter-git-rebase 332dc528f27044bc4427024dbb33e6941fc131f2" "regex https://github.com/tree-sitter/tree-sitter-regex e1cfca3c79896ff79842f057ea13e529b66af636" "git-config https://github.com/the-mikedavis/tree-sitter-git-config 0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea" "gitattributes https://github.com/mtoohey31/tree-sitter-gitattributes 3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" "gitignore https://github.com/shunsambongi/tree-sitter-gitignore f4685bf11ac466dd278449bcfe5fd014e94aa504" "graphql https://github.com/bkegley/tree-sitter-graphql 5e66e961eee421786bdda8495ed1db045e06b5fe" "elm https://github.com/elm-tooling/tree-sitter-elm df4cb639c01b76bc9ac9cc66788709a6da20002c" "iex https://github.com/elixir-lang/tree-sitter-iex 39f20bb51f502e32058684e893c0c0b00bb2332c" "rescript https://github.com/jaredramirez/tree-sitter-rescript 4cd7ba91696886fdaca086fb32b5fd8cc294a129" "erlang https://github.com/the-mikedavis/tree-sitter-erlang 0e7d677d11a7379686c53c616825714ccb728059" "kotlin https://github.com/fwcd/tree-sitter-kotlin a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" "hcl https://github.com/MichaHoffmann/tree-sitter-hcl 3cb7fc28247efbcb2973b97e71c78838ad98a583" "org https://github.com/milisims/tree-sitter-org 698bb1a34331e68f83fc24bdd1b6f97016bb30de" "solidity https://github.com/slinlee/tree-sitter-solidity f3a002274744e859bf64cf3524985f8c31ea84fd" "gleam https://github.com/gleam-lang/tree-sitter-gleam d7861b2a4b4d594c58bb4f1be5f1f4ee4c67e5c3" "r https://github.com/r-lib/tree-sitter-r cc04302e1bff76fa02e129f332f44636813b0c3c" "swift https://github.com/alex-pinkus/tree-sitter-swift 77c6312c8438f4dbaa0350cec92b3d6dd3d74a66" "embedded-template https://github.com/tree-sitter/tree-sitter-embedded-template d21df11b0ecc6fd211dbe11278e92ef67bd17e97" "eex https://github.com/connorlay/tree-sitter-eex f742f2fe327463335e8671a87c0b9b396905d1d1" "heex https://github.com/phoenixframework/tree-sitter-heex 961bc4d2937cfd24ceb0a5a6b2da607809f8822e" "sql https://github.com/DerekStride/tree-sitter-sql 0caa7fa2ee00e0b770493a79d4efacc1fc376cc5" "gdscript https://github.com/PrestonKnopp/tree-sitter-gdscript 2a6abdaa47fcb91397e09a97c7433fd995ea46c6" "nu https://github.com/LhKipp/tree-sitter-nu db4e990b78824c8abef3618e0f93b7fe1e8f4c0d" "vala https://github.com/vala-lang/tree-sitter-vala c9eea93ba2ec4ec1485392db11945819779745b3" "hare https://git.sr.ht/~ecmma/tree-sitter-hare bc26a6a949f2e0d98b7bfc437d459b250900a165" "devicetree https://github.com/joelspadin/tree-sitter-devicetree 877adbfa0174d25894c40fa75ad52d4515a36368" "cairo https://github.com/archseer/tree-sitter-cairo 5155c6eb40db6d437f4fa41b8bcd8890a1c91716" "cpon https://github.com/fvacek/tree-sitter-cpon 0d01fcdae5a53191df5b1349f9bce053833270e7" "odin https://github.com/MineBill/tree-sitter-odin da885f4a387f169b9b69fe0968259ee257a8f69a" "meson https://github.com/bearcove/tree-sitter-meson feea83be9225842490066522ced2d13eb9cce0bd" "sshclientconfig https://github.com/metio/tree-sitter-ssh-client-config 769d7a01a2e5493b4bb5a51096c6bf4be130b024" "scheme https://github.com/6cdh/tree-sitter-scheme 27fb77db05f890c2823b4bd751c6420378df146b" "v https://github.com/vlang/vls 3e8124ea4ab80aa08ec77f03df53f577902a0cdd" "verilog https://github.com/andreytkachenko/tree-sitter-verilog 514d8d70593d29ef3ef667fa6b0e504ae7c977e3" "edoc https://github.com/the-mikedavis/tree-sitter-edoc 1691ec0aa7ad1ed9fa295590545f27e570d12d60" "jsdoc https://github.com/tree-sitter/tree-sitter-jsdoc 189a6a4829beb9cdbe837260653b4a3dfb0cc3db" "openscad https://github.com/bollian/tree-sitter-openscad 5c3ce93df0ac1da7197cf6ae125aade26d6b8972" "prisma https://github.com/victorhqc/tree-sitter-prisma 17a59236ac25413b81b1613ea6ba5d8d52d7cd6c" "clojure https://github.com/sogaiu/tree-sitter-clojure e57c569ae332ca365da623712ae1f50f84daeae2" "elvish https://github.com/ckafi/tree-sitter-elvish e50787cadd3bc54f6d9c0704493a79078bb8a4e5" "fortran https://github.com/stadelmanma/tree-sitter-fortran f0f2f100952a353e64e26b0fa710b4c296d7af13" "ungrammar https://github.com/Philipp-M/tree-sitter-ungrammar 0113de880a58ea14f2a75802e9b99fcc25003d9c" "dot https://github.com/rydesun/tree-sitter-dot 917230743aa10f45a408fea2ddb54bbbf5fbe7b7" "cue https://github.com/eonpatapon/tree-sitter-cue 61843e3beebf19417e4fede4e8be4df1084317ad" "slint https://github.com/jrmoulton/tree-sitter-slint 0d4dda94f96623302dfc234e06be62a5717f47da" "task https://github.com/alexanderbrevig/tree-sitter-task f2cb435c5dbf3ee19493e224485d977cb2d36d8b" "xit https://github.com/synaptiko/tree-sitter-xit 7d7902456061bc2ad21c64c44054f67b5515734c" "esdl https://github.com/greym0uth/tree-sitter-esdl b840c8a8028127e0a7c6e6c45141adade2bd75cf" "pascal https://github.com/Isopod/tree-sitter-pascal 2fd40f477d3e2794af152618ccfac8d92eb72a66" ) # License set may be more restrictive as OR is not respected # use cargo-license for a more accurate license picture LICENSE="Apache-2.0 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 ISC MIT MPL-2.0 Unlicense ZLIB" SLOT="0" KEYWORDS="~amd64" IUSE="doc +grammar" QA_FLAGS_IGNORED=" usr/bin/hx usr/share/helix/runtime/grammars/.*\.so " language_uris() { for line in "${LANGUAGES[@]}"; do read -r name url commit <<< "${line}" SRC_URI+=" grammar? ( ${url}/archive/${commit}.tar.gz -> ${url##*/}-${commit}.tar.gz )" done } language_uris src_prepare() { if use grammar; then for line in "${LANGUAGES[@]}"; do read -r name url commit <<< "${line}" mkdir -p "${S}/runtime/grammars/sources/${name}" || die cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/runtime/grammars/sources/${name}" || die done fi eapply_user } src_compile() { export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 export HELIX_RUNTIME="${S}/runtime" cargo_src_compile use grammar && ( target/release/hx --grammar build || die ) } src_install() { use grammar && ( rm -rf "${S}/runtime/grammars/sources" || die ) insinto /usr/share/helix doins -r runtime use doc && dodoc README.md CHANGELOG.md use doc && dodoc -r docs/ cargo_src_install --path helix-term }