diff --git a/net-im/chatterino/Manifest b/net-im/chatterino/Manifest index 8b2644842a..95f6dafb99 100644 --- a/net-im/chatterino/Manifest +++ b/net-im/chatterino/Manifest @@ -1,4 +1,5 @@ DIST chatterino-2.5.4.tar.gz 2450730 BLAKE2B f4d94264ca12d09ec5d0c232b4c818a5f49cacc962e760fe21dfe127056c0a1bdf6981efd6ebe72aeb2249edd5bcc8f6b04048c643a658a8011f575663b12946 SHA512 daf1ff5186f64baa51099231af0f3469a30792acbfb407d11a06daa87069a62d19fdda69f7642acbe7858cd4d0355037b2577d24c9e38a5e33592160291c5d4e +DIST chatterino-2.5.5.tar.gz 2632031 BLAKE2B f054ce857c18ba220060f509bb1fca96e0404e0fecff512c70a99a538f643ca9eca892f8a9ce58f9602124cf63060a3e06711f1fd0ead8c3748af097581437d8 SHA512 242a8fb700cf9e5984ecda43dfc35044f8016152d3c3e7e3ea3575111e60aaaedaf0976c28339ba9fc0f11cd99316c6c3146ac37c95d521db7715dc36df45c70 DIST chatterino-certify-a448a3915ddac716ce76e4b8cbf0e7f4153ed1e2.tar.gz 41647 BLAKE2B 4c7c359fd22bfd7b444f9a247dee9c9d72eb197f6a9ad11e45a2772c1162fd2219a0835525219cb73a3a7384e9266e348d88364619e508f755ac6e3c9a035ad9 SHA512 557e55fe24f04b688f02e6f4dd99f4e61e5d2361c107e266ff729786e36fb8c2f43fb4c4fc8fe51578656c66b866073cf529ef3347d4226ae34ba29c1e4e320e DIST chatterino-expected-df5814711f5f9111a2515a181bde67f22f2fe716.tar.gz 58378 BLAKE2B 5a1ba0233a818f39df999bef26279468a16832b86c4fa27a7802d64e8bf9b548fab8e02dc123940620bf940cbdf14f45cf437694acba2aa9e813a82e14d6ff26 SHA512 01a93783fb5454c18e1132b2986b96b74490ba87267e3a55ea88e9085de879a61bb1bad91857cb011f130a93aae2ea8abc3755580dcd5e9c0eb4429a76196166 DIST chatterino-expected-e45e8d5f295d54efe9cace331b9e9f5efa8a84c3.tar.gz 58912 BLAKE2B 50a4226eb8cae9e01cc01a62da9deb6d034a51d2fe22642195bd4df9a63d122999645169404ef01948a29b0055a4bc92d252708f36968885b2ebf0b70c1c810a SHA512 3acdd916f03ad849c81fb4cc8da5233be6f3f9c24959ed99c854a514671716b2a9496ac820ccf99aa504a885ecb351744abb20bbace38c4ed475011cd21f899a diff --git a/net-im/chatterino/chatterino-2.5.5.ebuild b/net-im/chatterino/chatterino-2.5.5.ebuild new file mode 100644 index 0000000000..2faf01c749 --- /dev/null +++ b/net-im/chatterino/chatterino-2.5.5.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 qtkeychain spell" + +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 + libnotify? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/libnotify + ) + qtkeychain? ( dev-libs/qtkeychain:= ) + spell? ( app-text/hunspell ) +" +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 || die "Sed ccache broke !" + + # disable doxygen automagic detection + # doyxgen doc generation seems anyway broken for now + sed -i -e '/find_package(Doxygen)/d' CMakeLists.txt || die "Sed doxygen1 broke !" + sed -i -e 's/Build rapidjson documentation." ON/Build rapidjson documentation." OFF/g' \ + lib/rapidjson/CMakeLists.txt || die "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 +}