pidgin-meshtastic-9999norayr-overlay
download
# Copyright 2025
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 toolchain-funcs
DESCRIPTION="Pidgin plugin for Meshtastic radio messaging"
HOMEPAGE="https://github.com/dadecoza/pidgin-meshtastic"
EGIT_REPO_URI="https://github.com/dadecoza/pidgin-meshtastic.git"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
RDEPEND="
dev-libs/glib:2
net-im/pidgin
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
src_prepare() {
default
sed -i \
-e '/^CFLAGS *=/d' \
-e '/^LDFLAGS *=/d' \
-e 's/^libmeshtastic.so:.*/libmeshtastic.so: $(CSRC)/' \
-e 's|$(CC).*|$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)|' \
Makefile || die
}
src_compile() {
tc-export CC PKG_CONFIG
local mycflags="$(${PKG_CONFIG} --cflags glib-2.0 purple)"
local myldflags="$(${PKG_CONFIG} --libs glib-2.0 purple)"
local csrc="meshtastic/mesh.pb.c meshtastic/telemetry.pb.c meshtastic/config.pb.c meshtastic/channel.pb.c meshtastic/xmodem.pb.c meshtastic/device_ui.pb.c meshtastic/module_config.pb.c meshtastic/admin.pb.c meshtastic/connection_status.pb.c nanopb/pb_encode.c nanopb/pb_decode.c nanopb/pb_common.c mtstrings.c meshtastic.c"
emake \
CFLAGS="${CFLAGS} ${mycflags} -Wall -Werror -fPIC -I. -Inanopb" \
LDFLAGS="${LDFLAGS} ${myldflags}" \
CSRC="${csrc}"
}
src_install() {
# Install the plugin .so file
#insinto "$(pkg-config --variable=plugindir purple)"
#doins libmeshtastic.so
#insinto "$(pkg-config --variable=plugindir purple)"
#newins -m 0755 libmeshtastic.so libmeshtastic.so
exeinto "$(pkg-config --variable=plugindir purple)"
doexe libmeshtastic.so
# Install icons
local sizes=(16 22 48)
for size in "${sizes[@]}"; do
insinto "/usr/share/pixmaps/pidgin/protocols/${size}"
doins "pixmaps/pidgin/protocols/${size}/meshtastic.png"
done
for i in {0..4}; do
insinto "/usr/share/pixmaps/pidgin/emblems/16"
doins "pixmaps/pidgin/emblems/16/meshtastic-signal-${i}.png"
done
}
pkg_postinst() {
elog "Make sure your user is in the 'dialout' group if you're using serial Meshtastic devices:"
elog " sudo usermod -aG dialout \${USER}"
elog
elog "Restart Pidgin after installing the plugin."
}