From 1f5358c71481011c2c10511565bf242a3099352d Mon Sep 17 00:00:00 2001 From: Pavel Vatagin Date: Sat, 4 Mar 2017 22:49:55 +0300 Subject: [PATCH] add package libmms --- plugins/apps/clementine_qt4.mk | 1 + src/gst-plugins-bad.mk | 2 +- src/libmms-1-fixes.patch | 106 +++++++++++++++++++++++++++++++++ src/libmms-test.c | 13 ++++ src/libmms.mk | 30 ++++++++++ 5 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 src/libmms-1-fixes.patch create mode 100644 src/libmms-test.c create mode 100644 src/libmms.mk diff --git a/plugins/apps/clementine_qt4.mk b/plugins/apps/clementine_qt4.mk index 99fdde4d..f271ea8e 100644 --- a/plugins/apps/clementine_qt4.mk +++ b/plugins/apps/clementine_qt4.mk @@ -56,6 +56,7 @@ define $(PKG)_BUILD $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstlame.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstlibav.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstmad.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' + $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstmms.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstogg.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstopus.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' $(INSTALL) '$(PREFIX)/$(TARGET)/bin/libgstplayback.dll' '$(PREFIX)/$(TARGET)/apps/$(PKG)/bin/gstreamer-plugins' diff --git a/src/gst-plugins-bad.mk b/src/gst-plugins-bad.mk index 5ef74e7a..10c7fb2a 100644 --- a/src/gst-plugins-bad.mk +++ b/src/gst-plugins-bad.mk @@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 650855e39ff56a8bb6cb0c192109c5926ce12f536d06e19ebf829de71ef39 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz $(PKG)_URL := http://gstreamer.freedesktop.org/src/$(PKG)/$($(PKG)_FILE) -$(PKG)_DEPS := gcc faad2 gst-plugins-base gstreamer libass libgcrypt mpg123 neon openal openjpeg vo-aacenc vo-amrwbenc +$(PKG)_DEPS := gcc faad2 gst-plugins-base gstreamer libass libgcrypt libmms mpg123 neon openal openjpeg vo-aacenc vo-amrwbenc $(PKG)_UPDATE = $(subst gstreamer/refs,gst-plugins-bad/refs,$(gstreamer_UPDATE)) diff --git a/src/libmms-1-fixes.patch b/src/libmms-1-fixes.patch new file mode 100644 index 00000000..2c87e24b --- /dev/null +++ b/src/libmms-1-fixes.patch @@ -0,0 +1,106 @@ +This file is part of MXE. See LICENSE.md for licensing information. + +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Lindgren +Date: Thu, 29 May 2014 22:42:53 -0400 +Subject: [PATCH] Remove "Requires: glib-2.0" since libmms no longer depends on + GLib. +https://sourceforge.net/p/libmms/code/ci/b9bbe17c08e5dcbe3ce841e6bed52ce8d8b10f9e/ + +diff --git a/pkgconfig/libmms.pc.in b/pkgconfig/libmms.pc.in +index 1111111..2222222 100644 +--- a/pkgconfig/libmms.pc.in ++++ b/pkgconfig/libmms.pc.in +@@ -4,8 +4,7 @@ libdir=@libdir@ + includedir=@includedir@/ + + Name: libmms +-Description: Library implementing the MMS protocol +-Requires: glib-2.0 ++Description: Library implementing the MMS protocol + Version: @VERSION@ + Libs: -L${libdir} -lmms -lm + Cflags: -I${includedir} + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Lindgren +Date: Thu, 19 Nov 2015 13:39:27 +0100 +Subject: [PATCH] Fix build if strndup() is missing +https://sourceforge.net/p/libmms/code/ci/67d54003b8075b8ea8102bc4a808df4543ab113a/ + +diff --git a/configure.in b/configure.in +index 1111111..2222222 100755 +--- a/configure.in ++++ b/configure.in +@@ -14,6 +14,7 @@ AC_PROG_INSTALL + + dnl Checks for header files. + AC_CHECK_HEADERS([sys/socket.h netinet/in.h netdb.h windows.h winsock2.h]) ++AC_CHECK_FUNCS([strndup]) + + case $host in + *beos*) +diff --git a/src/uri.c b/src/uri.c +index 1111111..2222222 100644 +--- a/src/uri.c ++++ b/src/uri.c +@@ -17,6 +17,10 @@ + * Boston, MA 02111-1307, USA. + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #include + #include + #include +@@ -125,6 +129,29 @@ for ($i = 0; $i < 32; $i++) + #define ISSPACE(C) (((C) >= 9 && (C) <= 13) || (C) == ' ') + + ++/* Implement the strndup function. ++ Copyright (C) 2005 Free Software Foundation, Inc. ++ Written by Kaveh R. Ghazi . */ ++#ifndef HAVE_STRNDUP ++char * ++strndup (const char *s, size_t n) ++{ ++ char *result; ++ size_t len = strlen (s); ++ ++ if (n < len) ++ len = n; ++ ++ result = (char *) malloc (len + 1); ++ if (!result) ++ return 0; ++ ++ result[len] = '\0'; ++ return (char *) memcpy (result, s, len); ++} ++#endif ++ ++ + static int split_user_passwd(const char* in, char** user, char** passwd) + { + char *pass, *tmp = g_strdup(in); + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Pavel Vatagin +Date: Sun, 5 Mar 2017 00:31:24 +0300 +Subject: [PATCH] fix pc + + +diff --git a/pkgconfig/libmms.pc.in b/pkgconfig/libmms.pc.in +index 1111111..2222222 100644 +--- a/pkgconfig/libmms.pc.in ++++ b/pkgconfig/libmms.pc.in +@@ -7,4 +7,5 @@ Name: libmms + Description: Library implementing the MMS protocol + Version: @VERSION@ + Libs: -L${libdir} -lmms -lm ++Libs.private: -lws2_32 + Cflags: -I${includedir} diff --git a/src/libmms-test.c b/src/libmms-test.c new file mode 100644 index 00000000..2b22dd4f --- /dev/null +++ b/src/libmms-test.c @@ -0,0 +1,13 @@ +/* + * This file is part of MXE. See LICENSE.md for licensing information. + */ + +#include + +int main() +{ + mms_t* p = mms_connect (NULL, NULL, NULL, 0); + mms_close (p); + + return 0; +} diff --git a/src/libmms.mk b/src/libmms.mk new file mode 100644 index 00000000..418516f8 --- /dev/null +++ b/src/libmms.mk @@ -0,0 +1,30 @@ +# This file is part of MXE. See LICENSE.md for licensing information. + +PKG := libmms +$(PKG)_WEBSITE := https://sourceforge.net/projects/libmms/ +$(PKG)_DESCR := a library for downloading (streaming) media files using the mmst and mmsh protocols +$(PKG)_IGNORE := +$(PKG)_VERSION := 0.6.4 +$(PKG)_CHECKSUM := 3c05e05aebcbfcc044d9e8c2d4646cd8359be39a3f0ba8ce4e72a9094bee704f +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz +$(PKG)_URL := https://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$(PKG)/$($(PKG)_VERSION)/$(PKG)-$($(PKG)_VERSION).tar.gz +$(PKG)_DEPS := gcc + +define $(PKG)_UPDATE + $(WGET) -q -O- 'https://sourceforge.net/projects/libmms/files/libmms/' | \ + $(SED) -n 's,.*/\([0-9][^"]*\)/".*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/configure' \ + $(MXE_CONFIGURE_OPTS) + $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) + $(MAKE) -C '$(BUILD_DIR)' -j 1 install + + $(TARGET)-gcc \ + -W -Wall -Werror -ansi -pedantic \ + '$(TEST_FILE)' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ + `$(TARGET)-pkg-config $(PKG) --cflags --libs` +endef