yutovo
maintainer denprog
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds from source code hosted on official and plausible project repositories (GitHub, official mirrors) despite some non-whitelisted hosts; all sources are compiled locally, and skipped checksums are a quality issue but do not imply active malice or remote code execution.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds from source code hosted on official and plausible project repositories (GitHub, official mirrors) despite some non-whitelisted hosts; all sources are compiled locally, and skipped checksums are a quality issue but do not imply active malice or remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:17
"boost_1_83_0::https://archives.boost.io/release/1.83.0/source/boost_1_83_0.zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Denis Gordenin <support@yutovo.ru>
2
pkgname=yutovo
3
pkgver=1.6.2
4
pkgrel=1
5
pkgdesc="Arbitrary precision graphical WYSIWYG calculator inside a text editor"
6
arch=(x86_64)
7
url="https://yutovo.com"
8
license=(GPL-3.0-only)
9
10
depends=('hicolor-icon-theme' 'qt5-base' 'zlib' 'fontconfig' 'glibc' 'gcc-libs' 'libpng' 'gmp' 'mpfr')
11
12
makedepends=('git' 'cmake' 'base-devel' 'qt5-base' 'qt5-tools')
13
14
source=(
15
"spdlog::git+https://github.com/gabime/spdlog.git#tag=v1.15.3"
16
"yutovo-logger::git+https://github.com/denprog/yutovo-logger.git#tag=v1.0.6"
17
"boost_1_83_0::https://archives.boost.io/release/1.83.0/source/boost_1_83_0.zip"
18
"mpc::https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz"
19
"symengine::https://github.com/symengine/symengine/archive/refs/tags/v0.14.0.tar.gz"
20
"yutovo-calculator::git+https://github.com/denprog/yutovo-calculator.git#tag=v1.5.1"
21
"rapidjson::git+https://github.com/Tencent/rapidjson.git#tag=v1.1.0"
22
"yutovo-solver::git+https://github.com/denprog/yutovo-solver.git#tag=v1.2.2"
23
"mathgl-8.0.3.tar.gz::https://downloads.sourceforge.net/mathgl/mathgl-8.0.3.tar.gz"
24
"libharu::git+https://github.com/libharu/libharu.git#tag=v2.4.4"
25
"stb_image.h::https://raw.githubusercontent.com/nothings/stb/master/stb_image.h"
26
"stb_image_write.h::https://raw.githubusercontent.com/nothings/stb/master/stb_image_write.h"
27
"yutovo-editor::git+https://github.com/denprog/yutovo-editor.git#tag=v1.6.2"
28
"yutovo-library::git+https://github.com/denprog/yutovo-library.git#branch=desktop"
29
"yutovo-desktop::git+https://github.com/denprog/yutovo-desktop.git#tag=v1.6.2"
30
)
31
32
sha256sums=(
33
'SKIP'
34
'SKIP'
35
'SKIP'
36
'SKIP'
37
'SKIP'
38
'SKIP'
39
'SKIP'
40
'SKIP'
41
'SKIP'
42
'SKIP'
43
'SKIP'
44
'SKIP'
45
'SKIP'
46
'SKIP'
47
'SKIP'
48
)
49
50
prepare() {
51
mkdir -p deploy/lib
52
export YUTOVO_DEPLOY=$PWD/deploy
53
}
54
55
build() {
56
echo "Building spdlog"
57
cd spdlog
58
mkdir -p build && cd build
59
cmake -DCMAKE_BUILD_TYPE=Release -DSPDLOG_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
60
make -sj && make install
61
cd ../..
62
63
echo "Building yutovo-logger"
64
cd yutovo-logger
65
mkdir -p build && cd build
66
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
67
make -sj && make install
68
cd ../..
69
70
echo "Building boost"
71
cd boost_1_83_0
72
unset CFLAGS CXXFLAGS LDFLAGS
73
./bootstrap.sh --prefix=$YUTOVO_DEPLOY
74
./b2 headers
75
cp -r boost $YUTOVO_DEPLOY/include/
76
cd ..
77
78
echo "Building mpc"
79
cd mpc-1.3.1
80
./configure --enable-static --disable-shared --prefix=$YUTOVO_DEPLOY --libdir=$YUTOVO_DEPLOY/lib
81
make -sj && make install
82
cd ..
83
84
echo "Building symengine"
85
cd symengine-0.14.0
86
mkdir -p build && cd build
87
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_BENCHMARKS=OFF -DWITH_MPFR=True -DWITH_MPC=True -DBUILD_SHARED_LIBS=False -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
88
make -sj && make install
89
cd ../..
90
91
echo "Building yutovo-calculator"
92
cd yutovo-calculator
93
mkdir -p build && cd build
94
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
95
make -sj && make install
96
cd ../..
97
98
echo "Building rapidjson"
99
cd rapidjson
100
patch -Np1 -i "$srcdir/yutovo-desktop/setup/document.h.diff"
101
cp -r include/rapidjson "$YUTOVO_DEPLOY/include/"
102
cd ..
103
104
echo "Building yutovo-solver"
105
cd yutovo-solver
106
mkdir -p build && cd build
107
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
108
make -sj && make install
109
cd ../..
110
111
echo "Building mathgl"
112
cd mathgl-8.0.3
113
mkdir -p build && cd build
114
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR=$YUTOVO_DEPLOY -Denable-openmp=False -Denable-png=False -Denable-opengl=False -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
115
make -sj && make install
116
cd ../..
117
118
echo "Building libharu"
119
cd libharu
120
mkdir -p build && cd build
121
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
122
make -sj && make install
123
cd ../..
124
125
mkdir -p $YUTOVO_DEPLOY/../third-party/stb_image
126
cp stb_image.h $YUTOVO_DEPLOY/../third-party/stb_image/
127
cp stb_image_write.h $YUTOVO_DEPLOY/../third-party/stb_image/
128
129
echo "Building yutovo-editor"
130
cd yutovo-editor
131
mkdir -p build && cd build
132
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
133
make -sj8 && make install
134
cd ../..
135
136
echo "Building yutovo-library"
137
cd yutovo-library
138
./pack.sh
139
cd ..
140
141
echo "Building yutovo-desktop"
142
cd yutovo-desktop
143
mkdir -p build && cd build
144
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$YUTOVO_DEPLOY ..
145
make -sj8 && make install
146
cd ../..
147
}
148
149
package() {
150
echo "package"
151
mkdir -p $pkgdir/usr/bin
152
mkdir -p $pkgdir/usr/share/icons/hicolor/16x16/apps
153
mkdir -p $pkgdir/usr/share/icons/hicolor/32x32/apps
154
mkdir -p $pkgdir/usr/share/icons/hicolor/64x64/apps
155
mkdir -p $pkgdir/usr/share/icons/hicolor/256x256/apps
156
mkdir -p $pkgdir/usr/share/icons/hicolor/256x256/mimetypes
157
mkdir -p $pkgdir/usr/share/applications/
158
mkdir -p $pkgdir/usr/share/mime/packages/
159
mkdir -p $pkgdir/usr/share/metainfo/
160
mkdir -p $pkgdir/usr/share/yutovo/translations/
161
162
cp $YUTOVO_DEPLOY/bin/yutovo-desktop $pkgdir/usr/bin/
163
cp -r $srcdir/yutovo-desktop/build/src/*.qm $pkgdir/usr/share/yutovo/translations/
164
cp -r $srcdir/yutovo-library/library $pkgdir/usr/share/yutovo/
165
cp $srcdir/yutovo-desktop/setup/Arch/run.sh $pkgdir/usr/bin/yutovo
166
cp $srcdir/yutovo-desktop/setup/yutovo-16.png $pkgdir/usr/share/icons/hicolor/16x16/apps/yutovo.png
167
cp $srcdir/yutovo-desktop/setup/yutovo-32.png $pkgdir/usr/share/icons/hicolor/32x32/apps/yutovo.png
168
cp $srcdir/yutovo-desktop/setup/yutovo-64.png $pkgdir/usr/share/icons/hicolor/64x64/apps/yutovo.png
169
cp $srcdir/yutovo-desktop/src/images/mainicon.png $pkgdir/usr/share/icons/hicolor/256x256/apps/yutovo.png
170
cp $srcdir/yutovo-desktop/src/images/mainicon.png $pkgdir/usr/share/icons/hicolor/256x256/mimetypes/application-x-yut.png
171
172
chmod g-w $pkgdir/usr/bin/yutovo-desktop
173
chmod o-w $pkgdir/usr/bin/yutovo-desktop
174
chmod +x $pkgdir/usr/bin/yutovo
175
chmod -R -w $pkgdir/usr/share/yutovo/library
176
177
cp $srcdir/yutovo-desktop/setup/Arch/yutovo.desktop $pkgdir/usr/share/applications/
178
cp $srcdir/yutovo-desktop/setup/yutovo.xml $pkgdir/usr/share/mime/packages/
179
cp $srcdir/yutovo-desktop/setup/com.yutovo.yutovo.metainfo.xml $pkgdir/usr/share/metainfo/
180
}
181
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |