You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-full-overlay/x11-terms/wezterm/wezterm-20221119.145034.ebuild

752 lines
16 KiB

# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.2
EAPI=8
CRATES="
addr2line-0.17.0
adler-1.0.2
adler32-1.2.0
ahash-0.7.6
ahash-0.8.2
aho-corasick-0.7.19
android_system_properties-0.1.5
anyhow-1.0.66
arrayref-0.3.6
arrayvec-0.7.2
ash-0.37.0+1.3.209
assert_fs-1.0.9
async-broadcast-0.4.1
async-channel-1.7.1
async-executor-1.5.0
async-fs-1.6.0
async-io-1.10.0
async-lock-2.6.0
async-net-1.7.0
async-process-1.5.0
async-recursion-1.0.0
async-task-4.3.0
async-trait-0.1.58
atomic-waker-1.0.0
atty-0.2.14
autocfg-1.1.0
backtrace-0.3.66
base64-0.13.1
benchmarking-0.4.11
bit-set-0.5.3
bit-vec-0.6.3
bit_field-0.10.1
bitflags-1.3.2
block-0.1.6
block-buffer-0.9.0
block-buffer-0.10.3
blocking-1.2.0
bstr-0.1.4
bstr-0.2.17
bumpalo-3.11.1
bytemuck-1.12.3
bytemuck_derive-1.3.0
byteorder-1.4.3
bytes-1.2.1
cache-padded-1.2.0
camino-1.1.1
cassowary-0.3.0
cast-0.3.0
cc-1.0.76
cfg-if-0.1.10
cfg-if-1.0.0
cfg_aliases-0.1.1
cgl-0.3.2
chrono-0.4.23
clap-2.34.0
clap-4.0.23
clap_complete-4.0.5
clap_complete_fig-4.0.1
clap_derive-4.0.21
clap_lex-0.3.0
clipboard-win-2.2.0
clipboard_macos-0.1.0
cocoa-0.20.2
codespan-reporting-0.11.1
color_quant-1.1.0
colored-1.9.3
colorgrad-0.6.2
concurrent-queue-1.2.4
concurrent-queue-2.0.0
core-foundation-0.7.0
core-foundation-0.9.3
core-foundation-sys-0.7.0
core-foundation-sys-0.8.3
core-graphics-0.19.2
core-graphics-0.22.3
core-graphics-types-0.1.1
core-text-19.2.0
cpufeatures-0.2.5
crc32fast-1.3.2
criterion-0.3.6
criterion-plot-0.4.5
crossbeam-0.8.2
crossbeam-channel-0.5.6
crossbeam-deque-0.8.2
crossbeam-epoch-0.9.11
crossbeam-queue-0.3.6
crossbeam-utils-0.8.12
crunchy-0.2.2
crypto-common-0.1.6
csscolorparser-0.6.2
csv-1.1.6
csv-core-0.1.10
cty-0.2.2
cxx-1.0.81
cxx-build-1.0.81
cxxbridge-flags-1.0.81
cxxbridge-macro-1.0.81
d3d12-0.5.0
darling-0.14.2
darling_core-0.14.2
darling_macro-0.14.2
dashmap-5.4.0
data-encoding-2.3.2
deltae-0.3.0
derivative-2.2.0
dhat-0.3.2
diff-0.1.13
difflib-0.4.0
digest-0.9.0
digest-0.10.5
dirs-2.0.2
dirs-4.0.0
dirs-next-2.0.0
dirs-sys-0.3.7
dirs-sys-next-0.1.2
dlib-0.5.0
doc-comment-0.3.3
downcast-rs-1.2.0
dwrote-0.11.0
either-1.8.0
embed-resource-1.7.4
emojis-0.5.1
encoding_rs-0.8.31
enum-display-derive-0.1.1
enumflags2-0.7.5
enumflags2_derive-0.7.4
env_logger-0.9.3
euclid-0.22.7
event-listener-2.5.3
exr-1.5.2
fallible-iterator-0.2.0
fallible-streaming-iterator-0.1.9
fastrand-1.8.0
filenamegen-0.2.4
filetime-0.2.18
finl_unicode-1.2.0
fixedbitset-0.4.2
flate2-1.0.24
float-cmp-0.9.0
flume-0.10.14
fnv-1.0.7
foreign-types-0.3.2
foreign-types-shared-0.1.1
form_urlencoded-1.1.0
fsevent-sys-4.1.0
futures-0.3.25
futures-channel-0.3.25
futures-core-0.3.25
futures-executor-0.3.25
futures-io-0.3.25
futures-lite-1.12.0
futures-macro-0.3.25
futures-sink-0.3.25
futures-task-0.3.25
futures-timer-3.0.2
futures-util-0.3.25
fuzzy-matcher-0.3.7
fxhash-0.2.1
generic-array-0.14.6
getopts-0.2.21
getrandom-0.1.16
getrandom-0.2.8
gif-0.11.4
gimli-0.26.2
git2-0.14.4
gl_generator-0.14.0
glium-0.31.0
globset-0.4.9
globwalk-0.8.1
glow-0.11.2
governor-0.4.2
gpu-alloc-0.5.3
gpu-alloc-types-0.2.0
gpu-descriptor-0.2.3
gpu-descriptor-types-0.1.1
guillotiere-0.6.2
h2-0.3.15
half-1.8.2
half-2.1.0
hashbrown-0.11.2
hashbrown-0.12.3
hashlink-0.7.0
hdrhistogram-7.5.2
heck-0.4.0
hermit-abi-0.1.19
hex-0.4.3
hexf-parse-0.2.1
hostname-0.3.1
http-0.2.8
http-body-0.4.5
http_req-0.8.1
httparse-1.8.0
httpdate-1.0.2
humantime-2.1.0
hyper-0.14.23
hyper-tls-0.5.0
iana-time-zone-0.1.53
iana-time-zone-haiku-0.1.1
ident_case-1.0.1
idna-0.3.0
ignore-0.4.18
image-0.24.5
indexmap-1.9.1
inotify-0.9.6
inotify-sys-0.1.5
instant-0.1.12
intrusive-collections-0.9.4
ioctl-rs-0.1.6
ipnet-2.5.1
itertools-0.10.5
itoa-0.4.8
itoa-1.0.4
jobserver-0.1.25
jpeg-decoder-0.3.0
js-sys-0.3.60
k9-0.11.6
khronos-egl-4.1.0
khronos_api-3.1.0
kqueue-1.0.7
kqueue-sys-1.0.3
lab-0.11.0
lazy_static-1.4.0
lazycell-1.3.0
leb128-0.2.5
lebe-0.5.2
libc-0.2.137
libflate-1.2.0
libflate_lz77-1.1.0
libgit2-sys-0.13.4+1.4.2
libloading-0.6.7
libloading-0.7.4
libsqlite3-sys-0.24.2
libssh2-sys-0.2.23
libz-sys-1.1.8
line-wrap-0.1.1
line_drawing-0.8.1
link-cplusplus-1.0.7
linked-hash-map-0.5.6
lock_api-0.4.9
log-0.4.17
lru-0.7.8
lua-src-544.0.1
luajit-src-210.4.3+resty8384278
mach-0.3.2
malloc_buf-0.0.6
maplit-1.0.2
match_cfg-0.1.0
memchr-2.5.0
memmap2-0.2.3
memmap2-0.3.1
memmap2-0.5.8
memmem-0.1.1
memoffset-0.5.6
memoffset-0.6.5
metal-0.24.0
metrics-0.17.1
metrics-macros-0.4.1
mime-0.3.16
minimal-lexical-0.2.1
miniz_oxide-0.4.4
miniz_oxide-0.5.4
miniz_oxide-0.6.2
mintex-0.1.2
mio-0.8.5
mlua-0.8.6
naga-0.10.0
names-0.12.0
nanorand-0.7.0
native-tls-0.2.11
nix-0.22.3
nix-0.23.1
nix-0.24.2
nix-0.25.0
no-std-compat-0.4.1
nom-5.1.2
nom-7.1.1
nonzero_ext-0.3.0
normalize-line-endings-0.3.0
notify-5.0.0
ntapi-0.3.7
num-0.3.1
num-bigint-0.3.3
num-complex-0.3.1
num-derive-0.3.3
num-integer-0.1.45
num-iter-0.1.43
num-rational-0.3.2
num-rational-0.4.1
num-traits-0.2.15
num_cpus-1.14.0
objc-0.2.7
objc-foundation-0.1.1
objc_exception-0.1.2
objc_id-0.1.1
object-0.29.0
once_cell-1.16.0
oorandom-11.1.3
opaque-debug-0.3.0
open-3.0.3
openssl-0.10.38
openssl-probe-0.1.5
openssl-src-300.0.11+3.0.7
openssl-sys-0.9.71
ordered-float-3.4.0
ordered-stream-0.1.1
os_str_bytes-6.4.0
parking-2.0.0
parking_lot-0.11.2
parking_lot-0.12.1
parking_lot_core-0.8.5
parking_lot_core-0.9.4
pathdiff-0.2.1
pem-1.1.0
percent-encoding-2.2.0
pest-2.4.1
pest_derive-2.4.1
pest_generator-2.4.1
pest_meta-2.4.1
phf-0.8.0
phf-0.10.1
phf-0.11.1
phf_codegen-0.8.0
phf_generator-0.8.0
phf_generator-0.11.1
phf_macros-0.11.1
phf_shared-0.8.0
phf_shared-0.10.0
phf_shared-0.11.1
pin-project-1.0.12
pin-project-internal-1.0.12
pin-project-lite-0.2.9
pin-utils-0.1.0
pkg-config-0.3.26
plist-1.3.1
plotters-0.3.4
plotters-backend-0.3.4
plotters-svg-0.3.3
png-0.17.7
polling-2.4.0
ppv-lite86-0.2.17
predicates-2.1.3
predicates-core-1.0.5
predicates-tree-1.0.7
proc-macro-crate-1.2.1
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro2-1.0.47
profiling-1.0.7
pulldown-cmark-0.9.2
pure-rust-locales-0.5.6
quanta-0.9.3
quick-xml-0.22.0
quote-1.0.21
rand-0.7.3
rand-0.8.5
rand_chacha-0.2.2
rand_chacha-0.3.1
rand_core-0.5.1
rand_core-0.6.4
rand_hc-0.2.0
rand_pcg-0.2.1
range-alloc-0.1.2
raw-cpuid-10.6.0
raw-window-handle-0.5.0
rayon-1.5.3
rayon-core-1.9.3
rcgen-0.9.3
redox_syscall-0.2.16
redox_users-0.4.3
regex-1.7.0
regex-automata-0.1.10
regex-syntax-0.6.28
remove_dir_all-0.5.3
renderdoc-sys-0.7.1
reqwest-0.11.12
resize-0.5.5
rgb-0.8.34
ring-0.16.20
rle-decode-fast-1.0.3
rstest-0.15.0
rstest_macros-0.14.0
rusqlite-0.27.0
rustc-demangle-0.1.21
rustc-hash-1.1.0
rustc_version-0.4.0
ryu-1.0.11
safemem-0.3.3
same-file-1.0.6
schannel-0.1.20
scoped-tls-1.0.1
scoped_threadpool-0.1.9
scopeguard-1.1.0
scratch-1.0.2
security-framework-2.7.0
security-framework-sys-2.6.1
semver-0.11.0
semver-1.0.14
semver-parser-0.10.2
serde-1.0.147
serde_cbor-0.11.2
serde_derive-1.0.147
serde_json-1.0.87
serde_repr-0.1.9
serde_urlencoded-0.7.1
serde_with-2.0.1
serde_with_macros-2.0.1
serde_yaml-0.9.14
serial-0.4.0
serial-core-0.4.0
serial-unix-0.4.0
serial-windows-0.4.0
sha1-0.10.5
sha2-0.9.9
shared_library-0.1.9
shell-words-1.1.0
shlex-1.1.0
signal-hook-0.1.17
signal-hook-0.3.14
signal-hook-registry-1.4.0
siphasher-0.3.10
slab-0.4.7
slotmap-1.0.6
smallvec-1.10.0
smawk-0.3.1
smithay-client-toolkit-0.15.4
smol-1.2.5
smol-potat-1.1.2
smol-potat-macro-0.6.0
socket2-0.4.7
spa-0.3.0
spin-0.5.2
spin-0.9.4
spirv-0.2.0+1.5.4
sqlite-cache-0.1.3
ssh2-0.9.3
starship-battery-0.7.9
static_assertions-1.1.0
strict-num-0.1.0
strsim-0.10.0
svg_fmt-0.4.1
syn-1.0.103
sys-info-0.9.1
takeable-option-0.5.0
tar-0.4.38
tempfile-3.3.0
term_size-0.3.2
termcolor-1.1.3
terminfo-0.7.3
termios-0.2.2
termios-0.3.3
termtree-0.4.0
textwrap-0.11.0
textwrap-0.16.0
thiserror-1.0.37
thiserror-impl-1.0.37
thousands-0.2.0
thread_local-1.1.4
threadpool-1.8.1
tiff-0.8.0
time-0.1.43
time-0.3.17
time-core-0.1.0
time-macros-0.2.6
tiny-skia-0.8.2
tiny-skia-path-0.8.2
tinytemplate-1.2.1
tinyvec-1.6.0
tinyvec_macros-0.1.0
tokio-1.21.2
tokio-macros-1.8.0
tokio-native-tls-0.3.0
tokio-util-0.7.4
toml-0.5.8
tower-service-0.3.2
tracing-0.1.37
tracing-attributes-0.1.23
tracing-core-0.1.30
try-lock-0.2.3
typenum-1.15.0
ucd-trie-0.1.5
uds_windows-1.0.2
unicase-2.6.0
unicode-bidi-0.3.8
unicode-ident-1.0.5
unicode-linebreak-0.1.4
unicode-normalization-0.1.22
unicode-segmentation-1.10.0
unicode-width-0.1.10
unicode-xid-0.2.4
unsafe-libyaml-0.2.4
untrusted-0.7.1
uom-0.30.0
url-2.3.1
utf8parse-0.2.0
varbincode-0.1.0
vcpkg-0.2.15
version_check-0.9.4
vswhom-0.1.0
vswhom-sys-0.1.1
waker-fn-1.1.0
walkdir-2.3.2
want-0.3.0
wasi-0.9.0+wasi-snapshot-preview1
wasi-0.10.2+wasi-snapshot-preview1
wasi-0.11.0+wasi-snapshot-preview1
wasm-bindgen-0.2.83
wasm-bindgen-backend-0.2.83
wasm-bindgen-futures-0.4.33
wasm-bindgen-macro-0.2.83
wasm-bindgen-macro-support-0.2.83
wasm-bindgen-shared-0.2.83
wayland-client-0.29.5
wayland-commons-0.29.5
wayland-cursor-0.29.5
wayland-egl-0.29.5
wayland-protocols-0.29.5
wayland-scanner-0.29.5
wayland-sys-0.29.5
web-sys-0.3.60
weezl-0.1.7
wepoll-ffi-0.1.2
wgpu-0.14.0
wgpu-core-0.14.0
wgpu-hal-0.14.1
wgpu-types-0.14.1
whoami-1.2.3
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-0.33.0
windows-sys-0.36.1
windows-sys-0.42.0
windows_aarch64_gnullvm-0.42.0
windows_aarch64_msvc-0.33.0
windows_aarch64_msvc-0.36.1
windows_aarch64_msvc-0.42.0
windows_i686_gnu-0.33.0
windows_i686_gnu-0.36.1
windows_i686_gnu-0.42.0
windows_i686_msvc-0.33.0
windows_i686_msvc-0.36.1
windows_i686_msvc-0.42.0
windows_x86_64_gnu-0.33.0
windows_x86_64_gnu-0.36.1
windows_x86_64_gnu-0.42.0
windows_x86_64_gnullvm-0.42.0
windows_x86_64_msvc-0.33.0
windows_x86_64_msvc-0.36.1
windows_x86_64_msvc-0.42.0
winreg-0.10.1
wio-0.2.2
xcb-1.2.0
xcb-imdkit-0.1.2
x11-2.20.0
xattr-0.2.3
xcursor-0.3.4
xkbcommon-0.5.0
xml-rs-0.8.4
yaml-rust-0.4.5
yasna-0.5.0
zbus-3.4.0
zbus_macros-3.4.0
zbus_names-2.2.0
zstd-0.11.2+zstd.1.5.2
zstd-safe-5.0.2+zstd.1.5.2
zstd-sys-2.0.1+zstd.1.5.2
zvariant-3.7.1
zvariant_derive-3.7.1
"
inherit bash-completion-r1 desktop cargo xdg-utils
DESCRIPTION="A GPU-accelerated cross-platform terminal emulator and multiplexer"
HOMEPAGE="https://wezfurlong.org/wezterm/"
MY_PV="$(ver_rs 1 -)-49b9839f"
MY_P="${PN}-${MY_PV}"
SRC_URI="
https://github.com/wez/${PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz
$(cargo_crate_uris)
"
SUBMODULES=(
"freetype2 github freetype https://github.com/wez/freetype2 3f83daeecb1a78d851b660eed025eeba362c0e4a"
"libpng github freetype https://github.com/glennrp/libpng 8439534daa1d3a5705ba92e653eda9251246dd61"
"zlib github freetype https://github.com/madler/zlib cacf7f1d4e3d44d871b605da3b647f07d718623f"
"harfbuzz github harfbuzz https://github.com/harfbuzz/harfbuzz 970321db7bddbe8c579b73751fc655a924ea3ce6"
"libssh-rs-tmp github crates https://github.com/wez/libssh-rs d36e5648274063c187968fd5ce0b1a7aa350a025"
"libssh gitlab crates https://gitlab.com/wez1/libssh-mirror 56e1b0a43a7601d3b2989299262a09db5d81eea0"
)
# License set may be more restrictive as OR is not respected
# use cargo-license for a more accurate license picture
LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD BSD-2 Boost-1.0 CC0-1.0 GPL-3 ISC LGPL-2.1 MIT MPL-2.0 Unicode-DFS-2016 Unlicense WTFPL-2 ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="wayland"
RESTRICT=test # tests require network
PATCHES=(
"${FILESDIR}/${PN}-20221119-vendored-sources.patch"
"${FILESDIR}/${PN}-20221119-xcb.patch"
"${FILESDIR}/${PN}-20221119-xcb-imdkit.patch"
)
DEPEND="
dev-libs/openssl
wayland? ( dev-libs/wayland )
media-fonts/jetbrains-mono
media-fonts/noto
media-fonts/noto-emoji
media-fonts/roboto
media-libs/fontconfig
media-libs/mesa
sys-apps/dbus
x11-libs/libX11
x11-libs/libxkbcommon
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-wm
x11-themes/hicolor-icon-theme
x11-themes/xcursor-themes
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-lang/rust
dev-util/cmake
dev-util/pkgconf
dev-vcs/git
"
QA_FLAGS_IGNORED="
usr/bin/.*
"
S="${WORKDIR}/${MY_P}"
submodule_uris() {
for line in "${SUBMODULES[@]}"; do
read -r name hoster dep url commit <<< "${line}" || die
if [ ${hoster} == "github" ];
then
SRC_URI+=" ${url}/archive/${commit}.tar.gz -> ${url##*/}-${commit}.tar.gz"
elif [ ${hoster} == "gitlab" ];
then
SRC_URI+=" ${url}/-/archive/${commit}/${url##*/}-${commit}.tar.gz"
else
die
fi
done
}
submodule_uris
src_prepare() {
for line in "${SUBMODULES[@]}"; do
read -r name hoster dep url commit <<< "${line}" || die
mkdir -p "${S}/deps/${dep}/${name}" || die
cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/deps/${dep}/${name}" || die
done
pushd "${WORKDIR}"/cargo_home/gentoo/xcb-imdkit-0.1.2 || die
eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p1.patch
eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p2.patch
eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p3.patch
popd || die
mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs" "${S}/deps/crates" || die
mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs-sys" "${S}/deps/crates" || die
cp -r "${S}"/deps/crates/libssh/* "${S}/deps/crates/libssh-rs-sys/vendored/" || die
rm -rf "${S}/deps/crates/libssh-rs-tmp" || die
rm -rf "${S}/deps/crates/libssh" || die
echo '{"files":{}}' > "${S}/deps/crates/libssh-rs/.cargo-checksum.json" || die
echo '{"files":{}}' > "${S}/deps/crates/libssh-rs-sys/.cargo-checksum.json" || die
echo '{"files":{}}' > "${WORKDIR}/cargo_home/gentoo/xcb-imdkit-0.1.2/.cargo-checksum.json" || die
default
eapply_user
}
src_configure() {
local myfeatures=(
distro-defaults
vendor-nerd-font-symbols-font
$(usev wayland)
)
cargo_src_configure --verbose --no-default-features
}
src_compile() {
cargo_src_compile --verbose
}
src_install() {
exeinto /usr/bin
doexe target/release/wezterm
doexe target/release/wezterm-gui
doexe target/release/wezterm-mux-server
doexe target/release/strip-ansi-escapes
insinto /usr/share/icons/hicolor/128x128/apps
newins assets/icon/terminal.png org.wezfurlong.wezterm.png
newmenu assets/wezterm.desktop org.wezfurlong.wezterm.desktop
insinto /usr/share/metainfo
newins assets/wezterm.appdata.xml org.wezfurlong.wezterm.appdata.xml
newbashcomp assets/shell-completion/bash ${PN}
insopts -m 0644
insinto /usr/share/zsh/site-functions
newins assets/shell-completion/zsh _${PN}
insopts -m 0644
insinto /usr/share/fish/vendor_completions.d
newins assets/shell-completion/fish ${PN}.fish
}
pkg_postinst() {
xdg_icon_cache_update
einfo "It may be necessary to configure wezterm to use a cursor theme, see:"
einfo "https://wezfurlong.org/wezterm/faq.html?highlight=xcursor_theme#i-use-x11-or-wayland-and-my-mouse-cursor-theme-doesnt-seem-to-work"
einfo "It may be necessary to set the environment variable XCURSOR_PATH"
einfo "to the directory containing the cursor icons, for example"
einfo 'export XCURSOR_PATH="/usr/share/cursors/xorg-x11/"'
einfo "before starting the wayland or X11 window compositor to avoid the error:"
einfo "ERROR window::os::wayland::frame > Unable to set cursor to left_ptr: cursor not found"
einfo "For example, in the file ~/.wezterm.lua:"
einfo "return {"
einfo ' xcursor_theme = "whiteglass"'
einfo "}"
}
pkg_postrm() {
xdg_icon_cache_update
}