ltspice-17

LOW
maintainer Asempere 0 votes scanned 2026-10-17 00:21:55.226236
View on AUR
Why flagged

Downloads LTspice64.exe from ltspice.analog.com, which is Analog Devices' own official distribution server for LTspice, so the source is plausibly legitimate; all checksums are SKIP'd (sloppy but not malicious), and the bundled local scripts are installed as wrappers without any obfuscated or exfiltrating payload visible.

Triggered rules

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 70%): Downloads LTspice64.exe from ltspice.analog.com, which is Analog Devices' own official distribution server for LTspice, so the source is plausibly legitimate; all checksums are SKIP'd (sloppy but not malicious), and the bundled local scripts are installed as wrappers without any obfuscated or exfiltrating payload visible.

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:19 "LTspice64-${pkgver}.exe::https://ltspice.analog.com/software/LTspice64.exe"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Your Name <your.email@example.com>
2# Adapted for LTspice 17 (Legacy) to run alongside newer LTspice versions
3
4pkgname=ltspice-17
5pkgver=17.1.15
6pkgrel=1
7pkgdesc="SPICE simulator, schematic capture and waveform viewer (Legacy Version 17)."
8arch=('x86_64')
9url="https://www.analog.com/en/resources/design-tools-and-calculators/ltspice-simulator.html"
10license=('LicenseRef-LTspice')
11depends=('wine')
12optdepends=('xdg-utils: for launching HTML help files')
13makedepends=('gawk' 'curl' 'icoutils' 'imagemagick' 'wine')
14
15source=("${pkgname}.sh"
16 "${pkgname}-help.sh"
17 "conv.sh"
18 "${pkgname}.desktop"
19 "LTspice64-${pkgver}.exe::https://ltspice.analog.com/software/LTspice64.exe"
20 )
21
22sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
23
24options=(!strip)
25
26prepare() {
27 cd "${srcdir}"
28 # Clean up any leftover temporary prefixes from failed builds
29 rm -rf "wine-tmp" "extracted"
30}
31
32build() {
33 cd "${srcdir}"
34
35 echo "==> Creating temporary Wine prefix to extract files..."
36 export WINEPREFIX="${srcdir}/wine-tmp"
37 export WINEARCH=win64
38 export WINEDEBUG=-all
39 export WINEDLLOVERRIDES="winemenubuilder.exe=d"
40
41 mkdir -p "$WINEPREFIX"
42
43 echo "==> Running LTspice installer (this may pop up a window briefly)..."
44 # Using /S to attempt a silent install. If a window pops up, simply click 'Accept/Install'.
45 wine "LTspice64-${pkgver}.exe" /S
46
47 # Wait for the installer and all background Wine processes to fully close
48 wineserver -w
49
50 echo "==> Locating extracted files..."
51 # The installer puts files dynamically. We find XVIIx64.exe to know exactly where it went.
52 local _exepath=$(find "$WINEPREFIX" -name "XVIIx64.exe" 2>/dev/null | head -n 1)
53 if [ -z "$_exepath" ]; then
54 echo "Error: XVIIx64.exe was not found. The installation failed."
55 exit 1
56 fi
57
58 local _installdir=$(dirname "$_exepath")
59 echo "==> Found program files in $_installdir"
60
61 # Copy them to a staging folder
62 mkdir -p "${srcdir}/extracted"
63 cp -r "$_installdir"/* "${srcdir}/extracted/"
64
65 echo "==> Extracting icon..."
66 local _exename="${srcdir}/extracted/XVIIx64.exe"
67 if [ -f "$_exename" ]; then
68 wrestool -x -t 14 "$_exename" > "${pkgname}.ico"
69 magick "${pkgname}.ico" "${pkgname}.png"
70 fi
71
72 # Tweak mixed-case hyperlinks in help docs if the folder exists
73 if [ -d "${srcdir}/extracted/LTspiceHelp" ]; then
74 cd "${srcdir}/extracted/LTspiceHelp"
75 echo "==> Adjusting help files..."
76 sh "${srcdir}/conv.sh"
77 fi
78}
79
80package(){
81 # 1. Install Desktop file and generated icon (from srcdir)
82 cd "${srcdir}"
83 if [ -f "${pkgname}.png" ]; then
84 install -Dm644 "${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
85 fi
86 install -Dm644 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
87
88 # Install wrapper scripts
89 install -Dm755 "${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
90 install -Dm755 "${pkgname}-help.sh" "${pkgdir}/usr/bin/${pkgname}-help"
91
92 # 2. Install application files (from our extracted staging folder)
93 cd "${srcdir}/extracted"
94
95 if [ -f "License.txt" ]; then
96 install -Dm644 License.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
97 fi
98
99 bin_destdir="${pkgdir}/usr/share/${pkgname}"
100 install -m755 -d "${bin_destdir}"
101
102 install -m755 *.exe "${bin_destdir}" 2>/dev/null || true
103 install -m644 *.dll "${bin_destdir}" 2>/dev/null || true
104 install -m644 *.zip "${bin_destdir}" 2>/dev/null || true
105
106 if [ -d "LTspiceHelp" ]; then
107 install -m755 -d "${pkgdir}/usr/share/doc/${pkgname}"
108 cp -r LTspiceHelp/* "${pkgdir}/usr/share/doc/${pkgname}"
109 ln -sv "/usr/share/doc/${pkgname}" "${bin_destdir}/LTspiceHelp"
110 fi
111}
112

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2
2026-10-14 00:06:47 Low 2
2026-10-13 00:23:45 Low 2
2026-10-12 00:18:51 Low 2
2026-10-11 00:26:05 Low 2
2026-10-10 00:11:52 Low 2
2026-10-09 00:05:33 Low 2
2026-10-08 00:28:03 Low 2
2026-10-07 00:21:34 Low 2
2026-10-06 00:13:36 Low 2
2026-10-05 00:08:03 Low 2
2026-10-04 00:18:08 Low 2
2026-10-03 00:23:04 Low 2
2026-10-02 00:00:32 Low 2
2026-10-01 00:02:06 Low 2
2026-09-30 00:20:07 Low 2
2026-09-29 00:07:46 Low 2
2026-09-28 00:28:32 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