Skip to content

SDL2_mixer: fix configure warnings#402066

Merged
pbsds merged 3 commits intoNixOS:masterfrom
marcin-serwin:push-wsqqotvlurry
Apr 27, 2025
Merged

SDL2_mixer: fix configure warnings#402066
pbsds merged 3 commits intoNixOS:masterfrom
marcin-serwin:push-wsqqotvlurry

Conversation

@marcin-serwin
Copy link
Contributor

@marcin-serwin marcin-serwin commented Apr 26, 2025

During configure phase of SDL2_mixer several warnings are reported:

configure: WARNING: *** Unable to find xmp library (http://xmp.sourceforge.net/)
configure: WARNING: MOD support disabled
...
configure: WARNING: *** Unable to find GME library (https://github.com/libgme/game-music-emu)
configure: WARNING: Game Music Emu support disabled.
...
configure: WARNING: *** Unable to find WavPack library (http://www.wavpack.com)
configure: WARNING: WavPack support disabled
...
configure: WARNING: unrecognized options: --disable-music-ogg-shared, --disable-music-flac-shared, --enable-smpegtest

This results in reduced functionality and in particular python3Packages.pygame-ce relies on MOD and WavPack support.

This allows us to drop SDL2_mixer_2_0 and SDL2_classic_mixer_2_0 but it will be done in a separate MR since breaking changes are restricted.

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: python Python is a high-level, general-purpose programming language. label Apr 26, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Apr 26, 2025
@nix-owners nix-owners bot requested a review from pbsds April 26, 2025 16:14
Copy link
Contributor

@LordGrimmauld LordGrimmauld left a comment

Choose a reason for hiding this comment

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

Running nixpkgs-review now.
Diff itself looks reasonable, though i'll have yet to check the configure log too to make sure nothing was lost.

Comment on lines 49 to 53
Copy link
Contributor

Choose a reason for hiding this comment

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

afaik these are droppable

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

Choose a reason for hiding this comment

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

libxmp does not have a maintainer listed in nixpkgs. SDL2_mixer would be the biggest dependent for it.
How much do you expect libxmp things to break, and might it make sense to adopt it if it now takes some load?

Upstream maintenance seems slow but acceptable. Your PR is fixing actual issues. I will certainly not block this over lack of maintenance. But might be relevant to consider.

Seeing as SDL2_mixer doesn't have a maintainer either, it probably doesn't matter anyways...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

How much do you expect libxmp things to break, and might it make sense to adopt it if it now takes some load?

It seems like a rather low maintenance package, I can adopt it.

Seeing as SDL2_mixer doesn't have a maintainer either, it probably doesn't matter anyways...

Yeah, the empty sdl team is a bit concerning.

Copy link
Contributor

@LordGrimmauld LordGrimmauld Apr 26, 2025

Choose a reason for hiding this comment

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

Tbf the biggest relevant thing pulling SDL2_mixer is the AppImage FHS environment - we should investigate whether that actually needs SDL2_mixer. But that is a different PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

SDL2_ttf
SDL2_mixer

@grimmauld-bot
Copy link

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 402066


aarch64-linux

⏩ 4 packages marked as broken and skipped:
  • cables
  • fspy
  • python312Packages.torchrl
  • python312Packages.torchrl.dist
❌ 58 packages failed to build:
  • _20kly
  • brutalmaze
  • brutalmaze.dist
  • cdogs-sdl
  • commandergenius
  • craftos-pc
  • drum-machine
  • dsda-doom
  • easyabc
  • endgame-singularity
  • endgame-singularity.dist
  • freeciv_sdl2
  • frescobaldi
  • frescobaldi.dist
  • frogatto
  • lincity_ng
  • mar1d
  • minari (python312Packages.minari)
  • minari.dist (python312Packages.minari.dist)
  • open-interpreter (python312Packages.open-interpreter)
  • open-interpreter.dist (python312Packages.open-interpreter.dist)
  • pysolfc
  • pysolfc.dist
  • python312Packages.ale-py
  • python312Packages.ale-py.dist
  • python312Packages.baselines
  • python312Packages.baselines.dist
  • python312Packages.brax
  • python312Packages.brax.dist
  • python312Packages.bsuite
  • python312Packages.bsuite.dist
  • python312Packages.gym
  • python312Packages.gym.dist
  • python312Packages.gymnasium
  • python312Packages.gymnasium.dist
  • python312Packages.pettingzoo
  • python312Packages.pettingzoo.dist
  • python312Packages.pyautogui
  • python312Packages.pyautogui.dist
  • python312Packages.pygame
  • python312Packages.pygame.dist
  • python312Packages.pygetwindow
  • python312Packages.pygetwindow.dist
  • python312Packages.pyrect
  • python312Packages.pyrect.dist
  • python312Packages.pytmx
  • python312Packages.pytmx.dist
  • python312Packages.shimmy
  • python312Packages.shimmy.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.stable-baselines3
  • python312Packages.stable-baselines3.dist
  • python312Packages.tianshou
  • python312Packages.tianshou.dist
  • rocksndiamonds
  • video2midi
  • vscode-extensions.jackmacwindows.craftos-pc
✅ 162 packages built:
  • SDL2_classic_mixer
  • SDL2_classic_mixer.dev
  • SDL2_classic_mixer_2_0
  • SDL2_classic_mixer_2_0.dev
  • SDL2_mixer
  • SDL2_mixer.dev
  • SDL2_mixer_2_0
  • SDL2_mixer_2_0.dev
  • _1oom
  • _1oom.doc
  • abbaye-des-morts
  • abuse
  • appimage-run
  • archipelago
  • archipelago-minecraft
  • augustus
  • blobwars
  • blockattack
  • blockattack.man
  • buckets
  • cataclysm-dda
  • cataclysm-dda-git
  • chocolate-doom
  • chocolate-doom.man
  • chromium-bsu
  • code-cursor
  • corsix-th
  • crawlTiles
  • crispy-doom
  • dbgate
  • deskreen
  • domino-chain
  • doomretro
  • dreamchess
  • dxx-rebirth
  • ecwolf
  • eduke32
  • enigma
  • eternity
  • fflogs
  • fheroes2
  • flare
  • freeciv (freeciv_gtk)
  • freeciv_qt
  • fteqw
  • gearlever
  • gemrb
  • guile-chickadee
  • guile-sdl2
  • hamrs
  • hamrs-pro
  • hedgewars
  • httpie-desktop
  • hydralauncher
  • hypseus-singe
  • immersed
  • infra-arcana
  • instead
  • ivan
  • jetbrains-toolbox
  • julius
  • jumpnbump
  • katawa-shoujo-re-engineered
  • lbreakouthd
  • liberal-crime-squad
  • lpairs2
  • ltris
  • manaplus
  • mochi
  • mqttx
  • narsil
  • navicat-premium
  • nsz (python312Packages.nsz)
  • nsz.dist (python312Packages.nsz.dist)
  • nxengine-evo
  • opendune
  • opensupaplex
  • p3x-onenote
  • parsify
  • pinball
  • pingus
  • prboom-plus
  • principia
  • python312Packages.kivy
  • python312Packages.kivy-garden-modernmenu
  • python312Packages.kivy-garden-modernmenu.dist
  • python312Packages.kivy.dist
  • python312Packages.pygame-ce
  • python312Packages.pygame-ce.dist
  • python312Packages.pygame-gui
  • python312Packages.pygame-gui.dist
  • python312Packages.pygame-sdl2
  • python312Packages.pygame-sdl2.dist
  • python312Packages.pysdl2
  • python312Packages.pysdl2.dist
  • python312Packages.vulkan
  • python312Packages.vulkan.dist
  • python313Packages.bsuite
  • python313Packages.bsuite.dist
  • python313Packages.gym
  • python313Packages.gym.dist
  • python313Packages.kivy
  • python313Packages.kivy-garden-modernmenu
  • python313Packages.kivy-garden-modernmenu.dist
  • python313Packages.kivy.dist
  • python313Packages.nsz
  • python313Packages.nsz.dist
  • python313Packages.open-interpreter
  • python313Packages.open-interpreter.dist
  • python313Packages.pyautogui
  • python313Packages.pyautogui.dist
  • python313Packages.pygame
  • python313Packages.pygame-ce
  • python313Packages.pygame-ce.dist
  • python313Packages.pygame-gui
  • python313Packages.pygame-gui.dist
  • python313Packages.pygame-sdl2
  • python313Packages.pygame-sdl2.dist
  • python313Packages.pygame.dist
  • python313Packages.pygetwindow
  • python313Packages.pygetwindow.dist
  • python313Packages.pyrect
  • python313Packages.pyrect.dist
  • python313Packages.pysdl2
  • python313Packages.pysdl2.dist
  • python313Packages.pytmx
  • python313Packages.pytmx.dist
  • python313Packages.vulkan
  • python313Packages.vulkan.dist
  • renpy
  • requestly
  • retrofe
  • rigel-engine
  • ringracers
  • ryubing
  • ryujinx
  • sfrotz
  • space-cadet-pinball
  • srb2
  • srb2kart
  • status-im
  • steamos-devkit
  • steamos-devkit.dist
  • supermariowar
  • taisei
  • tauon
  • tauon.dist
  • the-legend-of-edgar
  • toppler
  • trackballs
  • trezor-suite
  • tuxpaint
  • ultrastardx
  • upscaler
  • vcmi
  • vengi-tools
  • vrcx
  • wargus
  • wesnoth (wesnoth-dev)
  • wootility
  • xlights
  • xmoto

@LordGrimmauld
Copy link
Contributor

LordGrimmauld commented Apr 26, 2025

pygame is in the build failures - this looks bad, no?
(CE does build though)

@LordGrimmauld
Copy link
Contributor

LordGrimmauld commented Apr 26, 2025

Looking at the logs, libxmp is missing from some dependents now - should it go into propagation or be explicitly listed?

@marcin-serwin
Copy link
Contributor Author

marcin-serwin commented Apr 26, 2025

pygame is in the build failures - this looks bad, no?

I can't reproduce it on my machines, python3Packages.pygame builds both on x86_x64-linux and aarch64-linux.

Looking at the logs, libxmp is missing from some dependents now - should it go into propagation or be explicitly listed?

libxmp, libgme, and wavpack are only listed in Requires.private of SDL2_mixer.pc so in principle they shouldn't be propagated but sdl2_mixer-config.cmake searches for libxmp and wavpack anyway. I moved them to propagatedBuildInputs.

@grimmauld-bot
Copy link

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 402066


aarch64-linux

⏩ 4 packages marked as broken and skipped:
  • cables
  • fspy
  • python312Packages.torchrl
  • python312Packages.torchrl.dist
❌ 8 packages failed to build:
  • commandergenius
  • craftos-pc
  • freeciv_sdl2
  • frogatto
  • lincity_ng
  • mar1d
  • rocksndiamonds
  • vscode-extensions.jackmacwindows.craftos-pc
✅ 212 packages built:
  • SDL2_classic_mixer
  • SDL2_classic_mixer.dev
  • SDL2_classic_mixer_2_0
  • SDL2_classic_mixer_2_0.dev
  • SDL2_mixer
  • SDL2_mixer.dev
  • SDL2_mixer_2_0
  • SDL2_mixer_2_0.dev
  • _1oom
  • _1oom.doc
  • _20kly
  • abbaye-des-morts
  • abuse
  • appimage-run
  • archipelago
  • archipelago-minecraft
  • augustus
  • blobwars
  • blockattack
  • blockattack.man
  • brutalmaze
  • brutalmaze.dist
  • buckets
  • cataclysm-dda
  • cataclysm-dda-git
  • cdogs-sdl
  • chocolate-doom
  • chocolate-doom.man
  • chromium-bsu
  • code-cursor
  • corsix-th
  • crawlTiles
  • crispy-doom
  • dbgate
  • deskreen
  • domino-chain
  • doomretro
  • dreamchess
  • drum-machine
  • dsda-doom
  • dxx-rebirth
  • easyabc
  • ecwolf
  • eduke32
  • endgame-singularity
  • endgame-singularity.dist
  • enigma
  • eternity
  • fflogs
  • fheroes2
  • flare
  • freeciv (freeciv_gtk)
  • freeciv_qt
  • frescobaldi
  • frescobaldi.dist
  • fteqw
  • gearlever
  • gemrb
  • guile-chickadee
  • guile-sdl2
  • hamrs
  • hamrs-pro
  • hedgewars
  • httpie-desktop
  • hydralauncher
  • hypseus-singe
  • immersed
  • infra-arcana
  • instead
  • ivan
  • jetbrains-toolbox
  • julius
  • jumpnbump
  • katawa-shoujo-re-engineered
  • lbreakouthd
  • liberal-crime-squad
  • lpairs2
  • ltris
  • manaplus
  • minari (python312Packages.minari)
  • minari.dist (python312Packages.minari.dist)
  • mochi
  • mqttx
  • narsil
  • navicat-premium
  • nsz (python312Packages.nsz)
  • nsz.dist (python312Packages.nsz.dist)
  • nxengine-evo
  • open-interpreter (python312Packages.open-interpreter)
  • open-interpreter.dist (python312Packages.open-interpreter.dist)
  • opendune
  • opensupaplex
  • p3x-onenote
  • parsify
  • pinball
  • pingus
  • prboom-plus
  • principia
  • pysolfc
  • pysolfc.dist
  • python312Packages.ale-py
  • python312Packages.ale-py.dist
  • python312Packages.baselines
  • python312Packages.baselines.dist
  • python312Packages.brax
  • python312Packages.brax.dist
  • python312Packages.bsuite
  • python312Packages.bsuite.dist
  • python312Packages.gym
  • python312Packages.gym.dist
  • python312Packages.gymnasium
  • python312Packages.gymnasium.dist
  • python312Packages.kivy
  • python312Packages.kivy-garden-modernmenu
  • python312Packages.kivy-garden-modernmenu.dist
  • python312Packages.kivy.dist
  • python312Packages.pettingzoo
  • python312Packages.pettingzoo.dist
  • python312Packages.pyautogui
  • python312Packages.pyautogui.dist
  • python312Packages.pygame
  • python312Packages.pygame-ce
  • python312Packages.pygame-ce.dist
  • python312Packages.pygame-gui
  • python312Packages.pygame-gui.dist
  • python312Packages.pygame-sdl2
  • python312Packages.pygame-sdl2.dist
  • python312Packages.pygame.dist
  • python312Packages.pygetwindow
  • python312Packages.pygetwindow.dist
  • python312Packages.pyrect
  • python312Packages.pyrect.dist
  • python312Packages.pysdl2
  • python312Packages.pysdl2.dist
  • python312Packages.pytmx
  • python312Packages.pytmx.dist
  • python312Packages.shimmy
  • python312Packages.shimmy.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.stable-baselines3
  • python312Packages.stable-baselines3.dist
  • python312Packages.tianshou
  • python312Packages.tianshou.dist
  • python312Packages.vulkan
  • python312Packages.vulkan.dist
  • python313Packages.bsuite
  • python313Packages.bsuite.dist
  • python313Packages.gym
  • python313Packages.gym.dist
  • python313Packages.kivy
  • python313Packages.kivy-garden-modernmenu
  • python313Packages.kivy-garden-modernmenu.dist
  • python313Packages.kivy.dist
  • python313Packages.nsz
  • python313Packages.nsz.dist
  • python313Packages.open-interpreter
  • python313Packages.open-interpreter.dist
  • python313Packages.pyautogui
  • python313Packages.pyautogui.dist
  • python313Packages.pygame
  • python313Packages.pygame-ce
  • python313Packages.pygame-ce.dist
  • python313Packages.pygame-gui
  • python313Packages.pygame-gui.dist
  • python313Packages.pygame-sdl2
  • python313Packages.pygame-sdl2.dist
  • python313Packages.pygame.dist
  • python313Packages.pygetwindow
  • python313Packages.pygetwindow.dist
  • python313Packages.pyrect
  • python313Packages.pyrect.dist
  • python313Packages.pysdl2
  • python313Packages.pysdl2.dist
  • python313Packages.pytmx
  • python313Packages.pytmx.dist
  • python313Packages.vulkan
  • python313Packages.vulkan.dist
  • renpy
  • requestly
  • retrofe
  • rigel-engine
  • ringracers
  • ryubing
  • ryujinx
  • sfrotz
  • space-cadet-pinball
  • srb2
  • srb2kart
  • status-im
  • steamos-devkit
  • steamos-devkit.dist
  • supermariowar
  • taisei
  • tauon
  • tauon.dist
  • the-legend-of-edgar
  • toppler
  • trackballs
  • trezor-suite
  • tuxpaint
  • ultrastardx
  • upscaler
  • vcmi
  • vengi-tools
  • video2midi
  • vrcx
  • wargus
  • wesnoth (wesnoth-dev)
  • wootility
  • xlights
  • xmoto

Copy link
Contributor

@LordGrimmauld LordGrimmauld left a comment

Choose a reason for hiding this comment

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

Thanks, now the build failure list looks WAY better!

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Apr 26, 2025
@pbsds
Copy link
Member

pbsds commented Apr 26, 2025

rocksndiamonds is the only new failure, i'm unable to tell from the logs what the issue is

@marcin-serwin marcin-serwin mentioned this pull request Apr 26, 2025
13 tasks
@marcin-serwin
Copy link
Contributor Author

rocksndiamonds is the only new failure, i'm unable to tell from the logs what the issue is

I can't reproduce the failure on my machines

@LordGrimmauld
Copy link
Contributor

LordGrimmauld commented Apr 26, 2025

rocksndiamonds builds for me both on master and on this PR, on both x86-64 and aarch64. I guess nixpkgs-review was just drunk

rocksndiamonds also fails when crosscompiling (both x86_64 -> aarch64 and other way round), with Makefile:98: *** SDL2 library not found. Stop., so there is SDL issues here - but that is a different PR, i can look into that tomorrow.

@wegank wegank added 12.approvals: 2 This PR was reviewed and approved by two persons. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Apr 26, 2025
@pbsds
Copy link
Member

pbsds commented Apr 27, 2025

I did manage to reproduce the aarch64-linux failure once, must be flaky

@pbsds pbsds merged commit 9b8ba51 into NixOS:master Apr 27, 2025
34 of 38 checks passed
@marcin-serwin marcin-serwin deleted the push-wsqqotvlurry branch May 22, 2025 15:37
@marcin-serwin marcin-serwin mentioned this pull request Jun 28, 2025
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants