guru/gui-apps/espanso/espanso-2.1.8-r1.ebuild
Takuya Wakazono eb317ddb43
*/*: update for slotted Rust
guru version of this commit:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01ba4dc61965ef7658a24728841c04c9a1ce4871

Closes: https://bugs.gentoo.org/943170
Closes: https://bugs.gentoo.org/943223
Closes: 
Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
2024-11-12 22:17:16 +09:00

437 lines
8.3 KiB
Bash

# Copyright 2023-2024 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
rust_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
}