qtgmc-6ui

LOW
maintainer jogai 0 votes scanned 2026-10-22 15:35:25.555348
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: jogai <wouter@jogai.nl>
2# Design, release steps and maintenance notes: PKGBUILD.md (next to this file).
3# Generated blocks are rewritten by packaging/sync-pkgbuild.py; do not edit them by hand.
4
5pkgname=qtgmc-6ui
6pkgver=0.3.0
7pkgrel=1
8pkgdesc="QTGMC deinterlacer for archival video (VapourSynth) with a Qt6 GUI"
9arch=(x86_64)
10url="https://github.com/jogai/qtgmc-6ui"
11# BEGIN generated: licenses (packaging/sync-pkgbuild.py)
12license=('GPL-2.0-only' 'Apache-2.0' 'GPL-2.0-or-later' 'GPL-3.0-or-later' 'LGPL-2.1-only' 'LGPL-3.0-only' 'MIT' 'WTFPL')
13_extra_licenses=('zimg-1ad1895d5ff0bbe69c61243f9996aede713d1b5f.tar.gz|COPYING|resize2/zimg-COPYING'
14 'graphengine-cb5b2ce13384ec2491f0c37256ea210034799f69.tar.gz|COPYING|resize2/graphengine-COPYING'
15 'graphengine-7bb77a5c062c610e7f44df6a59155cc3ab3e452a.tar.gz|COPYING|znedi3/graphengine-COPYING'
16 'vsxx-11eb026af5517d69e1d3d6258d1b2c2040c508e7.tar.gz|COPYING.LGPLv2.1|znedi3/vsxx-COPYING.LGPLv2.1'
17 'vapoursynth-zig-344caabeae1f4168b69ea6975d6ef244583e7c63.tar.gz|LICENSE|zsmooth/vapoursynth-zig-LICENSE'
18 'adworacz-fftw-579b516e6b39a2a96200d248fc3c96d1ad7d9841.tar.gz|LICENSE|zsmooth/fftw-zig-LICENSE'
19 'fftw-3.3.11.tar.gz|COPYRIGHT|zsmooth/fftw-COPYRIGHT'
20 'vapoursynth_dfttest2_cpu-11.1.0.tar.gz|vs-dfttest2/cpu_source/vectorclass/LICENSE|dfttest2/vectorclass-LICENSE')
21# END generated: licenses
22
23# BEGIN generated: plugin-deps (packaging/sync-pkgbuild.py from packaging/plugins/plugins.json)
24_plugin_set=all
25_plugin_depends=(fftw libgcc libstdc++ glibc llvm22-libs zimg)
26_plugin_makedepends=(cmake llvm22 make meson ninja patch)
27# END generated: plugin-deps
28
29# Python-level and runtime-loaded deps namcap cannot see: see PKGBUILD.md "namcap".
30depends=(
31 python
32 vapoursynth
33 vapoursynth-plugin-bestsource
34 ffmpeg
35 pyside6
36 python-cattrs
37 python-numpy
38 python-platformdirs
39 python-psutil
40 python-rich
41 python-tomli-w
42 python-typing_extensions
43 qt6-svg
44 hicolor-icon-theme
45 bash
46 "${_plugin_depends[@]}"
47)
48makedepends=(
49 uv
50 python-build
51 python-hatchling
52 "${_plugin_makedepends[@]}"
53)
54optdepends=(
55 'kvazaar: HEVC encoder for viewing copies (not available through FFmpeg)'
56 'sox: high-quality audio resampling/dithering for viewing copies'
57)
58options=(!debug !lto) # !lto: plugin build.sh is tested without LTO (per-ISA SIMD kernels)
59
60_venv=/usr/lib/$pkgname/venv
61_srcname=$pkgname-$pkgver
62
63# QTGMC6UI_LOCAL_SRC: working-tree tarball instead of the release (packaging/local-build.sh)
64if [[ -n ${QTGMC6UI_LOCAL_SRC:-} ]]; then
65 source=("$_srcname.tar.gz::file://$QTGMC6UI_LOCAL_SRC")
66else
67 source=("$_srcname.tar.gz::$url/archive/v$pkgver.tar.gz")
68fi
69# set by sync-pkgbuild.py --project-sha256 (never updpkgsums)
70_project_sha256='b99844b32bcb6e5ac5c1ff9ad0c631f6a873a91c590e9ca280dbb5ba6cc7bbc5'
71sha256sums=("$_project_sha256")
72
73# BEGIN generated: plugin-sources (packaging/sync-pkgbuild.py from packaging/plugins/plugins.json)
74source+=('akarin-v1.5.0.tar.gz::https://github.com/Jaded-Encoding-Thaumaturgy/akarin-vapoursynth-plugin/archive/refs/tags/v1.5.0.tar.gz') # akarin
75sha256sums+=('83852c90feef47510b866b8244af035af00ea6b77118b95697eef362266fcb5b')
76noextract+=('akarin-v1.5.0.tar.gz')
77source+=('resize2-0.5.1.tar.gz::https://github.com/Jaded-Encoding-Thaumaturgy/vapoursynth-resize2/archive/refs/tags/0.5.1.tar.gz') # resize2
78sha256sums+=('54d01057818fd0794218ab43147461f803225eeea55766073b7b9aaa3093fe00')
79noextract+=('resize2-0.5.1.tar.gz')
80source+=('zimg-1ad1895d5ff0bbe69c61243f9996aede713d1b5f.tar.gz::https://github.com/sekrit-twc/zimg/archive/1ad1895d5ff0bbe69c61243f9996aede713d1b5f.tar.gz') # resize2
81sha256sums+=('264e545f54c8ed564e00ea11865b7e4391563a297dbd3935c611c24a8eee9a46')
82noextract+=('zimg-1ad1895d5ff0bbe69c61243f9996aede713d1b5f.tar.gz')
83source+=('graphengine-cb5b2ce13384ec2491f0c37256ea210034799f69.tar.gz::https://github.com/sekrit-twc/graphengine/archive/cb5b2ce13384ec2491f0c37256ea210034799f69.tar.gz') # resize2
84sha256sums+=('663bc958094280e3dabfa76a408296a51f5222f56115fd7782eae737edeaa179')
85noextract+=('graphengine-cb5b2ce13384ec2491f0c37256ea210034799f69.tar.gz')
86source+=('mvutensils-v9.tar.gz::https://github.com/myrsloik/mvutensils/archive/refs/tags/v9.tar.gz') # mvutensils
87sha256sums+=('5b4fa7dc6e6278c3bd2acd15be222e253e47c30cfa898619c2a02effd6de7dff')
88noextract+=('mvutensils-v9.tar.gz')
89source+=('znedi3-r3.3.tar.gz::https://github.com/sekrit-twc/znedi3/archive/refs/tags/r3.3.tar.gz') # znedi3
90sha256sums+=('206ac0e98f6152a7dc852e004c00c4294900deea77a6b53102e6e5d50e78f77c')
91noextract+=('znedi3-r3.3.tar.gz')
92source+=('graphengine-7bb77a5c062c610e7f44df6a59155cc3ab3e452a.tar.gz::https://github.com/sekrit-twc/graphengine/archive/7bb77a5c062c610e7f44df6a59155cc3ab3e452a.tar.gz') # znedi3
93sha256sums+=('8a73a9ee1cbb2e62e182b0501365d71969165157e8ef6308cf76e2e053e44102')
94noextract+=('graphengine-7bb77a5c062c610e7f44df6a59155cc3ab3e452a.tar.gz')
95source+=('vsxx-11eb026af5517d69e1d3d6258d1b2c2040c508e7.tar.gz::https://github.com/sekrit-twc/vsxx/archive/11eb026af5517d69e1d3d6258d1b2c2040c508e7.tar.gz') # znedi3
96sha256sums+=('2f0a453543b62386ef6050d56d12a991507d733f15aae0b5e1930ac4bcb2f0e7')
97noextract+=('vsxx-11eb026af5517d69e1d3d6258d1b2c2040c508e7.tar.gz')
98source+=('zsmooth-0.20.0.tar.gz::https://github.com/adworacz/zsmooth/archive/refs/tags/0.20.0.tar.gz') # zsmooth
99sha256sums+=('218d141fe0b0e1cac2c6a16f2d653dd2fb4ea6f0b8d0792232dbbe2107469600')
100noextract+=('zsmooth-0.20.0.tar.gz')
101source+=('vapoursynth-zig-344caabeae1f4168b69ea6975d6ef244583e7c63.tar.gz::https://github.com/dnjulek/vapoursynth-zig/archive/344caabeae1f4168b69ea6975d6ef244583e7c63.tar.gz') # zsmooth
102sha256sums+=('385dd211a8e98d0cfd78199d5e1cb93ff442558d4fec789aef247310ca974689')
103noextract+=('vapoursynth-zig-344caabeae1f4168b69ea6975d6ef244583e7c63.tar.gz')
104source+=('adworacz-fftw-579b516e6b39a2a96200d248fc3c96d1ad7d9841.tar.gz::https://github.com/adworacz/fftw/archive/579b516e6b39a2a96200d248fc3c96d1ad7d9841.tar.gz') # zsmooth
105sha256sums+=('b92b046271bacec5d2015bc6fd1e5425b23479d295dc26dfa08615c1598f28b9')
106noextract+=('adworacz-fftw-579b516e6b39a2a96200d248fc3c96d1ad7d9841.tar.gz')
107source+=('fftw-3.3.11.tar.gz::https://www.fftw.org/fftw-3.3.11.tar.gz') # zsmooth
108sha256sums+=('5630c24cdeb33b131612f7eb4b1a9934234754f9f388ff8617458d0be6f239a1')
109noextract+=('fftw-3.3.11.tar.gz')
110source+=('zig-x86_64-linux-0.16.0.tar.xz::https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz') # zsmooth
111sha256sums+=('70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00')
112noextract+=('zig-x86_64-linux-0.16.0.tar.xz')
113source+=('vapoursynth_dfttest2_cpu-11.1.0.tar.gz::https://files.pythonhosted.org/packages/13/a6/ab2b5ff13a13584fd46133711747646a525e80fea7703b1c4a4021870976/vapoursynth_dfttest2_cpu-11.1.0.tar.gz') # dfttest2
114sha256sums+=('656b91c77b097ac521de89d216be34cea94164c2c7cb51c6baad149981859c49')
115noextract+=('vapoursynth_dfttest2_cpu-11.1.0.tar.gz')
116source+=('dfttest2-11.0.0-py3-none-any.whl::https://files.pythonhosted.org/packages/cc/97/861b986073c4a44d32d045878c762f13cad76609b6bef8b336faeed688de/dfttest2-11.0.0-py3-none-any.whl') # dfttest2
117sha256sums+=('869067bb309a8ffb4f5c5b8fe6a96cca164ac59879502ef4cb029505f8b7e4cc')
118noextract+=('dfttest2-11.0.0-py3-none-any.whl')
119# END generated: plugin-sources
120
121# BEGIN generated: python (packaging/sync-pkgbuild.py from uv.lock)
122source+=('jetpytools-3.1.2-py3-none-any.whl::https://files.pythonhosted.org/packages/2f/f5/501254ac5e0c01e3755b480e9d0c96bd654c6fc408ec8adcd950da4b728d/jetpytools-3.1.2-py3-none-any.whl') # jetpytools 3.1.2
123sha256sums+=('7a7f2cfb89615269e28451b17effd9ae81c01135de70ef463093b9916a368008')
124noextract+=('jetpytools-3.1.2-py3-none-any.whl')
125source+=('vsjetpack-2.2.6-py3-none-any.whl::https://files.pythonhosted.org/packages/50/32/9359de2b97f25528a62c666f21eaf80893787db468658f3c4bcb52b5aa4f/vsjetpack-2.2.6-py3-none-any.whl') # vsjetpack 2.2.6
126sha256sums+=('5835d0a4011555ea29bbba15055fbf605d5668b8bd6832f36866ef0c56e0e335')
127noextract+=('vsjetpack-2.2.6-py3-none-any.whl')
128# END generated: python
129
130build() {
131 cd "$_srcname"
132 rm -rf "$srcdir"/{plugins-out,plugin-licenses,dist} # stale output of an earlier makepkg run
133 # Bundled native plugins (offline, from the pinned tarballs above); -jN from MAKEFLAGS.
134 local jobs=${QTGMC6UI_JOBS:-}
135 [[ -n $jobs || ! ${MAKEFLAGS:-} =~ -j[[:space:]]*([0-9]+) ]] || jobs=${BASH_REMATCH[1]}
136 QTGMC6UI_JOBS=${jobs:-$(nproc)} PYTHON=/usr/bin/python3 QTGMC6UI_LICENSE_DIR="$srcdir/plugin-licenses" \
137 bash packaging/plugins/build.sh "$_plugin_set" "$srcdir" "$srcdir/plugins-out"
138 # The application wheel.
139 python -m build --wheel --no-isolation --outdir "$srcdir/dist"
140}
141
142package() {
143 cd "$_srcname"
144 local root="$pkgdir/usr/lib/$pkgname" venv="$pkgdir$_venv"
145 local pyver
146 pyver=$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])')
147
148 install -d "$root/plugins"
149 cp -a --no-preserve=ownership "$srcdir/plugins-out/." "$root/plugins/"
150
151 # Offline venv on the versioned system python with system site-packages (Arch provides
152 # vapoursynth/PySide6/numpy): hash-pinned wheels from source=(), then the app wheel.
153 export UV_NO_CONFIG=1 UV_OFFLINE=1 UV_NO_PROGRESS=1 UV_LINK_MODE=copy \
154 UV_PYTHON_DOWNLOADS=never UV_PYTHON_PREFERENCE=only-system \
155 UV_CACHE_DIR="$srcdir/uv-cache"
156 rm -rf "$UV_CACHE_DIR" # a cache kept from an earlier makepkg run would serve a stale app wheel
157 uv venv --python "/usr/bin/python$pyver" --system-site-packages --no-project "$venv"
158 uv export --frozen --offline --no-emit-project --no-header --no-dev \
159 -o "$srcdir/requirements.txt" >/dev/null
160 uv pip install --python "$venv/bin/python" --no-deps --no-index --require-hashes \
161 --find-links "$srcdir" --no-compile -r "$srcdir/requirements.txt"
162 # Python side of the bundled plugins (plugins.json python_wheels, e.g. dfttest2).
163 local whl wheels
164 mapfile -t wheels < <(python3 -I packaging/plugins/manifest.py sources "$_plugin_set" | cut -f2 | grep '\.whl$' || true)
165 for whl in "${wheels[@]}"; do
166 uv pip install --python "$venv/bin/python" --no-deps --no-index --no-compile "$srcdir/$whl"
167 done
168 uv pip install --python "$venv/bin/python" --no-deps --no-index --no-compile \
169 "$srcdir"/dist/qtgmc_6ui-"$pkgver"-py3-none-any.whl
170
171 # ABI record for `qtgmc-6ui doctor` (loads every plugin once; fails the build if one is broken).
172 "$venv/bin/python" -I -B packaging/write-build-info.py \
173 --out "$root/build-info.json" --plugin-dir "$root/plugins" \
174 --manifest packaging/plugins/manifest.py --plugin-set "$_plugin_set" \
175 --site-packages "$venv/lib/python$pyver/site-packages" \
176 --pkgver "$pkgver" --pkgrel "$pkgrel" --march "${QTGMC6UI_MARCH:-x86-64}"
177
178 # Relocation + reproducibility clean-up. venv/bin keeps only the python symlinks (entry
179 # scripts carry $pkgdir shebangs; /usr/bin/qtgmc-6ui is the only entry point).
180 rm -rf "$venv"/{.lock,.gitignore,CACHEDIR.TAG}
181 find "$venv/bin" -mindepth 1 ! -name 'python*' -delete
182 find "$venv" -name __pycache__ -prune -exec rm -rf {} +
183 local d
184 for d in "$venv"/lib/python*/site-packages/*.dist-info; do
185 rm -f "$d"/{direct_url.json,uv_cache.json}
186 sed -i -e '/^[^,]*direct_url\.json,/d' -e '/^[^,]*uv_cache\.json,/d' \
187 -e '/^\.\.\/\.\.\/\.\.\/bin\//d' "$d/RECORD"
188 done
189 SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH:-0} "$venv/bin/python" -I -m compileall -q -f -j1 \
190 --invalidation-mode unchecked-hash -s "$pkgdir" -p / "$venv/lib"
191
192 install -Dm755 packaging/qtgmc-6ui.launcher "$pkgdir/usr/bin/qtgmc-6ui"
193 install -Dm644 packaging/qtgmc-6ui.desktop -t "$pkgdir/usr/share/applications"
194 install -Dm644 src/qtgmc_6ui/gui/resources/qtgmc-6ui.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps"
195 install -d "$pkgdir/usr/share/licenses/$pkgname"
196 cp -r --no-preserve=ownership "$srcdir/plugin-licenses/." "$pkgdir/usr/share/licenses/$pkgname/"
197 # licence texts of sub-sources (generated _extra_licenses: tarball|member|dest)
198 local entry file member dest top
199 for entry in "${_extra_licenses[@]}"; do
200 IFS='|' read -r file member dest <<<"$entry"
201 top=$(bsdtar -tf "$srcdir/$file" | head -n1 | cut -d/ -f1)
202 install -d "$(dirname "$pkgdir/usr/share/licenses/$pkgname/$dest")"
203 bsdtar -xOf "$srcdir/$file" "$top/$member" >"$pkgdir/usr/share/licenses/$pkgname/$dest"
204 chmod 644 "$pkgdir/usr/share/licenses/$pkgname/$dest"
205 done
206 local lic dist
207 for lic in "$venv"/lib/python*/site-packages/*.dist-info/licenses; do
208 dist=$(basename "$(dirname "$lic")"); dist=${dist%%-[0-9]*}
209 [[ $dist == qtgmc_6ui ]] && continue
210 ln -s "${lic#"$pkgdir"}" "$pkgdir/usr/share/licenses/$pkgname/python-$dist"
211 done
212}
213

Changes since previous scan

--- PKGBUILD @ 2026-10-13 00:23
+++ PKGBUILD @ 2026-10-22 15:35
@@ -3,7 +3,7 @@
# Generated blocks are rewritten by packaging/sync-pkgbuild.py; do not edit them by hand.
pkgname=qtgmc-6ui
-pkgver=0.2.0
+pkgver=0.3.0
pkgrel=1
pkgdesc="QTGMC deinterlacer for archival video (VapourSynth) with a Qt6 GUI"
arch=(x86_64)
@@ -23,7 +23,7 @@
# BEGIN generated: plugin-deps (packaging/sync-pkgbuild.py from packaging/plugins/plugins.json)
_plugin_set=all
_plugin_depends=(fftw libgcc libstdc++ glibc llvm22-libs zimg)
-_plugin_makedepends=(cmake llvm22 make meson ninja patch zig)
+_plugin_makedepends=(cmake llvm22 make meson ninja patch)
# END generated: plugin-deps
# Python-level and runtime-loaded deps namcap cannot see: see PKGBUILD.md "namcap".
@@ -33,9 +33,12 @@
vapoursynth-plugin-bestsource
ffmpeg
pyside6
+ python-cattrs
python-numpy
+ python-platformdirs
python-psutil
python-rich
+ python-tomli-w
python-typing_extensions
qt6-svg
hicolor-icon-theme
@@ -64,7 +67,7 @@
source=("$_srcname.tar.gz::$url/archive/v$pkgver.tar.gz")
fi
# set by sync-pkgbuild.py --project-sha256 (never updpkgsums)
-_project_sha256='0752127b533635ce32c3e74615d05afdf70eb737a1f90f7599024b757b19afb8'
+_project_sha256='b99844b32bcb6e5ac5c1ff9ad0c631f6a873a91c590e9ca280dbb5ba6cc7bbc5'
sha256sums=("$_project_sha256")
# BEGIN generated: plugin-sources (packaging/sync-pkgbuild.py from packaging/plugins/plugins.json)
@@ -104,6 +107,9 @@
source+=('fftw-3.3.11.tar.gz::https://www.fftw.org/fftw-3.3.11.tar.gz') # zsmooth
sha256sums+=('5630c24cdeb33b131612f7eb4b1a9934234754f9f388ff8617458d0be6f239a1')
noextract+=('fftw-3.3.11.tar.gz')
+source+=('zig-x86_64-linux-0.16.0.tar.xz::https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz') # zsmooth
+sha256sums+=('70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00')
+noextract+=('zig-x86_64-linux-0.16.0.tar.xz')
source+=('vapoursynth_dfttest2_cpu-11.1.0.tar.gz::https://files.pythonhosted.org/packages/13/a6/ab2b5ff13a13584fd46133711747646a525e80fea7703b1c4a4021870976/vapoursynth_dfttest2_cpu-11.1.0.tar.gz') # dfttest2
sha256sums+=('656b91c77b097ac521de89d216be34cea94164c2c7cb51c6baad149981859c49')
noextract+=('vapoursynth_dfttest2_cpu-11.1.0.tar.gz')

Scan history

Scanned at (UTC)SeverityRules
2026-10-22 15:35:25 Low 1
2026-10-13 00:23:45 Clean 2
2026-10-12 15:13:59 Low 1
2026-10-11 00:26:05 Clean 2
2026-10-10 14:14:18 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion