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: 1.9.13.2 -> 1.9.14; libretro: unstable-2021-11-22 -> unstable-2021-12-06 #149114

Merged
merged 5 commits into from
Dec 7, 2021
Merged

retroarch: 1.9.13.2 -> 1.9.14; libretro: unstable-2021-11-22 -> unstable-2021-12-06 #149114

merged 5 commits into from
Dec 7, 2021

Conversation

thiagokokada
Copy link
Contributor

@thiagokokada thiagokokada commented Dec 6, 2021

Motivation for this change

New release: https://www.libretro.com/index.php/retroarch-1-9-14-release/

Also, migrate old MAME cores to build with Python 3 instead of Python 2 (issue: #148779).

As always, some clean-ups. Sorry for the reviewers.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • 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/)
  • 22.05 Release Notes (or backporting 21.11 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
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

Comment on lines -547 to -553
patches = [
(fetchpatch {
name = "fix_mame_build_on_make-4.3.patch";
url = "https://github.com/libretro/mame2016-libretro/commit/5874fae3d124f5e7c8a91634f5473a8eac902e47.patch";
sha256 = "061f1lcm72glksf475ikl8w10pnbgqa7049ylw06nikis2qdjlfn";
})
];
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@thiagokokada
Copy link
Contributor Author

Result of nixpkgs-review pr 149114 run on x86_64-linux 1

89 packages built:
  • kodiPackages.libretro-genplus
  • kodiPackages.libretro-mgba
  • kodiPackages.libretro-snes9x
  • libretro.atari800
  • libretro.beetle-gba
  • libretro.beetle-lynx
  • libretro.beetle-ngp
  • libretro.beetle-pce-fast
  • libretro.beetle-pcfx
  • libretro.beetle-psx
  • libretro.beetle-psx-hw
  • libretro.beetle-saturn
  • libretro.beetle-snes
  • 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.eightyone
  • libretro.fbalpha2012
  • libretro.fbneo
  • libretro.fceumm
  • libretro.flycast
  • libretro.fmsx
  • libretro.freeintv
  • 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.mupen64plus
  • libretro.neocd
  • libretro.nestopia
  • libretro.np2kai
  • libretro.o2em
  • libretro.opera
  • libretro.parallel-n64
  • libretro.pcsx2
  • libretro.pcsx_rearmed
  • libretro.picodrive
  • libretro.play
  • libretro.ppsspp
  • libretro.prboom
  • libretro.prosystem
  • libretro.quicknes
  • libretro.sameboy
  • libretro.scummvm
  • libretro.smsplus-gx
  • libretro.snes9x
  • libretro.snes9x2002
  • libretro.snes9x2005
  • libretro.snes9x2010
  • libretro.stella
  • libretro.stella2014
  • libretro.swanstation
  • libretro.tgbdual
  • libretro.thepowdertoy
  • libretro.tic80
  • libretro.vba-m
  • libretro.vba-next
  • libretro.vecx
  • libretro.virtualjaguar
  • libretro.yabause
  • retroarch
  • retroarchBare
  • retroarchFull

@ofborg ofborg bot requested review from MP2E, hrdinka, edwtjo and matthewbauer December 6, 2021 20:11
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-darwin: 11-100 10.rebuild-linux: 11-100 labels Dec 6, 2021
@thiagokokada
Copy link
Contributor Author

thiagokokada commented Dec 6, 2021

Tested:

  • Blastem
  • Desmume
  • Desmume2015
  • Dolphin
  • FBA2012
  • FinalBurnNeo
  • GenesisPlusGX
  • MAME
  • MAME2015
  • MAME2016
  • MelonDS
  • Mesen-S
  • PCSX2
  • ParaLLEI N64
  • PicoDrive
  • SMSPlusGX
  • SwanStation
  • VBA-M
  • VBA-next
  • beetle-pce-fast
  • beetle-snes
  • beetle-wsan
  • bsnes
  • bsnes-hd
  • bsnes-mercury-accuracy
  • bsnes-mercury-balanced
  • bsnes-mercury-performance
  • flycast
  • mGBA
  • mupen64plus-next
  • play
  • ppsspp
  • snes9x
  • snes9x2002
  • snes9x2005
  • snes9x2005-plus
  • snes9x2010

@thiagokokada
Copy link
Contributor Author

CC @aanderse

Comment on lines +809 to 811
snes9x2005-plus = mkLibRetroCore {
core = "snes9x2005-plus";
src = getCoreSrc "snes9x2005";
description = "Optimized port/rewrite of SNES9x 1.43 to Libretro, with Blargg's APU";
license = "Non-commercial";
makefile = "Makefile";
makeFlags = [ "USE_BLARGG_APU=1" ];
postBuild = "mv snes9x2005_plus_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x2005_libretro${stdenv.hostPlatform.extensions.sharedLibrary}";
};
Copy link
Contributor Author

Choose a reason for hiding this comment

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

snes9x2005 with USE_BLARGG_APU results on snes9x2005-plus (that was what we previously called snes9x2005). So this just fixes it, and add a proper snes9x2005 (without the USE_BLARGG_APU set).

@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Dec 6, 2021
@@ -674,7 +659,6 @@ in

pcsx2 = mkLibRetroCore {
core = "pcsx2";
version = "unstable-2021-11-27";
Copy link
Member

Choose a reason for hiding this comment

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

No more version for this guy?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It derivates the version from here: https://github.com/NixOS/nixpkgs/pull/149114/files#diff-86029dc4c3d1ca3e77939271748ead9d43e99e83df50a7d368337b59e64b3b30R58.

The only reason this version was set before because when I introduced this core in PR #147622 I didn't want to bump all other cores.

Copy link
Member

Choose a reason for hiding this comment

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

Gotcha.

Also, migrate old MAME cores to build with Python 3 instead of Python 2.
This is actually the old `libretro.snes9x2005` renamed with the proper
core name, and the `libretro.snes9x2005` now is build without the
Blaarg's APU (same as upstream).
@thiagokokada
Copy link
Contributor Author

Result of nixpkgs-review pr 149114 run on x86_64-linux 1

90 packages built:
  • kodiPackages.libretro-genplus
  • kodiPackages.libretro-mgba
  • kodiPackages.libretro-snes9x
  • libretro.atari800
  • libretro.beetle-gba
  • libretro.beetle-lynx
  • libretro.beetle-ngp
  • libretro.beetle-pce-fast
  • libretro.beetle-pcfx
  • libretro.beetle-psx
  • libretro.beetle-psx-hw
  • libretro.beetle-saturn
  • libretro.beetle-snes
  • 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.eightyone
  • libretro.fbalpha2012
  • libretro.fbneo
  • libretro.fceumm
  • libretro.flycast
  • libretro.fmsx
  • libretro.freeintv
  • 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.mupen64plus
  • libretro.neocd
  • libretro.nestopia
  • libretro.np2kai
  • libretro.o2em
  • libretro.opera
  • libretro.parallel-n64
  • libretro.pcsx2
  • libretro.pcsx_rearmed
  • libretro.picodrive
  • libretro.play
  • libretro.ppsspp
  • libretro.prboom
  • libretro.prosystem
  • libretro.quicknes
  • 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.vba-m
  • libretro.vba-next
  • libretro.vecx
  • libretro.virtualjaguar
  • libretro.yabause
  • retroarch
  • retroarchBare
  • retroarchFull

Comment on lines -406 to -408
postPatch = ''
sed -i -e 's:-Wall:-Wall -Wno-format-security:g' src/burner/libretro/Makefile
'';
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Doesn't seem to be needed anymore, build and works fine without it.

preBuild = "cd src/burner/libretro";
makeFlags = [ "USE_EXPERIMENTAL_FLAGS=1" ];
Copy link
Contributor Author

@thiagokokada thiagokokada Dec 6, 2021

Choose a reason for hiding this comment

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

This flag seems to be used mostly for optimizations on slow platforms. Seems to enable some "dangerous" optimization flags that are not needed on x86_64 or even aarch64.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The slow platforms that upstream enable are either a Funkey S or a Classic NES/SNES that should be much slower than any platform we support.

@thiagokokada thiagokokada requested a review from aanderse December 7, 2021 00:10
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.

LGTM 👍

@thiagokokada thiagokokada merged commit 7ff8e75 into NixOS:master Dec 7, 2021
@thiagokokada thiagokokada deleted the bump-retroarch branch December 7, 2021 01:01
@aanderse
Copy link
Member

aanderse commented Dec 7, 2021

Thanks @thiagokokada 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 10.rebuild-linux: 11-100 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants