aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-08 03:30:04 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-08 03:30:04 -0500
commit3de4056df4ea5d0afbcea388ad8d681daea1aac3 (patch)
treefc5978451f9f51b84268f45bd2fa6f5d4a17baaf /docker
parent5ba23a6d7a40052d9e1d4bd0cf018cfe7814d03a (diff)
Remove NaK/Rust dependency, port remaining functionality to native C++
Replace NaK Rust crate and nak_ffi with native C++ implementations: - Game detection (Steam, Heroic, Bottles), VDF parser, icon extraction - Prefix symlinks, SLR manager, Steam path detection - Known games database Add FUSE VFS optimizations: zero-copy reads via fuse_reply_data, default_permissions mount option, FUSE_CAP_ASYNC_DIO, FUSE_CAP_EXPIRE_ONLY, lookup cache parent index, cached mode bits, increased I/O buffer sizes. Update build system, prefix setup, and various fixes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docker')
-rwxr-xr-xdocker/build-inner.sh13
1 files changed, 6 insertions, 7 deletions
diff --git a/docker/build-inner.sh b/docker/build-inner.sh
index dd33409..cfbb061 100755
--- a/docker/build-inner.sh
+++ b/docker/build-inner.sh
@@ -53,7 +53,7 @@ cp -f "${RUNDIR}/ModOrganizer" "${OUT_DIR}/ModOrganizer-core"
LOOTCLI="build/libs/lootcli/src/lootcli"
[ -f "${LOOTCLI}" ] && cp -f "${LOOTCLI}" "${OUT_DIR}/"
-# wrestool/icotool no longer needed — icon extraction is built into libnak_ffi.so (pelite)
+# wrestool/icotool no longer needed — icon extraction is built into the C++ PE parser
# ── MO2 plugins (.so) ──
find build/libs -type f \( \
@@ -131,10 +131,9 @@ cp -f build/libs/uibase/src/libuibase.so "${OUT_DIR}/lib/"
cp -f build/libs/libbsarch/liblibbsarch.so "${OUT_DIR}/lib/"
cp -f build/libs/archive/src/libarchive.so "${OUT_DIR}/lib/"
cp -f build/libs/plugin_python/src/runner/librunner.so "${OUT_DIR}/lib/"
-for ffi in libs/bsa_ffi/target/release/libbsa_ffi.so \
- libs/nak_ffi/target/release/libnak_ffi.so; do
- [ -f "${ffi}" ] && cp -f "${ffi}" "${OUT_DIR}/lib/"
-done
+if [ -f "libs/bsa_ffi/target/release/libbsa_ffi.so" ]; then
+ cp -f libs/bsa_ffi/target/release/libbsa_ffi.so "${OUT_DIR}/lib/"
+fi
# Boost (version-pinned to container, won't exist on most user systems).
for boost_lib in /lib/x86_64-linux-gnu/libboost_program_options.so* \
@@ -416,8 +415,8 @@ export PATH="${RUN}:${PATH}"
# Steam game mode injects its scout/soldier runtime into LD_LIBRARY_PATH.
# Those old libraries (libssl, libz, etc.) break Python extension modules
# and Qt internals that don't have RPATH pointing to our bundled libs.
-# Clear it — the binary uses DT_RPATH ($ORIGIN/lib) for its own deps,
-# and we prepend our lib/ for anything loaded via dlopen (Python, Qt plugins).
+# Clear it and set only our lib/ — the binary uses DT_RPATH ($ORIGIN/lib)
+# for its own deps, this covers dlopen'd plugins.
export LD_LIBRARY_PATH="${RUN}/lib"
export MO2_BASE_DIR="${RUN}"
export MO2_PLUGINS_DIR="${RUN}/plugins"