gowin-eda-edu-programmer
maintainer Sich
· 3 votes
· base
gowin-eda-edu
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt EDA toolchain from a CDN hosted by the vendor's own domain (gowinsemi.com.cn), which is plausibly the official source; despite the non-whitelisted host flag, this is a normal distribution method for proprietary software, and the content is not obfuscated or executed remotely.
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 downloads a prebuilt EDA toolchain from a CDN hosted by the vendor's own domain (gowinsemi.com.cn), which is plausibly the official source; despite the non-whitelisted host flag, this is a normal distribution method for proprietary software, and the content is not obfuscated or executed remotely.
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:11
source=("https://cdn.gowinsemi.com.cn/Gowin_V${pkgver/_/-}_Education_Linux.tar.gz"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: insmtr <insmtr@insmtr.cn>
2
# Contributor: yjun <jerrysteve1101 at gmail dot com>
3
4
pkgbase=gowin-eda-edu
5
pkgver=1.9.11.03
6
pkgrel=2
7
_desc="Gowin EDA, an easy to use integrated design environment provides design engineers one-stop solution from design entry to verification. (education version)"
8
arch=('x86_64')
9
url="https://www.gowinsemi.com.cn/software/index"
10
license=('unknown')
11
source=("https://cdn.gowinsemi.com.cn/Gowin_V${pkgver/_/-}_Education_Linux.tar.gz"
12
"${pkgbase}.png"
13
"${pkgbase}-ide-project.xml"
14
"${pkgbase}-ide.desktop"
15
"${pkgbase}-programmer.desktop")
16
sha256sums=('6fd392f7473b24d847b6f8ebdc7a185c591826ba35d8d0e517961030d446f9f7'
17
'346991b57db67aa4a8373ad09fd221e310c87ac7a6c90313cad7b48f7e6934ab'
18
'a95d18239e9ecb6b3f712fa569601e964624ef4ccb39ca85e56dfafa74b573d2'
19
'82129f4242517363cef22d4bc29937a125e843e9b9c521efb4bd85203ff385f5'
20
'944c36f51500899fdd35722c329cf4c67a677419db0e0860f3f5c9518a43de6f')
21
22
_install() {
23
find ${@: 2} -type f -exec install -Dm$1 {} ${pkgdir}/opt/${pkgname}/{} \;
24
}
25
26
_install_exec() {
27
# executable softlink
28
install -dm 755 ${pkgdir}/usr/bin/
29
for _exec in $@
30
do
31
ln -sf /opt/${pkgname}/bin/${_exec} ${pkgdir}/usr/bin/${_exec}
32
done
33
}
34
35
_package-ide() {
36
pkgdesc="Gowin EDA IDE - ${_desc}"
37
depends=('fontconfig' 'freetype2')
38
optdepends=('openfpgaloader: open source fpga programmer, as a replacement to Gowin Programmer')
39
provides=("gowin-eda-ide" "gowin-ide")
40
41
cd ${srcdir}/IDE
42
43
_install 644 doc/
44
_install 644 lib/
45
_install 644 data/
46
_install 644 share/
47
_install 644 simlib/
48
_install 644 ipcore/
49
_install 644 plugins/
50
_install 644 bin/vhdl_packages
51
_install 644 bin/prim_syns
52
_install 644 bin/eye_mon_task_gen.dist
53
_install 644 bin/serdes_toml_to_csr.dist
54
_install 644 bin/ssc_task_gen.dist
55
_install 644 bin/resources
56
_install 644 bin/translations
57
_install 755 bin/ -maxdepth 1
58
59
chmod 644 ${pkgdir}/opt/${pkgname}/bin/prim{itive.xml,_syn.vhd,_syn.v}
60
chmod 644 ${pkgdir}/opt/${pkgname}/bin/qt.conf
61
chmod 644 ${pkgdir}/opt/${pkgname}/bin/programmer.json
62
63
# desktop entry
64
install -Dm644 ${srcdir}/${pkgname}.desktop -t ${pkgdir}/usr/share/applications
65
66
#icon
67
install -Dm644 ${srcdir}/${pkgbase}.png ${pkgdir}/usr/share/pixmaps/${pkgname}.png
68
69
_install_exec gw_sh gw_ide
70
71
# fix ide launch error
72
# libfreetype.so.6 from Gowin EDA ide could cause error when launch the IDE:
73
# /opt/gowin-eda-edu-ide/bin/gw_ide: symbol lookup error: /usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
74
#
75
# https://bbs.archlinux.org/viewtopic.php?id=251445
76
# https://mathematica.stackexchange.com/questions/189306/cant-launch-mathematica-11-on-fedora-29
77
rm -f ${pkgdir}/opt/${pkgname}/lib/libfreetype.so.6
78
79
# HACK: fix IDE hardcode path of Programmer
80
sed -i 's|../../Programmer|..////Programmer|g' ${pkgdir}/opt/${pkgname}/bin/gao_{sh,analyzer}
81
sed -i 's|../../Programmer|..////Programmer|g' ${pkgdir}/opt/${pkgname}/bin/gvio_{sh,analyzer}
82
sed -i 's|../../Programmer|..////Programmer|g' ${pkgdir}/opt/${pkgname}/bin/gw_goeye
83
sed -i 's|../../Programmer|..////Programmer|g' ${pkgdir}/opt/${pkgname}/plugins/ide/lib{StartPage,FpgaPrj}.so
84
ln -s /opt/${pkgbase}-programmer ${pkgdir}/opt/${pkgname}/Programmer
85
86
# MimeType association
87
install -Dm644 ${srcdir}/${pkgbase}-ide-project.xml -t ${pkgdir}/usr/share/mime/packages/
88
}
89
90
_package-programmer() {
91
pkgdesc="Gowin EDA Programmer - ${_desc}"
92
# depends=('fontconfig' 'freetype2')
93
provides=("gowin-eda-programmer" "gowin-programmer")
94
options=('emptydirs')
95
96
cd ${srcdir}/Programmer
97
98
# _install 644 doc/
99
_install 644 bin/PyQt5
100
_install 644 bin/data
101
_install 644 bin/Crypto -path '*/__pycache__' -prune -o
102
_install 644 bin/tools
103
_install 644 bin/ -maxdepth 1 -not -name 'python34.zip'
104
105
_install_exec programmer programmer_cli
106
107
# empty dir
108
install -dm755 ${pkgdir}/opt/${pkgname}/bin/data/output
109
install -dm755 ${pkgdir}/opt/${pkgname}/bin/data/lang
110
install -dm755 ${pkgdir}/opt/${pkgname}/bin/data/devices
111
112
# desktop entry
113
install -Dm644 ${srcdir}/${pkgname}.desktop -t ${pkgdir}/usr/share/applications
114
115
#icon
116
install -Dm644 ${srcdir}/${pkgbase}.png ${pkgdir}/usr/share/pixmaps/${pkgname}.png
117
118
chmod 755 ${pkgdir}/opt/${pkgname}/bin/programmer{,_cli}
119
chmod 755 ${pkgdir}/opt/${pkgname}/bin/jtagserver{,_lpt}
120
chmod 755 ${pkgdir}/opt/${pkgname}/bin/JTAGLoading
121
}
122
123
pkgname=("${pkgbase}-ide" "${pkgbase}-programmer")
124
for _p in ${pkgname[@]}; do
125
eval "package_${_p}() {
126
$(declare -f "_package${_p#$pkgbase}")
127
_package${_p#${pkgbase}}
128
}"
129
done
130
# vim: set sw=2 ts=2 et:
131
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 |