View Raw Ebuild
# Copyright 2022-2024 Robert Günzler
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cargo flag-o-matic
DESCRIPTION="A modernized, complete, self-contained TeX/LaTeX engine."
HOMEPAGE="https://tectonic-typesetting.github.io/"
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tectonic-typesetting/${PN}.git"
EGIT_SUBMODULES=( '*' '-crates/bridge_harfbuzz/harfbuzz' )
else
SRC_URI="
https://github.com/tectonic-typesetting/${PN}/archive/refs/tags/${PN}@${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris ${CRATES})
"
S="${WORKDIR}/${PN}-${P}"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0 Artistic-2 BSD-2 BSD CC0-1.0 ISC MIT WTFPL-2"
SLOT="0"
IUSE="doc"
DEPEND="
dev-libs/icu
dev-libs/openssl
media-gfx/graphite2
media-libs/fontconfig
media-libs/freetype:2
media-libs/harfbuzz[graphite,icu]
media-libs/libpng
sys-libs/zlib
"
RDEPEND="${DEPEND}"
BDEPEND="doc? ( app-text/mdbook )"
src_unpack() {
if [[ ${PV} = *9999* ]]; then
git-r3_src_unpack
cargo_live_src_unpack
else
cargo_src_unpack
fi
}
src_configure() {
# Test fails with -ftree-slp-vectorize, therefore disable
append-flags -fno-tree-slp-vectorize
# Linker fails with lto enabled
filter-flags -flto*
local myfeatures=(
external-harfbuzz
)
cargo_src_configure
}
src_compile() {
cargo_src_compile
if use doc; then
pushd docs || die
mdbook build || die
HTML_DOCS="${S}/docs/book"
popd || die
fi
}
src_install() {
cargo_src_install
einstalldocs
}