ltspice-17

LOW
maintainer Asempere 0 votes scanned 2026-08-25 17:30:57.868410
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 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 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-08-25 17:30:57 Low 3
2026-08-25 17:27:20 Medium 3

Report a package

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

0 / 4000
Your suggestion