* [bug#33426] [PATCH] gnu: python-kivy-next: Fix build.
@ 2018-11-19 5:43 Jovany Leandro G.C
2018-11-19 9:00 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Jovany Leandro G.C @ 2018-11-19 5:43 UTC (permalink / raw)
To: 33426
From 43a2729699ccfae2738fa2cced1106fbb9afbfc6 Mon Sep 17 00:00:00 2001
From: "Jovany Leandro G.C" <bit4bit@riseup.net>
Date: Mon, 19 Nov 2018 00:36:27 -0500
Subject: [PATCH] gnu: python-kivy-next: Fix build.
* gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch: New file.
---
...vy-next-fix-sdl2-mixer-2.0.2-support.patch | 109 ++++++++++++++++++
gnu/packages/python.scm | 3 +-
2 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch
diff --git a/gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch b/gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch
new file mode 100644
index 000000000..fdc5dd701
--- /dev/null
+++ b/gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch
@@ -0,0 +1,109 @@
+From 3b85f3e1c292b3f6c3f226490f52a2ab78251730 Mon Sep 17 00:00:00 2001
+From: Terje Skjaeveland <terje.skjaeveland@gmail.com>
+Date: Sun, 29 Oct 2017 12:35:46 +0100
+Subject: [PATCH] audio_sdl2: Update for mixer v2.0.2 support
+
+Flags MIX_INIT_MODPLUG was removed, and MIX_INIT_FLUIDSYNTH was
+renamed to MIX_INIT_MID.
+---
+ kivy/core/audio/audio_sdl2.pyx | 45 +++++++++++++++++++++++-----------
+ kivy/lib/sdl2.pxi | 4 +--
+ 2 files changed, 33 insertions(+), 16 deletions(-)
+
+diff --git a/kivy/core/audio/audio_sdl2.pyx b/kivy/core/audio/audio_sdl2.pyx
+index 2ab569fe60..c6f26be5c8 100644
+--- a/kivy/core/audio/audio_sdl2.pyx
++++ b/kivy/core/audio/audio_sdl2.pyx
+@@ -15,9 +15,23 @@ Depending the compilation of SDL2 mixer and/or installed libraries:
+ * ogg since 1.9.1 (mixer needs libvorbis/libogg)
+ * flac since 1.9.1 (mixer needs libflac)
+ * mp3 since 1.9.1 (mixer needs libsmpeg/libmad; only use mad for GPL apps)
++ * Since 1.10.1 + mixer 2.0.2, mpg123 can also be used
+ * sequenced formats since 1.9.1 (midi, mod, s3m, etc. Mixer needs
+ libmodplug or libmikmod)
+
++.. Note::
++
++ Sequenced format support changed with mixer v2.0.2. If mixer is
++ linked with one of libmodplug or libmikmod, format support for
++ both libraries is assumed. This will work perfectly with formats
++ upported by both libraries, but if you were to try to load an
++ obscure format (like `apun` file with mikmod only), it will fail.
++
++ * Kivy <= 1.10.0: will fail to build with mixer >= 2.0.2
++ will report correct format support with < 2.0.2
++ * Kivy >= 1.10.1: will build with old and new mixer, and
++ will "guesstimate" sequenced format support
++
+ .. Warning::
+
+ Sequenced formats use the SDL2 Mixer music channel, you can only play
+@@ -57,8 +71,13 @@ cdef mix_init():
+ mix_is_init = -1
+ return 0
+
++ # In mixer 2.0.2, MIX_INIT_MODPLUG is now implied by MIX_INIT_MOD,
++ # and MIX_INIT_FLUIDSYNTH was renamed to MIX_INIT_MID. In previous
++ # versions, we requested both _MODPLUG and _MOD + _FLUIDSYNTH.
++ # 0x20 used to be MIX_INIT_FLUIDSYNTH, now MIX_INIT_MID
++ # 0x4 used to be MIX_INIT_MODPLUG before 2.0.2
+ want_flags = MIX_INIT_FLAC | MIX_INIT_OGG | MIX_INIT_MP3
+- want_flags |= MIX_INIT_MOD | MIX_INIT_MODPLUG | MIX_INIT_FLUIDSYNTH
++ want_flags |= MIX_INIT_MOD | 0x20 | 0x4
+
+ mix_flags = Mix_Init(want_flags)
+
+@@ -244,25 +263,23 @@ class MusicSDL2(Sound):
+ @staticmethod
+ def extensions():
+ mix_init()
++ # FIXME: this should probably evolve to use the new has_music()
++ # interface to determine format support
+
+ # Assume native midi support (defaults to enabled), but may use
+ # modplug, fluidsynth or timidity in reality. It may also be
+ # disabled completely, in which case loading it will fail
+ extensions = set(['mid', 'midi'])
+
+- # libmodplug, may be incomplete
+- if mix_flags & MIX_INIT_MODPLUG:
+- extensions.update(['669', 'abc', 'amf', 'ams', 'dbm', 'dmf',
+- 'dsm', 'far', 'it', 'j2b', 'mdl', 'med',
+- 'mod', 'mt2', 'mtm', 'okt', 'pat', 'psm',
+- 'ptm', 's3m', 'stm', 'ult', 'umx', 'xm'])
+-
+- # libmikmod, may be incomplete
+- if mix_flags & MIX_INIT_MOD:
+- extensions.update(['669', 'amf', 'apun', 'dsm', 'far', 'gdm',
+- 'gt2', 'it', 'med', 'mod', 'mtm', 'okt',
+- 's3m', 'stm', 'stx', 'ult', 'umx', 'uni',
+- 'xm'])
++ # libmodplug and libmikmod, may be incomplete.
++ # 0x4 is for mixer < 2.0.2, MIX_INIT_MODPLUG
++ if mix_flags & (MIX_INIT_MOD | 0x4):
++ extensions.update(['669', 'abc', 'amf', 'ams', 'apun', 'dbm',
++ 'dmf', 'dsm', 'far', 'gdm', 'it', 'j2b',
++ 'mdl', 'med', 'mod', 'mt2', 'mtm', 'okt',
++ 'pat', 'psm', 'ptm', 's3m', 'stm', 'stx',
++ 'ult', 'umx', 'uni', 'xm'])
++
+ return list(extensions)
+
+ def __init__(self, **kwargs):
+diff --git a/kivy/lib/sdl2.pxi b/kivy/lib/sdl2.pxi
+index 07d055c903..ad62ce8023 100644
+--- a/kivy/lib/sdl2.pxi
++++ b/kivy/lib/sdl2.pxi
+@@ -881,10 +881,10 @@ cdef extern from "SDL_mixer.h":
+ ctypedef enum MIX_InitFlags:
+ MIX_INIT_FLAC = 0x00000001
+ MIX_INIT_MOD = 0x00000002
+- MIX_INIT_MODPLUG = 0x00000004
++ MIX_INIT_MODPLUG = 0x00000004 # Removed in mixer 2.0.2
+ MIX_INIT_MP3 = 0x00000008
+ MIX_INIT_OGG = 0x00000010
+- MIX_INIT_FLUIDSYNTH = 0x00000020
++ MIX_INIT_MID = 0x00000020 # Previously _FLUIDSYNTH
+
+ cdef int MIX_MAX_VOLUME
+
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b6b0ad75a..b32c9049d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9998,7 +9998,8 @@ hardware-accelerated multitouch applications.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0jk92b4a8l7blkvkgkjihk171s0dfnq582cckff5srwc8kal5m0p")))))))
+ "0jk92b4a8l7blkvkgkjihk171s0dfnq582cckff5srwc8kal5m0p"))
+ (patches (search-patches "python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch")))))))
(define-public python2-kivy-next
(package-with-python2 python-kivy-next))
--
2.19.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#33426] [PATCH] gnu: python-kivy-next: Fix build.
2018-11-19 5:43 [bug#33426] [PATCH] gnu: python-kivy-next: Fix build Jovany Leandro G.C
@ 2018-11-19 9:00 ` Ludovic Courtès
[not found] ` <20181119091612.5780f5fc@riseup.net>
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2018-11-19 9:00 UTC (permalink / raw)
To: Jovany Leandro G.C; +Cc: 33426
Hello,
"Jovany Leandro G.C" <bit4bit@riseup.net> skribis:
> From 43a2729699ccfae2738fa2cced1106fbb9afbfc6 Mon Sep 17 00:00:00 2001
> From: "Jovany Leandro G.C" <bit4bit@riseup.net>
> Date: Mon, 19 Nov 2018 00:36:27 -0500
> Subject: [PATCH] gnu: python-kivy-next: Fix build.
>
> * gnu/packages/patches/python-kivy-next-fix-sdl2-mixer-2.0.2-support.patch: New file.
A couple of things: please shorten the file name a bit, make sure to add
it to gnu/local.mk, and mention these three files in the change log.
However, since ‘python-kivy-next’ is a Git snapshot anyway, what about
updating the commit that is used instead of applying a patch?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-11-27 11:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-19 5:43 [bug#33426] [PATCH] gnu: python-kivy-next: Fix build Jovany Leandro G.C
2018-11-19 9:00 ` Ludovic Courtès
[not found] ` <20181119091612.5780f5fc@riseup.net>
2018-11-19 16:23 ` Ludovic Courtès
[not found] ` <20181119121233.41667d60@riseup.net>
2018-11-19 20:12 ` Ludovic Courtès
2018-11-27 11:13 ` bug#33426: " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.