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

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

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.

@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
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
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

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
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

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 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