Files
guru/gui-apps/espanso/espanso-2.1.8.ebuild
Julien Roy 3d25d4048d */*: remove empty global variable assigment
Signed-off-by: Julien Roy <julien@jroy.ca>
2024-03-21 18:34:41 -04:00

436 lines
8.3 KiB
Bash

# Copyright 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="
adler-1.0.2
aho-corasick-0.7.19
ansi_term-0.11.0
ansi_term-0.12.1
anyhow-1.0.38
arrayref-0.3.6
arrayvec-0.5.2
atty-0.2.14
autocfg-1.0.1
base64-0.13.0
bitflags-0.9.1
bitflags-1.2.1
blake2b_simd-0.5.11
block-0.1.6
block-buffer-0.9.0
bstr-0.2.15
bumpalo-3.7.0
byteorder-1.4.3
bytes-1.1.0
bzip2-0.4.3
bzip2-sys-0.1.11+1.0.8
calloop-0.9.3
caps-0.5.2
cc-1.0.73
cfg-if-0.1.10
cfg-if-1.0.0
chrono-0.4.19
clap-2.33.3
colored-2.0.0
console-0.14.1
const-sha1-0.2.0
const_format-0.2.14
const_format_proc_macros-0.2.14
constant_time_eq-0.1.5
core-foundation-0.9.1
core-foundation-sys-0.8.2
cpufeatures-0.2.1
crc32fast-1.2.1
crossbeam-0.8.1
crossbeam-channel-0.5.0
crossbeam-deque-0.8.1
crossbeam-epoch-0.9.8
crossbeam-queue-0.3.5
crossbeam-utils-0.8.8
cstr_core-0.2.5
ctor-0.1.20
cty-0.2.2
dbus-0.9.1
dialoguer-0.8.0
diff-0.1.12
difference-2.0.0
digest-0.9.0
dirs-1.0.5
dirs-3.0.1
dirs-sys-0.3.5
dlib-0.5.0
downcast-0.10.0
downcast-rs-1.2.0
dtoa-0.4.7
dunce-1.0.1
either-1.6.1
encode_unicode-0.3.6
encoding_rs-0.8.28
enum-as-inner-0.3.3
errno-0.2.7
errno-dragonfly-0.1.1
filetime-0.2.14
flate2-1.0.20
float-cmp-0.8.0
fnv-1.0.7
foreign-types-0.3.2
foreign-types-shared-0.1.1
form_urlencoded-1.0.1
fragile-1.0.0
fs2-0.4.3
fs_extra-1.2.0
fsevent-0.4.0
fsevent-sys-2.0.1
fuchsia-cprng-0.1.1
fuchsia-zircon-0.3.3
fuchsia-zircon-sys-0.3.3
futf-0.1.4
futures-channel-0.3.17
futures-core-0.3.17
futures-io-0.3.17
futures-macro-0.3.17
futures-sink-0.3.17
futures-task-0.3.17
futures-util-0.3.17
gcc-0.3.55
generic-array-0.14.4
getrandom-0.1.16
getrandom-0.2.2
glob-0.3.0
h2-0.3.4
hashbrown-0.11.2
heck-0.3.2
hermit-abi-0.1.18
hex-0.4.3
html2text-0.2.1
html5ever-0.25.1
http-0.2.4
http-body-0.4.3
httparse-1.5.1
httpdate-1.0.1
hyper-0.14.12
hyper-rustls-0.22.1
hyper-tls-0.5.0
idna-0.2.3
include_dir-0.6.0
include_dir_impl-0.6.0
indexmap-1.7.0
indoc-1.0.3
inotify-0.7.1
inotify-sys-0.1.5
iovec-0.1.4
ipnet-2.3.1
itertools-0.10.0
itoa-0.4.7
js-sys-0.3.53
kernel32-sys-0.2.2
lazy_static-1.4.0
lazycell-1.3.0
libc-0.2.126
libdbus-sys-0.2.1
libloading-0.7.0
linked-hash-map-0.5.4
log-0.4.14
log-panics-2.0.0
mac-0.1.1
mac-notification-sys-0.3.0
malloc_buf-0.0.6
maplit-1.0.2
markdown-0.3.0
markup5ever-0.10.1
markup5ever_rcdom-0.1.0
matches-0.1.9
memchr-2.5.0
memmap2-0.3.1
memoffset-0.6.5
mime-0.3.16
miniz_oxide-0.4.4
mio-0.6.23
mio-0.7.13
mio-extras-2.0.6
miow-0.2.2
miow-0.3.7
mockall-0.9.1
mockall_derive-0.9.1
named_pipe-0.4.1
native-tls-0.2.8
natord-1.0.9
net2-0.2.37
new_debug_unreachable-1.0.4
nix-0.22.3
nix-0.24.2
nom-6.1.2
normalize-line-endings-0.3.0
notify-4.0.17
notify-rust-4.2.2
ntapi-0.3.6
num-integer-0.1.44
num-traits-0.2.14
num_cpus-1.13.0
objc-0.2.7
objc-foundation-0.1.1
objc_id-0.1.1
once_cell-1.8.0
opaque-debug-0.3.0
opener-0.5.0
openssl-0.10.36
openssl-probe-0.1.4
openssl-sys-0.9.66
ordered-float-2.1.1
output_vt100-0.1.2
path-slash-0.1.4
percent-encoding-2.1.0
phf-0.8.0
phf_codegen-0.8.0
phf_generator-0.8.0
phf_shared-0.8.0
pin-project-lite-0.2.7
pin-utils-0.1.0
pipeline-0.5.0
pkg-config-0.3.19
ppv-lite86-0.2.10
precomputed-hash-0.1.1
predicates-1.0.8
predicates-core-1.0.2
predicates-tree-1.0.2
pretty_assertions-0.7.2
proc-macro-hack-0.5.19
proc-macro-nested-0.1.7
proc-macro2-1.0.24
pure-rust-locales-0.5.6
quote-0.3.15
quote-1.0.9
rand-0.4.6
rand-0.7.3
rand-0.8.3
rand_chacha-0.2.2
rand_chacha-0.3.0
rand_core-0.3.1
rand_core-0.4.2
rand_core-0.5.1
rand_core-0.6.2
rand_hc-0.2.0
rand_hc-0.3.0
rand_pcg-0.2.1
rayon-1.5.3
rayon-core-1.9.3
rdrand-0.4.0
redox_syscall-0.1.57
redox_syscall-0.2.5
redox_users-0.3.5
regex-1.5.5
regex-automata-0.1.10
regex-syntax-0.6.27
remove_dir_all-0.5.3
reqwest-0.11.4
ring-0.16.20
rust-argon2-0.8.3
rustls-0.19.1
ryu-1.0.5
same-file-1.0.6
schannel-0.1.19
scoped-tls-1.0.0
scopeguard-1.1.0
sct-0.6.1
security-framework-2.3.1
security-framework-sys-2.3.0
serde-1.0.123
serde_derive-1.0.123
serde_json-1.0.62
serde_urlencoded-0.7.0
serde_yaml-0.8.17
sha2-0.9.6
simplelog-0.9.0
siphasher-0.3.6
slab-0.4.3
smallvec-1.6.1
smithay-client-toolkit-0.15.4
socket2-0.4.1
spin-0.5.2
squote-0.1.2
string_cache-0.8.1
string_cache_codegen-0.5.1
strsim-0.8.0
strum-0.8.0
strum-0.20.0
strum_macros-0.8.0
strum_macros-0.20.1
syn-0.11.11
syn-1.0.67
synom-0.11.3
sys-locale-0.1.0
sysinfo-0.24.5
tempdir-0.3.7
tempfile-3.2.0
tendril-0.4.2
termcolor-1.1.2
terminal_size-0.1.17
test-case-1.1.0
textwrap-0.11.0
thiserror-1.0.23
thiserror-impl-1.0.23
time-0.1.44
tinyvec-1.3.1
tinyvec_macros-0.1.0
tokio-1.10.1
tokio-native-tls-0.3.0
tokio-rustls-0.22.0
tokio-util-0.6.7
toml-0.5.8
tower-service-0.3.1
tracing-0.1.26
tracing-core-0.1.19
treeline-0.1.0
try-lock-0.2.3
typenum-1.14.0
unicase-2.6.0
unicode-bidi-0.3.6
unicode-normalization-0.1.19
unicode-segmentation-1.7.1
unicode-width-0.1.8
unicode-xid-0.0.4
unicode-xid-0.2.1
unindent-0.1.7
untrusted-0.7.1
url-2.2.2
utf-8-0.7.6
vcpkg-0.2.15
vec_map-0.8.2
version_check-0.9.2
wait-timeout-0.2.0
walkdir-2.3.1
want-0.3.0
wasi-0.9.0+wasi-snapshot-preview1
wasi-0.10.0+wasi-snapshot-preview1
wasm-bindgen-0.2.76
wasm-bindgen-backend-0.2.76
wasm-bindgen-futures-0.4.26
wasm-bindgen-macro-0.2.76
wasm-bindgen-macro-support-0.2.76
wasm-bindgen-shared-0.2.76
wayland-client-0.29.5
wayland-commons-0.29.5
wayland-cursor-0.29.5
wayland-protocols-0.29.5
wayland-scanner-0.29.5
wayland-sys-0.29.5
web-sys-0.3.53
webpki-0.21.4
webpki-roots-0.21.1
widestring-0.4.3
winapi-0.2.8
winapi-0.3.9
winapi-build-0.1.1
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
windows-0.3.1
windows_gen-0.3.1
windows_gen_macros-0.3.1
windows_macros-0.3.1
windows_winmd-0.3.1
windows_winmd_macros-0.3.1
winreg-0.7.0
winreg-0.9.0
winres-0.1.11
winrt-0.4.0
winrt-notification-0.2.2
winrt-notification-0.3.1
ws2_32-sys-0.2.1
xcursor-0.3.3
xml-rs-0.6.1
xml-rs-0.8.3
xml5ever-0.16.1
yaml-rust-0.4.5
zeroize-1.3.0
zip-0.5.13
"
# Needed because espanso-migrate depends on the git version of yaml-rust
declare -A GIT_CRATES=(
[yaml-rust]="https://github.com/federico-terzi/yaml-rust;454221bebabc93307bbf7aa7f556407dd3027363"
)
inherit cargo desktop fcaps linux-info systemd xdg-utils
DESCRIPTION="Cross-platform Text Expander written in Rust"
HOMEPAGE="https://espanso.org"
SRC_URI="
https://github.com/espanso/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris)
"
# 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 BSD BSD-2 Boost-1.0 CC0-1.0 GPL-3 ISC MIT MPL-2.0 Unlicense ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="wayland"
DEPEND="
acct-group/input
dev-libs/openssl
x11-libs/wxGTK
wayland? (
x11-libs/libxkbcommon[wayland]
)
!wayland? (
x11-libs/libX11
x11-libs/libXtst
x11-libs/libxkbcommon[X]
)
"
RDEPEND="${DEPEND}"
QA_FLAGS_IGNORED="usr/bin/${PN}"
pkg_setup() {
CONFIG_CHECK="~INPUT_UINPUT"
ERROR_INPUT_UINPUT="Espanso with Wayland needs the UINPUT"
ERROR_INPUT_UINPUT+=" input device driver to detect user inputs. Without it,"
ERROR_INPUT_UINPUT+=" Espanso will not work as intended"
# Now do the actual checks setup above, but only when using wayland
use wayland && linux-info_pkg_setup
}
src_configure() {
local myfeatures=(
modulo
native-tls
$(usev wayland)
)
cargo_src_configure --verbose --no-default-features
}
src_compile() {
cargo_src_compile -p "${PN}"
}
src_install() {
cargo_src_install --path "${PN}"
newicon -s 128 "espanso/src/res/linux/icon.png" "${PN}.png"
domenu "espanso/src/res/linux/${PN}.desktop"
# install the systemd-service (user level)
sed -i "s|{{{espanso_path}}}|/usr/bin/espanso|g" "espanso/src/res/linux/systemd.service" || die
systemd_newuserunit "espanso/src/res/linux/systemd.service" "${PN}.service"
}
pkg_postinst() {
# See https://espanso.org/docs/install/linux/#adding-the-required-capabilities
use wayland && fcaps cap_dac_override "usr/bin/${PN}"
xdg_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}