about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
commit75eafe97f7df0d653bec67f3962214d7c357831f (patch)
tree09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/applications/science
parenta53b121bf4331497da63df3b1b7f1a7897dad146 (diff)
parenta2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff)
downloadnixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/applications/science')
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/gildas/imager-py3.patch12
-rw-r--r--nixpkgs/pkgs/applications/science/biology/delly/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/science/biology/kallisto/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/biology/last/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minc-tools/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/science/biology/minc-tools/fix-netcdf-header.patch12
-rw-r--r--nixpkgs/pkgs/applications/science/biology/mrtrix/default.nix77
-rw-r--r--nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix6
-rwxr-xr-xnixpkgs/pkgs/applications/science/biology/poretools/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/biology/seaview/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/spades/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/truvari/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/quantum-espresso/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/fped/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/default.nix40
-rwxr-xr-xnixpkgs/pkgs/applications/science/electronics/kicad/update.sh16
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix24
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/pcb/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/verilator/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/abc/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/logic/acgtk/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/science/logic/coq/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/elan/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/logic/iprover/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lean/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/logic/mcy/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/science/logic/monosat/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/science/logic/ott/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/potassco/clingcon.nix43
-rw-r--r--nixpkgs/pkgs/applications/science/logic/satallax/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/logic/satallax/fix-declaration-gcc9.patch21
-rw-r--r--nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/science/logic/verifast/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/why3/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/logic/workcraft/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix82
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/torch/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/machine-learning/torch/torch-distro.nix336
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch26
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/science/math/clp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/getdp/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/pari/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/math/pcalc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/pspp/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/docutils-0.15.patch24
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-env.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/math/symmetrica/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/misc/foldingathome/client.nix59
-rw-r--r--nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix58
-rw-r--r--nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix55
-rw-r--r--nixpkgs/pkgs/applications/science/misc/rink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/simgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/misc/snakemake/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/physics/sherpa/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix2
73 files changed, 803 insertions, 654 deletions
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
index cc6af8a17c06..9908439e10d4 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "jan20a";
-  version = "20200101_a";
+  srcVersion = "feb20a";
+  version = "20200201_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,19 +16,15 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "12n08pax7gwg2z121ix3ah5prq3yswqnf2yc8jgs4i9rgkpbsfzz";
+    sha256 = "05f34kpi3pfgf4dsyka7mkcln26yzb2mixnnc306krq0isjm7m26";
   };
 
-  # Python scripts are not converted to Python 3 syntax when parallel
-  # building is turned on. Disable it until this is fixed upstream.
-  enableParallelBuilding = false;
-
   nativeBuildInputs = [ pkgconfig groff perl getopt gfortran which ];
 
   buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
     ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ./imager-py3.patch ];
+  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/imager-py3.patch b/nixpkgs/pkgs/applications/science/astronomy/gildas/imager-py3.patch
deleted file mode 100644
index 71a129164bac..000000000000
--- a/nixpkgs/pkgs/applications/science/astronomy/gildas/imager-py3.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN gildas-src-jan20a.orig/contrib/imager/pro/define.ima gildas-src-jan20a/contrib/imager/pro/define.ima
---- gildas-src-jan20a.orig/contrib/imager/pro/define.ima	2020-01-01 02:15:16.000000000 +0100
-+++ gildas-src-jan20a/contrib/imager/pro/define.ima	2020-01-14 11:18:46.000000000 +0100
-@@ -9,7 +9,7 @@
- !
- ! Patch for a Bug on Mac-OS/X where Python blocks if activated first
- ! from a script launched by a widget.
--python print "Starting Python" 
-+python print("Starting Python")
- !
- ! INPUT, GO and UVT_CONVERT always defined by GreG
- define command GO "@ p_go.ima" gag_pro:go_greg.hlp  
diff --git a/nixpkgs/pkgs/applications/science/biology/delly/default.nix b/nixpkgs/pkgs/applications/science/biology/delly/default.nix
index bfdf5a1bb17e..a6c45f8aa44e 100644
--- a/nixpkgs/pkgs/applications/science/biology/delly/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/delly/default.nix
@@ -1,16 +1,25 @@
-{ stdenv, fetchFromGitHub, htslib, zlib, bzip2, lzma, ncurses, boost }:
+{ stdenv, fetchpatch, fetchFromGitHub, htslib, zlib, bzip2, lzma, ncurses, boost }:
 
-stdenv.mkDerivation rec {
+let
+  htslibPatch = fetchpatch {
+    url = "https://github.com/dellytools/delly/commit/0e5c710b0c5ea790bb39699d4cbd49cf4fb86f14.diff";
+    sha256 = "09bz1qqvzhdzm99hf9zgrv80kq9jlr1m2mdvx96p2hk5lpnbdl7y";
+    excludes = [ "src/htslib" ];
+  };
+
+in stdenv.mkDerivation rec {
   pname = "delly";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
       owner = "dellytools";
       repo = pname;
       rev = "v${version}";
-      sha256 = "18gm86j1g1k4z1cjv2m5v9rsl1xqs2w3dhwcsnzx2mhkrvmlc4i1";
+      sha256 = "14bkmixz7737xj192ww96s3a20zc7xs7r04db8avw3ggi3i1s1cs";
   };
 
+  patches = [ htslibPatch ];
+
   buildInputs = [ zlib htslib bzip2 lzma ncurses boost ];
 
   EBROOTHTSLIB = htslib;
diff --git a/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix b/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
index 1a6555e0d634..5a1bb187886b 100644
--- a/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,19 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.46.1";
+  version = "0.46.2";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "09ldgy70wziw51ma4a3b7vyrphzf2v1cnq1j5r1wwgfmx8fgbh2z";
+    sha256 = "0m0r2820ca3rch99md1zzbgkilmlfkhdkpys2lfnb87qxmf1jnmb";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
 
   buildInputs = [ hdf5 zlib ];
 
+  cmakeFlags = [ "-DUSE_HDF5=ON" ];
+
   # Parallel build fails in some cases: https://github.com/pachterlab/kallisto/issues/160
   enableParallelBuilding = false;
 
diff --git a/nixpkgs/pkgs/applications/science/biology/last/default.nix b/nixpkgs/pkgs/applications/science/biology/last/default.nix
index c9e546dc2ce7..b47ce6ac3a94 100644
--- a/nixpkgs/pkgs/applications/science/biology/last/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/last/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1045";
+  version = "1047";
 
   src = fetchurl {
     url = "http://last.cbrc.jp/last-${version}.zip";
-    sha256 = "0x2wrm52ca935n3yc486m8yy59ap34w1x9h3csjca3jab5agnjkc";
+    sha256 = "06fj4qfw3dd35y3pky3dnr40v1alf43wjx373rbx1vr3hbgzvgf8";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/applications/science/biology/minc-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/minc-tools/default.nix
index 033f78609e9a..4c8b768a56a9 100644
--- a/nixpkgs/pkgs/applications/science/biology/minc-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/minc-tools/default.nix
@@ -1,21 +1,28 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, flex, bison, perlPackages, libminc, libjpeg, zlib }:
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, flex, bison, perl, TextFormat,
+  libminc, libjpeg, nifticlib, zlib }:
 
 stdenv.mkDerivation rec {
-  pname = "minc-tools";
-  name  = "${pname}-2017-09-11";
+  pname   = "minc-tools";
+  version = "unstable-2019-12-04";
 
   src = fetchFromGitHub {
     owner  = "BIC-MNI";
     repo   = pname;
-    rev    = "5b7c40425cd4f67a018055cb85c0157ee50a3056";
-    sha256 = "0zkcs05svp1gj5h0cdgc0k20c7lrk8m7wg3ks3xc5mkaiannj8g7";
+    rev    = "d4dddfdb4e4fa0cea389b8fdce51cfc076565d94";
+    sha256 = "1wwdss59qq4hz1jp35qylfswzzv0d37if23al0srnxkkgc5f8zng";
   };
 
+  patches = [ ./fix-netcdf-header.patch ];
+
   nativeBuildInputs = [ cmake flex bison makeWrapper ];
   buildInputs = [ libminc libjpeg zlib ];
-  propagatedBuildInputs = with perlPackages; [ perl TextFormat ];
+  propagatedBuildInputs = [ perl TextFormat ];
 
-  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
+                 "-DZNZ_INCLUDE_DIR=${nifticlib}/include/"
+                 "-DZNZ_LIBRARY=${nifticlib}/lib/libznz.a"
+                 "-DNIFTI_INCLUDE_DIR=${nifticlib}/include/nifti/"
+                 "-DNIFTI_LIBRARY=${nifticlib}/lib/libniftiio.a" ];
 
   postFixup = ''
     for prog in minccomplete minchistory mincpik; do
diff --git a/nixpkgs/pkgs/applications/science/biology/minc-tools/fix-netcdf-header.patch b/nixpkgs/pkgs/applications/science/biology/minc-tools/fix-netcdf-header.patch
new file mode 100644
index 000000000000..89c7564f8b62
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/minc-tools/fix-netcdf-header.patch
@@ -0,0 +1,12 @@
+diff --git a/progs/mincdump/mincdump.h b/progs/mincdump/mincdump.h
+index 14c95cd..117ab26 100644
+--- a/progs/mincdump/mincdump.h
++++ b/progs/mincdump/mincdump.h
+@@ -3,6 +3,7 @@
+  *   See netcdf/COPYRIGHT file for copying and redistribution conditions.
+  *   $Header: /private-cvsroot/minc/progs/mincdump/mincdump.h,v 1.1 2004-04-27 15:35:15 bert Exp $
+  *********************************************************************/
++#include <netcdf_meta.h>
+ 
+ 
+ /* error checking macro */
diff --git a/nixpkgs/pkgs/applications/science/biology/mrtrix/default.nix b/nixpkgs/pkgs/applications/science/biology/mrtrix/default.nix
new file mode 100644
index 000000000000..6959b2caab8a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/mrtrix/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, lib, fetchFromGitHub, python, makeWrapper
+, eigen, fftw, libtiff, zlib, ants, bc
+, qt5, libGL, libGLU, libX11, libXext
+, withGui ? true }:
+
+stdenv.mkDerivation rec {
+  pname = "mrtrix";
+  version = "3.0_RC3_latest";
+
+  src = fetchFromGitHub {
+    owner  = "MRtrix3";
+    repo   = "mrtrix3";
+    rev    = version;
+    sha256 = "184nv524p8j94qicjy9l288bqcgl2yxqqs55a7042i0gfsnwp51c";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ eigen makeWrapper ] ++ lib.optional withGui qt5.wrapQtAppsHook;
+
+  buildInputs = [
+    ants
+    python
+    fftw
+    libtiff
+    zlib ] ++ lib.optionals withGui [
+    libGL
+    libGLU
+    libX11
+    libXext
+    qt5.qtbase
+    qt5.qtsvg
+  ];
+
+  installCheckInputs = [ bc ];
+
+  postPatch = ''
+    patchShebangs ./build ./configure ./run_tests ./bin/population_template
+    substituteInPlace ./run_tests  \
+      --replace 'git submodule update --init >> $LOGFILE 2>&1' ""
+  '';
+
+  configurePhase = ''
+    export EIGEN_CFLAGS="-isystem ${eigen}/include/eigen3"
+    unset LD  # similar to https://github.com/MRtrix3/mrtrix3/issues/1519
+    ./configure ${lib.optionalString (!withGui) "-nogui"};
+  '';
+
+  buildPhase = ''
+    ./build
+    (cd testing && ../build)
+  '';
+
+  installCheckPhase = "./run_tests";
+  doInstallCheck = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out
+    cp -ar lib $out/lib
+    cp -ar bin $out/bin
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    for prog in $out/bin/*; do
+      wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ ants ]}
+    done
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/MRtrix3/mrtrix3";
+    description = "Suite of tools for diffusion imaging";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.linux;
+    license   = licenses.mpl20;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
index 44247f294aa6..93f66810549b 100644
--- a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.21.6";
+  version = "2.22.0";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "1vpyzhrs3bbviwk2n7k5296rnsw7g9ksvjsibl0gm7dawip9jb5s";
+    sha256 = "1qgg8r81xn2z965v78kfj05vycrd2cz48gxk5csr6kvwk3ba286c";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF";
     license = licenses.mit;
-    homepage = https://broadinstitute.github.io/picard/;
+    homepage = "https://broadinstitute.github.io/picard/";
     maintainers = with maintainers; [ jbedo ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/science/biology/poretools/default.nix b/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
index 8a19ae135e87..4660a776ab21 100755
--- a/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/poretools/default.nix
@@ -16,7 +16,7 @@ pythonPackages.buildPythonPackage rec {
   meta = {
     description = "a toolkit for working with nanopore sequencing data from Oxford Nanopore";
     license = stdenv.lib.licenses.mit;
-    homepage = http://poretools.readthedocs.io/en/latest/;
+    homepage = https://poretools.readthedocs.io/en/latest/;
     maintainers = [stdenv.lib.maintainers.rybern];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/biology/seaview/default.nix b/nixpkgs/pkgs/applications/science/biology/seaview/default.nix
index 69dece88c276..fea8da41d70a 100644
--- a/nixpkgs/pkgs/applications/science/biology/seaview/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/seaview/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, coreutils, fltk, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "4.7";
+  version = "5.0";
   pname = "seaview";
 
   src = fetchurl {
     url = "ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/seaview/archive/seaview_${version}.tar.gz";
-    sha256 = "0fhyq7dcn0izhwcfin9ajsr7kmmsqm9f1np1rmhzg4digfwqb29n";
+    sha256 = "0gzjqf5mm91pa1drwxvz229bv6l995npdggngszh6z6j4pfh8j7c";
   };
 
   buildInputs = [ fltk libjpeg ];
diff --git a/nixpkgs/pkgs/applications/science/biology/spades/default.nix b/nixpkgs/pkgs/applications/science/biology/spades/default.nix
index a195f79010a7..08a6a0d25095 100644
--- a/nixpkgs/pkgs/applications/science/biology/spades/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/spades/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "SPAdes";
-  version = "3.13.1";
+  version = "3.14.0";
 
   src = fetchurl {
     url = "http://cab.spbu.ru/files/release${version}/${pname}-${version}.tar.gz";
-    sha256 = "0giayz197lmq2108filkn9izma3i803sb3iskv9hs5snzdr9p8ld";
+    sha256 = "1ffxswd2ngkpy1d6l3lb6a9cmyy1fglbdsws00b3m1k22zaqv60q";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/biology/truvari/default.nix b/nixpkgs/pkgs/applications/science/biology/truvari/default.nix
index bee43da6719d..e64c9d3493e9 100644
--- a/nixpkgs/pkgs/applications/science/biology/truvari/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/truvari/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "truvari";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "spiralgenetics";
     repo = "truvari";
     rev = "v${version}";
-    sha256 = "0wmjz8nzibvj0ixky1m0qi7iyd204prk7glbvig1cvaab33k19f1";
+    sha256 = "1bph7v48s7pyfagz8a2fzl5fycjliqzn5lcbv3m2bp2ih1f1gd1v";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -25,8 +25,9 @@ python3Packages.buildPythonApplication rec {
 
   prePatch = ''
     substituteInPlace ./setup.py \
-      --replace '"progressbar2==3.41.0",' "" \
-      --replace '"pysam==0.15.2",' ""
+      --replace '"progressbar2==3.41.0",' '"progressbar2==3.47.0",' \
+      --replace '"pysam==0.15.2",' '"pysam==0.15.4",' \
+      --replace '"pyfaidx==0.5.5.2",' '"pyfaidx==0.5.8",'
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
index 2577b2a16e6d..7259705bc804 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.30.1";
+  version = "14.30.2";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "0qnxsw6pjjkn6yigrfh85fz58ibqdmbv1jhf6i5q68wm5pr1ff3d";
+    sha256 = "0f9sxhxyqrd1vvmq566v1zpzzlci37pm9j7alzak766x5dg5yyz1";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix b/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
index c3395a851487..2c155e4e848f 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "19.27.0";
+  version = "20.6.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "10pzprr43pklf4yl14m9q921ynalsil1dsfbl6lx8r1jmyjgl3w7";
+    sha256 = "1vd1hsj36wzghpn6xnppjmva35kdcin7h0xdj3xmi4w5l3qw7fl6";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
@@ -45,4 +45,4 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix b/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix
index d37f8d17336e..a5abbe2d1de6 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/octopus/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "octopus";
-  version = "9.1";
+  version = "9.2";
 
   src = fetchFromGitLab {
     owner = "octopus-code";
     repo = "octopus";
     rev = version;
-    sha256 = "1l5fqgllk7rij16q7a3la7qq6isy8a5n37vk400qcscw1v32s90h";
+    sha256 = "083z51sjv70asr04rv53wb9gf4396nblq1zl22qw7jdr28hji4is";
   };
 
   nativeBuildInputs = [ perl procps autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/science/chemistry/quantum-espresso/default.nix b/nixpkgs/pkgs/applications/science/chemistry/quantum-espresso/default.nix
index ea80e9fd5ca7..bd420519ce01 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/quantum-espresso/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/quantum-espresso/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "6.4.1";
+  version = "6.5";
   pname = "quantum-espresso";
 
   src = fetchurl {
     url = "https://gitlab.com/QEF/q-e/-/archive/qe-${version}/q-e-qe-${version}.tar.gz";
-    sha256 = "027skhp2zzx0f4mh6azqjljdimchak5cdn13v4x7aj5q2zvfkmxh";
+    sha256 = "00nnsq1vq579xsmkvwrgs6bdqdcbdlsmcp4yfynnvs40ca52m2r5";
   };
 
   passthru = {
@@ -35,7 +35,7 @@ configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${g
         nanoscale. It is based on density-functional theory, plane waves, and
         pseudopotentials.
       '';
-    homepage = https://www.quantum-espresso.org/;
+    homepage = "https://www.quantum-espresso.org/";
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" ];
     maintainers = [ maintainers.costrouc ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
index db4c1e42fea0..68f4fafa887c 100644
--- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -13,11 +13,11 @@ let
   in
   mkDerivation rec {
     pname = "eagle";
-    version = "9.5.1";
+    version = "9.5.2";
 
     src = fetchurl {
       url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
-      sha256 = "07lvjn0mxqkv5kx41bzakifpb5bjhljx0ssvk33ipzb0nvl6nx63";
+      sha256 = "0k707pyh0g2r6sgyran59sznq0nlh0i16la2gxqj3c5da1vb58y5";
     };
 
     desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/applications/science/electronics/fped/default.nix b/nixpkgs/pkgs/applications/science/electronics/fped/default.nix
index 4eb666ada7ce..f93fddba8cb5 100644
--- a/nixpkgs/pkgs/applications/science/electronics/fped/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/fped/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   makeFlags = [
     "PREFIX=${placeholder "out"}"
     "LEX=flex"
-    "RGBDEF=${netpbm}/share/netpbm/misc/rgb.txt"
+    "RGBDEF=${netpbm.out}/share/netpbm/misc/rgb.txt"
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
index 75d69d3e499e..694adc4d6349 100644
--- a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.103";
+  version = "3.3.104";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "0djqfnxy772a9p44wnm5ansbih7jg76xv1hvcpkv3gblhkzg49ay";
+    sha256 = "1qvldbnlp3wkqr5ff93f6pdvv9yzij7lxfhpqlizakz08l1xb391";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
index 0b627dbb23ae..a60f8db388a5 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/default.nix
@@ -35,8 +35,8 @@ let
   python = python3;
   wxPython = python3Packages.wxPython_4_0;
 
-  kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion;
-  kicad-base = callPackage ./base.nix {
+  libraries = callPackages ./libraries.nix versionConfig.libVersion;
+  base = callPackage ./base.nix {
     pname = baseName;
     inherit versions stable baseName;
     inherit wxGTK python wxPython;
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   inherit pname;
   version = versions.${baseName}.kicadVersion.version;
 
-  src = kicad-base;
+  src = base;
   dontUnpack = true;
   dontConfigure = true;
   dontBuild = true;
@@ -61,10 +61,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = optionals (scriptingSupport)
     [ pythonPackages.wrapPython ];
 
-  # wrapGAppsHook added the equivalent to ${kicad-base}/share
+  # wrapGAppsHook added the equivalent to ${base}/share
   # though i noticed no difference without it
   makeWrapperArgs = [
-    "--prefix XDG_DATA_DIRS : ${kicad-base}/share"
+    "--prefix XDG_DATA_DIRS : ${base}/share"
     "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
     "--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share"
     "--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}"
@@ -73,13 +73,13 @@ stdenv.mkDerivation rec {
     "--prefix XDG_DATA_DIRS : ${cups}/share"
     "--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules"
 
-    "--set KISYSMOD ${kicad-libraries.footprints}/share/kicad/modules"
-    "--set KICAD_SYMBOL_DIR ${kicad-libraries.symbols}/share/kicad/library"
-    "--set KICAD_TEMPLATE_DIR ${kicad-libraries.templates}/share/kicad/template"
-    "--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.symbols}/share/kicad/template"
-    "--prefix KICAD_TEMPLATE_DIR : ${kicad-libraries.footprints}/share/kicad/template"
+    "--set KISYSMOD ${libraries.footprints}/share/kicad/modules"
+    "--set KICAD_SYMBOL_DIR ${libraries.symbols}/share/kicad/library"
+    "--set KICAD_TEMPLATE_DIR ${libraries.templates}/share/kicad/template"
+    "--prefix KICAD_TEMPLATE_DIR : ${libraries.symbols}/share/kicad/template"
+    "--prefix KICAD_TEMPLATE_DIR : ${libraries.footprints}/share/kicad/template"
   ]
-  ++ optionals (with3d) [ "--set KISYS3DMOD ${kicad-libraries.packages3d}/share/kicad/modules/packages3d" ]
+  ++ optionals (with3d) [ "--set KISYS3DMOD ${libraries.packages3d}/share/kicad/modules/packages3d" ]
   ++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
 
   # infinisil's workaround for #39493
@@ -88,30 +88,30 @@ stdenv.mkDerivation rec {
 
   # dunno why i have to add $makeWrapperArgs manually...
   # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
-  # not sure if anything has to be done with the other stuff in kicad-base/bin
+  # not sure if anything has to be done with the other stuff in base/bin
   # dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest
   installPhase =
-    optionalString (scriptingSupport) '' buildPythonPath "${kicad-base} $pythonPath"
+    optionalString (scriptingSupport) '' buildPythonPath "${base} $pythonPath"
     '' +
-    '' makeWrapper ${kicad-base}/bin/kicad $out/bin/kicad $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/kicad $out/bin/kicad $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     '' +
-    '' makeWrapper ${kicad-base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs ''
+    '' makeWrapper ${base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs ''
     + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH"
     ''
   ;
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh
index b4f744c47ef3..7dc0b008b6c2 100755
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh
@@ -5,13 +5,12 @@
 # this should contain the versions' revs and hashes
 # the stable revs are stored only for ease of skipping
 
-# if you get something like "tar: no space left on device"
-# you may need a bigger tmpfs, this can be set as such
-# services.logind.extraConfig = "RuntimeDirectorySize=8G";
-# this is most likely only needed for the packages3d
-# this can be checked without that config by manual TOFU
-# copy the generated items from ,versions.nix to versions.nix
-# then nix-build and see what it actually gets
+# by default nix-prefetch-url uses XDG_RUNTIME_DIR as tmp
+# which is /run/user/1000, which defaults to 10% of your RAM
+# unless you have over 64GB of ram that'll be insufficient
+# resulting in "tar: no space left on device" for packages3d
+# hence:
+export TMPDIR=/tmp
 
 # if something goes unrepairably wrong, run 'update.sh all clean'
 
@@ -19,7 +18,8 @@
 # support parallel instances for each pname
 #   currently risks reusing old data
 # no getting around manually checking if the build product works...
-# if there is, default to commiting
+# if there is, default to commiting?
+#   won't work when running in parallel?
 # remove items left in /nix/store?
 
 # get the latest tag that isn't an RC or *.99
diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
index ac273a1265cd..6b9a981a87c4 100644
--- a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix
@@ -27,25 +27,25 @@
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2020-01-08";
+      version =			"2020-02-10";
       src = {
-        rev =			"ca34ade00c554157f106fde97af5f08a202808ef";
-        sha256 =		"0xx5qkc5pi3qdrdikgq3902ws8zilv2476fb4bbgh95d9wpgr35v";
+        rev =			"1190e60dd426d246661e478db3287f266ec6cda2";
+        sha256 =		"0cgfad07j69cks97llj4hf3kga0d5qf728s89xwxrzcwm06k62bi";
       };
     };
     libVersion = {
-      version =			"2020-01-08";
+      version =			"2020-02-10";
       libSources = {
-        i18n.rev =		"e7439fd76f27cfc26e269c4e6c4d56245345c28b";
-        i18n.sha256 =		"1nqm1kx5b4f7s0f9q8bg4rdhqnp0128yp6bgnrkia1kwmfnf5gmy";
-        symbols.rev =		"ad58768b88d564fd188c6667841adec436da53f2";
-        symbols.sha256 =	"1rdplf04bff0hmgjwr81fbcr9nkqi21n0n88nzs5fdp73mqiywcy";
+        i18n.rev =		"26786c4ca804bad7eb072f1ef381f00b5a2ff3ee";
+        i18n.sha256 =		"0iqr1xfw4s677afjy9bn5y41z4isp327f9y90wypkxiwwq3dfkfl";
+        symbols.rev =		"35b7da2d211d7cc036b37ad7f5e40ef03faa1bc7";
+        symbols.sha256 =	"0wbfw1swbfvfp47cn48pxpqlygjs3xh568ydrrs51v3w102x8y64";
         templates.rev =		"0c0490897f803ab8b7c3dad438b7eb1f80e0417c";
         templates.sha256 =	"0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g";
-        footprints.rev =	"973867de7f33f202e9fd1b3455bd1f7e7fe4a074";
-        footprints.sha256 =	"0yvidpnqbfxjdwaiscl5bdchsg0l4d769vp456dc8h0f3802mibi";
-        packages3d.rev =	"c2b92a411adc93ddeeed74b36b542e1057f81a2a";
-        packages3d.sha256 =	"05znc6y2lc31iafspg308cxdda94zg6c7mwslmys76npih1pb8qc";
+        footprints.rev =	"9357b6f09312966c57fec9f66a516941d79c3038";
+        footprints.sha256 =	"0cgah1q0h012ffwfl220k7qb6hgbs0i91spq2j4v3lgpfr4g638d";
+        packages3d.rev =	"de368eb739abe41dfc3163e0e370477e857f9cc1";
+        packages3d.sha256 =	"0b3p5v8g24h6l7q3sbqz7ns0gnrf9l89glj86m5ybhizvls9vrrs";
       };
     };
   };
diff --git a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
index da10ca34b879..dacbd948241a 100644
--- a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "librepcb";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "LibrePCB";
     repo = "LibrePCB";
     fetchSubmodules = true;
-    rev = "acdd94d9d2310f79215125b999153e9da88a9376";
-    sha256 = "1bbl01rp75sl6k1cmch7x90v00lck578xvqmb856s9fx75bdgnv5";
+    rev = "56bc60d347ff67df0fe1d57807d03f0606de557f";
+    sha256 = "0z6jn5zawp0x5i9zda7l787jnsv3yl8aqwnpii3g4hsnf2q3hhrh";
   };
 
   enableParallelBuilding = true;
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     wrapQtApp $out/bin/librepcb
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A free EDA software to develop printed circuit boards";
     homepage = https://librepcb.org/;
     maintainers = with maintainers; [ luz ];
diff --git a/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix b/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
index ec47a37140fd..636c494c3409 100644
--- a/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/pcb/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pcb";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/pcb/${pname}-${version}.tar.gz";
-    sha256 = "1i9zvcj0vgwp2g2hkmvafdq0k39klj90jsdanqx9xl7gl70345cq";
+    sha256 = "0pbfyfadbia1jf9ywkf02j8mfdh8c3mj390c2jdqnl70vcdszvhw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
index c940fd4ac342..85f6ac42126d 100644
--- a/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,20 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.024";
+  version = "4.030";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "0nmjazdv36ksjp8ys48c1grlzkd6yx3zhcd9y165d4sjm3m1pffs";
+    sha256 = "07ldkf7xkr31n1dmx82bmzam8bvc1vsp32k76vd7yzn7r853qyky";
   };
 
   enableParallelBuilding = true;
   buildInputs = [ perl flex bison ];
 
-  postInstall = ''
-    sed -i -e '3a\#!/usr/bin/env perl' -e '1,3d' $out/bin/{verilator,verilator_coverage,verilator_profcfunc}
-  '';
-
   meta = {
     description = "Fast and robust (System)Verilog simulator/compiler";
     homepage    = "https://www.veripool.org/wiki/verilator";
diff --git a/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix b/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix
index 7be0103304a4..0d3a7cc2bc23 100644
--- a/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/nixpkgs/pkgs/applications/science/geometry/tetgen/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl}: 
 
-let version = "1.5.0"; in
+let version = "1.5.1"; in
 stdenv.mkDerivation {
   pname = "tetgen";
   inherit version;
 
   src = fetchurl {
     url = "http://wias-berlin.de/software/tetgen/1.5/src/tetgen${version}.tar.gz";
-    sha256 = "1www3x2r6r7pck43ismlwy82x0j6xj2qiwvfs2pn687gsmhlh4ad";
+    sha256 = "0l5q066crs4cjj7qr0r2gnz8ajkgighngwglr1201h77lcs48sp4";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/logic/abc/default.nix b/nixpkgs/pkgs/applications/science/logic/abc/default.nix
index c832d12627a0..8551a3ee4ca3 100644
--- a/nixpkgs/pkgs/applications/science/logic/abc/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/abc/default.nix
@@ -1,16 +1,20 @@
 { fetchFromGitHub, stdenv, readline, cmake }:
 
-stdenv.mkDerivation {
+let
+  rev = "71f2b40320127561175ad60f6f2428f3438e5243";
+in stdenv.mkDerivation {
   pname = "abc-verifier";
-  version = "2018-07-08";
+  version = "2020-01-11";
 
   src = fetchFromGitHub {
+    inherit rev;
     owner = "berkeley-abc";
     repo = "abc";
-    rev    = "24407e13db4b8ca16c3996049b2d33ec3722de39";
-    sha256 = "1rckji7nk81n6v1yajz7daqwipxacv7zlafknvmbiwji30j47sq5";
+    sha256 = "15sn146ajxql7l1h8rsag5lhn4spwvgjhwzqawfr78snzadw8by3";
   };
 
+  passthru.rev = rev;
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ readline ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/acgtk/default.nix b/nixpkgs/pkgs/applications/science/logic/acgtk/default.nix
index 729aef4e21c2..b7dc95712476 100644
--- a/nixpkgs/pkgs/applications/science/logic/acgtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/acgtk/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation {
 
-  name = "acgtk-1.5.0";
+  pname = "acgtk";
+  version = "1.5.1";
 
   src = fetchurl {
-    url = http://calligramme.loria.fr/acg/software/acg-1.5.0-20181019.tar.gz;
-    sha256 = "14n003gxzw5w79hlpw1ja4nq97jqf9zqyg00ihvpxw4bv9jlm8jm";
+    url = https://acg.loria.fr/software/acg-1.5.1-20191113.tar.gz;
+    sha256 = "17595qfwhzz5q091ak6i6bg5wlppbn8zfn58x3hmmmjvx2yfajn1";
   };
 
   buildInputs = [ dune ] ++ (with ocamlPackages; [
-    ocaml findlib ansiterminal cairo2 fmt logs menhir mtime ocf
+    ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir mtime yojson
   ]);
 
   buildPhase = "dune build";
@@ -18,7 +19,7 @@ stdenv.mkDerivation {
   inherit (dune) installPhase;
 
   meta = with stdenv.lib; {
-    homepage = http://calligramme.loria.fr/acg/;
+    homepage = https://acg.loria.fr/;
     description = "A toolkit for developing ACG signatures and lexicon";
     license = licenses.cecill20;
     inherit (ocamlPackages.ocaml.meta) platforms;
diff --git a/nixpkgs/pkgs/applications/science/logic/coq/default.nix b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
index ac001540e097..85c5d23ffcad 100644
--- a/nixpkgs/pkgs/applications/science/logic/coq/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
@@ -7,7 +7,7 @@
 
 { stdenv, fetchFromGitHub, writeText, pkgconfig
 , ocamlPackages, ncurses
-, buildIde ? true
+, buildIde ? !(stdenv.isDarwin && stdenv.lib.versionAtLeast version "8.10")
 , glib, gnome3, wrapGAppsHook
 , darwin
 , csdp ? null
@@ -32,7 +32,7 @@ let
    "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
    "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
    "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
-   "8.11+beta1" = "06dlxj6v7gd51dh6ir121z7lgqdagkq717xxxrc8bdqhz7d2z7qj";
+   "8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
diff --git a/nixpkgs/pkgs/applications/science/logic/elan/default.nix b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
index e9ef16b2392b..ea3b05850990 100644
--- a/nixpkgs/pkgs/applications/science/logic/elan/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }:
+{ lib, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "0.7.5";
-
-  cargoSha256 = "0q0xlvyyf88dbz43r7kk9v8rrp6hj0nl5i2i9mg6ibk2gphgdv6v";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "kha";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "1147f3lzr6lgvf580ppspn20bdwnf6l8idh1h5ana0p0lf5a0dn1";
+    sha256 = "0n2ncssjcmp3x5kbnci7xbq5fgcihlr3vaglyhhwzrxkjy2vpmpd";
   };
 
+  cargoSha256 = "1pkg0n7kxckr0zhr8dr12b9fxg5q185kj3r9k2rmnkj2dpa2mxh3";
+
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ curl zlib openssl ];
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
   postInstall = ''
     pushd $out/bin
     mv elan-init elan
-    for link in lean leanpkg leanchecker; do
+    for link in lean leanpkg leanchecker leanc; do
       ln -s elan $link
     done
     popd
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     $out/bin/elan completions zsh >  "$out/share/zsh/site-functions/_elan"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Small tool to manage your installations of the Lean theorem prover";
     homepage = "https://github.com/Kha/elan";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/nixpkgs/pkgs/applications/science/logic/iprover/default.nix b/nixpkgs/pkgs/applications/science/logic/iprover/default.nix
index 85fe52239ad9..c4eb22a7c030 100644
--- a/nixpkgs/pkgs/applications/science/logic/iprover/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/iprover/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iprover";
-  version = "2018_Jul_24_11h";
+  version = "3.1";
 
   src = fetchurl {
-    url = "http://www.cs.man.ac.uk/~korovink/iprover/iprover_${version}.tar.gz";
-    sha256 = "1iqim11flzm56aaysasl5whajcv1gq31hkidaqfr8ww7kwl1h06p";
+    url = "http://www.cs.man.ac.uk/~korovink/iprover/iprover-v${version}.tar.gz";
+    sha256 = "0lik8p7ayhjwpkln1iwf0ri84ramhch74j5nj6z7ph6wfi92pgg8";
   };
 
   buildInputs = [ ocaml eprover zlib ];
diff --git a/nixpkgs/pkgs/applications/science/logic/lean/default.nix b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
index 9bf54a5f0940..ac65a72c94b9 100644
--- a/nixpkgs/pkgs/applications/science/logic/lean/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.4.2";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
-    owner  = "leanprover";
+    owner  = "leanprover-community";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "0zpnfg6kyg120rrdr336i1lymmzz4xgcqpn96iavhzhlaanmx55l";
+    sha256 = "1khy41zv4bjbpy3949j7y7d4qal53w4679iqlhm2l8jxd7y46nvi";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,9 +21,11 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Automatic and interactive theorem prover";
-    homepage    = https://leanprover.github.io/;
+    homepage    = "https://leanprover.github.io/";
+    changelog   = "https://github.com/leanprover-community/lean/blob/v${version}/doc/changes.md";
     license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice gebner ];
   };
 }
+
diff --git a/nixpkgs/pkgs/applications/science/logic/mcy/default.nix b/nixpkgs/pkgs/applications/science/logic/mcy/default.nix
new file mode 100644
index 000000000000..9f239f221b18
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/mcy/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub
+, yosys, symbiyosys, python3
+}:
+
+let
+  python = python3.withPackages (p: with p; [ flask ]);
+in
+stdenv.mkDerivation {
+  pname = "mcy";
+  version = "2020.02.05";
+
+  src = fetchFromGitHub {
+    owner  = "YosysHQ";
+    repo   = "mcy";
+    rev    = "83deeddd12d583a89ad4aa1d2147efa4d6adc33c";
+    sha256 = "1i0cabiqr68zflwzc6z894i4n7k6m3hbfck58vzh8zb9jwxwizav";
+  };
+
+  buildInputs = [ python ];
+  patchPhase = ''
+    substituteInPlace mcy.py \
+      --replace yosys '${yosys}/bin/yosys' \
+      --replace 'os.execvp("mcy-dash"' "os.execvp(\"$out/libexec/mcy/mcy-dash.py\""
+  '';
+
+  # the build needs a bit of work...
+  buildPhase = "true";
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec/mcy
+    install mcy.py $out/bin/mcy && chmod +x $out/bin/mcy
+    install mcy-dash.py $out/libexec/mcy/mcy-dash.py
+  '';
+
+  meta = {
+    description = "Mutation-based coverage testing for hardware designs, with Yosys";
+    homepage    = "https://github.com/YosysHQ/mcy";
+    license     = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/monosat/default.nix b/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
index c0512b744884..ba0e787af721 100644
--- a/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/monosat/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, gmp, jdk8,
+{ stdenv, fetchpatch, fetchFromGitHub, cmake, zlib, gmp, jdk8,
   # The JDK we use on Darwin currenly makes extensive use of rpaths which are
   # annoying and break the python library, so let's not bother for now
   includeJava ? !stdenv.hostPlatform.isDarwin, includeGplCode ? true }:
@@ -20,9 +20,17 @@ let
     inherit rev sha256;
   };
 
+  patches = [
+    # Python 3.8 compatibility
+    (fetchpatch {
+      url = https://github.com/sambayless/monosat/commit/a5079711d0df0451f9840f3a41248e56dbb03967.patch;
+      sha256 = "1p2y0jw8hb9c90nbffhn86k1dxd6f6hk5v70dfmpzka3y6g1ksal";
+    })
+  ];
+
   core = stdenv.mkDerivation {
     name = "${pname}-${version}";
-    inherit src;
+    inherit src patches;
     buildInputs = [ cmake zlib gmp jdk8 ];
 
     cmakeFlags = [
@@ -48,20 +56,22 @@ let
   };
 
   python = { buildPythonPackage, cython }: buildPythonPackage {
-    inherit pname version src;
-
-    # The top-level "source" is what fetchFromGitHub gives us. The rest is inside the repo
-    sourceRoot = "source/src/monosat/api/python/";
+    inherit pname version src patches;
 
     propagatedBuildInputs = [ core cython ];
 
     # This tells setup.py to use cython, which should produce faster bindings
     MONOSAT_CYTHON = true;
 
+    # After patching src, move to where the actually relevant source is. This could just be made
+    # the sourceRoot if it weren't for the patch.
+    postPatch = ''
+      cd src/monosat/api/python
+    '' +
     # The relative paths here don't make sense for our Nix build
     # TODO: do we want to just reference the core monosat library rather than copying the
     # shared lib? The current setup.py copies the .dylib/.so...
-    postPatch = ''
+    ''
       substituteInPlace setup.py \
         --replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"'
     '';
diff --git a/nixpkgs/pkgs/applications/science/logic/ott/default.nix b/nixpkgs/pkgs/applications/science/logic/ott/default.nix
index 854a62a5538d..fa7c3dd5e95f 100644
--- a/nixpkgs/pkgs/applications/science/logic/ott/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/ott/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ott";
-  version = "0.29";
+  version = "0.30";
 
   src = fetchFromGitHub {
     owner = "ott-lang";
     repo = "ott";
     rev = version;
-    sha256 = "0saznk2mjbhp3j57imy2p2j0938026bw5m5gqbj59vcvk1rwwl22";
+    sha256 = "16bxfnm30z94x36vr8vs6zd6fj55vnb7aypjl6hf7clk42040brc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/science/logic/potassco/clingcon.nix b/nixpkgs/pkgs/applications/science/logic/potassco/clingcon.nix
new file mode 100644
index 000000000000..1203822d86e9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/potassco/clingcon.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, bison
+, re2c
+}:
+
+stdenv.mkDerivation rec {
+  pname = "clingcon";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "potassco";
+    repo = "${pname}";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "1q7517h10jfvjdk2czq8d6y57r8kr1j1jj2k2ip2qxkpyfigk4rs";
+   };
+
+  # deal with clingcon through git submodules recursively importing
+  # an outdated version of libpotassco which uses deprecated <xlocale.h> header in .cpp files
+  postPatch = ''
+    find ./ -type f -exec sed -i 's/<xlocale.h>/<locale.h>/g' {} \;
+  '';
+
+  nativeBuildInputs = [ cmake bison re2c ];
+
+  cmakeFlags = [
+    "-DCLINGCON_MANAGE_RPATH=ON"
+    "-DCLINGO_BUILD_WITH_PYTHON=OFF"
+    "-DCLINGO_BUILD_WITH_LUA=OFF"
+  ];
+
+  meta = {
+    inherit version;
+    description = "Extension of clingo to handle constraints over integers";
+    license = stdenv.lib.licenses.gpl3; # for now GPL3, next version MIT!
+    platforms = stdenv.lib.platforms.unix;
+    homepage = "https://potassco.org/";
+    downloadPage = "https://github.com/potassco/clingcon/releases/";
+    changelog = "https://github.com/potassco/clingcon/releases/tag/v${version}";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/satallax/default.nix b/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
index 7249eb991d38..d3ceeadbf9a7 100644
--- a/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/satallax/default.nix
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib";
   };
 
+  patches = [
+    # GCC9 doesn't allow default value in friend declaration.
+    ./fix-declaration-gcc9.patch
+  ];
+
   preConfigure = ''
     mkdir fake-tools
     echo "echo 'Nix-build-host.localdomain'" > fake-tools/hostname
diff --git a/nixpkgs/pkgs/applications/science/logic/satallax/fix-declaration-gcc9.patch b/nixpkgs/pkgs/applications/science/logic/satallax/fix-declaration-gcc9.patch
new file mode 100644
index 000000000000..1933fc25c4da
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/satallax/fix-declaration-gcc9.patch
@@ -0,0 +1,21 @@
+diff --git i/minisat/core/SolverTypes.h w/minisat/core/SolverTypes.h
+--- i/minisat/core/SolverTypes.h
++++ w/minisat/core/SolverTypes.h
+@@ -47,7 +47,7 @@ struct Lit {
+     int     x;
+ 
+     // Use this as a constructor:
+-    friend Lit mkLit(Var var, bool sign = false);
++    friend Lit mkLit(Var var, bool sign);
+ 
+     bool operator == (Lit p) const { return x == p.x; }
+     bool operator != (Lit p) const { return x != p.x; }
+@@ -55,7 +55,7 @@ struct Lit {
+ };
+ 
+ 
+-inline  Lit  mkLit     (Var var, bool sign) { Lit p; p.x = var + var + (int)sign; return p; }
++inline  Lit  mkLit     (Var var, bool sign = false) { Lit p; p.x = var + var + (int)sign; return p; }
+ inline  Lit  operator ~(Lit p)              { Lit q; q.x = p.x ^ 1; return q; }
+ inline  Lit  operator ^(Lit p, bool b)      { Lit q; q.x = p.x ^ (unsigned int)b; return q; }
+ inline  bool sign      (Lit p)              { return p.x & 1; }
diff --git a/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix b/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
index c4041281054f..71b26f8023a2 100644
--- a/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/saw-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gmp4, ncurses, zlib, clang_35 }:
+{ stdenv, fetchurl, gmp4, ncurses, zlib, clang }:
 
 let
   libPath = stdenv.lib.makeLibraryPath
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
     ln -s ${stdenv.cc.libc}/lib/libpthread.so.0 $out/lib/libpthread.so.0
 
     # Add a clang symlink for easy building with a suitable compiler.
-    ln -s ${clang_35}/bin/clang $out/bin/saw-clang
+    ln -s ${clang}/bin/clang $out/bin/saw-clang
   '';
 
   fixupPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix b/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
index ddefcf1b3aa2..6b41a44a3583 100644
--- a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -1,19 +1,37 @@
-{ stdenv, fetchFromGitHub, yosys, bash, python3, yices }:
+{ stdenv, fetchFromGitHub
+, bash, python3, yosys
+, yices, boolector, aiger, abc-verifier
+}:
 
 stdenv.mkDerivation {
   pname = "symbiyosys";
-  version = "2019.10.11";
+  version = "2020.02.08";
 
   src = fetchFromGitHub {
-    owner  = "yosyshq";
-    repo   = "symbiyosys";
-    rev    = "23f89011b678daa9da406d4f45f790e45f8f68ca";
-    sha256 = "01596yvfj79iywwczjwlb2l9qnh7bsj7jff66jdk1ybjnxf841f0";
+    owner  = "YosysHQ";
+    repo   = "SymbiYosys";
+    rev    = "500b526131f434b9679732fc89515dbed67c8d7d";
+    sha256 = "1pwbirszc80r288x81nx032snniqgmc80i09bbha2i3zd0c3pj5h";
   };
 
-  buildInputs = [ python3 yosys ];
+  buildInputs = [ python3 ];
+  patchPhase = ''
+    patchShebangs .
 
-  propagatedBuildInputs = [ yices ];
+    # Fix up Yosys imports
+    substituteInPlace sbysrc/sby.py \
+      --replace "##yosys-sys-path##" \
+                "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]"
+
+    # Fix various executable references
+    substituteInPlace sbysrc/sby_core.py \
+      --replace '"/usr/bin/env", "bash"' '"${bash}/bin/bash"' \
+      --replace ': "btormc"'       ': "${boolector}/bin/btormc"' \
+      --replace ': "yosys"'        ': "${yosys}/bin/yosys"' \
+      --replace ': "yosys-smtbmc"' ': "${yosys}/bin/yosys-smtbmc"' \
+      --replace ': "yosys-abc"' ': "${abc-verifier}/bin/abc"' \
+      --replace ': "aigbmc"' ': "${aiger}/bin/aigbmc"' \
+  '';
 
   buildPhase = "true";
   installPhase = ''
@@ -21,19 +39,13 @@ stdenv.mkDerivation {
 
     cp sbysrc/sby_*.py $out/share/yosys/python3/
     cp sbysrc/sby.py $out/bin/sby
-    chmod +x $out/bin/sby
 
-    # Fix up shebang and Yosys imports
-    patchShebangs $out/bin/sby
-    substituteInPlace $out/bin/sby \
-      --replace "##yosys-sys-path##" \
-                "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]"
-    substituteInPlace $out/share/yosys/python3/sby_core.py \
-      --replace '"/usr/bin/env", "bash"' '"${bash}/bin/bash"'
+    chmod +x $out/bin/sby
   '';
+
   meta = {
     description = "Tooling for Yosys-based verification flows";
-    homepage    = https://symbiyosys.readthedocs.io/;
+    homepage    = "https://symbiyosys.readthedocs.io/";
     license     = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice emily ];
     platforms   = stdenv.lib.platforms.all;
diff --git a/nixpkgs/pkgs/applications/science/logic/verifast/default.nix b/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
index 3e3e26708618..c5e8078eff2a 100644
--- a/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/verifast/default.nix
@@ -20,11 +20,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "verifast";
-  version = "18.02";
+  version = "19.12";
 
   src = fetchurl {
     url    = "https://github.com/verifast/verifast/releases/download/${version}/${pname}-${version}-linux.tar.gz";
-    sha256 = "19050be23b6d5e471690421fee59f84c58b29e38379fb86b8f3713a206a4423e";
+    sha256 = "169kshjq4cf4i9v92azv0xaflrnik5686w7fwcgdhd6qkbzflzl6";
   };
 
   dontStrip = true;
diff --git a/nixpkgs/pkgs/applications/science/logic/why3/default.nix b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
index eeb3a6b6d361..e57644618196 100644
--- a/nixpkgs/pkgs/applications/science/logic/why3/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/why3/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, fetchurl, stdenv
+{ callPackage, fetchurl, fetchpatch, stdenv
 , ocamlPackages, coqPackages, rubber, hevea, emacs }:
 
 stdenv.mkDerivation {
@@ -30,7 +30,13 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   # Remove unnecessary call to which
-  patches = [ ./configure.patch ];
+  patches = [ ./configure.patch
+    # Compatibility with js_of_ocaml 3.5
+    (fetchpatch {
+      url = "https://gitlab.inria.fr/why3/why3/commit/269ab313382fe3e64ef224813937314748bf7cf0.diff";
+      sha256 = "0i92wdnbh8pihvl93ac0ma1m5g95jgqqqj4kw6qqvbbjjqdgvzwa";
+    })
+  ];
 
   configureFlags = [ "--enable-verbose-make" ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix b/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
index 2f972c92b521..685d6ee48619 100644
--- a/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/workcraft/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "workcraft";
-  version = "3.1.9";
+  version = "3.2.6";
 
   src = fetchurl {
     url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
-    sha256 = "0d1mi8jffwr7irp215j9rfpa3nmwxrx6mv13bh7vn0qf6i0aw0xi";
+    sha256 = "1sfbxmk71gp7paw4l5azqr0lsgsyp4308gx2jz8w4k3nasfshz25";
   };
 
   buildInputs = [ makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://workcraft.org/;
+    homepage = "https://workcraft.org/";
     description = "Framework for interpreted graph modeling, verification and synthesis";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.mit;
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix
index 4469e7f06e03..b1c89d299508 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/labelimg/default.nix
@@ -1,10 +1,10 @@
 { stdenv, python2Packages, fetchurl }:
   python2Packages.buildPythonApplication rec {
     pname = "labelImg";
-    version = "1.6.0";
+    version = "1.8.1";
     src = fetchurl {
       url = "https://github.com/tzutalin/labelImg/archive/v${version}.tar.gz";
-      sha256 = "126kc4r7xm9170kh7snqsfkkc868m5bcnswrv7b4cq9ivlrdwbm4";
+      sha256 = "1banpkpbrny1jx3zsgs544xai62z5yvislbq782a5r47gv2f2k4a";
     };
     nativeBuildInputs = with python2Packages; [
       pyqt4
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
index be15bba979ff..988ea8c855c0 100644
--- a/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
+++ b/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, ccache, cmake, ctags, swig
+{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, ctags, swig
 # data, compression
 , bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
 # maths
-, openblasCompat, eigen, nlopt, lp_solve, colpack
+, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk
 # libraries
 , libarchive, libxml2
 # extra support
@@ -13,47 +13,79 @@
 assert pythonSupport -> pythonPackages != null;
 assert opencvSupport -> opencv != null;
 
-stdenv.mkDerivation rec {
+let
   pname = "shogun";
-  version = "6.0.0";
-
-  src = fetchFromGitHub {
-    owner = pname + "-toolbox";
-    repo = pname;
-    rev = pname + "_" + version;
-    sha256 = "0f2zwzvn5apvwypkfkq371xp7c5bdb4g1fwqfh8c2d57ysjxhmgf";
-    fetchSubmodules = true;
+  version = "6.1.4";
+  rxcppVersion = "4.0.0";
+  gtestVersion = "1.8.0";
+  srcs = {
+    toolbox = fetchFromGitHub {
+      owner = pname + "-toolbox";
+      repo = pname;
+      rev = pname + "_" + version;
+      sha256 = "38aULxK50wQ2+/ERosSpRyBmssmYSGv5aaWfWSlrSRc=";
+      fetchSubmodules = true;
+    };
+    # we need the packed archive
+    rxcpp = fetchurl {
+      url = "https://github.com/Reactive-Extensions/RxCpp/archive/v${rxcppVersion}.tar.gz";
+      sha256 = "0y2isr8dy2n1yjr9c5570kpc9lvdlch6jv0jvw000amwn5d3krsh";
+    };
+    gtest = fetchurl {
+      url = "https://github.com/google/googletest/archive/release-${gtestVersion}.tar.gz";
+      sha256 = "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq";
+    };
   };
+in
+
+stdenv.mkDerivation rec {
+
+  inherit pname version;
+
+  src = srcs.toolbox;
+
+  postUnpack = ''
+    mkdir -p $sourceRoot/third_party/{rxcpp,gtest}
+    ln -s ${srcs.rxcpp} $sourceRoot/third_party/rxcpp/v${rxcppVersion}.tar.gz
+    ln -s ${srcs.gtest} $sourceRoot/third_party/gtest/release-${gtestVersion}.tar.gz
+  '';
+
+  # broken
+  doCheck = false;
 
   patches = [
     (fetchpatch {
-      name = "Fix-meta-example-parser-bug-in-parallel-builds.patch";
-      url = "https://github.com/shogun-toolbox/shogun/commit/ecd6a8f11ac52748e89d27c7fab7f43c1de39f05.patch";
-      sha256 = "1hrwwrj78sxhwcvgaz7n4kvh5y9snfcc4jf5xpgji5hjymnl311n";
-    })
-    (fetchpatch {
       url = "https://github.com/awild82/shogun/commit/365ce4c4c700736d2eec8ba6c975327a5ac2cd9b.patch";
       sha256 = "158hqv4xzw648pmjbwrhxjp7qcppqa7kvriif87gn3zdn711c49s";
     })
   ];
 
+  CCACHE_DISABLE="1";
   CCACHE_DIR=".ccache";
 
   buildInputs = with lib; [
-      openblasCompat bzip2 ccache cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
-      protobuf nlopt snappy swig (libarchive.dev) libxml2
+      openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
+      protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk
     ]
     ++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
     ++ optional  (opencvSupport) opencv;
 
-  cmakeFlags = with lib; []
-    ++ (optional (pythonSupport) "-DPythonModular=ON")
-    ++ (optional (opencvSupport) "-DOpenCV=ON")
-    ;
+  NIX_CFLAGS_COMPILE="-faligned-new";
+
+  cmakeFlags =
+  let
+      onOff = b: if b then "ON" else "OFF";
+      flag = n: b: "-D"+n+"="+onOff b;
+  in
+  with lib; [
+    (flag "ENABLE_TESTING" doCheck)
+    (flag "BUILD_META_EXAMPLES" doCheck)
+    (flag "CMAKE_VERBOSE_MAKEFILE:BOOL" doCheck)
+    (flag "PythonModular" pythonSupport)
+    (flag "OpenCV" opencvSupport)
+  ];
 
-  # Previous attempts to fix parallel builds (see patch above) were not entirely successful.
-  # Sporadic build failures still exist. Dislable parallel builds for now.
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "A toolbox which offers a wide range of efficient and unified machine learning methods";
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/torch/default.nix b/nixpkgs/pkgs/applications/science/machine-learning/torch/default.nix
deleted file mode 100644
index bdeeaad189a7..000000000000
--- a/nixpkgs/pkgs/applications/science/machine-learning/torch/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ callPackage, fetchgit, lua } :
-let
-  src = fetchgit {
-    url = "https://github.com/grwlf/torch-distro";
-    rev = "f972c4253b14b95b53aefe7b24efa496223e73f2";
-    sha256 = "1lhjhivhyypaic33vj1nsghshsajf7vi6gwsclaf3nqdl27d1h1s";
-  };
-
-in
-  callPackage (import ./torch-distro.nix) { inherit lua src; }
diff --git a/nixpkgs/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/nixpkgs/pkgs/applications/science/machine-learning/torch/torch-distro.nix
deleted file mode 100644
index 73272df99221..000000000000
--- a/nixpkgs/pkgs/applications/science/machine-learning/torch/torch-distro.nix
+++ /dev/null
@@ -1,336 +0,0 @@
-{ luarocks, lib , stdenv,  readline,  makeWrapper,
-  less, ncurses, cmake, coreutils, fetchgit, libuuid, czmq, openssl,
-  gnuplot, lua, src, libjpeg, libpng
-} :
-
-let
-
-  common_meta = {
-    homepage = http://torch.ch;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ smironov ];
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-  };
-
-  distro_src = src;
-
-  default_luarocks = luarocks;
-
-  pkgs_gnuplot = gnuplot;
-
-  luapkgs = rec {
-
-    luarocks = default_luarocks.override {
-      inherit lua;
-    };
-
-    buildLuaRocks = { rockspec ? "", luadeps ? [] , buildInputs ? []
-                    , preBuild ? "" , postInstall ? ""
-                    , runtimeDeps ? [] ,  ... }@args :
-      let
-
-        luadeps_ =
-          luadeps ++
-          (lib.concatMap (d : if d ? luadeps then d.luadeps else []) luadeps);
-
-        runtimeDeps_ =
-          runtimeDeps ++
-          (lib.concatMap (d : if d ? runtimeDeps then d.runtimeDeps else []) luadeps) ++
-          [ lua coreutils ];
-
-        mkcfg = ''
-          export LUAROCKS_CONFIG=config.lua
-          cat >config.lua <<EOF
-            rocks_trees = {
-                 { name = [[system]], root = [[${luarocks}]] }
-               ${lib.concatImapStrings (i : dep :  ", { name = [[dep${toString i}]], root = [[${dep}]] }") luadeps_}
-            };
-
-            variables = {
-              LUA_BINDIR = "$out/bin";
-              LUA_INCDIR = "$out/include";
-              LUA_LIBDIR = "$out/lib/lua/${lua.luaversion}";
-            };
-          EOF
-        '';
-
-      in
-      stdenv.mkDerivation (args // {
-
-        name = "${args.name}-${lua.luaversion}";
-
-        inherit preBuild postInstall;
-
-        inherit luadeps runtimeDeps;
-
-        phases = [ "unpackPhase" "patchPhase" "buildPhase"];
-
-        buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper lua ];
-
-        buildPhase = ''
-          eval "$preBuild"
-          ${mkcfg}
-          eval "`${luarocks}/bin/luarocks --deps-mode=all --tree=$out path`"
-          ${luarocks}/bin/luarocks make --deps-mode=all --tree=$out ${rockspec}
-
-          for p in $out/bin/*; do
-            wrapProgram $p \
-              --suffix LD_LIBRARY_PATH ';' "${lib.makeLibraryPath runtimeDeps_}" \
-              --suffix PATH ';' "${lib.makeBinPath runtimeDeps_}" \
-              --suffix LUA_PATH ';' "\"$LUA_PATH\"" \
-              --suffix LUA_PATH ';' "\"$out/share/lua/${lua.luaversion}/?.lua;$out/share/lua/${lua.luaversion}/?/init.lua\"" \
-              --suffix LUA_CPATH ';' "\"$LUA_CPATH\"" \
-              --suffix LUA_CPATH ';' "\"$out/lib/lua/${lua.luaversion}/?.so;$out/lib/lua/${lua.luaversion}/?/init.so\""
-          done
-
-          eval "$postInstall"
-        '';
-      });
-
-    # FIXME: doesn't installs lua-files for some reason
-    # lua-cjson = buildLuaPackage {
-    #   name = "lua-cjson";
-    #   src = ./extra/lua-cjson;
-    #   rockspec = "lua-cjson-2.1devel-1.rockspec";
-    # };
-
-    lua-cjson = stdenv.mkDerivation {
-      name = "lua-cjson";
-      src = "${distro_src}/extra/lua-cjson";
-
-      preConfigure = ''
-        makeFlags="PREFIX=$out LUA_LIBRARY=$out/lib/lua"
-      '';
-
-      buildInputs = [lua];
-
-      installPhase = ''
-        make install-extra $makeFlags
-      '';
-      meta.broken = true;
-    };
-
-    luafilesystem = buildLuaRocks {
-      name = "filesystem";
-      src = "${distro_src}/extra/luafilesystem";
-      luadeps = [lua-cjson];
-      rockspec = "rockspecs/luafilesystem-1.6.3-1.rockspec";
-    };
-
-    penlight = buildLuaRocks {
-      name = "penlight";
-      src = "${distro_src}/extra/penlight";
-      luadeps = [luafilesystem];
-    };
-
-    luaffifb = buildLuaRocks {
-      name = "luaffifb";
-      src = "${distro_src}/extra/luaffifb";
-      meta.broken = true;
-    };
-
-    sundown = buildLuaRocks rec {
-      name = "sundown";
-      src = "${distro_src}/pkg/sundown";
-      rockspec = "rocks/${name}-scm-1.rockspec";
-      meta.broken = true; # 2018-04-11
-    };
-
-    cwrap = buildLuaRocks rec {
-      name = "cwrap";
-      src = "${distro_src}/pkg/cwrap";
-      rockspec = "rocks/${name}-scm-1.rockspec";
-    };
-
-    paths = buildLuaRocks rec {
-      name = "paths";
-      src = "${distro_src}/pkg/paths";
-      buildInputs = [cmake];
-      rockspec = "rocks/${name}-scm-1.rockspec";
-    };
-
-    torch = buildLuaRocks rec {
-      name = "torch";
-      src = "${distro_src}/pkg/torch";
-      luadeps = [ paths cwrap ];
-      buildInputs = [ cmake ];
-      rockspec = "rocks/torch-scm-1.rockspec";
-      preBuild = ''
-        substituteInPlace ${rockspec} \
-          --replace '"sys >= 1.0"' ' '
-        export LUA_PATH="$src/?.lua;$LUA_PATH"
-      '';
-      meta = common_meta // {
-        description = "Torch is a machine-learning library";
-        longDescription = ''
-          Torch is the main package in [Torch7](http://torch.ch) where data
-          structures for multi-dimensional tensors and mathematical operations
-          over these are defined. Additionally, it provides many utilities for
-          accessing files, serializing objects of arbitrary types and other
-          useful utilities.
-        '';
-      };
-    };
-
-    dok = buildLuaRocks rec {
-      name = "dok";
-      src = "${distro_src}/pkg/dok";
-      luadeps = [sundown];
-      rockspec = "rocks/${name}-scm-1.rockspec";
-    };
-
-    sys = buildLuaRocks {
-      name = "sys";
-      luadeps = [torch];
-      buildInputs = [readline cmake];
-      src = "${distro_src}/pkg/sys";
-      rockspec = "sys-1.1-0.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    xlua = buildLuaRocks {
-      name = "xlua";
-      luadeps = [torch sys];
-      src = "${distro_src}/pkg/xlua";
-      rockspec = "xlua-1.0-0.rockspec";
-    };
-
-    nn = buildLuaRocks {
-      name = "nn";
-      luadeps = [torch luaffifb];
-      buildInputs = [cmake];
-      src = "${distro_src}/extra/nn";
-      rockspec = "rocks/nn-scm-1.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    graph = buildLuaRocks {
-      name = "graph";
-      luadeps = [ torch ];
-      buildInputs = [cmake];
-      src = "${distro_src}/extra/graph";
-      rockspec = "rocks/graph-scm-1.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    nngraph = buildLuaRocks {
-      name = "nngraph";
-      luadeps = [ torch nn graph ];
-      buildInputs = [cmake];
-      src = "${distro_src}/extra/nngraph";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    image = buildLuaRocks {
-      name = "image";
-      luadeps = [ torch dok sys xlua ];
-      buildInputs = [cmake libjpeg libpng];
-      src = "${distro_src}/pkg/image";
-      rockspec = "image-1.1.alpha-0.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    optim = buildLuaRocks {
-      name = "optim";
-      luadeps = [ torch ];
-      buildInputs = [cmake];
-      src = "${distro_src}/pkg/optim";
-      rockspec = "optim-1.0.5-0.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-    };
-
-    gnuplot = buildLuaRocks {
-      name = "gnuplot";
-      luadeps = [ torch paths ];
-      runtimeDeps = [ pkgs_gnuplot less ];
-      src = "${distro_src}/pkg/gnuplot";
-      rockspec = "rocks/gnuplot-scm-1.rockspec";
-    };
-
-    unsup = buildLuaRocks {
-      name = "unsup";
-      luadeps = [ torch xlua optim ];
-      buildInputs = [ cmake ];
-      src = fetchgit {
-        url = "https://github.com/koraykv/unsup";
-        rev = "1d4632e716dc3c82feecc7dd4b22549df442859f";
-        sha256 = "0npjq3y1cfmk026sdijcw3f766innrmb3qggnxsz62grczhfvgls";
-      };
-      rockspec = "unsup-0.1-0.rockspec";
-      preBuild = ''
-        export Torch_DIR=${torch}/share/cmake/torch
-      '';
-      meta.broken = true;
-    };
-
-    trepl = buildLuaRocks {
-      name = "trepl";
-      luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot optim sys dok unsup];
-      runtimeDeps = [ ncurses readline ];
-      src = "${distro_src}/exe/trepl";
-      meta = common_meta // {
-        description = "A pure Lua REPL for Lua(JIT), with heavy support for Torch types.";
-      };
-    };
-
-    lbase64 = buildLuaRocks {
-      name = "lbase64";
-      src = fetchgit {
-        url = "https://github.com/LuaDist2/lbase64";
-        rev = "1e9e4f1e0bf589a0ed39f58acc185ec5e213d207";
-        sha256 = "1i1fpy9v6r4w3lrmz7bmf5ppq65925rv90gx39b3pykfmn0hcb9c";
-      };
-      meta.broken = true; # 2018-04-11
-    };
-
-    luuid = stdenv.mkDerivation {
-      name = "luuid";
-      src = fetchgit {
-        url = "https://github.com/LuaDist/luuid";
-        sha256 = "062gdf1rild11jg46vry93hcbb36b4527pf1dy7q9fv89f7m2nav";
-      };
-
-      preConfigure = ''
-        cmakeFlags="-DLUA_LIBRARY=${lua}/lib/lua/${lua.luaversion} -DINSTALL_CMOD=$out/lib/lua/${lua.luaversion} -DINSTALL_MOD=$out/lib/lua/${lua.luaversion}"
-      '';
-
-      buildInputs = [cmake libuuid lua];
-      meta = {
-        # FIXME: set the exact revision for src
-        broken = true;
-      };
-    };
-
-    # Doesn't work due to missing deps (according to luarocs).
-    itorch = buildLuaRocks {
-      name = "itorch";
-      luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot
-                  optim sys dok lbase64 lua-cjson luuid];
-      buildInputs = [czmq openssl];
-      src = "${distro_src}/extra/iTorch";
-      meta = {
-        # FIXME: figure out whats wrong with deps
-        broken = true;
-      };
-    };
-
-
-  };
-
-in
-
-luapkgs
-
-
diff --git a/nixpkgs/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch b/nixpkgs/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch
new file mode 100644
index 000000000000..7bf32df0b7a3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch
@@ -0,0 +1,26 @@
+From 85ede2cf452800710de136f4f864921d3bb9773c Mon Sep 17 00:00:00 2001
+From: Tom Hall <tahall256@protonmail.ch>
+Date: Fri, 21 Feb 2020 22:56:06 +0000
+Subject: [PATCH] Disable test pending upstream fix
+
+See https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17718
+---
+ tests/reg-tests-1d.R | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/reg-tests-1d.R b/tests/reg-tests-1d.R
+index 9b551a1fc8..18ce6027ed 100644
+--- a/tests/reg-tests-1d.R
++++ b/tests/reg-tests-1d.R
+@@ -3079,7 +3079,7 @@ stopifnot(exprs = {
+     x[1:52] %% 3 == 2:1
+    -x[1:52] %% 3 == 1:2
+ }) # larger x suffer from cancellation (well, warning too early now):
+-tools::assertWarning(x[60:68] %% 3)
++#tools::assertWarning(x[60:68] %% 3)
+ 
+ 
+ ## Hilmar Berger's on R-devel list: 'data.frame() == NULL' etc
+-- 
+2.24.1
+
diff --git a/nixpkgs/pkgs/applications/science/math/R/default.nix b/nixpkgs/pkgs/applications/science/math/R/default.nix
index 517fc9d7b320..3ee62fad44da 100644
--- a/nixpkgs/pkgs/applications/science/math/R/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/R/default.nix
@@ -7,15 +7,14 @@
 # R as of writing does not support outputting both .so and .a files; it outputs:
 #     --enable-R-static-lib conflicts with --enable-R-shlib and will be ignored
 , static ? false
-, javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.6.2";
+  name = "R-3.6.3";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "0m69pfi0nxyriyb2yz74xfzaxwfkinnf9kpvf1rz727vvmfa8rdx";
+    sha256 = "13xaxwfbzj0bd6rn2n27z0n04lb93mcyq991w4vdbbg8v282jc49";
   };
 
   dontUseImakeConfigure = true;
@@ -23,12 +22,15 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
     pango pcre perl readline texLive xz zlib less texinfo graphviz icu
-    pkgconfig bison imake which openblas curl tcl tk
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
-    ++ stdenv.lib.optional javaSupport jdk;
+    pkgconfig bison imake which openblas curl tcl tk jdk
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
 
   patches = [
     ./no-usr-local-search-paths.patch
+  ] ++ stdenv.lib.optionals stdenv.hostPlatform.isAarch64 [
+    # Remove a test which fails on aarch64.
+    # See https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17718
+    ./0001-Disable-test-pending-upstream-fix.patch
   ];
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -57,7 +59,7 @@ stdenv.mkDerivation rec {
       CC=$(type -p cc)
       CXX=$(type -p c++)
       FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
-      ${stdenv.lib.optionalString javaSupport "JAVA_HOME=\"${jdk}\""}
+      JAVA_HOME="${jdk}"
       RANLIB=$(type -p ranlib)
       R_SHELL="${stdenv.shell}"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
@@ -86,7 +88,7 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = with stdenv.lib; {
-    homepage = http://www.r-project.org/;
+    homepage = "http://www.r-project.org/";
     description = "Free software environment for statistical computing and graphics";
     license = licenses.gpl2Plus;
 
diff --git a/nixpkgs/pkgs/applications/science/math/clp/default.nix b/nixpkgs/pkgs/applications/science/math/clp/default.nix
index f91b091439fe..5e770cec13b3 100644
--- a/nixpkgs/pkgs/applications/science/math/clp/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/clp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "1.17.3";
+  version = "1.17.5";
   pname = "clp";
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz";
-    sha256 = "0ws515f73vq2p4nzyq0fbnm4zp9a7mjg54szdzvkql5dj51gafx1";
+    sha256 = "0y5wg4lfffy5vh8gc20v68pmmv241ndi2jgm9pgvk39b00bzkaa9";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/nixpkgs/pkgs/applications/science/math/geogebra/default.nix b/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
index a08c0ee34033..bba26610a079 100644
--- a/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/geogebra/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "geogebra";
-  version = "5-0-570-0";
+  version = "5-0-574-0";
 
   preferLocalBuild = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
       "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
     ];
-    sha256 = "0q6brg5rkl2gyyg9vhiilvb8zy23zlp4a1xcwnv501xzcccv0p37";
+    sha256 = "0jbci4spqkf33yb079lsnsc684y4mdf1p8lm9r0037av8jlsrgrc";
   };
 
   srcIcon = fetchurl {
diff --git a/nixpkgs/pkgs/applications/science/math/getdp/default.nix b/nixpkgs/pkgs/applications/science/math/getdp/default.nix
index 3ccd89cf2c13..0ac2ea7d1b39 100644
--- a/nixpkgs/pkgs/applications/science/math/getdp/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/getdp/default.nix
@@ -1,24 +1,27 @@
-{ stdenv, fetchurl, cmake, gfortran, openblas, openmpi, python3 }:
+{ stdenv, fetchurl, cmake, gfortran, openblas, openmpi, petsc, python3 }:
 
 stdenv.mkDerivation rec {
-  pname = "getdp";
-  version = "3.0.4";
+  name = "getdp-${version}";
+  version = "3.3.0";
   src = fetchurl {
     url = "http://getdp.info/src/getdp-${version}-source.tgz";
-    sha256 = "0v3hg03lzw4hz28hm45hpv0gyydqz0wav7xvb5n0v0jrm47mrspv";
+    sha256 = "1pfviy2bw8z5y6c15czvlvyjjg9pvpgrj9fr54xfi2gmvs7zkgpf";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ gfortran openblas openmpi python3 ];
+  nativeBuildInputs = [ cmake gfortran ];
+  buildInputs = [ openblas openmpi petsc python3 ];
 
   meta = with stdenv.lib; {
     description = "A General Environment for the Treatment of Discrete Problems";
     longDescription = ''
-      GetDP is a free finite element solver using mixed elements to discretize de Rham-type complexes in one, two and three dimensions.
-      The main feature of GetDP is the closeness between the input data defining discrete problems (written by the user in ASCII data files) and the symbolic mathematical expressions of these problems.
+      GetDP is a free finite element solver using mixed elements to discretize
+      de Rham-type complexes in one, two and three dimensions.  The main
+      feature of GetDP is the closeness between the input data defining
+      discrete problems (written by the user in ASCII data files) and the
+      symbolic mathematical expressions of these problems.
     '';
-    homepage = http://getdp.info/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = "http://getdp.info/";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ wucke13 ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
index 07ec466e0006..e65cf52d5815 100644
--- a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
-  version = "4.5.1";
+  version = "4.5.4";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "0rjwxpz5qwq6dj7ka53mhxlgnp9bs5jphhsamlb0nk3h8kzckisq";
+    sha256 = "1k9f7qxlwja9i40qy55070sjnr21bl165677mdqw7qyb8d7wgy6c";
   };
 
   buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
diff --git a/nixpkgs/pkgs/applications/science/math/pari/default.nix b/nixpkgs/pkgs/applications/science/math/pari/default.nix
index 89ae354e7c76..8f2f740f2483 100644
--- a/nixpkgs/pkgs/applications/science/math/pari/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/pari/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, fetchpatch
 , gmp
 , readline
 , libX11
@@ -12,13 +13,22 @@ assert withThread -> libpthreadstubs != null;
 
 stdenv.mkDerivation rec {
   pname = "pari";
-  version = "2.11.2";
+  version = "2.11.3";
 
   src = fetchurl {
     url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz";
-    sha256 = "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa";
+    sha256 = "1jd65h2psrmba2dx7rkf5qidf9ka0cwbsg20pd18k45ggr30l467";
   };
 
+  patches = [
+    # https://trac.sagemath.org/ticket/29313#comment:1
+    (fetchpatch {
+      name = "backport-bug-fix.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/repos/community-x86_64/c7a1d35f.patch?h=packages/pari&id=27893d227290dc3821d68aa25877d9765c204dad";
+      sha256 = "0vm0fwyzj66cr32imip6srksd47s2s2sjl1rb26ph8gpfi3nalii";
+    })
+  ];
+
   buildInputs = [
     gmp
     readline
diff --git a/nixpkgs/pkgs/applications/science/math/pcalc/default.nix b/nixpkgs/pkgs/applications/science/math/pcalc/default.nix
index 167ab9275faf..51c93f197e4f 100644
--- a/nixpkgs/pkgs/applications/science/math/pcalc/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/pcalc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, bison2, flex }:
+{ stdenv, fetchgit, bison, flex }:
 
 with stdenv.lib;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [ "DESTDIR= BINDIR=$(out)/bin" ];
-  buildInputs = [ bison2 flex ];
+  buildInputs = [ bison flex ];
 
   meta = {
     homepage = http://pcalc.sourceforge.net/;
diff --git a/nixpkgs/pkgs/applications/science/math/pspp/default.nix b/nixpkgs/pkgs/applications/science/math/pspp/default.nix
index 3c263916a0eb..af338c74fd41 100644
--- a/nixpkgs/pkgs/applications/science/math/pspp/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/pspp/default.nix
@@ -1,20 +1,23 @@
 { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
 , pkgconfig, gtksourceview, pango, gettext, dconf
 , makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
+, texinfo, ssw
 }:
 
 stdenv.mkDerivation rec {
-  name = "pspp-1.0.1";
+  pname = "pspp";
+  version = "1.2.0";
 
   src = fetchurl {
-    url = "mirror://gnu/pspp/${name}.tar.gz";
-    sha256 = "1r8smr5057993h90nx0mdnff8nxw9x546zzh6qpy4h3xblp1la5s";
+    url = "mirror://gnu/pspp/${pname}-${version}.tar.gz";
+    sha256 = "07pp27zycrb5x927jwaj9r3q7hy915jh51xs85zxby6gfiwl63m5";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig texinfo ];
   buildInputs = [ libxml2 readline zlib perl cairo gtk3 gsl
     gtksourceview pango gettext
-    makeWrapper gsettings-desktop-schemas hicolor-icon-theme ];
+    makeWrapper gsettings-desktop-schemas hicolor-icon-theme ssw
+  ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
index 8370685f00a1..c23debdd7a45 100644
--- a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "1zzvxkpman75lxhhvyggwzvrlc6v0rd5ak76rmcny51i4xirmrc0";
+    sha256 = "0nsg6dzg5r7rzqr671nvrf1c50rjwpz7bxv5f20i4s7agizgv840";
   };
 
   patchPhase = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "The ultimate desktop calculator";
-    homepage = http://qalculate.github.io;
+    homepage = "http://qalculate.github.io";
     maintainers = with maintainers; [ gebner ];
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/docutils-0.15.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/docutils-0.15.patch
new file mode 100644
index 000000000000..63f5d2e146dd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/docutils-0.15.patch
@@ -0,0 +1,24 @@
+diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py
+index 4849c2bffa..76b7bc8602 100644
+--- a/src/sage/misc/sphinxify.py
++++ b/src/sage/misc/sphinxify.py
+@@ -25,6 +25,7 @@ from __future__ import absolute_import, print_function
+ import os
+ import re
+ import shutil
++import warnings
+ from tempfile import mkdtemp
+ from sphinx.application import Sphinx
+ 
+@@ -120,7 +121,10 @@ smart_quotes = no""")
+     # buildername, confoverrides, status, warning, freshenv).
+     sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format,
+                         confoverrides, None, None, True)
+-    sphinx_app.build(None, [rst_name])
++    with warnings.catch_warnings():
++        # Quick and dirty workaround for https://trac.sagemath.org/ticket/28856#comment:19
++        warnings.simplefilter("ignore")
++        sphinx_app.build(None, [rst_name])
+     sys.path = old_sys_path
+ 
+     # We need to remove "_" from __builtin__ that the gettext module installs
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
index 00397239876b..68e0d134ace2 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-env.nix
@@ -177,7 +177,7 @@ writeTextFile rec {
     export SAGE_EXTCODE='${sagelib.src}/src/ext'
 
   # for find_library
-    export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}:$DYLD_LIBRARY_PATH"
+    export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
   '';
 } // {
   lib = sagelib; # equivalent of `passthru`, which `writeTextFile` doesn't support
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index 4530cbf69f4c..cd465a8c413a 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -52,6 +52,11 @@ stdenv.mkDerivation rec {
     # Parallelize docubuild using subprocesses, fixing an isolation issue. See
     # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
     ./patches/sphinx-docbuild-subprocesses.patch
+
+    # Fix doctest failures with docutils 0.15:
+    # https://nix-cache.s3.amazonaws.com/log/dzmzrb2zvardsmpy7idg7djkizmkzdhs-sage-tests-8.9.drv
+    # https://trac.sagemath.org/ticket/28856#comment:19
+    ./patches/docutils-0.15.patch
   ];
 
   # Since sage unfortunately does not release bugfix releases, packagers must
@@ -125,6 +130,13 @@ stdenv.mkDerivation rec {
       url = "https://git.sagemath.org/sage.git/patch/?h=c6d0308db15efd611211d26cfcbefbd180fc0831";
       sha256 = "0nwai2jr22h49km4hx3kwafs3mzsc5kwsv7mqwjf6ibwfx2bbgyq";
     })
+
+    # https://trac.sagemath.org/ticket/29313 (patch from ArchLinux)
+    (fetchpatch {
+      name = "pari-2.11.3.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/sagemath-pari-2.11.3.patch?h=sagemath-git&id=02e1d58bd1cd70935d69a4990469d18be6bd2c43";
+      sha256 = "0z07444zvijyw96d11q7j81pvg7ysd6ycf1bbbjr6za9y74hv7d2";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/nixpkgs/pkgs/applications/science/math/symmetrica/default.nix b/nixpkgs/pkgs/applications/science/math/symmetrica/default.nix
index 18daabb9e7e2..b363137fb99c 100644
--- a/nixpkgs/pkgs/applications/science/math/symmetrica/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/symmetrica/default.nix
@@ -1,62 +1,36 @@
 { stdenv
-, fetchurl
+, lib
+, fetchFromGitLab
 , fetchpatch
+, autoreconfHook
 }:
 stdenv.mkDerivation rec {
   pname = "symmetrica";
-  version = "2.0";
-
-  src = fetchurl {
-    url = "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/SYM2_0_tar.gz";
-    sha256 = "1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz";
-    name = "symmetrica-2.0.tar.gz";
+  version = "3.0.1";
+
+  # Fork of the original symmetrica, which can be found here
+  # http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html
+  # "This fork was created to modernize the codebase, and to resume making
+  # releases with the fixes that have accrued over the years."
+  # Also see https://trac.sagemath.org/ticket/29061#comment:3.
+  src = fetchFromGitLab {
+    owner = "sagemath";
+    repo = "symmetrica";
+    rev = version;
+    sha256 = "0wfmrzw82f5i91d7rf24mcdqcj2fmgrgy02pw4pliz7ncwaq14w3";
   };
 
-  sourceRoot = ".";
-
-  patches = [
-      # don't show banner ("SYMMETRICA VERSION X - STARTING)
-      # it doesn't contain very much helpful information and a banner is not ideal for a library
-      (fetchpatch {
-        url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/de.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-        sha256 = "0df0vqixcfpzny6dkhyj87h8aznz3xn3zfwwlj8pd10bpb90k6gb";
-      })
-
-      # use int32_t and uint32_t for type INT
-      # see https://trac.sagemath.org/ticket/13413
-      (fetchpatch {
-        name = "fix_64bit_integer_overflow.patch";
-        url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/int32.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-        sha256 = "0p33c85ck4kd453z687ni4bdcqr1pqx2756j7aq11bf63vjz4cyz";
-      })
-
-      (fetchpatch {
-        url = "https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/return_values.patch?id=1615f58890e8f9881c4228c78a6b39b9aab1303a";
-        sha256 = "0dmczkicwl50sivc07w3wm3jpfk78wm576dr25999jdj2ipsb7nk";
-      })
+  nativeBuildInputs = [
+    autoreconfHook
   ];
 
-  postPatch = ''
-    substituteInPlace makefile --replace gcc cc
-  '';
-
   enableParallelBuilding = true;
 
-  installPhase = ''
-    mkdir -p "$out"/{lib,share/doc/symmetrica,include/symmetrica}
-    ar crs libsymmetrica.a *.o
-    ranlib libsymmetrica.a
-    cp libsymmetrica.a "$out/lib"
-    cp *.h "$out/include/symmetrica"
-    cp README *.doc "$out/share/doc/symmetrica"
-  '';
-
-  meta = {
-    inherit version;
+  meta = with lib; {
     description = ''A collection of routines for representation theory and combinatorics'';
-    license = stdenv.lib.licenses.publicDomain;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
-    homepage = http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html;
+    license = licenses.isc;
+    maintainers = with maintainers; [raskin timokau];
+    platforms = platforms.unix;
+    homepage = "https://gitlab.com/sagemath/symmetrica";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix b/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
index 406d74c4cd34..4d6e4bea34e6 100644
--- a/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/wxmaxima/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wxmaxima";
-  version = "19.03.0";
+  version = "20.02.4";
 
   src = fetchFromGitHub {
-    owner = "andrejv";
+    owner = "wxMaxima-developers";
     repo = "wxmaxima";
     rev = "Version-${version}";
-    sha256 = "0s7bdykc77slqix28cyaa6x8wvxrn8461mkdgxflvi2apwsl56aa";
+    sha256 = "106a7jrjwfmymzj70nsv44fm3jbxngr8pmkaghhpwy0ln38lhf54";
   };
 
   buildInputs = [ wxGTK maxima gnome3.adwaita-icon-theme ];
@@ -21,12 +21,10 @@ stdenv.mkDerivation rec {
     gappsWrapperArgs+=(--prefix PATH ":" ${maxima}/bin)
   '';
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Cross platform GUI for the computer algebra system Maxima";
     license = licenses.gpl2;
-    homepage = https://wxmaxima-developers.github.io/wxmaxima/;
+    homepage = "https://wxmaxima-developers.github.io/wxmaxima/";
     platforms = platforms.linux;
     maintainers = [ maintainers.peti ];
   };
diff --git a/nixpkgs/pkgs/applications/science/misc/foldingathome/client.nix b/nixpkgs/pkgs/applications/science/misc/foldingathome/client.nix
new file mode 100644
index 000000000000..9a29fde0a438
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/foldingathome/client.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, autoPatchelfHook
+, buildFHSUserEnv
+, dpkg
+, fetchurl
+, gcc-unwrapped
+, ocl-icd
+, zlib
+, extraPkgs ? []
+}:
+let
+  majMin = stdenv.lib.versions.majorMinor version;
+  version = "7.5.1";
+
+  fahclient = stdenv.mkDerivation rec {
+    inherit version;
+    pname = "fahclient";
+
+    src = fetchurl {
+      url = "https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v${majMin}/fahclient_${version}_amd64.deb";
+      hash = "sha256-7+RwYdMoZnJZwYFbmLxsN9ozk2P7jpOGZz9qlvTTfSY=";
+    };
+
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+    ];
+
+    buildInputs = [
+      gcc-unwrapped.lib
+      zlib
+    ];
+
+    unpackPhase = "dpkg-deb -x ${src} ./";
+    installPhase = "cp -ar usr $out";
+  };
+in
+buildFHSUserEnv {
+  name = fahclient.name;
+
+  targetPkgs = pkgs': [
+    fahclient
+    ocl-icd
+  ] ++ extraPkgs;
+
+  runScript = "/bin/FAHClient";
+
+  extraInstallCommands = ''
+    mv $out/bin/$name $out/bin/FAHClient
+  '';
+
+  meta = {
+    description = "Folding@home client";
+    homepage = "https://foldingathome.org/";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.zimbatm ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix b/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix
new file mode 100644
index 000000000000..be400ffe5f95
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/foldingathome/control.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeWrapper
+, python2
+}:
+let
+  majMin = stdenv.lib.versions.majorMinor version;
+  version = "7.5.1";
+
+  python = python2.withPackages
+    (
+      ps: [
+        ps.pycairo
+        ps.pygobject2
+        ps.pygtk
+      ]
+    );
+in
+stdenv.mkDerivation rec {
+  inherit version;
+  pname = "fahcontrol";
+
+  src = fetchurl {
+    url = "https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v${majMin}/fahcontrol_${version}-1_all.deb";
+    hash = "sha256-ydN4I6vmZpI9kD+/TXxgWc+AQqIIlUvABEycWmY1tNg=";
+  };
+
+  nativeBuildInputs = [
+    dpkg
+    makeWrapper
+  ];
+
+  buildInputs = [ python ];
+
+  doBuild = false;
+
+  unpackPhase = ''
+    dpkg-deb -x ${src} ./
+  '';
+
+  installPhase = "cp -ar usr $out";
+
+  postFixup = ''
+    sed -e 's|/usr/bin|$out/bin|g' -i $out/share/applications/FAHControl.desktop
+    wrapProgram "$out/bin/FAHControl" \
+      --set PYTHONPATH "$out/lib/python2.7/dist-packages"
+  '';
+
+  meta = {
+    description = "Folding@home control";
+    homepage = "https://foldingathome.org/";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.zimbatm ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix b/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix
new file mode 100644
index 000000000000..03fa54cd7338
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/misc/foldingathome/viewer.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, freeglut
+, gcc-unwrapped
+, libGL
+, libGLU
+, makeWrapper
+, zlib
+}:
+let
+  majMin = stdenv.lib.versions.majorMinor version;
+  version = "7.5.1";
+in
+stdenv.mkDerivation rec {
+  inherit version;
+  pname = "fahviewer";
+
+  src = fetchurl {
+    url = "https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v${majMin}/fahviewer_${version}_amd64.deb";
+    hash = "sha256-yH0zGjX8aNBEJ5lq7wWydcpp2rO+9Ah++q9eJ+ldeyk=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    makeWrapper
+  ];
+
+  buildInputs = [
+    freeglut
+    gcc-unwrapped.lib
+    libGL
+    libGLU
+    zlib
+  ];
+
+  unpackPhase = ''
+    dpkg-deb -x ${src} ./
+    sed -e 's|/usr/bin|$out/bin|g' -i usr/share/applications/FAHViewer.desktop
+  '';
+
+  installPhase = ''
+    cp -ar usr $out
+  '';
+
+  meta = {
+    description = "Folding@home viewer";
+    homepage = "https://foldingathome.org/";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.zimbatm ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/misc/rink/default.nix b/nixpkgs/pkgs/applications/science/misc/rink/default.nix
index dad1d245b10a..1bb74ec17a34 100644
--- a/nixpkgs/pkgs/applications/science/misc/rink/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/rink/default.nix
@@ -10,9 +10,11 @@ rustPlatform.buildRustPackage rec {
     rev = "v${version}";
     sha256 = "0vl996y58a9b62d8sqrpfn2h8qkya7qbg5zqsmy7nxhph1vhbspj";
   };
+
+  # Upstreamed in https://github.com/tiffany352/rink-rs/pull/53
   cargoPatches = [ ./cargo-lock.patch ];
 
-  cargoSha256 = "0q2g1hkqyzq9lsas4fhsbpk3jn5hikchh6i1jf9c08ca2xm136c2";
+  cargoSha256 = "0shlh0m9k0iqxpv9zmiw7a6v197swrvpz9x6qzhximzkdwni9gz9";
 
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ openssl gmp ncurses ];
diff --git a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix b/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
index 44b0f5d84b66..b8aef4bd53fe 100644
--- a/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
@@ -18,14 +18,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "simgrid";
-  version = "3.24";
+  version = "3.25";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r9zgfx5npjw4mk0ywxx07jyi1m1b1i06j0m60n3dsrz75492x6m";
+    sha256 = "019fgryfwpcrkv1f3271v7qxk0mfw2w990vgnk1cqhmr9i1f17gs";
   };
 
   nativeBuildInputs = [ cmake perl python3 boost valgrind ]
diff --git a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
index 13eae15ce7f5..27bf47e890a9 100644
--- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "5.8.1";
+  version = "5.10.0";
 
   propagatedBuildInputs = with python3Packages; [
     appdirs
@@ -11,16 +11,18 @@ python3Packages.buildPythonApplication rec {
     docutils
     GitPython
     jsonschema
+    nbformat
     psutil
     pyyaml
     ratelimiter
     requests
+    toposort
     wrapt
   ];
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1r1qi14klmxmmw7vcivp45jrjka5rcwlcfggj5npnfb378fx3hb0";
+    sha256 = "0n8d5c8sc90kfdw740ad9ffbkg1ic3k1pmlnk68qr4w4vc98pym3";
   };
 
   doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
@@ -36,6 +38,6 @@ python3Packages.buildPythonApplication rec {
       workflows are essentially Python scripts extended by declarative code to define
       rules. Rules describe how to create output files from input files.
     '';
-    maintainers = with maintainers; [ helkafen renatoGarcia ];
+    maintainers = with maintainers; [ helkafen renatoGarcia veprbl ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 7536d071f6b3..fadd60d9ebbf 100644
--- a/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/nixpkgs/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -9,11 +9,11 @@
 }:
 
 stdenv.mkDerivation {
-  name = "gromacs-2020";
+  name = "gromacs-2020.1";
 
   src = fetchurl {
-    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.tar.gz";
-    sha256 = "00ds83n5wnm7g7wq91jycp8h82vnam5b4rwg3fv9rk9x5ca5czj7";
+    url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2020.1.tar.gz";
+    sha256 = "1kwrk3i1dxp8abhqqsl049lh361n4910h0415g052f8shdc6arp1";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
index 045a77cea27f..04115399c1a7 100644
--- a/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/sherpa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sherpa";
-  version = "2.2.6";
+  version = "2.2.8";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz";
-    sha256 = "1cagkkz1pjl0pdf85w1qkwhx0afi3kxm1vnmfavq1zqhss7fc57i";
+    sha256 = "1al1imdrknvbcy8k113xysc14lln4msbv281bf0kx7p73wz59mv3";
   };
 
   buildInputs = [ gfortran sqlite lhapdf rivet ];
diff --git a/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix b/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
index fe5f8790f38f..0bc58c50335a 100644
--- a/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/apmplanner2/default.nix
@@ -46,7 +46,7 @@ mkDerivation rec {
       A GUI ground control station for autonomous vehicles using the MAVLink protocol.
       Includes support for the APM and PX4 based controllers.
     '';
-    homepage = http://ardupilot.org/planner2/;
+    homepage = https://ardupilot.org/planner2/;
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ wucke13 ];
   };
diff --git a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index cbf7f4db8c41..c17ffb001182 100644
--- a/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -27,6 +27,8 @@ mkDerivation rec {
     cd build
   '';
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-address-of-packed-member" ]; # Don't litter logs with these warnings
+
   qmakeFlags = [
     # Default install tries to copy Qt files into package
     "CONFIG+=QGC_DISABLE_BUILD_SETUP"