nixpkgs/pkgs/by-name/sd/SDL2_mixer_2_0/package.nix
2024-05-03 00:04:32 -03:00

40 lines
1.1 KiB
Nix

# SDL2_mixer_2_0 pinned for lzwolf
{
SDL2_mixer,
fetchFromGitHub,
fetchpatch,
lzwolf,
timidity,
}:
let
attrset = {
version = "2.0.4";
src = fetchFromGitHub {
owner = "libsdl-org";
repo = "SDL_mixer";
rev = "release-${attrset.version}";
hash = "sha256-vo9twUGeK2emDiGd9kSGuA/X8TxVmQrRFFm71zawWYM=";
};
patches = [
# These patches fix incompatible function pointer conversion errors with clang 16.
(fetchpatch {
url = "https://github.com/libsdl-org/SDL_mixer/commit/4119ec3fe838d38d2433f4432cd18926bda5d093.patch";
stripLen = 2;
hash = "sha256-Ug1EEZIRcV8+e1MeMsGHuTW7Zn6j4szqujP8IkIq2VM=";
})
# Based on https://github.com/libsdl-org/SDL_mixer/commit/64ab759111ddb1b033bcce64e1a04e0cba6e498f
./SDL_mixer-2.0-incompatible-pointer-comparison-fix.patch
];
# fix default path to timidity.cfg so MIDI files could be played
postPatch = ''
substituteInPlace timidity/options.h \
--replace "/usr/share/timidity" "${timidity}/share/timidity"
'';
passthru.tests.lzwolf = lzwolf;
};
in SDL2_mixer.overrideAttrs(_: attrset)