SDL2_mixer_2_0: fix build with clang 16
Backport patches to fix incompatible pointer conversion errors.
This commit is contained in:
parent
dba6d77ad2
commit
e71cd2ed38
2 changed files with 38 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
{ fetchurl
|
||||
, fetchpatch
|
||||
, lzwolf
|
||||
, SDL2_mixer
|
||||
, timidity
|
||||
|
@ -12,6 +13,17 @@ SDL2_mixer.overrideAttrs(oa: rec {
|
|||
sha256 = "0694vsz5bjkcdgfdra6x9fq8vpzrl8m6q96gh58df7065hw5mkxl";
|
||||
};
|
||||
|
||||
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 \
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
--- a/music_mpg123.c 2018-10-31 10:59:00.000000000 -0400
|
||||
+++ b/music_mpg123.c 2023-09-05 21:31:51.529191521 -0400
|
||||
@@ -48,7 +48,11 @@
|
||||
int (*mpg123_open_handle)(mpg123_handle *mh, void *iohandle);
|
||||
const char* (*mpg123_plain_strerror)(int errcode);
|
||||
void (*mpg123_rates)(const long **list, size_t *number);
|
||||
+#if (MPG123_API_VERSION >= 45) /* api (but not abi) change as of mpg123-1.26.0 */
|
||||
+ int (*mpg123_read)(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done );
|
||||
+#else
|
||||
int (*mpg123_read)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done );
|
||||
+#endif
|
||||
int (*mpg123_replace_reader_handle)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) );
|
||||
off_t (*mpg123_seek)( mpg123_handle *mh, off_t sampleoff, int whence );
|
||||
const char* (*mpg123_strerror)(mpg123_handle *mh);
|
||||
@@ -95,7 +99,11 @@
|
||||
FUNCTION_LOADER(mpg123_open_handle, int (*)(mpg123_handle *mh, void *iohandle))
|
||||
FUNCTION_LOADER(mpg123_plain_strerror, const char* (*)(int errcode))
|
||||
FUNCTION_LOADER(mpg123_rates, void (*)(const long **list, size_t *number));
|
||||
+#if (MPG123_API_VERSION >= 45) /* api (but not abi) change as of mpg123-1.26.0 */
|
||||
+ FUNCTION_LOADER(mpg123_read, int (*)(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done ))
|
||||
+#else
|
||||
FUNCTION_LOADER(mpg123_read, int (*)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done ))
|
||||
+#endif
|
||||
FUNCTION_LOADER(mpg123_replace_reader_handle, int (*)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) ))
|
||||
FUNCTION_LOADER(mpg123_seek, off_t (*)( mpg123_handle *mh, off_t sampleoff, int whence ))
|
||||
FUNCTION_LOADER(mpg123_strerror, const char* (*)(mpg123_handle *mh))
|
Loading…
Reference in a new issue