lightway-core

maintainer dbermond · 2 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from official sources (GitHub, ruby-lang.org) and installs a Ruby gem (ceedling) locally for build purposes only; the gem is a known testing framework and not executed at runtime, posing minimal risk.

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 builds from official sources (GitHub, ruby-lang.org) and installs a Ruby gem (ceedling) locally for build purposes only; the gem is a known testing framework and not executed at runtime, posing minimal risk.

  • PKGBUILD:45 gem install --no-user-install --install-dir "$_ruby_root" ceedling -v "$_ceedling_ver"
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:45 gem install --no-user-install --install-dir "$_ruby_root" ceedling -v "$_ceedling_ver"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Daniel Bermond <dbermond@archlinux.org>
2
3pkgbase=lightway-core
4pkgname=('lightway-core' 'lightway-core-doc')
5pkgver=1.17.17
6pkgrel=1
7_ruby_ver=3.1.7
8_ceedling_ver=0.31.1
9pkgdesc='A VPN protocol by ExpressVPN'
10arch=('x86_64')
11url='https://www.expressvpn.com/lightway/'
12license=('GPL-2.0-or-later')
13makedepends=('cmake' 'doxygen' 'gcc14' 'git' 'graphviz')
14source=("https://github.com/expressvpn/lightway-core/archive/v${pkgver}/${pkgbase}-${pkgver}.tar.gz"
15 'git+https://github.com/wolfSSL/wolfssl.git'
16 "https://cache.ruby-lang.org/pub/ruby/${_ruby_ver%.*}/ruby-${_ruby_ver}.tar.xz"
17 '010-lightway-core-disable-werror-on-wolfssl.patch')
18sha256sums=('56c2643f74a4a0d2e0b6859af1209f6a7d2a6b27659a067ad8160d11ecc26596'
19 'SKIP'
20 '658acc455b6bda87ac6cc1380e86552b9c1af87055e7a127589c5bf7ed80b035'
21 'fd82affc9e605a7963e5b4908d8decc877980ac007f9ba5aabeccf9019cf5727')
22
23prepare() {
24 local _wolfssl_tag
25 _wolfssl_tag="$(awk '/HE_WOLFSSL_TAG/ { print $3 }' "${pkgbase}-${pkgver}/3rd_party_deps.yml")"
26 git -C wolfssl config --local advice.detachedHead false
27 git -C wolfssl checkout --quiet "$_wolfssl_tag"
28
29 patch -d wolfssl -Np1 -i "${srcdir}/010-lightway-core-disable-werror-on-wolfssl.patch"
30
31 mkdir -p "${pkgbase}-${pkgver}/third_party"
32 cp -af wolfssl "${pkgbase}-${pkgver}/third_party"
33}
34
35build() {
36 local _ruby_root="${srcdir}/ruby/${_ruby_ver}"
37 export GEM_HOME="$_ruby_root"
38 export GEM_PATH="$_ruby_root"
39 export PATH="${_ruby_root}/bin${PATH:+":${PATH}"}"
40 cd "ruby-${_ruby_ver}"
41 # 'gem install' core dumps when built with gcc 15
42 CC='gcc-14' \
43 ./configure --prefix="$_ruby_root" --enable-shared
44 make install
45 gem install --no-user-install --install-dir "$_ruby_root" ceedling -v "$_ceedling_ver"
46
47 export CFLAGS+=' -ffat-lto-objects'
48 [ -z "$LC_ALL" ] && export LC_ALL='C'
49 cd "../${pkgbase}-${pkgver}"
50 ceedling release project:linux
51 doxygen
52}
53
54check() {
55 local _ruby_root="${srcdir}/ruby/${_ruby_ver}"
56 export GEM_HOME="$_ruby_root"
57 export GEM_PATH="$_ruby_root"
58 export PATH="${_ruby_root}/bin${PATH:+":${PATH}"}"
59
60 cd "${pkgbase}-${pkgver}"
61 ceedling test project:linux
62}
63
64package_lightway-core() {
65 install -D -m644 "${pkgbase}-${pkgver}/build/release"/*.a -t "${pkgdir}/usr/lib"
66 install -d -m755 "${pkgdir}/usr/include"
67 cp -dr --no-preserve='ownership' "${pkgbase}-${pkgver}/public" "${pkgdir}/usr/include/libhelium"
68}
69
70package_lightway-core-doc() {
71 pkgdesc+=' (documentation)'
72 arch=('any')
73
74 install -d -m755 "${pkgdir}/usr/share/doc"
75 cp -dr --no-preserve='ownership' "${pkgbase}-${pkgver}/html" "${pkgdir}/usr/share/doc/${pkgbase}"
76}
77

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion