Skip to contentSkip to conversation

sdl_mixer: Enable support for libmodplug

PATCH New Maarten ter Huurne 4 participants 10 messages Oct 18, 2014 – Oct 19, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sdl_mixer: Enable support for libmodplug

---
 .../sdl_mixer/sdl_mixer-0001-modplug-include.patch | 33 ++++++++++++++++++++++
 package/sdl_mixer/sdl_mixer.mk                     |  7 +++++
 2 files changed, 40 insertions(+)
 create mode 100644 package/sdl_mixer/sdl_mixer-0001-modplug-include.patch
package/sdl_mixer/sdl_mixer-0001-modplug-include.patch new file +33 -0
new file mode 100644
index 0000000..20a475f
@@ -0,0 +1,33 @@
+Fix the modplug include path
+
+Since libmodplug 0.8.8.5, the cflags reported by pkg-config no longer
+add the "libmodplug" dir, so the #include directive must contain that
+path instead.
+
+Upstream status: the SDL-1.2 branch seems to be unmaintained
+
+Signed-off-by: Maarten ter Huurne <[email protected]>
+
+diff -ru SDL_mixer-1.2.12.org/configure.in sdl_mixer-1.2.12/configure.in
+--- SDL_mixer-1.2.12.org/configure.in	2012-01-15 23:01:05.000000000 +0100
++++ sdl_mixer-1.2.12/configure.in	2014-07-03 05:25:44.761854572 +0200
+@@ -315,7 +315,7 @@
+ 	EXTRA_CFLAGS="$EXTRA_CFLAGS -DMODPLUG_MUSIC  $MODPLUG_CFLAGS"
+ 	EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MODPLUG_LIBS"
+ dnl	AC_TRY_COMPILE([
+-dnl     #include "modplug.h"
++dnl     #include "libmodplug/modplug.h"
+ dnl    ],[
+ dnl    ],[
+     have_libmodplug=yes
+diff -ru SDL_mixer-1.2.12.org/music_modplug.h sdl_mixer-1.2.12/music_modplug.h
+--- SDL_mixer-1.2.12.org/music_modplug.h	2012-01-15 23:01:05.000000000 +0100
++++ sdl_mixer-1.2.12/music_modplug.h	2014-07-03 05:26:03.919219618 +0200
+@@ -1,6 +1,6 @@
+ #ifdef MODPLUG_MUSIC
+ 
+-#include "modplug.h"
++#include "libmodplug/modplug.h"
+ #include "SDL_rwops.h"
+ #include "SDL_audio.h"
+ #include "SDL_mixer.h"
package/sdl_mixer/sdl_mixer.mk +7 -0
index a602b6e..45ee6b6 100644
@@ -20,6 +20,13 @@ SDL_MIXER_CONF_OPTS = \
 	--disable-music-mp3 \
 	--disable-music-flac # configure script fails when cross compiling
 
+ifeq ($(BR2_PACKAGE_LIBMODPLUG),y)
+SDL_MIXER_CONF_OPTS += --enable-music-mod-modplug
+SDL_MIXER_DEPENDENCIES += libmodplug
+else
+SDL_MIXER_CONF_OPTS += --disable-music-mod-modplug
+endif
+
 ifeq ($(BR2_PACKAGE_LIBMAD),y)
 SDL_MIXER_CONF_OPTS += --enable-music-mp3-mad-gpl
 SDL_MIXER_DEPENDENCIES += libmad
Signature · 1 line
1.8.4.5
#1 lore raw

PATCH 1/1 sdl_mixer: Enable support for libmodplug

Quoted 1 line · Maarten ter Huurne

Regards,
Arnout

Quoted 64 lines
---
 .../sdl_mixer/sdl_mixer-0001-modplug-include.patch | 33 ++++++++++++++++++++++
 package/sdl_mixer/sdl_mixer.mk                     |  7 +++++
 2 files changed, 40 insertions(+)
 create mode 100644 package/sdl_mixer/sdl_mixer-0001-modplug-include.patch
package/sdl_mixer/sdl_mixer-0001-modplug-include.patch new file +33 -0
new file mode 100644
index 0000000..20a475f
@@ -0,0 +1,33 @@
+Fix the modplug include path
+
+Since libmodplug 0.8.8.5, the cflags reported by pkg-config no longer
+add the "libmodplug" dir, so the #include directive must contain that
+path instead.
+
+Upstream status: the SDL-1.2 branch seems to be unmaintained
+
+Signed-off-by: Maarten ter Huurne <[email protected]>
+
+diff -ru SDL_mixer-1.2.12.org/configure.in sdl_mixer-1.2.12/configure.in
+--- SDL_mixer-1.2.12.org/configure.in	2012-01-15 23:01:05.000000000 +0100
++++ sdl_mixer-1.2.12/configure.in	2014-07-03 05:25:44.761854572 +0200
+@@ -315,7 +315,7 @@
+ 	EXTRA_CFLAGS="$EXTRA_CFLAGS -DMODPLUG_MUSIC  $MODPLUG_CFLAGS"
+ 	EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MODPLUG_LIBS"
+ dnl	AC_TRY_COMPILE([
+-dnl     #include "modplug.h"
++dnl     #include "libmodplug/modplug.h"
+ dnl    ],[
+ dnl    ],[
+     have_libmodplug=yes
+diff -ru SDL_mixer-1.2.12.org/music_modplug.h sdl_mixer-1.2.12/music_modplug.h
+--- SDL_mixer-1.2.12.org/music_modplug.h	2012-01-15 23:01:05.000000000 +0100
++++ sdl_mixer-1.2.12/music_modplug.h	2014-07-03 05:26:03.919219618 +0200
+@@ -1,6 +1,6 @@
+ #ifdef MODPLUG_MUSIC
+ 
+-#include "modplug.h"
++#include "libmodplug/modplug.h"
+ #include "SDL_rwops.h"
+ #include "SDL_audio.h"
+ #include "SDL_mixer.h"
package/sdl_mixer/sdl_mixer.mk +7 -0
index a602b6e..45ee6b6 100644
@@ -20,6 +20,13 @@ SDL_MIXER_CONF_OPTS = \
 	--disable-music-mp3 \
 	--disable-music-flac # configure script fails when cross compiling
 
+ifeq ($(BR2_PACKAGE_LIBMODPLUG),y)
+SDL_MIXER_CONF_OPTS += --enable-music-mod-modplug
+SDL_MIXER_DEPENDENCIES += libmodplug
+else
+SDL_MIXER_CONF_OPTS += --disable-music-mod-modplug
+endif
+
 ifeq ($(BR2_PACKAGE_LIBMAD),y)
 SDL_MIXER_CONF_OPTS += --enable-music-mp3-mad-gpl
 SDL_MIXER_DEPENDENCIES += libmad
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH v2 1/1 modplugtools: Added package

In reply to Maarten ter Huurne

This installs the 'modplug123' command line tool to play tracker music files (MOD, S3M, XM etc.) using libmodplug.

http://modplug-xmms.sourceforge.net/

---
Changes since v1:
- clarified the help text
- clarified why modplugplay is not installed
- changed the way modplugplay is excluded: don't build it, instead of removing it post-install

 package/Config.in                    |  1 +
 package/modplugtools/Config.in       |  9 +++++++++
 package/modplugtools/modplugtools.mk | 23 +++++++++++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 package/modplugtools/Config.in
 create mode 100644 package/modplugtools/modplugtools.mk
package/Config.in +1 -0
index 4c6685a..8b8a20f 100644
@@ -17,6 +17,7 @@ menu "Audio and video applications"
 	source "package/lame/Config.in"
 	source "package/libvpx/Config.in"
 	source "package/madplay/Config.in"
+	source "package/modplugtools/Config.in"
 	source "package/mpd/Config.in"
 	source "package/mpg123/Config.in"
 	source "package/mplayer/Config.in"
package/modplugtools/Config.in new file +9 -0
new file mode 100644
index 0000000..20009b6
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MODPLUGTOOLS
+	bool "modplugtools"
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG
+	help
+	  This installs the 'modplug123' command line tool to play tracker music
+	  files (MOD, S3M, XM etc.) using libmodplug.
+
+	  http://modplug-xmms.sourceforge.net/
package/modplugtools/modplugtools.mk new file +23 -0
new file mode 100644
index 0000000..186d4a7
@@ -0,0 +1,23 @@
+################################################################################
+#
+# modplugtools
+#
+################################################################################
+
+MODPLUGTOOLS_VERSION = 0.5.3
+MODPLUGTOOLS_SITE = http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools
+MODPLUGTOOLS_LICENSE = GPLv3
+MODPLUGTOOLS_LICENSE_FILES = COPYING
+
+MODPLUGTOOLS_DEPENDENCIES = libao libmodplug
+
+# The modplugtools package can build two players: modplugplay that plays
+# directly via OSS and modplug123 that plays via libao. Since modplugplay
+# won't work without OSS support and modern kernels are likely to have no
+# OSS or OSS emulation, we build only modplug123.
+# If you have a system without ALSA support for some reason, you can still
+# use modplug123 to play over OSS via libao.
+MODPLUGTOOLS_MAKE_OPTS = SUBDIRS=mp123
+MODPLUGTOOLS_INSTALL_TARGET_OPTS = SUBDIRS=mp123 DESTDIR=$(TARGET_DIR) install
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.5
#3 lore raw

PATCH v2 1/1 modplugtools: Added package

Maarten, All,

On 2014-10-18 22:04 +0200, Maarten ter Huurne spake thusly:

Quoted 6 lines

This installs the 'modplug123' command line tool to play tracker music files (MOD, S3M, XM etc.) using libmodplug.

http://modplug-xmms.sourceforge.net/

[--SNIP--]

package/modplugtools/Config.in line 4

Quoted 10 lines
package/modplugtools/Config.in new file +4 -0
new file mode 100644
index 0000000..20009b6
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MODPLUGTOOLS
+	bool "modplugtools"
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG

modplugtools should inherit the dependencies from libmodplug, namely C++:

config BR2_PACKAGE_MODPLUGTOOLS
bool "modplugtools"
depends on BR2_INSTALL_LIBSTDCPP # libmodplug select BR2_PACKAGE_LIBMODPLUG
select BR2_PACKAGE_LIBAO

package/modplugtools/Config.in line 7

Quoted 3 lines
package/modplugtools/Config.in new file +3 -0
+	help
+	  This installs the 'modplug123' command line tool to play tracker music
+	  files (MOD, S3M, XM etc.) using libmodplug.

Since the comments in the .mk file are not directly visible to the user, it would be nice to put a little blurb about OSS vs. ALSA, something like:

modplugplay uses libao to play MOD files, so can output via either ALSA or OSS.

Quoted 16 lines
package/modplugtools/Config.in new file +1 -0
+	  http://modplug-xmms.sourceforge.net/
package/modplugtools/modplugtools.mk new file +9 -0
new file mode 100644
index 0000000..186d4a7
@@ -0,0 +1,23 @@
+################################################################################
+#
+# modplugtools
+#
+################################################################################
+
+MODPLUGTOOLS_VERSION = 0.5.3
+MODPLUGTOOLS_SITE = http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools
+MODPLUGTOOLS_LICENSE = GPLv3

package/modplugtools/modplugtools.mk line 19

Quoted 10 lines
package/modplugtools/modplugtools.mk new file +10 -0
+MODPLUGTOOLS_LICENSE_FILES = COPYING
+
+MODPLUGTOOLS_DEPENDENCIES = libao libmodplug
+
+# The modplugtools package can build two players: modplugplay that plays
+# directly via OSS and modplug123 that plays via libao. Since modplugplay
+# won't work without OSS support and modern kernels are likely to have no
+# OSS or OSS emulation, we build only modplug123.
+# If you have a system without ALSA support for some reason, you can still
+# use modplug123 to play over OSS via libao.

This comment should instead be part of the commit log, and a simpler comment should be added instead here:

# Only build the mp123 subdir, which contains 'modplug123', since # we do not want to build 'modplugplay', as it requires legacy OSS # and 'modplug123' can output via either ALSA or OSS.

Also, if the options of modplugplay and modplug123 are the same, then you could just install a symlink modplugplay -> modplug123 .

Regards,
Yann E. MORIN.

Quoted 7 lines
package/modplugtools/modplugtools.mk new file +4 -0
+MODPLUGTOOLS_MAKE_OPTS = SUBDIRS=mp123
+MODPLUGTOOLS_INSTALL_TARGET_OPTS = SUBDIRS=mp123 DESTDIR=$(TARGET_DIR) install
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.5
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH v2 1/1 modplugtools: Added package

Hi all,

It seems I copy-pasted the wrong message ID for In-Reply-To, so threading is a bit messed up. Sorry about that.

Quoted 15 lines · On Saturday 18 October 2014 23:57:48 Yann E. MORIN wrote:

On 2014-10-18 22:04 +0200, Maarten ter Huurne spake thusly:

package/modplugtools/Config.in line 4

Quoted 10 lines
(quoted diff) +0 -0

b/package/modplugtools/Config.in new file mode 100644 index 0000000..20009b6

package/modplugtools/Config.in new file +4 -0
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MODPLUGTOOLS
+	bool "modplugtools"
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG

modplugtools should inherit the dependencies from libmodplug, namely C++:

Quoted 5 lines

config BR2_PACKAGE_MODPLUGTOOLS
bool "modplugtools"
depends on BR2_INSTALL_LIBSTDCPP # libmodplug select BR2_PACKAGE_LIBMODPLUG
select BR2_PACKAGE_LIBAO

Hmm, I didn't expect to have to propagate dependencies manually. On the other hand, if Kconfig tried to do this automatically, including supporting conditional dependencies, it might end up as a full Prolog interpreter. ;)

Quoted 9 lines
Quoted 3 lines
package/modplugtools/Config.in new file +2 -0
+	help
+	  This installs the 'modplug123' command line tool to play tracker

music + files (MOD, S3M, XM etc.) using libmodplug.

Since the comments in the .mk file are not directly visible to the user, it would be nice to put a little blurb about OSS vs. ALSA, something like:

modplugplay uses libao to play MOD files, so can output via either ALSA or OSS.

The libao source supports about a dozen different backends, but only ALSA and OSS are supported in Buildroot at the moment. That could change in the future though (maybe someone wants to build the PulseAudio backend too), so I'd rather not duplicate information that might become outdated through changes in a different package.

However, I could mention that libao is used for playing.

Quoted 32 lines
Quoted 22 lines
package/modplugtools/Config.in new file +1 -0
+	  http://modplug-xmms.sourceforge.net/
(quoted diff) +0 -0

b/package/modplugtools/modplugtools.mk new file mode 100644 index 0000000..186d4a7

package/modplugtools/modplugtools.mk new file +1 -0
@@ -0,0 +1,23 @@
+#######################################################################

######### +#

package/modplugtools/modplugtools.mk new file +3 -0
+# modplugtools
+#
+#######################################################################

######### +

package/modplugtools/modplugtools.mk new file +2 -0
+MODPLUGTOOLS_VERSION = 0.5.3
+MODPLUGTOOLS_SITE =

http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools

package/modplugtools/modplugtools.mk new file +6 -0
+MODPLUGTOOLS_LICENSE = GPLv3
+MODPLUGTOOLS_LICENSE_FILES = COPYING
+
+MODPLUGTOOLS_DEPENDENCIES = libao libmodplug
+
+# The modplugtools package can build two players: modplugplay that
Quoted 6 lines

plays
+# directly via OSS and modplug123 that plays via libao. Since modplugplay +# won't work without OSS support and modern kernels are likely to have no +# OSS or OSS emulation, we build only modplug123. +# If you have a system without ALSA support for some reason, you can still +# use modplug123 to play over OSS via libao.

This comment should instead be part of the commit log, and a simpler comment should be added instead here:

Quoted 3 lines

# Only build the mp123 subdir, which contains 'modplug123', since # we do not want to build 'modplugplay', as it requires legacy OSS # and 'modplug123' can output via either ALSA or OSS.

OK.

Quoted 2 lines

Also, if the options of modplugplay and modplug123 are the same, then you could just install a symlink modplugplay -> modplug123 .

I don't see what problem that would solve; "modplug123" on its own will do just fine.

Bye,
Maarten

#5 lore raw

PATCH v2 1/1 modplugtools: Added package

Maarten, All,

On 2014-10-19 01:28 +0200, Maarten ter Huurne spake thusly:

Quoted 16 lines · On Saturday 18 October 2014 23:57:48 Yann E. MORIN wrote:
Quoted 15 lines

On 2014-10-18 22:04 +0200, Maarten ter Huurne spake thusly:

package/modplugtools/Config.in line 4

Quoted 10 lines
(quoted diff) +0 -0

b/package/modplugtools/Config.in new file mode 100644 index 0000000..20009b6

package/modplugtools/Config.in new file +4 -0
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MODPLUGTOOLS
+	bool "modplugtools"
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG

modplugtools should inherit the dependencies from libmodplug, namely C++:

Quoted 7 lines
Quoted 5 lines

config BR2_PACKAGE_MODPLUGTOOLS
bool "modplugtools"
depends on BR2_INSTALL_LIBSTDCPP # libmodplug select BR2_PACKAGE_LIBMODPLUG
select BR2_PACKAGE_LIBAO

Hmm, I didn't expect to have to propagate dependencies manually.

Yes, see chapter 16.2.1, 'Choosing depends on or select' in the manual:
http://buildroot.net/downloads/manual/manual.html#_literal_config_in_literal_file

Quoting:
Note. The current problem with the kconfig language is that these two dependency semantics are not internally linked. Therefore, it may be possible to select a package, whom one of its dependencies/requirement is not met.

Quoted 3 lines

On the
other hand, if Kconfig tried to do this automatically, including supporting conditional dependencies, it might end up as a full Prolog interpreter. ;)

He! :-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH v3 1/1 modplugtools: Added package

In reply to Maarten ter Huurne

This installs the 'modplug123' command line tool to play tracker music files (MOD, S3M, XM etc.) using libmodplug.

The modplugtools package can build two players: modplugplay that plays directly via OSS and modplug123 that plays via libao. Since modplugplay won't work without OSS support and modern kernels are likely to have no OSS or OSS emulation, we build only modplug123.

If you have a system without ALSA support for some reason, you can still use modplug123 to play over OSS via libao.

http://modplug-xmms.sourceforge.net/

---
Changes since v2:
- mention libao in help text
- declare inherited dependency on libstdc++
- shortened comment in Makefile explaining SUBDIRS override

 package/Config.in                    |  1 +
 package/modplugtools/Config.in       | 11 +++++++++++
 package/modplugtools/modplugtools.mk | 20 ++++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 100644 package/modplugtools/Config.in
 create mode 100644 package/modplugtools/modplugtools.mk
package/Config.in +1 -0
index 4c6685a..8b8a20f 100644
@@ -17,6 +17,7 @@ menu "Audio and video applications"
 	source "package/lame/Config.in"
 	source "package/libvpx/Config.in"
 	source "package/madplay/Config.in"
+	source "package/modplugtools/Config.in"
 	source "package/mpd/Config.in"
 	source "package/mpg123/Config.in"
 	source "package/mplayer/Config.in"
package/modplugtools/Config.in new file +11 -0
new file mode 100644
index 0000000..386bae9
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_MODPLUGTOOLS
+	bool "modplugtools"
+	depends on BR2_INSTALL_LIBSTDCPP # libmodplug
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG
+	help
+	  This installs the 'modplug123' command line tool to play music files
+	  in the tracker formats supported by libmodplug: MOD, S3M, XM etc.
+	  Audio output is handled by libao.
+
+	  http://modplug-xmms.sourceforge.net/
package/modplugtools/modplugtools.mk new file +20 -0
new file mode 100644
index 0000000..e8d73af
@@ -0,0 +1,20 @@
+################################################################################
+#
+# modplugtools
+#
+################################################################################
+
+MODPLUGTOOLS_VERSION = 0.5.3
+MODPLUGTOOLS_SITE = http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools
+MODPLUGTOOLS_LICENSE = GPLv3
+MODPLUGTOOLS_LICENSE_FILES = COPYING
+
+MODPLUGTOOLS_DEPENDENCIES = libao libmodplug
+
+# Only build the 'mp123' subdir, which contains 'modplug123' that plays through
+# various backends via libao. This excludes the 'mpplay' subdir, which contains
+# 'modplugplay' that can play only through the deprecated OSS interface.
+MODPLUGTOOLS_MAKE_OPTS = SUBDIRS=mp123
+MODPLUGTOOLS_INSTALL_TARGET_OPTS = SUBDIRS=mp123 DESTDIR=$(TARGET_DIR) install
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.5
#7 lore raw

PATCH v3 1/1 modplugtools: Added package

Maarten, All,

On 2014-10-19 02:00 +0200, Maarten ter Huurne spake thusly:

Quoted 8 lines

This installs the 'modplug123' command line tool to play tracker music files (MOD, S3M, XM etc.) using libmodplug.

The modplugtools package can build two players: modplugplay that plays directly via OSS and modplug123 that plays via libao. Since modplugplay won't work without OSS support and modern kernels are likely to have no OSS or OSS emulation, we build only modplug123.

Quoted 6 lines

If you have a system without ALSA support for some reason, you can still use modplug123 to play over OSS via libao.

http://modplug-xmms.sourceforge.net/

See below...

[--SNIP--]

Quoted 6 lines
package/modplugtools/modplugtools.mk new file +0 -0
new file mode 100644
index 0000000..e8d73af

package/modplugtools/modplugtools.mk line 10

Quoted 10 lines
package/modplugtools/modplugtools.mk new file +10 -0
@@ -0,0 +1,20 @@
+################################################################################
+#
+# modplugtools
+#
+################################################################################
+
+MODPLUGTOOLS_VERSION = 0.5.3
+MODPLUGTOOLS_SITE = http://downloads.sourceforge.net/project/modplug-xmms/modplug-tools
+MODPLUGTOOLS_LICENSE = GPLv3
+MODPLUGTOOLS_LICENSE_FILES = COPYING

This is indeed GPLv3 and no 'or later'.

To be noted: their upstream repo is weird. They do have a COPYING file in their git tree, but it is a simlink to /usr/share/automake-1.11/COPYING. In the archive, it is a real file (not a symlink) with the text of the GPLv3, and the source files have no 'or later' indication.

So the license is dependant on the host system of the person doing the release tarball. Sigh... :-(

I'll report the issue upstream.

Regards,
Yann E. MORIN.

Quoted 13 lines
package/modplugtools/modplugtools.mk new file +10 -0
+
+MODPLUGTOOLS_DEPENDENCIES = libao libmodplug
+
+# Only build the 'mp123' subdir, which contains 'modplug123' that plays through
+# various backends via libao. This excludes the 'mpplay' subdir, which contains
+# 'modplugplay' that can play only through the deprecated OSS interface.
+MODPLUGTOOLS_MAKE_OPTS = SUBDIRS=mp123
+MODPLUGTOOLS_INSTALL_TARGET_OPTS = SUBDIRS=mp123 DESTDIR=$(TARGET_DIR) install
+
+$(eval $(autotools-package))
Signature · 1 line
1.8.4.5
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH v3 1/1 modplugtools: Added package

In reply to Maarten ter Huurne

Dear Maarten ter Huurne,

Quoted 8 lines · Maarten ter Huurne

This installs the 'modplug123' command line tool to play tracker music files (MOD, S3M, XM etc.) using libmodplug.

The modplugtools package can build two players: modplugplay that plays directly via OSS and modplug123 that plays via libao. Since modplugplay won't work without OSS support and modern kernels are likely to have no OSS or OSS emulation, we build only modplug123.

Quoted 6 lines

If you have a system without ALSA support for some reason, you can still use modplug123 to play over OSS via libao.

http://modplug-xmms.sourceforge.net/

Thanks, applied. But there was one missing that Yann didn't spot (!), see below:

Quoted 7 lines
package/modplugtools/Config.in new file +1 -0
new file mode 100644
index 0000000..386bae9
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_MODPLUGTOOLS

package/modplugtools/Config.in line 11

Quoted 10 lines
package/modplugtools/Config.in new file +10 -0
+	bool "modplugtools"
+	depends on BR2_INSTALL_LIBSTDCPP # libmodplug
+	select BR2_PACKAGE_LIBAO
+	select BR2_PACKAGE_LIBMODPLUG
+	help
+	  This installs the 'modplug123' command line tool to play music files
+	  in the tracker formats supported by libmodplug: MOD, S3M, XM etc.
+	  Audio output is handled by libao.
+
+	  http://modplug-xmms.sourceforge.net/

Since you depend on C++, there should be a comment here about this dependency. I've added it and applied your patch.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#9 lore raw

PATCH 1/1 sdl_mixer: Enable support for libmodplug

In reply to Maarten ter Huurne

Dear Maarten ter Huurne,

Quoted 6 lines · Maarten ter Huurne
---
 .../sdl_mixer/sdl_mixer-0001-modplug-include.patch | 33 ++++++++++++++++++++++
 package/sdl_mixer/sdl_mixer.mk                     |  7 +++++
 2 files changed, 40 insertions(+)
 create mode 100644 package/sdl_mixer/sdl_mixer-0001-modplug-include.patch

Unfortunately, this doesn't build here:

checking for MODPLUG... configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables MODPLUG_CFLAGS and MODPLUG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See `config.log' for more details.
make: *** [/home/thomas/projets/buildroot/output/build/sdl_mixer-1.2.12/.stamp_configured] Erreur 1

Seems like there is a missing dependency on host-pkgconf. The failing defconfig was:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.08.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_SDL=y
BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_LIBMODPLUG=y
# BR2_TARGET_ROOTFS_TAR is not set

However, since you're patching configure.in, the sdl-mixer package should have SDL_MIXER_AUTORECONF = YES. But when I add this, I get:

configure.in:569: warning: macro 'AM_PATH_SMPEG' not found in library configure.in:570: error: possibly undefined macro: AM_PATH_SMPEG
If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.

Can you look into these issues and resend? In the mean time, I've marked your patch as "Changes Requested".

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com