about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/blockchains/nano-wallet/default.nix15
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix5
-rw-r--r--pkgs/applications/misc/urlview/default.nix17
-rw-r--r--pkgs/applications/version-management/nbstripout/default.nix29
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix7
-rw-r--r--pkgs/desktops/gnome-3/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch13
-rw-r--r--pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch10
-rw-r--r--pkgs/desktops/mate/engrampa/default.nix4
-rw-r--r--pkgs/development/libraries/jemalloc/common.nix7
-rw-r--r--pkgs/development/libraries/sundials/3.x.nix52
-rw-r--r--pkgs/development/libraries/sundials/default.nix48
-rw-r--r--pkgs/development/libraries/sundials/tests-parallel.patch45
-rw-r--r--pkgs/development/python-modules/django/2_2.nix4
-rw-r--r--pkgs/development/python-modules/scikits-odes/default.nix55
-rw-r--r--pkgs/development/tools/asn2quickder/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch27
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix9
-rw-r--r--pkgs/development/tools/nemiver/default.nix (renamed from pkgs/desktops/gnome-3/devtools/nemiver/default.nix)56
-rw-r--r--pkgs/os-specific/linux/chromium-xorg-conf/default.nix8
-rw-r--r--pkgs/os-specific/linux/libevdevc/default.nix29
-rw-r--r--pkgs/os-specific/linux/libgestures/default.nix33
-rw-r--r--pkgs/os-specific/linux/libgestures/include-fix.patch12
-rw-r--r--pkgs/os-specific/linux/xf86-input-cmt/default.nix36
-rw-r--r--pkgs/tools/networking/bukubrow/default.nix46
-rw-r--r--pkgs/top-level/all-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix2
28 files changed, 464 insertions, 132 deletions
diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix
index 8e93ddd58d21..2b7ae5d9c6e6 100644
--- a/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -1,15 +1,16 @@
-{lib, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}:
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook, boost, libGL
+, qtbase}:
 
 stdenv.mkDerivation rec {
 
   pname = "nano-wallet";
-  version = "18.0";
+  version = "19.0";
 
   src = fetchFromGitHub {
     owner = "nanocurrency";
     repo = "raiblocks";
     rev = "V${version}";
-    sha256 = "03f9g1x7rs7vic9yzsjxsh5ddx9ys78rssbfghbccfw9qrwylh3y";
+    sha256 = "1y5fc4cvfqh33imjkh91sqhy5bb9kh0icwyvdgm1cl564vnjax80";
     fetchSubmodules = true;
   };
 
@@ -32,13 +33,19 @@ stdenv.mkDerivation rec {
     optionToFlag = name: value: "-D${name}=${value}";
   in lib.mapAttrsToList optionToFlag options;
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
   buildInputs = [ boost libGL qtbase ];
 
   buildPhase = ''
     make nano_wallet
   '';
 
+  # Move executables under bin directory
+  postInstall = ''
+    mkdir -p $out/bin
+    mv $out/nano* $out/bin/
+  '';
+
   checkPhase = ''
     ./core_test
   '';
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 1729f3c5cdab..547e2914399b 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -3,6 +3,7 @@
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
 , gsl, python2, poppler, imagemagick, libwpg, librevenge
 , libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme
+, librsvg, wrapGAppsHook
 }:
 
 let
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
       --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
   '';
 
-  nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env ]
+  nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env wrapGAppsHook ]
     ++ (with perlPackages; [ perl XMLParser ]);
   buildInputs = [
     libXft libpng zlib popt boehmgc
@@ -48,6 +49,8 @@ stdenv.mkDerivation rec {
     gsl poppler imagemagick libwpg librevenge
     libvisio libcdr libexif potrace hicolor-icon-theme
 
+    librsvg # for loading icons
+
     python2Env perlPackages.perl
   ];
 
diff --git a/pkgs/applications/misc/urlview/default.nix b/pkgs/applications/misc/urlview/default.nix
index 8764c41c8a4c..ad29c8f94d8b 100644
--- a/pkgs/applications/misc/urlview/default.nix
+++ b/pkgs/applications/misc/urlview/default.nix
@@ -31,10 +31,21 @@ stdenv.mkDerivation rec {
 
   patches = debianPatches;
 
-  meta = {
+  postPatch = ''
+    substituteInPlace urlview.c \
+      --replace '/etc/urlview/url_handler.sh' "$out/etc/urlview/url_handler.sh"
+  '';
+
+  postInstall = ''
+    install -Dm755 url_handler.sh $out/etc/urlview/url_handler.sh
+    patchShebangs $out/etc/urlview
+  '';
+
+  meta = with stdenv.lib; {
     description = "Extract URLs from text";
     homepage = https://packages.qa.debian.org/u/urlview.html;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix
index 8b2b15a00780..b0a7108ac07f 100644
--- a/pkgs/applications/version-management/nbstripout/default.nix
+++ b/pkgs/applications/version-management/nbstripout/default.nix
@@ -1,8 +1,8 @@
-{lib, python2Packages, fetchFromGitHub, fetchurl, git, mercurial, coreutils}:
+{lib, python2Packages, git, mercurial, coreutils}:
 
 with python2Packages;
 buildPythonApplication rec {
-  version = "0.3.1";
+  version = "0.3.6";
   pname = "nbstripout";
 
   # Mercurial should be added as a build input but because it's a Python
@@ -12,30 +12,11 @@ buildPythonApplication rec {
   nativeBuildInputs = [ pytestrunner ];
   propagatedBuildInputs = [ ipython nbformat ];
 
-  # PyPI source is currently missing tests. Thus, use GitHub instead.
-  # See: https://github.com/kynan/nbstripout/issues/73
-  # Use PyPI again after it has been fixed in a release.
-  src = fetchFromGitHub {
-    owner = "kynan";
-    repo = pname;
-    rev = version;
-    sha256 = "1jifqmszjzyaqzaw2ir83k5fdb04iyxdad4lclawpb42hbink9ws";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1x6010akw7iqxn7ba5m6malfr2fvaf0bjp3cdh983qn1s7vwlq0r";
   };
 
-  patches = [
-    (
-      # Fix git diff tests by using --no-index.
-      # See: https://github.com/kynan/nbstripout/issues/74
-      #
-      # Remove this patch once the pull request has been merged and a new
-      # release made.
-      fetchurl {
-        url = "https://github.com/jluttine/nbstripout/commit/03e28424fb788dd09a95e99814977b0d0846c0b4.patch";
-        sha256 = "09myfb77a2wh8lqqs9fcpam97vmaw8b7zbq8n5gwn6d80zbl7dn0";
-      }
-    )
-  ];
-
   # for some reason, darwin uses /bin/sh echo native instead of echo binary, so
   # force using the echo binary
   postPatch = ''
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index ec7d289996b3..c0e115bca280 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -8,6 +8,13 @@
   # Mirrors for mirror://site/filename URIs, where "site" is
   # "sourceforge", "gnu", etc.
 
+  luarocks = [
+    https://luarocks.org
+    https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/
+    http://luafr.org/moonrocks
+    http://luarocks.logiceditor.com/rocks
+  ];
+
   # SourceForge.
   sourceforge = [
     https://downloads.sourceforge.net/
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 21ecc7e64ee4..370733798aff 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -231,8 +231,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { };
 
-  nemiver = callPackage ./devtools/nemiver { };
-
 #### Games
 
   aisleriot = callPackage ./games/aisleriot { };
@@ -345,6 +343,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   inherit (pkgs) gnome-video-effects; # added 2019-08-19
   inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23
   inherit (pkgs) glib-networking; # added 2019-09-02
+  inherit (pkgs) nemiver; # added 2019-09-09
 
   defaultIconTheme = adwaita-icon-theme;
   gtk = gtk3;
diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch b/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch
deleted file mode 100644
index 83423122110c..000000000000
--- a/pkgs/desktops/gnome-3/devtools/nemiver/bool_slot.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/dbgengine/nmv-dbg-common.h	2014-07-09 10:36:05.000000000 +0200
-+++ b/src/dbgengine/nmv-dbg-common.h	2016-08-04 22:40:28.447842746 +0200
-@@ -171,7 +171,9 @@
- 
-     bool has_slot () const
-     {
--        return m_slot;
-+        //return m_slot;
-+        // https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822502
-+        return static_cast<bool> (m_slot);
-     }
- 
-     template<class T>
diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch b/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch
deleted file mode 100644
index e3413b224977..000000000000
--- a/pkgs/desktops/gnome-3/devtools/nemiver/safe_ptr.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/confmgr/nmv-gconf-mgr.cc	2014-07-08 10:24:06.000000000 +0200
-+++ b/src/confmgr/nmv-gconf-mgr.cc	2016-08-04 23:50:08.143060464 +0200
-@@ -32,6 +32,7 @@
- NEMIVER_BEGIN_NAMESPACE (nemiver)
- 
- using nemiver::common::GCharSafePtr;
-+using nemiver::common::GErrorSafePtr;
- 
- class GConfMgr : public IConfMgr {
-     GConfMgr (const GConfMgr &);
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 675648363f52..0278fd7fec83 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "engrampa";
-  version = "1.22.1";
+  version = "1.22.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06z38vfs15f5crrrgvcsqfb557fhpq1mqkj5fd9wb0hvi77hasrk";
+    sha256 = "0ph7ngk32nnzc3psqjs5zy52zbjilk30spr2r4sixqxvmz7d28gd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix
index c41455a65441..128910e00f21 100644
--- a/pkgs/development/libraries/jemalloc/common.nix
+++ b/pkgs/development/libraries/jemalloc/common.nix
@@ -24,6 +24,13 @@ stdenv.mkDerivation rec {
   configureFlags = []
     ++ optional stripPrefix "--with-jemalloc-prefix="
     ++ optional disableInitExecTls "--disable-initial-exec-tls"
+    # jemalloc is unable to correctly detect transparent hugepage support on
+    # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
+    # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
+    ++ optionals (stdenv.isAarch32 && versionOlder version "5") [
+      "--disable-thp"
+      "je_cv_thp=no"
+    ]
   ;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/sundials/3.x.nix b/pkgs/development/libraries/sundials/3.x.nix
new file mode 100644
index 000000000000..879f13e8bf53
--- /dev/null
+++ b/pkgs/development/libraries/sundials/3.x.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, cmake
+, fetchurl
+, python
+, liblapack
+, gfortran
+, lapackSupport ? true }:
+
+let liblapackShared = liblapack.override {
+  shared = true;
+};
+
+in stdenv.mkDerivation rec {
+  pname = "sundials";
+  version = "3.2.1";
+
+  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
+  nativeBuildInputs = [ cmake ];
+
+  src = fetchurl {
+    url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
+    sha256 = "0238r1qnwqz13wcjzfsbcfi8rfnlxcjjmxq2vpf2qf5jgablvna7";
+  };
+
+  patches = [
+    (fetchurl {
+      # https://github.com/LLNL/sundials/pull/19
+      url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch";
+      sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l";
+    })
+  ];
+
+  cmakeFlags = [
+    "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples"
+  ] ++ stdenv.lib.optionals (lapackSupport) [
+    "-DSUNDIALS_INDEX_TYPE=int32_t"
+    "-DLAPACK_ENABLE=ON"
+    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
+  ];
+
+  # flaky tests, and patch in https://github.com/LLNL/sundials/pull/21 doesn't apply cleanly for sundials_3
+  doCheck = false;
+  checkPhase = "make test";
+
+  meta = with stdenv.lib; {
+    description = "Suite of nonlinear differential/algebraic equation solvers";
+    homepage    = https://computation.llnl.gov/projects/sundials;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ flokli idontgetoutmuch ];
+    license     = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index abe444c63c32..4bc066df32e2 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -1,28 +1,58 @@
-{ cmake, fetchurl, python, stdenv }:
+{ stdenv
+, cmake
+, fetchurl
+, python
+, liblapack
+, gfortran
+, lapackSupport ? true }:
 
-stdenv.mkDerivation rec {
+let liblapackShared = liblapack.override {
+  shared = true;
+};
 
+in stdenv.mkDerivation rec {
   pname = "sundials";
   version = "4.1.0";
 
+  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
+  nativeBuildInputs = [ cmake ];
+
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
     sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398";
   };
 
-  preConfigure = ''
-    export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$out -DEXAMPLES_INSTALL_PATH=$out/share/examples $cmakeFlags"
-  '';
+  patches = [
+    (fetchurl {
+      # https://github.com/LLNL/sundials/pull/19
+      url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch";
+      sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l";
+    })
+    (fetchurl {
+      # https://github.com/LLNL/sundials/pull/20
+      url = "https://github.com/LLNL/sundials/pull/20/commits/2d951bbe1ff7842fcd0dafa28c61b0aa94015f66.patch";
+      sha256 = "0lcr6m4lk14yqrxah4rdscpczny5l7m1zpfsjh8bgspadfsgk512";
+    })
+    # https://github.com/LLNL/sundials/pull/21
+    ./tests-parallel.patch
+  ];
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ python ];
+  cmakeFlags = [
+    "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples"
+  ] ++ stdenv.lib.optionals (lapackSupport) [
+    "-DSUNDIALS_INDEX_TYPE=int32_t"
+    "-DLAPACK_ENABLE=ON"
+    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
+  ];
+
+  doCheck = true;
+  checkPhase = "make test";
 
   meta = with stdenv.lib; {
     description = "Suite of nonlinear differential/algebraic equation solvers";
     homepage    = https://computation.llnl.gov/projects/sundials;
     platforms   = platforms.all;
-    maintainers = [ maintainers.idontgetoutmuch ];
+    maintainers = with maintainers; [ flokli idontgetoutmuch ];
     license     = licenses.bsd3;
   };
-
 }
diff --git a/pkgs/development/libraries/sundials/tests-parallel.patch b/pkgs/development/libraries/sundials/tests-parallel.patch
new file mode 100644
index 000000000000..a785a1dade9b
--- /dev/null
+++ b/pkgs/development/libraries/sundials/tests-parallel.patch
@@ -0,0 +1,45 @@
+diff --git a/config/SundialsAddTest.cmake b/config/SundialsAddTest.cmake
+index e965fed..a7fb1d2 100644
+--- a/config/SundialsAddTest.cmake
++++ b/config/SundialsAddTest.cmake
+@@ -70,7 +70,7 @@ MACRO(SUNDIALS_ADD_TEST NAME EXECUTABLE)
+         "--verbose"
+         "--testname=${NAME}"
+         "--executablename=$<TARGET_FILE:${EXECUTABLE}>"
+-        "--outputdir=${CMAKE_BINARY_DIR}/Testing/output"
++        "--outputdir=${TEST_OUTPUT_DIR}"
+         )
+ 
+       # do not diff the output and answer files
+diff --git a/config/SundialsTesting.cmake b/config/SundialsTesting.cmake
+index 815576a..d91801a 100644
+--- a/config/SundialsTesting.cmake
++++ b/config/SundialsTesting.cmake
+@@ -29,6 +29,13 @@ IF(SUNDIALS_DEVTESTS)
+     ENDIF()
+   ENDIF()
+ 
++  # Directory for test output
++  SET(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Testing/output)
++
++  IF(NOT EXISTS ${TEST_OUTPUT_DIR})
++    FILE(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
++  ENDIF()
++
+   # look for the testRunner script in the test directory
+   FIND_PROGRAM(TESTRUNNER testRunner PATHS test)
+   HIDE_VARIABLE(TESTRUNNER)
+diff --git a/test/testRunner b/test/testRunner
+index f450ec2..f1c8deb 100755
+--- a/test/testRunner
++++ b/test/testRunner
+@@ -106,7 +106,8 @@ def main():
+ 
+     # create output directory if necessary
+     if not os.path.exists(outDir):
+-        os.makedirs(outDir)
++        error("Output directory does not exist, it must be created.", outDir)
++        sys.exit(1)
+     elif not os.path.isdir(outDir):
+         error("Output directory exists but is not a directory, it must be deleted.", outDir)
+         sys.exit(1)
diff --git a/pkgs/development/python-modules/django/2_2.nix b/pkgs/development/python-modules/django/2_2.nix
index efc13e455e57..95fd8a769289 100644
--- a/pkgs/development/python-modules/django/2_2.nix
+++ b/pkgs/development/python-modules/django/2_2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.4";
+  version = "2.2.5";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s5ad5zlmwdn4h5lwn4s4m8mqy0gz4w9nfzyknn815sr252db98n";
+    sha256 = "0mpxmckd1mah0yrp6n8vjk6mq7hxf6d5xcbk6rcmi6z572h0mdyy";
   };
 
   patches = stdenv.lib.optional withGdal
diff --git a/pkgs/development/python-modules/scikits-odes/default.nix b/pkgs/development/python-modules/scikits-odes/default.nix
new file mode 100644
index 000000000000..89ffe334e7ff
--- /dev/null
+++ b/pkgs/development/python-modules/scikits-odes/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchurl
+, cython
+, enum34
+, gfortran
+, isPy3k
+, numpy
+, pytest
+, python
+, scipy
+, sundials_3
+}:
+
+buildPythonPackage rec {
+  pname = "scikits.odes";
+  version = "2.4.0-9-g93075ae";
+
+  # we fetch github instead of Pypi, as we want #104 and #105, which don't apply cleanly on 2.4.0
+  src = fetchFromGitHub {
+    owner = "bmcage";
+    repo = "odes";
+    rev = "93075ae25c409f572f13ca7207fada5706f73c73";
+    sha256 = "161rab7hy6r1a9xw1zby9xhnnmxi0zwdpzxfpjkw9651xn2k5xyw";
+  };
+
+  nativeBuildInputs = [
+    gfortran
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    sundials_3
+    scipy
+  ] ++ lib.optionals (!isPy3k) [ enum34 ];
+
+  doCheck = true;
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    cd $out/${python.sitePackages}/scikits/odes/tests
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A scikit offering extra ode/dae solvers, as an extension to what is available in scipy";
+    homepage = https://github.com/bmcage/odes;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ flokli idontgetoutmuch ];
+    platforms = [ "aarch64-linux" "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix
index e0b9aec9ee15..335a2238b91e 100644
--- a/pkgs/development/tools/asn2quickder/default.nix
+++ b/pkgs/development/tools/asn2quickder/default.nix
@@ -12,11 +12,13 @@ buildPythonApplication rec {
     repo = "quick-der";
   };
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs ./python/scripts/*
   '';
 
-  buildInputs = [ makeWrapper cmake ];
+  dontUseCmakeConfigure = true;
+
+  nativeBuildInputs = [ makeWrapper cmake ];
   checkInputs = [ pytestrunner pytest ];
 
   propagatedBuildInputs = [ pyparsing asn1ate six ];
diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix
index b7e6e08cb04a..a07fc2643f6c 100644
--- a/pkgs/development/tools/build-managers/mill/default.nix
+++ b/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/mill/releases/download/${version}/${version}";
-    sha256 = "ecf83db96a32024f14b031ce458b1b3eed01e713265e16c42eb4a894a1a0d654";
+    sha256 = "1y5044m0qlwa1wlg7xkhg76agmfn7bgcf040wf56fvxhf0w78zjw";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch b/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch
deleted file mode 100644
index 013ac5180afa..000000000000
--- a/pkgs/development/tools/misc/luarocks/darwin-3.0.x.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua
-index f93e67a..2eb2db9 100644
---- a/src/luarocks/core/cfg.lua
-+++ b/src/luarocks/core/cfg.lua
-@@ -425,9 +425,9 @@ local function make_defaults(lua_version, target_cpu, platforms, home)
-       defaults.external_lib_extension = "dylib"
-       defaults.arch = "macosx-"..target_cpu
-       defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load"
--      defaults.variables.STAT = "/usr/bin/stat"
-+      defaults.variables.STAT = "stat"
-       defaults.variables.STATFLAG = "-f '%A'"
--      local version = util.popen_read("sw_vers -productVersion")
-+      local version = os.getenv("MACOSX_DEPLOYMENT_TARGET") or "10.12"
-       version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3
-       if version >= 10 then
-          version = 8
-@@ -436,8 +436,8 @@ local function make_defaults(lua_version, target_cpu, platforms, home)
-       else
-          defaults.gcc_rpath = false
-       end
--      defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
--      defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
-+      defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
-+      defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
-       defaults.web_browser = "open"
-    end
- 
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 8da224f0ef8c..21611f05579b 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -1,13 +1,14 @@
 { luarocks, fetchFromGitHub }:
 luarocks.overrideAttrs(old: {
   pname = "luarocks-nix";
+  version = "2019-09-07";
   src = fetchFromGitHub {
-    owner = "teto";
+    owner = "nix-community";
     repo = "luarocks";
-    rev = "38ed82ba3e5682d7d55ef9a870dfb464ca180df9";
-    sha256 = "0vlzywiv3sxkpjg1fzzxicmfr6kh04fxw5q9n8vsd2075xjxg6bs";
+    rev = "fa7c367bcdad36768db5f19fd4fcdd9681a14429";
+    sha256 = "0kziwfw5gqq5xsckl7qf9wasaiy8rp42h5qrcnjx07qp47a9ldx7";
   };
   patches = [
-    ./darwin-3.0.x.patch
+    ./darwin-3.1.3.patch
   ];
 })
diff --git a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix b/pkgs/development/tools/nemiver/default.nix
index 7ebacc99c522..1f3556fc9047 100644
--- a/pkgs/desktops/gnome-3/devtools/nemiver/default.nix
+++ b/pkgs/development/tools/nemiver/default.nix
@@ -1,6 +1,24 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gnome3, gtk3, libxml2, intltool, itstool, gdb,
-  boost, sqlite, libgtop, glibmm, gtkmm3, vte, gtksourceview, gsettings-desktop-schemas,
-  gtksourceviewmm, wrapGAppsHook }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, gnome3
+, gtk3
+, libxml2
+, intltool
+, itstool
+, gdb
+, boost
+, sqlite
+, libgtop
+, glibmm
+, gtkmm3
+, vte
+, gtksourceview
+, gsettings-desktop-schemas
+, gtksourceviewmm
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "nemiver";
@@ -11,17 +29,38 @@ stdenv.mkDerivation rec {
     sha256 = "85ab8cf6c4f83262f441cb0952a6147d075c3c53d0687389a3555e946b694ef2";
   };
 
-  nativeBuildInputs = [ libxml2 intltool itstool pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [
+    libxml2
+    intltool
+    itstool
+    pkgconfig
+    wrapGAppsHook
+  ];
 
   buildInputs = [
-    gtk3 gdb boost sqlite libgtop
-    glibmm gtkmm3 vte gtksourceview gtksourceviewmm
+    gtk3
+    gdb
+    boost
+    sqlite
+    libgtop
+    glibmm
+    gtkmm3
+    vte
+    gtksourceview
+    gtksourceviewmm
     gsettings-desktop-schemas
   ];
 
   patches = [
-    ./bool_slot.patch
-    ./safe_ptr.patch
+    # build fixes
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/nemiver/commit/e0e42221ceb77d88be64fac1c09792dc5c9e2f43.patch;
+      sha256 = "1g0ixll6yqfj6ysf50p0c7nmh3lgmb6ds15703q7ibnw7dyidvj8";
+    })
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/nemiver/commit/7005393a8c4d914eac9705e7f47818d0f4de3578.patch;
+      sha256 = "1mxb1sdqdj7dm204gja8cdygx8579bjriqqbb7cna9rj0m9c8pjg";
+    })
     (fetchpatch {
       url = https://gitlab.gnome.org/GNOME/nemiver/commit/262cf9657f9c2727a816972b348692adcc666008.patch;
       sha256 = "03jv6z54b8nzvplplapk4aj206zl1gvnv6iz0mad19g6yvfbw7a7";
@@ -35,7 +74,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "nemiver";
-      attrPath = "gnome3.nemiver";
       versionPolicy = "none";
     };
   };
diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
new file mode 100644
index 000000000000..58038923890b
--- /dev/null
+++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
@@ -0,0 +1,8 @@
+{fetchgit }:
+
+fetchgit {
+  name = "chromium-xorg-conf";
+  url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf";
+  rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514";
+  sha256 = "0643y3l3hjk4mv4lm3h9z56h990q6k11hcr10lcqppgsii0d3zcf";
+}
diff --git a/pkgs/os-specific/linux/libevdevc/default.nix b/pkgs/os-specific/linux/libevdevc/default.nix
new file mode 100644
index 000000000000..e3dfbd3d6c22
--- /dev/null
+++ b/pkgs/os-specific/linux/libevdevc/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, coreutils, pkgconfig, glib, jsoncpp }:
+
+stdenv.mkDerivation rec {
+  name = "libevdevc";
+  version = "2.0.1";
+  src = fetchFromGitHub {
+    owner = "hugegreenbug";
+    repo = "libevdevc";
+    rev = "v${version}";
+    sha256 = "0ry30krfizh87yckmmv8n082ad91mqhhbbynx1lfidqzb6gdy2dd";
+  };
+
+  postPatch = ''
+    substituteInPlace common.mk \
+      --replace /bin/echo ${coreutils}/bin/echo
+    substituteInPlace include/module.mk \
+      --replace /usr/include /include
+  '';
+
+  makeFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ];
+
+  meta = with stdenv.lib; {
+    description = "ChromiumOS libevdev. Renamed to avoid conflicts with the standard libevdev found in Linux distros.";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    homepage = "https://chromium.googlesource.com/chromiumos/platform/libevdev/";
+    maintainers = with maintainers; [ kcalvinalvin ];
+  };
+}
diff --git a/pkgs/os-specific/linux/libgestures/default.nix b/pkgs/os-specific/linux/libgestures/default.nix
new file mode 100644
index 000000000000..4c51525727af
--- /dev/null
+++ b/pkgs/os-specific/linux/libgestures/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, pkgconfig, glib, jsoncpp }:
+
+stdenv.mkDerivation rec {
+  name = "libgestures-${version}";
+  version = "2.0.1";
+  src = fetchFromGitHub {
+    owner = "hugegreenbug";
+    repo = "libgestures";
+    rev = "v${version}";
+    sha256 = "0dfvads2adzx4k8cqc1rbwrk1jm2wn9wl2jk51m26xxpmh1g0zab";
+  };
+  patches = [ ./include-fix.patch ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace -Werror -Wno-error \
+      --replace '$(DESTDIR)/usr/include' '$(DESTDIR)/include'
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ glib jsoncpp ];
+
+
+  makeFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ];
+
+  meta = with stdenv.lib; {
+    description = "ChromiumOS libgestures modified to compile for Linux.";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    homepage = "https://chromium.googlesource.com/chromiumos/platform/gestures";
+    maintainers = with maintainers; [ kcalvinalvin ];
+  };
+}
diff --git a/pkgs/os-specific/linux/libgestures/include-fix.patch b/pkgs/os-specific/linux/libgestures/include-fix.patch
new file mode 100644
index 000000000000..851be4771434
--- /dev/null
+++ b/pkgs/os-specific/linux/libgestures/include-fix.patch
@@ -0,0 +1,12 @@
+diff -ur a/include/gestures/include/finger_metrics.h b/include/gestures/include/finger_metrics.h
+--- a/include/gestures/include/finger_metrics.h    1970-01-01 09:00:01.000000000 +0900
++++ b/include/gestures/include/finger_metrics.h    2018-12-01 16:58:51.590718511 +0900
+@@ -5,6 +5,8 @@
+ #ifndef GESTURES_FINGER_METRICS_H_
+ #define GESTURES_FINGER_METRICS_H_
+ 
++#include <math.h>
++
+ #include "gestures/include/gestures.h"
+ #include "gestures/include/prop_registry.h"
+#include "gestures/include/vector.h"
diff --git a/pkgs/os-specific/linux/xf86-input-cmt/default.nix b/pkgs/os-specific/linux/xf86-input-cmt/default.nix
new file mode 100644
index 000000000000..2422b70b0685
--- /dev/null
+++ b/pkgs/os-specific/linux/xf86-input-cmt/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pkgconfig, xorgserver, xorgproto,
+  utilmacros, libgestures, libevdevc }:
+
+stdenv.mkDerivation rec {
+  name = "xf86-input-cmt-${version}";
+  version = "2.0.2";
+  src = fetchFromGitHub {
+    owner = "hugegreenbug";
+    repo = "xf86-input-cmt";
+    rev = "v${version}";
+    sha256 = "1cnwf518nc0ybc1r3rsgc1gcql1k3785khffv0i4v3akrm9wdw98";
+  };
+
+  postPatch = ''
+    patchShebangs ./apply_patches.sh
+    ./apply_patches.sh
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorgserver xorgproto utilmacros
+    libgestures libevdevc
+  ];
+
+  configureFlags = [
+    "--with-sdkdir=${placeholder "out"}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Chromebook touchpad driver.";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    homepage = "www.github.com/hugegreenbug/xf86-input-cmt";
+    maintainers = with maintainers; [ kcalvinalvin ];
+  };
+}
diff --git a/pkgs/tools/networking/bukubrow/default.nix b/pkgs/tools/networking/bukubrow/default.nix
index aee1b5c0e1d9..e83e72cbfb44 100644
--- a/pkgs/tools/networking/bukubrow/default.nix
+++ b/pkgs/tools/networking/bukubrow/default.nix
@@ -1,34 +1,46 @@
-{ stdenv, rustPlatform, fetchFromGitHub, sqlite }:
+{ stdenv, rustPlatform, fetchFromGitHub, sqlite }: let
 
-rustPlatform.buildRustPackage rec {
-  pname = "bukubrow";
-  version = "2.4.0";
+manifest = {
+  description = "Bukubrow extension host application";
+  name = "com.samhh.bukubrow";
+  path = "@out@/bin/bukubrow";
+  type = "stdio";
+};
+
+in rustPlatform.buildRustPackage rec {
+  pname = "bukubrow-host";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "SamHH";
-    repo = "bukubrow";
-    rev = version;
-    sha256 = "1wrwav7am73bmgbpwh1pi0b8k7vhydqvw91hmmhnvbjhrhbns7s5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1a3gqxj6d1shv3w0v9m8x2xr0bvcynchy778yqalxkc3x4vr0nbn";
   };
-  sourceRoot = "source/binary";
 
-  cargoSha256 = "0553awiba24a3a8xwjhlwf8yzbs44lnirjvcxnvsgah7dc44r0gj";
+  cargoSha256 = "06nh99cvg3y4f98fs0j5bkidzq6fg46wk47z5jfzz5lf72ha54lk";
 
   buildInputs = [ sqlite ];
 
+  passAsFile = [ "firefoxManifest" "chromeManifest" ];
+  firefoxManifest = builtins.toJSON (manifest // {
+    allowed_extensions = [ "bukubrow@samhh.com" ];
+  });
+  chromeManifest = builtins.toJSON (manifest // {
+    allowed_origins = [ "chrome-extension://ghniladkapjacfajiooekgkfopkjblpn/" ];
+  });
+  postBuild = ''
+    substituteAll $firefoxManifestPath firefox.json
+    substituteAll $chromeManifestPath chrome.json
+  '';
   postInstall = ''
-    mkdir -p $out/etc $out/lib/mozilla/native-messaging-hosts
-
-    host_file="$out/bin/bukubrow"
-    sed -e "s!%%replace%%!$host_file!" browser-hosts/firefox.json > "$out/etc/firefox-host.json"
-    sed -e "s!%%replace%%!$host_file!" browser-hosts/chrome.json > "$out/etc/chrome-host.json"
-
-    ln -s $out/etc/firefox-host.json $out/lib/mozilla/native-messaging-hosts/com.samhh.bukubrow.json
+    install -Dm0644 firefox.json $out/lib/mozilla/native-messaging-hosts/com.samhh.bukubrow.json
+    install -Dm0644 chrome.json $out/etc/chromium/native-messaging-hosts/com.samhh.bukubrow.json
   '';
 
   meta = with stdenv.lib; {
     description = "Bukubrow is a WebExtension for Buku, a command-line bookmark manager";
-    homepage = https://github.com/SamHH/bukubrow;
+    homepage = https://github.com/SamHH/bukubrow-host;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ infinisil ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9c5e9699783..2021ec720a7b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4915,6 +4915,8 @@ in
 
   ndppd = callPackage ../applications/networking/ndppd { };
 
+  nemiver = callPackage ../development/tools/nemiver { };
+
   neofetch = callPackage ../tools/misc/neofetch { };
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };
@@ -7507,7 +7509,7 @@ in
   gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { stdenv = gccStdenv; };
 
   gccFun = callPackage ../development/compilers/gcc/8;
-  gcc = gcc8;
+  gcc = if stdenv.isDarwin then gcc7 else gcc8;
   gcc-unwrapped = gcc.cc;
 
   gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
@@ -9308,6 +9310,8 @@ in
 
   chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome2.GConf; };
 
+  chromium-xorg-conf = callPackage ../os-specific/linux/chromium-xorg-conf { };
+
   chrpath = callPackage ../development/tools/misc/chrpath { };
 
   chruby = callPackage ../development/tools/misc/chruby { rubies = null; };
@@ -13743,6 +13747,8 @@ in
 
   sundials = callPackage ../development/libraries/sundials { };
 
+  sundials_3 = callPackage ../development/libraries/sundials/3.x.nix { };
+
   sutils = callPackage ../tools/misc/sutils { };
 
   svrcore = callPackage ../development/libraries/svrcore { };
@@ -16511,6 +16517,8 @@ in
 
   wpa_supplicant_gui = libsForQt5.callPackage ../os-specific/linux/wpa_supplicant/gui.nix { };
 
+  xf86_input_cmt = callPackage ../os-specific/linux/xf86-input-cmt { };
+
   xf86_input_mtrack = callPackage ../os-specific/linux/xf86-input-mtrack { };
 
   xf86_input_multitouch = callPackage ../os-specific/linux/xf86-input-multitouch { };
@@ -16809,6 +16817,10 @@ in
 
   liberation-sans-narrow = callPackage ../data/fonts/liberation-sans-narrow { };
 
+  libevdevc = callPackage ../os-specific/linux/libevdevc { };
+
+  libgestures = callPackage ../os-specific/linux/libgestures { };
+
   liberastika = callPackage ../data/fonts/liberastika { };
 
   libertine = callPackage ../data/fonts/libertine { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index dfef738603bb..6e936afd5ea1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4840,6 +4840,8 @@ in {
 
   scikit-build = callPackage ../development/python-modules/scikit-build { };
 
+  scikits-odes = callPackage ../development/python-modules/scikits-odes { };
+
   scikit-optimize = callPackage ../development/python-modules/scikit-optimize { };
 
   scikit-tda = callPackage ../development/python-modules/scikit-tda { };