Files
guru/www-plugins/tridactyl-native/tridactyl-native-0.5.0.ebuild
ingenarel (NeoJesus) 885fb8257f www-plugins/tridactyl-native: new package, add 0.5.0
edited slightly from the original PR by breaking up line 9 which was 120
chars

Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
Part-of: https://github.com/gentoo/guru/pull/440
Closes: https://github.com/gentoo/guru/pull/440
2026-02-27 01:35:12 +06:00

60 lines
1.6 KiB
Bash

# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit nim-utils
# inherit nimble
# simply isn't working for this package's use case
# need to probably rewrite another whole nimble eclass sooner or later
# also the eclass uses nimbus instead of the official nim package manager nimble
DESCRIPTION="Native messenger for Tridactyl, a vim-like web-extension"
HOMEPAGE="https://github.com/tridactyl/native_messenger"
SRC_URI="
https://github.com/tridactyl/native_messenger/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/ingenarel/guru-depfiles/releases/download/${P}-deps.tar.xz/${P}-deps.tar.xz
"
# use these commands to generate the deps
# nimble build --localdeps
# find nimbledeps -exec file --mime-type {} \; |
# sed -nE 's/^(.+): (text\/\S+|application\/json)$/\1/p' |
# xargs tar --create --verbose --file nimbledeps.tar.xz
S="${WORKDIR}/native_messenger-${PV}"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="dev-lang/nim"
src_configure(){
nim_gen_config
}
src_compile() {
nimble\
--verbose\
--offline\
--localDeps\
--nimbleDir:"${WORKDIR}/nimbledeps"\
--useSystemNim\
build ||
die "build failed!"
}
src_install() {
exeinto /usr/libexec/tridactyl
doexe native_main
sed -i -e "s|REPLACE_ME_WITH_SED|${EPREFIX}/usr/libexec/tridactyl/native_main|" ./tridactyl.json ||
die "trying to sed installation path in tridactyl.json failed!"
local target_dirs=( /usr/{lib,$(get_libdir)}/mozilla/native-messaging-hosts )
local target_dir
for target_dir in "${target_dirs[@]}"; do
insinto "${target_dir}"
doins tridactyl.json
done
}