magnetic-gtk-theme-fixed-git

LOW
maintainer gaougalos 0 votes scanned 2026-10-30 00:29:30.650963
View on AUR
Why flagged

The package builds a GTK theme from source using git repositories, applies local fixes, and installs them; no remote code execution or malicious payloads, but uses unverifiable sources with SKIP'd checksums and has low votes with recent upload, indicating potential maintenance or trust concerns.

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.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds a GTK theme from source using git repositories, applies local fixes, and installs them; no remote code execution or malicious payloads, but uses unverifiable sources with SKIP'd checksums and has low votes with recent upload, indicating potential maintenance or trust concerns.

PKGBUILD

1# Maintainer: gaou-piou <i dot am dot piou at gmail dot com>
2# Contributor: Mark Wagie <mark dot wagie at tutanota dot com>
3pkgname=magnetic-gtk-theme-fixed-git
4_name=magnetic-gtk-theme
5_fixes=magnetic
6pkgver=r53.g6d315e6.f7.0c09bae
7pkgrel=1
8pkgdesc="Magnetic GTK theme, with GTK 3/4 geometry fixes (window buttons, headerbars, Nautilus, Electron/Chromium titlebars)"
9arch=('any')
10url='https://github.com/vinceliuice/Magnetic-gtk-theme'
11license=('GPL-3.0-or-later')
12depends=('gnome-themes-extra' 'gtk3')
13makedepends=('git' 'sassc')
14optdepends=('gtk-engine-murrine: GTK 2 support'
15 'colloid-icon-theme: Recommended icon theme')
16provides=("${_name}")
17conflicts=("${_name}" "${_name}-git")
18options=('!strip' '!debug')
19install=magnetic-gtk-theme-fixed.install
20source=("${_name}::git+https://github.com/vinceliuice/Magnetic-gtk-theme.git")
21sha256sums=('SKIP')
22# The fixes follow the main branch of github.com/gaou-piou/gtk-theme-fixes, so a change there needs
23# no package update; pkgver() records which commit a build took. local_build=true: they come from a
24# gtk-theme-fixes/ working tree in a parent directory of this PKGBUILD instead (uncommitted changes
25# included).
26if [[ ${local_build:-} != true ]]; then
27 source+=('gtk-theme-fixes::git+https://github.com/gaou-piou/gtk-theme-fixes.git')
28 sha256sums+=('SKIP')
29fi
30
31_local_fixes() {
32 local d=$startdir
33 until [[ -d $d/gtk-theme-fixes/generic || $d == / ]]; do d=$(dirname "$d"); done
34 if [[ ! -d $d/gtk-theme-fixes/generic ]]; then
35 error "local_build: no gtk-theme-fixes/ in a parent directory of $startdir"
36 return 1
37 fi
38 printf '%s\n' "$d/gtk-theme-fixes"
39}
40
41# <theme version>.f<count>.<commit>: the commits of gtk-theme-fixes that change the files this
42# package uses (generic/ and its own directory), so other themes' fixes leave the version alone
43pkgver() {
44 local theme="$srcdir/${_name}" fixes="$srcdir/gtk-theme-fixes" v
45 if [[ ${local_build:-} == true ]]; then
46 fixes=$(_local_fixes) || return 1
47 fi
48 if v=$(git -C "$theme" describe --long --tags --abbrev=7 2>/dev/null); then
49 v=$(sed 's/\([^-]*-g\)/r\1/;s/-/./g' <<< "$v")
50 else
51 v=r$(git -C "$theme" rev-list --count HEAD).g$(git -C "$theme" rev-parse --short=7 HEAD)
52 fi
53 printf '%s.f%s.%s' "$v" "$(git -C "$fixes" rev-list --count HEAD -- generic "${_fixes}")" \
54 "$(git -C "$fixes" log -1 --format=%h --abbrev=7 HEAD -- generic "${_fixes}")"
55}
56
57prepare() {
58 local fx="$srcdir/gtk-theme-fixes"
59 if [[ ${local_build:-} == true ]]; then
60 local d
61 d=$(_local_fixes) || return 1
62 warning "local_build: fixes from $d (uncommitted changes included)"
63 rm -rf "$fx" && mkdir "$fx"
64 cp -r "$d/generic" "$d/${_fixes}" "$fx/"
65 fi
66 cd "${_name}"
67
68 local sass=src/sass
69 cp "$fx/generic/fixes-3.0.scss" "$sass/_fixes-3.0.scss"
70 cp "$fx/generic/fixes-4.0.scss" "$sass/_fixes-4.0.scss"
71 cp "$fx/${_fixes}/fixes-variables.scss" "$sass/_fixes-variables.scss"
72 cp "$fx/${_fixes}/local-fixes-4.0.scss" "$sass/_local-fixes-4.0.scss"
73 cp "$fx/${_fixes}/local-fixes-3.0.scss" "$sass/_local-fixes-3.0.scss"
74
75 # the fixes are imported near the end of each entry file, after the theme's own partials, so
76 # they see its variables
77 local f
78 for f in src/main/gtk-3.0/*.scss; do
79 sed -i "$(awk 'END { print NR - 5 }' "$f") a @import '../../sass/fixes-variables';" "$f"
80 sed -i "$(awk 'END { print NR - 1 }' "$f") a @import '../../sass/fixes-3.0';" "$f"
81 sed -i "$(awk 'END { print NR - 1 }' "$f") a @import '../../sass/local-fixes-3.0';" "$f"
82 done
83 for f in src/main/cinnamon/*.scss; do
84 sed -i "$(awk 'END { print NR - 2 }' "$f") a @import '../../sass/fixes-variables';" "$f"
85 sed -i "$(awk 'END { print NR - 0 }' "$f") a @import '../../sass/fixes-3.0';" "$f"
86 done
87 for f in src/main/gtk-4.0/*.scss; do
88 sed -i "$(awk 'END { print NR - 6 }' "$f") a @import '../../sass/fixes-variables';" "$f"
89 sed -i "$(awk 'END { print NR - 2 }' "$f") a @import '../../sass/fixes-4.0';" "$f"
90 sed -i "$(awk 'END { print NR - 2 }' "$f") a @import '../../sass/local-fixes-4.0';" "$f"
91 done
92}
93
94package() {
95 cd "${_name}"
96 install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
97 install -d "${pkgdir}/usr/share/themes"
98 # every accent, standard size, floating panel, every tweak
99 # TERM: install.sh draws a spinner with tput, which fails without one (clean chroots)
100 TERM=${TERM:-dumb} ./install.sh -t all -s standard --tweaks float all -d "${pkgdir}/usr/share/themes"
101}
102

Scan history

Scanned at (UTC)SeverityRules
2026-10-30 00:29:30 Low 2
2026-10-29 21:53:30 Low 2

Report a package

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

0 / 4000
Your suggestion