source "package/ushare/Config.in"
source "package/ussp-push/Config.in"
source "package/vde2/Config.in"
+ source "package/vdr/Config.in"
source "package/vnstat/Config.in"
source "package/vpnc/Config.in"
source "package/vsftpd/Config.in"
--- /dev/null
+Fix compilation with uClibc
+
+Ported from
+https://github.com/stschake/buildroot-grasshopper/blob/master/package/torsmo/torsmo-0.18-uclibc-getloadavg.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uwNr vdr-2.3.1.org/skinlcars.c vdr-2.3.1/skinlcars.c
+--- vdr-2.3.1.org/skinlcars.c 2015-09-01 12:07:07.000000000 +0200
++++ vdr-2.3.1/skinlcars.c 2016-07-31 21:00:11.000000000 +0200
+@@ -1099,6 +1099,44 @@
+ }
+ }
+
++/* uclibc and dietlibc do not have this junk -ReneR */
++#if defined (__UCLIBC__) || defined (__dietlibc__)
++static int getloadavg (double loadavg[], int nelem)
++{
++ int fd;
++
++ fd = open ("/proc/loadavg", O_RDONLY);
++ if (fd < 0)
++ return -1;
++ else
++ {
++ char buf[65], *p;
++ ssize_t nread;
++ int i;
++
++ nread = read (fd, buf, sizeof buf - 1);
++ close (fd);
++ if (nread <= 0)
++ return -1;
++ buf[nread - 1] = '\0';
++
++ if (nelem > 3)
++ nelem = 3;
++ p = buf;
++ for (i = 0; i < nelem; ++i)
++ {
++ char *endp;
++ loadavg[i] = strtod (p, &endp);
++ if (endp == p)
++ return -1;
++ p = endp;
++ }
++
++ return i;
++ }
++}
++#endif
++
+ void cSkinLCARSDisplayMenu::DrawLoad(void)
+ {
+ if (yb04) {
--- /dev/null
+Fix compilation with libjpeg
+
+Patch inspired by upstream board:
+http://www.vdr-portal.de/board16-video-disk-recorder/board4-vdr-installation/p1189959-vdr-2-05-mit-libjpeg-9a-kommt-nicht-aus/#post1189959
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uNr vdr-2.3.1.org/tools.c vdr-2.3.1/tools.c
+--- vdr-2.3.1.org/tools.c 2015-09-10 15:17:55.000000000 +0200
++++ vdr-2.3.1/tools.c 2016-08-01 06:37:44.000000000 +0200
+@@ -1254,15 +1254,15 @@
+ }
+ else {
+ esyslog("ERROR: out of memory");
+- return false;
++ return FALSE;
+ }
+ if (jcd->mem) {
+ cinfo->dest->next_output_byte = jcd->mem + Used;
+ cinfo->dest->free_in_buffer = jcd->size - Used;
+- return true;
++ return TRUE;
+ }
+ }
+- return false;
++ return FALSE;
+ }
+
+ static void JpegCompressTermDestination(j_compress_ptr cinfo)
+@@ -1307,8 +1307,8 @@
+ cinfo.in_color_space = JCS_RGB;
+
+ jpeg_set_defaults(&cinfo);
+- jpeg_set_quality(&cinfo, Quality, true);
+- jpeg_start_compress(&cinfo, true);
++ jpeg_set_quality(&cinfo, Quality, TRUE);
++ jpeg_start_compress(&cinfo, TRUE);
+
+ int rs = Width * 3;
+ JSAMPROW rp[Height];
--- /dev/null
+config BR2_PACKAGE_VDR
+ bool "vdr"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on !BR2_TOOLCHAIN_USES_MUSL # _nl_msg_cat_cntr
+ depends on BR2_USE_MMU # fork()
+ depends on BR2_USE_WCHAR
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_FONTCONFIG
+ select BR2_PACKAGE_FREETYPE
+ select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_LIBCAP
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+ help
+ This project describes how to build your own digital
+ satellite receiver and Video Disk Recorder.
+
+ http://www.tvdr.de
+
+comment "vdr needs a glibc or uClibc toolchain w/ C++, dynamic library, NPTL, wchar"
+ depends on BR2_USE_MMU
+ depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+ BR2_TOOLCHAIN_USES_MUSL || !BR2_USE_WCHAR
--- /dev/null
+# From https://www.linuxtv.org/pipermail/vdr/2015-September/028872.html
+md5 391c2ed60e2f7d24563fe3ed5854bc4f vdr-2.3.1.tar.bz2
+# Locally computed
+sha256 456d3f0ceb699b92ebeaf9ff4c0c68979724d10b01a89d5250133e6f4c262fa7 vdr-2.3.1.tar.bz2
--- /dev/null
+################################################################################
+#
+# vdr
+#
+################################################################################
+
+VDR_VERSION = 2.3.1
+VDR_SOURCE = vdr-$(VDR_VERSION).tar.bz2
+VDR_SITE = ftp://ftp.tvdr.de/vdr/Developer
+VDR_LICENSE = GPLv2+
+VDR_LICENSE_FILES = COPYING
+VDR_INSTALL_STAGING = YES
+VDR_DEPENDENCIES = \
+ freetype \
+ fontconfig \
+ jpeg \
+ libcap
+
+VDR_INCLUDE_DIRS = -I$(STAGING_DIR)/usr/include/freetype2
+VDR_MAKE_FLAGS = \
+ NO_KBD=yes \
+ PLUGINLIBDIR=/usr/lib/vdr \
+ PREFIX=/usr \
+ VIDEODIR=/var/lib/vdr
+
+ifeq ($(BR2_NEEDS_GETTEXT),y)
+VDR_DEPENDENCIES += gettext
+VDR_LDFLAGS += -lintl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
+VDR_DEPENDENCIES += libfribidi
+VDR_INCLUDE_DIRS += -I$(STAGING_DIR)/usr/include/fribidi
+VDR_LDFLAGS += -lfribidi
+VDR_MAKE_FLAGS += BIDI=1
+endif
+
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+VDR_DEPENDENCIES += libiconv
+VDR_LDFLAGS += -liconv
+endif
+
+VDR_MAKE_ENV = \
+ INCLUDES="$(VDR_INCLUDE_DIRS)" \
+ LDFLAGS="$(VDR_LDFLAGS)" \
+ $(VDR_MAKE_FLAGS)
+
+define VDR_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) $(VDR_MAKE_ENV) \
+ vdr vdr.pc include-dir
+endef
+
+define VDR_INSTALL_STAGING_CMDS
+ $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) $(VDR_MAKE_ENV) \
+ DESTDIR=$(STAGING_DIR) \
+ install-dirs install-bin install-conf install-includes \
+ install-pc
+endef
+
+define VDR_INSTALL_TARGET_CMDS
+ $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) $(VDR_MAKE_ENV) \
+ DESTDIR=$(TARGET_DIR) \
+ install-dirs install-bin install-conf
+endef
+
+$(eval $(generic-package))