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-overlay/x11-terms/wezterm/wezterm-20230712.072601.ebuild

783 lines
16 KiB

# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.4
EAPI=8
CRATES="
addr2line@0.20.0
adler@1.0.2
adler32@1.2.0
ahash@0.7.6
ahash@0.8.3
aho-corasick@0.7.20
aho-corasick@1.0.2
android-tzdata@0.1.1
android_system_properties@0.1.5
anes@0.1.6
anstream@0.3.2
anstyle@1.0.1
anstyle-parse@0.2.1
anstyle-query@1.0.0
anstyle-wincon@1.0.1
anyhow@1.0.71
arrayref@0.3.7
arrayvec@0.7.4
ash@0.37.3+1.3.251
assert_fs@1.0.13
async-broadcast@0.5.1
async-channel@1.9.0
async-executor@1.5.1
async-fs@1.6.0
async-io@1.13.0
async-lock@2.7.0
async-net@1.7.0
async-process@1.7.0
async-recursion@1.0.4
async-task@4.4.0
async-trait@0.1.71
atomic@0.5.3
atomic-waker@1.1.1
atty@0.2.14
autocfg@1.1.0
backtrace@0.3.68
base64@0.13.1
base64@0.21.2
benchmarking@0.4.12
bit-set@0.5.3
bit-vec@0.6.3
bit_field@0.10.2
bitflags@1.3.2
bitflags@2.3.3
block@0.1.6
block-buffer@0.10.4
blocking@1.3.1
bstr@0.1.4
bstr@0.2.17
bstr@1.6.0
bumpalo@3.13.0
bytemuck@1.13.1
bytemuck_derive@1.4.1
byteorder@1.4.3
bytes@1.4.0
camino@1.1.4
cassowary@0.3.0
cast@0.3.0
cc@1.0.79
cfg-if@1.0.0
cgl@0.3.2
chrono@0.4.26
ciborium@0.2.1
ciborium-io@0.2.1
ciborium-ll@0.2.1
clap@2.34.0
clap@3.2.25
clap@4.3.11
clap_builder@4.3.11
clap_complete@4.3.2
clap_complete_fig@4.3.1
clap_derive@4.3.2
clap_lex@0.2.4
clap_lex@0.5.0
clipboard-win@2.2.0
cocoa@0.20.2
codespan-reporting@0.11.1
color_quant@1.1.0
colorchoice@1.0.0
colored@1.9.3
colorgrad@0.6.2
com-rs@0.2.1
concurrent-queue@2.2.0
core-foundation@0.7.0
core-foundation@0.9.3
core-foundation-sys@0.7.0
core-foundation-sys@0.8.4
core-graphics@0.19.2
core-graphics@0.22.3
core-graphics-types@0.1.2
core-text@19.2.0
core2@0.4.0
cpufeatures@0.2.9
crc32fast@1.3.2
criterion@0.3.6
criterion@0.4.0
criterion-plot@0.4.5
criterion-plot@0.5.0
crossbeam@0.8.2
crossbeam-channel@0.5.8
crossbeam-deque@0.8.3
crossbeam-epoch@0.9.15
crossbeam-queue@0.3.8
crossbeam-utils@0.8.16
crunchy@0.2.2
crypto-common@0.1.6
csscolorparser@0.6.2
csv@1.2.2
csv-core@0.1.10
d3d12@0.6.0
darling@0.20.1
darling_core@0.20.1
darling_macro@0.20.1
dary_heap@0.3.6
data-encoding@2.4.0
deltae@0.3.1
derivative@2.2.0
dhat@0.3.2
diff@0.1.13
difflib@0.4.0
digest@0.10.7
dirs@4.0.0
dirs-next@2.0.0
dirs-sys@0.3.7
dirs-sys-next@0.1.2
dlib@0.5.2
doc-comment@0.3.3
downcast-rs@1.2.0
dwrote@0.11.0
either@1.8.1
embed-resource@1.8.0
emojis@0.6.0
encoding_rs@0.8.32
enum-display-derive@0.1.1
enumflags2@0.7.7
enumflags2_derive@0.7.7
env_logger@0.10.0
equivalent@1.0.0
errno@0.3.1
errno-dragonfly@0.1.2
euclid@0.22.9
event-listener@2.5.3
exr@1.7.0
fallible-iterator@0.2.0
fallible-streaming-iterator@0.1.9
fancy-regex@0.11.0
fastrand@1.9.0
fastrand@2.0.0
fdeflate@0.3.0
filenamegen@0.2.4
filetime@0.2.21
finl_unicode@1.2.0
fixedbitset@0.4.2
flate2@1.0.26
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.2.0
fsevent-sys@4.1.0
futures@0.3.28
futures-channel@0.3.28
futures-core@0.3.28
futures-executor@0.3.28
futures-io@0.3.28
futures-lite@1.13.0
futures-macro@0.3.28
futures-sink@0.3.28
futures-task@0.3.28
futures-timer@3.0.2
futures-util@0.3.28
fuzzy-matcher@0.3.7
generic-array@0.14.7
gethostname@0.4.3
getopts@0.2.21
getrandom@0.2.10
gif@0.12.0
gimli@0.27.3
git2@0.16.1
gl_generator@0.14.0
glium@0.31.0
glob@0.3.1
globset@0.4.10
globwalk@0.8.1
glow@0.12.2
governor@0.5.1
gpu-alloc@0.5.4
gpu-alloc-types@0.2.0
gpu-allocator@0.22.0
gpu-descriptor@0.2.3
gpu-descriptor-types@0.1.1
guillotiere@0.6.2
h2@0.3.20
half@1.8.2
half@2.2.1
hashbrown@0.11.2
hashbrown@0.12.3
hashbrown@0.13.2
hashbrown@0.14.0
hashlink@0.7.0
hassle-rs@0.10.0
hdrhistogram@7.5.2
heck@0.4.1
hermit-abi@0.1.19
hermit-abi@0.3.2
hex@0.4.3
hexf-parse@0.2.1
hostname@0.3.1
http@0.2.9
http-body@0.4.5
http_req@0.9.2
httparse@1.8.0
httpdate@1.0.2
humansize@2.1.3
humantime@2.1.0
hyper@0.14.27
hyper-tls@0.5.0
iana-time-zone@0.1.57
iana-time-zone-haiku@0.1.2
ident_case@1.0.1
idna@0.4.0
ignore@0.4.20
image@0.24.6
indexmap@1.9.3
indexmap@2.0.0
inotify@0.9.6
inotify-sys@0.1.5
instant@0.1.12
intrusive-collections@0.9.5
io-lifetimes@1.0.11
ioctl-rs@0.1.6
ipnet@2.8.0
is-terminal@0.4.9
itertools@0.10.5
itoa@1.0.8
jobserver@0.1.26
jpeg-decoder@0.3.0
js-sys@0.3.64
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.147
libflate@2.0.0
libflate_lz77@2.0.0
libgit2-sys@0.14.2+1.5.1
libloading@0.6.7
libloading@0.7.4
libloading@0.8.0
libm@0.2.7
libsqlite3-sys@0.24.2
libssh-rs@0.2.0
libssh-rs-sys@0.2.0
libssh2-sys@0.3.0
libz-sys@1.1.9
line-wrap@0.1.1
line_drawing@0.8.1
linked-hash-map@0.5.6
linux-raw-sys@0.3.8
linux-raw-sys@0.4.3
lock_api@0.4.10
log@0.4.19
lru@0.7.8
lua-src@546.0.0
luajit-src@210.4.5+resty2cf5186
mac_address@1.1.5
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.5.10
memmem@0.1.1
memoffset@0.6.5
memoffset@0.7.1
memoffset@0.8.0
memoffset@0.9.0
metal@0.24.0
metrics@0.17.1
metrics-macros@0.4.1
mime@0.3.17
minimal-lexical@0.2.1
miniz_oxide@0.4.4
miniz_oxide@0.7.1
mintex@0.1.2
mio@0.8.8
mlua@0.8.9
naga@0.12.3
names@0.12.0
nanorand@0.7.0
native-tls@0.2.11
nix@0.23.2
nix@0.24.3
nix@0.25.1
nix@0.26.2
no-std-compat@0.4.1
nom@7.1.3
nonzero_ext@0.3.0
normalize-line-endings@0.3.0
notify@5.2.0
ntapi@0.4.1
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.16.0
objc@0.2.7
objc_exception@0.1.2
object@0.31.1
once_cell@1.18.0
oorandom@11.1.3
openssl@0.10.38
openssl-probe@0.1.5
openssl-src@300.1.2+3.1.1
openssl-sys@0.9.71
ordered-float@3.7.0
ordered-stream@0.2.0
os_str_bytes@6.5.1
parking@2.1.0
parking_lot@0.11.2
parking_lot@0.12.1
parking_lot_core@0.8.6
parking_lot_core@0.9.8
pem@1.1.1
percent-encoding@2.3.0
pest@2.7.0
pest_derive@2.7.0
pest_generator@2.7.0
pest_meta@2.7.0
phf@0.11.2
phf_codegen@0.11.2
phf_generator@0.11.2
phf_macros@0.11.2
phf_shared@0.11.2
pin-project@1.1.2
pin-project-internal@1.1.2
pin-project-lite@0.2.10
pin-utils@0.1.0
pkg-config@0.3.27
plist@1.5.0
plotters@0.3.5
plotters-backend@0.3.5
plotters-svg@0.3.5
png@0.17.9
polling@2.8.0
ppv-lite86@0.2.17
predicates@3.0.3
predicates-core@1.0.6
predicates-tree@1.0.9
proc-macro-crate@1.3.1
proc-macro2@1.0.64
profiling@1.0.8
pulldown-cmark@0.9.3
pure-rust-locales@0.5.6
qoi@0.4.1
quick-xml@0.28.2
quick-xml@0.29.0
quote@1.0.29
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
range-alloc@0.1.3
raw-window-handle@0.5.2
rayon@1.7.0
rayon-core@1.11.0
rcgen@0.9.3
redox_syscall@0.2.16
redox_syscall@0.3.5
redox_users@0.4.3
regex@1.9.1
regex-automata@0.1.10
regex-automata@0.3.2
regex-syntax@0.7.3
relative-path@1.8.0
renderdoc-sys@1.0.0
reqwest@0.11.18
resize@0.5.5
rgb@0.8.36
ring@0.16.20
rle-decode-fast@1.0.3
rstest@0.18.1
rstest_macros@0.18.1
rusqlite@0.27.0
rustc-demangle@0.1.23
rustc-hash@1.1.0
rustc_version@0.4.0
rustix@0.37.23
rustix@0.38.3
ryu@1.0.14
safemem@0.3.3
same-file@1.0.6
schannel@0.1.22
scoped-tls@1.0.1
scopeguard@1.1.0
security-framework@2.9.1
security-framework-sys@2.9.0
semver@0.11.0
semver@1.0.17
semver-parser@0.10.2
serde@1.0.171
serde_cbor@0.11.2
serde_derive@1.0.171
serde_json@1.0.100
serde_repr@0.1.14
serde_spanned@0.6.3
serde_urlencoded@0.7.1
serde_with@2.3.3
serde_with_macros@2.3.3
serde_yaml@0.9.22
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.10.7
shared_library@0.1.9
shell-words@1.1.0
shlex@1.1.0
signal-hook@0.3.15
signal-hook-registry@1.4.1
simd-adler32@0.3.5
siphasher@0.3.10
slab@0.4.8
slotmap@1.0.6
smallvec@1.11.0
smawk@0.3.1
smithay-client-toolkit@0.16.0
smol@1.3.0
smol-potat@1.1.2
smol-potat-macro@0.6.0
socket2@0.4.9
socket2@0.5.3
spa@0.3.1
spin@0.5.2
spin@0.9.8
spirv@0.2.0+1.5.4
sqlite-cache@0.1.3
ssh2@0.9.4
starship-battery@0.7.9
static_assertions@1.1.0
strict-num@0.1.1
strsim@0.10.0
svg_fmt@0.4.1
syn@1.0.109
syn@2.0.25
sys-info@0.9.1
takeable-option@0.5.0
tar@0.4.38
tempfile@3.6.0
term_size@0.3.2
termcolor@1.2.0
terminal_size@0.2.6
terminfo@0.8.0
termios@0.2.2
termios@0.3.3
termtree@0.4.1
textwrap@0.11.0
textwrap@0.16.0
thiserror@1.0.43
thiserror-impl@1.0.43
thousands@0.2.0
thread_local@1.1.7
tiff@0.8.1
time@0.3.23
time-core@0.1.1
time-macros@0.2.10
tiny-skia@0.11.1
tiny-skia-path@0.11.1
tinytemplate@1.2.1
tinyvec@1.6.0
tinyvec_macros@0.1.1
tokio@1.29.1
tokio-macros@2.1.0
tokio-native-tls@0.3.1
tokio-util@0.7.8
toml@0.5.11
toml@0.7.6
toml_datetime@0.6.3
toml_edit@0.19.12
tower-service@0.3.2
tracing@0.1.37
tracing-attributes@0.1.26
tracing-core@0.1.31
try-lock@0.2.4
typenum@1.16.0
ucd-trie@0.1.6
uds_windows@1.0.2
unicase@2.6.0
unicode-bidi@0.3.13
unicode-ident@1.0.10
unicode-linebreak@0.1.4
unicode-normalization@0.1.22
unicode-segmentation@1.10.1
unicode-width@0.1.10
unicode-xid@0.2.4
unsafe-libyaml@0.2.8
untrusted@0.7.1
uom@0.30.0
url@2.4.0
utf8parse@0.2.1
uuid@1.4.0
varbincode@0.1.0
vcpkg@0.2.15
version_check@0.9.4
vswhom@0.1.0
vswhom-sys@0.1.2
waker-fn@1.1.0
walkdir@2.3.3
want@0.3.1
wasi-0.11.0+wasi-snapshot@preview1
wasm-bindgen@0.2.87
wasm-bindgen-backend@0.2.87
wasm-bindgen-futures@0.4.37
wasm-bindgen-macro@0.2.87
wasm-bindgen-macro-support@0.2.87
wasm-bindgen-shared@0.2.87
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.64
weezl@0.1.7
wgpu@0.16.2
wgpu-core@0.16.1
wgpu-hal@0.16.2
wgpu-types@0.16.1
whoami@1.4.1
widestring@1.0.2
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@0.44.0
windows@0.48.0
windows-sys@0.45.0
windows-sys@0.48.0
windows-targets@0.42.2
windows-targets@0.48.1
windows_aarch64_gnullvm@0.42.2
windows_aarch64_gnullvm@0.48.0
windows_aarch64_msvc@0.33.0
windows_aarch64_msvc@0.42.2
windows_aarch64_msvc@0.48.0
windows_i686_gnu@0.33.0
windows_i686_gnu@0.42.2
windows_i686_gnu@0.48.0
windows_i686_msvc@0.33.0
windows_i686_msvc@0.42.2
windows_i686_msvc@0.48.0
windows_x86_64_gnu@0.33.0
windows_x86_64_gnu@0.42.2
windows_x86_64_gnu@0.48.0
windows_x86_64_gnullvm@0.42.2
windows_x86_64_gnullvm@0.48.0
windows_x86_64_msvc@0.33.0
windows_x86_64_msvc@0.42.2
windows_x86_64_msvc@0.48.0
winnow@0.4.9
winreg@0.10.1
wio@0.2.2
x11@2.21.0
xattr@0.2.3
xcb@1.2.2
xcb-imdkit@0.1.2
xcursor@0.3.4
xdg-home@1.0.0
xkbcommon@0.5.0
xml-rs@0.8.15
yaml-rust@0.4.5
yasna@0.5.2
zbus@3.14.1
zbus_macros@3.14.1
zbus_names@2.6.0
zstd@0.11.2+zstd.1.5.2
zstd-safe@5.0.2+zstd.1.5.2
zstd-sys@2.0.8+zstd.1.5.5
zune-inflate@0.2.54
zvariant@3.15.0
zvariant_derive@3.15.0
zvariant_utils@1.0.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 -)-f4abf8fd"
MY_P="${PN}-${MY_PV}"
SRC_URI="
https://github.com/wez/${PN}/releases/download/${MY_PV}/${MY_P}-src.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 afcae83a064843d71d47624bc162e121cc56c08b"
"libssh-rs-tmp github crates https://github.com/wez/libssh-rs 44a08196acd1a2277ec7ebce2a47618775f3c59c"
"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}-20230320-124340-vendored-sources.patch"
"${FILESDIR}/${PN}-20230712-072601-xcb.patch"
"${FILESDIR}/${PN}-20230712-072601-xcb-imdkit.patch"
"${FILESDIR}/${PN}-20230320-124340-image.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[X,wayland?]
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-util/cmake
dev-vcs/git
virtual/pkgconfig
virtual/rust
"
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-xcb-1.2.2.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
echo "${MY_PV}-gentoo" > .tag || die
default
eapply_user
}
src_configure() {
local myfeatures=(
distro-defaults
vendor-nerd-font-symbols-font
$(usev wayland)
)
cargo_src_configure --no-default-features
}
src_compile() {
cargo_src_compile
}
src_install() {
exeinto /usr/bin
doexe target/$(usex debug "debug" "release")/wezterm
doexe target/$(usex debug "debug" "release")/wezterm-gui
doexe target/$(usex debug "debug" "release")/wezterm-mux-server
doexe target/$(usex debug "debug" "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
}