summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/misc/octoprint/default.nix39
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/data/documentation/stdman/default.nix2
-rw-r--r--pkgs/development/compilers/pakcs/adjust-buildsystem.patch21
-rw-r--r--pkgs/development/compilers/pakcs/default.nix156
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix6
-rw-r--r--pkgs/development/haskell-modules/default.nix13
-rw-r--r--pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch27
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix5
-rw-r--r--pkgs/development/libraries/c-ares/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix32
-rw-r--r--pkgs/development/libraries/openjpeg/2.1.nix6
-rw-r--r--pkgs/games/crafty/default.nix660
-rw-r--r--pkgs/games/crafty/malloc.patch11
-rw-r--r--pkgs/games/crafty/strcpy.patch21
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix4
-rw-r--r--pkgs/os-specific/linux/rtkit/default.nix9
-rw-r--r--pkgs/servers/kippo/default.nix40
-rw-r--r--pkgs/shells/zsh-syntax-highlighting/default.nix2
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix25
-rw-r--r--pkgs/tools/security/pgpdump/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix7
-rw-r--r--pkgs/top-level/python-packages.nix109
26 files changed, 451 insertions, 805 deletions
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index b39b73c830ff..fa0097272ffb 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -1,6 +1,41 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages, fetchurl }:
 
-pythonPackages.buildPythonApplication rec {
+let
+
+  tornado_4_0_1 = pythonPackages.buildPythonPackage rec {
+    name = "tornado-${version}";
+    version = "4.0.1";
+
+    propagatedBuildInputs = with pythonPackages; [ backports_ssl_match_hostname_3_4_0_2 certifi ];
+
+    src = fetchurl {
+      url = "mirror://pypi/t/tornado/${name}.tar.gz";
+      sha256 = "00crp5vnasxg7qyjv89qgssb69vd7qr13jfghdryrcbnn9l8c1df";
+    };
+  };
+
+  sockjs-tornado = pythonPackages.buildPythonPackage rec {
+    name = "sockjs-tornado-${version}";
+    version = "1.0.2";
+
+    src = fetchurl {
+      url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz";
+      sha256 = "15lcy40h2cm0l8aknbrk48p2sni5wzybsqjx1hxwpk9lfa1xryyv";
+    };
+
+    # This is needed for compatibility with OctoPrint
+    propagatedBuildInputs = [ tornado_4_0_1 ];
+
+    meta = with stdenv.lib; {
+      description = "SockJS python server implementation on top of Tornado framework";
+      homepage = http://github.com/mrjoes/sockjs-tornado/;
+      license = licenses.mit;
+      platforms = platforms.all;
+      maintainers = with maintainers; [ abbradar ];
+    };
+  };
+
+in pythonPackages.buildPythonApplication rec {
   name = "OctoPrint-${version}";
   version = "1.2.15";
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 567a6aa7d182..1ed53c0500f0 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1wpcl6cgiv02s3zgxvgsmrws454g81lnvyfjmhhcdckkwyljcv5l";
-    sha256bin64 = "0snr5rd2r5jfjqhqwkxcw26j53fivmf60g3qfnp5xz5b6nlsab9g";
-    version = "54.0.2840.34";
+    sha256 = "1lix5wzcwf666vsdbdzz071rynswlxg5414k3nsrmlxwxhyh6qi4";
+    sha256bin64 = "02cv9vc1l2nlwa4a0lc7cj9c9czrwp1jd8d024bq16a5fvmhl01l";
+    version = "54.0.2840.50";
   };
   dev = {
-    sha256 = "1lbpj1wm35l2qf4fxfivd9drwwdrylv3knh8db889dyz5hrh3j5y";
-    sha256bin64 = "0rkvrrcr1j9662v00kf7x7qmdps1pd4hq818x7crkilczybd05pr";
-    version = "55.0.2868.3";
+    sha256 = "06kcymwi0wfir7w10g8viayk2h0b5a66dav76mlia4lm30p502kz";
+    sha256bin64 = "0mgamiffnnkaw8c68b5kyna84x7hlhrzmqfc36kzf434fmm8v5d6";
+    version = "55.0.2873.0";
   };
   stable = {
-    sha256 = "0qk0y457l91yzxradpinayzw3947s5s4axd75h968vrl0jan51vs";
-    sha256bin64 = "0sz4dfwxvkffcj4rrqh3vn2xxp2vvjzdjsy0s9wcvam01igmy261";
-    version = "53.0.2785.116";
+    sha256 = "1hyw0z7dsfaxyy8b4mvnfjy5yj0160hzz9m0wj3vn9zvkfvmhan5";
+    sha256bin64 = "0n0px7yi94gdxq7p6pjqfdz04bnh3mcvbaccjaglj6h5p0jc8abq";
+    version = "53.0.2785.143";
   };
 }
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 49b969e8f6bf..3d8733635ee0 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.7";
+  version = "0.14.8";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "1mcn2vmv3hvp0ni9jxbjj3qp0l6ls07qmq33amhvjhpfafqzn279";
+    sha256 = "0zhxgl6pgf60x99cappdfzk7h23g37hlanh72bwypx7pwbvhc91l";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
index cc6f871cded8..114c8ebce980 100644
--- a/pkgs/data/documentation/stdman/default.nix
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       formatting for easy readability.";
     homepage = https://github.com/jeaye/stdman;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.twey ];
   };
 }
diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
new file mode 100644
index 000000000000..2d1f92af81df
--- /dev/null
+++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
@@ -0,0 +1,21 @@
+diff -Naur pakcs-1.11.4-upstream/scripts/pakcs.sh pakcs-1.11.4/scripts/pakcs.sh
+--- pakcs-1.11.4-upstream/scripts/pakcs.sh	2014-10-24 05:06:07.000000000 -0430
++++ pakcs-1.11.4/scripts/pakcs.sh	2015-01-05 16:26:15.697982791 -0430
+@@ -16,7 +16,7 @@
+ # use readline wrapper rlwrap if it is installed and we have tty as stdin:
+ USERLWRAP=no
+ if tty -s ; then
+-  RLWRAP=`which rlwrap`
++  RLWRAP=`type -P rlwrap`
+   if [ -x "$RLWRAP" ] ; then
+     USERLWRAP=yes
+   fi
+@@ -29,7 +29,7 @@
+ done
+ 
+ if [ $USERLWRAP = yes ] ; then
+-  exec rlwrap -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"}
++  exec rlwrap -a -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"}
+ else
+   exec "$REPL" ${1+"$@"}
+ fi
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
new file mode 100644
index 000000000000..92b916ccb8e1
--- /dev/null
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -0,0 +1,156 @@
+{ stdenv, fetchurl, swiProlog, haskellPackages
+, glibcLocales, makeWrapper, rlwrap, tk, which }:
+
+let
+  fname = "pakcs-1.14.0";
+
+  fsrc = fetchurl {
+    url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
+    sha256 = "1651ssh4ql79x8asd7kp4yis2n5rhn3lml4s26y03b0cgbfhs78s";
+  };
+
+  swiPrologLocked = stdenv.lib.overrideDerivation swiProlog (oldAttrs: rec {
+    version = "6.6.6";
+    name = "swi-prolog-${version}";
+    src = fetchurl {
+      url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
+      sha256 = "0vcrfskm2hyhv30lxr6v261myb815jc3bgmcn1lgsc9g9qkvp04z";
+    };
+  });
+
+in
+stdenv.mkDerivation rec {
+
+  name = fname;
+
+  curryBase = haskellPackages.callPackage (
+    { mkDerivation, base, Cabal, containers, directory, either
+    , filepath, mtl, pretty, stdenv, syb, time
+    }:
+    mkDerivation {
+      pname = "curry-base";
+      version = "0.4.1";
+      src = fsrc;
+      libraryHaskellDepends = [
+        base containers directory either filepath mtl pretty syb time
+      ];
+      testHaskellDepends = [ base Cabal filepath mtl ];
+      homepage = "http://curry-language.org";
+      description = "Functions for manipulating Curry programs";
+      license = "unknown";
+
+      postUnpack = ''
+        mv ${name} ${name}.orig
+        ln -s ${name}.orig/frontend/curry-base ${name}
+      '';
+      doCheck = false;
+    }
+  ) {};
+
+  curryFront = haskellPackages.callPackage (
+    { mkDerivation, base, Cabal, containers, directory
+    , filepath, mtl, network-uri, process, stdenv, syb, transformers
+    }:
+    mkDerivation {
+      pname = "curry-frontend";
+      version = "0.4.1";
+      src = fsrc;
+      isLibrary = true;
+      isExecutable = true;
+      libraryHaskellDepends = [
+        base containers curryBase directory filepath mtl network-uri
+        process syb transformers
+      ];
+      executableHaskellDepends = [
+        base containers curryBase directory filepath mtl network-uri
+        process syb transformers
+      ];
+      testHaskellDepends = [ base Cabal curryBase filepath ];
+      homepage = "http://curry-language.org";
+      description = "Compile the functional logic language Curry to several intermediate formats";
+      license = "unknown";
+
+      postUnpack = ''
+        mv ${name} ${name}.orig
+        ln -s ${name}.orig/frontend/curry-frontend ${name}
+      '';
+      doCheck = false;
+    }
+  ) {};
+
+  src = fsrc;
+
+  buildInputs = [ swiPrologLocked makeWrapper glibcLocales rlwrap tk which ];
+
+  patches = [ ./adjust-buildsystem.patch ];
+
+  configurePhase = ''
+    # Phony HOME.
+    mkdir phony-home
+    export HOME=$(pwd)/phony-home
+
+    # SWI Prolog
+    sed -i 's@SWIPROLOG=@SWIPROLOG='${swiPrologLocked}/bin/swipl'@' scripts/pakcsinitrc.sh
+  '';
+
+  buildPhase = ''
+    # Some comments in files are in UTF-8, so include the locale needed by GHC runtime.
+    export LC_ALL=en_US.UTF-8
+
+    # PAKCS must be build in place due to embedded filesystem references placed by swi.
+
+    # Prepare PAKCSHOME directory.
+    mkdir -p $out/pakcs/bin
+
+    # Set up link to cymake, which has been built already.
+    ln -s ${curryFront}/bin/cymake $out/pakcs/bin/
+    rm -r frontend
+
+    # Prevent embedding the derivation build directory as temp.
+    export TEMP=/tmp
+
+    # Copy to in place build location and run the build.
+    cp -r * $out/pakcs
+    (cd $out/pakcs ; make)
+  '';
+
+  installPhase = ''
+    # Install bin.
+    mkdir -p $out/bin
+    for b in $(ls $out/pakcs/bin) ; do
+      ln -s $out/pakcs/bin/$b $out/bin/ ;
+    done
+
+    # Place emacs lisp files in expected locations.
+    mkdir -p $out/share/emacs/site-lisp/curry-pakcs
+    for e in "$out/pakcs/tools/emacs/"*.el ; do
+      cp $e $out/share/emacs/site-lisp/curry-pakcs/ ;
+    done
+
+    # Wrap for rlwrap and tk support.
+    wrapProgram $out/pakcs/bin/pakcs \
+      --prefix PATH ":" "${rlwrap}/bin" \
+      --prefix PATH ":" "${tk}/bin" \
+  '';
+
+  meta = {
+    homepage = "http://www.informatik.uni-kiel.de/~pakcs/";
+    description = "An implementation of the multi-paradigm declarative language Curry";
+    license = stdenv.lib.licenses.bsd3;
+
+    longDescription = ''
+      PAKCS is an implementation of the multi-paradigm declarative language
+      Curry jointly developed by the Portland State University, the Aachen
+      University of Technology, and the University of Kiel. Although this is
+      not a highly optimized implementation but based on a high-level
+      compilation of Curry programs into Prolog programs, it is not a toy
+      implementation but has been used for a variety of applications (e.g.,
+      graphical programming environments, an object-oriented front-end for
+      Curry, partial evaluators, database applications, HTML programming
+      with dynamic web pages, prototyping embedded systems).
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.gnidorah ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index a130772297c4..b997c5634c2c 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -275,6 +275,7 @@ self: super: {
   xmlgen = dontCheck super.xmlgen;
   hapistrano = dontCheck super.hapistrano;
   HerbiePlugin = dontCheck super.HerbiePlugin;
+  wai-cors = dontCheck super.wai-cors;
 
   # These packages try to access the network.
   amqp = dontCheck super.amqp;
@@ -1019,4 +1020,10 @@ self: super: {
   # https://github.com/fpco/store/issues/77
   store = dontCheck super.store;
 
+  # https://github.com/bmillwood/applicative-quoters/issues/6
+  applicative-quoters = doJailbreak super.applicative-quoters;
+
+  # https://github.com/vshabanov/HsOpenSSL/issues/11
+  HsOpenSSL = doJailbreak super.HsOpenSSL;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index a0f8056c081c..00f6f3770d5f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -179,9 +179,6 @@ self: super: {
   vector-algorithms = addBuildDepends (dontCheck super.vector-algorithms)
     [ self.mtl self.mwc-random ];
 
-  # Trigger rebuild to mitigate broken packaes on Hydra.
-  amazonka-core = triggerRebuild super.amazonka-core 1;
-
   # https://github.com/thoughtpolice/hs-ed25519/issues/13
   ed25519 = dontCheck super.ed25519;
 
@@ -190,6 +187,7 @@ self: super: {
   hackage-security = dontHaddock (dontCheck super.hackage-security);
 
   # GHC versions prior to 8.x require additional build inputs.
+  attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]);
   Glob = addBuildDepends super.Glob (with self; [semigroups]);
   Glob_0_7_10 = addBuildDepends super.Glob_0_7_10 (with self; [semigroups]);
   aeson = disableCabalFlag (addBuildDepend super.aeson self.semigroups) "old-locale";
@@ -212,6 +210,6 @@ self: super: {
   # Moved out from common as no longer the case for GHC8
   ghc-mod = super.ghc-mod.override { cabal-helper = self.cabal-helper_0_6_3_1; };
 
-  generic-deriving = self.generic-deriving_1_10_5;
+
 
 }
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index 19940bd70bea..9020f1ee4671 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -6,12 +6,13 @@
 
 let
 
-  allCabalFiles = pkgs.fetchFromGitHub {
-     owner = "commercialhaskell";
-     repo = "all-cabal-hashes";
-     rev = "72f1318540eff69544eb8c14a16f630d0c5448b8";
-     sha256 = "1czi1rajk2726mqrw3qp7a43h26acbjw54ll3ns063yzg9hg469m";
-   };
+  allCabalFiles = stdenv.mkDerivation {
+    name = "all-cabal-hashes-0";
+    buildCommand = ''
+      mkdir -p $out
+      tar -C $out --strip-components=1 -x -f ${builtins.fetchurl "https://github.com/commercialhaskell/all-cabal-hashes/archive/hackage.tar.gz"}
+    '';
+  };
 
   inherit (stdenv.lib) fix' extends;
 
diff --git a/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch b/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch
deleted file mode 100644
index f5d9e5695026..000000000000
--- a/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e069102365a9ff03822667f435e662f938e8d768 Mon Sep 17 00:00:00 2001
-From: Alexander Ried <ried@mytum.de>
-Date: Wed, 1 Jun 2016 12:49:48 +0200
-Subject: [PATCH] Add nixbld* to user blacklist
-
----
- src/user-classify.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/user-classify.c b/src/user-classify.c
-index 69e6809..0e152b6 100644
---- a/src/user-classify.c
-+++ b/src/user-classify.c
-@@ -75,6 +75,10 @@ user_classify_is_blacklisted (const char *username)
-                 return TRUE;
-         }
- 
-+        if (g_str_has_prefix (username, "nixbld")) {
-+                return TRUE;
-+        }
-+
-         return FALSE;
- }
- 
--- 
-2.7.4
-
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 2dc6b57c339f..1a49913727d8 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.42";
+  version = "0.6.43";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "0zh0kjpdc631qh36plcgpwvnmh9wj8l5cki3aw5r09w6y7198r75";
+    sha256 = "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd";
   };
 
   buildInputs = [ pkgconfig glib intltool libtool makeWrapper
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./no-create-dirs.patch
-    ./Add-nixbld-to-user-blacklist.patch
     ./Disable-methods-that-change-files-in-etc.patch
   ];
 
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index eb68a7b9a910..482cf9fdfadd 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "c-ares-1.10.0";
+  name = "c-ares-1.12.0";
 
   src = fetchurl {
     url = "http://c-ares.haxx.se/download/${name}.tar.gz";
-    sha256 = "1nyka87yf2jfd0y6sspll0yxwb8zi7kyvajrdbjmh4axc5s1cw1x";
+    sha256 = "1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index c9fa9b10f938..e2061df88f09 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,37 +1,17 @@
-{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, autoreconfHook }:
+{ stdenv, fetchurl, fetchpatch, libjpeg, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "jasper-1.900.1";
+  name = "jasper-1.900.2";
 
   src = fetchurl {
-    url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.zip";
-    sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b";
+    url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.tar.gz";
+    sha256 = "0bkibjhq3js2ldxa2f9pss84lcx4f5d3v0qis3ifi11ciy7a6c9a";
   };
 
   patches = [
-    ./jasper-CVE-2016-1867.diff
     ./jasper-CVE-2014-8137-variant2.diff
     ./jasper-CVE-2014-8137-noabort.diff
-    ./jasper-CVE-2014-8138.diff
-    ./jasper-CVE-2014-8157.diff
-    ./jasper-CVE-2014-8158.diff
-    ./jasper-CVE-2014-9029.diff
-    (fetchpatch { # CVE-2016-2116
-      url = "https://github.com/mdadams/jasper/commit/142245b9bbb33274a7c620aa7a8f85bc00b2d68e.patch";
-      sha256 = "06dkplqfb3swmdfqb9i2m6r13q0ivn538xfvinxz0agandxyc9yr";
-    })
-    (fetchpatch { # CVE-2016-1577
-      url = "https://github.com/mdadams/jasper/commit/74ea22a7a4fe186e0a0124df25e19739b77c4a29.patch";
-      sha256 = "1xgvhfhv8r77z0a07ick2w3217mypnkaqjwzxbk1g1ym8lsy5r13";
-    })
-    (fetchpatch { # CVE-2015-5221
-      url = "https://github.com/mdadams/jasper/commit/df5d2867e8004e51e18b89865bc4aa69229227b3.patch";
-      sha256 = "0qsiymm59dkj843dbi43ijqdyy3rrzf193ndm9ynj3cfhqghi10l";
-    })
-    (fetchpatch { # CVE-2008-3522
-      url = "https://github.com/mdadams/jasper/commit/d678ccd27b8a062e3bfd4c80d8ce2676a8166a27.patch";
-      sha256 = "0dapf8h4s3zijbgd8vmap3blpnc78h7jqm5ydv8j0krrs5dv5672";
-    })
+
     (fetchpatch { # CVE-2016-2089
       url = "https://github.com/mdadams/jasper/commit/aa6d9c2bbae9155f8e1466295373a68fa97291c3.patch";
       sha256 = "1pxnm86zmbq6brfwsm5wx3iv7s92n4xilc52lzp61q266jmlggrf";
@@ -43,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   # newer reconf to recognize a multiout flag
-  nativeBuildInputs = [ unzip autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook ];
   propagatedBuildInputs = [ libjpeg ];
 
   configureFlags = "--enable-shared";
diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix
index d59ceb9f7a9d..00cd4103c8f7 100644
--- a/pkgs/development/libraries/openjpeg/2.1.nix
+++ b/pkgs/development/libraries/openjpeg/2.1.nix
@@ -1,8 +1,8 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2.1.1";
+  version = "2.1.2";
   branch = "2.1";
-  revision = "v2.1.1";
-  sha256 = "1hrn10byrlw7hb7hwv2zvff89rxy3bsbn0im5ki4kdk63jw5p601";
+  revision = "v2.1.2";
+  sha256 = "0kdcl9sqjz0vagli4ad6bxq1r8ma086m0prpkm5x3dxp37hpjp8h";
 })
diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix
index 351e25388e17..9526512f15cc 100644
--- a/pkgs/games/crafty/default.nix
+++ b/pkgs/games/crafty/default.nix
@@ -1,658 +1,64 @@
-{ stdenv, fetchurl, unzip, fullVariant ? false }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
   name = "crafty-${version}";
-  version = "23.4";
-  
+  version = "25.0.1";
+
   src = fetchurl {
-    url = "http://www.craftychess.com/crafty-${version}.zip";
-    sha256 = "0rhf4pfxcwj8hqd7bqj98fpdd80v6ss1jnc9kgwx2fw4ksdi37pl";
+    url = "http://www.craftychess.com/downloads/source/crafty-${version}.zip";
+    sha256 = "0aqgj2q7kdlgbha01qs869cwyja13bc7q2lh4nfhlba2pklknsm8";
   };
 
   bookBin = fetchurl {
-    url = http://www.craftychess.com/book.bin;
-    sha256 = "1j8f33iks4xf19bpv2mpvxrnlm5w1f5fbnxcrxasg9p7w600wyb8";
+    url = http://www.craftychess.com/downloads/book/book.bin;
+    sha256 = "10rrgkr3hxm7pxdbc2jq8b5g74gfhzk4smahks3k8am1cmyq4p7r";
   };
 
   startPgn = fetchurl {
-    url = http://www.cis.uab.edu/hyatt/crafty/pgn/start.pgn;
-    sha256 = "08c066acqwgr19jkaizdbzdpcm3ld5nsixv5wp9pnc37b8w9f0vm";
+    url = http://craftychess.com/downloads/book/start.pgn.gz;
+    sha256 = "12g70mgfifwssfvndzq94pin34dizlixhsga75vgj7dakysi2p7f";
   };
 
-  enormousPgn = stdenv.lib.optionalString fullVariant (fetchurl {
-    url = http://www.cis.uab.edu/hyatt/crafty/pgn/enormous.zip;
-    sha256 = "001574gz3881xfvhlc2wy6pg66c4sh0q2ms42swwvq0l80syz6y2";
-  });
-
-  tableBases345 =
-    let root = http://www.cis.uab.edu/hyatt/crafty/TB/3-4-5/;
-    in stdenv.lib.optionals fullVariant (map fetchurl [
-      { url = root + "kbbbk.nbb.emd";
-        sha256 = "1yssskq32x22ki67ja7azvlglz0vgq6d6awdz4avj1k72nbcs90g"; }
-      { url = root + "kbbbk.nbw.emd";
-        sha256 = "0n0hy09pnp0ldxkrvs1gz1ch7px0hzj1ni7iicfy7y9zhsqaky2r"; }
-      { url = root + "kbbk.nbb.emd";
-        sha256 = "1gyd2p546rapisbzjpqm1kbdlsj77yw46lr5wx28sng11wkz8xnk"; }
-      { url = root + "kbbk.nbw.emd";
-        sha256 = "1gvl0vw9k22wkas8mzdik2ynnykgiisp8smyf97i0v7h1y7bxsx5"; }
-      { url = root + "kbbkb.nbb.emd";
-        sha256 = "0zk12q2d3xfbj7zv9jkk0p1gzj7n640jynx7nkcfhmpz9qvjz5d1"; }
-      { url = root + "kbbkb.nbw.emd";
-        sha256 = "1kw68pbs12cjf0gg40j5b694zdyffprjblf56czgyj8xpfz219x9"; }
-      { url = root + "kbbkn.nbb.emd";
-        sha256 = "0gibrw89zlz93sdi8bkhy0pkfcgl4sswbm3vg6fgp752cwsvksiv"; }
-      { url = root + "kbbkn.nbw.emd";
-        sha256 = "0v781yid5g57y3raw5pqhr2cb8zm0rscim0zszypp4piz22pb60h"; }
-      { url = root + "kbbkp.nbb.emd";
-        sha256 = "1y2nxqqd7fhk7x2fc3dxidqlcrgcbwd9gkk4bggay3xds9m5nhrg"; }
-      { url = root + "kbbkp.nbw.emd";
-        sha256 = "0py5adrciqbs0cdwh1lz5q8ldkyvqbc7rx4995k6kvlq4nh95qam"; }
-      { url = root + "kbbkq.nbb.emd";
-        sha256 = "141jkx0ifb91b5nwps4xssvvcm1fny8ng1zxqsjb1n9dgsigsna7"; }
-      { url = root + "kbbkq.nbw.emd";
-        sha256 = "0iknfd1rjm4ar4gycg0yzw5dbf7hs3y1fnb3s9abypk8pkn8ga9d"; }
-      { url = root + "kbbkr.nbb.emd";
-        sha256 = "0jpp1f0rgglrn7gc36v7y38rivwl68s6gr2p15lqdvngismmyp13"; }
-      { url = root + "kbbkr.nbw.emd";
-        sha256 = "0gqs5bxg6kv4nw0sl0drfs9p043q10ic6d9il0rlvs6qds6d9bv0"; }
-      { url = root + "kbbnk.nbb.emd";
-        sha256 = "0x7q6clkhfv3scqyyj42b8r7jkd99v396pmih2f10a4scca3glxc"; }
-      { url = root + "kbbnk.nbw.emd";
-        sha256 = "1qry3mpl1rjsjasayfxhh6abnm7arfdljnz9q2n5v769kaqx1bx3"; }
-      { url = root + "kbbpk.nbb.emd";
-        sha256 = "1y2vx6i351nbfrbg5qkjyp9ys8vkb45i5101gz8fx1w3pkxq9312"; }
-      { url = root + "kbbpk.nbw.emd";
-        sha256 = "16jkjb1ljyck5k4mr3pwxasxb1l08h7mcc0iigjlgzrnvsc38nrb"; }
-      { url = root + "kbk.nbb.emd";
-        sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; }
-      { url = root + "kbk.nbw.emd";
-        sha256 = "1lks1fccaikrc455cadkw1h1012jk6nqfmqzi40ilmlckc3i7pnj"; }
-      { url = root + "kbkb.nbb.emd";
-        sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; }
-      { url = root + "kbkb.nbw.emd";
-        sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; }
-      { url = root + "kbkn.nbb.emd";
-        sha256 = "1cwzqb64q7br94pc1wbp86k4fpcii14wcsj3f7l5n9mmgrzk3y9k"; }
-      { url = root + "kbkn.nbw.emd";
-        sha256 = "17wnagdkc25d6daqa3cmr0923k4d98jjzpw1h4g70r19zrnczjn5"; }
-      { url = root + "kbkp.nbb.emd";
-        sha256 = "05mcmbwwrp4iljlw0ba7d6vgh0w1pl5a1vsmvsg56k4npx6npc95"; }
-      { url = root + "kbkp.nbw.emd";
-        sha256 = "1jsh96mrhshj07x9sv3prl4zzhpl2xmdr6znxshyr461481b6g7m"; }
-      { url = root + "kbnk.nbb.emd";
-        sha256 = "0k6bn47hdj36szqcbh66wcbv3ygxv6cm0zj36rl9n1c7rc9j7p4g"; }
-      { url = root + "kbnk.nbw.emd";
-        sha256 = "0rhkzsw9zw36zckjic6dd95psx90fr4d8rzbhkqskh8l945cyxky"; }
-      { url = root + "kbnkb.nbb.emd";
-        sha256 = "10mblq1n0m0ipfs4zdnnay6dmwafshb8l5mynfrn5wiaf26jysvz"; }
-      { url = root + "kbnkb.nbw.emd";
-        sha256 = "0h90b4a6m7pp0qfc1anm30ffqwmaj3h1zslsbivw4k8i0jnpfqax"; }
-      { url = root + "kbnkn.nbb.emd";
-        sha256 = "009rw6czd9zagly7nz43rd9vq60h57mfrlzx02cchn1ydsr6cnj2"; }
-      { url = root + "kbnkn.nbw.emd";
-        sha256 = "03harm479g91s2lb5ixk27n50kj15qjz8784nn1rmmcicisj4z7c"; }
-      { url = root + "kbnkp.nbb.emd";
-        sha256 = "0y737si4zrf8ac9jmn9sbwylcd1yvcxn5ihn128p2kan3956fpdv"; }
-      { url = root + "kbnkp.nbw.emd";
-        sha256 = "1902fn3pwrslxi4rv8lrahwq3hakz9kfq70b8c0hqshf44h06ggi"; }
-      { url = root + "kbnkq.nbb.emd";
-        sha256 = "112chi9pw5fqrpv4q4a9p8jc5zld8wkiwd9y71rky09z7zng4vy5"; }
-      { url = root + "kbnkq.nbw.emd";
-        sha256 = "1m1pdsq9zl9g2fs2gjp76za3qmdrv0k1ngxvz3cjyh3p08lixca0"; }
-      { url = root + "kbnkr.nbb.emd";
-        sha256 = "13nkcvcn70g3q5fgrhbc8qs0i0fl7k78m5pxdgmijbkax52kpfgl"; }
-      { url = root + "kbnkr.nbw.emd";
-        sha256 = "0kjplgzbza4wp8aqf7b4k9nqg0vzdj0q6nj90sg7ssiw2w95z1jz"; }
-      { url = root + "kbnnk.nbb.emd";
-        sha256 = "1v3a5fi2fnh9mr9j59dv8jw2inx55jsfg9ypn92dgdmmlwg688yr"; }
-      { url = root + "kbnnk.nbw.emd";
-        sha256 = "096l2zpi7ywrqsapkz47pcivkh2igsdmxb8szd9gq8ylylrsma37"; }
-      { url = root + "kbnpk.nbb.emd";
-        sha256 = "1011x2w59fjn89nd8yqhvjcxdwla4chifwvx3hml2g82rfqgmw5r"; }
-      { url = root + "kbnpk.nbw.emd";
-        sha256 = "1nvqwv6akdr5acs9cdcf1zircw351fmf433niyc7blzqa0nng7n1"; }
-      { url = root + "kbpk.nbb.emd";
-        sha256 = "1bbyr59kapp6f2r4mn1b79668b6gf1j0pwh6f3fcym7xms7gg28k"; }
-      { url = root + "kbpk.nbw.emd";
-        sha256 = "0bn70m7g225mpbs1s7vpw5swd12wwziryp25sv2z5xpg03y7zm10"; }
-      { url = root + "kbpkb.nbb.emd";
-        sha256 = "0clwycpzqklasqw5igk74sm9w6wqwx6h8dbqajpccq3l6ipf2ylx"; }
-      { url = root + "kbpkb.nbw.emd";
-        sha256 = "0w7sf6q3m2hn9ix7lyg1c8casz3qxnzqvfvsbsda46xx5chrp7wh"; }
-      { url = root + "kbpkn.nbb.emd";
-        sha256 = "052fi7b56qq46pc4hvr5wpxkr0gv7wq0cnp5550qbr7an446nbri"; }
-      { url = root + "kbpkn.nbw.emd";
-        sha256 = "1lbwj845qff7y51iw4fybqvpcbh9r5jlfphmhidzdkjhd2gflb0j"; }
-      { url = root + "kbpkp.nbb.emd";
-        sha256 = "1ybzqw8fjqal6n6isy2m9rhhykd8g81slvc5m55ccald63zalk43"; }
-      { url = root + "kbpkp.nbw.emd";
-        sha256 = "139dm4709pvzxn6aixfsbv88ly0cjn6dk7khr1sjf2x17c21mj69"; }
-      { url = root + "kbpkq.nbb.emd";
-        sha256 = "0640xw9hasgif9cxyskpp397dzvhwnpkcfyn33d4vbi4r0cbdv81"; }
-      { url = root + "kbpkq.nbw.emd";
-        sha256 = "13yhn55y65pl6bh67hlfjlwj3mm4w6gy1y34qypgc7kck0rrygn6"; }
-      { url = root + "kbpkr.nbb.emd";
-        sha256 = "03avk4igjdyh6ayh3xm0ds8agmqhagyxmv3s8g8830qk3a6frkz3"; }
-      { url = root + "kbpkr.nbw.emd";
-        sha256 = "0vqkywgxkys0dxnx0sv35kzx9fxhqzbnk4qskjzd1fw9ck21pnad"; }
-      { url = root + "kbppk.nbb.emd";
-        sha256 = "0i4zgsp7izp789chl1vlp93dy567schz96my19vgki1y3ifx4wkz"; }
-      { url = root + "kbppk.nbw.emd";
-        sha256 = "0ki9a0f5cp7ma9zrabjrz5alk6d3xihl388j1h9ii4g52g1zci3v"; }
-      { url = root + "knk.nbb.emd";
-        sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; }
-      { url = root + "knk.nbw.emd";
-        sha256 = "0irmycxkah9j5qf9inmrz6cvjv8i894vzg5378qmazkpgpmzvix8"; }
-      { url = root + "knkn.nbb.emd";
-        sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; }
-      { url = root + "knkn.nbw.emd";
-        sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; }
-      { url = root + "knkp.nbb.emd";
-        sha256 = "1cfav9xgsmvs44j4irw1mx04phszlasz96i26ik8lw8wjdl8x6vx"; }
-      { url = root + "knkp.nbw.emd";
-        sha256 = "0p560zfmixmcizy60f13lz5a3yd83w7bz06cac0nj0myv4m4s6yp"; }
-      { url = root + "knnk.nbb.emd";
-        sha256 = "1w1dh6lmmrxjfi6srmznqvc7frzxhrs48f5g0jijb410y2c26y0l"; }
-      { url = root + "knnk.nbw.emd";
-        sha256 = "1a9nvqk0w2xhwx5d2ia35z8g2xcsg2kh59ca1jwbvx9sh438b2xh"; }
-      { url = root + "knnkb.nbb.emd";
-        sha256 = "1r8g6ml0hi6fxmff396wjnff76csrq47si1s0qsy1cdfkvax7yyn"; }
-      { url = root + "knnkb.nbw.emd";
-        sha256 = "1v74lhr44s0plxab7qhn4crf55hhp4j7w2mr090sfxz0bzk7cb78"; }
-      { url = root + "knnkn.nbb.emd";
-        sha256 = "1fy4ksqncjv0iqf0papy8hb353di0k39aq0jqh5jvshl9vmspz15"; }
-      { url = root + "knnkn.nbw.emd";
-        sha256 = "1qgprlkaqfwfjkmc048faz2j8y1n46mqp3dfpdnn9ps1x3iqvs0f"; }
-      { url = root + "knnkp.nbb.emd";
-        sha256 = "1xhsjq79nb7zgqgyjp0v6n0g8r37x2csa5svyz8ndsax9hrxc1r7"; }
-      { url = root + "knnkp.nbw.emd";
-        sha256 = "08pxmb0sdppims2lfl0zi42rsh3dlrdbl7vq2rs8v0b470q4j5jx"; }
-      { url = root + "knnkq.nbb.emd";
-        sha256 = "00y7vv6ajzr9kgwx8gk7wap7ncb9dg086iv3lwki6qcwvy14bxql"; }
-      { url = root + "knnkq.nbw.emd";
-        sha256 = "09brsqvzwx4fmf7a6ljqcabx2isqfv1mmvsjb453wmhx98fkglj3"; }
-      { url = root + "knnkr.nbb.emd";
-        sha256 = "01df21j4zdwb4dfngjrr4797b1ipdajs1730i4gajcbm4hqigi69"; }
-      { url = root + "knnkr.nbw.emd";
-        sha256 = "0q0jxmqc57s22vlbk98dbb7c2zmzs6g6chlg42sw156j9414jdfb"; }
-      { url = root + "knnnk.nbb.emd";
-        sha256 = "0jxlaqkbdxhw45p8y4g5ggryzc6l7s159fdlw0bi5ipcp40afpvg"; }
-      { url = root + "knnnk.nbw.emd";
-        sha256 = "0782r7r4b4qmy3afrdmj5l0vlp5sgr33v0h0cigxghfmf19xhgdl"; }
-      { url = root + "knnpk.nbb.emd";
-        sha256 = "0cxj1mxdz8hmjlzhnc7j4cdi5jkcj1l0xfrz4l4z4az7f4ad91ci"; }
-      { url = root + "knnpk.nbw.emd";
-        sha256 = "13y2picx7c814hfsq3bb95js9s3bng85mblhhb7i12yqhddrzyx0"; }
-      { url = root + "knpk.nbb.emd";
-        sha256 = "03xah0j9n427nvqwym0ay84zg831v26x3gnp1zkpg1072r78d2p2"; }
-      { url = root + "knpk.nbw.emd";
-        sha256 = "10lv54gs3pgqqmndlihvjfbrfiqzgzfl7a127nchfyb12f9y91zz"; }
-      { url = root + "knpkb.nbb.emd";
-        sha256 = "1jiihs0cd5jx2hwv99vb3n3iahqwz6ja60zk5nbr17cxzhw0g2ng"; }
-      { url = root + "knpkb.nbw.emd";
-        sha256 = "19jxzp7v90hd1j6i109z03vdq81cndmlvmbb65fm2mc4ffrwms83"; }
-      { url = root + "knpkn.nbb.emd";
-        sha256 = "1yqjxxhc0fq2jvsqifw8my8lzfs2fgn6z8c2lgvak8ag2mi57ka8"; }
-      { url = root + "knpkn.nbw.emd";
-        sha256 = "1kh8sh9vscig0kkwvz79i3gk582xrgll8f4jlqw219f80ckh2ry6"; }
-      { url = root + "knpkp.nbb.emd";
-        sha256 = "1sd46as18ciml1nyzwh8v5qm5slhchbv15yv4qhcaga7cmljy9w5"; }
-      { url = root + "knpkp.nbw.emd";
-        sha256 = "0p8cwryphz16j2yihg7c1szx20s9mxzbgc7y6ddigvhafa19fc1d"; }
-      { url = root + "knpkq.nbb.emd";
-        sha256 = "03vaswq917maa1wxfkilcxjxvm9srnwzmzq1sq36q3h3dlcv23mp"; }
-      { url = root + "knpkq.nbw.emd";
-        sha256 = "1wmnipmacrbwggr1n63zdivvy9haqs96rkn458xswpmvks5fbyqj"; }
-      { url = root + "knpkr.nbb.emd";
-        sha256 = "1ngpj8iaz6si5i3vxri8k8ajpaim71caldxal28djkpmw91yqil6"; }
-      { url = root + "knpkr.nbw.emd";
-        sha256 = "1hqm6xp361iqdn7ayw6zvdk068iz2mwdz6sr087cr7gc0mim2ndw"; }
-      { url = root + "knppk.nbb.emd";
-        sha256 = "1mphpswq01v7d0pxij12nd1lpiz683gp0zgwnz0nyninwsmpq08v"; }
-      { url = root + "knppk.nbw.emd";
-        sha256 = "1m8l9jy96nxvqk48y73yj8b996q2gza1h448rrl00hjn1apbmjf3"; }
-      { url = root + "kpk.nbb.emd";
-        sha256 = "1xgbahdym0nbj63rc6rwgiwzss8xw3ra4lg03z46666hwykx8gxp"; }
-      { url = root + "kpk.nbw.emd";
-        sha256 = "1clkwzf3nb8lzrrs3gg4m9j5wh7z66ihra8gyz8majpjbhcz86an"; }
-      { url = root + "kpkp.nbb.emd";
-        sha256 = "06jsna3795gjlymnrxmscgxnz9ic1i648hr6v5vfagf8lmqi9nq4"; }
-      { url = root + "kpkp.nbw.emd";
-        sha256 = "1gplq6ksq4kvwramx137ncl6giwcm8rg3q8xmyqk1mq10dwcjfbp"; }
-      { url = root + "kppk.nbb.emd";
-        sha256 = "11xlmyw2hx26mkca4bid4qg62yxd0pspgmb40l9kf6h0yjzq4q07"; }
-      { url = root + "kppk.nbw.emd";
-        sha256 = "0j4dmlsm5i7rwrw7kkiq8j7zmcwvb6w38g41kfslm4sv6nm5mvjs"; }
-      { url = root + "kppkb.nbb.emd";
-        sha256 = "0w2yzi0l3jdnr88my8gcsqy72crkm9ppyiy8wl629lpcbrwj75x6"; }
-      { url = root + "kppkb.nbw.emd";
-        sha256 = "06f1h0x6rcsq9kag1fcz9z47hpffr4w9q171rkspd8ffpfzqq7za"; }
-      { url = root + "kppkn.nbb.emd";
-        sha256 = "0wmkn2i8z7m4j93hid2z2ns31kg4yhn939lfkvglfdvrgqjn1kh9"; }
-      { url = root + "kppkn.nbw.emd";
-        sha256 = "1ky4zcwyv5rn4g0h490s6l8vin6rwdv156ial7iczaq8hf70yhkm"; }
-      { url = root + "kppkp.nbb.emd";
-        sha256 = "1ivfxjphcld71cg4rvvq9rvnkpidh6apd52jf2cv42fvx313d9mq"; }
-      { url = root + "kppkp.nbw.emd";
-        sha256 = "1ymvp0z6jhrqi2hz87c81r54m9sdjpm91pvxwbx061yfbdpv230z"; }
-      { url = root + "kppkq.nbb.emd";
-        sha256 = "018cy2q2dvhxjh80prjxg6fx1lal50qc5mzzbfy0xlkk1l1y4sk5"; }
-      { url = root + "kppkq.nbw.emd";
-        sha256 = "0k4jlzcn213h8303jl3hkdapd9z8dhazsa22zac0bg52488r07gj"; }
-      { url = root + "kppkr.nbb.emd";
-        sha256 = "187pjqvp7kzyxkncp51c3vi26khimabkw5b3nyaj498jqjjlfa23"; }
-      { url = root + "kppkr.nbw.emd";
-        sha256 = "0mkrap8dizwxhhiij2xzlvbn8q9hrlsfvkcfcxajn8azaxnhx3ck"; }
-      { url = root + "kpppk.nbb.emd";
-        sha256 = "10spzc39zks7pwa2qy8aps5hk0z4xsxq1lpfwd61qwm5hazci391"; }
-      { url = root + "kpppk.nbw.emd";
-        sha256 = "1wx48xyb1xl5v7gjrahby8psig1gs9dipsj6iq44d052qr56513j"; }
-      { url = root + "kqbbk.nbb.emd";
-        sha256 = "1zvacin043njqws2nwiylch5dan28yis3ybcjb3zvmkdxyy8qzrh"; }
-      { url = root + "kqbbk.nbw.emd";
-        sha256 = "1s5likpps43bxplsv5yrqqnh2xzakibcknn6jh67xwdvl2v4jfz5"; }
-      { url = root + "kqbk.nbb.emd";
-        sha256 = "1814l1cgfphzl4v7k3hnwi21ydzfzyr7xzbh05dw3mnm0dsg9gzk"; }
-      { url = root + "kqbk.nbw.emd";
-        sha256 = "0xpmqr99qscrqjk5rzb7cgkjpcz4cmp6gngfsy8hq7530a4nknxk"; }
-      { url = root + "kqbkb.nbb.emd";
-        sha256 = "1jpl4nx4ddwnz455433508ibxywsrccb098infn992gs7wqqjsi2"; }
-      { url = root + "kqbkb.nbw.emd";
-        sha256 = "0krx6irqv0gvdy7hknhwa6gj2zwiv9rnjk2qlf2cy6xsldzn6af7"; }
-      { url = root + "kqbkn.nbb.emd";
-        sha256 = "09xsg79xajh1g2d9nvms61pjgb13x6fc0nhw58nnfg28nbvjzz1n"; }
-      { url = root + "kqbkn.nbw.emd";
-        sha256 = "0gb8pdsd77fmjd09h7ri1z8rrparqn5xa56dwi4yd4hhwsb8c4fq"; }
-      { url = root + "kqbkp.nbb.emd";
-        sha256 = "07h1zzaic2qh2140wvcq0hvhmkv0j9h7rchm3avsk7m6ma98d7zi"; }
-      { url = root + "kqbkp.nbw.emd";
-        sha256 = "13lffpplxis2a5949wnq998262idiydg2b2pz5np3mxyppc48r61"; }
-      { url = root + "kqbkq.nbb.emd";
-        sha256 = "09l20wcjcvmncz97j4107q3ch81dgzmx7i86m6pzifhy8mrn2cll"; }
-      { url = root + "kqbkq.nbw.emd";
-        sha256 = "0vra23shpwlsiyzd8wd2m2ayrs4ig2943l90ps9xh1p6igjv1n9d"; }
-      { url = root + "kqbkr.nbb.emd";
-        sha256 = "0gmzhzr1m751djfp6b71yrah04r89lq41nshvw02qp531aqp1xyq"; }
-      { url = root + "kqbkr.nbw.emd";
-        sha256 = "1zz0fdfn463xa76xd8hg2hz8a1kaljka9l01z64vsqvn73nkd5fm"; }
-      { url = root + "kqbnk.nbb.emd";
-        sha256 = "1m7krpj5sd6mvrsks39jyxkg8mvz7g15rwnn55kql2flpsw481q4"; }
-      { url = root + "kqbnk.nbw.emd";
-        sha256 = "1q6jvhxjzcani3ls402n3ylhhmf8kd482in19d2ny0q7pqcimvy7"; }
-      { url = root + "kqbpk.nbb.emd";
-        sha256 = "1pdc8kd3q9f8vgfqxymar3vkg1h9qbsfr614lhgbmpmpmn4zxqdj"; }
-      { url = root + "kqbpk.nbw.emd";
-        sha256 = "0dcyxa92200g0dgq7lk018grhvwxzrhh6wrwqdk6g3v02g63h38d"; }
-      { url = root + "kqk.nbb.emd";
-        sha256 = "1f0cdqyakzck0ng11smhk9kdkch9hbm3azniqv2wjg2wp9aj9s1n"; }
-      { url = root + "kqk.nbw.emd";
-        sha256 = "0gzxgkxzfnlri5ypvx67k2mwq4xnwkm4hn4n9mqpl7fjwdj733w2"; }
-      { url = root + "kqkb.nbb.emd";
-        sha256 = "0j3w39l4mnwm5nrrw0zcd4icdj8hgds792nhick2mfn40injwna6"; }
-      { url = root + "kqkb.nbw.emd";
-        sha256 = "0q30gjvlfmx1ld4i0x2xj97i4i3w6q1vhl2q91w8dd84bw1cy1k8"; }
-      { url = root + "kqkn.nbb.emd";
-        sha256 = "15aivg3vpc6y1g3gcnmssjnww9l7npy3g5xxq3wq99ai1mbgik7p"; }
-      { url = root + "kqkn.nbw.emd";
-        sha256 = "1qqi3r6a5d74108xgdxx9qx4cxv7fkr9jpkrcizirzv30dp3cb4z"; }
-      { url = root + "kqkp.nbb.emd";
-        sha256 = "0hlsmjn9baa1bplnwygxvgnkfn15fm9fhc6k39bfiacy7ai0zkka"; }
-      { url = root + "kqkp.nbw.emd";
-        sha256 = "0ibx6xp2v980626xffb7khz8lfnxb9577w5zc6mlc892kinaf4gf"; }
-      { url = root + "kqkq.nbb.emd";
-        sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; }
-      { url = root + "kqkq.nbw.emd";
-        sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; }
-      { url = root + "kqkr.nbb.emd";
-        sha256 = "13fabjhiq5psyvg2a1cbx16471g35il0lm3fsfdy4dpl9zr2pw58"; }
-      { url = root + "kqkr.nbw.emd";
-        sha256 = "0hwy21k0a3qa6b1093904krdqrqrz5iwqsb0qxqqnwljpz8kr1zl"; }
-      { url = root + "kqnk.nbb.emd";
-        sha256 = "0dy9d9fwaqvmr3x796a7vq5ynqnpw8b4l0zsm7nkvvd5sak1blxj"; }
-      { url = root + "kqnk.nbw.emd";
-        sha256 = "0zdzqhg0ww4b79w3w3hjpwfar0r8fhk2yc8jknwzcc9q9rv9a78n"; }
-      { url = root + "kqnkb.nbb.emd";
-        sha256 = "04zvc8s2rwcgr9chx3rmvr3shs47i75pwh1wph9wiy33jx5gw846"; }
-      { url = root + "kqnkb.nbw.emd";
-        sha256 = "1v22rln9plikvchdxqii4m9kh9s0mahrxnsqs6i2kzcfphiqp3ns"; }
-      { url = root + "kqnkn.nbb.emd";
-        sha256 = "0kwz1390brs60ri0mrvf3f64ax0yncnp6kpaf7nrw5v29s5cxpyz"; }
-      { url = root + "kqnkn.nbw.emd";
-        sha256 = "0gvsx71nf0bhggk338rsmvbpajwa6j1ja09gchny6i9gvg9l0frs"; }
-      { url = root + "kqnkp.nbb.emd";
-        sha256 = "169llq4dv4fsh8hvvwwrbc2b1iwklnqwqmhzv77q862cxs8rbcsa"; }
-      { url = root + "kqnkp.nbw.emd";
-        sha256 = "1b1mgfh7hgiqv9a0dv1f7vr180g1mjxcg3nlx4zmpj0mzgwka39g"; }
-      { url = root + "kqnkq.nbb.emd";
-        sha256 = "02za7wp2z1h1sd55mmkaa6i0bh3piwiz5ybpdrxk2amm54kvjmsj"; }
-      { url = root + "kqnkq.nbw.emd";
-        sha256 = "0s9c4zfw4slp7lv373nkhlyafn3hpw9pv4543mm69c6cdnl04xhk"; }
-      { url = root + "kqnkr.nbb.emd";
-        sha256 = "0nffvkdfs17b6n2hmy9i7ha793dn8an7ff9nd97z62zxxm63gmyp"; }
-      { url = root + "kqnkr.nbw.emd";
-        sha256 = "1jqmbna1i5wqahqz2lalviv61y6ak379fhjcc9xg651dxfnjnmwh"; }
-      { url = root + "kqnnk.nbb.emd";
-        sha256 = "1dlhfqmv5g3f9lvfgvy4h7x0xfkbn9pcsplb9kjlqg7qhkimcvbg"; }
-      { url = root + "kqnnk.nbw.emd";
-        sha256 = "0zlg34ff2bp88q8bws2isswwa8ls0qncpzyzc3d1j6avkprwkq2i"; }
-      { url = root + "kqnpk.nbb.emd";
-        sha256 = "0i436sxh5093zy03v6rjf6r0ydjmkmfj5fkxqk2qjjps2gc6jwsn"; }
-      { url = root + "kqnpk.nbw.emd";
-        sha256 = "0yf7il0maiw8c9gam9cvnjgvywjk5k3pjvmgcy377yf31hgi209g"; }
-      { url = root + "kqpk.nbb.emd";
-        sha256 = "11vl1p9qwqsdbxdppqg3n73868kd69kqhl6h6q1p47a4dq9lqldy"; }
-      { url = root + "kqpk.nbw.emd";
-        sha256 = "02ik15sm3mdhyn76rnx8jvg7fma1m7njm55h6mqqqgqgbji0zzvi"; }
-      { url = root + "kqpkb.nbb.emd";
-        sha256 = "0s7k9dh87s6msmqpv43csax632i5w5gzc2s4ijiy38kg0d3cgz31"; }
-      { url = root + "kqpkb.nbw.emd";
-        sha256 = "115y0gshq2g6p6mfclxag1lvba3pz2rlyw8b6d5rykkapm299yvb"; }
-      { url = root + "kqpkn.nbb.emd";
-        sha256 = "1i3wx9c7dk1sdig6kv4h3pa2m9ir1gd6qz7jyan9q18wvrpag12l"; }
-      { url = root + "kqpkn.nbw.emd";
-        sha256 = "0iqxrgr1x2k3mfvhgckz9dya92wj8vddpv746gz86yi6n05wp373"; }
-      { url = root + "kqpkp.nbb.emd";
-        sha256 = "0ifxixayrfhdp3yq04h55kjcgbly4390ghrhpvllc3mf6yrcg3sh"; }
-      { url = root + "kqpkp.nbw.emd";
-        sha256 = "1hf8b4lvci0lm4skvxsw83c521q2x1i7yij8ih9j8ijyg64fivp8"; }
-      { url = root + "kqpkq.nbb.emd";
-        sha256 = "0vy9ihcl80q2ml7lilgi007d7zx4r9knsyn8f63fqfa8x3m5rs6b"; }
-      { url = root + "kqpkq.nbw.emd";
-        sha256 = "0xqngdyq8anfz1xqyg24nvwds7k7027j1l5pjwl22x0ipi7hda98"; }
-      { url = root + "kqpkr.nbb.emd";
-        sha256 = "1c3xbrvsmyjz0ydc3xpw5hcxky20742d2jqwf7rrx5q223y11mlv"; }
-      { url = root + "kqpkr.nbw.emd";
-        sha256 = "0fsi0d0czwvi2az56v2a4r0k78drybyqdda264gqjs53j65h02bp"; }
-      { url = root + "kqppk.nbb.emd";
-        sha256 = "0995h6li6ixljxfs4xxy1bvmzj589h675bg8pkhbrmvimhja2nrf"; }
-      { url = root + "kqppk.nbw.emd";
-        sha256 = "18hh8080s90qdacy6svhymfs4nw27x0p0s8km8p090rwk5si860a"; }
-      { url = root + "kqqbk.nbb.emd";
-        sha256 = "15n425kcfjypwbxj1ck9v4rzd24lmd36kczhsi1cp2y6955vz9vp"; }
-      { url = root + "kqqbk.nbw.emd";
-        sha256 = "1mjkgcblgsga7vib0410mdcjqh3dkc3xq8nx17p1hapinj987w8s"; }
-      { url = root + "kqqk.nbb.emd";
-        sha256 = "0ihmqjiqycybci4zczrdv4c3a1bdz7l2qln0g43rbzwbkjsplykx"; }
-      { url = root + "kqqk.nbw.emd";
-        sha256 = "0m0359yb17azb8s482i63fvqqy1b9idgklrj82rpbidasz41gj0m"; }
-      { url = root + "kqqkb.nbb.emd";
-        sha256 = "0b9hm4pw01dal7lazb1qakjbgg5wg3nrn2bdjmkabfjgbrnh4hbm"; }
-      { url = root + "kqqkb.nbw.emd";
-        sha256 = "1msk54xzbn41rhlyx9qkragihmg7yw2r5jc97lkvb7d8lwg6s59r"; }
-      { url = root + "kqqkn.nbb.emd";
-        sha256 = "18d8nc25h33gd1qr6jmsbka3qmd8xjb2q1545959x6b4ch93cbsy"; }
-      { url = root + "kqqkn.nbw.emd";
-        sha256 = "0i2mzllfklvv8bw0g6rjjrjkw71mvn8hsvqg6m7hhdq8lg5ajhyp"; }
-      { url = root + "kqqkp.nbb.emd";
-        sha256 = "14y51vjw0r605pbjz0gvhc0x2w14ijxn3nilvpd5sdcnfh79kaax"; }
-      { url = root + "kqqkp.nbw.emd";
-        sha256 = "11m1034gb608czhzrrj3fgpixq4rlvr92bzv7ga5r8wypwwycbdp"; }
-      { url = root + "kqqkq.nbb.emd";
-        sha256 = "1cxyavw61qqpy15vrq51a0sjsd2lhya60cf33nnh9vb370amwqj9"; }
-      { url = root + "kqqkq.nbw.emd";
-        sha256 = "1lrv2757bivjs9bsyh7ghj53halg3jz29xhnx7xhjrf48rpv6nxw"; }
-      { url = root + "kqqkr.nbb.emd";
-        sha256 = "1m2r0myc2piqn4pcd3b9ngivrjg1j5viwsi9740dlb730dbvkzna"; }
-      { url = root + "kqqkr.nbw.emd";
-        sha256 = "1767n2993dw5akbd3h6w570nbs5bncd8qid1dhgzfs9yxxzjplns"; }
-      { url = root + "kqqnk.nbb.emd";
-        sha256 = "047950dbkh0mzpfb1klm51lmqzx1d90w6j7r4z8mc1nw4knh5cpp"; }
-      { url = root + "kqqnk.nbw.emd";
-        sha256 = "0yd35ra0s0qckqymzi634bxp127arbrqzyj3s3xww82qsn6lbm07"; }
-      { url = root + "kqqpk.nbb.emd";
-        sha256 = "08wbdhpa8vna39i226hg71r8a7ydp2vd2gh5prskr39vqj0k5pa3"; }
-      { url = root + "kqqpk.nbw.emd";
-        sha256 = "1vyd4pvb8mhbdkm85njnqxg755biw0y68ylxfbnar8wna4dl27ds"; }
-      { url = root + "kqqqk.nbb.emd";
-        sha256 = "0l0ichgik395z90h37zj6x4kcxpf0121zw57s8s0y51iwz61ikg9"; }
-      { url = root + "kqqqk.nbw.emd";
-        sha256 = "0jmkd9n96al6sggva1kmdax8vxqprai9hhkxxvsk35wivcp8akk8"; }
-      { url = root + "kqqrk.nbb.emd";
-        sha256 = "02wahvwixy5l3q9h57ayr2mxqs79zg8m2qh8cv3mms39csa9axzh"; }
-      { url = root + "kqqrk.nbw.emd";
-        sha256 = "05rypafy4lgb53x8zx2qlvdrjm91aqr61hc7iwlpfikqqcbiksiw"; }
-      { url = root + "kqrbk.nbb.emd";
-        sha256 = "0bk77dvdg5qx86rss0q9v8zl079g85p7snfgjpr30jpfv2z0a6p6"; }
-      { url = root + "kqrbk.nbw.emd";
-        sha256 = "0mgamh4fqr6g063ic5qapdjng6jw35f82f0wjq8j9gv5w83s0vqs"; }
-      { url = root + "kqrk.nbb.emd";
-        sha256 = "0vsadlphh4b6cgs4pizw44nfw4lhpq65dws44fc9z74sf32q0ibr"; }
-      { url = root + "kqrk.nbw.emd";
-        sha256 = "1qq8jqzqzkcarhnc7ad6xp3s2f8r4crrxgj0ajciz2pkyc98xdh6"; }
-      { url = root + "kqrkb.nbb.emd";
-        sha256 = "0bxmkjmqx7gjdaz78d31sbk7v67crx24dpbhswfg6b3xkhi8cy3f"; }
-      { url = root + "kqrkb.nbw.emd";
-        sha256 = "0hhz4yxrcwvvc4b36ixlh3g8gdm4krhvip80xazcy538dwl26b29"; }
-      { url = root + "kqrkn.nbb.emd";
-        sha256 = "13h7qa2zy9akdrvrwl7wmlpncgljjamc7asa9vpd76bi5mp0wrap"; }
-      { url = root + "kqrkn.nbw.emd";
-        sha256 = "0ihcp5wh61cgq439nh5rn3qqhpyjl5h4xz9ayyma298fm2xw7w89"; }
-      { url = root + "kqrkp.nbb.emd";
-        sha256 = "1wjrcrjgq1gj0jqbw0mi8ah79qv80zp921bzjxsx9vjm35hdbbhl"; }
-      { url = root + "kqrkp.nbw.emd";
-        sha256 = "0qwc76wyy60vicxyxx80gm6f40fw3izs6xndhhkfh86cj7sjl3l5"; }
-      { url = root + "kqrkq.nbb.emd";
-        sha256 = "0drzfjrm6mh8q1vb36ycvfsipp6z4ij4a200zxypaxaimnxssq3x"; }
-      { url = root + "kqrkq.nbw.emd";
-        sha256 = "0n12rixcd2k3bgm00k2z9cnlzx1av5y62r8adnx6h2grlgcyd26j"; }
-      { url = root + "kqrkr.nbb.emd";
-        sha256 = "0zvzx89gp4saggjb062nafy3xncv01fmbymsmnlswmq80xdkcn4d"; }
-      { url = root + "kqrkr.nbw.emd";
-        sha256 = "0by6f36850d4fdraqj8rqv7ryaplqxlmkm00prm0pcmlb3y5czc7"; }
-      { url = root + "kqrnk.nbb.emd";
-        sha256 = "0z5599ci1n7qgpn3inch8zc3ciyy1b5gjbix78k3b5ig4ra2idv6"; }
-      { url = root + "kqrnk.nbw.emd";
-        sha256 = "18a5bm0rlh4wf5im54acq0w0l6lnjjk4dxaxcph67q4smfbfacv3"; }
-      { url = root + "kqrpk.nbb.emd";
-        sha256 = "10rbm2j3rz04jv0s70aink3y7h303zvnf29b9pim8b8pv23pwvy3"; }
-      { url = root + "kqrpk.nbw.emd";
-        sha256 = "1jqvxfj3fnm456livvfbp3v750mm86js2qb7va5nq9wilif13chb"; }
-      { url = root + "kqrrk.nbb.emd";
-        sha256 = "0h2g8v9i6ic2fmjgzwh1hcwaka2m8n8l28nvbbkq3447hrwl8sba"; }
-      { url = root + "kqrrk.nbw.emd";
-        sha256 = "137iicxbws20rv93b5qas6dpk5a7qj18rcbj632117hkiw3ddjly"; }
-      { url = root + "krbbk.nbb.emd";
-        sha256 = "1i0yjbvkrqz4m61qk6flz88zsb3nwskj6rrn3bz4fzv63m0yhcpk"; }
-      { url = root + "krbbk.nbw.emd";
-        sha256 = "00rna709hpxw06sg5cnzn9xzgn2pib4n5yyffjz638sgivgh62k4"; }
-      { url = root + "krbk.nbb.emd";
-        sha256 = "1xq45jiwg96084jm0qkacjmxl86v0mp1nrr6k85dpn99bmyzx5xw"; }
-      { url = root + "krbk.nbw.emd";
-        sha256 = "0jnxrpwad8cpl6yp31bs5g0h89jjr8061lj69n8wdmmwhvjafvk0"; }
-      { url = root + "krbkb.nbb.emd";
-        sha256 = "0gdwy9q7xf35fpb78g02jn07d969p7zzhnn4asbk5y3fmix209l2"; }
-      { url = root + "krbkb.nbw.emd";
-        sha256 = "0kryfbjli1l05nqarz96q6fnviwzgjvmbljbmapirw40ma68nx4r"; }
-      { url = root + "krbkn.nbb.emd";
-        sha256 = "01fll6vvqiyxpmn6qmwhrzd7f3j3irpbdvc2jn2hqzjdmsr0kz59"; }
-      { url = root + "krbkn.nbw.emd";
-        sha256 = "13yipfw7v5w2hcgmnml3ka1rq1g5djcf81nkanrlmrkqaksxbc0m"; }
-      { url = root + "krbkp.nbb.emd";
-        sha256 = "1bpa5x4zm9nap62hf3iiyzzwcp0fsh5bww0sdnvlzaclw9mbc1g8"; }
-      { url = root + "krbkp.nbw.emd";
-        sha256 = "0y157ai66amm5lryigc7nizj79mfbcny925qqcsgbi8l2yhl7hk1"; }
-      { url = root + "krbkq.nbb.emd";
-        sha256 = "199gckvazpsv1f3jkfxw9p3hyfshpvqm2i9wqjgzlm69dckbbj4x"; }
-      { url = root + "krbkq.nbw.emd";
-        sha256 = "1m72pzaxlrppwpaqgdcxcjr9n5cnyxs8p0kxybgkl17vfvpc5jmw"; }
-      { url = root + "krbkr.nbb.emd";
-        sha256 = "04wpcfq3y4nx1q57vina4z75lv3mrzljfzw5s73s5m0fhfq54i9v"; }
-      { url = root + "krbkr.nbw.emd";
-        sha256 = "1wii5h5cyxxxgjp53ap43v0wnpj7amxyd8kg9bxsamcfz3wj1v70"; }
-      { url = root + "krbnk.nbb.emd";
-        sha256 = "0s2jrbyjn4d2kik7ic4i1d4w6yx2841cdwb7lalpw3jf74ag2cv4"; }
-      { url = root + "krbnk.nbw.emd";
-        sha256 = "1py0lnsahky21dvk5kdcfgbrca1cks7ihjslpvins91l58yzldh9"; }
-      { url = root + "krbpk.nbb.emd";
-        sha256 = "1v3j61j125i9hbmqm11ay2ng65djq55mwxfr5v8173whqjk9cjc5"; }
-      { url = root + "krbpk.nbw.emd";
-        sha256 = "1zvinpcr9mzm6jgicq6y6jfl6dsd7pyn648bfayszfgndyr2b125"; }
-      { url = root + "krk.nbb.emd";
-        sha256 = "042qliismf63y6vims4bg31lj1w9r2y45p32frqxgk79hvb567yv"; }
-      { url = root + "krk.nbw.emd";
-        sha256 = "1fam4n038dg4g1nc1zn55lyjagv4j4lkbq28rhiaz7mhj3z4r3zz"; }
-      { url = root + "krkb.nbb.emd";
-        sha256 = "0y44rbly8ggzjg2i5vhxibia551ii28dnpyzls3b74a6078zy0wy"; }
-      { url = root + "krkb.nbw.emd";
-        sha256 = "12bqs411yhv6k0b2jhil1l7hpk4cj3i8x0bcj168jnmikzhprvgq"; }
-      { url = root + "krkn.nbb.emd";
-        sha256 = "1wcghsgr9g09pbyhak1hyxw3rvfis6zplc3zgzx3qphp69rivk3k"; }
-      { url = root + "krkn.nbw.emd";
-        sha256 = "1jkwz4kjl91kxxascg21zj6c6qgx9s0k91jjbic6ybsmpv4wj4qc"; }
-      { url = root + "krkp.nbb.emd";
-        sha256 = "1jmaansnxspb7x2ka8y44vssgk78wfcrmdczj60zyzg1bj3n5fl8"; }
-      { url = root + "krkp.nbw.emd";
-        sha256 = "14yi4fsax0w9sd5bv463ajs6r4q0wxj3n19np9anc1zfvb3yk846"; }
-      { url = root + "krkr.nbb.emd";
-        sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; }
-      { url = root + "krkr.nbw.emd";
-        sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; }
-      { url = root + "krnk.nbb.emd";
-        sha256 = "0gvm4y8p5a9769nqhgnx6xj6nlldgrh75k3z8c8hj2xd9cyj01pp"; }
-      { url = root + "krnk.nbw.emd";
-        sha256 = "0p7j4x0xdq5krsvmj44qkcaqmww7rplrjdr08ix3jyjf31kk2x13"; }
-      { url = root + "krnkb.nbb.emd";
-        sha256 = "0w9gybr4i7d8zjpbbyg1m4263bx2gpmnh91vd0xmpwi0ykrxrl57"; }
-      { url = root + "krnkb.nbw.emd";
-        sha256 = "19wp8swng0q2wzxwx89km5fqlqfb4vcamky9h7pvas2sgh8frfmq"; }
-      { url = root + "krnkn.nbb.emd";
-        sha256 = "0g3b48symag31lcgbimpmmqsqdmihsr6g9k5a15l0mfkisfwadlf"; }
-      { url = root + "krnkn.nbw.emd";
-        sha256 = "1vryhaw1aj4bhv2ghb10zxyx930s2f4xqg7v9cxfnr9q5w2qv7xh"; }
-      { url = root + "krnkp.nbb.emd";
-        sha256 = "13b8vahj7hj4f12kiaigx1nphdrf8z30j68zav9n617kpf5s35i0"; }
-      { url = root + "krnkp.nbw.emd";
-        sha256 = "1qcnjwkg0pxp1hq4xws9dgq4bx6pxn0am3mcj1n837qcmv46mf7c"; }
-      { url = root + "krnkq.nbb.emd";
-        sha256 = "150d9z4v6fk16sdxq1w96gl2pl9nsf0jimy8kdgc8a19i1ab1rjc"; }
-      { url = root + "krnkq.nbw.emd";
-        sha256 = "13dn9hgk4i26axwymv0gvdkl0zr5shggvm5lpwa15gigmrva73bh"; }
-      { url = root + "krnkr.nbb.emd";
-        sha256 = "14ja7chmg7aklg6swlc3lpik4akj8zv3x2qppsip0vi3j05lnqyv"; }
-      { url = root + "krnkr.nbw.emd";
-        sha256 = "04qxh0kzk2p7m5zdrzg0faqva91qals4njnwf4vgfr65lmd4hyfn"; }
-      { url = root + "krnnk.nbb.emd";
-        sha256 = "1f35pqprkf1clx0mzzkgx9mn8ncqdiyc2cbxcp5a4x1kzli7zp34"; }
-      { url = root + "krnnk.nbw.emd";
-        sha256 = "16y28mqjl7fbl8rlwv51bn17sx0fpvfi0izyq1f5043l7fmpshfr"; }
-      { url = root + "krnpk.nbb.emd";
-        sha256 = "097rmr9zb550qn41kn11c15qp8l5582wqncg5li46iq9mfxcskiw"; }
-      { url = root + "krnpk.nbw.emd";
-        sha256 = "0hj3bhqvgdd64qa47irwx08nz4fqxhm0ddmpjq0jb757wlqw5f05"; }
-      { url = root + "krpk.nbb.emd";
-        sha256 = "1qz218amn2ii66g2fr2ifq6csr0n5n9ip9jcjxkxgpmawiwjhcm1"; }
-      { url = root + "krpk.nbw.emd";
-        sha256 = "19vh7k73gjyjwqzdpf0pv2i7zrqb2ns6a6r3n4jgwwd2n35inr1i"; }
-      { url = root + "krpkb.nbb.emd";
-        sha256 = "1y6kknnkb0ikk7az6syc3drhp4v3avpffa5pghpr2pm6i8xzx3nm"; }
-      { url = root + "krpkb.nbw.emd";
-        sha256 = "0fnbyhgjlnrnddkpbbyabyg31nmi61w9ra8ylicv6ysgyn4bcps4"; }
-      { url = root + "krpkn.nbb.emd";
-        sha256 = "08cn0pa6y1hxq7clgj70hdxm13a6zi9c8z2mmf3qgsjjkrj2wgc5"; }
-      { url = root + "krpkn.nbw.emd";
-        sha256 = "16ybnwl7sf832z546igrwclahhymp734dcg6rhrakxabrv0y144z"; }
-      { url = root + "krpkp.nbb.emd";
-        sha256 = "125qzj83kc5y5rx6jn078pjj6lph1gslmglx24n5n399382kllkn"; }
-      { url = root + "krpkp.nbw.emd";
-        sha256 = "1kbahpn99r37syb1yypabw55g4diwbp6q99nr6f6rn19wp0b44mk"; }
-      { url = root + "krpkq.nbb.emd";
-        sha256 = "1wsxy8ycz8l6wn6c58w4n0gdsdb8lik6b046q132qjw8mnn07gv1"; }
-      { url = root + "krpkq.nbw.emd";
-        sha256 = "0l8sg8sv6yy2wsrg7p9j2w5s61sd3jak09z1i347k0g0190m77m8"; }
-      { url = root + "krpkr.nbb.emd";
-        sha256 = "1mv4jcgkilsw3d4m879r2cwslz71v0rg5hwk9r6lhpg22qam3kz1"; }
-      { url = root + "krpkr.nbw.emd";
-        sha256 = "1nj906wq21h9xfzihc3wcp9s2bwgy7c68j4a6vlxq3zy1c8k53yx"; }
-      { url = root + "krppk.nbb.emd";
-        sha256 = "0x63qm3zwp70y3a33s29bv7lhg1vjnvi4gkxxgh6s0590y7s8pj4"; }
-      { url = root + "krppk.nbw.emd";
-        sha256 = "1z4nhf2gygbdgk6j3bdxhllx154ajkrrz3j0y715r20m0fxfl6x8"; }
-      { url = root + "krrbk.nbb.emd";
-        sha256 = "0gxam25i89sqmmmd781yyk2k2zyj76l9w9hngqkzagiz0fhh9ycz"; }
-      { url = root + "krrbk.nbw.emd";
-        sha256 = "1v7rfv5b4wjsgfy21fi3xyxbfj76mvkxhfz52612p4rnzp78bb56"; }
-      { url = root + "krrk.nbb.emd";
-        sha256 = "0ms9cjndxiflssymcx7aakf6bjwb5043nz5i4jvix89wvp6lgfa1"; }
-      { url = root + "krrk.nbw.emd";
-        sha256 = "18bh2y3v2ak6j1q1rlnkp02vijbbqr69i4cg1pvj943c83xz18l3"; }
-      { url = root + "krrkb.nbb.emd";
-        sha256 = "0hdr8v5bgybma3sdl8mk0v3msjvdva89zs1wd52m6jbdgwb5hzca"; }
-      { url = root + "krrkb.nbw.emd";
-        sha256 = "1g8bkyzq585az5rrglxd71ydj2fhhgqzdfmkgihbi7ncjym9kpw7"; }
-      { url = root + "krrkn.nbb.emd";
-        sha256 = "0bz8np2sqj8viwszx4jj9wxj774kv548pjzrmc6xh11p0sfjx3rj"; }
-      { url = root + "krrkn.nbw.emd";
-        sha256 = "1qf4d6zlvwlgrq0f732wafpznkqd3qnf7na4bgd4p1pb105ickg4"; }
-      { url = root + "krrkp.nbb.emd";
-        sha256 = "1kw434r77f61b5agly6lqkvn4b1rwssd511lcv16mvvf56xlqnb4"; }
-      { url = root + "krrkp.nbw.emd";
-        sha256 = "1yzqpp01gckk25zjy8j820y37m4vj6rgc6zpphwll45rn1ahwk0p"; }
-      { url = root + "krrkq.nbb.emd";
-        sha256 = "1ynhjzzmjpd6yw0d2w5xhlms3sqjc8gksfqgq3wmx7ym23wya2qq"; }
-      { url = root + "krrkq.nbw.emd";
-        sha256 = "01wil4pbcnrqynj1xpkglk2r36b36cz9gjr2g76rrz5xhdy5q8vj"; }
-      { url = root + "krrkr.nbb.emd";
-        sha256 = "0iyqadmpddy9i330nv1qrsjfkk2vlkxfxjphx3q349lplq6a9s16"; }
-      { url = root + "krrkr.nbw.emd";
-        sha256 = "1fg4byzzmjlzz8hs2vhpysmf8py9ylkf5pdw3rv88dxr4cp1wciq"; }
-      { url = root + "krrnk.nbb.emd";
-        sha256 = "1jb8rq7sy28c9wr7yih8w5bi8jbcf4xzf8sccanz32qxp0159f0h"; }
-      { url = root + "krrnk.nbw.emd";
-        sha256 = "17g7l0szgqczykjgxdhpihs5hh2snc35cy3hggnvah3j8bv6ksb4"; }
-      { url = root + "krrpk.nbb.emd";
-        sha256 = "1q7vk3pawab9nbpdn3cw2kf205yx6lznr6gkd9qbjj3754s9zswh"; }
-      { url = root + "krrpk.nbw.emd";
-        sha256 = "0wl23j0a67mm01655p4ivjrlsacvm7lxglhrg6cni61qkdqr6vqz"; }
-      { url = root + "krrrk.nbb.emd";
-        sha256 = "1ggm5q38wc65rkp87n5d2l71kcl7nqjkvwa31hmlagq2735vd0gd"; }
-      { url = root + "krrrk.nbw.emd";
-        sha256 = "1h7psv25a4wajg6ggk2q0cllf5mng4qjas3yi9nvi7kc766p85ax"; }
-    ]);
-
-  patches = [ ./strcpy.patch ./malloc.patch ];
-
   buildInputs = [ unzip ];
 
-  buildPhase =
-    if stdenv.isDarwin
-    then "make darwin"
-    else if stdenv.isLinux
-           then "make linux-amd64"
-           else "make";
+  unpackPhase = ''
+    mkdir "craftysrc"
+    unzip $src -d craftysrc
+    gunzip -c $startPgn > "craftysrc/start.pgn"
+  '';
+
+  buildPhase = ''
+    cd craftysrc
+    make unix-gcc
+  '';
 
   installPhase = ''
+    BUILDDIR="$PWD"
     mkdir -p $out/bin
     cp -p ./crafty $out/bin
 
     mkdir -p $out/share/crafty
     cd $out/share/crafty
 
-    $out/bin/crafty "books create ${startPgn} 60"
+    $out/bin/crafty "books create $BUILDDIR/start.pgn 60"
     rm -f *.001
 
-    ${if fullVariant then ''
-        unzip ${enormousPgn}
-        $out/bin/crafty "book create enormous.pgn 60"
-        rm -f *.001 enormous.pgn
-        
-        mkdir -p $out/share/crafty/TB
-        ${stdenv.lib.fold
-          (tb: acc: acc + "\nln -s "
-                        + toString tb
-                        + " $out/share/crafty/TB/`echo "
-                        + toString tb
-                        + " | sed 's/.*-//'`")
-          ""
-          tableBases345}
-      ''
-      else ''
-        cp -p ${bookBin} $out/share/crafty/book.bin
-      ''}
+    cp -p ${bookBin} $out/share/crafty/book.bin
 
     mv $out/bin/crafty $out/bin/.crafty-wrapped
+
     cat - > $out/bin/crafty <<EOF
     #! ${stdenv.shell}
-    exec $out/bin/.crafty-wrapped bookpath=$out/share/crafty ${stdenv.lib.optionalString fullVariant "egtb=on tbpath=$out/share/crafty/TB"} "\$@"
+    #
+    # The books are copied from share/crafty to ~/.crafty/books the first time
+    # this script is run. You can restore them at any time just copying them
+    # again.
+    if [[ ! -d "\$HOME/.crafty/books" ]]; then
+      mkdir "\$HOME/.crafty/books" -p
+      cp "$out/share/crafty/"book*.bin "\$HOME/.crafty/books"
+      chmod ug+w "\$HOME/.crafty/books/"*
+    fi
+    exec $out/bin/.crafty-wrapped bookpath=\$HOME/.crafty/books "\$@"
     EOF
     chmod +x $out/bin/crafty
   '';
diff --git a/pkgs/games/crafty/malloc.patch b/pkgs/games/crafty/malloc.patch
deleted file mode 100644
index 39b5afe8ddac..000000000000
--- a/pkgs/games/crafty/malloc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/chess.h
-+++ b/chess.h
-@@ -25,7 +25,7 @@
- #include <assert.h>
- #include <stdlib.h>
- #if !defined(IPHONE)
--#  include <malloc.h>
-+#  include <sys/malloc.h>
- #endif
- #include <string.h>
- #if !defined(TYPES_INCLUDED)
diff --git a/pkgs/games/crafty/strcpy.patch b/pkgs/games/crafty/strcpy.patch
deleted file mode 100644
index d4d424d23dab..000000000000
--- a/pkgs/games/crafty/strcpy.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/utility.c
-+++ b/utility.c
-@@ -2144,7 +2144,7 @@ int ReadPGN(FILE * input, int option) {
-         char *skip;
- 
-         strcpy(temp, input_buffer);
--        skip = strstr(input_buffer, buffer) + strlen(buffer);
-+        skip = strstr(temp, buffer) + strlen(buffer);
-         if (skip)
-           strcpy(input_buffer, skip);
-       }
-@@ -2241,7 +2241,7 @@ int ReadPGN(FILE * input, int option) {
-             }
-           }
-           strcpy(temp, input_buffer);
--          skip = strstr(input_buffer, buffer) + strlen(buffer);
-+          skip = strstr(temp, buffer) + strlen(buffer);
-           strcpy(input_buffer, skip);
-       } else {
-         int skip;
-
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index d7dab32e2971..3a13001a80d5 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -395,7 +395,7 @@ with stdenv.lib;
 
   # Linux containers.
   NAMESPACES? y #  Required by 'unshare' used by 'nixos-install'
-  RT_GROUP_SCHED? y
+  RT_GROUP_SCHED n
   CGROUP_DEVICE? y
   MEMCG y
   MEMCG_SWAP y
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 69a951875a53..9e5724984576 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
-, libiberty
+, libiberty, libaudit
 , zlib, withGtk ? false, gtk2 ? null }:
 
 with lib;
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   # perf refers both to newt and slang
   # binutils is required for libbfd.
   nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-      flex bison libiberty ];
+      flex bison libiberty libaudit ];
   buildInputs = [ elfutils python perl newt slang pkgconfig libunwind binutils zlib ] ++
     stdenv.lib.optional withGtk gtk2;
 
diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix
index 3284dfcb88ba..dd6f9ec42afa 100644
--- a/pkgs/os-specific/linux/rtkit/default.nix
+++ b/pkgs/os-specific/linux/rtkit/default.nix
@@ -13,10 +13,17 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
+    # Drop removed ControlGroup stanza
     (fetchpatch {
-      url = "https://anonscm.debian.org/cgit/pkg-multimedia/rtkit.git/plain/debian/patches/0002-Drop-Removed-ControlGroup-stanza.patch?id=21f2c6be6985c777cbf113c67043353406744050";
+      url = "http://git.0pointer.net/rtkit.git/patch/?id=6c28e20c0be2f616a025059fda0ffac84e7f4f17";
       sha256 = "0lsxk5nv08i1wjb4xh20i5fcwg3x0qq0k4f8bc0r9cczph2sv7ck";
     })
+
+    # security patch: Pass uid of caller to polkit
+    (fetchpatch {
+      url = "http://git.0pointer.net/rtkit.git/patch/?id=88d4082ef6caf6b071d749dca1c50e7edde914cc";
+      sha256 = "0hp1blbi359qz8fmr6nj4w9yc0jf3dd176f8pn25wdj38n13qkix";
+    })
   ];
 
   buildInputs = [ pkgconfig dbus libcap ];
diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix
index 51630b4231ce..2e2923e17c39 100644
--- a/pkgs/servers/kippo/default.nix
+++ b/pkgs/servers/kippo/default.nix
@@ -25,16 +25,48 @@
 #
 # Use this package at your own risk.
 
-{stdenv, pkgs, config, fetchurl, ... }:
+{stdenv, fetchurl, pythonPackages }:
 
-stdenv.mkDerivation rec {
+let
+
+  twisted_13 = pythonPackages.buildPythonPackage rec {
+    # NOTE: When updating please check if new versions still cause issues
+    # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem)
+    disabled = pythonPackages.isPy3k;
+
+    name = "Twisted-13.2.0";
+    src = fetchurl {
+      url = "mirror://pypi/T/Twisted/${name}.tar.bz2";
+      sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ zope_interface ];
+
+    # Generate Twisted's plug-in cache.  Twited users must do it as well.  See
+    # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
+    # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for
+    # details.
+    postInstall = "$out/bin/twistd --help > /dev/null";
+
+    meta = with stdenv.lib; {
+      homepage = http://twistedmatrix.com/;
+      description = "Twisted, an event-driven networking engine written in Python";
+      longDescription = ''
+        Twisted is an event-driven networking engine written in Python
+        and licensed under the MIT license.
+      '';
+      license = licenses.mit;
+    };
+  };
+
+in stdenv.mkDerivation rec {
     name = "kippo-${version}";
     version = "0.8";
     src = fetchurl {
       url = "https://kippo.googlecode.com/files/kippo-${version}.tar.gz";
       sha1 = "f57a5cf88171cb005afe44a4b33cb16f825c33d6";
     };
-    buildInputs = with pkgs.pythonPackages; [ pycrypto pyasn1 twisted_11 ];
+    buildInputs = with pythonPackages; [ pycrypto pyasn1 twisted_13 ];
     installPhase = ''
         substituteInPlace ./kippo.tac --replace "kippo.cfg" "$out/src/kippo.cfg"
         substituteInPlace ./kippo.cfg --replace "log_path = log" "log_path = /var/log/kippo" \
@@ -51,6 +83,8 @@ stdenv.mkDerivation rec {
         mv $out/src/utils/* $out/bin
         '';
 
+    passthru.twisted = twisted_13;
+
     meta = with stdenv.lib; {
       homepage = https://code.google.com/p/kippo;
       description = "SSH Honeypot";
diff --git a/pkgs/shells/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh-syntax-highlighting/default.nix
index 301ad13fa738..792a8875db4d 100644
--- a/pkgs/shells/zsh-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh-syntax-highlighting/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "Fish shell like syntax highlighting for Zsh";
     homepage = "https://github.com/zsh-users/zsh-syntax-highlighting";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.loskutov ];
   };
 }
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
new file mode 100644
index 000000000000..5d43679b6fe6
--- /dev/null
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost }:
+
+stdenv.mkDerivation rec {
+  name = "thin-provisioning-tools-${version}";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "jthornber";
+    repo = "thin-provisioning-tools";
+    rev = "v${version}";
+    sha256 = "0glwhfzwj9afbqdv59ppgfqy7rik8m0vcap7279fpnvwpr1c2p5n";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  buildInputs = [ expat libaio boost ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jthornber/thin-provisioning-tools/;
+    description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ globin ];
+  };
+}
diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
new file mode 100644
index 000000000000..1e33c18753a6
--- /dev/null
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "pgpdump-${version}";
+  version = "0.31";
+
+  src = fetchFromGitHub {
+    owner = "kazu-yamamoto";
+    repo = "pgpdump";
+    rev = "v${version}";
+    sha256 = "05ywdgxzq3976dsy95vgdx3nnhd9i9vypzyrkabpmnxphfnjfrb4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A PGP packet visualizer";
+    longDescription = ''
+      pgpdump is a PGP packet visualizer which displays the packet format of
+      OpenPGP (RFC 4880) and PGP version 2 (RFC 1991).
+    '';
+    homepage = "http://www.mew.org/~kazu/proj/pgpdump/en/";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7a6088874314..0a681125f635 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3040,6 +3040,8 @@ in
     nix = nixUnstable;
   };
 
+  pakcs = callPackage ../development/compilers/pakcs {};
+
   pal = callPackage ../tools/misc/pal { };
 
   pandoc = haskell.lib.overrideCabal haskellPackages.pandoc (drv: {
@@ -3792,6 +3794,8 @@ in
 
   thc-hydra = callPackage ../tools/security/thc-hydra { };
 
+  thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools {  };
+
   tiled = qt5.callPackage ../applications/editors/tiled { };
 
   timemachine = callPackage ../applications/audio/timemachine { };
@@ -7095,6 +7099,8 @@ in
     gnupg1 = gnupg1orig;
   };
 
+  pgpdump = callPackage ../tools/security/pgpdump { };
+
   gpgstats = callPackage ../tools/security/gpgstats { };
 
   gpshell = callPackage ../development/tools/misc/gpshell { };
@@ -15309,7 +15315,6 @@ in
   crack_attack = callPackage ../games/crack-attack { };
 
   crafty = callPackage ../games/crafty { };
-  craftyFull = appendToName "full" (crafty.override { fullVariant = true; });
 
   crawlTiles = crawl.override {
     tileMode = true;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 987f42f9184e..aadd0998999d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2056,6 +2056,34 @@ in modules // {
     };
   };
 
+  biopython = buildPythonPackage rec {
+    name = "biopython-${version}";
+    version = "1.68";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/b/biopython/${name}.tar.gz";
+      sha256 = "07qc7nz0k77y8hf8s18rscvibvm91zw0kkq7ylrhisf8vp8hkp6i";
+    };
+
+    propagatedBuildInputs = with self; [ numpy ];
+    # Checks try to write to $HOME, which does not work with nix
+    doCheck = false;
+    meta = {
+      description = "Python library for bioinformatics";
+
+      longDescription = ''
+        Biopython is a set of freely available tools for biological computation
+        written in Python by an international team of developers. It is a
+        distributed collaborative effort to develop Python libraries and
+        applications which address the needs of current and future work in
+        bioinformatics.
+      '';
+
+      homepage = http://biopython.org/wiki/Documentation;
+      maintainers = with maintainers; [ luispedro ];
+    };
+  };
+
   bedup = buildPythonPackage rec {
     version = "0.10.1";
     name = "bedup-${version}";
@@ -18627,6 +18655,23 @@ in modules // {
     };
   };
 
+  ptpython = buildPythonPackage rec {
+    name = "ptpython-0.35";
+    propagatedBuildInputs = with self;
+        [ wcwidth six prompt_toolkit docopt jedi pygments];
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/ptpython/${name}.tar.gz";
+      sha256 = "e0d380fbccb03ed33a7f33d96988e66fbd286bc813c9ceea84a1b3b5615a5660";
+    };
+
+    meta = {
+      description = "An advanced Python REPL";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ mlieberman85 ];
+      platforms = platforms.all;
+    };
+  };
+
   publicsuffix = buildPythonPackage rec {
     name = "publicsuffix-${version}";
     version = "1.0.2";
@@ -22829,26 +22874,7 @@ in modules // {
     };
   };
 
-  sockjs-tornado = buildPythonPackage rec {
-    name = "sockjs-tornado-${version}";
-    version = "1.0.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz";
-      sha256 = "15lcy40h2cm0l8aknbrk48p2sni5wzybsqjx1hxwpk9lfa1xryyv";
-    };
 
-    # This is needed for compatibility with OctoPrint
-    propagatedBuildInputs = with self; [ tornado_4_0_1 ];
-
-    meta = {
-      description = "SockJS python server implementation on top of Tornado framework";
-      homepage = http://github.com/mrjoes/sockjs-tornado/;
-      license = licenses.mit;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ abbradar ];
-    };
-  };
 
   sopel = buildPythonPackage rec {
     name = "sopel-6.3.1";
@@ -24977,34 +25003,25 @@ in modules // {
     };
   };
 
-  twisted_11 = buildPythonPackage rec {
-    # NOTE: When updating please check if new versions still cause issues
-    # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem)
-    disabled = isPy3k;
+  twine = buildPythonPackage rec {
+    name = "twine-${version}";
+    version = "1.8.1";
 
-    name = "Twisted-13.2.0";
     src = pkgs.fetchurl {
-      url = "mirror://pypi/T/Twisted/${name}.tar.bz2";
-      sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89";
+      url    = "mirror://pypi/t/twine/${name}.tar.gz";
+      sha256 = "68b663691a947b844f92853c992d42bb68b6333bffc9ab7f661346b001c1da82";
     };
 
-    propagatedBuildInputs = with self; [ zope_interface ];
+    propagatedBuildInputs = with self; [ clint pkginfo requests2 requests_toolbelt ];
 
-    # Generate Twisted's plug-in cache.  Twited users must do it as well.  See
-    # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
-    # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for
-    # details.
-    postInstall = "$out/bin/twistd --help > /dev/null";
+    # Requires network
+    doCheck = false;
 
     meta = {
-      homepage = http://twistedmatrix.com/;
-      description = "Twisted, an event-driven networking engine written in Python";
-      longDescription = ''
-        Twisted is an event-driven networking engine written in Python
-        and licensed under the MIT license.
-      '';
-      license = licenses.mit;
-      maintainers = [ ];
+      description = "Collection of utilities for interacting with PyPI";
+      homepage = https://github.com/pypa/twine;
+      license = licenses.asl20;
+      maintainer = with maintainers; [ fridh ];
     };
   };
 
@@ -26767,18 +26784,6 @@ in modules // {
     };
   };
 
-  tornado_4_0_1 = buildPythonPackage rec {
-    name = "tornado-${version}";
-    version = "4.0.1";
-
-    propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 certifi ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tornado/${name}.tar.gz";
-      sha256 = "00crp5vnasxg7qyjv89qgssb69vd7qr13jfghdryrcbnn9l8c1df";
-    };
-  };
-
   tokenlib = buildPythonPackage rec {
     name = "tokenlib-${version}";
     version = "0.3.1";