* [Buildroot] [PATCH] minidlna: new package
@ 2013-05-06 7:13 spdawson at gmail.com
2013-07-11 5:22 ` Peter Korsgaard
0 siblings, 1 reply; 3+ messages in thread
From: spdawson at gmail.com @ 2013-05-06 7:13 UTC (permalink / raw)
To: buildroot
From: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
package/Config.in | 1 +
package/minidlna/Config.in | 22 +++++
.../minidlna-0001-fix-genconfig-script.patch | 95 ++++++++++++++++++++++
package/minidlna/minidlna-0002-fix-Makefile.patch | 20 +++++
.../minidlna-0003-fix-missing-include.patch | 19 +++++
.../minidlna-0004-fix-libavformat-use.patch | 20 +++++
package/minidlna/minidlna.mk | 44 ++++++++++
7 files changed, 221 insertions(+)
create mode 100644 package/minidlna/Config.in
create mode 100644 package/minidlna/minidlna-0001-fix-genconfig-script.patch
create mode 100644 package/minidlna/minidlna-0002-fix-Makefile.patch
create mode 100644 package/minidlna/minidlna-0003-fix-missing-include.patch
create mode 100644 package/minidlna/minidlna-0004-fix-libavformat-use.patch
create mode 100644 package/minidlna/minidlna.mk
diff --git a/package/Config.in b/package/Config.in
index 3537de1..6733f23 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -706,6 +706,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..a3469e7
--- /dev/null
+++ b/package/minidlna/Config.in
@@ -0,0 +1,22 @@
+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
+ select BR2_PACKAGE_HOST_XUTIL_MAKEDEPEND
+ 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..546eb81
--- /dev/null
+++ b/package/minidlna/minidlna.mk
@@ -0,0 +1,44 @@
+#############################################################
+#
+# 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 = LICENSE LICENCE.miniupnpd
+
+MINIDLNA_DEPENDENCIES = \
+ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite \
+ host-xutil_makedepend
+
+MINIDLNA_CFLAGS=$(TARGET_CFLAGS) \
+ -I"$(STAGING_DIR)/usr/include" \
+ -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))
--
1.8.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] minidlna: new package
2013-05-06 7:13 [Buildroot] [PATCH] minidlna: new package spdawson at gmail.com
@ 2013-07-11 5:22 ` Peter Korsgaard
2013-07-11 6:47 ` Simon Dawson
0 siblings, 1 reply; 3+ messages in thread
From: Peter Korsgaard @ 2013-07-11 5:22 UTC (permalink / raw)
To: buildroot
>>>>> "spdawson" == spdawson <spdawson@gmail.com> writes:
spdawson> From: Simon Dawson <spdawson@gmail.com>
spdawson> Signed-off-by: Simon Dawson <spdawson@gmail.com>
spdawson> +config BR2_PACKAGE_MINIDLNA
spdawson> + bool "minidlna"
spdawson> + depends on BR2_LARGEFILE # ffmpeg
spdawson> + depends on BR2_INET_IPV6 # ffmpeg
spdawson> + depends on BR2_USE_MMU # fork
spdawson> + select BR2_PACKAGE_FFMPEG
spdawson> + select BR2_PACKAGE_FLAC
spdawson> + select BR2_PACKAGE_LIBVORBIS # selects libogg
spdawson> + select BR2_PACKAGE_LIBOGG
spdawson> + select BR2_PACKAGE_LIBID3TAG # selects zlib
spdawson> + select BR2_PACKAGE_LIBEXIF
spdawson> + select BR2_PACKAGE_LIBJPEG
spdawson> + select BR2_PACKAGE_SQLITE
spdawson> + select BR2_PACKAGE_HOST_XUTIL_MAKEDEPEND
We don't have such a host symbol and don't select host packages (except
for the few we have under Host Utilities.
spdawson> +++ b/package/minidlna/minidlna-0002-fix-Makefile.patch
spdawson> @@ -0,0 +1,20 @@
spdawson> +Fix the Makefile.
spdawson> +
spdawson> +N.B. The upstream CVS HEAD has been converted to GNU autotools, but a
spdawson> +tarball has not yet been released. When the next release tarball is made
spdawson> +available, this patch can be removed.
spdawson> +
spdawson> +Signed-off-by: Simon Dawson <spdawson@gmail.com>
spdawson> +
spdawson> +diff -Nurp a/Makefile b/Makefile
spdawson> +--- a/Makefile 2012-01-17 22:49:01.000000000 +0000
spdawson> ++++ b/Makefile 2013-05-04 22:29:19.947073948 +0100
spdawson> +@@ -64,7 +64,7 @@ install-conf:
spdawson> + $(INSTALL) -d $(ETCINSTALLDIR)
spdawson> + $(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
spdawson> +
spdawson> +-minidlna: $(BASEOBJS) $(LNXOBJS) $(LIBS)
spdawson> ++minidlna: $(BASEOBJS) $(LNXOBJS)
'Fix the Makefile' is not very descriptive.
spdawson> +++ b/package/minidlna/minidlna.mk
spdawson> @@ -0,0 +1,44 @@
spdawson> +#############################################################
spdawson> +#
spdawson> +# minidlna
spdawson> +#
spdawson> +#############################################################
spdawson> +
spdawson> +MINIDLNA_VERSION = 1.0.25
spdawson> +MINIDLNA_SITE = http://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION)
spdawson> +MINIDLNA_SOURCE = minidlna_$(MINIDLNA_VERSION)_src.tar.gz
spdawson> +MINIDLNA_LICENSE = GPLv2+ BSD-3c
LICENCE explicitly states:
Version 2 is the only version of this license which this version of
MiniDLNA (or modified versions derived from this one) may be distributed
under.
So it is GPLv2, not GPLv2+.
spdawson> +MINIDLNA_LICENSE_FILES = LICENSE LICENCE.miniupnpd
The first license file is called LICENCE.
spdawson> +
spdawson> +MINIDLNA_DEPENDENCIES = \
spdawson> + ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite \
spdawson> + host-xutil_makedepend
spdawson> +
spdawson> +MINIDLNA_CFLAGS=$(TARGET_CFLAGS) \
spdawson> + -I"$(STAGING_DIR)/usr/include" \
spdawson> + -I"$(STAGING_DIR)/usr/include/libavutil" \
spdawson> + -I"$(STAGING_DIR)/usr/include/libavcodec" \
spdawson> + -I"$(STAGING_DIR)/usr/include/libavformat"
The compiler already looks in STAGING_DIR/usr/include, so the first line
can get dropped.
Committed with these fixes, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH] minidlna: new package
2013-07-11 5:22 ` Peter Korsgaard
@ 2013-07-11 6:47 ` Simon Dawson
0 siblings, 0 replies; 3+ messages in thread
From: Simon Dawson @ 2013-07-11 6:47 UTC (permalink / raw)
To: buildroot
Hi Peter.
On 11 July 2013 06:22, Peter Korsgaard <jacmet@uclibc.org> wrote:
> Committed with these fixes, thanks.
Thanks for your work on this.
Simon.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-11 6:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-06 7:13 [Buildroot] [PATCH] minidlna: new package spdawson at gmail.com
2013-07-11 5:22 ` Peter Korsgaard
2013-07-11 6:47 ` Simon Dawson
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.