neomacs-git

LOW
maintainer lostmason 0 votes scanned 2026-10-19 21:26:37.112660
View on AUR
Why flagged

The package builds from source using a git repository with a SKIP'd checksum, which is common for git-based AUR packages, and installs only the project's own compiled binaries and data files without executing untrusted remote code.

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 builds from source using a git repository with a SKIP'd checksum, which is common for git-based AUR packages, and installs only the project's own compiled binaries and data files without executing untrusted remote code.

PKGBUILD

1# Maintainer: lostmason <lostmason@tutamail.com>
2
3pkgname=neomacs-git
4_pkgname=neomacs
5pkgver=0.0.19.r25162.g7cc75cc8
6pkgrel=1
7pkgdesc='NEO Emacs: Emacs rewritten in Rust with a GPU display engine (git version)'
8arch=('x86_64' 'aarch64')
9url='https://github.com/eval-exec/neomacs'
10license=('GPL-3.0-or-later')
11# The Linux product (Cargo.toml, neomacs-production-capabilities.linux) links
12# GStreamer for video. dbus, lcms2, Wayland, X11 and Vulkan/GL are found at
13# run time; the ones the GUI cannot start without are hard dependencies.
14depends=(
15 'dbus'
16 'fontconfig'
17 'freetype2'
18 'gcc-libs'
19 'glib2'
20 'glibc'
21 'gst-plugins-base-libs'
22 'gstreamer'
23 'libdrm'
24 'libxkbcommon'
25 'ncurses'
26 'vulkan-icd-loader'
27 'wayland'
28 'zlib'
29)
30makedepends=('cargo' 'git')
31optdepends=(
32 'lcms2: color management (color-distance and friends)'
33 'libx11: X11 frontend'
34 'libxcursor: X11 cursor themes'
35 'libxi: X11 input'
36 'libxrandr: X11 multi-monitor support'
37 'gst-plugins-good: video playback codecs'
38 'gst-plugins-bad: video playback codecs'
39 'gst-plugins-ugly: video playback codecs'
40 'gst-libav: video playback codecs'
41)
42provides=("$_pkgname")
43conflicts=("$_pkgname")
44# makepkg's LTO flags leak into the C/C++ built by cc-rs (jemalloc, simdutf);
45# the release profile already enables Rust LTO.
46options=('!lto')
47source=("$_pkgname::git+$url.git")
48sha256sums=('SKIP')
49
50pkgver() {
51 cd "$_pkgname"
52 # Anchor on the workspace version rather than `git describe`: the last
53 # release tag lags it, and the archlib path is named after it.
54 local version
55 version="$(sed -n '/^\[workspace\.package\]/,/^\[/{s/^version *= *"\(.*\)"/\1/p}' Cargo.toml)"
56 printf '%s.r%s.g%s' "$version" \
57 "$(git rev-list --count HEAD)" "$(git rev-parse --short=8 HEAD)"
58}
59
60_target_triple() {
61 echo "$CARCH-unknown-linux-gnu"
62}
63
64prepare() {
65 cd "$_pkgname"
66 # Under rustup, rust-toolchain.toml selects the pinned toolchain.
67 cargo fetch --locked --target "$(_target_triple)"
68}
69
70build() {
71 cd "$_pkgname"
72 export CARGO_TARGET_DIR="$srcdir/$_pkgname/target"
73 export CARGO_NET_OFFLINE=true
74 # A RUSTFLAGS environment variable replaces the rustflags in
75 # .cargo/config.toml, so the function alignment it sets is repeated here.
76 if [[ $CARCH == x86_64 ]]; then
77 export RUSTFLAGS="${RUSTFLAGS:-} -Cllvm-args=-align-all-functions=6"
78 fi
79 # Compiles Rust, bootstraps Elisp and generates the portable dump.
80 cargo xtask fresh-build --release
81}
82
83package() {
84 cd "$_pkgname"
85 source scripts/lib/archlib.sh
86
87 local release_dir="$srcdir/$_pkgname/target/release"
88 local archlib_rel
89 archlib_rel="$(neomacs_archlib_relpath Cargo.toml "$(_target_triple)")"
90
91 # Same layout as scripts/package-rpm.sh, with /usr as the prefix.
92 install -Dm755 "$release_dir/neomacs" "$pkgdir/usr/bin/neomacs"
93 install -Dm755 "$release_dir/neomacsclient" "$pkgdir/usr/bin/neomacsclient"
94
95 install -d "$pkgdir/usr/$archlib_rel"
96 local helper
97 for helper in neomacs-temacs bootstrap-neomacs; do
98 if [[ -f $release_dir/$helper ]]; then
99 install -m755 "$release_dir/$helper" "$pkgdir/usr/$archlib_rel/"
100 fi
101 done
102 install -m644 "$release_dir/neomacs.pdump" "$pkgdir/usr/$archlib_rel/"
103
104 install -d "$pkgdir/usr/share/neomacs"
105 cp -a lisp etc leim "$pkgdir/usr/share/neomacs/"
106 if [[ -d info ]]; then
107 cp -a info "$pkgdir/usr/share/neomacs/"
108 fi
109
110 scripts/install-linux-desktop-assets.sh "$pkgdir/usr"
111
112 install -Dm644 README.md "$pkgdir/usr/share/doc/$_pkgname/README.md"
113 install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
114
115 neomacs_verify_archlib \
116 "$pkgdir/usr/bin/neomacs" \
117 "$pkgdir/usr/$archlib_rel/neomacs.pdump" \
118 "$pkgdir/usr/$archlib_rel" \
119 "$pkgdir/usr/share/neomacs"
120}
121

Scan history

Scanned at (UTC)SeverityRules
2026-10-19 21:26:37 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