summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Dawson <spdawson@gmail.com>2013-05-06 07:13:10 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2013-07-11 05:14:39 (GMT)
commit7bf659ab111b91384af30cd219b539e2f5080ae1 (patch)
tree1ee9e14c788da29a2cb09a493e7b49b6dde11c1c
parent2ea220d53a491220c0ac299f2f15c7c64028617a (diff)
downloadbuildroot-7bf659ab111b91384af30cd219b539e2f5080ae1.tar.gz
buildroot-7bf659ab111b91384af30cd219b539e2f5080ae1.tar.bz2
minidlna: new package
[Peter: license is GPLv2, fix license file, drop unneeded standard include] Signed-off-by: Simon Dawson <spdawson@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/Config.in1
-rw-r--r--package/minidlna/Config.in21
-rw-r--r--package/minidlna/minidlna-0001-fix-genconfig-script.patch95
-rw-r--r--package/minidlna/minidlna-0002-fix-Makefile.patch20
-rw-r--r--package/minidlna/minidlna-0003-fix-missing-include.patch19
-rw-r--r--package/minidlna/minidlna-0004-fix-libavformat-use.patch20
-rw-r--r--package/minidlna/minidlna.mk43
7 files changed, 219 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 8039834..b588a0c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -745,6 +745,7 @@ source "package/linphone/Config.in"
source "package/lrzsz/Config.in"
source "package/macchanger/Config.in"
source "package/mii-diag/Config.in"
+source "package/minidlna/Config.in"
source "package/mongoose/Config.in"
source "package/mongrel2/Config.in"
source "package/mrouted/Config.in"
diff --git a/package/minidlna/Config.in b/package/minidlna/Config.in
new file mode 100644
index 0000000..c73c001
--- /dev/null
+++ b/package/minidlna/Config.in
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_MINIDLNA
+ bool "minidlna"
+ depends on BR2_LARGEFILE # ffmpeg
+ depends on BR2_INET_IPV6 # ffmpeg
+ depends on BR2_USE_MMU # fork
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_FLAC
+ select BR2_PACKAGE_LIBVORBIS # selects libogg
+ select BR2_PACKAGE_LIBOGG
+ select BR2_PACKAGE_LIBID3TAG # selects zlib
+ select BR2_PACKAGE_LIBEXIF
+ select BR2_PACKAGE_LIBJPEG
+ select BR2_PACKAGE_SQLITE
+ help
+ MiniDLNA (aka ReadyDLNA) is server software with the aim of being
+ fully compliant with DLNA/UPnP-AV clients.
+
+ http://minidlna.sourceforge.net/
+
+comment "minidlna requires a toolchain with LARGEFILE and IPV6 support"
+ depends on !(BR2_LARGEFILE && BR2_INET_IPV6)
diff --git a/package/minidlna/minidlna-0001-fix-genconfig-script.patch b/package/minidlna/minidlna-0001-fix-genconfig-script.patch
new file mode 100644
index 0000000..9a7b4e0
--- /dev/null
+++ b/package/minidlna/minidlna-0001-fix-genconfig-script.patch
@@ -0,0 +1,95 @@
+Fix the genconfig.sh script, which has a hard-coded host prefix.
+
+N.B. The upstream CVS HEAD has been converted to GNU autotools, but a
+tarball has not yet been released. When the next release tarball is made
+available, this patch can be removed.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/genconfig.sh b/genconfig.sh
+--- a/genconfig.sh 2012-01-21 00:34:13.000000000 +0000
++++ b/genconfig.sh 2013-05-04 21:05:12.025002800 +0100
+@@ -27,6 +27,8 @@ CONFIGMACRO="__CONFIG_H__"
+ DB_PATH="/tmp/minidlna"
+ # Log path
+ LOG_PATH="${DB_PATH}"
++# Host prefix
++PREFIX=${PREFIX:-/usr}
+
+ # detecting the OS name and version
+ OS_NAME=`uname -s`
+@@ -40,22 +42,22 @@ ${RM} ${CONFIGFILE}
+
+ # Detect if there are missing headers
+ # NOTE: This check only works with a normal distro
+-[ ! -e "/usr/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
+-[ ! -e "/usr/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
+-[ ! -e "/usr/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
+-[ ! -e "/usr/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
+-[ ! -e "/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
+-[ ! -e "/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
+-[ ! -e "/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avutil.h" -a \
+- ! -e "/usr/include/libavutil/avutil.h" -a \
+- ! -e "/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avformat.h" -a \
+- ! -e "/usr/include/libavformat/avformat.h" -a \
+- ! -e "/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
+-[ ! -e "/usr/include/ffmpeg/avcodec.h" -a \
+- ! -e "/usr/include/libavcodec/avcodec.h" -a \
+- ! -e "/usr/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
++[ ! -e "$PREFIX/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
++[ ! -e "$PREFIX/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
++[ ! -e "$PREFIX/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
++[ ! -e "$PREFIX/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
++[ ! -e "$PREFIX/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
++[ ! -e "$PREFIX/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
++[ ! -e "$PREFIX/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
++[ ! -e "$PREFIX/include/ffmpeg/avutil.h" -a \
++ ! -e "$PREFIX/include/libavutil/avutil.h" -a \
++ ! -e "$PREFIX/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
++[ ! -e "$PREFIX/include/ffmpeg/avformat.h" -a \
++ ! -e "$PREFIX/include/libavformat/avformat.h" -a \
++ ! -e "$PREFIX/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
++[ ! -e "$PREFIX/include/ffmpeg/avcodec.h" -a \
++ ! -e "$PREFIX/include/libavcodec/avcodec.h" -a \
++ ! -e "$PREFIX/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
+ if [ -n "$MISSING" ]; then
+ echo -e "\nERROR! Cannot continue."
+ echo -e "The following required libraries are either missing, or are missing development headers:\n"
+@@ -88,7 +90,7 @@ case $OS_NAME in
+ OS_URL=http://www.openbsd.org/
+ ;;
+ FreeBSD)
+- VER=`grep '#define __FreeBSD_version' /usr/include/sys/param.h | awk '{print $3}'`
++ VER=`grep '#define __FreeBSD_version' $PREFIX/include/sys/param.h | awk '{print $3}'`
+ if [ $VER -ge 700049 ]; then
+ echo "#define PFRULE_INOUT_COUNTS" >> ${CONFIGFILE}
+ fi
+@@ -175,7 +177,7 @@ echo "#define USE_DAEMON" >> ${CONFIGFIL
+ echo "" >> ${CONFIGFILE}
+
+ echo "/* Enable if the system inotify.h exists. Otherwise our own inotify.h will be used. */" >> ${CONFIGFILE}
+-if [ -f /usr/include/sys/inotify.h ]; then
++if [ -f $PREFIX/include/sys/inotify.h ]; then
+ echo "#define HAVE_INOTIFY_H" >> ${CONFIGFILE}
+ else
+ echo "/*#define HAVE_INOTIFY_H*/" >> ${CONFIGFILE}
+@@ -183,7 +185,7 @@ fi
+ echo "" >> ${CONFIGFILE}
+
+ echo "/* Enable if the system iconv.h exists. ID3 tag reading in various character sets will not work properly otherwise. */" >> ${CONFIGFILE}
+-if [ -f /usr/include/iconv.h ]; then
++if [ -f $PREFIX/include/iconv.h ]; then
+ echo "#define HAVE_ICONV_H" >> ${CONFIGFILE}
+ else
+ echo -e "\nWARNING!! Iconv support not found. ID3 tag reading may not work."
+@@ -192,7 +194,7 @@ fi
+ echo "" >> ${CONFIGFILE}
+
+ echo "/* Enable if the system libintl.h exists for NLS support. */" >> ${CONFIGFILE}
+-if [ -f /usr/include/libintl.h ]; then
++if [ -f $PREFIX/include/libintl.h ]; then
+ echo "#define ENABLE_NLS" >> ${CONFIGFILE}
+ else
+ echo "/*#define ENABLE_NLS*/" >> ${CONFIGFILE}
diff --git a/package/minidlna/minidlna-0002-fix-Makefile.patch b/package/minidlna/minidlna-0002-fix-Makefile.patch
new file mode 100644
index 0000000..7d9867d
--- /dev/null
+++ b/package/minidlna/minidlna-0002-fix-Makefile.patch
@@ -0,0 +1,20 @@
+Fix the Makefile.
+
+N.B. The upstream CVS HEAD has been converted to GNU autotools, but a
+tarball has not yet been released. When the next release tarball is made
+available, this patch can be removed.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/Makefile b/Makefile
+--- a/Makefile 2012-01-17 22:49:01.000000000 +0000
++++ b/Makefile 2013-05-04 22:29:19.947073948 +0100
+@@ -64,7 +64,7 @@ install-conf:
+ $(INSTALL) -d $(ETCINSTALLDIR)
+ $(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
+
+-minidlna: $(BASEOBJS) $(LNXOBJS) $(LIBS)
++minidlna: $(BASEOBJS) $(LNXOBJS)
+ @echo Linking $@
+ @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
+
diff --git a/package/minidlna/minidlna-0003-fix-missing-include.patch b/package/minidlna/minidlna-0003-fix-missing-include.patch
new file mode 100644
index 0000000..124b0da
--- /dev/null
+++ b/package/minidlna/minidlna-0003-fix-missing-include.patch
@@ -0,0 +1,19 @@
+Fix a missing header include, required for S_ISVTX et al.
+
+N.B. This change is in the upstream CVS HEAD, but is not in the latest
+released tarball. When the next release tarball is made available, this
+patch can be removed.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/minidlna.c b/minidlna.c
+--- a/minidlna.c 2012-05-08 01:10:42.000000000 +0100
++++ b/minidlna.c 2013-05-04 21:28:35.372717737 +0100
+@@ -57,6 +57,7 @@
+ #include <arpa/inet.h>
+ #include <fcntl.h>
+ #include <sys/file.h>
++#include <sys/stat.h>
+ #include <sys/time.h>
+ #include <time.h>
+ #include <signal.h>
diff --git a/package/minidlna/minidlna-0004-fix-libavformat-use.patch b/package/minidlna/minidlna-0004-fix-libavformat-use.patch
new file mode 100644
index 0000000..a51262d
--- /dev/null
+++ b/package/minidlna/minidlna-0004-fix-libavformat-use.patch
@@ -0,0 +1,20 @@
+Work around a broken test for libavformat version.
+
+N.B. This change is in the upstream CVS HEAD, but is not in the latest
+released tarball. When the next release tarball is made available, this
+patch can be removed.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/metadata.c b/metadata.c
+--- a/metadata.c 2012-06-29 22:11:29.000000000 +0100
++++ b/metadata.c 2013-05-04 22:22:47.128202396 +0100
+@@ -110,7 +110,7 @@ lav_open(AVFormatContext **ctx, const ch
+ static inline void
+ lav_close(AVFormatContext *ctx)
+ {
+-#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(2<<8)+0)
++#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(17<<8)+0)
+ avformat_close_input(&ctx);
+ #else
+ av_close_input_file(ctx);
diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
new file mode 100644
index 0000000..1dd65fa
--- /dev/null
+++ b/package/minidlna/minidlna.mk
@@ -0,0 +1,43 @@
+################################################################################
+#
+# minidlna
+#
+################################################################################
+
+MINIDLNA_VERSION = 1.0.25
+MINIDLNA_SITE = http://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION)
+MINIDLNA_SOURCE = minidlna_$(MINIDLNA_VERSION)_src.tar.gz
+MINIDLNA_LICENSE = GPLv2 BSD-3c
+MINIDLNA_LICENSE_FILES = LICENCE LICENCE.miniupnpd
+
+MINIDLNA_DEPENDENCIES = \
+ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite \
+ host-xutil_makedepend
+
+MINIDLNA_CFLAGS=$(TARGET_CFLAGS) \
+ -I"$(STAGING_DIR)/usr/include/libavutil" \
+ -I"$(STAGING_DIR)/usr/include/libavcodec" \
+ -I"$(STAGING_DIR)/usr/include/libavformat"
+
+define MINIDLNA_BUILD_CMDS
+ PREFIX=$(STAGING_DIR)/usr \
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(MINIDLNA_CFLAGS)" -C $(@D) depend
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(MINIDLNA_CFLAGS)" -C $(@D) all
+endef
+
+define MINIDLNA_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+ -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define MINIDLNA_UNINSTALL_TARGET_CMDS
+ $(RM) $(TARGET_DIR)/usr/sbin/minidlna
+endef
+
+define MINIDLNA_CLEAN_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) clean
+endef
+
+$(eval $(generic-package))