summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/multimedia/Config.in1
-rw-r--r--package/multimedia/libmpd/Config.in13
-rw-r--r--package/multimedia/libmpd/libmpd-0.17.0-accept-glib-2.15.patch17
-rw-r--r--package/multimedia/libmpd/libmpd-0.17.0-libdir-la.patch89
-rw-r--r--package/multimedia/libmpd/libmpd.mk14
5 files changed, 134 insertions, 0 deletions
diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 52638d2a8..04577df76 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -9,6 +9,7 @@ source "package/multimedia/gst-plugins-good/Config.in"
source "package/multimedia/gst-plugins-ugly/Config.in"
source "package/multimedia/libid3tag/Config.in"
source "package/multimedia/libmad/Config.in"
+source "package/multimedia/libmpd/Config.in"
source "package/multimedia/libogg/Config.in"
source "package/multimedia/libsndfile/Config.in"
source "package/multimedia/libtheora/Config.in"
diff --git a/package/multimedia/libmpd/Config.in b/package/multimedia/libmpd/Config.in
new file mode 100644
index 000000000..72630ad27
--- /dev/null
+++ b/package/multimedia/libmpd/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBMPD
+ bool "libmpd"
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_GETTEXT
+ select BR2_PACKAGE_LIBINTL
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_PKGCONFIG
+ help
+ High-level client library for accessing Music Player Daemon.
+ LibMpd is a library that provides high-level, callback-based
+ access to Music Player Daemon (mpd).
+
+ http://gmpcwiki.sarine.nl/index.php?title=Libmpd
diff --git a/package/multimedia/libmpd/libmpd-0.17.0-accept-glib-2.15.patch b/package/multimedia/libmpd/libmpd-0.17.0-accept-glib-2.15.patch
new file mode 100644
index 000000000..83c616702
--- /dev/null
+++ b/package/multimedia/libmpd/libmpd-0.17.0-accept-glib-2.15.patch
@@ -0,0 +1,17 @@
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: libmpd-0.17.0/configure.ac
+===================================================================
+--- libmpd-0.17.0.orig/configure.ac
++++ libmpd-0.17.0/configure.ac
+@@ -25,7 +25,7 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ AC_SUBST(EXTRA_LDFLAGS)
+
+-PKG_CHECK_MODULES([glib], glib-2.0 >= 2.16)
++PKG_CHECK_MODULES([glib], glib-2.0 >= 2.15)
+ AC_SUBST(glib_LIBS)
+ AC_SUBST(glib_CFLAGS)
+
diff --git a/package/multimedia/libmpd/libmpd-0.17.0-libdir-la.patch b/package/multimedia/libmpd/libmpd-0.17.0-libdir-la.patch
new file mode 100644
index 000000000..561a33867
--- /dev/null
+++ b/package/multimedia/libmpd/libmpd-0.17.0-libdir-la.patch
@@ -0,0 +1,89 @@
+---
+ ltmain.sh | 39 +++++++++++++++++++++++++++++++++------
+ 1 file changed, 33 insertions(+), 6 deletions(-)
+
+Index: libmpd-0.17.0/ltmain.sh
+===================================================================
+--- libmpd-0.17.0.orig/ltmain.sh
++++ libmpd-0.17.0/ltmain.sh
+@@ -1056,7 +1056,9 @@
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+- func_fatal_error "specify a tag with \`--tag'"
++ $echo "$modename: defaulting to \`CC'"
++ $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++# func_fatal_error "specify a tag with \`--tag'"
+ # else
+ # func_verbose "using $tagname tagged configuration"
+ fi
+@@ -2025,8 +2027,13 @@
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+- test "$inst_prefix_dir" = "$destdir" && \
+- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
++ #
++ # This breaks install into our staging area. -PB
++ #
++ # if test "$inst_prefix_dir" = "$destdir"; then
++ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++ # exit $EXIT_FAILURE
++ # fi
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+@@ -5419,8 +5426,14 @@
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+- dir="$libdir"
+- absdir="$libdir"
++ # Adding 'libdir' from the .la file to our library search paths
++ # breaks crosscompilation horribly. We cheat here and don't add
++ # it, instead adding the path where we found the .la. -CL
++ dir="$abs_ladir"
++ absdir="$abs_ladir"
++ libdir="$abs_ladir"
++ #dir="$libdir"
++ #absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+@@ -5571,7 +5584,7 @@
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+- need_relink=yes
++ need_relink=no
+ fi
+ ;;
+ esac
+@@ -5901,6 +5914,16 @@
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ case $deplib in
++# This interferes with crosscompilation. -CL
++# else
++# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++# if test -z "$libdir"; then
++# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++# exit 1
++# fi
++# if test "$absdir" != "$libdir"; then
++# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++# fi
+ -L*) path="$deplib" ;;
+ *.la)
+ func_dirname "$deplib" "" "."
+@@ -8059,6 +8082,10 @@
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
++ # Replacing uninstalled with installed can easily break crosscompilation,
++ # since the installed path is generally the wrong architecture. -CL
++ newdependency_libs="$newdependency_libs $deplib"
++ continue
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
diff --git a/package/multimedia/libmpd/libmpd.mk b/package/multimedia/libmpd/libmpd.mk
new file mode 100644
index 000000000..28bbaa654
--- /dev/null
+++ b/package/multimedia/libmpd/libmpd.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# libmpd
+#
+#############################################################
+LIBMPD_VERSION = 0.17.0
+LIBMPD_SOURCE = libmpd-$(LIBMPD_VERSION).tar.gz
+LIBMPD_SITE = http://download.sarine.nl/download/Programs/gmpc/$(LIBMPD_VERSION)/
+LIBMPD_AUTORECONF = YES
+LIBMPD_INSTALL_STAGING = YES
+LIBMPD_LIBTOOL_PATCH = NO
+LIBMPD_DEPENDENCIES = libglib2
+
+$(eval $(call AUTOTARGETS,package/multimedia,libmpd))