rwpm
LOW
maintainer keyz182
0 votes
scanned 2026-10-21 15:32:06.139547
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: Kieran David Evans <keyz182 at gmail dot com>
2
3
pkgname=rwpm
4
pkgver=1.16.0
5
pkgrel=1
6
pkgdesc='Separate RimWorld profiles, each with its own saves, settings and mod list'
7
arch=('x86_64')
8
url='https://github.com/keyz182/rimworld-profile-manager'
9
license=('MIT')
10
depends=('glibc' 'gcc-libs')
11
makedepends=('rust' 'dotnet-sdk')
12
# The window code loads these at run time, so the linker does not list them.
13
optdepends=(
14
'vulkan-icd-loader: GPU drawing for the app window'
15
'libxkbcommon: keyboard input'
16
'wayland: Wayland window support'
17
'libx11: X11 window support'
18
'libxcursor: X11 mouse pointer'
19
'libxi: X11 input'
20
'libxcb: X11 connection'
21
'dbus: desktop dialogs'
22
)
23
conflicts=('rwpm-bin')
24
# !strip: makepkg would strip Valve's libsteam_api.so, which must stay as shipped.
25
options=('!lto' '!strip')
26
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
27
sha256sums=('c231d1c70f1b9dc0e7b2aed939e6a53fcc5cd8a342ed2ee6fcf1e2a43c5e647a')
28
29
_src() { echo "$srcdir/rimworld-profile-manager-$pkgver"; }
30
31
prepare() {
32
cd "$(_src)"
33
export CARGO_HOME="$srcdir/cargo-home"
34
cargo fetch --locked --target x86_64-unknown-linux-gnu
35
36
export DOTNET_CLI_HOME="$srcdir/dotnet-home" DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
37
dotnet restore payload/Rwpm.Payload
38
dotnet restore payload/Rwpm.Payload.Hook
39
}
40
41
build() {
42
cd "$(_src)"
43
export CARGO_HOME="$srcdir/cargo-home" CARGO_TARGET_DIR="$srcdir/target"
44
cargo build --frozen --release -p rwpm -p rwpm-steam
45
46
export DOTNET_CLI_HOME="$srcdir/dotnet-home" DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
47
dotnet build payload/Rwpm.Payload -c Release --no-restore -o "$srcdir/payload-build"
48
dotnet build payload/Rwpm.Payload.Hook -c Release --no-restore -o "$srcdir/hook-build"
49
}
50
51
package() {
52
cd "$(_src)"
53
export CARGO_HOME="$srcdir/cargo-home"
54
55
# Valve's Steamworks library comes from the pinned steamworks-sys crate, as in
56
# scripts/package.sh. rwpm-steam looks for it beside itself.
57
local steam_lib
58
steam_lib="$(cargo metadata --frozen --format-version 1 --filter-platform x86_64-unknown-linux-gnu |
59
python3 -I -c 'import json,sys; print(next(p["manifest_path"] for p in json.load(sys.stdin)["packages"] if p["name"]=="steamworks-sys"))')"
60
steam_lib="$(dirname "$steam_lib")/lib/steam/redistributable_bin/linux64/libsteam_api.so"
61
62
# The app finds payload/ and doorstop/ beside its own file, so the bundle stays together.
63
install -Dm755 "$srcdir/target/release/rwpm" "$pkgdir/opt/rwpm/rwpm"
64
install -Dm755 "$srcdir/target/release/rwpm-steam" "$pkgdir/opt/rwpm/rwpm-steam"
65
install -Dm644 "$steam_lib" "$pkgdir/opt/rwpm/libsteam_api.so"
66
install -Dm644 "$srcdir/payload-build/Rwpm.Payload.dll" "$pkgdir/opt/rwpm/payload/Rwpm.Payload.dll"
67
install -Dm644 "$srcdir/hook-build/Rwpm.Payload.Hook.dll" "$pkgdir/opt/rwpm/payload/Rwpm.Payload.Hook.dll"
68
install -Dm644 vendor/unitydoorstop/4.5.0/linux_x64/libdoorstop.so "$pkgdir/opt/rwpm/doorstop/libdoorstop.so"
69
install -dm755 "$pkgdir/usr/bin"
70
ln -s /opt/rwpm/rwpm "$pkgdir/usr/bin/rwpm"
71
72
for n in 16 32 48 64 128 256; do
73
install -Dm644 "crates/rwpm/assets/icon/rwpm-$n.png" "$pkgdir/usr/share/icons/hicolor/${n}x${n}/apps/rwpm.png"
74
done
75
install -Dm644 crates/rwpm/assets/icon/rwpm.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/rwpm.svg"
76
install -Dm644 packaging/linux/rwpm-mime.xml "$pkgdir/usr/share/mime/packages/rwpm.xml"
77
78
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/rwpm.desktop" <<'DESKTOP'
79
[Desktop Entry]
80
Type=Application
81
Name=RimWorld Profile Manager
82
Comment=Separate RimWorld profiles with their own saves, settings and mods
83
Exec=rwpm %f
84
Icon=rwpm
85
Terminal=false
86
Categories=Game;Utility;
87
MimeType=application/x-rimrim;application/x-rimpack;
88
StartupWMClass=rwpm
89
DESKTOP
90
91
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
92
install -Dm644 vendor/unitydoorstop/4.5.0/LICENSE "$pkgdir/usr/share/licenses/$pkgname/UnityDoorstop-LGPL-2.1.txt"
93
install -Dm644 licenses/*.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
94
}
95
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-21 15:32:06 | Low | 1 |