Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

retroarch: refactor #358405

Merged
merged 17 commits into from
Nov 25, 2024
Merged

Conversation

thiagokokada
Copy link
Contributor

@thiagokokada thiagokokada commented Nov 23, 2024

  • Move all RetroArch related packages to pkgs/by-name
  • Rename retroarchFull to retroarch-full and retroarchBare to retroarch-bare (also add aliases to the old names)
  • Add retroarch.withCores helper to make it easier to add cores to RetroArch and it is more inline with e.g.: python3.withPackages
  • Add retroarch-free, a derivation of RetroArch with only free cores (e.g.: can be built in OfBorg)

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@thiagokokada thiagokokada force-pushed the retroarch-refactor-pt2 branch from 6368af5 to 7485cd8 Compare November 23, 2024 11:56
@github-actions github-actions bot added the 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS label Nov 23, 2024
@thiagokokada

This comment was marked as outdated.

@thiagokokada thiagokokada marked this pull request as ready for review November 23, 2024 12:11
@thiagokokada thiagokokada force-pushed the retroarch-refactor-pt2 branch from 3c9a0ed to 723ff34 Compare November 23, 2024 14:15
@thiagokokada
Copy link
Contributor Author

@ofborg build retroarch-free

@thiagokokada
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 358405


x86_64-linux

✅ 103 packages built:
  • kodiPackages.libretro-2048
  • kodiPackages.libretro-fuse
  • kodiPackages.libretro-genplus
  • kodiPackages.libretro-mgba
  • kodiPackages.libretro-nestopia
  • kodiPackages.libretro-snes9x
  • libretro.atari800
  • libretro.beetle-gba
  • libretro.beetle-lynx
  • libretro.beetle-ngp
  • libretro.beetle-pce
  • libretro.beetle-pce-fast
  • libretro.beetle-pcfx
  • libretro.beetle-psx
  • libretro.beetle-psx-hw
  • libretro.beetle-saturn
  • libretro.beetle-supafaust
  • libretro.beetle-supergrafx
  • libretro.beetle-vb
  • libretro.beetle-wswan
  • libretro.blastem
  • libretro.bluemsx
  • libretro.bsnes
  • libretro.bsnes-hd
  • libretro.bsnes-mercury
  • libretro.bsnes-mercury-balanced
  • libretro.bsnes-mercury-performance
  • libretro.citra
  • libretro.desmume
  • libretro.desmume2015
  • libretro.dolphin
  • libretro.dosbox
  • libretro.dosbox-pure
  • libretro.easyrpg
  • libretro.eightyone
  • libretro.fbalpha2012
  • libretro.fbneo
  • libretro.fceumm
  • libretro.flycast
  • libretro.fmsx
  • libretro.freeintv
  • libretro.fuse
  • libretro.gambatte
  • libretro.genesis-plus-gx
  • libretro.gpsp
  • libretro.gw
  • libretro.handy
  • libretro.hatari
  • libretro.mame
  • libretro.mame2000
  • libretro.mame2003
  • libretro.mame2003-plus
  • libretro.mame2010
  • libretro.mame2015
  • libretro.mame2016
  • libretro.melonds
  • libretro.mesen
  • libretro.mesen-s
  • libretro.meteor
  • libretro.mgba
  • libretro.mrboom
  • libretro.mupen64plus
  • libretro.neocd
  • libretro.nestopia
  • libretro.np2kai
  • libretro.nxengine
  • libretro.o2em
  • libretro.opera
  • libretro.parallel-n64
  • libretro.pcsx-rearmed (libretro.pcsx_rearmed)
  • libretro.pcsx2
  • libretro.picodrive
  • libretro.play
  • libretro.ppsspp
  • libretro.prboom
  • libretro.prosystem
  • libretro.puae
  • libretro.quicknes
  • libretro.same_cdi
  • libretro.sameboy
  • libretro.scummvm
  • libretro.smsplus-gx
  • libretro.snes9x
  • libretro.snes9x2002
  • libretro.snes9x2005
  • libretro.snes9x2005-plus
  • libretro.snes9x2010
  • libretro.stella
  • libretro.stella2014
  • libretro.swanstation
  • libretro.tgbdual
  • libretro.thepowdertoy
  • libretro.tic80
  • libretro.twenty-fortyeight
  • libretro.vba-m
  • libretro.vba-next
  • libretro.vecx
  • libretro.virtualjaguar
  • libretro.yabause
  • retroarch
  • retroarch-bare
  • retroarch-free
  • retroarch-full

@thiagokokada
Copy link
Contributor Author

CC @aanderse for review.

Copy link
Contributor

@gepbird gepbird left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fa080ef (#358405) contains more changes than just a by-name move, maybe you should split up the package rename changes.
Similar things with 31dc6a6 (#358405).

@thiagokokada thiagokokada force-pushed the retroarch-refactor-pt2 branch from 723ff34 to 36958ad Compare November 24, 2024 02:28
@thiagokokada
Copy link
Contributor Author

fa080ef (#358405) contains more changes than just a by-name move, maybe you should split up the package rename changes. Similar things with 31dc6a6 (#358405).

Done.

@thiagokokada
Copy link
Contributor Author

@ofborg build retroarch-free

Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very awesome!

pkgs/applications/emulators/libretro/README.md Outdated Show resolved Hide resolved
@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Nov 24, 2024
Copy link
Contributor

@gepbird gepbird left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, LGTM!

@gepbird gepbird added 12.approvals: 2 This PR was reviewed and approved by two reputable people and removed 12.approvals: 1 This PR was reviewed and approved by one reputable person labels Nov 24, 2024
@thiagokokada thiagokokada force-pushed the retroarch-refactor-pt2 branch from 36958ad to 5785c07 Compare November 24, 2024 12:07
@thiagokokada

This comment was marked as outdated.

@thiagokokada
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 358405


x86_64-linux

✅ 103 packages built:
  • kodiPackages.libretro-2048
  • kodiPackages.libretro-fuse
  • kodiPackages.libretro-genplus
  • kodiPackages.libretro-mgba
  • kodiPackages.libretro-nestopia
  • kodiPackages.libretro-snes9x
  • libretro.atari800
  • libretro.beetle-gba
  • libretro.beetle-lynx
  • libretro.beetle-ngp
  • libretro.beetle-pce
  • libretro.beetle-pce-fast
  • libretro.beetle-pcfx
  • libretro.beetle-psx
  • libretro.beetle-psx-hw
  • libretro.beetle-saturn
  • libretro.beetle-supafaust
  • libretro.beetle-supergrafx
  • libretro.beetle-vb
  • libretro.beetle-wswan
  • libretro.blastem
  • libretro.bluemsx
  • libretro.bsnes
  • libretro.bsnes-hd
  • libretro.bsnes-mercury
  • libretro.bsnes-mercury-balanced
  • libretro.bsnes-mercury-performance
  • libretro.citra
  • libretro.desmume
  • libretro.desmume2015
  • libretro.dolphin
  • libretro.dosbox
  • libretro.dosbox-pure
  • libretro.easyrpg
  • libretro.eightyone
  • libretro.fbalpha2012
  • libretro.fbneo
  • libretro.fceumm
  • libretro.flycast
  • libretro.fmsx
  • libretro.freeintv
  • libretro.fuse
  • libretro.gambatte
  • libretro.genesis-plus-gx
  • libretro.gpsp
  • libretro.gw
  • libretro.handy
  • libretro.hatari
  • libretro.mame
  • libretro.mame2000
  • libretro.mame2003
  • libretro.mame2003-plus
  • libretro.mame2010
  • libretro.mame2015
  • libretro.mame2016
  • libretro.melonds
  • libretro.mesen
  • libretro.mesen-s
  • libretro.meteor
  • libretro.mgba
  • libretro.mrboom
  • libretro.mupen64plus
  • libretro.neocd
  • libretro.nestopia
  • libretro.np2kai
  • libretro.nxengine
  • libretro.o2em
  • libretro.opera
  • libretro.parallel-n64
  • libretro.pcsx-rearmed (libretro.pcsx_rearmed)
  • libretro.pcsx2
  • libretro.picodrive
  • libretro.play
  • libretro.ppsspp
  • libretro.prboom
  • libretro.prosystem
  • libretro.puae
  • libretro.quicknes
  • libretro.same_cdi
  • libretro.sameboy
  • libretro.scummvm
  • libretro.smsplus-gx
  • libretro.snes9x
  • libretro.snes9x2002
  • libretro.snes9x2005
  • libretro.snes9x2005-plus
  • libretro.snes9x2010
  • libretro.stella
  • libretro.stella2014
  • libretro.swanstation
  • libretro.tgbdual
  • libretro.thepowdertoy
  • libretro.tic80
  • libretro.twenty-fortyeight
  • libretro.vba-m
  • libretro.vba-next
  • libretro.vecx
  • libretro.virtualjaguar
  • libretro.yabause
  • retroarch
  • retroarch-bare
  • retroarch-free
  • retroarch-full

@bjornfor
Copy link
Contributor

The reason for this is because when you open a content and close it
(using F1 -> Close content), RetroArch will reload the configs but
will ignore --appendconfig. This definitely looks like a bug, but
hardcoding the values works.

Submit issue upstream and link back here?

@thiagokokada
Copy link
Contributor Author

The reason for this is because when you open a content and close it
(using F1 -> Close content), RetroArch will reload the configs but
will ignore --appendconfig. This definitely looks like a bug, but
hardcoding the values works.

Submit issue upstream and link back here?

It could be an issue with our wrapper or something else we do though, this is why I prefer to not report it right now.

If I can reproduce this with vanilla RetroArch I could report it, but unless someone is willing to do the report I don't have time right now.

@thiagokokada
Copy link
Contributor Author

The reason for this is because when you open a content and close it
(using F1 -> Close content), RetroArch will reload the configs but
will ignore --appendconfig. This definitely looks like a bug, but
hardcoding the values works.

Submit issue upstream and link back here?

Actually testing this it doesn't solve the issue. Let me drop this commit because otherwise this complicates the derivation for no good reason.

@thiagokokada thiagokokada force-pushed the retroarch-refactor-pt2 branch from 000e97f to 50c7be1 Compare November 24, 2024 21:58
@thiagokokada
Copy link
Contributor Author

@ofborg build retroarch-free

@thiagokokada
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 358405


x86_64-linux

✅ 103 packages built:
  • kodiPackages.libretro-2048
  • kodiPackages.libretro-fuse
  • kodiPackages.libretro-genplus
  • kodiPackages.libretro-mgba
  • kodiPackages.libretro-nestopia
  • kodiPackages.libretro-snes9x
  • libretro.atari800
  • libretro.beetle-gba
  • libretro.beetle-lynx
  • libretro.beetle-ngp
  • libretro.beetle-pce
  • libretro.beetle-pce-fast
  • libretro.beetle-pcfx
  • libretro.beetle-psx
  • libretro.beetle-psx-hw
  • libretro.beetle-saturn
  • libretro.beetle-supafaust
  • libretro.beetle-supergrafx
  • libretro.beetle-vb
  • libretro.beetle-wswan
  • libretro.blastem
  • libretro.bluemsx
  • libretro.bsnes
  • libretro.bsnes-hd
  • libretro.bsnes-mercury
  • libretro.bsnes-mercury-balanced
  • libretro.bsnes-mercury-performance
  • libretro.citra
  • libretro.desmume
  • libretro.desmume2015
  • libretro.dolphin
  • libretro.dosbox
  • libretro.dosbox-pure
  • libretro.easyrpg
  • libretro.eightyone
  • libretro.fbalpha2012
  • libretro.fbneo
  • libretro.fceumm
  • libretro.flycast
  • libretro.fmsx
  • libretro.freeintv
  • libretro.fuse
  • libretro.gambatte
  • libretro.genesis-plus-gx
  • libretro.gpsp
  • libretro.gw
  • libretro.handy
  • libretro.hatari
  • libretro.mame
  • libretro.mame2000
  • libretro.mame2003
  • libretro.mame2003-plus
  • libretro.mame2010
  • libretro.mame2015
  • libretro.mame2016
  • libretro.melonds
  • libretro.mesen
  • libretro.mesen-s
  • libretro.meteor
  • libretro.mgba
  • libretro.mrboom
  • libretro.mupen64plus
  • libretro.neocd
  • libretro.nestopia
  • libretro.np2kai
  • libretro.nxengine
  • libretro.o2em
  • libretro.opera
  • libretro.parallel-n64
  • libretro.pcsx-rearmed (libretro.pcsx_rearmed)
  • libretro.pcsx2
  • libretro.picodrive
  • libretro.play
  • libretro.ppsspp
  • libretro.prboom
  • libretro.prosystem
  • libretro.puae
  • libretro.quicknes
  • libretro.same_cdi
  • libretro.sameboy
  • libretro.scummvm
  • libretro.smsplus-gx
  • libretro.snes9x
  • libretro.snes9x2002
  • libretro.snes9x2005
  • libretro.snes9x2005-plus
  • libretro.snes9x2010
  • libretro.stella
  • libretro.stella2014
  • libretro.swanstation
  • libretro.tgbdual
  • libretro.thepowdertoy
  • libretro.tic80
  • libretro.twenty-fortyeight
  • libretro.vba-m
  • libretro.vba-next
  • libretro.vecx
  • libretro.virtualjaguar
  • libretro.yabause
  • retroarch
  • retroarch-bare
  • retroarch-free
  • retroarch-full

@thiagokokada thiagokokada merged commit 6b83f70 into NixOS:master Nov 25, 2024
47 of 49 checks passed
@thiagokokada thiagokokada deleted the retroarch-refactor-pt2 branch November 25, 2024 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: clean-up 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-linux: 101-500 12.approvals: 2 This PR was reviewed and approved by two reputable people
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants