libretro-rust-dos
LOW
maintainer dividebysandwich
0 votes
base
rust-dos
scanned 2026-10-07 14:05:47.471701
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
pkgbase=rust-dos
2
pkgname=('rust-dos' 'libretro-rust-dos')
3
pkgver=1.4.0
4
pkgrel=1
5
arch=('x86_64' 'aarch64')
6
url="https://github.com/dividebysandwich/rust-dos"
7
license=('GPL-2.0-or-later')
8
makedepends=('cargo')
9
# makepkg's LTO makes GCC bitcode of the C code in ring (RetroAchievements'
10
# HTTPS), which Rust's linker can't link; cargo does its own LTO.
11
options=('!lto')
12
source=("$pkgbase-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
13
# Update with updpkgsums once v$pkgver is tagged.
14
sha256sums=('9220bff2c1c1aec326791678aeecf1729177d16112deb0a9e1bc820557c0fc5b')
15
16
prepare() {
17
cd "$pkgbase-$pkgver"
18
export RUSTUP_TOOLCHAIN=stable
19
local target="$(rustc -vV | sed -n 's/host: //p')"
20
cargo fetch --locked --target "$target"
21
# The libretro core is a workspace of its own, with its own Cargo.lock.
22
cargo fetch --locked --target "$target" --manifest-path libretro/Cargo.toml
23
}
24
25
build() {
26
cd "$pkgbase-$pkgver"
27
export RUSTUP_TOOLCHAIN=stable
28
# rust-dos-relay is the LAN relay for servers, which needs neither a
29
# display nor SDL or a sound library.
30
CARGO_TARGET_DIR=target cargo build --frozen --release --bin "$pkgbase" --bin "$pkgbase-relay"
31
# The core, without SDL or ALSA, which the frontend has in their place.
32
CARGO_TARGET_DIR=target-libretro cargo build --frozen --release --manifest-path libretro/Cargo.toml
33
}
34
35
check() {
36
cd "$pkgbase-$pkgver"
37
export RUSTUP_TOOLCHAIN=stable
38
CARGO_TARGET_DIR=target cargo test --frozen --release
39
CARGO_TARGET_DIR=target-libretro cargo test --frozen --release --manifest-path libretro/Cargo.toml
40
}
41
42
package_rust-dos() {
43
pkgdesc="A fast x86 DOS emulator with optional VR support featuring 386 to Pentium CPUs, DPMI host, VGA/VESA/S3/Voodoo, SB16/GUS/MT-32/GM, IDE, PnP, PCI, Win3x, Win95, NE2000 with NAT, IPX and serial multiplayer, RetroAchievements, save states, rewind, and WASM."
44
# SDL2 opens the window, the sound device and the OpenGL context of the
45
# CRT shaders. ALSA (alsa-lib) sends MIDI out of the system's MIDI ports
46
# (midisynth=host in [sound]). munt's libmt32emu plays the Roland MT-32
47
# (midisynth=mt32); rust-dos loads it when the MT-32 is chosen, and it
48
# needs the MT-32's ROMs, which aren't packaged (mt32roms= in [sound]).
49
# Everything else (fonts, disk noises, Ultrasound patches) is built in.
50
depends=('alsa-lib' 'glibc' 'hicolor-icon-theme' 'libgcc' 'munt' 'sdl2')
51
optdepends=('soundfont-fluid: General MIDI SoundFont for the MPU-401 (soundfont= in [sound])'
52
'fluidsynth: software synthesizer to play the MIDI sent out of a MIDI port (midisynth=host)'
53
'openxr: OpenXR loader for VR headsets through SteamVR or Monado (mode=headset in [vr])')
54
55
cd "$pkgbase-$pkgver"
56
install -Dm0755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname"
57
install -Dm0755 "target/release/$pkgname-relay" "$pkgdir/usr/bin/$pkgname-relay"
58
install -Dm0644 "packaging/linux/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
59
install -Dm0644 "packaging/linux/$pkgname.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
60
install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
61
install -Dm0644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
62
install -Dm0644 CONFIGURATION.md "$pkgdir/usr/share/doc/$pkgname/CONFIGURATION.md"
63
install -Dm0644 rust-dos.conf.example "$pkgdir/usr/share/doc/$pkgname/rust-dos.conf.example"
64
}
65
66
package_libretro-rust-dos() {
67
pkgdesc="Rust-DOS fast x86 DOS emulator as a libretro core, for RetroArch and the other libretro frontends"
68
# munt's libmt32emu plays the MT-32 (midisynth=mt32), loaded when it is
69
# chosen. SoundFonts and MT-32 ROMs go in RetroArch's system/rust-dos
70
# folder, set in rust-dos.conf there.
71
depends=('glibc' 'libgcc')
72
optdepends=('retroarch: the libretro frontend'
73
'munt: Roland MT-32 emulation (midisynth=mt32)'
74
'soundfont-fluid: General MIDI SoundFont for the MPU-401 (soundfont= in rust-dos.conf)')
75
76
cd "$pkgbase-$pkgver"
77
install -Dm0644 target-libretro/release/librust_dos_libretro.so "$pkgdir/usr/lib/libretro/rust_dos_libretro.so"
78
# Until libretro-core-info has it.
79
install -Dm0644 libretro/rust_dos_libretro.info "$pkgdir/usr/share/libretro/info/rust_dos_libretro.info"
80
install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
81
install -Dm0644 libretro/README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
82
}
83
Changes since previous scan
--- PKGBUILD @ 2026-10-06 00:13+++ PKGBUILD @ 2026-10-07 14:05@@ -1,6 +1,6 @@ pkgbase=rust-dos pkgname=('rust-dos' 'libretro-rust-dos')-pkgver=1.3.1+pkgver=1.4.0 pkgrel=1 arch=('x86_64' 'aarch64') url="https://github.com/dividebysandwich/rust-dos"@@ -11,7 +11,7 @@ options=('!lto') source=("$pkgbase-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") # Update with updpkgsums once v$pkgver is tagged.-sha256sums=('5fe5aaa19a3c5793f99ca58a40e4e7dc75088f460dade8f0e4785e9e9c6e2d14')+sha256sums=('9220bff2c1c1aec326791678aeecf1729177d16112deb0a9e1bc820557c0fc5b') prepare() { cd "$pkgbase-$pkgver"@@ -40,7 +40,7 @@ } package_rust-dos() {- pkgdesc="A fast x86 DOS emulator featuring 386 to Pentium CPUs, DPMI host, VGA/VESA/S3/Voodoo, SB16/GUS/MT-32/GM, IDE, PnP, PCI, Win3x, Win95, NE2000 with NAT, IPX and serial multiplayer, RetroAchievements, save states, rewind, and WASM."+ pkgdesc="A fast x86 DOS emulator with optional VR support featuring 386 to Pentium CPUs, DPMI host, VGA/VESA/S3/Voodoo, SB16/GUS/MT-32/GM, IDE, PnP, PCI, Win3x, Win95, NE2000 with NAT, IPX and serial multiplayer, RetroAchievements, save states, rewind, and WASM." # SDL2 opens the window, the sound device and the OpenGL context of the # CRT shaders. ALSA (alsa-lib) sends MIDI out of the system's MIDI ports # (midisynth=host in [sound]). munt's libmt32emu plays the Roland MT-32@@ -49,7 +49,8 @@ # Everything else (fonts, disk noises, Ultrasound patches) is built in. depends=('alsa-lib' 'glibc' 'hicolor-icon-theme' 'libgcc' 'munt' 'sdl2') optdepends=('soundfont-fluid: General MIDI SoundFont for the MPU-401 (soundfont= in [sound])'- 'fluidsynth: software synthesizer to play the MIDI sent out of a MIDI port (midisynth=host)')+ 'fluidsynth: software synthesizer to play the MIDI sent out of a MIDI port (midisynth=host)'+ 'openxr: OpenXR loader for VR headsets through SteamVR or Monado (mode=headset in [vr])') cd "$pkgbase-$pkgver" install -Dm0755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-07 14:05:47 | Low | 1 |
| 2026-10-06 00:13:36 | Clean | 2 |
| 2026-10-05 23:40:58 | Low | 1 |