summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/doc/manual/development/meta-attributes.xml62
-rw-r--r--nixos/doc/manual/development/writing-modules.xml1
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix12
-rw-r--r--pkgs/applications/office/mendeley/default.nix9
-rw-r--r--pkgs/applications/video/handbrake/default.nix46
-rw-r--r--pkgs/applications/video/handbrake/disable-unfree.patch101
-rw-r--r--pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch76
-rw-r--r--pkgs/build-support/grsecurity/default.nix3
-rw-r--r--pkgs/development/libraries/cpp-hocon/default.nix26
-rw-r--r--pkgs/development/libraries/leatherman/default.nix8
-rw-r--r--pkgs/development/libraries/liborc/default.nix17
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix1
-rw-r--r--pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix2
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix8
-rw-r--r--pkgs/tools/system/runit/default.nix8
-rw-r--r--pkgs/tools/typesetting/kindlegen/default.nix48
-rw-r--r--pkgs/top-level/all-packages.nix55
21 files changed, 291 insertions, 208 deletions
diff --git a/nixos/doc/manual/development/meta-attributes.xml b/nixos/doc/manual/development/meta-attributes.xml
new file mode 100644
index 00000000000..de0870314dc
--- /dev/null
+++ b/nixos/doc/manual/development/meta-attributes.xml
@@ -0,0 +1,62 @@
+<section xmlns="http://docbook.org/ns/docbook"
+        xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:xi="http://www.w3.org/2001/XInclude"
+        version="5.0"
+        xml:id="sec-meta-attributes">
+
+<title>Meta Attributes</title>
+
+<para>Like Nix packages, NixOS modules can declare meta-attributes to provide
+  extra information. Module meta attributes are defined in the
+  <filename
+    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/misc/meta.nix">meta.nix</filename>
+  special module.</para>
+
+<para><literal>meta</literal> is a top level attribute like
+  <literal>options</literal> and <literal>config</literal>. Available
+  meta-attributes are <literal>maintainers</literal> and
+  <literal>doc</literal>.</para>
+
+<para>Each of the meta-attributes must be defined at most once per module
+  file.</para>
+
+<programlisting>
+{ config, lib, pkgs, ... }:
+{
+  options = {
+    ...
+  };
+
+  config = {
+    ...
+  };
+
+  meta = {
+    maintainers = with lib.maintainers; [ ericsagnes ]; <co
+      xml:id='modules-meta-1' />
+    doc = ./default.xml; <co xml:id='modules-meta-2' />
+  };
+}
+</programlisting>
+
+<calloutlist>
+ <callout arearefs='modules-meta-1'>
+  <para>
+    <varname>maintainers</varname> contains a list of the module maintainers.
+  </para>
+ </callout>
+
+ <callout arearefs='modules-meta-2'>
+  <para>
+    <varname>doc</varname> points to a valid DocBook file containing the module
+    documentation. Its contents is automatically added to <xref
+      linkend="ch-configuration"/>.
+    Changes to a module documentation have to be checked to not break
+    building the NixOS manual:
+  </para>
+  <programlisting>$ nix-build nixos/release.nix -A manual</programlisting>
+ </callout>
+
+</calloutlist>
+
+</section>
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml
index 971e586f20b..a68b122ce02 100644
--- a/nixos/doc/manual/development/writing-modules.xml
+++ b/nixos/doc/manual/development/writing-modules.xml
@@ -177,5 +177,6 @@ in {
 
 <xi:include href="option-declarations.xml" />
 <xi:include href="option-def.xml" />
+<xi:include href="meta-attributes.xml" />
 
 </chapter>
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 58575af462a..edc8bbc3f77 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gpxsee-${version}";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "0xqmjh071my9klxlk5afx8r673zlknq84n7ain6mz9i8n9m1gviv";
+    sha256 = "1422kgj972ydasqqm0k02qf3v2py7if2ibri7yjg8awqilacy6by";
   };
 
   nativeBuildInputs = [ qmakeHook ];
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index eadd85d4648..b98e7eea14b 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -23,17 +23,17 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "8.4.19";
+  version = "8.4.21";
   sha256 =
     {
-      "x86_64-linux" = "0pm43cklsm41mg463mz0ypvbladm2mz65s7ar9z4k4hgjrhyh67j";
-      "i686-linux" = "0myz8s2xdl034zb4548fgzz2f5gfvzfr1nwp50fh3f3hmf6frgp3";
+      "x86_64-linux" = "1nihmr99mzyjhhdlg39j6g0m6hqgdz80lgrjdw1nnh38vq4fgbnq";
+      "i686-linux"   = "09jfdc8isjcpvgnvfykawlvdq65ng0dg6b54m4vdswk58ggndvlq";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
     {
       "x86_64-linux" = "x86_64";
-      "i686-linux" = "x86";
+      "i686-linux"   = "x86";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   # relative location where the dropbox libraries are stored
@@ -74,7 +74,7 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p "$out/${appdir}"
-    cp -r "dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
+    cp -r --no-preserve=mode "dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
 
     rm "$out/${appdir}/libdrm.so.2"
     rm "$out/${appdir}/libffi.so.6"
@@ -104,6 +104,8 @@ in stdenv.mkDerivation {
     RPATH="${ldpath}:$out/${appdir}"
     makeWrapper "$out/${appdir}/dropbox" "$out/bin/dropbox" \
       --prefix LD_LIBRARY_PATH : "$RPATH"
+
+    chmod 755 $out/${appdir}/dropbox
   '';
 
   fixupPhase = ''
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 5ad6df96325..7ccf66c055e 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, dpkg, makeWrapper, which
-,gcc, xorg, qt4, zlib
+,gcc, liborc, xorg, qt4, zlib
 , ...}:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -12,17 +12,18 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.16.1-stable";
+  shortVersion = "1.16.2-stable";
 
   version = "${shortVersion}_${arch}";
 
   url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
   sha256 = if stdenv.system == arch32
-    then "0lsmaw8zzyfvndsz1awz3vl5cdvsik9wc3ck8983y20awh7r9f4m"
-    else "0q11v6dv7z5q4s9hlr1hmsd73nmkp8l0sj0b3hjxfblx4mqk6wl7";
+    then "08f61972d5a5e491fcd3d4cf5dfe59ad7e07b3883b7ad50d440868c3057af6fb"
+    else "9bd139b236143f78b23ff4271c01a20c059622abe9dd125e771e0b5db16b7b7b";
 
   deps = [
     gcc.cc
+    liborc
     qt4
     xorg.libX11
     zlib
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index 351cf5c5211..9f257cde21f 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -7,8 +7,6 @@
 # This has the benefits of providing improvements to other packages,
 # making licenses more clear and reducing compile time/install size.
 #
-# For compliance, the unfree codec faac is optionally spliced out.
-#
 # Only tested on Linux
 #
 # TODO: package and use libappindicator
@@ -18,47 +16,40 @@
   autoconf, automake, libtool, m4,
   libass, libsamplerate, fribidi, libxml2, bzip2,
   libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
-  lame, faac, ffmpeg, libdvdread, libdvdnav, libbluray,
-  mp4v2, mpeg2dec, x264, libmkv,
+  lame, ffmpeg, libdvdread, libdvdnav, libbluray,
+  mp4v2, mpeg2dec, x264, x265, libmkv,
   fontconfig, freetype, hicolor_icon_theme,
-  glib, gtk, webkitgtk, intltool, libnotify,
-  gst_all_1, dbus_glib, udev, libgudev,
-  useGtk ? true,
-  useWebKitGtk ? false # This prevents ghb from starting in my tests
+  glib, gtk3, intltool, libnotify,
+  gst_all_1, dbus_glib, udev, libgudev, libvpx,
+  wrapGAppsHook,
+  useGtk ? true
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.9";
+  version = "0.10.5";
   name = "handbrake-${version}";
 
-  # ToDo: doesn't work (yet)
-  allowUnfree = false; # config.allowUnfree or false;
-
   buildInputsX = stdenv.lib.optionals useGtk [
-    glib gtk intltool libnotify
+    glib gtk3 intltool libnotify
     gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
     libgudev
-  ] ++ stdenv.lib.optionals useWebKitGtk [ webkitgtk ];
-
-  # Did not test compiling with it
-  unfreeInputs = stdenv.lib.optional allowUnfree faac;
+    wrapGAppsHook
+  ];
 
   nativeBuildInputs = [ python pkgconfig yasm autoconf automake libtool m4 ];
   buildInputs = [
     fribidi fontconfig freetype hicolor_icon_theme
     libass libsamplerate libxml2 bzip2
     libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac
-    lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264
-  ] ++ buildInputsX ++ unfreeInputs;
+    lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx
+  ] ++ buildInputsX;
 
 
   src = fetchurl {
     url = "http://download.handbrake.fr/releases/${version}/HandBrake-${version}.tar.bz2";
-    sha256 = "1crmm1c32vx60jfl2bqzg59q4qqx6m83b08snp7h1njc21sdf7d7";
+    sha256 = "1w720y3bplkz187wgvy4a4xm0vpppg45mlni55l6yi8v2bfk14pv";
   };
 
-  patches = stdenv.lib.optional (! allowUnfree) ./disable-unfree.patch;
-
   preConfigure = ''
     # Fake wget to prevent downloads
     mkdir wget
@@ -72,13 +63,13 @@ stdenv.mkDerivation rec {
     sed -i '/MODULES += contrib/d' make/include/main.defs
     sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules
 
-    # disable faac if non-free
-    if [ -z "$allowUnfree" ]; then
-      rm libhb/encfaac.c
-    fi
+    patch -p1 -R < ${./handbrake-0.10.3-nolibav.patch}
   '';
 
-  configureFlags = "--enable-fdk-aac ${if useGtk then "--disable-gtk-update-checks" else "--disable-gtk"}";
+  configureFlags = [
+    "--enable-fdk-aac"
+    (if useGtk then "--disable-gtk-update-checks" else "--disable-gtk")
+  ];
 
   preBuild = ''
     cd build
@@ -90,7 +81,6 @@ stdenv.mkDerivation rec {
     longDescription = ''
       Handbrake is a versatile transcoding DVD ripper. This package
       provides the cli HandbrakeCLI and the GTK+ version ghb.
-      The faac library is disabled if you're compiling free-only.
     '';
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.wmertens ];
diff --git a/pkgs/applications/video/handbrake/disable-unfree.patch b/pkgs/applications/video/handbrake/disable-unfree.patch
deleted file mode 100644
index 30edcb81c09..00000000000
--- a/pkgs/applications/video/handbrake/disable-unfree.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-diff -ru HandBrake-0.9.9-orig/gtk/configure.ac HandBrake-0.9.9/gtk/configure.ac
---- HandBrake-0.9.9-orig/gtk/configure.ac	2014-05-02 22:50:00.047305795 +0200
-+++ HandBrake-0.9.9/gtk/configure.ac	2014-05-02 22:48:57.119304020 +0200
-@@ -203,7 +203,7 @@
-     ;;
- esac
- 
--HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
-+HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2"
- 
- if test "x$use_fdk_aac" = "xyes" ; then
-     HB_LIBS+=" -lfdk-aac"
-diff -ru HandBrake-0.9.9-orig/gtk/src/preset_xlat.c HandBrake-0.9.9/gtk/src/preset_xlat.c
---- HandBrake-0.9.9-orig/gtk/src/preset_xlat.c	2014-05-02 22:50:00.043305794 +0200
-+++ HandBrake-0.9.9/gtk/src/preset_xlat.c	2014-05-02 22:42:20.987292846 +0200
-@@ -260,7 +260,6 @@
- 
- static value_map_t acodec_xlat[] =
- {
--    {"AAC (faac)", "faac"},
-     {"AC3 Passthru", "ac3"},
-     {"MP3 (lame)", "lame"},
-     {"Vorbis (vorbis)", "vorbis"},
-diff -ru HandBrake-0.9.9-orig/gtk/src/presets.c HandBrake-0.9.9/gtk/src/presets.c
---- HandBrake-0.9.9-orig/gtk/src/presets.c	2014-05-02 22:50:00.043305794 +0200
-+++ HandBrake-0.9.9/gtk/src/presets.c	2014-05-02 22:42:41.283293419 +0200
-@@ -2029,8 +2029,6 @@
- 
- static value_map_t acodec_xlat_compat[] =
- {
--    {"AAC (CoreAudio)", "faac"},
--    {"HE-AAC (CoreAudio)", "faac"},
-     {"AC3 (ffmpeg)", "ac3"},
-     {"AC3", "ac3"},
-     {"MP3 Passthru", "mp3pass"},
-diff -ru HandBrake-0.9.9-orig/libhb/common.c HandBrake-0.9.9/libhb/common.c
---- HandBrake-0.9.9-orig/libhb/common.c	2014-05-02 22:50:00.047305795 +0200
-+++ HandBrake-0.9.9/libhb/common.c	2014-05-02 22:37:24.679284489 +0200
-@@ -126,7 +126,6 @@
-     { "AAC (CoreAudio)",    "ca_aac",     HB_ACODEC_CA_AAC,       HB_MUX_MP4|HB_MUX_MKV },
-     { "HE-AAC (CoreAudio)", "ca_haac",    HB_ACODEC_CA_HAAC,      HB_MUX_MP4|HB_MUX_MKV },
- #endif
--    { "AAC (faac)",         "faac",       HB_ACODEC_FAAC,         HB_MUX_MP4|HB_MUX_MKV },
- #ifdef USE_FDK_AAC
-     { "AAC (FDK)",          "fdk_aac",    HB_ACODEC_FDK_AAC,      HB_MUX_MP4|HB_MUX_MKV },
-     { "HE-AAC (FDK)",       "fdk_haac",   HB_ACODEC_FDK_HAAC,     HB_MUX_MP4|HB_MUX_MKV },
-diff -ru HandBrake-0.9.9-orig/libhb/common.h HandBrake-0.9.9/libhb/common.h
---- HandBrake-0.9.9-orig/libhb/common.h	2014-05-02 22:50:00.047305795 +0200
-+++ HandBrake-0.9.9/libhb/common.h	2014-05-02 22:39:37.839288245 +0200
-@@ -945,7 +945,6 @@
- extern hb_work_object_t hb_decavcodeca;
- extern hb_work_object_t hb_decavcodecv;
- extern hb_work_object_t hb_declpcm;
--extern hb_work_object_t hb_encfaac;
- extern hb_work_object_t hb_enclame;
- extern hb_work_object_t hb_encvorbis;
- extern hb_work_object_t hb_muxer;
-diff -ru HandBrake-0.9.9-orig/libhb/hb.c HandBrake-0.9.9/libhb/hb.c
---- HandBrake-0.9.9-orig/libhb/hb.c	2014-05-02 22:50:00.047305795 +0200
-+++ HandBrake-0.9.9/libhb/hb.c	2014-05-02 22:39:02.287287242 +0200
-@@ -487,7 +487,6 @@
- 	hb_register( &hb_decavcodeca );
- 	hb_register( &hb_decavcodecv );
- 	hb_register( &hb_declpcm );
--	hb_register( &hb_encfaac );
- 	hb_register( &hb_enclame );
- 	hb_register( &hb_encvorbis );
- 	hb_register( &hb_muxer );
-@@ -588,7 +587,6 @@
- 	hb_register( &hb_decavcodeca );
- 	hb_register( &hb_decavcodecv );
- 	hb_register( &hb_declpcm );
--	hb_register( &hb_encfaac );
- 	hb_register( &hb_enclame );
- 	hb_register( &hb_encvorbis );
- 	hb_register( &hb_muxer );
-diff -ru HandBrake-0.9.9-orig/libhb/module.defs HandBrake-0.9.9/libhb/module.defs
---- HandBrake-0.9.9-orig/libhb/module.defs	2014-05-02 22:50:00.047305795 +0200
-+++ HandBrake-0.9.9/libhb/module.defs	2014-05-02 22:39:25.727287903 +0200
-@@ -95,7 +95,7 @@
- LIBHB.lib = $(LIBHB.build/)hb.lib
- 
- LIBHB.dll.libs = $(foreach n, \
--        a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
-+        a52 ass avcodec avformat avutil avresample dvdnav dvdread \
-         fontconfig freetype mkv mpeg2 mp3lame mp4v2 \
-         ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \
-         $(CONTRIB.build/)lib/lib$(n).a )
-Only in HandBrake-0.9.9: libhb-orig
-diff -ru HandBrake-0.9.9orig/test/module.defs HandBrake-0.9.9/test/module.defs
---- HandBrake-0.9.9-orig/test/module.defs	2014-05-02 23:15:10.575348401 +0200
-+++ HandBrake-0.9.9/test/module.defs	2014-05-02 23:17:00.523351502 +0200
-@@ -14,7 +14,7 @@
- TEST.libs = $(LIBHB.a)
- 
- TEST.GCC.l = \
--        a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \
-+        a52 ass avcodec avformat avutil avresample dvdnav dvdread \
-         fontconfig freetype fribidi mkv mpeg2 mp3lame mp4v2 ogg \
-         samplerate swscale theoraenc theoradec vorbis vorbisenc x264 \
-         bluray xml2 bz2 z
diff --git a/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch b/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch
new file mode 100644
index 00000000000..8539186aaa5
--- /dev/null
+++ b/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch
@@ -0,0 +1,76 @@
+From 75549414927212d4d1666730133805b33447de79 Mon Sep 17 00:00:00 2001
+From: John Stebbins <jstebbins.hb@gmail.com>
+Date: Tue, 3 Nov 2015 10:16:01 -0800
+Subject: [PATCH] muxavformat: add support for mp4 fallback audio signalling
+
+---
+diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
+index 0d70597..373c2ab 100644
+--- a/libhb/muxavformat.c
++++ b/libhb/muxavformat.c
+@@ -121,7 +121,7 @@ static int avformatInit( hb_mux_object_t * m )
+     hb_mux_data_t * track;
+     int meta_mux;
+     int max_tracks;
+-    int ii, ret;
++    int ii, jj, ret;
+ 
+     int clock_min, clock_max, clock;
+     hb_video_framerate_get_limits(&clock_min, &clock_max, &clock);
+@@ -589,6 +589,56 @@ static int avformatInit( hb_mux_object_t * m )
+         }
+     }
+ 
++    // Check for audio track associations
++    for (ii = 0; ii < hb_list_count(job->list_audio); ii++)
++    {
++        audio = hb_list_item(job->list_audio, ii);
++        switch (audio->config.out.codec & HB_ACODEC_MASK)
++        {
++            case HB_ACODEC_FFAAC:
++            case HB_ACODEC_CA_AAC:
++            case HB_ACODEC_CA_HAAC:
++            case HB_ACODEC_FDK_AAC:
++            case HB_ACODEC_FDK_HAAC:
++                break;
++
++            default:
++            {
++                // Mark associated fallback audio tracks for any non-aac track
++                for(jj = 0; jj < hb_list_count( job->list_audio ); jj++ )
++                {
++                    hb_audio_t    * fallback;
++                    int             codec;
++
++                    if (ii == jj) continue;
++
++                    fallback = hb_list_item( job->list_audio, jj );
++                    codec = fallback->config.out.codec & HB_ACODEC_MASK;
++                    if (fallback->config.in.track == audio->config.in.track &&
++                        (codec == HB_ACODEC_FFAAC ||
++                         codec == HB_ACODEC_CA_AAC ||
++                         codec == HB_ACODEC_CA_HAAC ||
++                         codec == HB_ACODEC_FDK_AAC ||
++                         codec == HB_ACODEC_FDK_HAAC))
++                    {
++                        hb_mux_data_t * fallback_track;
++                        int           * sd;
++
++                        track = audio->priv.mux_data;
++                        fallback_track = fallback->priv.mux_data;
++                        sd = (int*)av_stream_new_side_data(track->st,
++                                                     AV_PKT_DATA_FALLBACK_TRACK,
++                                                     sizeof(int));
++                        if (sd != NULL)
++                        {
++                            *sd = fallback_track->st->index;
++                        }
++                    }
++                }
++            } break;
++        }
++    }
++
+     char * subidx_fmt =
+         "size: %dx%d\n"
+         "org: %d, %d\n"
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index 8713f2d22c4..1070d6f746d 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -20,8 +20,7 @@ assert (kernel.version == grsecPatch.kver);
 
 overrideDerivation (kernel.override {
   inherit modDirVersion;
-  kernelPatches = [ { inherit (grsecPatch) name patch; } ] ++ kernelPatches ++ (kernel.kernelPatches or []);
-  features = (kernel.features or {}) // { grsecurity = true; };
+  kernelPatches = [ grsecPatch ] ++ kernelPatches ++ (kernel.kernelPatches or []);
   inherit extraConfig;
   ignoreConfigErrors = true;
 }) (attrs: {
diff --git a/pkgs/development/libraries/cpp-hocon/default.nix b/pkgs/development/libraries/cpp-hocon/default.nix
new file mode 100644
index 00000000000..3c4fe70c19d
--- /dev/null
+++ b/pkgs/development/libraries/cpp-hocon/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, boost, curl, leatherman }:
+
+stdenv.mkDerivation rec {
+  name = "cpp-hocon-${version}";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    sha256 = "0v2mnak6fh13dkl25lfvw1la2dfjqrh3lq1d40r3a52m56vwflrg";
+    rev = version;
+    repo = "cpp-hocon";
+    owner = "puppetlabs";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ boost curl leatherman ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = " A C++ port of the Typesafe Config library";
+    license = licenses.asl20;
+    maintainers = [ maintainers.womfoo ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index a4b007fa399..bc62a04808f 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "0.7.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
-    sha256 = "103qzhjhgw7jh0xcaxag735wfm6q35xprq5wmdimfhhmmrmjr51g";
+    sha256 = "18nidasykbwdd9qzwc8pnzhczy6acr3rsxwvv2v3j5gq3nbsk2mc";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
@@ -13,10 +13,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ boost cmake curl ];
 
-  # curl upgrade to 7.50.0 (#17152) broke the curl mock tests, disabling for now
-  # upstream bug raised https://tickets.puppetlabs.com/browse/LTH-108
-  cmakeFlags = [ "-DLEATHERMAN_MOCK_CURL=OFF" ];
-
   meta = with stdenv.lib; {
     homepage = https://github.com/puppetlabs/leatherman/;  
     description = "A collection of C++ and CMake utility libraries";
diff --git a/pkgs/development/libraries/liborc/default.nix b/pkgs/development/libraries/liborc/default.nix
new file mode 100644
index 00000000000..2b298c97379
--- /dev/null
+++ b/pkgs/development/libraries/liborc/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "liborc-${version}";
+  version = "0.4.16";
+
+  src = fetchurl {
+    url = "http://http.debian.net/debian/pool/main/o/orc/orc_${version}.orig.tar.gz";
+    sha256 = "1asq58gm87ig60ib4cs69hyqhnsirqkdlidnchhx83halbdlw3kh";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://packages.debian.org/wheezy/liborc-0.4-0;
+    description = "Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data.";
+    license = with licenses; [ bsd2 bsd3 ];
+  };
+}
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 627cb8794af..65fcd07a6e0 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ viric fpletz ];
     platforms = with stdenv.lib.platforms; linux;
+    broken = (kernel.features.grsecurity or false);
   };
 }
diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix
index 3a253003e8e..a0478af912c 100644
--- a/pkgs/os-specific/linux/forkstat/default.nix
+++ b/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "forkstat-${version}";
-  version = "0.01.13";
+  version = "0.01.14";
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.gz";
-    sha256 = "12dmqpv0q3x166sya93rhcj7vs4868x7y7lwfwv9l54hhirpamhq";
+    sha256 = "0yj3mhf9b2nm8fnz4vf2fqdd8417g30p2sgv3ilq3zwy4hbg9bav";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index e8d52cc240f..95b1319e981 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -35,9 +35,7 @@ with stdenv.lib;
   DEBUG_DEVRES n
   DEBUG_NX_TEST n
   DEBUG_STACK_USAGE n
-  ${optionalString (!(features.grsecurity or false)) ''
-    DEBUG_STACKOVERFLOW n
-  ''}
+  DEBUG_STACKOVERFLOW n
   RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 1b4a83cb114..2a74f9063bf 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -31,6 +31,8 @@ let
       url = "https://raw.githubusercontent.com/slashbeast/grsecurity-scrape/master/${grbranch}/${name}.patch";
       inherit sha256;
     };
+
+    features.grsecurity = true;
   };
 in
 
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index eeef64c7083..10551c08077 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${version}";
   name = "${pname}-${kernel.version}";
-  version = "2.6.3";
+  version = "2.8.0";
 
   src = fetchurl {
     url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "0sk7cyjf5ylmxqrrrz5zmmw4c0dmxh1f98aj870gmcnxfa76y4mx";
+    sha256 = "0a9xwq0kgpx1y800l232h524f19g3py6cnxff10j9p01q6lzhrxh";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 0ebfe36f59d..83936ca65a5 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, boost, cmake, curl, leatherman, libyamlcpp, openssl, ruby, utillinux }:
+{ stdenv, fetchurl, boost, cmake, cpp-hocon, curl, leatherman, libyamlcpp, openssl, ruby, utillinux }:
 
 stdenv.mkDerivation rec {
   name = "facter-${version}";
-  version = "3.1.8";
+  version = "3.4.1";
   src = fetchurl {
     url = "https://downloads.puppetlabs.com/facter/${name}.tar.gz";
-    sha256 = "1fhfjf5bm5kyjiady14fxhpp7hdrkgx56vsvdbqj82km0xqcxpj9";
+    sha256 = "1vvvqni68l3hmnxi8jp0n2rwzxyh1vmgv6xa2954h94dfax6dmcj";
   };
 
   cmakeFlags = [ "-DFACTER_RUBY=${ruby}/lib/libruby.so" ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   # since we cant expand $out in cmakeFlags
   preConfigure = "cmakeFlags+=\" -DRUBY_LIB_INSTALL=$out/lib/ruby\"";
 
-  buildInputs = [ boost cmake curl leatherman libyamlcpp openssl ruby utillinux ];
+  buildInputs = [ boost cmake cpp-hocon curl leatherman libyamlcpp openssl ruby utillinux ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/puppetlabs/facter;
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
index 87cf720b981..54899cb14df 100644
--- a/pkgs/tools/system/runit/default.nix
+++ b/pkgs/tools/system/runit/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl
+, static ? false
+}:
 
 stdenv.mkDerivation rec {
   name = "runit-${version}";
@@ -15,7 +17,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  postPatch = ''
+  buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ];
+
+  postPatch = stdenv.lib.optionalString (!static) ''
     sed -i 's,-static,,g' src/Makefile
   '';
 
diff --git a/pkgs/tools/typesetting/kindlegen/default.nix b/pkgs/tools/typesetting/kindlegen/default.nix
new file mode 100644
index 00000000000..159119a8a71
--- /dev/null
+++ b/pkgs/tools/typesetting/kindlegen/default.nix
@@ -0,0 +1,48 @@
+{ fetchurl, stdenv }:
+
+let
+  version = "2.9";
+  fileVersion = builtins.replaceStrings [ "." ] [ "_" ] version;
+
+  sha256 = {
+    "x86_64-linux"  = "15i20kzhdcmi94w7wfhqbl6j20v47cdakjm2mn3x8w495iddna4q";
+    "i686-linux"    = "15i20kzhdcmi94w7wfhqbl6j20v47cdakjm2mn3x8w495iddna4q";
+    "x86_64-darwin" = "0zniyn0s41fxqrajbgwxbcsj5vzf9m7a6yvdz2b11mphr00kpbbs";
+    "i686-darwin"   = "0zniyn0s41fxqrajbgwxbcsj5vzf9m7a6yvdz2b11mphr00kpbbs";
+    "x86_64-cygwin" = "02slfh1bbpijay4skj85cjiv7z43ha8vm5aa1lwiqjk86qbl1f3h";
+    "i686-cygwin"   = "02slfh1bbpijay4skj85cjiv7z43ha8vm5aa1lwiqjk86qbl1f3h";
+  }."${stdenv.system}" or (throw "system #{stdenv.system.} is not supported");
+
+  url = {
+    "x86_64-linux"  = "http://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v${fileVersion}.tar.gz";
+    "i686-linux"    = "http://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v${fileVersion}.tar.gz";
+    "x86_64-darwin" = "http://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v${fileVersion}.zip";
+    "i686-darwin"   = "http://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v${fileVersion}.zip";
+    "x86_64-cygwin" = "http://kindlegen.s3.amazonaws.com/kindlegen_win32_v${fileVersion}.zip";
+    "i686-cygwin"   = "http://kindlegen.s3.amazonaws.com/kindlegen_win32_v${fileVersion}.zip";
+  }."${stdenv.system}" or (throw "system #{stdenv.system.} is not supported");
+
+in stdenv.mkDerivation rec {
+  name = "kindlegen-${version}";
+
+  src = fetchurl {
+    inherit url;
+    inherit sha256;
+  };
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/kindlegen/doc
+    install -m755 kindlegen $out/bin/kindlegen
+    cp -r *.txt *.html docs/* $out/share/kindlegen/doc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert documents to .mobi for use with Amazon Kindle";
+    homepage = https://www.amazon.com/gp/feature.html?docId=1000765211;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" "x86_64-cygwin" "i686-cygwin" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 61e0a32f5e5..afb1e6c6fc0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2376,6 +2376,8 @@ in
 
   npm2nix = nodePackages.npm2nix;
 
+  kindlegen = callPackage ../tools/typesetting/kindlegen { };
+
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
   ldns = callPackage ../development/libraries/ldns { };
@@ -6420,7 +6422,7 @@ in
   gnumake = self.gnumake42;
 
   gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
-  
+
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
   gocd-agent = callPackage ../development/tools/continuous-integration/gocd-agent { };
@@ -7047,6 +7049,8 @@ in
 
   cppdb = callPackage ../development/libraries/cppdb { };
 
+  cpp-hocon = callPackage ../development/libraries/cpp-hocon { };
+
   cpp-netlib = callPackage ../development/libraries/cpp-netlib { };
 
   cppcms = callPackage ../development/libraries/cppcms { };
@@ -8393,6 +8397,8 @@ in
 
   libopus = callPackage ../development/libraries/libopus { };
 
+  liborc = callPackage ../development/libraries/liborc { };
+
   libosinfo = callPackage ../development/libraries/libosinfo {
     inherit (gnome3) libsoup;
   };
@@ -10460,7 +10466,7 @@ in
 
   influxdb = (callPackage ../servers/nosql/influxdb/v0.nix { }).bin // { outputs = [ "bin" ]; };
 
-  influxdb10 = (callPackage ../servers/nosql/influxdb/v1.nix { }).bin // { outputs = [ "bin" ]; }; 
+  influxdb10 = (callPackage ../servers/nosql/influxdb/v1.nix { }).bin // { outputs = [ "bin" ]; };
 
   hyperdex = callPackage ../servers/nosql/hyperdex { };
 
@@ -11390,50 +11396,6 @@ in
     '';
   };
 
-  # grsecurity: legacy
-
-  grsecurity_base_linux_3_14 = throw "grsecurity stable is no longer supported";
-  grsecurity_base_linux_4_4  = throw "grsecurity stable is no longer supported";
-
-  linuxPackages_grsec_desktop_3_14    = throw "linuxPackages_grsec_desktop has been removed";
-  linuxPackages_grsec_desktop_4_4    = throw "linuxPackages_grsec_desktop has been removed";
-  linuxPackages_grsec_desktop_4_5    = throw "linuxPackages_grsec_desktop has been removed";
-  linuxPackages_grsec_desktop_latest    = throw "linuxPackages_grsec_desktop has been removed";
-
-  linuxPackages_grsec_server_3_14     = throw "linuxPackages_grsec_server has been removed";
-  linuxPackages_grsec_server_4_4     = throw "linuxPackages_grsec_server has been removed";
-  linuxPackages_grsec_server_4_5     = throw "linuxPackages_grsec_server has been removed";
-  linuxPackages_grsec_server_latest     = throw "linuxPackages_grsec_server has been removed";
-
-  linuxPackages_grsec_server_xen_3_14 = throw "linuxPackages_grsec_server_xen has been removed";
-  linuxPackages_grsec_server_xen_4_4 = throw "linuxPackages_grsec_server_xen has been removed";
-  linuxPackages_grsec_server_xen_4_5 = throw "linuxPackages_grsec_server_xen has been removed";
-  linuxPackages_grsec_server_xen_latest = throw "linuxPackages_grsec_server_xen has been removed";
-
-  linux_grsec_desktop_3_14    = throw "grsecurity stable is no longer supported";
-  linux_grsec_desktop_4_4    = throw "grsecurity stable is no longer supported";
-  linux_grsec_desktop_4_5    = throw "linux_grsec_desktop has been removed";
-  linux_grsec_desktop_latest    = throw "linux_grsec_desktop has been removed";
-
-  linux_grsec_server_3_14     = throw "grsecurity stable is no longer supported";
-  linux_grsec_server_4_4     = throw "grsecurity stable is no longer supported";
-  linux_grsec_server_4_5     = throw "linux_grsec_server has been removed";
-  linux_grsec_server_latest     = throw "linux_grsec_server_latest has been removed";
-
-  linux_grsec_server_xen_3_14 = throw "grsecurity stable is no longer supported";
-  linux_grsec_server_xen_4_4 = throw "grsecurity stable is no longer supported";
-  linux_grsec_server_xen_4_5 = throw "linux_grsec_server_xen has been removed";
-  linux_grsec_server_xen_latest = throw "linux_grsec_server_xen has been removed";
-
-  linux_grsec_stable_desktop    = self.linux_grsec_desktop_3_14;
-  linux_grsec_stable_server     = self.linux_grsec_server_3_14;
-  linux_grsec_stable_server_xen = self.linux_grsec_server_xen_3_14;
-
-  linux_grsec_testing_desktop    = self.linux_grsec_desktop_latest;
-  linux_grsec_testing_server     = self.linux_grsec_server_latest;
-  linux_grsec_testing_server_xen = self.linux_grsec_server_xen_latest;
-
-
   # ChromiumOS kernels
   linuxPackages_chromiumos_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_14 linuxPackages_chromiumos_3_14);
   linuxPackages_chromiumos_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_chromiumos_3_18 linuxPackages_chromiumos_3_18);
@@ -13846,7 +13808,6 @@ in
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
   handbrake = callPackage ../applications/video/handbrake {
-    webkitgtk = webkitgtk24x;
     ffmpeg = ffmpeg_2;
   };