blob: 8ce2a34769052b176786a2f02b7dee51ed18eee0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# Maintainer: hekel <hekel at vivaldi dot net>
# Contributor: zneix <zneix@zneix.eu>
# Based off: https://aur.archlinux.org/packages/chatterino2-7tv-git
pkgname="chatterino2-7tv-native-git"
pkgver=7.5.1.r273.g0542cba
pkgrel=1
pkgdesc='A fork of Chatterino2 with built-in support for 7tv emotes. Additionally patched to use your native QT Style: https://github.com/hekel/chatterino-stuffs'
url="https://github.com/SevenTV/chatterino7"
license=('MIT')
arch=('x86_64')
depends=(
libavif
openssl
qt6-5compat
qt6-base
qt6-imageformats
qt6-svg
qtkeychain-qt6
)
makedepends=(
boost
cmake
git
ninja
)
optdepends=(
'streamlink: For piping streams to video players'
)
provides=('chatterino')
conflicts=('chatterino')
_pkgsrc="chatterino7"
source=(
"git+https://github.com/SevenTV/chatterino7"
"git+https://github.com/Chatterino/libcommuni#branch=chatterino-cmake"
"git+https://github.com/pajlada/settings"
"git+https://github.com/pajlada/signals"
"git+https://github.com/pajlada/serialize"
"git+https://github.com/Tencent/rapidjson"
"git+https://github.com/zaphoyd/websocketpp"
"git+https://github.com/arsenm/sanitizers-cmake"
"git+https://github.com/Neargye/magic_enum"
"git+https://github.com/mackron/miniaudio"
"git+https://github.com/Chatterino/crash-handler"
"https://github.com/hekel/chatterino-stuffs/raw/refs/heads/master/native-qt/nativeQT-and-StyleSheet.patch"
"https://github.com/hekel/chatterino-stuffs/raw/refs/heads/master/native-qt/fix-svg-icons.patch"
)
sha256sums=(
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'a9f19b83cec3f2ccf83249f708422b217ed1d4fa504179d92dc271aca1583aa6'
'f7694cfd67cdfdb7ef825052af4d0a09ea8043a747bbfe60692d0102b7cc42bb'
)
# We temporarily disable LTO since we get an ICE when compiling with gcc since this commit https://github.com/Chatterino/chatterino2/commit/ed20e71db4c957d3b2a8ce9350b847f4c805cb83
options=('!lto')
pkgver() {
cd "$_pkgsrc"
local _tag=$(git tag | grep -E '([0-9]+)\.([0-9]+)\.([0-9]+)' | grep -v test | sort -rV | head -1)
local _version=$(sed -E 's/^[^0-9]*//;s/-(beta)\.?/\1/' <<< "$_tag")
local _revision=$(git rev-list --count --cherry-pick $_tag...HEAD)
local _commit=$(git rev-parse --short=7 HEAD)
printf "%s.r%s.g%s" "${_version:?}" "${_revision:?}" "${_commit:?}"
}
prepare () {
cd "$_pkgsrc"
msg2 "Applying patches to use Native QT Style"
patch -p1 -i $srcdir/nativeQT-and-StyleSheet.patch || exit 1
patch -p1 -i $srcdir/fix-svg-icons.patch || exit 1
git submodule init
git config submodule.cmake/sanitizers-cmake.url "$srcdir/sanitizers-cmake"
git config submodule.lib/libcommuni.url "$srcdir/libcommuni"
git config submodule.lib/settings.url "$srcdir/settings"
git config submodule.lib/signals.url "$srcdir/signals"
git config submodule.lib/serialize.url "$srcdir/serialize"
git config submodule.lib/rapidjson.url "$srcdir/rapidjson"
git config submodule.lib/websocketpp.url "$srcdir/websocketpp"
git config submodule.lib/miniaudio.url "$srcdir/miniaudio"
git config submodule.lib/magicenum.url "$srcdir/magicenum"
git config submodule.tools/crash-handler.url "$srcdir/crash-handler"
git -c protocol.file.allow=always submodule update
}
build() {
local _cmake_options=(
-B build
-S "$_pkgsrc"
-G Ninja
-DCMAKE_BUILD_TYPE=None
-DCMAKE_INSTALL_PREFIX='/usr'
-DUSE_SYSTEM_QTKEYCHAIN=ON
-DUSE_PRECOMPILED_HEADERS=OFF
-DBUILD_WITH_QT6=ON
-DCHATTERINO_UPDATER=OFF
-Wno-dev
)
if [[ "$CXXFLAGS" == *"-flto"* ]]; then
_cmake_options+=("-DCHATTERINO_LTO=ON")
fi
cmake "${_cmake_options[@]}"
cmake --build build
}
package() {
if [ -f "build/bin/chatterino" ] && [ -x "build/bin/chatterino" ]; then
echo "Getting chatterino binary from bin folder"
install -Dm755 "build/bin/chatterino" "$pkgdir/usr/bin/chatterino"
else
echo "Getting chatterino binary from NON-BIN folder"
# System ccache is enabled, causing the binary file to not fall into the bin folder
# Temporary solution until we have figured out a way to stabilize the ccache output
install -Dm755 "build/chatterino" "$pkgdir/usr/bin/chatterino"
fi
cd "$_pkgsrc"
install -Dm644 "resources/com.chatterino.chatterino.desktop" "$pkgdir/usr/share/applications/com.chatterino.chatterino.desktop"
install -Dm644 "resources/icon.png" "$pkgdir/usr/share/pixmaps/com.chatterino.chatterino.png"
install -Dm644 "LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
}
|