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.

348 lines
6.6 KiB

# Copyright 2017-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
adler-1.0.2
arrayref-0.3.6
arrayvec-0.5.2
atty-0.2.14
autocfg-1.1.0
base64-0.13.0
bitflags-1.3.2
block-0.1.6
bumpalo-3.11.0
bytemuck-1.12.1
calloop-0.10.1
cc-1.0.73
cfg-if-0.1.10
cfg-if-1.0.0
cgl-0.3.2
clap-3.2.21
clap_complete-3.2.5
clap_derive-3.2.18
clap_lex-0.2.4
clipboard-win-3.1.1
cmake-0.1.48
cocoa-0.24.0
cocoa-foundation-0.1.0
copypasta-0.8.1
core-foundation-0.9.3
core-foundation-sys-0.8.3
core-graphics-0.22.3
core-graphics-types-0.1.1
core-text-19.2.0
crc32fast-1.3.2
crossfont-0.5.0
cty-0.2.2
darling-0.13.4
darling_core-0.13.4
darling_macro-0.13.4
dirs-4.0.0
dirs-sys-0.3.7
dispatch-0.2.0
dlib-0.5.0
downcast-rs-1.2.0
dwrote-0.11.0
embed-resource-1.7.3
expat-sys-2.1.6
filetime-0.2.17
flate2-1.0.24
fnv-1.0.7
foreign-types-0.3.2
foreign-types-0.5.0
foreign-types-macros-0.2.2
foreign-types-shared-0.1.1
foreign-types-shared-0.3.1
freetype-rs-0.26.0
freetype-sys-0.13.1
fsevent-0.4.0
fsevent-sys-2.0.1
fuchsia-zircon-0.3.3
fuchsia-zircon-sys-0.3.3
getrandom-0.2.7
gl_generator-0.14.0
glutin-0.29.1
glutin_egl_sys-0.1.6
glutin_gles2_sys-0.1.5
glutin_glx_sys-0.1.8
glutin_wgl_sys-0.1.5
hashbrown-0.12.3
heck-0.4.0
hermit-abi-0.1.19
ident_case-1.0.1
indexmap-1.9.1
inotify-0.7.1
inotify-sys-0.1.5
instant-0.1.12
iovec-0.1.4
itoa-1.0.3
jni-sys-0.3.0
js-sys-0.3.60
kernel32-sys-0.2.2
khronos_api-3.1.0
lazy-bytes-cast-5.0.1
lazy_static-1.4.0
lazycell-1.3.0
libc-0.2.132
libloading-0.7.3
linked-hash-map-0.5.6
lock_api-0.4.8
log-0.4.17
malloc_buf-0.0.6
memchr-2.5.0
memmap2-0.5.7
memoffset-0.6.5
minimal-lexical-0.2.1
miniz_oxide-0.5.4
mio-0.6.23
mio-0.8.4
mio-anonymous-pipes-0.2.0
mio-extras-2.0.6
mio-uds-0.6.8
miow-0.2.2
miow-0.3.7
ndk-0.7.0
ndk-context-0.1.1
ndk-glue-0.7.0
ndk-macro-0.3.0
ndk-sys-0.4.0
net2-0.2.37
nix-0.24.2
nom-7.1.1
notify-4.0.17
num_enum-0.5.7
num_enum_derive-0.5.7
objc-0.2.7
objc-foundation-0.1.1
objc_id-0.1.1
once_cell-1.14.0
os_str_bytes-6.3.0
osmesa-sys-0.1.2
parking_lot-0.11.2
parking_lot-0.12.1
parking_lot_core-0.8.5
parking_lot_core-0.9.3
percent-encoding-2.2.0
pkg-config-0.3.25
png-0.17.6
proc-macro-crate-1.2.1
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro2-1.0.43
quick-xml-0.22.0
quote-1.0.21
raw-window-handle-0.4.3
raw-window-handle-0.5.0
redox_syscall-0.2.16
redox_users-0.4.3
regex-automata-0.1.10
regex-syntax-0.6.27
rustc_version-0.4.0
ryu-1.0.11
safe_arch-0.5.2
same-file-1.0.6
scoped-tls-1.0.0
scopeguard-1.1.0
sctk-adwaita-0.4.2
semver-1.0.14
serde-1.0.144
serde_derive-1.0.144
serde_json-1.0.85
serde_yaml-0.8.26
servo-fontconfig-0.5.1
servo-fontconfig-sys-5.1.0
shared_library-0.1.9
signal-hook-0.3.14
signal-hook-mio-0.2.3
signal-hook-registry-1.4.0
slab-0.4.7
slotmap-1.0.6
smallvec-1.9.0
smithay-client-toolkit-0.16.0
smithay-clipboard-0.6.6
spsc-buffer-0.1.1
strsim-0.10.0
syn-1.0.99
termcolor-1.1.3
textwrap-0.15.1
thiserror-1.0.35
thiserror-impl-1.0.35
tiny-skia-0.7.0
tiny-skia-path-0.7.0
toml-0.5.8
unicode-ident-1.0.4
unicode-width-0.1.10
utf8parse-0.2.0
vec_map-0.8.2
version_check-0.9.4
vswhom-0.1.0
vswhom-sys-0.1.1
vte-0.10.1
vte_generate_state_changes-0.1.1
walkdir-2.3.2
wasi-0.11.0+wasi-snapshot-preview1
wasm-bindgen-0.2.83
wasm-bindgen-backend-0.2.83
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
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-sys-0.36.1
windows_aarch64_msvc-0.36.1
windows_i686_gnu-0.36.1
windows_i686_msvc-0.36.1
windows_x86_64_gnu-0.36.1
windows_x86_64_msvc-0.36.1
winit-0.27.4
winreg-0.10.1
wio-0.2.2
ws2_32-sys-0.2.1
x11-clipboard-0.6.1
x11-dl-2.20.0
xcb-1.1.1
xcursor-0.3.4
xdg-2.4.1
xml-rs-0.8.4
yaml-rust-0.4.5
"
MY_PV="${PV//_rc/-rc}"
# https://bugs.gentoo.org/725962
PYTHON_COMPAT=( python3_{9..11} )
inherit bash-completion-r1 cargo desktop python-any-r1
DESCRIPTION="GPU-accelerated terminal emulator"
HOMEPAGE="https://alacritty.org"
if [ ${PV} == "9999" ] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/alacritty/alacritty"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris)"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 BSD BSD-2 CC0-1.0 FTL ISC MIT MPL-2.0 Unlicense WTFPL-2 ZLIB"
SLOT="0"
IUSE="wayland +X"
REQUIRED_USE="|| ( wayland X )"
COMMON_DEPEND="
media-libs/fontconfig:=
media-libs/freetype:2
x11-libs/libxkbcommon
X? ( x11-libs/libxcb:= )
"
DEPEND="
${COMMON_DEPEND}
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
media-libs/mesa[X?,wayland?]
sys-libs/zlib
sys-libs/ncurses:0
wayland? ( dev-libs/wayland )
X? (
x11-libs/libXcursor
x11-libs/libXi
x11-libs/libXrandr
)
"
BDEPEND="
dev-util/cmake
>=virtual/rust-1.57.0
"
QA_FLAGS_IGNORED="usr/bin/alacritty"
S="${WORKDIR}/${PN}-${MY_PV}"
src_unpack() {
if [[ "${PV}" == *9999* ]]; then
git-r3_src_unpack
cargo_live_src_unpack
else
cargo_src_unpack
fi
}
src_configure() {
local myfeatures=(
$(usex X x11 '')
$(usev wayland)
)
cargo_src_configure --no-default-features
}
src_compile() {
cd alacritty || die
cargo_src_compile
}
src_install() {
cargo_src_install --path alacritty
newman extra/alacritty.man alacritty.1
newman extra/alacritty-msg.man alacritty-msg.1
newbashcomp extra/completions/alacritty.bash alacritty
insinto /usr/share/fish/vendor_completions.d/
doins extra/completions/alacritty.fish
insinto /usr/share/zsh/site-functions
doins extra/completions/_alacritty
domenu extra/linux/Alacritty.desktop
newicon extra/logo/compat/alacritty-term.svg Alacritty.svg
insinto /usr/share/metainfo
doins extra/linux/org.alacritty.Alacritty.appdata.xml
insinto /usr/share/alacritty/scripts
doins -r scripts/*
local DOCS=(
alacritty.yml
CHANGELOG.md INSTALL.md README.md
docs/{ansicode.txt,escape_support.md,features.md}
)
einstalldocs
}
src_test() {
cd alacritty || die
cargo_src_test
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
einfo "Configuration files for ${CATEGORY}/${PN}"
einfo "in \$HOME often need to be updated after a version change"
einfo ""
einfo "An up-to-date sample configuration file always can be found at"
einfo "${ROOT}/usr/share/doc/${PF}/alacritty.yml.*"
fi
}