Package Details: rimsort-git r2125.405f05b9-1

Git Clone URL: https://aur.archlinux.org/rimsort-git.git (read-only, click to copy)
Package Base: rimsort-git
Description: A Mod Manager For Rimworld game
Upstream URL: https://github.com/RimSort/RimSort
Licenses: GPL3
Submitter: DarkShadow44
Maintainer: DarkShadow44
Last Packager: DarkShadow44
Votes: 2
Popularity: 0.010545
First Submitted: 2024-04-25 04:33 (UTC)
Last Updated: 2025-12-30 15:05 (UTC)

Dependencies (4)

Required by (0)

Sources (3)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

DarkShadow44 commented on 2025-12-12 18:19 (UTC)

You're welcome! I pushed another update that should fix those issues.

Eidokan commented on 2025-12-12 18:06 (UTC)

That is indeed a little weird. I added a symlink myself using ( cd /opt/rimsort/libs/ && ln -s SteamworksPy{_x86_64,}.so ) which did fix the issue.
Then it complained about a text file called steam_appid.txt missing in /opt/rimsort in yet another exception. The file is located in the rimsort repo at root level and contains just the number 294100. Running echo 294100 >/opt/rimsort/steam_appid.txt (or simply copying that file) fixes that one.
Now it does successfully trigger Steam by unsubscribing and immediately resubscribing from those mods via IPC and Steams downloads overview does list workshop content for Rimworld with the current time. Unfortunately some mods still don't end up being up-to-date but I don't see that being packaging issue and I'll need some time to investigate that one.

Anyway, thank you for working on these issues and of course packaging RimSort in the first place!

DarkShadow44 commented on 2025-12-12 11:44 (UTC)

That's weird, there should be /opt/rimsort/libs/SteamworksPy_x86_64.so. Could you test if it works if you rename that to just SteamworksPy.so? No idea why that wouldn't work, but I could add a symlink.

Eidokan commented on 2025-12-11 19:55 (UTC)

Sadly, no dice yet - the next one is SteamworksPy.so. This also happened while forcing Steam to update mods.

$ RimSort
Translation file /opt/rimsort/locales/None.qm not found.
Qt translation file /opt/rimsort/.venv/lib/python3.12/site-packages/PySide6/Qt/translations/qtbase_None.qm not found.
[WARNING][2025-12-11 20:47:52][2847381][Dummy-1][metadata][refresh_cache][1700] : Refreshing metadata cache...
[WARNING][2025-12-11 20:47:52][2847381][Dummy-1][acf_utils][load_acf_from_path][58] : ACF file not found: /usr/lib/steam/steamapps/workshop/appworkshop_294100.acf
[WARNING][2025-12-11 20:47:52][2847381][Dummy-1][acf_utils][refresh_acf_metadata][114] : Failed to load SteamCMD ACF data
[WARNING][2025-12-11 20:47:56][2847381][MainThread][main_content_panel][__duplicate_mods_prompt][562] : User preference is not configured to display duplicate mods. Skipping...
[WARNING][2025-12-11 20:47:56][2847381][MainThread][main_content_panel][__missing_mods_prompt][586] : User preference is not configured to attempt downloading missing mods. Skipping...
[WARNING][2025-12-11 20:48:01][2847381][Dummy-1][acf_utils][load_acf_from_path][58] : ACF file not found: /usr/lib/steam/steamapps/workshop/appworkshop_294100.acf
[ERROR][2025-12-11 20:48:13][2847381][Dummy-16][animations][run][148] : MissingSteamworksLibraryException: Missing library SteamworksPy.so
multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/opt/rimsort/.venv/lib/python3.12/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
                    ^^^^^^^^^^^^^^^^^^^
  File "/opt/rimsort/.venv/lib/python3.12/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
           ^^^^^^^^^^^^^^^^
  File "/opt/rimsort/app/utils/steam/steamworks/wrapper.py", line 291, in run
    steamworks_interface = SteamworksInterface(
                           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/rimsort/app/utils/steam/steamworks/wrapper.py", line 57, in __init__
    self.steamworks = STEAMWORKS(_libs=_libs)
                      ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/rimsort/submodules/SteamworksPy/steamworks/__init__.py", line 57, in __init__
    self._initialize()
  File "/opt/rimsort/submodules/SteamworksPy/steamworks/__init__.py", line 140, in _initialize
    raise MissingSteamworksLibraryException(
steamworks.exceptions.MissingSteamworksLibraryException: Missing library SteamworksPy.so
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/rimsort/app/models/animations.py", line 146, in run
    self.data = self.target()
                ^^^^^^^^^^^^^
  File "/opt/rimsort/app/views/main_content_panel.py", line 2275, in _do_steamworks_api_call
    pool.map(SteamworksSubscriptionHandler.run, actions)
  File "/opt/rimsort/.venv/lib/python3.12/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/rimsort/.venv/lib/python3.12/multiprocessing/pool.py", line 774, in get
    raise self._value
steamworks.exceptions.MissingSteamworksLibraryException: Missing library SteamworksPy.so

DarkShadow44 commented on 2025-12-11 17:27 (UTC)

I currently don't have any out of date mods, so it's hard to test... I did push an update to include libsteam_api.so in the same place it would be when ran directly, so I hope that helps...

Eidokan commented on 2025-12-11 05:20 (UTC)

Sure. It happens when updating mods via the Steam client. Here's how to reproduce it:

  • Open RimSort from a terminal.
  • Enable Steam client integration in the settings.
  • Have outdated mods from the Steam workshop in your list (have a long list and wait, I guess?).
  • Refresh mod list to search for updates - this can be configured to happen on startup.
  • If there is any, a window labeled "RimSort - Updates found for Workshop mods" pops up.
  • Select at least one mod (for testing the select all button is probably not a good idea).
  • Click the "Update with Steam client" button to see the exception in the terminal. The window will close anyway. When you refresh again, the window will pop up again with the selected mods unchanged.
  • Clicking "Update with SteamCMD" instead appears to work if SteamCMD was setup by RimSort/in a writeable location. However RimSort appears to treat mods acquired via Steam and SteamCMD as different entries. The steamcmd AUR package won't work btw. Apparently RimSort tries to write temporary files to /usr/lib/steam when the SteamCMD installation location is set to /usr/lib. I guess I'll open an issue upstream about that one…

DarkShadow44 commented on 2025-12-11 03:50 (UTC)

@Eidokan Can you tell me what exactly you did to get this error? Shouldn't be too hard to fix

Eidokan commented on 2025-12-10 16:24 (UTC) (edited on 2025-12-10 16:25 (UTC) by Eidokan)

The python workaround may be a little brute, but works well enough for me. RimSort launches and works mostly fine from what I have tested so far.
I did notice one minor issue regarding a missing shared library. When updating a mod using the Steam client from RimSort I'm seeing the following exception:

steamworks.exceptions.MissingSteamworksLibraryException: Missing library "libsteam_api.so"

I don't know where that .so is supposed to be coming from (shipped with RimSort vs dependency), but it indeed appears to be missing. That is not terrible though, as the steamcmd integration works fine for updating mods and other Steam-related features, like opening a mod in their desktop app, appear to work fine.

Thank You!

DarkShadow44 commented on 2025-12-10 03:39 (UTC)

@Eidoka I feared such issues when running from uv directly... I came up with something that is ugly but seems to work for now... Please test and report back.

Eidokan commented on 2025-12-09 14:24 (UTC) (edited on 2025-12-09 14:25 (UTC) by Eidokan)

Hi, unfortunately I am having issues with the new packaging method.

The first minor one was an undeclared runtime dependency on uv. It is in makedepends but called by RimSort.sh as installed. This was easy to diagnose and fix as running RimSort from the terminal showed a 'command not found' message but is obviously not ideal.
The main one, that I can't quite pin down on my own right now, started after installing uv. For some reason running /usr/bin/RimSort leads to an attempt to delete a part of this package.

$ RimSort
warning: Ignoring existing virtual environment linked to non-existent Python interpreter: .venv/bin/python3 -> python
Using CPython 3.12.12
error: failed to remove directory `/opt/rimsort/.venv/bin`: Permission denied (os error 13)

The exit code of the above is 2. /opt/rimsort/.venv/bin is a directory belonging to rimsort-git with permissions 755 owned by root.
I looked around that venv a little and found that /opt/rimsort/.venv/bin/python as packaged is a symlink to /build/.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/bin/python3.12. The latter looks a lot like a path from inside the build container.
/build is the home directory of the "builduser" used by makechrootpkg, so my speculation is that this PKGBUILD probably installs python to ~/.local/share/… and references that in the resulting package. That would mean that this package will only work for the user that build this package on the same machine and only while that python installation lives. Unlike files installed by pacman, that installation is also modifiable by that user without superuser permissions. People that use build containers like I do, install the package on other machines where that path does not exist or don't have access to that users home directory would have issues. But again, I'm not 100% sure on this.

Thank you for packaging this despite all the trouble with nuitka and uv!