~ruther/guix-local

6633f86b4941ec35bb4c328ec1e0b2bbfc41ad83 — Alex Kost 11 years ago f0b98b8
gnu: Add tvtime.

* gnu/packages/tv.scm,
  gnu/packages/patches/tvtime-gcc41.patch,
  gnu/packages/patches/tvtime-pngoutput.patch,
  gnu/packages/patches/tvtime-videodev2.patch,
  gnu/packages/patches/tvtime-xmltv.patch: New files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add package.
  (dist_patch_DATA): Add patches.
M gnu-system.am => gnu-system.am +5 -0
@@ 294,6 294,7 @@ GNU_SYSTEM_MODULES =				\
  gnu/packages/tmux.scm				\
  gnu/packages/tor.scm				\
  gnu/packages/tre.scm				\
  gnu/packages/tv.scm				\
  gnu/packages/unrtf.scm			\
  gnu/packages/upnp.scm				\
  gnu/packages/uucp.scm				\


@@ 547,6 548,10 @@ dist_patch_DATA =						\
  gnu/packages/patches/teckit-cstdio.patch			\
  gnu/packages/patches/texi2html-document-encoding.patch	\
  gnu/packages/patches/texi2html-i18n.patch			\
  gnu/packages/patches/tvtime-gcc41.patch			\
  gnu/packages/patches/tvtime-pngoutput.patch			\
  gnu/packages/patches/tvtime-videodev2.patch			\
  gnu/packages/patches/tvtime-xmltv.patch			\
  gnu/packages/patches/unzip-CVE-2014-8139.patch		\
  gnu/packages/patches/unzip-CVE-2014-8140.patch		\
  gnu/packages/patches/unzip-CVE-2014-8141.patch		\

A gnu/packages/patches/tvtime-gcc41.patch => gnu/packages/patches/tvtime-gcc41.patch +58 -0
@@ 0,0 1,58 @@
Source: https://projects.archlinux.org/svntogit/community.git/tree/trunk/tvtime-1.0.2-gcc41.patch?h=packages/tvtime

--- tvtime-1.0.1/plugins/greedyh.asm	2005-08-14 18:16:43.000000000 +0200
+++ tvtime-1.0.1-gcc41/plugins/greedyh.asm	2005-11-28 17:53:09.210774544 +0100
@@ -18,7 +18,7 @@
 
 #include "x86-64_macros.inc"
 
-void DScalerFilterGreedyH::FUNCT_NAME(TDeinterlaceInfo* pInfo)
+void FUNCT_NAME(TDeinterlaceInfo* pInfo)
 {
     int64_t i;
     bool InfoIsOdd = (pInfo->PictureHistory[0]->Flags & PICTURE_INTERLACED_ODD) ? 1 : 0;
diff -Naur tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc
--- tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc	2004-10-20 17:31:05.000000000 +0200
+++ tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc	2005-11-28 17:53:33.251119856 +0100
@@ -5,9 +5,9 @@
 #endif
 
 #ifdef USE_STRANGE_BOB
-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n##_SB)
+#define SEARCH_EFFORT_FUNC(n) SEFUNC(n##_SB)
 #else
-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n)
+#define SEARCH_EFFORT_FUNC(n) SEFUNC(n)
 #endif
 
 int SEARCH_EFFORT_FUNC(0)		// we don't try at all ;-)
diff -Naur tvtime-1.0.1/plugins/tomsmocomp.cpp tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp
--- tvtime-1.0.1/plugins/tomsmocomp.cpp	2004-10-20 19:38:04.000000000 +0200
+++ tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp	2005-11-28 17:52:53.862107896 +0100
@@ -31,7 +31,7 @@
 
 #define IS_MMX
 #define SSE_TYPE MMX
-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_MMX
+#define FUNCT_NAME filterDScaler_MMX
 #include "tomsmocomp/TomsMoCompAll.inc"
 #undef  IS_MMX
 #undef  SSE_TYPE
@@ -39,7 +39,7 @@
 
 #define IS_3DNOW
 #define SSE_TYPE 3DNOW
-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_3DNOW
+#define FUNCT_NAME filterDScaler_3DNOW
 #include "tomsmocomp/TomsMoCompAll.inc"
 #undef  IS_3DNOW
 #undef  SSE_TYPE
@@ -47,7 +47,7 @@
 
 #define IS_SSE
 #define SSE_TYPE SSE
-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_SSE
+#define FUNCT_NAME filterDScaler_SSE
 #include "tomsmocomp/TomsMoCompAll.inc"
 #undef  IS_SSE
 #undef  SSE_TYPE

A gnu/packages/patches/tvtime-pngoutput.patch => gnu/packages/patches/tvtime-pngoutput.patch +15 -0
@@ 0,0 1,15 @@
Source: https://sources.debian.net/src/tvtime/1.0.2-14/debian/patches/libpng.diff

From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Date: Mon, 14 May 2012 19:01:31 +0900
Prepares the package for libpng 1.5.  Closes: #650582.

--- tvtime-1.0.2.orig/src/pngoutput.c
+++ tvtime-1.0.2/src/pngoutput.c
@@ -18,5 +18,6 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <zlib.h>
 #include <png.h>
 #include "pngoutput.h" 

A gnu/packages/patches/tvtime-videodev2.patch => gnu/packages/patches/tvtime-videodev2.patch +15 -0
@@ 0,0 1,15 @@
Fix compilation error: non-existing header file.

This is an excerpt from the debian patch:
http://http.debian.net/debian/pool/main/t/tvtime/tvtime_1.0.2-14.diff.gz

--- tvtime-1.0.2.orig/src/videodev2.h
+++ tvtime-1.0.2/src/videodev2.h
@@ -16,7 +16,6 @@
 #ifdef __KERNEL__
 #include <linux/time.h> /* need struct timeval */
 #endif
-#include <linux/compiler.h> /* need __user */
 
 /* for kernel versions 2.4.26 and below: */
 #ifndef __user

A gnu/packages/patches/tvtime-xmltv.patch => gnu/packages/patches/tvtime-xmltv.patch +28 -0
@@ 0,0 1,28 @@
Fix compilation error: conflicting types for 'locale_t'.

This is an excerpt from the debian patch ... 
http://http.debian.net/debian/pool/main/t/tvtime/tvtime_1.0.2-14.diff.gz

--- tvtime-1.0.2.orig/src/xmltv.c
+++ tvtime-1.0.2/src/xmltv.c
@@ -118,9 +118,9 @@
 typedef struct {
     const char *code;
     const char *name;
-} locale_t;
+} tvtime_locale_t;
 
-static locale_t locale_table[] = {
+static tvtime_locale_t locale_table[] = {
     {"AA", "Afar"},           {"AB", "Abkhazian"},      {"AF", "Afrikaans"},
     {"AM", "Amharic"},        {"AR", "Arabic"},         {"AS", "Assamese"},
     {"AY", "Aymara"},         {"AZ", "Azerbaijani"},    {"BA", "Bashkir"},
@@ -168,7 +168,7 @@
     {"XH", "Xhosa"},          {"YO", "Yoruba"},         {"ZH", "Chinese"},
     {"ZU", "Zulu"} };
 
-const int num_locales = sizeof( locale_table ) / sizeof( locale_t );
+const int num_locales = sizeof( locale_table ) / sizeof( tvtime_locale_t );
 
 /**
  * Timezone parsing code based loosely on the algorithm in

A gnu/packages/tv.scm => gnu/packages/tv.scm +64 -0
@@ 0,0 1,64 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages tv)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages image)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages fontutils))

(define-public tvtime
  (package
    (name "tvtime")
    (version "1.0.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/tvtime/tvtime-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "08q5gzbyz0lxb730rz6d6amkzimlc7nanv6n50j2bpw4n2xa9wmf"))
              (patches (list (search-patch "tvtime-videodev2.patch")
                             (search-patch "tvtime-pngoutput.patch")
                             (search-patch "tvtime-xmltv.patch")
                             (search-patch "tvtime-gcc41.patch")))))
    (build-system gnu-build-system)
    (inputs
     `(("libx11" ,libx11)
       ("libxext" ,libxext)
       ("libxt" ,libxt)
       ("libxtst" ,libxtst)
       ("libxinerama" ,libxinerama)
       ("libxv" ,libxv)
       ("libxxf86vm" ,libxxf86vm)
       ("libpng" ,libpng)
       ("libxml2" ,libxml2)
       ("freetype" ,freetype)
       ("zlib" ,zlib)))
    (home-page "http://tvtime.sourceforge.net")
    (synopsis "Television viewer")
    (description
     "Tvtime processes the input from your video capture card and
displays it on a monitor.  It focuses on a high visual quality.")
    (license license:gpl2+)))