Files
guru/app-text/tinymist/tinymist-0.13.16.ebuild
Timo van Veen c697d07958 app-text/tinymist: add 0.13.16, drop 0.13.14
Signed-off-by: Timo van Veen <timovanveen@hotmail.nl>
2025-07-30 22:48:23 +02:00

94 lines
3.9 KiB
Bash

# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.14.0
EAPI=8
RUST_MIN_VER="1.85.0"
CRATES=" "
TYPST_HASH="946ea31fb554bcf62e3215f64ddda87d70b026af"
declare -A GIT_CRATES=(
[docx-rs]='https://github.com/Myriad-Dreamin/docx-rs;db49a729f68dbdb9e8e91857fbb1c3d414209871;docx-rs-%commit%/docx-core'
[typst-eval]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-eval"
[typst-html]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-html"
[typst-layout]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-layout"
[typst-library]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-library"
[typst-macros]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-macros"
[typst-pdf]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-pdf"
[typst-realize]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-realize"
[typst-render]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-render"
[typst-svg]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-svg"
[typst-syntax]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-syntax"
[typst-timing]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-timing"
[typst-utils]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst-utils"
[typst]="https://github.com/Myriad-Dreamin/typst;${TYPST_HASH};typst-%commit%/crates/typst"
[typstfmt]="https://github.com/Myriad-Dreamin/typstfmt;cdfe44ed065a90d80040c3b29dee7ed431a710ee;typstfmt-%commit%"
)
inherit cargo shell-completion
DESCRIPTION="An integrated language service for Typst."
HOMEPAGE="https://github.com/Myriad-Dreamin/tinymist"
SRC_URI="
https://github.com/Myriad-Dreamin/tinymist/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/TimovVeen/tinymist/releases/download/v${PV}/tinymist-${PV}-crates.tar.xz
${CARGO_CRATE_URIS}
"
LICENSE="Apache-2.0"
# Dependent crate licenses
LICENSE+="
Apache-2.0 BSD-2 BSD CC0-1.0 EUPL-1.2 ISC LGPL-3+ MIT MPL-2.0
Unicode-3.0 ZLIB
"
SLOT="0"
KEYWORDS="~amd64"
# e2e tests hang
RESTRICT="test"
QA_FLAGS_IGNORED="usr/bin/tinymist"
src_prepare() {
default
# Taken from app-laptop/framework_tool::gentoo,
# adapted to also remove the tag field
# Upstream uses [patch] on some dependencies in Cargo.toml,
# which are not patched by cargo.eclass's ${ECARGO_HOME}/config
local crate commit crate_uri crate_dir
local -a sed_scripts
for crate in "${!GIT_CRATES[@]}"; do
IFS=';' read -r \
crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
sed_scripts+=(
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([[:space:]]*git[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1path = '${WORKDIR}/${crate_dir//%commit%/${commit}}'\3|;"
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([,][[:space:]]*branch[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1\3|;"
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([,][[:space:]]*tag[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1\3|;"
"s|^(${crate}[[:space:]]*=[[:space:]]*[{].*)([,][[:space:]]*rev[[:space:]]*=[[:space:]]*['\"][[:graph:]]+['\"][[:space:]]*)(.*[}])|\1\3|;"
)
done
sed -i -E -e "${sed_scripts[*]}" Cargo.toml ||
die "Failed to override dependencies in Cargo.toml"
}
src_compile() {
cargo_src_compile
"$(cargo_target_dir)"/tinymist completion bash > tinymist || die
"$(cargo_target_dir)"/tinymist completion fish > tinymist.fish || die
"$(cargo_target_dir)"/tinymist completion zsh > _tinymist || die
}
src_install() {
cargo_src_install --path ./crates/tinymist
dobashcomp tinymist
dofishcomp tinymist.fish
dozshcomp _tinymist
}