antscope2-git

LOW
maintainer dc0sk 0 votes scanned 2026-09-02 11:50:42.784749
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

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.

PKGBUILD

1# Maintainer: Simon Keimer <dc0sk at secure dot mailbox dot org>
2# Contributor: Helmut Stult
3pkgname=antscope2-git
4pkgver=2.0.3.r0.g0000000
5pkgrel=1
6epoch=0
7pkgdesc="Control and graphing software for RigExpert antenna and cable analyzers (AA/AA-N/AA-BT series, and third-party NanoVNA devices) - git version, tracking a patched branch pending upstream review"
8arch=('x86_64' 'i686')
9url="https://github.com/rigexpert/AntScope2"
10# AntScope2's own code is upstream's MIT LICENSE.txt. qcustomplot.cpp is
11# vendored (not a system library) and carries its own GPL-3.0-or-later
12# header, and is compiled directly into the same binary, so the binary as
13# distributed is bound by the stronger copyleft license, not just MIT.
14license=('MIT' 'GPL-3.0-or-later')
15groups=()
16depends=('qt6-base' 'qt6-serialport' 'qt6-connectivity' 'libusb')
17makedepends=('git' 'desktop-file-utils')
18checkdepends=()
19optdepends=('bluez: for Bluetooth-connected RigExpert AA-BT analyzers')
20provides=('antscope2')
21conflicts=('antscope2')
22replaces=()
23backup=()
24options=()
25install=
26changelog=
27# Tracks the tip of a maintainer's fork branch that merges two sets of
28# fixes (flickering popups/title bar, and out-of-bounds reads plus a
29# completed firmware-update fix) submitted upstream as:
30# https://github.com/rigexpert/AntScope2/pull/29
31# https://github.com/rigexpert/AntScope2/pull/30
32# Not yet merged as of packaging. Once they are, this should point back at
33# upstream rigexpert/AntScope2 directly. The versioned antscope2 package
34# pins a specific commit and applies these as patch files instead; this
35# -git package exists for people who want the fixes without waiting for a
36# repackage every time the fork branch moves.
37source=("${pkgname}::git+https://github.com/dc0sk/AntScope2.git#branch=linux-packaging"
38 "linux-fixed-system-data-path.patch"
39 "66-rigexpert.rules"
40 "antscope2.desktop")
41noextract=()
42sha256sums=('SKIP'
43 'e2e99afcc8da7c1d6ddf8c61356838489841242694c03b38fd872d76c3806db0'
44 'c51f359050265216e6728a429dfaa84c7afe498c2f6625b5709b56a79627a7c8'
45 '131a376137f36f1eb394d5bd5e1d2897bc0148b92e9d7f52d9a1d37bd967b6d4')
46validpgpkeys=()
47
48pkgver() {
49 cd "${srcdir}/${pkgname}"
50 local ver
51 ver=$(grep -m1 ANTSCOPE2VER AntScope.pro | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
52 [ -n "${ver}" ] || ver=0.0.0
53 printf "%s.r%s.g%s" "${ver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
54}
55
56prepare() {
57 cd "${srcdir}/${pkgname}"
58
59 # Settings::localDataPath()/localDataFolder() resolve every data file -
60 # cables.txt, the ITU band-plan file, saved calibrations - relative to
61 # QCoreApplication::applicationDirPath()/.., a portable-folder
62 # assumption from Windows/Mac packaging that does not hold once the
63 # binary lives in /usr/bin. The same two functions already carry a
64 # special case for Raspbian that reads/writes a fixed
65 # /usr/share/RigExpert/AntScope2 instead - exactly a distribution
66 # package's shape, just gated to one OS flavour. This patch takes that
67 # branch unconditionally on Linux; see package() below for the matching
68 # install layout. This is Linux-packaging-specific, not part of the
69 # fork branch itself (it would make no sense for the Windows/Mac builds
70 # this same source also feeds).
71 git apply -p1 "${srcdir}/linux-fixed-system-data-path.patch"
72}
73
74build() {
75 cd "${srcdir}/${pkgname}"
76 qmake6 CONFIG+=release \
77 QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
78 QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \
79 QMAKE_LFLAGS="${LDFLAGS}" \
80 AntScope.pro
81 make
82}
83
84# AntScope.pro carries no unix INSTALLS block and no test target; upstream's
85# own README still lists Linux as "to do". There is nothing to check() -
86# the binary is a GUI application whose real behaviour needs actual
87# RigExpert hardware and a display.
88
89package() {
90 cd "${srcdir}/${pkgname}"
91
92 install -Dm755 build/release/AntScope2 "${pkgdir}/usr/bin/AntScope2"
93
94 # The fixed path prepare()'s patch now sends localDataPath()/
95 # localDataFolder() to. cables.txt and itu-regions-defaults.txt are
96 # upstream's own shipped defaults. itu-regions.txt itself is a user
97 # override that loadBands() already falls back to the "-defaults" file
98 # when it is missing, as on a fresh install, so it is deliberately not
99 # shipped here. cal_open/cal_short/cal_load.s1p are what the
100 # Open/Short/Load calibration dialogs default to; upstream never
101 # creates them either, it just expects them to exist.
102 #
103 # All of this lives under a root-owned directory - unlike a per-user
104 # config directory, an ordinary user cannot write to it. Loading the
105 # shipped defaults works out of the box; saving a calibration file or a
106 # custom band plan does not unless run as root. That is a real gap
107 # against upstream's own Windows/Mac builds (writable next to the
108 # binary or under the user's profile); fixing it needs upstream to
109 # separate "read-only shipped data" from "per-user state" in its own
110 # code, which the current single data-path function does not do.
111 install -Dm644 cables.txt "${pkgdir}/usr/share/RigExpert/AntScope2/cables.txt"
112 install -Dm644 itu-regions-defaults.txt "${pkgdir}/usr/share/RigExpert/AntScope2/itu-regions-defaults.txt"
113 install -Dm644 Calibration/cal_load.s1p "${pkgdir}/usr/share/RigExpert/AntScope2/cal_load.s1p"
114 install -Dm644 Calibration/cal_open.s1p "${pkgdir}/usr/share/RigExpert/AntScope2/cal_open.s1p"
115 install -Dm644 Calibration/cal_short.s1p "${pkgdir}/usr/share/RigExpert/AntScope2/cal_short.s1p"
116
117 # No icon other than the 64x64 AntScope2.png exists anywhere in the
118 # upstream tree that isn't Windows (.ico) or Mac (.icns) specific.
119 install -Dm644 AntScope2.png "${pkgdir}/usr/share/icons/hicolor/64x64/apps/antscope2.png"
120
121 install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
122
123 install -Dm644 "${srcdir}/66-rigexpert.rules" "${pkgdir}/usr/lib/udev/rules.d/66-rigexpert.rules"
124 install -Dm644 "${srcdir}/antscope2.desktop" "${pkgdir}/usr/share/applications/antscope2.desktop"
125 desktop-file-validate "${pkgdir}/usr/share/applications/antscope2.desktop"
126}
127

Scan history

Scanned at (UTC)SeverityRules
2026-09-02 11:50:42 Low 1

Report a package

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

0 / 4000
Your suggestion