# Copyright 2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CRATES=" android-tzdata@0.1.1 android_system_properties@0.1.5 ansiterm@0.12.2 autocfg@1.1.0 bitflags@1.3.2 bitflags@2.4.0 bumpalo@3.13.0 byteorder@1.4.3 cc@1.0.79 cfg-if@1.0.0 chrono@0.4.27 core-foundation-sys@0.8.4 datetime@0.5.2 errno-dragonfly@0.1.2 errno@0.3.3 form_urlencoded@1.0.1 gethostname@0.4.3 git2@0.18.0 glob@0.3.1 hermit-abi@0.3.2 iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.57 idna@0.2.3 io-lifetimes@1.0.11 jobserver@0.1.22 js-sys@0.3.64 lazy_static@1.4.0 libc@0.2.147 libgit2-sys@0.16.1+1.7.1 libz-sys@1.1.2 linux-raw-sys@0.3.8 locale@0.2.2 log@0.4.20 matches@0.1.8 natord@1.0.9 num-traits@0.2.14 num_cpus@1.16.0 number_prefix@0.4.0 once_cell@1.18.0 openssl-src@111.26.0+1.1.1u openssl-sys@0.9.61 partition-identity@0.3.0 percent-encoding@2.1.0 phf@0.11.2 phf_generator@0.11.2 phf_macros@0.11.2 phf_shared@0.11.2 pkg-config@0.3.19 proc-macro2@1.0.66 proc-mounts@0.3.0 quote@1.0.33 rand@0.8.5 rand_core@0.6.4 redox_syscall@0.1.57 rustix@0.37.23 scoped_threadpool@0.1.9 siphasher@0.3.11 syn@2.0.29 term_grid@0.1.7 terminal_size@0.2.6 thiserror-impl@1.0.48 thiserror@1.0.48 time@0.1.44 timeago@0.4.1 tinyvec@1.2.0 tinyvec_macros@0.1.0 unicode-bidi@0.3.5 unicode-ident@1.0.11 unicode-normalization@0.1.17 unicode-width@0.1.10 url@2.2.1 urlencoding@2.1.3 uzers@0.11.2 vcpkg@0.2.12 wasi@0.10.0+wasi-snapshot-preview1 wasm-bindgen-backend@0.2.87 wasm-bindgen-macro-support@0.2.87 wasm-bindgen-macro@0.2.87 wasm-bindgen-shared@0.2.87 wasm-bindgen@0.2.87 winapi-i686-pc-windows-gnu@0.4.0 winapi-x86_64-pc-windows-gnu@0.4.0 winapi@0.3.9 windows-sys@0.48.0 windows-targets@0.48.5 windows@0.48.0 windows_aarch64_gnullvm@0.48.5 windows_aarch64_msvc@0.48.5 windows_i686_gnu@0.48.5 windows_i686_msvc@0.48.5 windows_x86_64_gnu@0.48.5 windows_x86_64_gnullvm@0.48.5 windows_x86_64_msvc@0.48.5 zoneinfo_compiled@0.5.1 " inherit shell-completion cargo DESCRIPTION="A modern, maintained replacement for ls" HOMEPAGE="https://github.com/eza-community/eza" SRC_URI="https://github.com/eza-community/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="amd64 ~arm64" IUSE="+git man" DEPEND="git? ( dev-libs/libgit2:= )" RDEPEND="${DEPEND}" BDEPEND=" >=virtual/rust-1.65.0 man? ( virtual/pandoc ) " QA_FLAGS_IGNORED="usr/bin/${PN}" src_prepare() { default if use man; then mkdir -p contrib/man || die "failed to create man directory" pandoc --standalone -f markdown -t man man/eza.1.md \ -o contrib/man/eza.1 || die "failed to create man pages" pandoc --standalone -f markdown -t man man/eza_colors.5.md \ -o contrib/man/eza_colors.5 || die "failed to create colored man pages" pandoc --standalone -f markdown -t man man/eza_colors-explanation.5.md \ -o contrib/man/eza_colors-explanation.5 || die "failed to create colors-explanation man pages" fi # "source" files only, but cargo.eclass will attempt to install them. rm -r man || die "failed to remove man directory from source" sed -i -e 's/^strip = true$/strip = false/g' Cargo.toml || die "failed to disable stripping" } src_compile() { export LIBGIT2_SYS_USE_PKG_CONFIG=1 export PKG_CONFIG_ALLOW_CROSS=1 local myfeatures=( $(usev git) ) cargo_src_compile --no-default-features } src_install() { cargo_src_install dobashcomp completions/bash/"${PN}" dozshcomp completions/zsh/_"${PN}" dofishcomp completions/fish/"${PN}".fish if use man; then doman contrib/man/* fi }