~ruther/guix-local

04b906799168008c41f62402eee74bd47c1c2681 — Leo Famulari 9 years ago 904c6c4
gnu: Remove unused patches.

* gnu/packages/patches/gcc-libiberty-printf-decl.patch,
gnu/packages/patches/grub-CVE-2015-8370.patch,
gnu/packages/patches/grub-freetype.patch,
gnu/packages/patches/grub-gets-undeclared.patch,
gnu/packages/patches/guile-arm-fixes.patch,
gnu/packages/patches/mplayer2-theora-fix.patch,
gnu/packages/patches/soprano-find-clucene.patch,
gnu/packages/patches/util-linux-CVE-2017-2616.patch,
gnu/packages/patches/xf86-video-intel-compat-api.patch,
gnu/packages/patches/xf86-video-intel-glibc-2.20.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
11 files changed, 0 insertions(+), 746 deletions(-)

M gnu/local.mk
D gnu/packages/patches/gcc-libiberty-printf-decl.patch
D gnu/packages/patches/grub-CVE-2015-8370.patch
D gnu/packages/patches/grub-freetype.patch
D gnu/packages/patches/grub-gets-undeclared.patch
D gnu/packages/patches/guile-arm-fixes.patch
D gnu/packages/patches/mplayer2-theora-fix.patch
D gnu/packages/patches/soprano-find-clucene.patch
D gnu/packages/patches/util-linux-CVE-2017-2616.patch
D gnu/packages/patches/xf86-video-intel-compat-api.patch
D gnu/packages/patches/xf86-video-intel-glibc-2.20.patch
M gnu/local.mk => gnu/local.mk +0 -10
@@ 578,7 578,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/gcc-arm-bug-71399.patch			\
  %D%/packages/patches/gcc-arm-link-spec-fix.patch		\
  %D%/packages/patches/gcc-cross-environment-variables.patch	\
  %D%/packages/patches/gcc-libiberty-printf-decl.patch		\
  %D%/packages/patches/gcc-libvtv-runpath.patch			\
  %D%/packages/patches/gcc-strmov-store-file-names.patch	\
  %D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch	\


@@ 624,12 623,8 @@ dist_patch_DATA =						\
  %D%/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch	\
  %D%/packages/patches/graphite2-non-linear-classes-even-number.patch \
  %D%/packages/patches/grep-timing-sensitive-test.patch		\
  %D%/packages/patches/grub-CVE-2015-8370.patch			\
  %D%/packages/patches/grub-gets-undeclared.patch		\
  %D%/packages/patches/grub-freetype.patch			\
  %D%/packages/patches/gsl-test-i686.patch			\
  %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
  %D%/packages/patches/guile-arm-fixes.patch			\
  %D%/packages/patches/guile-default-utf8.patch			\
  %D%/packages/patches/guile-linux-syscalls.patch		\
  %D%/packages/patches/guile-present-coding.patch		\


@@ 784,7 779,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/mhash-keygen-test-segfault.patch		\
  %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch		\
  %D%/packages/patches/mpc123-initialize-ao.patch		\
  %D%/packages/patches/mplayer2-theora-fix.patch		\
  %D%/packages/patches/module-init-tools-moduledir.patch	\
  %D%/packages/patches/mozjs17-aarch64-support.patch		\
  %D%/packages/patches/mozjs24-aarch64-support.patch		\


@@ 932,7 926,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/slim-reset.patch				\
  %D%/packages/patches/slim-login.patch				\
  %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
  %D%/packages/patches/soprano-find-clucene.patch		\
  %D%/packages/patches/spice-CVE-2016-9577.patch		\
  %D%/packages/patches/spice-CVE-2016-9578-1.patch		\
  %D%/packages/patches/spice-CVE-2016-9578-2.patch		\


@@ 981,7 974,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/unzip-remove-build-date.patch		\
  %D%/packages/patches/ustr-fix-build-with-gcc-5.patch		\
  %D%/packages/patches/util-linux-tests.patch			\
  %D%/packages/patches/util-linux-CVE-2017-2616.patch		\
  %D%/packages/patches/upower-builddir.patch			\
  %D%/packages/patches/valgrind-enable-arm.patch		\
  %D%/packages/patches/virglrenderer-CVE-2017-6386.patch 	\


@@ 1012,8 1004,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/xf86-video-ast-remove-mibstore.patch	\
  %D%/packages/patches/xf86-video-geode-glibc-2.20.patch	\
  %D%/packages/patches/xf86-video-i128-remove-mibstore.patch	\
  %D%/packages/patches/xf86-video-intel-compat-api.patch	\
  %D%/packages/patches/xf86-video-intel-glibc-2.20.patch	\
  %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
  %D%/packages/patches/xf86-video-tga-remove-mibstore.patch	\
  %D%/packages/patches/xfce4-panel-plugins.patch		\

D gnu/packages/patches/gcc-libiberty-printf-decl.patch => gnu/packages/patches/gcc-libiberty-printf-decl.patch +0 -28
@@ 1,28 0,0 @@
This patch makes the exeception specifier of libiberty's 'asprintf'
and 'vasprintf' declarations match those of glibc to work around the
problem described at <https://gcc.gnu.org/ml/gcc-help/2016-04/msg00039.html>.

The problem in part stems from the fact that libiberty is configured
without _GNU_SOURCE (thus, it sets HAVE_DECL_ASPRINTF to 0), whereas libcc1
is configured and built with _GNU_SOURCE, hence the conflicting declarations.

--- gcc-5.3.0/include/libiberty.h	2016-04-23 22:45:46.262709079 +0200
+++ gcc-5.3.0/include/libiberty.h	2016-04-23 22:45:37.110635439 +0200
@@ -625,7 +625,7 @@ extern int pwait (int, int *, int);
 /* Like sprintf but provides a pointer to malloc'd storage, which must
    be freed by the caller.  */
 
-extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
+extern int asprintf (char **, const char *, ...) __THROWNL ATTRIBUTE_PRINTF_2;
 #endif
 
 /* Like asprintf but allocates memory without fail. This works like
@@ -637,7 +637,7 @@ extern char *xasprintf (const char *, ..
 /* Like vsprintf but provides a pointer to malloc'd storage, which
    must be freed by the caller.  */
 
-extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0);
+extern int vasprintf (char **, const char *, va_list) __THROWNL ATTRIBUTE_PRINTF(2,0);
 #endif
 
 /* Like vasprintf but allocates memory without fail. This works like

D gnu/packages/patches/grub-CVE-2015-8370.patch => gnu/packages/patches/grub-CVE-2015-8370.patch +0 -45
@@ 1,45 0,0 @@
From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001
From: Hector Marco-Gisbert <hecmargi@upv.es>
Date: Fri, 13 Nov 2015 16:21:09 +0100
Subject: [PATCH] Fix security issue when reading username and password

  This patch fixes two integer underflows at:
    * grub-core/lib/crypto.c
    * grub-core/normal/auth.c

Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
---
 grub-core/lib/crypto.c  | 2 +-
 grub-core/normal/auth.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
index 010e550..524a3d8 100644
--- a/grub-core/lib/crypto.c
+++ b/grub-core/lib/crypto.c
@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
 	  break;
 	}
 
-      if (key == '\b')
+      if (key == '\b' && cur_len)
 	{
 	  cur_len--;
 	  continue;
diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
index c6bd96e..5782ec5 100644
--- a/grub-core/normal/auth.c
+++ b/grub-core/normal/auth.c
@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
 	  break;
 	}
 
-      if (key == '\b')
+      if (key == '\b' && cur_len)
 	{
 	  cur_len--;
 	  grub_printf ("\b");
-- 
1.9.1


D gnu/packages/patches/grub-freetype.patch => gnu/packages/patches/grub-freetype.patch +0 -24
@@ 1,24 0,0 @@
commit fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Fri Nov 29 12:19:36 2013 +0000

    Fix build with FreeType 2.5.1
    
    * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
    <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
    * util/grub-gen-widthspec.c: Likewise.
    * util/grub-mkfont.c: Likewise.

diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c
index 0d8eb78..242dd01 100644
--- a/util/grub-mkfont.c
+++ b/util/grub-mkfont.c
@@ -43,7 +43,7 @@
 #include FT_FREETYPE_H
 #include FT_TRUETYPE_TAGS_H
 #include FT_TRUETYPE_TABLES_H
-#include <freetype/ftsynth.h>
+#include FT_SYNTHESIS_H
 
 #undef __FTERRORS_H__
 #define FT_ERROR_START_LIST   const char *ft_errmsgs[] = { 

D gnu/packages/patches/grub-gets-undeclared.patch => gnu/packages/patches/grub-gets-undeclared.patch +0 -42
@@ 1,42 0,0 @@
This patch is needed to allow builds with newer versions of
the GNU libc (2.16+).


commit 66712c23388e93e5c518ebc8515140fa0c807348
Author: Eric Blake <eblake@redhat.com>
Date:   Thu Mar 29 13:30:41 2012 -0600

    stdio: don't assume gets any more
    
    Gnulib intentionally does not have a gets module, and now that C11
    and glibc have dropped it, we should be more proactive about warning
    any user on a platform that still has a declaration of this dangerous
    interface.
    
    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
    support.
    * modules/stdio (Makefile.am): Likewise.
    * lib/stdio-read.c (gets): Likewise.
    * tests/test-stdio-c++.cc: Likewise.
    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
    * lib/stdio.in.h (gets): Make warning occur in more places.
    * doc/posix-functions/gets.texi (gets): Update documentation.
    Reported by Christer Solskogen.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>

--- grub-2.00/grub-core/gnulib/stdio.in.h	2013-02-10 16:17:09.000000000 +0100
+++ grub-2.00/grub-core/gnulib/stdio.in.h	2013-02-10 16:17:11.000000000 +0100
@@ -137,12 +137,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
                  "use gnulib module fflush for portable POSIX compliance");
 #endif
 
-/* It is very rare that the developer ever has full control of stdin,
-   so any use of gets warrants an unconditional warning.  Assume it is
-   always declared, since it is required by C89.  */
-#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-
 #if @GNULIB_FOPEN@
 # if @REPLACE_FOPEN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)

D gnu/packages/patches/guile-arm-fixes.patch => gnu/packages/patches/guile-arm-fixes.patch +0 -203
@@ 1,203 0,0 @@
Apply fixes for ARM to Guile.

From df8c52e93dfa3965e4714275f4b8cea2c8e0170b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 4 Jul 2014 15:35:06 +0200
Subject: [PATCH] Recognize arm-* target triplets.

Reported by Sylvain Beucler <beuc@beuc.net>.

* module/system/base/target.scm (cpu-endianness): Add case where CPU is
  "arm".
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["arm-unknown-linux-androideabi"]:
  New test.
---
 module/system/base/target.scm         | 4 +++-
 test-suite/tests/asm-to-bytecode.test | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index c74ae67..cefa951 100644
--- a/module/system/base/target.scm
+++ b/module/system/base/target.scm
@@ -1,6 +1,6 @@
 ;;; Compilation targets
 
-;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
 
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -72,6 +72,8 @@
              (endianness big))
             ((string-match "^arm.*el" cpu)
              (endianness little))
+            ((string=? "arm" cpu)                ;ARMs are LE by default
+             (endianness little))
             (else
              (error "unknown CPU endianness" cpu)))))
 
diff --git a/test-suite/tests/asm-to-bytecode.test b/test-suite/tests/asm-to-bytecode.test
index 6d2f20e..62ea0ed 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -1,6 +1,6 @@
 ;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
 ;;;;
-;;;; 	Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+;;;; 	Copyright (C) 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -205,6 +205,9 @@
   (test-target "x86_64-unknown-linux-gnux32"      ; x32 ABI (Debian tuplet)
                (endianness little) 4)
 
+  (test-target "arm-unknown-linux-androideabi"
+               (endianness little) 4)
+
   (pass-if-exception "unknown target"
     exception:miscellaneous-error
     (call-with-values (lambda ()
-- 
2.1.2

From ffd3e55cfd12a3559621e3130d613d319243512d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Fri, 4 Jul 2014 17:26:41 +0200
Subject: [PATCH] Recognize more ARM targets.

Suggested by Dale P. Smith.

* module/system/base/target.scm (cpu-endianness): Add cases for
  "arm.*eb", "^aarch64.*be", and "aarch64".  Change "arm" case to
  "arm.*".
  (triplet-pointer-size): Allow underscore as in 'aarch64_be'.
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["armeb-unknown-linux-gnu",
  "aarch64-linux-gnu", "aarch64_be-linux-gnu"]: New tests.
---
 module/system/base/target.scm         | 10 ++++++++--
 test-suite/tests/asm-to-bytecode.test |  6 ++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index cefa951..31e3fea 100644
--- a/module/system/base/target.scm
+++ b/module/system/base/target.scm
@@ -72,7 +72,13 @@
              (endianness big))
             ((string-match "^arm.*el" cpu)
              (endianness little))
-            ((string=? "arm" cpu)                ;ARMs are LE by default
+            ((string-match "^arm.*eb" cpu)
+             (endianness big))
+            ((string-prefix? "arm" cpu)          ;ARMs are LE by default
+             (endianness little))
+            ((string-match "^aarch64.*be" cpu)
+             (endianness big))
+            ((string=? "aarch64" cpu)
              (endianness little))
             (else
              (error "unknown CPU endianness" cpu)))))
@@ -97,7 +103,7 @@
           ((string-match "^x86_64-.*-gnux32" triplet) 4)  ; x32
 
           ((string-match "64$" cpu) 8)
-          ((string-match "64[lbe][lbe]$" cpu) 8)
+          ((string-match "64_?[lbe][lbe]$" cpu) 8)
           ((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)
           ((string-match "^arm.*" cpu) 4)
           (else (error "unknown CPU word size" cpu)))))
diff --git a/test-suite/tests/asm-to-bytecode.test b/test-suite/tests/asm-to-bytecode.test
index 62ea0ed..8aeba84 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -207,6 +207,12 @@
 
   (test-target "arm-unknown-linux-androideabi"
                (endianness little) 4)
+  (test-target "armeb-unknown-linux-gnu"
+               (endianness big) 4)
+  (test-target "aarch64-linux-gnu"
+               (endianness little) 8)
+  (test-target "aarch64_be-linux-gnu"
+               (endianness big) 8)
 
   (pass-if-exception "unknown target"
     exception:miscellaneous-error
-- 
2.1.2

From a85c78ea1393985fdb6e6678dea19135c553d341 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Fri, 19 Sep 2014 21:18:09 -0400
Subject: [PATCH] VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL
 outputs.

Reported by Rob Browning <rlb@defaultvalue.org>.

* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint
  to the SMULL output registers.
---
 libguile/vm-i-scheme.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index 587aa95..162efab 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013,
- *   2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2)
       {									\
 	scm_t_signed_bits rlo, rhi;					\
 	asm ("smull %0, %1, %2, %3\n"					\
-	     : "=r" (rlo), "=r" (rhi)					\
+	     : "=&r" (rlo), "=&r" (rhi)					\
 	     : "r" (SCM_UNPACK (x) - scm_tc2_int),			\
 	       "r" (SCM_I_INUM (y)));					\
 	if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi))			\
-- 
2.1.2

From bed025bd2569b1c033f24d7d9e660e39ebf65cac Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Sat, 20 Sep 2014 03:59:51 -0400
Subject: [PATCH] VM: Allow the C compiler to choose FP_REG on ARM.

Reported by Rob Browning <rlb@defaultvalue.org>.

* libguile/vm-engine.h (IP_REG)[__arm__]: Remove explicit register
  choice ("r7") for FP_REG, which was reported to cause compilation
  failures on ARM.
---
 libguile/vm-engine.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h
index 46d4cff..e618be7 100644
--- a/libguile/vm-engine.h
+++ b/libguile/vm-engine.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009-2012, 2014 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -81,7 +81,7 @@
 #ifdef __arm__
 #define IP_REG asm("r9")
 #define SP_REG asm("r8")
-#define FP_REG asm("r7")
+#define FP_REG
 #endif
 #endif
 
-- 
2.1.2


D gnu/packages/patches/mplayer2-theora-fix.patch => gnu/packages/patches/mplayer2-theora-fix.patch +0 -286
@@ 1,286 0,0 @@
Fix libtheora linking issue with modern theora versions.

Adapted from:
http://git.buildroot.net/buildroot/commit/?id=46b71cb0be27c0e6b7c93afb49fc80779bf310e3

--- a/libmpcodecs/vd_theora.c
+++ b/libmpcodecs/vd_theora.c
@@ -39,22 +39,23 @@
 
 LIBVD_EXTERN(theora)
 
-#include <theora/theora.h>
+#include <theora/theoradec.h>
 
 #define THEORA_NUM_HEADER_PACKETS 3
 
 typedef struct theora_struct_st {
-    theora_state st;
-    theora_comment cc;
-    theora_info inf;
+    th_setup_info *tsi;
+    th_dec_ctx    *tctx;
+    th_comment     tc;
+    th_info        ti;
 } theora_struct_t;
 
 /** Convert Theora pixelformat to the corresponding IMGFMT_ */
-static uint32_t theora_pixelformat2imgfmt(theora_pixelformat fmt){
+static uint32_t theora_pixelformat2imgfmt(th_pixel_fmt fmt){
     switch(fmt) {
-       case OC_PF_420: return IMGFMT_YV12;
-       case OC_PF_422: return IMGFMT_422P;
-       case OC_PF_444: return IMGFMT_444P;
+       case TH_PF_420: return IMGFMT_YV12;
+       case TH_PF_422: return IMGFMT_422P;
+       case TH_PF_444: return IMGFMT_444P;
     }
     return 0;
 }
@@ -64,7 +65,7 @@
     theora_struct_t *context = sh->context;
     switch(cmd) {
     case VDCTRL_QUERY_FORMAT:
-        if (*(int*)arg == theora_pixelformat2imgfmt(context->inf.pixelformat))
+        if (*(int*)arg == theora_pixelformat2imgfmt(context->ti.pixel_fmt))
 	    return CONTROL_TRUE;
 	return CONTROL_FALSE;
     }
@@ -88,8 +89,9 @@
     if (!context)
         goto err_out;
 
-    theora_info_init(&context->inf);
-    theora_comment_init(&context->cc);
+    th_info_init(&context->ti);
+    th_comment_init(&context->tc);
+    context->tsi = NULL;
 
     /* Read all header packets, pass them to theora_decode_header. */
     for (i = 0; i < THEORA_NUM_HEADER_PACKETS; i++)
@@ -109,7 +111,7 @@
             op.b_o_s = 1;
         }
 
-        if ( (errorCode = theora_decode_header (&context->inf, &context->cc, &op)) )
+        if ( (errorCode = th_decode_headerin (&context->ti, &context->tc, &context->tsi, &op)) < 0)
         {
             mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Broken Theora header; errorCode=%i!\n", errorCode);
             goto err_out;
@@ -117,23 +119,25 @@
     }
 
     /* now init codec */
-    errorCode = theora_decode_init (&context->st, &context->inf);
-    if (errorCode)
+    context->tctx = th_decode_alloc (&context->ti, context->tsi);
+    if (!context->tctx)
     {
-        mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed: %i \n", errorCode);
+        mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed\n");
         goto err_out;
     }
+    /* free memory used for decoder setup information */
+    th_setup_free(context->tsi);
 
-    if(sh->aspect==0.0 && context->inf.aspect_denominator!=0)
+    if(sh->aspect==0.0 && context->ti.aspect_denominator!=0)
     {
-       sh->aspect = ((double)context->inf.aspect_numerator * context->inf.width)/
-          ((double)context->inf.aspect_denominator * context->inf.height);
+       sh->aspect = ((double)context->ti.aspect_numerator * context->ti.frame_width)/
+          ((double)context->ti.aspect_denominator * context->ti.frame_height);
     }
 
     mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Theora video init ok!\n");
-    mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->inf.width, context->inf.height, context->inf.frame_width, context->inf.frame_height, context->inf.offset_x, context->inf.offset_y);
+    mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->ti.frame_width, context->ti.frame_height, context->ti.pic_width, context->ti.pic_height, context->ti.pic_x, context->ti.pic_y);
 
-    return mpcodecs_config_vo (sh,context->inf.width,context->inf.height,theora_pixelformat2imgfmt(context->inf.pixelformat));
+    return mpcodecs_config_vo (sh,context->ti.frame_width,context->ti.frame_height,theora_pixelformat2imgfmt(context->ti.pixel_fmt));
 
 err_out:
     free(context);
@@ -150,9 +154,9 @@
 
    if (context)
    {
-      theora_info_clear(&context->inf);
-      theora_comment_clear(&context->cc);
-      theora_clear (&context->st);
+      th_info_clear(&context->ti);
+      th_comment_clear(&context->tc);
+      th_decode_free (context->tctx);
       free (context);
    }
 }
@@ -165,7 +169,7 @@
    theora_struct_t *context = sh->context;
    int errorCode = 0;
    ogg_packet op;
-   yuv_buffer yuv;
+   th_ycbcr_buffer ycbcrbuf;
    mp_image_t* mpi;
 
    // no delayed frames
@@ -177,31 +181,31 @@
    op.packet = data;
    op.granulepos = -1;
 
-   errorCode = theora_decode_packetin (&context->st, &op);
-   if (errorCode)
+   errorCode = th_decode_packetin (context->tctx, &op, NULL);
+   if (errorCode < 0)
    {
       mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode packetin failed: %i \n",
 	     errorCode);
       return NULL;
    }
 
-   errorCode = theora_decode_YUVout (&context->st, &yuv);
-   if (errorCode)
+   errorCode = th_decode_ycbcr_out (context->tctx, ycbcrbuf);
+   if (errorCode < 0)
    {
       mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode YUVout failed: %i \n",
 	     errorCode);
       return NULL;
    }
 
-    mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, yuv.y_width, yuv.y_height);
+    mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, ycbcrbuf[0].width, ycbcrbuf[0].height);
     if(!mpi) return NULL;
 
-    mpi->planes[0]=yuv.y;
-    mpi->stride[0]=yuv.y_stride;
-    mpi->planes[1]=yuv.u;
-    mpi->stride[1]=yuv.uv_stride;
-    mpi->planes[2]=yuv.v;
-    mpi->stride[2]=yuv.uv_stride;
+    mpi->planes[0]=ycbcrbuf[0].data;
+    mpi->stride[0]=ycbcrbuf[0].stride;
+    mpi->planes[1]=ycbcrbuf[1].data;
+    mpi->stride[1]=ycbcrbuf[1].stride;
+    mpi->planes[2]=ycbcrbuf[2].data;
+    mpi->stride[2]=ycbcrbuf[2].stride;
 
     return mpi;
 }
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -49,21 +49,21 @@
 #endif
 
 #ifdef CONFIG_OGGTHEORA
-#include <theora/theora.h>
-int _ilog (unsigned int); /* defined in many places in theora/lib/ */
+#include <theora/theoradec.h>
 #endif
 
 #define BLOCK_SIZE 4096
 
 /* Theora decoder context : we won't be able to interpret granule positions
- * without using theora_granule_time with the theora_state of the stream.
+ * without using th_granule_time with the th_dec_ctx of the stream.
  * This is duplicated in `vd_theora.c'; put this in a common header?
  */
 #ifdef CONFIG_OGGTHEORA
 typedef struct theora_struct_st {
-    theora_state   st;
-    theora_comment cc;
-    theora_info    inf;
+    th_setup_info *tsi;
+    th_dec_ctx    *tctx;
+    th_comment     tc;
+    th_info        ti;
 } theora_struct_t;
 #endif
 
@@ -116,7 +116,7 @@
     float   samplerate; /// granulpos 2 time
     int64_t lastpos;
     int32_t lastsize;
-    int     keyframe_frequency_force;
+    int     keyframe_granule_shift;
 
     // Logical stream state
     ogg_stream_state stream;
@@ -299,11 +299,10 @@
            have theora_state st, until all header packets were passed to the
            decoder. */
         if (!pack->bytes || !(*data&0x80)) {
-            int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1);
-            int64_t iframemask = (1 << keyframe_granule_shift) - 1;
+            int64_t iframemask = (1 << os->keyframe_granule_shift) - 1;
 
             if (pack->granulepos >= 0) {
-                os->lastpos  = pack->granulepos >> keyframe_granule_shift;
+                os->lastpos  = pack->granulepos >> os->keyframe_granule_shift;
                 os->lastpos += pack->granulepos & iframemask;
                 *flags = (pack->granulepos & iframemask) == 0;
             } else {
@@ -892,14 +891,15 @@
 #ifdef CONFIG_OGGTHEORA
         } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) {
             int errorCode = 0;
-            theora_info inf;
-            theora_comment cc;
+            th_info ti;
+            th_comment tc;
+            th_setup_info *tsi = NULL;
 
-            theora_info_init (&inf);
-            theora_comment_init (&cc);
+            th_info_init (&ti);
+            th_comment_init (&tc);
 
-            errorCode = theora_decode_header (&inf, &cc, &pack);
-            if (errorCode) {
+            errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack);
+            if (errorCode < 0) {
                 mp_msg(MSGT_DEMUX, MSGL_ERR,
                        "Theora header parsing failed: %i \n", errorCode);
             } else {
@@ -908,30 +908,32 @@
                 sh_v->bih = calloc(1, sizeof(*sh_v->bih));
                 sh_v->bih->biSize        = sizeof(*sh_v->bih);
                 sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA;
-                sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator;
-                sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator;
-                sh_v->disp_w = sh_v->bih->biWidth  = inf.frame_width;
-                sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height;
+                sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator;
+                sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator;
+                sh_v->i_bps  = ti.target_bitrate / 8;
+                sh_v->disp_w = sh_v->bih->biWidth  = ti.frame_width;
+                sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height;
                 sh_v->bih->biBitCount  = 24;
                 sh_v->bih->biPlanes    = 3;
                 sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight);
                 ogg_d->subs[ogg_d->num_sub].samplerate               = sh_v->fps;
                 ogg_d->subs[ogg_d->num_sub].theora                   = 1;
-                ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force;
+                ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift   = ti.keyframe_granule_shift;
                 ogg_d->subs[ogg_d->num_sub].id                       = n_video;
                 n_video++;
                 mp_msg(MSGT_DEMUX, MSGL_INFO,
                        "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n",
                        ogg_d->num_sub,
-                       (int)inf.version_major,
-                       (int)inf.version_minor,
-                       (int)inf.version_subminor,
+                       (int)ti.version_major,
+                       (int)ti.version_minor,
+                       (int)ti.version_subminor,
                        n_video - 1);
                 if (mp_msg_test(MSGT_HEADER, MSGL_V))
                     print_video_header(sh_v->bih, MSGL_V);
             }
-            theora_comment_clear(&cc);
-            theora_info_clear(&inf);
+            th_comment_clear(&tc);
+            th_info_clear(&ti);
+            th_setup_free(tsi);
 #endif /* CONFIG_OGGTHEORA */
         } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) {
             sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio, NULL);

D gnu/packages/patches/soprano-find-clucene.patch => gnu/packages/patches/soprano-find-clucene.patch +0 -15
@@ 1,15 0,0 @@
Search for clucene include file in the clucene include directory.

diff -u -r soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake soprano-2.9.4/cmake/modules/FindCLucene.cmake
--- soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake	2013-10-09 19:22:28.000000000 +0200
+++ soprano-2.9.4/cmake/modules/FindCLucene.cmake	2014-04-28 20:08:11.000000000 +0200
@@ -77,7 +77,8 @@
 
 get_filename_component(TRIAL_LIBRARY_DIR ${CLUCENE_LIBRARY} PATH)
 find_path(CLUCENE_LIBRARY_DIR
-  NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
+  NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} ${CLUCENE_INCLUDE_DIR} NO_DEFAULT_PATH)
+message (STATUS "XXX ${CLUCENE_LIBRARY_DIR}")
 if(CLUCENE_LIBRARY_DIR)
   message(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
   file(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)

D gnu/packages/patches/util-linux-CVE-2017-2616.patch => gnu/packages/patches/util-linux-CVE-2017-2616.patch +0 -65
@@ 1,65 0,0 @@
Fix CVE-2017-2616:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2616
http://seclists.org/oss-sec/2017/q1/474

Patch copied from upstream source repository:

https://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=dffab154d29a288aa171ff50263ecc8f2e14a891

From b018571132cb8c9fece3d75ed240cc74cdb5f0f7 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Wed, 1 Feb 2017 11:58:09 +0100
Subject: [PATCH] su: properly clear child PID
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reported-by: Tobias Stöckmann <tobias@stoeckmann.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
---
 login-utils/su-common.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/login-utils/su-common.c b/login-utils/su-common.c
index 0ea4e40bd..b1720f037 100644
--- a/login-utils/su-common.c
+++ b/login-utils/su-common.c
@@ -376,6 +376,9 @@ create_watching_parent (void)
             }
           else
             status = WEXITSTATUS (status);
+
+	  /* child is gone, don't use the PID anymore */
+	  child = (pid_t) -1;
         }
       else if (caught_signal)
         status = caught_signal + 128;
@@ -385,7 +388,7 @@ create_watching_parent (void)
   else
     status = 1;
 
-  if (caught_signal)
+  if (caught_signal && child != (pid_t)-1)
     {
       fprintf (stderr, _("\nSession terminated, killing shell..."));
       kill (child, SIGTERM);
@@ -395,9 +398,12 @@ create_watching_parent (void)
 
   if (caught_signal)
     {
-      sleep (2);
-      kill (child, SIGKILL);
-      fprintf (stderr, _(" ...killed.\n"));
+      if (child != (pid_t)-1)
+	{
+	  sleep (2);
+	  kill (child, SIGKILL);
+	  fprintf (stderr, _(" ...killed.\n"));
+	}
 
       /* Let's terminate itself with the received signal.
        *
-- 
2.11.1


D gnu/packages/patches/xf86-video-intel-compat-api.patch => gnu/packages/patches/xf86-video-intel-compat-api.patch +0 -13
@@ 1,13 0,0 @@
This patch was copied from Debian.

--- xserver-xorg-video-intel-2.21.15.orig/src/compat-api.h
+++ xserver-xorg-video-intel-2.21.15/src/compat-api.h
@@ -158,4 +158,8 @@
 	if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
 #endif
 
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
+#define DamageUnregister(d, dd) DamageUnregister(dd)
+#endif
+
 #endif

D gnu/packages/patches/xf86-video-intel-glibc-2.20.patch => gnu/packages/patches/xf86-video-intel-glibc-2.20.patch +0 -15
@@ 1,15 0,0 @@
Allow builds with glibc 2.20.
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.

--- xf86-video-intel-2.21.15/src/intel_device.c.~1~	2013-08-09 16:58:48.000000000 -0400
+++ xf86-video-intel-2.21.15/src/intel_device.c	2014-12-18 00:03:54.700759577 -0500
@@ -33,6 +33,8 @@
 
 #include <sys/ioctl.h>
 
+#include <xorg-server.h>
+
 #include <pciaccess.h>
 #include <xf86.h>
 #include <xf86drm.h>