commit:     51499cbaad70610b41739252f98773b8971f6353
Author:     Fabrice Delliaux <netbox253 <AT> netc <DOT> eu>
AuthorDate: Sun Feb 22 11:08:26 2026 +0000
Commit:     Fabrice Delliaux <netbox253 <AT> netc <DOT> eu>
CommitDate: Sun Feb 22 11:38:29 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=51499cba

net-im/chatterino: add 9999 live ebuild

Changes from 2.5.4 :
--
 - added RESTRICT="mirror"
 - updated bundled dependencies
 - dropped old unused websocketpp bundled library dependency
 - added new optional app-text/hunspell dependency and its spell useflag
 - always rebuild on dev-libs/boost update
 - check for a c++23-capable compiler on pkg_pretend
 - delete automagic ccache using sed instead of FILESDIR patching
 - fix and disable doxygen automagic detection

Signed-off-by: Fabrice Delliaux <netbox253 <AT> netc.eu>

 net-im/chatterino/Manifest               |   7 ++
 net-im/chatterino/chatterino-9999.ebuild | 185 +++++++++++++++++++++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/net-im/chatterino/Manifest b/net-im/chatterino/Manifest
index 64c2e42f50..13465cb631 100644
--- a/net-im/chatterino/Manifest
+++ b/net-im/chatterino/Manifest
@@ -2,15 +2,22 @@ DIST chatterino-2.5.3.tar.gz 2325818 BLAKE2B 
d66fefa4cfab74427388a96a67e9cdc8315
 DIST chatterino-2.5.4.tar.gz 2450730 BLAKE2B 
f4d94264ca12d09ec5d0c232b4c818a5f49cacc962e760fe21dfe127056c0a1bdf6981efd6ebe72aeb2249edd5bcc8f6b04048c643a658a8011f575663b12946
 SHA512 
daf1ff5186f64baa51099231af0f3469a30792acbfb407d11a06daa87069a62d19fdda69f7642acbe7858cd4d0355037b2577d24c9e38a5e33592160291c5d4e
 DIST chatterino-certify-a448a3915ddac716ce76e4b8cbf0e7f4153ed1e2.tar.gz 41647 
BLAKE2B 
4c7c359fd22bfd7b444f9a247dee9c9d72eb197f6a9ad11e45a2772c1162fd2219a0835525219cb73a3a7384e9266e348d88364619e508f755ac6e3c9a035ad9
 SHA512 
557e55fe24f04b688f02e6f4dd99f4e61e5d2361c107e266ff729786e36fb8c2f43fb4c4fc8fe51578656c66b866073cf529ef3347d4226ae34ba29c1e4e320e
 DIST chatterino-expected-54ca18bcea8e39c41650d82268077d559c695aa5.tar.gz 58872 
BLAKE2B 
5dd7e129fe0fb6257545e2ae25bf6d12f4348809b02f1743b8dc817666ddea4a40a0e1e428c7954ed803e71c3bba9220a020b6268a8a7a03fdf96c1d023e1294
 SHA512 
bac3595001f441575e2bffe084d5bb7d650fd7aaf93ee667302729b9d065f7f42a9dce875df1c5e2c4c75cab824c1df151cba2cfa84e8a9b5b5291082bf60321
+DIST chatterino-expected-df5814711f5f9111a2515a181bde67f22f2fe716.tar.gz 58378 
BLAKE2B 
5a1ba0233a818f39df999bef26279468a16832b86c4fa27a7802d64e8bf9b548fab8e02dc123940620bf940cbdf14f45cf437694acba2aa9e813a82e14d6ff26
 SHA512 
01a93783fb5454c18e1132b2986b96b74490ba87267e3a55ea88e9085de879a61bb1bad91857cb011f130a93aae2ea8abc3755580dcd5e9c0eb4429a76196166
 DIST chatterino-expected-e45e8d5f295d54efe9cace331b9e9f5efa8a84c3.tar.gz 58912 
BLAKE2B 
50a4226eb8cae9e01cc01a62da9deb6d034a51d2fe22642195bd4df9a63d122999645169404ef01948a29b0055a4bc92d252708f36968885b2ebf0b70c1c810a
 SHA512 
3acdd916f03ad849c81fb4cc8da5233be6f3f9c24959ed99c854a514671716b2a9496ac820ccf99aa504a885ecb351744abb20bbace38c4ed475011cd21f899a
 DIST chatterino-libcommuni-2979eb96262756047a8dca47f2e509168138c0d0.tar.gz 
478038 BLAKE2B 
b3e30df15923ae153657a059502f4df3cf5a264e44990e3bc30a6cf66a643a5314b88e53645e79966ef2a51cb4feefe8fbbf16b89a2d8a687e98222af06bdd7a
 SHA512 
6718a7fda15bf8cb644a0f64c70cc06441c53c36b63f4763a7b6312ddde41e1bb8aad576a194ab732c66c0bed4efbb03321d6ecd3656ff943efa1c23df81e5f9
+DIST chatterino-libcommuni-bb5417c451d764f57f2f1b3e1c9a81496b5521bd.tar.gz 
472335 BLAKE2B 
ba4ef530679e8dbbf7a79c07c268044bee129e3ae1a1310d5f392ccf7f0b0d2c74571a7e2131f4e148866d10212bf2d8077fa4a15488313ab25e5612c4b1f441
 SHA512 
5ebedb9d70fb40bfe5396b298b3403d55121b4cbfdfae6e45a63fab66dc4f92cb2fab6e4df4478e18d6f366bbda7467c988249f577505501db6441551fcfe908
 DIST chatterino-lua-1ab3208a1fceb12fca8f24ba57d6e13c5bff15e3.tar.gz 463275 
BLAKE2B 
f4e1f852c923f20fcdecea6fe46065489659df4ab61dfbab0260eee66ea64d5d64fe593df9f61777619de386c9264208595cd2d1efe613fbe69bff1cadd78123
 SHA512 
45c65cd8c579412d2d89c3899c5a98157c66306423ecaafa31b3c386f62ef900f7832de45b8c6a2804001f7676afda1ce8785b3933830dd21515a2c49b0a1fe7
 DIST chatterino-magic-e55b9b54d5cf61f8e117cafb17846d7d742dd3b4.tar.gz 198416 
BLAKE2B 
a0cfc5aa1c45f69664d69c809d3c561a52641f9764f6e9d558a03ef1581f244b9ecf069d366bb9889db9fa3591fe2698cce2d5a3151d2217cd8c21497cf5391f
 SHA512 
466ba8e6e9122e55fb49b1a842b3f88ddc5faa5ea096df445dec1feba0c9db09748e735874b7839bf5f822f39480fa556a6bfaac0855c065df23b00ce45c5b3d
+DIST chatterino-miniaudio-347321b27c58d42567e905c715de60ad43a6cb8e.tar.gz 
4556201 BLAKE2B 
3f76f5b021719635caa2114c3294bcc1281913cbf5d0d4c59baa211cabd2fe734b5cfdfd74e9c5f75e2e6a2c27a0b73bbeb26e2b1014319da10c58d5cb69a6aa
 SHA512 
6c911686be8fe6940e6111a9d8b3895538b9d75caa2634d7ad01b5c15b40f9da3ed2172df0b7e671900cece0e7fb84d32116ec47737d96953e9c1ad8cebc38f6
 DIST chatterino-miniaudio-350784a9467a79d0fa65802132668e5afbcf3777.tar.gz 
4485119 BLAKE2B 
5667b94396c8baa93284ffd8f074181a57e045fff6f85b4316c81f30beff0cdcd7c18ddb0a0d58410252151392ce80c566876e425b533fdce9dd15e76eebc607
 SHA512 
a3030d58277fec9b9c3bd93fe32a80caf62e96d1fedec6a4b645a8ba4c6db8c8911a68e9b855ac543713afb0ccd70cfc52177dbf1e2ffaf5fabf19439b1c9fc4
+DIST chatterino-rapidjson-24b5e7a8b27f42fa16b96fc70aade9106cf7102f.tar.gz 
1116703 BLAKE2B 
b4657b1a09437d947fea754f3de492993ae1335228b17d7fd7d4542e47009d7af64d0f8fa39923865accd6e7af86165e2545372bdeb425aef5480dcc96fb111e
 SHA512 
50f8723414a6e63eadd45f97be5c44e9fff2d06216c8cc4df802f5bfc2a9416a039f2c69e9bb1882f7e756cd38a7097eea05cab76c739f45805dc41617140799
 DIST chatterino-rapidjson-d87b698d0fcc10a5f632ecbc80a9cb2a8fa094a5.tar.gz 
1057391 BLAKE2B 
37364a1e1ac33ed3b4751dd8826d9f0af237d2402c686937e185ea32819ea2e3c03bff3846ccccb3472ae4d9bf310cf5fdd7162f7daa53b12efeb49cdcd323ab
 SHA512 
1770668c954e1bfa40da3956ccf2252703d2addb058bb8c0bf579abac585262452d0e15dcfed9ac2fa358c0da305d706226fdab8310b584017aba98e4f31db4f
 DIST chatterino-serialize-17946d65a41a72b447da37df6e314cded9650c32.tar.gz 
10771 BLAKE2B 
496e2d8b742d26739e5f7dd534b29bf5f9a942ff25bf8952e936e7d0fbd737683ac825341b8986e58452774d77be147ecb3da8eab829525267fff3ec1d35eeb0
 SHA512 
2ea660b6f164b8ba5b419e8381272dca507fcab09434421915a9b4be5e95cba08e72e708f16b3b22f5e0cae6dab2ef332d0a7976c287f048710e328d9a8913be
+DIST chatterino-serialize-75bc7b9c1054f70d0dd0486f175dea93c7733cc3.tar.gz 
26269 BLAKE2B 
09b5efc0e0bf8480d214923a24b4583b1473c9dcc798bc6c3a8e85cda3c1e7b9e2f0f3acd4ace02aba93991f012ccbdb97dbd580057fa4f33a030917530c088e
 SHA512 
26652cb3796be3c9d612d8d699e8c016a6cbef1f1b8cf648a09ec2c758001a626cbf569d5cd2efe9802e1741c7fb1edc5ab86a7ce271f49ab58dea5446e1d040
+DIST chatterino-settings-16b3d5ba6e947e84df74e17a19121d6be8baf36b.tar.gz 54998 
BLAKE2B 
634900504ed2cd2117091f93b2821e18390bb6f2775d17f1c302d637682588f24d9672803c02443fc4022c82d71b9a1b893e9aafebf8569bb93857bb9f05dc30
 SHA512 
626acb6615da52817b921bd4439af5b21b1a5b464545710219c42c3a4d413cef45ca5c5331c43b1d257bf45a7c6d263fd2d39a5e76aa3b8059b80d3c591c7c84
 DIST chatterino-settings-9b5c05ee2129e9eaa641d08a49096682105c2588.tar.gz 46560 
BLAKE2B 
9c0582d284b9b5fa2e09bf142164bcef896e653e25464f100f1d58c5fbc160051aa8b17eaa54a16b70383101bf9b39572f3f357bc11f428dace42f717d6a6920
 SHA512 
d2cd762f002b253e646cbf6aca47c00ae99b578521370ad13b477e4b344af23b16409497c7e05a12b8a0e45a9908066e3b1248f4a8bd455519ff98a4f8ace0d9
 DIST chatterino-settings-c141a40d2d493646cd8f0b1e06251a828dfdfdd2.tar.gz 46237 
BLAKE2B 
2ac69e1cb50ca434e2661e2d18b9cef9c05bd65f498323458aa38e7e997525ded0a0e68c57f8096c05ce03357f43515ea40c32e6a4c2aacca145b0af763aa68b
 SHA512 
a4b495dac8e975ac2d7c8564875e324ac402af65c64f9fcc46dba4527fdaa7a53dab95c72759ec355ca73d11ac62db7ce0932db600727364a0063e8578b35e4f
 DIST chatterino-signals-d06770649a7e83db780865d09c313a876bf0f4eb.tar.gz 14543 
BLAKE2B 
973979e0470582d3bf54689beb5e2071dd130d21121ff2e80cfeb63221f78c28d7dda9177848e2dd8366c44f734d892d1aaab22238a383517109b9d4f2ce58aa
 SHA512 
5489151f2d036dc8834346f902cf740e1b1b6823d385d2bc7c5d715af6911ade9ee383c591c48bdb8bdfca70890f48e8333ee39c6319d3871239f99d34a51cc9
+DIST chatterino-signals-ef0bd9978826bfb2df536c1312762bacbe0b45fa.tar.gz 19347 
BLAKE2B 
f438242351f212742f3feab950fd59b41e32fa591fea658765bd3196d9f46b049cf22ab8d8eac73cea6f07ae8b73e3f0a6e87151d318a507589100d8c220de75
 SHA512 
2a55f25eef654445a93ab940e3707b203cb51129059b8cd81b29e225fb2322a045573728202e32d0072da2b90bed109e3d231b8a194109b5f93d7bd151826f4a
 DIST chatterino-sol2-2b0d2fe8ba0074e16b499940c4f3126b9c7d3471.tar.gz 8462516 
BLAKE2B 
5807612066114f6d70570346d4370cf86f9397bf2e161ca5d7fdba9214caca311e945a299c2c637a79edfcd2ca6d65c4ad74c78405950f2394024dbac1f256ba
 SHA512 
912a887376b79edfa1a021e88a0552db43d6b42c6c65cca43ea3bcc6f791cfeabc4b1abdfbf55a2878881bdbec4eb9dfec4498fcf33c84e70394a49dfdc21f5c
 DIST chatterino-websocketpp-f1736a8e72b910810ff6869fe20f647a62f3bc35.tar.gz 
716521 BLAKE2B 
7c414d72d4b2fc9e26a870a923b93abf252991b7131ad6af04c0f10993028d6626c4a8e1b65cd7cbc5bab8e75715c2f2316f748e9f2443a094fee3c630a5c1a7
 SHA512 
a340ee4f9e40adcdb02e784157b05c881240d4c5a3eb458761b56af4a3eebf410ae3530e3dc6fd57ce7f06174eabe3c07d30f8e2c615d7468fe3dec5cb0b113c

diff --git a/net-im/chatterino/chatterino-9999.ebuild 
b/net-im/chatterino/chatterino-9999.ebuild
new file mode 100644
index 0000000000..c5f913baa7
--- /dev/null
+++ b/net-im/chatterino/chatterino-9999.ebuild
@@ -0,0 +1,185 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Chat client for https://twitch.tv";
+HOMEPAGE="https://chatterino.com/";
+
+CERTIFY_COMMIT="a448a3915ddac716ce76e4b8cbf0e7f4153ed1e2"
+EXPECTED_COMMIT="df5814711f5f9111a2515a181bde67f22f2fe716"
+LIBCOMMUNI_COMMIT="bb5417c451d764f57f2f1b3e1c9a81496b5521bd"
+LUA_COMMIT="1ab3208a1fceb12fca8f24ba57d6e13c5bff15e3"
+MAGIC_COMMIT="e55b9b54d5cf61f8e117cafb17846d7d742dd3b4"
+MINIAUDIO_COMMIT="347321b27c58d42567e905c715de60ad43a6cb8e"
+RAPIDJSON_COMMIT="24b5e7a8b27f42fa16b96fc70aade9106cf7102f"
+SERIALIZE_COMMIT="75bc7b9c1054f70d0dd0486f175dea93c7733cc3"
+SETTINGS_COMMIT="16b3d5ba6e947e84df74e17a19121d6be8baf36b"
+SIGNALS_COMMIT="ef0bd9978826bfb2df536c1312762bacbe0b45fa"
+SOL2_COMMIT="2b0d2fe8ba0074e16b499940c4f3126b9c7d3471"
+
+SRC_URI="
+       https://github.com/Chatterino/certify/archive/${CERTIFY_COMMIT}.tar.gz
+               -> ${PN}-certify-${CERTIFY_COMMIT}.tar.gz
+       
https://github.com/nonstd-lite/expected-lite/archive/${EXPECTED_COMMIT}.tar.gz
+               -> ${PN}-expected-${EXPECTED_COMMIT}.tar.gz
+       
https://github.com/Chatterino/libcommuni/archive/${LIBCOMMUNI_COMMIT}.tar.gz
+               -> ${PN}-libcommuni-${LIBCOMMUNI_COMMIT}.tar.gz
+       https://github.com/lua/lua/archive/${LUA_COMMIT}.tar.gz
+               -> ${PN}-lua-${LUA_COMMIT}.tar.gz
+       https://github.com/Neargye/magic_enum/archive/${MAGIC_COMMIT}.tar.gz
+               -> ${PN}-magic-${MAGIC_COMMIT}.tar.gz
+       https://github.com/mackron/miniaudio/archive/${MINIAUDIO_COMMIT}.tar.gz
+               -> ${PN}-miniaudio-${MINIAUDIO_COMMIT}.tar.gz
+       https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz
+               -> ${PN}-rapidjson-${RAPIDJSON_COMMIT}.tar.gz
+       https://github.com/pajlada/serialize/archive/${SERIALIZE_COMMIT}.tar.gz
+               -> ${PN}-serialize-${SERIALIZE_COMMIT}.tar.gz
+       https://github.com/pajlada/settings/archive/${SETTINGS_COMMIT}.tar.gz
+               -> ${PN}-settings-${SETTINGS_COMMIT}.tar.gz
+       https://github.com/pajlada/signals/archive/${SIGNALS_COMMIT}.tar.gz
+               -> ${PN}-signals-${SIGNALS_COMMIT}.tar.gz
+       https://github.com/ThePhD/sol2/archive/${SOL2_COMMIT}.tar.gz
+               -> ${PN}-sol2-${SOL2_COMMIT}.tar.gz
+"
+
+if [[ "${PV}" = "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/Chatterino/chatterino2.git/";
+       EGIT_BRANCH="master"
+       EGIT_SUBMODULES=() # disable submodules
+
+       inherit git-r3
+else
+       
SRC_URI+="https://github.com/Chatterino/chatterino2/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+       S="${WORKDIR}/chatterino2-${PV}"
+
+       KEYWORDS="~amd64"
+fi
+
+inherit cmake flag-o-matic optfeature xdg
+
+LICENSE="MIT"
+# bundled dependencies
+LICENSE+=" Boost-1.0 MIT Unlicense"
+SLOT="0"
+IUSE="debug libnotify +plugins spell qtkeychain"
+
+RESTRICT="mirror"
+
+RDEPEND="
+       dev-libs/openssl:=
+       dev-qt/qt5compat:6
+       dev-qt/qtbase:6[concurrent,gui,network,widgets]
+       dev-qt/qtsvg:6
+       dev-qt/qtimageformats:6
+       spell? ( app-text/hunspell )
+       libnotify? (
+               dev-libs/glib:2
+               x11-libs/gdk-pixbuf:2
+               x11-libs/libnotify
+       )
+       qtkeychain? ( dev-libs/qtkeychain:= )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-libs/boost:=
+"
+BDEPEND="dev-qt/qttools:6[linguist]"
+
+pkg_pretend() {
+       if ! test-flag-CXX -std=c++23; then
+               eerror "${P} requires C++23-capable C++ compiler. Your current 
compiler"
+               eerror "does not seem to support -std=c++23 option. Please 
upgrade your compiler"
+               eerror "to gcc-11 or an equivalent version supporting C++23."
+               die "Currently active compiler does not support -std=c++23"
+       fi
+}
+
+if [[ "${PV}" = "9999" ]]; then
+src_unpack() {
+       local pkg
+       local -a pkgs=(
+               certify-${CERTIFY_COMMIT}
+               expected-${EXPECTED_COMMIT}
+               libcommuni-${LIBCOMMUNI_COMMIT}
+               lua-${LUA_COMMIT}
+               magic-${MAGIC_COMMIT}
+               miniaudio-${MINIAUDIO_COMMIT}
+               rapidjson-${RAPIDJSON_COMMIT}
+               serialize-${SERIALIZE_COMMIT}
+               settings-${SETTINGS_COMMIT}
+               signals-${SIGNALS_COMMIT}
+               sol2-${SOL2_COMMIT}
+       )
+
+       for pkg in "${pkgs[@]}"; do
+               unpack ${PN}-${pkg}.tar.gz
+       done
+
+       git-r3_src_unpack
+}
+fi
+
+src_prepare() {
+       local lib
+       local -a libs=(
+               certify
+               expected-lite
+               libcommuni
+               magic_enum
+               miniaudio
+               rapidjson
+               serialize
+               settings
+               signals
+               sol2
+       )
+
+       for lib in "${libs[@]}"; do
+               rmdir lib/"${lib}" || die "can't remove stubbed libdirs"
+               ln -sr ../"${lib}"-* ./lib/"${lib}" || die "failed to create 
symlink for ${lib}"
+       done
+
+       # bundled lua -- see chatterino2/pull/6495
+       rmdir lib/lua/src || die
+       ln -sr ../lua-* lib/lua/src || die
+
+       # delete ccache detection - already handled by portage
+       sed -i -e '/CCACHE_PROGRAM ccache/,+6d' CMakeLists.txt || sed "Sed 
ccache broke !"
+
+       # disable doxygen automagic detection
+       # doyxgen doc generation seems anyway broken for now
+       sed -i -e '/find_package(Doxygen)/d' CMakeLists.txt || sed "Sed 
doxygen1 broke !"
+       sed -i -e 's/Build rapidjson documentation." ON/Build rapidjson 
documentation." OFF/g' \
+               lib/rapidjson/CMakeLists.txt || sed "Sed doxygen2 broke !"
+
+       # bug 936966
+       sed 's/-Werror[^[:space:])"]*//' -i --follow-symlinks \
+               
{src,lib/{magic_enum/test,rapidjson,serialize,settings}}/CMakeLists.txt || \
+                       die "Sed Werror broke !"
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       local CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+
+       local mycmakeargs=(
+               -DUSE_SYSTEM_QTKEYCHAIN=ON
+               -DBUILD_WITH_QTKEYCHAIN=$(usex qtkeychain)
+               -DBUILD_WITH_QT6=ON
+               -DBUILD_WITH_LIBNOTIFY=$(usex libnotify)
+               -DCHATTERINO_PLUGINS=$(usex plugins)
+               -DCHATTERINO_SPELLCHECK=$(usex spell)
+               -DCHATTERINO_UPDATER=OFF
+       )
+
+       use debug || append-cxxflags -DNDEBUG
+
+       cmake_src_configure
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       optfeature "for opening streams in a local video player" 
net-misc/streamlink
+}

Reply via email to