Blame chatterino2.spec

d87f848
%global uuid com.chatterino.chatterino
0aafe01
77824e5
# Git submodules
77824e5
# * humanize
0aafe01
%global commit1         4e00a03623966723f23ca3034c1ad944009cd7be
0aafe01
%global shortcommit1    %(c=%{commit1}; echo ${c:0:7})
0aafe01
77824e5
# * libcommuni
d87f848
%global commit2         f3e7f97914d9bf1166d349a83d93a2b4f4743c39
0aafe01
%global shortcommit2    %(c=%{commit2}; echo ${c:0:7})
0aafe01
77824e5
# * settings
0aafe01
%global commit3         a5040463c01e6b0e562eab82e0decb29cab9b450
0aafe01
%global shortcommit3    %(c=%{commit3}; echo ${c:0:7})
0aafe01
77824e5
# * signals
0aafe01
%global commit4         1c38746b05d9311e73c8c8acdfdc4d36c9c551be
0aafe01
%global shortcommit4    %(c=%{commit4}; echo ${c:0:7})
0aafe01
77824e5
# * serialize
0aafe01
%global commit5         130ffc3ec722284ca454a1e70c5478a75f380144
0aafe01
%global shortcommit5    %(c=%{commit5}; echo ${c:0:7})
0aafe01
77824e5
# * rapidjson
0aafe01
%global commit6         d87b698d0fcc10a5f632ecbc80a9cb2a8fa094a5
0aafe01
%global shortcommit6    %(c=%{commit6}; echo ${c:0:7})
0aafe01
77824e5
# * websocketpp
0aafe01
%global commit7         1e0138c7ccedc6be859d28270ccd6195f235a94e
0aafe01
%global shortcommit7    %(c=%{commit7}; echo ${c:0:7})
0aafe01
d87f848
# * qtkeychain
d87f848
%global commit8         832f550da3f6655168a737d2e1b7df37272e936d
d87f848
%global shortcommit8    %(c=%{commit8}; echo ${c:0:7})
d87f848
0aafe01
Name:           chatterino2
d87f848
Version:        2.1.7
33d1324
Release:        3%{?dist}
0aafe01
Summary:        Chat client for twitch.tv
0aafe01
0aafe01
# Boost Software License (v1.0) Boost Software License 1.0
0aafe01
# -----------------------------------------------------------------------
0aafe01
# resources/licenses/boost_boost.txt
0aafe01
#
0aafe01
# BSD 2-clause "Simplified" License
0aafe01
# ---------------------------------
5d558a8
# lib/fmt/
0aafe01
#
0aafe01
# BSD 3-clause "New" or "Revised" License
0aafe01
# ---------------------------------------
0aafe01
# lib/libcommuni/
0aafe01
# lib/websocketpp/
0aafe01
#
0aafe01
# Expat License
0aafe01
# -------------
0aafe01
# lib/humanize/
0aafe01
# lib/serialize/
0aafe01
# lib/signals/
0aafe01
# lib/websocketpp/
0aafe01
# resources/
0aafe01
#
0aafe01
# Mozilla Public License (v1.1) GNU General Public License (v2 or later) or GNU Lesser General Public License (v2.1 or later)
0aafe01
# ---------------------------------------------------------------------------------------------------------------------------
0aafe01
# lib/libcommuni/
0aafe01
#
0aafe01
# zlib/libpng license Aladdin Free Public License
0aafe01
# -----------------------------------------------
0aafe01
# lib/websocketpp/
0aafe01
#
0aafe01
License:        MIT and Boost and BSD and zlib and GPLv2+ and LGPLv2+ and MPLv1.1
0aafe01
0aafe01
URL:            https://github.com/Chatterino/chatterino2
0aafe01
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
0aafe01
Source1:        https://github.com/pajlada/humanize/archive/%{commit1}/humanize-%{shortcommit1}.tar.gz
0aafe01
Source2:        https://github.com/hemirt/libcommuni/archive/%{commit2}/libcommuni-%{shortcommit2}.tar.gz
0aafe01
Source3:        https://github.com/pajlada/settings/archive/%{commit3}/settings-%{shortcommit3}.tar.gz
0aafe01
Source4:        https://github.com/pajlada/signals/archive/%{commit4}/signals-%{shortcommit4}.tar.gz
0aafe01
Source5:        https://github.com/pajlada/serialize/archive/%{commit5}/serialize-%{shortcommit5}.tar.gz
0aafe01
Source6:        https://github.com/Tencent/rapidjson/archive/%{commit6}/rapidjson-%{shortcommit6}.tar.gz
0aafe01
Source7:        https://github.com/ziocleto/websocketpp/archive/%{commit7}/websocketpp-%{shortcommit7}.tar.gz
d87f848
Source8:        https://github.com/Chatterino/qtkeychain/archive/%{commit8}/qtkeychain-%{shortcommit8}.tar.gz
0aafe01
d87f848
#BuildRequires:  ninja-build
0aafe01
BuildRequires:  boost-devel
0aafe01
BuildRequires:  cmake
0aafe01
BuildRequires:  desktop-file-utils
0aafe01
BuildRequires:  gcc-c++
0aafe01
BuildRequires:  libappstream-glib
0aafe01
BuildRequires:  libsecret-devel
0aafe01
BuildRequires:  openssl-devel
0aafe01
BuildRequires:  cmake(Qt5Core)
0aafe01
BuildRequires:  cmake(Qt5Multimedia)
0aafe01
BuildRequires:  cmake(Qt5Svg)
0aafe01
77824e5
# Modules
77824e5
# * For future, maybe
77824e5
#BuildRequires:  fmt-devel
77824e5
#BuildRequires:  libcommuni-devel
5d558a8
BuildRequires:  rapidjson-devel
77824e5
#BuildRequires:  websocketpp-devel
0aafe01
0aafe01
Requires:       hicolor-icon-theme
0aafe01
77824e5
# All submodules patched so not possible to build with system packages
77824e5
#
77824e5
# * Do note that fmt needs to be version 4 for it to work with Chatterino
77824e5
# - https://github.com/Chatterino/chatterino2/issues/1444#issuecomment-567679616
0aafe01
Provides:       bundled(fmt) = 4
0aafe01
d87f848
Provides:       bundled(humanize) = 0~git%{shortcommit1}
0aafe01
Provides:       bundled(libcommuni) = 3.5.0
d87f848
Provides:       bundled(qtkeychain) = 0.9.1~git%{shortcommit8}
d87f848
Provides:       bundled(serialize) = 0~git%{shortcommit5}
d87f848
Provides:       bundled(settings) = 0~git%{shortcommit3}
d87f848
Provides:       bundled(signals) = 0~git%{shortcommit4}
0aafe01
Provides:       bundled(websocketpp) = 0.8.1
0aafe01
0aafe01
%description
0aafe01
Chatterino 2 is the second installment of the Twitch chat client series
0aafe01
"Chatterino".
0aafe01
0aafe01
0aafe01
%prep
0aafe01
%setup -q
0aafe01
%setup -q -D -T -a1
0aafe01
%setup -q -D -T -a2
0aafe01
%setup -q -D -T -a3
0aafe01
%setup -q -D -T -a4
0aafe01
%setup -q -D -T -a5
0aafe01
%setup -q -D -T -a6
0aafe01
%setup -q -D -T -a7
d87f848
%setup -q -D -T -a8
0aafe01
0aafe01
mv humanize-%{commit1}/*    lib/humanize
0aafe01
mv libcommuni-%{commit2}/*  lib/libcommuni
0aafe01
mv settings-%{commit3}/*    lib/settings
0aafe01
mv signals-%{commit4}/*     lib/signals
0aafe01
mv serialize-%{commit5}/*   lib/serialize
0aafe01
mv rapidjson-%{commit6}/*   lib/rapidjson
0aafe01
mv websocketpp-%{commit7}/* lib/websocketpp
d87f848
mv qtkeychain-%{commit8}/*  lib/qtkeychain
0aafe01
77824e5
# Unbundling
77824e5
# * https://github.com/Chatterino/chatterino2/issues/1444
0aafe01
pushd lib/
5d558a8
rm -r   rapidjson/  \
5d558a8
        qBreakpad/  \
0aafe01
        WinToast/
0aafe01
popd
0aafe01
0aafe01
mkdir -p %{_target_platform}
0aafe01
0aafe01
0aafe01
%build
0aafe01
pushd %{_target_platform}
0aafe01
%qmake_qt5                          \
0aafe01
    PREFIX=%{buildroot}%{_prefix}   \
5d558a8
    RAPIDJSON_SYSTEM=1              \
5d558a8
    ..
0aafe01
popd
0aafe01
0aafe01
%make_build -C %{_target_platform}
0aafe01
0aafe01
0aafe01
%install
0aafe01
%make_install -C %{_target_platform}
0aafe01
install -m 0644 -Dp resources/%{uuid}.appdata.xml   \
0aafe01
    %{buildroot}%{_metainfodir}/%{uuid}.appdata.xml
0aafe01
install -m 0644 -Dp resources/icon.png              \
0aafe01
    %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/chatterino.png
0aafe01
0aafe01
0aafe01
%check
0aafe01
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
0aafe01
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
0aafe01
0aafe01
0aafe01
%files
0aafe01
%license LICENSE
0aafe01
%doc README.md BUILDING_ON_LINUX.md docs/
0aafe01
%{_bindir}/chatterino
0aafe01
%{_datadir}/applications/*.desktop
0aafe01
%{_datadir}/icons/hicolor/*/*/*.png
0aafe01
%{_metainfodir}/*.xml
0aafe01
0aafe01
0aafe01
%changelog
33d1324
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.7-3
33d1324
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
33d1324
0b0d1ea
* Sat May 30 2020 Jonathan Wakely <jwakely@redhat.com> - 2.1.7-2
0b0d1ea
- Rebuilt for Boost 1.73
0b0d1ea
d87f848
* Fri Feb 28 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 2.1.7-1
d87f848
- Update to 2.1.7
d87f848
- Add new submodule 'qtkeychain'
d87f848
- Drop patches (upstreamed now)
d87f848
- Disable LTO
d87f848
d8af68e
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.4-9
d8af68e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
d8af68e
5d558a8
* Sat Dec 21 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 2.1.4-8
5d558a8
- Build with system 'rapidjson'
5d558a8
0aafe01
* Fri Dec 13 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 2.1.4-7
0aafe01
- Initial package