net-im/endcord: new package, add 1.3.0, 9999

Signed-off-by: dsaf <ghostyn678+git@gmail.com>
This commit is contained in:
dsaf
2026-03-15 01:14:27 -03:00
parent fe4f4e0b7f
commit 1c21e10fd2
5 changed files with 211 additions and 0 deletions

1
net-im/endcord/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST endcord-1.3.0.tar.gz 776077 BLAKE2B efd535d64d97e553ae984ce38ce537c814561a0f4f7794e4b2619abd7ff09aef80e5d950ad86e9380c63d7bf4459654a746e19e77a880cab945b28104a13fb1e SHA512 e64f941314031f29793b1ef6d6c05ebcd7e6b8c0b6efa86edc5a77879c51c38498ddc360cbc8cfde1a41e9d4e637d6674d5d60960fd38610423c1aa5b648852f

View File

@@ -0,0 +1,84 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 flag-o-matic optfeature wrapper
DESCRIPTION="Feature rich Discord TUI client"
HOMEPAGE="https://github.com/sparklost/endcord"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/sparklost/endcord.git"
else
SRC_URI="https://github.com/sparklost/endcord/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT=0
RESTRICT="strip"
BDEPEND="
>=dev-python/cython-3.2.4[${PYTHON_USEDEP}]
"
RDEPEND="
>=dev-python/discord-protos-0.0.2[${PYTHON_USEDEP}]
>=dev-python/emoji-2.15.0[${PYTHON_USEDEP}]
>=dev-python/filetype-1.2.0[${PYTHON_USEDEP}]
>=dev-python/numpy-2.4.2[${PYTHON_USEDEP}]
>=dev-python/orjson-3.11.7[${PYTHON_USEDEP}]
>=dev-python/pexpect-4.9.0[${PYTHON_USEDEP}]
>=dev-python/pycryptodome-3.23.0[${PYTHON_USEDEP}]
>=dev-python/pynacl-1.6.2[${PYTHON_USEDEP}]
>=dev-python/pysocks-1.7.1[${PYTHON_USEDEP}]
>=dev-python/python-socks-2.8.0[${PYTHON_USEDEP}]
>=dev-python/qrcode-8.2[${PYTHON_USEDEP}]
>=dev-python/soundcard-0.4.5[${PYTHON_USEDEP}]
>=dev-python/soundfile-0.13.1[${PYTHON_USEDEP}]
>=dev-python/urllib3-2.6.3[${PYTHON_USEDEP}]
>=dev-python/websocket-client-1.9.0[${PYTHON_USEDEP}]
"
PATCHES=( "${FILESDIR}/${PN}-1.3.0-flags.patch" )
python_configure_all() {
filter-lto # incorrectly links extensions
}
python_install() {
distutils-r1_python_install
python_domodule ${PN}
exeinto /usr/libexec/${PN}
doexe main.py
make_wrapper ${PN} \
"${EPYTHON} ${EPREFIX}/usr/libexec/${PN}/main.py"
}
pkg_postinst() {
optfeature "clipboard support on X11" x11-misc/xclip
optfeature "clipboard support on Wayland" gui-apps/wl-clipboard
optfeature "file dialog when uploading" \
app-misc/yazi \
gnome-extra/zenity \
kde-apps/kdialog
optfeature "spellchecking (requires aspell dictionary such as aspell-en)" \
app-text/aspell
optfeature "YouTube support" net-misc/yt-dlp
optfeature "play YouTube videos in native player (non-ASCII support)" media-video/mpv
optfeature "store token in system keyring (requires gnome-keyring running under dbus)" \
app-crypt/libsecret
}

View File

@@ -0,0 +1,85 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 flag-o-matic optfeature wrapper
DESCRIPTION="Feature rich Discord TUI client"
HOMEPAGE="https://github.com/sparklost/endcord"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/sparklost/endcord.git"
else
SRC_URI="https://github.com/sparklost/endcord/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT=0
RESTRICT="strip"
BDEPEND="
>=dev-python/cython-3.2.4[${PYTHON_USEDEP}]
"
RDEPEND="
>=dev-python/discord-protos-1.2.126[${PYTHON_USEDEP}]
>=dev-python/emoji-2.15.0[${PYTHON_USEDEP}]
>=dev-python/filetype-1.2.0[${PYTHON_USEDEP}]
>=dev-python/numpy-2.4.2[${PYTHON_USEDEP}]
>=dev-python/orjson-3.11.7[${PYTHON_USEDEP}]
>=dev-python/pycryptodome-3.23.0[${PYTHON_USEDEP}]
>=dev-python/pynacl-1.6.2[${PYTHON_USEDEP}]
>=dev-python/pysocks-1.7.1[${PYTHON_USEDEP}]
>=dev-python/python-socks-2.8.1[${PYTHON_USEDEP}]
>=dev-python/qrcode-8.2[${PYTHON_USEDEP}]
>=dev-python/soundcard-0.4.5[${PYTHON_USEDEP}]
>=dev-python/soundfile-0.13.1[${PYTHON_USEDEP}]
>=dev-python/urllib3-2.6.3[${PYTHON_USEDEP}]
>=dev-python/websocket-client-1.9.0[${PYTHON_USEDEP}]
"
PATCHES=( "${FILESDIR}/${PN}-1.3.0-flags.patch" )
DOCS=( README.md docs/ )
python_configure_all() {
filter-lto # incorrectly links extensions
}
python_install() {
distutils-r1_python_install
python_domodule ${PN}
exeinto /usr/libexec/${PN}
doexe main.py
make_wrapper ${PN} \
"${EPYTHON} ${EPREFIX}/usr/libexec/${PN}/main.py"
}
pkg_postinst() {
optfeature "clipboard support on X11" x11-misc/xclip
optfeature "clipboard support on Wayland" gui-apps/wl-clipboard
optfeature "file dialog when uploading" \
app-misc/yazi \
gnome-extra/zenity \
kde-apps/kdialog
optfeature "spellchecking (requires aspell dictionary such as aspell-en)" \
app-text/aspell
optfeature "YouTube support" net-misc/yt-dlp
optfeature "play YouTube videos in native player (non-ASCII support)" media-video/mpv
optfeature "store token in system keyring (requires gnome-keyring running under dbus)" \
app-crypt/libsecret
}

View File

@@ -0,0 +1,25 @@
strips forced unsecure flags
--- a/setup.py
+++ b/setup.py
@@ -3,18 +3,8 @@
from Cython.Build import cythonize
from setuptools import Extension, setup
-extra_compile_args = [
- "-flto",
- "-O3",
- "-ffast-math",
- "-fomit-frame-pointer",
- "-funroll-loops",
-]
-extra_link_args = [
- "-flto",
- "-O3",
- "-s",
-]
+extra_compile_args = []
+extra_link_args = []
if shutil.which("lld"):
extra_compile_args.append("-fuse-ld=lld")

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ghostyn678+git@gmail.com</email>
<name>dsaf</name>
</maintainer>
<longdescription>
Endcord is a third-party feature rich Discord client, running entirely in terminal.
It is built with Python (this doesnt mean its slow) and ncurses library, to deliver
lightweight yet feature rich experience.
</longdescription>
<upstream>
<remote-id type="github">sparklost/endcord</remote-id>
</upstream>
</pkgmetadata>