From patchwork Sat Aug 6 07:41:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Kuhls X-Patchwork-Id: 656347 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3s5wcd1svpz9snm for ; Sat, 6 Aug 2016 17:42:25 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 6329A93ED1; Sat, 6 Aug 2016 07:42:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nd-CglfXryV; Sat, 6 Aug 2016 07:42:18 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 767BF92EC6; Sat, 6 Aug 2016 07:42:17 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 3D2A31BFA86 for ; Sat, 6 Aug 2016 07:42:16 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 3A7A68A275 for ; Sat, 6 Aug 2016 07:42:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id REzFVzW6IJke for ; Sat, 6 Aug 2016 07:42:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailout04.t-online.de (mailout04.t-online.de [194.25.134.18]) by hemlock.osuosl.org (Postfix) with ESMTPS id 0E5208947F for ; Sat, 6 Aug 2016 07:42:14 +0000 (UTC) Received: from fwd18.aul.t-online.de (fwd18.aul.t-online.de [172.20.26.244]) by mailout04.t-online.de (Postfix) with SMTP id 34D9241B5CA4 for ; Sat, 6 Aug 2016 09:42:11 +0200 (CEST) Received: from fli4l.lan.fli4l (rAkxFkZ1rhSUEWr8WraLdBWtx9BIt3N6vYpnPPG4uZIDljVFQscjCQeKtXm8CrMgtd@[84.191.211.214]) by fwd18.t-online.de with (TLSv1:ECDHE-RSA-AES256-SHA encrypted) esmtp id 1bVwF8-0qHDTE0; Sat, 6 Aug 2016 09:42:02 +0200 Received: from mahler.lan.fli4l ([192.168.1.1]:39330 helo=kuhls.lan.fli4l) by fli4l.lan.fli4l with esmtp (Exim 4.87) (envelope-from ) id 1bVwF7-00032D-OV; Sat, 06 Aug 2016 09:42:02 +0200 From: Bernd Kuhls To: buildroot@buildroot.org Date: Sat, 6 Aug 2016 09:41:58 +0200 Message-Id: <1470469319-11791-1-git-send-email-bernd.kuhls@t-online.de> X-Mailer: git-send-email 2.8.1 X-ID: rAkxFkZ1rhSUEWr8WraLdBWtx9BIt3N6vYpnPPG4uZIDljVFQscjCQeKtXm8CrMgtd X-TOI-MSGID: a2158d2d-cadf-42a8-aada-37a7721db22c Cc: Bernd Kuhls Subject: [Buildroot] [PATCH 1/2] package/vdr: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Bernd Kuhls --- package/Config.in | 1 + package/vdr/0001-getloadavg.patch | 55 +++++++++++++++++++++++++++++++ package/vdr/0002-libjpeg.patch | 40 +++++++++++++++++++++++ package/vdr/Config.in | 25 ++++++++++++++ package/vdr/vdr.hash | 4 +++ package/vdr/vdr.mk | 68 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 193 insertions(+) create mode 100644 package/vdr/0001-getloadavg.patch create mode 100644 package/vdr/0002-libjpeg.patch create mode 100644 package/vdr/Config.in create mode 100644 package/vdr/vdr.hash create mode 100644 package/vdr/vdr.mk diff --git a/package/Config.in b/package/Config.in index 645fa29..a8b9d10 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1597,6 +1597,7 @@ endif 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" diff --git a/package/vdr/0001-getloadavg.patch b/package/vdr/0001-getloadavg.patch new file mode 100644 index 0000000..3937c83 --- /dev/null +++ b/package/vdr/0001-getloadavg.patch @@ -0,0 +1,55 @@ +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 + +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) { diff --git a/package/vdr/0002-libjpeg.patch b/package/vdr/0002-libjpeg.patch new file mode 100644 index 0000000..dbd1f12 --- /dev/null +++ b/package/vdr/0002-libjpeg.patch @@ -0,0 +1,40 @@ +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 + +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]; diff --git a/package/vdr/Config.in b/package/vdr/Config.in new file mode 100644 index 0000000..ec1fec0 --- /dev/null +++ b/package/vdr/Config.in @@ -0,0 +1,25 @@ +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 diff --git a/package/vdr/vdr.hash b/package/vdr/vdr.hash new file mode 100644 index 0000000..f076e58 --- /dev/null +++ b/package/vdr/vdr.hash @@ -0,0 +1,4 @@ +# 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 diff --git a/package/vdr/vdr.mk b/package/vdr/vdr.mk new file mode 100644 index 0000000..862e20f --- /dev/null +++ b/package/vdr/vdr.mk @@ -0,0 +1,68 @@ +################################################################################ +# +# 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 + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) $(VDR_MAKE_ENV) \ + 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))