Calinou / scoop-games

Scoop bucket for open source/freeware games and game-related tools
Creative Commons Zero v1.0 Universal
293 stars 152 forks source link

[Bug]: retroarch-nightly is malfunctioning since the beginning (persistent folders/files) #1269

Open wyndon opened 4 days ago

wyndon commented 4 days ago

Prerequisites

Package Name

retroarch-nightly

Expected/Current Behaviour

Some needed folders aren't being persisted, such as the config folder, but more importantly, folders are being created instead of files for content_favorites.lpl, content_history.lpl and retroarch.cfg, which breaks some stuff.

I stumbled upon this https://github.com/Calinou/scoop-games/pull/532#issuecomment-1114208116, which explained how retroarch was already packaged in the extras bucket while precising that it had "various fixes and a more involved pre_install script", yet these fixes have never been imported at all for retroarch-nightly...

In the extras bucket, retroarch has config and downloads folders being persisted, whereas retroarch-nightly persists overlays (not sure if it's needed)

Steps to Reproduce

`scoop install retroarch-nightly` -> check retroarch-nightly's installation folder, see that the aforementioned folders/files aren't being persisted/are being persisted as folders which breaks stuff.

Possible Solution

Persist needed folders (config, downloads), and import the pre_install script from retroarch in extras bucket. Might wanna check with the retroarch package author of the extras bucket if persisting overlays is needed or not.

Scoop and Buckets Version

PS> scoop --version
Current Scoop version:
859d1db5 (HEAD -> master, tag: v0.5.2, origin/master, origin/HEAD) chore(release): Bump to version 0.5.2 (#6080)

'main' bucket:
c54a05e03 (HEAD -> master, origin/master, origin/HEAD) kubo: Update to version 0.32.0

'extras' bucket:
0d63661a5 (HEAD -> master, origin/master, origin/HEAD) teamviewer@15.59.5: Fix hash (Closes #14407)

'versions' bucket:
754edb6a5 (HEAD -> master, origin/master, origin/HEAD) vlc-nightly-ucrt-llvm: Update to version 20241114

'java' bucket:
37ebd420 (HEAD -> master, origin/master, origin/HEAD) semeru8-jre: Update to version 8u432-b06-0.48.0

'games' bucket:
6e53652db (HEAD -> master, origin/master, origin/HEAD) wfinfo: Update to version 9.6.5

Scoop Config

PS> scoop config

last_update    : 2024-11-14T06:45:59.7945777+01:00
scoop_repo     : https://github.com/ScoopInstaller/Scoop
scoop_branch   : master

PowerShell Version

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.26100.2161
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.26100.2161
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Additional Softwares

No response

Calinou commented 3 days ago

Shouldn't we move retroarch-nightly to the extras bucket in the process? It feels weird to have the stable version in extras but the nightly version in games.

wyndon commented 3 days ago

There isn't a single -nightly version in extras. Most -nightly versions are in the versions bucket, whereas the stable ones are either in main or extras.

That being said, considering that there are some other software like fbneo, openmw and visualboyadvance-m with both their stables and nightlies versions here, it would also make sense to move retroarch stable here.

I'd advise contacting the extras maintainers to see what's the best approach. I'm not a maintainer at all, I just reported the issue.

In the meantime, if someone stumbles here and wants to fix the issue until the package is fixed : create the config and downloads folder and the content_favorites.lpl, content_history.lpl and retroarch.cfg (by copying and renaming retroarch.default.cfg already present) files in ~/scoop/persist/retroarch-nightly, then reinstall retroarch-nightly. Now you should have the files correctly symlinked, and then you can use a software like Link Shell Extension to easily create junctions from the file explorer directly for the config and downloads folder. You'll need to repeat the junctions manually for any future update until the packaging is fixed.