# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} %global forgeurl https://github.com/SevenTV/%{name} %global uuid app.7tv.chatterino7 %global chatterino_git_commit f6e3395be5f9d9ff905057c5a10b9b1f27a0a162 %global chatterino_git_shortcommit %(c=%{chatterino_git_commit}; echo ${c:0:7}) %global tarball_version %%(echo %{version} | tr '~' '-') # Git submodules # * certify %global commit2 a448a3915ddac716ce76e4b8cbf0e7f4153ed1e2 %global shortcommit2 %(c=%{commit2}; echo ${c:0:7}) # * expected-lite %global commit3 df5814711f5f9111a2515a181bde67f22f2fe716 %global shortcommit3 %(c=%{commit3}; echo ${c:0:7}) # * libcommuni %global commit4 bb5417c451d764f57f2f1b3e1c9a81496b5521bd %global shortcommit4 %(c=%{commit4}; echo ${c:0:7}) # * lua %global commit5 1ab3208a1fceb12fca8f24ba57d6e13c5bff15e3 %global shortcommit5 %(c=%{commit5}; echo ${c:0:7}) # * magic_enum %global commit6 e55b9b54d5cf61f8e117cafb17846d7d742dd3b4 %global shortcommit6 %(c=%{commit6}; echo ${c:0:7}) # * sanitizers-cmake %global commit7 bcb1fc68616e9645ca5acea2992412606373ab04 %global shortcommit7 %(c=%{commit7}; echo ${c:0:7}) # * serialize %global commit8 75bc7b9c1054f70d0dd0486f175dea93c7733cc3 %global shortcommit8 %(c=%{commit8}; echo ${c:0:7}) # * settings %global commit9 16b3d5ba6e947e84df74e17a19121d6be8baf36b %global shortcommit9 %(c=%{commit9}; echo ${c:0:7}) # * signals %global commit10 ef0bd9978826bfb2df536c1312762bacbe0b45fa %global shortcommit10 %(c=%{commit10}; echo ${c:0:7}) # * sol2 %global commit11 2b0d2fe8ba0074e16b499940c4f3126b9c7d3471 %global shortcommit11 %(c=%{commit11}; echo ${c:0:7}) Name: chatterino7 Version: 7.5.5 %forgemeta Release: 1 Summary: Chat client for https://twitch.tv # Boost Software License (v1.0) Boost Software License 1.0 # ----------------------------------------------------------------------- # resources/licenses/boost_boost.txt # # BSD 3-clause "New" or "Revised" License # --------------------------------------- # lib/libcommuni/ # # Expat License # ------------- # lib/serialize/ # lib/signals/ # resources/ # # Mozilla Public License (v1.1) GNU General Public License (v2 or later) or GNU Lesser General Public License (v2.1 or later) # --------------------------------------------------------------------------------------------------------------------------- # lib/libcommuni/ # # zlib/libpng license Aladdin Free Public License # ----------------------------------------------- # lib/websocketpp/ # License: MIT and BSL-1.0 and BSD-3-Clause and zlib and GPL-2.0-or-later and LGPL-2.1-or-later and MPL-1.1 URL: %{forgeurl} Source0: %{forgesource} Source2: https://github.com/Chatterino/certify/archive/%{commit2}/certify-%{shortcommit2}.tar.gz Source3: https://github.com/martinmoene/expected-lite/archive/%{commit3}/expected-lite-%{shortcommit3}.tar.gz Source4: https://github.com/hemirt/libcommuni/archive/%{commit4}/libcommuni-%{shortcommit4}.tar.gz Source5: https://github.com/lua/lua/archive/%{commit5}/lua-%{shortcommit5}.tar.gz Source6: https://github.com/Neargye/magic_enum/archive/%{commit6}/magic_enum-%{shortcommit6}.tar.gz Source7: https://github.com/arsenm/sanitizers-cmake/archive/%{commit7}/sanitizers-cmake-%{shortcommit7}.tar.gz Source8: https://github.com/pajlada/serialize/archive/%{commit8}/serialize-%{shortcommit8}.tar.gz Source9: https://github.com/pajlada/settings/archive/%{commit9}/settings-%{shortcommit9}.tar.gz Source10: https://github.com/pajlada/signals/archive/%{commit10}/signals-%{shortcommit10}.tar.gz Source11: https://github.com/ThePhD/sol2/archive/%{commit11}/sol2-%{shortcommit11}.tar.gz Patch1: 0001-fix-chatterino2-conflicts.patch BuildRequires: boost-devel BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: miniaudio-devel BuildRequires: qt6-qtbase-private-devel %if 0%{?fedora} >= 44 BuildRequires: make %else BuildRequires: ninja-build %endif BuildRequires: cmake(Qt6Concurrent) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Keychain) BuildRequires: cmake(Qt6LinguistTools) BuildRequires: cmake(Qt6Multimedia) BuildRequires: cmake(Qt6Network) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(RapidJSON) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(xkbcommon) Requires: hicolor-icon-theme Requires: qt6-qtsvg Requires: qt6-qtimageformats # Current submodules patched so not possible to build with system packages # * https://github.com/Chatterino/chatterino2/issues/1444 Provides: bundled(certify) = 0~git%{shortcommit2} Provides: bundled(expected-lite) = 0.9.0~git%{shortcommit3} Provides: bundled(libcommuni) = 3.7.0~git%{shortcommit4} Provides: bundled(lua) = 5.4.7~git%{shortcommit5} Provides: bundled(magic_enum) = 0.9.5~git%{shortcommit6} Provides: bundled(sanitizers-cmake) = 0~git%{shortcommit7} Provides: bundled(serialize) = 0~git%{shortcommit8} Provides: bundled(settings) = 0~git%{shortcommit9} Provides: bundled(signals) = 0.1.0~git%{shortcommit10} Provides: bundled(sol2) = 3.5.0~git%{shortcommit11} %description Chatterino7 is a fork of Chatterino 2. Chatterino 2 is a chat client for Twitch.tv. The Chatterino 2 wiki can be found https://wiki.chatterino.com/. %prep %forgesetup %patch -p1 1 %setup -n %{name}-%{tarball_version} -q -D -T -a2 %setup -n %{name}-%{tarball_version} -q -D -T -a3 %setup -n %{name}-%{tarball_version} -q -D -T -a4 %setup -n %{name}-%{tarball_version} -q -D -T -a5 %setup -n %{name}-%{tarball_version} -q -D -T -a6 %setup -n %{name}-%{tarball_version} -q -D -T -a7 %setup -n %{name}-%{tarball_version} -q -D -T -a8 %setup -n %{name}-%{tarball_version} -q -D -T -a9 %setup -n %{name}-%{tarball_version} -q -D -T -a10 %setup -n %{name}-%{tarball_version} -q -D -T -a11 mv certify-%{commit2}/* lib/certify mv expected-lite-%{commit3}/* lib/expected-lite mv libcommuni-%{commit4}/* lib/libcommuni mv lua-%{commit5}/* lib/lua/src mv magic_enum-%{commit6}/* lib/magic_enum mv sanitizers-cmake-%{commit7}/* cmake/sanitizers-cmake mv serialize-%{commit8}/* lib/serialize mv settings-%{commit9}/* lib/settings mv signals-%{commit10}/* lib/signals mv sol2-%{commit11}/* lib/sol2 %build export GIT_COMMIT=%{chatterino_git_commit} export GIT_HASH=%{chatterino_git_shortcommit} export GIT_RELEASE=%{version} %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_WITH_QT6=ON \ -DUSE_PRECOMPILED_HEADERS=OFF \ -DUSE_SYSTEM_QTKEYCHAIN=ON \ -DBUILD_WITH_QTKEYCHAIN=ON \ -DCHATTERINO_PLUGINS=ON \ -DUSE_SYSTEM_MINIAUDIO=ON \ %{nil} %cmake_build %install %cmake_install install -Dpm 0644 resources/%{uuid}.appdata.xml \ %{buildroot}%{_metainfodir}/%{uuid}.appdata.xml install -Dpm 0644 resources/icon.png \ %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/chatterino7.png %check appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %files %license LICENSE %doc README.md BUILDING_ON_LINUX.md docs/ %{_bindir}/chatterino7 %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/*/*.png %{_metainfodir}/*.xml %changelog %autochangelog