simulide2-bin

LOW
maintainer impulse 0 votes scanned 2026-08-23 13:20:29.873780
View on AUR
Why flagged

The package downloads a prebuilt binary AppImage from the project's official domain and unpacks it; while the source is not built from scratch, the binaries come from a trusted project host, and no unverified remote code execution occurs.

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 downloads a prebuilt binary AppImage from the project's official domain and unpacks it; while the source is not built from scratch, the binaries come from a trusted project host, and no unverified remote code execution occurs.

PKGBUILD

1# Maintainer: James David Clarke <james@jamesdavidclarke.com>
2
3pkgname=simulide2-bin
4# Upstream calls this "2.0.0 - Unstable" and versions the actual builds by date
5# (R260501 == 2026-05-01), so the build id is carried in the pkgver suffix.
6_build=R260501
7pkgver=2.0.0.r260501
8pkgrel=1
9pkgdesc='Real time electronic circuit simulator with PIC, AVR, Arduino and ESP32 support (SimulIDE 2 unstable series, binary release)'
10arch=('x86_64')
11url='https://simulide.com'
12license=('AGPL-3.0-or-later' 'GPL-3.0-or-later')
13# Upstream bundles Qt 5.15, KDE Frameworks and GStreamer, so only the libraries
14# that the bundle itself does not ship are listed here. The list is the
15# transitive NEEDED closure of the executable and of every bundled Qt plugin.
16depends=(
17 'alsa-lib' # libasound.so.2
18 'e2fsprogs' # libcom_err.so.2
19 'fontconfig' # libfontconfig.so.1
20 'freetype2' # libfreetype.so.6
21 'gcc-libs' # libstdc++.so.6, libgcc_s.so.1
22 'glibc'
23 'harfbuzz' # libharfbuzz.so.0
24 'libdrm' # libdrm.so.2
25 'libgpg-error' # libgpg-error.so.0
26 'libglvnd' # libGL.so.1, libEGL.so.1
27 'libice' # libICE.so.6
28 'libsm' # libSM.so.6
29 'libx11' # libX11.so.6, libX11-xcb.so.1
30 'libxcb' # libxcb.so.1
31 'mesa' # libgbm.so.1
32 'wayland' # libwayland-client.so.0
33 'zlib' # libz.so.1
34)
35provides=("simulide2=${pkgver}")
36conflicts=('simulide2')
37# The shipped binaries are prebuilt and partly non-ELF payloads (ESP32 ROM
38# images), so they must not be touched by the strip/debug machinery.
39options=('!strip' '!debug')
40source=("${pkgname}-${pkgver}.tar.gz::${url}/p/fls/SimulIDE_2-${_build}_Lin64.tar.gz"
41 'simulide2.sh'
42 'simulide2.desktop'
43 'simulide2.xml')
44sha256sums=('a4c959698d96716888feeb44d94dd9123fa4d50334ec2440eb00974166444dd6'
45 '52736a5945c779d82761659e2adcb9f4251500dc91b891becce141ec93ad1ff7'
46 'bb3ecc15eafe68996a9a7c6b8b713d11694935606edaf8e620d0c1ada6026251'
47 '665230bc782e77b39344a8e2d00dd7d1c51b26206ae87d52ce69c21824ff1555')
48
49_srcdir="SimulIDE_2-${_build}_Lin64"
50
51prepare() {
52 cd "${_srcdir}"
53
54 # Both shipped executables are AppImages. Unpacking them removes the FUSE
55 # requirement without changing behaviour: SimulIDE's AppRun is a plain
56 # symlink to usr/bin/simulide (the loader relies solely on the RUNPATH
57 # "$ORIGIN/../lib" and on usr/bin/qt.conf), and QEMU's AppRun only re-execs
58 # its own binary after resolving $0 with "readlink -f".
59 ./simulide --appimage-extract >/dev/null
60 rm -f simulide
61
62 cd data/bin
63 ./qemu-system-xtensa --appimage-extract >/dev/null
64 rm -f qemu-system-xtensa
65 mv squashfs-root qemu
66
67 # Desktop integration files of the QEMU AppDir; meaningless once unpacked.
68 rm -rf qemu/usr/share qemu/.DirIcon qemu/qemu.desktop qemu/qemu.png
69}
70
71package() {
72 cd "${_srcdir}"
73
74 install -d "${pkgdir}/opt/simulide2"
75
76 # bin/qt.conf sets Prefix=../ and Plugins=plugins and the executable's
77 # RUNPATH is "$ORIGIN/../lib", both resolved relative to bin/, so bin, lib,
78 # plugins and translations have to stay siblings of each other.
79 cp -a squashfs-root/usr/bin \
80 squashfs-root/usr/lib \
81 squashfs-root/usr/plugins \
82 squashfs-root/usr/translations \
83 "${pkgdir}/opt/simulide2/"
84
85 # SimulIDE looks these up relative to the working directory, which the
86 # /usr/bin/simulide2 wrapper sets to /opt/simulide2.
87 cp -a data examples "${pkgdir}/opt/simulide2/"
88
89 # "./data/bin/qemu-system-xtensa" is hardcoded in SimulIDE; point it at the
90 # unpacked QEMU AppDir, whose AppRun resolves its own location from $0.
91 ln -s qemu/AppRun "${pkgdir}/opt/simulide2/data/bin/qemu-system-xtensa"
92
93 find "${pkgdir}/opt/simulide2" -type d -exec chmod 755 {} +
94 find "${pkgdir}/opt/simulide2" -type f -exec chmod 644 {} +
95 find "${pkgdir}/opt/simulide2" -type f -name '*.so*' -exec chmod 755 {} +
96 chmod 755 "${pkgdir}/opt/simulide2/bin/simulide" \
97 "${pkgdir}/opt/simulide2/data/bin/qemu/AppRun" \
98 "${pkgdir}/opt/simulide2/data/bin/qemu/usr/bin/qemu-system-xtensa_exec"
99
100 install -Dm755 "${srcdir}/simulide2.sh" "${pkgdir}/usr/bin/simulide2"
101 install -Dm644 "${srcdir}/simulide2.desktop" \
102 "${pkgdir}/usr/share/applications/simulide2.desktop"
103 install -Dm644 "${srcdir}/simulide2.xml" \
104 "${pkgdir}/usr/share/mime/packages/simulide2.xml"
105 install -Dm644 squashfs-root/usr/share/icons/hicolor/256x256/apps/simulide.png \
106 "${pkgdir}/usr/share/icons/hicolor/256x256/apps/simulide2.png"
107}
108

Scan history

Scanned at (UTC)SeverityRules
2026-08-23 13:20:29 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