about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rwxr-xr-xpkgs/development/compilers/adoptopenjdk-bin/generate-sources.py69
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix11
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix13
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix44
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix44
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json94
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix2
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix22
-rw-r--r--pkgs/development/libraries/libbladeRF/default.nix18
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix25
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/librelp/default.nix4
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix4
-rw-r--r--pkgs/development/libraries/pagmo2/default.nix30
-rw-r--r--pkgs/development/libraries/sundials/default.nix11
-rw-r--r--pkgs/development/python-modules/ase/default.nix16
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix38
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch13
-rw-r--r--pkgs/development/python-modules/osc/default.nix8
-rw-r--r--pkgs/development/python-modules/pygmo/default.nix43
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix7
-rw-r--r--pkgs/development/tools/database/squirrel-sql/default.nix25
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix16
26 files changed, 319 insertions, 254 deletions
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
new file mode 100755
index 0000000000000..66e1abd05e900
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env nix-shell
+#!nix-shell --pure -i python3 -p "python3.withPackages (ps: with ps; [ requests ])"
+
+import json
+import re
+import requests
+import sys
+
+releases = ["openjdk11"]
+oses = ["mac", "linux"]
+types = ["jre", "jdk"]
+impls = ["hotspot", "openj9"]
+
+arch_to_nixos = {
+    "x64": "x86_64",
+    "aarch64": "aarch64",
+}
+
+def get_sha256(url):
+    resp = requests.get(url)
+    if resp.status_code != 200:
+        print("error: could not fetch checksum from url {}: code {}".format(url, resp.code), file=sys.stderr)
+        sys.exit(1)
+    return resp.text.strip().split(" ")[0]
+
+RE_RELEASE_NAME = re.compile(r'[^-]+-([0-9.]+)\+([0-9]+)') # example release name: jdk-11.0.1+13
+def generate_sources(release, assets):
+    out = {}
+    for asset in assets:
+        if asset["os"] not in oses: continue
+        if asset["binary_type"] not in types: continue
+        if asset["openjdk_impl"] not in impls: continue
+        if asset["heap_size"] != "normal": continue
+        if asset["architecture"] not in arch_to_nixos: continue
+
+        version, build = RE_RELEASE_NAME.match(asset["release_name"]).groups()
+
+        type_map = out.setdefault(asset["os"], {})
+        impl_map = type_map.setdefault(asset["binary_type"], {})
+        arch_map = impl_map.setdefault(asset["openjdk_impl"], {
+            "version": version,
+            "build": build,
+            "packageType": asset["binary_type"],
+            "vmType": asset["openjdk_impl"],
+        })
+
+        if arch_map["version"] != version or arch_map["build"] != build:
+            print("error: architectures have different latest versions ({}+{} vs {}+{})".format(
+                arch_map["version"], arch_map["build"], version, build
+            ), file=sys.stderr)
+            sys.exit(1)
+
+        arch_map[arch_to_nixos[asset["architecture"]]] = {
+            "url": asset["binary_link"],
+            "sha256": get_sha256(asset["checksum_link"]),
+        }
+
+    return out
+
+out = {}
+for release in releases:
+    resp = requests.get("https://api.adoptopenjdk.net/v2/latestAssets/releases/" + release)
+    if resp.status_code != 200:
+        print("error: could not fetch data for release {} (code {})".format(release, resp.code), file=sys.stderr)
+        sys.exit(1)
+    out[release] = generate_sources(release, resp.json())
+
+with open("sources.json", "w") as f:
+    json.dump(out, f, indent=2, sort_keys=True)
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index c2c13649f885c..958f36d39284a 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -1,7 +1,4 @@
-{ name
-, url
-, sha256
-}:
+sourcePerArch:
 
 { swingSupport ? true # not used for now
 , stdenv
@@ -9,10 +6,12 @@
 }:
 
 let result = stdenv.mkDerivation rec {
-  inherit name;
+  name = if sourcePerArch.packageType == "jdk"
+    then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
+    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
 
   src = fetchurl {
-    inherit url sha256;
+    inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
   };
 
   # See: https://github.com/NixOS/patchelf/issues/10
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index cf38ca9eaebea..eb614b0784f99 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -1,7 +1,4 @@
-{ name
-, url
-, sha256
-}:
+sourcePerArch:
 
 { swingSupport ? true
 , stdenv
@@ -48,10 +45,12 @@ let
 in
 
 let result = stdenv.mkDerivation rec {
-  inherit name;
+  name = if sourcePerArch.packageType == "jdk"
+    then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
+    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
 
   src = fetchurl {
-    inherit url sha256;
+    inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
   };
 
   nativeBuildInputs = [ file ];
@@ -112,7 +111,7 @@ let result = stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     license = licenses.gpl2Classpath;
     description = "AdoptOpenJDK, prebuilt OpenJDK binary";
-    platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms
+    platforms = stdenv.lib.mapAttrsToList (arch: _: arch + "-linux") sourcePerArch; # some inherit jre.meta.platforms
     maintainers = with stdenv.lib.maintainers; [ taku0 ];
   };
 
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix
index 573f5e175ec67..d1db77215d165 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-darwin.nix
@@ -1,43 +1,9 @@
 let
-  makePackage = { version, buildNumber, packageType, vmType, sha256 }: import ./jdk-darwin-base.nix {
-    name = if packageType == "jdk"
-      then
-        "adoptopenjdk-${vmType}-bin-${version}"
-      else
-        "adoptopenjdk-${packageType}-${vmType}-bin-${version}";
-
-    url = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-${version}%2B${buildNumber}/OpenJDK11-${packageType}_x64_mac_${vmType}_${version}_${buildNumber}.tar.gz";
-
-    inherit sha256;
-  };
+  sources = builtins.fromJSON (builtins.readFile ./sources.json);
 in
 {
-  jdk-hotspot = makePackage {
-    version = "11";
-    buildNumber = "28";
-    packageType = "jdk";
-    vmType = "hotspot";
-    sha256 = "ca0ec49548c626904061b491cae0a29b9b4b00fb34d8973dc217e10ab21fb0f3";
-  };
-  jre-hotspot = makePackage {
-    version = "11";
-    buildNumber = "28";
-    packageType = "jre";
-    vmType = "hotspot";
-    sha256 = "ef4dbfe5aed6ab2278fcc14db6cc73abbaab56e95f6ebb023790a7ebc6d7f30c";
-  };
-  jdk-openj9 = makePackage {
-    version = "11.0.1";
-    buildNumber = "13";
-    packageType = "jdk";
-    vmType = "openj9";
-    sha256 = "c5e9b588b4ac5b0bd5b4edd69d59265d1199bb98af7ca3270e119b264ffb6e3f";
-  };
-  jre-openj9 = makePackage {
-    version = "11.0.1";
-    buildNumber = "13";
-    packageType = "jre";
-    vmType = "openj9";
-    sha256 = "0901dc5946fdf967f92f7b719ddfffdcdde5bd3fef86a83d7a3f2f39ddbef1f8";
-  };
+  jdk-hotspot = import ./jdk-darwin-base.nix sources.openjdk11.mac.jdk.hotspot;
+  jre-hotspot = import ./jdk-darwin-base.nix sources.openjdk11.mac.jre.hotspot;
+  jdk-openj9 = import ./jdk-darwin-base.nix sources.openjdk11.mac.jdk.openj9;
+  jre-openj9 = import ./jdk-darwin-base.nix sources.openjdk11.mac.jre.openj9;
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
index f4990b6effc50..755ffaab271ec 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk11-linux.nix
@@ -1,43 +1,9 @@
 let
-  makePackage = { version, buildNumber, packageType, vmType, sha256 }: import ./jdk-linux-base.nix {
-    name = if packageType == "jdk"
-      then
-        "adoptopenjdk-${vmType}-bin-${version}"
-      else
-        "adoptopenjdk-${packageType}-${vmType}-bin-${version}";
-
-    url = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-${version}%2B${buildNumber}/OpenJDK11-${packageType}_x64_linux_${vmType}_${version}_${buildNumber}.tar.gz";
-
-    inherit sha256;
-  };
+  sources = builtins.fromJSON (builtins.readFile ./sources.json);
 in
 {
-  jdk-hotspot = makePackage {
-    version = "11";
-    buildNumber = "28";
-    packageType = "jdk";
-    vmType = "hotspot";
-    sha256 = "e1e18fc9ce2917473da3e0acb5a771bc651f600c0195a3cb40ef6f22f21660af";
-  };
-  jre-hotspot = makePackage {
-    version = "11";
-    buildNumber = "28";
-    packageType = "jre";
-    vmType = "hotspot";
-    sha256 = "346448142d46c6e51d0fadcaadbcde31251d7678922ec3eb010fcb1b6e17804c";
-  };
-  jdk-openj9 = makePackage {
-    version = "11.0.1";
-    buildNumber = "13";
-    packageType = "jdk";
-    vmType = "openj9";
-    sha256 = "765947ab9457a29d2aa9d11460a4849611343c1e0ea3b33b9c08409cd4672251";
-  };
-  jre-openj9 = makePackage {
-    version = "11.0.1";
-    buildNumber = "13";
-    packageType = "jre";
-    vmType = "openj9";
-    sha256 = "a016413fd8415429b42e543fed7a1bee5010b1dbaf71d29a26e1c699f334c6ff";
-  };
+  jdk-hotspot = import ./jdk-linux-base.nix sources.openjdk11.linux.jdk.hotspot;
+  jre-hotspot = import ./jdk-linux-base.nix sources.openjdk11.linux.jre.hotspot;
+  jdk-openj9 = import ./jdk-linux-base.nix sources.openjdk11.linux.jdk.openj9;
+  jre-openj9 = import ./jdk-linux-base.nix sources.openjdk11.linux.jre.openj9;
 }
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
new file mode 100644
index 0000000000000..bacb468c0ecee
--- /dev/null
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -0,0 +1,94 @@
+{
+  "openjdk11": {
+    "linux": {
+      "jdk": {
+        "hotspot": {
+          "aarch64": {
+            "sha256": "b66121b9a0c2e7176373e670a499b9d55344bcb326f67140ad6d0dc24d13d3e2",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.1_13.tar.gz"
+          },
+          "build": "13",
+          "packageType": "jdk",
+          "version": "11.0.1",
+          "vmType": "hotspot",
+          "x86_64": {
+            "sha256": "22bd2f1a2e0cb6e4075967bfeda4a960b0325879305aa739a0ba2d6e5cd4c3e2",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz"
+          }
+        },
+        "openj9": {
+          "build": "13",
+          "packageType": "jdk",
+          "version": "11.0.1",
+          "vmType": "openj9",
+          "x86_64": {
+            "sha256": "ef9bf07cba79082285a9d426ea4eb3e8df57561ce2afe07cc5f299a8fa203279",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_openj9_jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "aarch64": {
+            "sha256": "6fd756bda392e3fddb48382460daae263c6fb5708683a691c8d30af2eb870bb8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_aarch64_linux_hotspot_11_28.tar.gz"
+          },
+          "build": "28",
+          "packageType": "jre",
+          "version": "11",
+          "vmType": "hotspot",
+          "x86_64": {
+            "sha256": "346448142d46c6e51d0fadcaadbcde31251d7678922ec3eb010fcb1b6e17804c",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_linux_hotspot_11_28.tar.gz"
+          }
+        },
+        "openj9": {
+          "build": "28",
+          "packageType": "jre",
+          "version": "11",
+          "vmType": "openj9",
+          "x86_64": {
+            "sha256": "83a7c95e6b2150a739bdd5e8a6fe0315904fd13d8867c95db67c0318304a2c42",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_linux_openj9_11_28.tar.gz"
+          }
+        }
+      }
+    },
+    "mac": {
+      "jdk": {
+        "hotspot": {
+          "build": "13",
+          "packageType": "jdk",
+          "version": "11.0.1",
+          "vmType": "hotspot",
+          "x86_64": {
+            "sha256": "e219e7e2d586ed09ae65f4ec390fca5d5f0c37a61b47677648610194daf1aaa7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_hotspot_11.0.1_13.tar.gz"
+          }
+        },
+        "openj9": {
+          "build": "13",
+          "packageType": "jdk",
+          "version": "11.0.1",
+          "vmType": "openj9",
+          "x86_64": {
+            "sha256": "c9a816d6a3f8aac9dc5b3b41c5a9e4e5460af433a06e003ae25d5a06dea8375f",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_openj9_macosXL-jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz"
+          }
+        }
+      },
+      "jre": {
+        "hotspot": {
+          "build": "28",
+          "packageType": "jre",
+          "version": "11",
+          "vmType": "hotspot",
+          "x86_64": {
+            "sha256": "ef4dbfe5aed6ab2278fcc14db6cc73abbaab56e95f6ebb023790a7ebc6d7f30c",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_mac_hotspot_11_28.tar.gz"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 28d5e50e96ffa..3c01250c3fe41 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -731,7 +731,7 @@ self: super: {
           rev = "v${ver}";
           sha256 = "0kqglih3rv12nmkzxvalhfaaafk4b2irvv9x5xmc48i1ns71y23l";
         }}/doc";
-        buildInputs = with pkgs.pythonPackages; [ sphinx recommonmark sphinx_rtd_theme ];
+        nativeBuildInputs = with pkgs.buildPackages.pythonPackages; [ sphinx recommonmark sphinx_rtd_theme ];
         makeFlags = "html";
         installPhase = ''
           mv _build/html $out
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index 330e6b282ce15..cfefa8c95dc52 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "9.2.4.0";
+  version = "9.2.5.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "034asndnqjgha74b6qr1gza9xfrmq9m8f6ysnblgd2axr218qqxr";
+    sha256 = "0jgkpp90x4v3izl58r53lg5ndf9pm6q6qgwqvxhkb9zcha00ibgl";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index d95707ecb22d8..6f7fa96229603 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -10,19 +10,16 @@
 assert zlibSupport -> zlib != null;
 
 let
-  majorVersion = "6.0";
-  minorVersion = "0";
-  minorVersionSuffix = "";
+  version = "6.0.0";
   pythonVersion = "2.7";
-  version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
-  libPrefix = "pypy${majorVersion}";
+  libPrefix = "pypy${pythonVersion}";
   sitePackages = "site-packages";
 
   pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]);
 
 in stdenv.mkDerivation rec {
   name = "pypy-${version}";
-  inherit majorVersion version pythonVersion;
+  inherit version pythonVersion;
 
   src = fetchurl {
     url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
@@ -69,12 +66,7 @@ in stdenv.mkDerivation rec {
     ${pythonForPypy.interpreter} rpython/bin/rpython \
       --make-jobs="$NIX_BUILD_CORES" \
       -Ojit \
-      --batch pypy/goal/targetpypystandalone.py \
-      --withmod-_minimal_curses \
-      --withmod-unicodedata \
-      --withmod-thread \
-      --withmod-bz2 \
-      --withmod-_multiprocessing
+      --batch pypy/goal/targetpypystandalone.py
   '';
 
   setupHook = python-setup-hook sitePackages;
@@ -87,9 +79,7 @@ in stdenv.mkDerivation rec {
     # disable shutils because it assumes gid 0 exists
     # disable socket because it has two actual network tests that fail
     # disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
-    # disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
-    # disable test_zipfile64 because it causes ENOSPACE
-    ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_ssl or test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil or test_zipfile64 )' lib-python
+    ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or test_shutil )' lib-python
   '';
 
   installPhase = ''
@@ -126,6 +116,8 @@ in stdenv.mkDerivation rec {
     inherit zlibSupport libPrefix sitePackages;
     executable = "pypy";
     isPypy = true;
+    isPy2 = true;
+    isPy27 = true;
     buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
     interpreter = "${self}/bin/${executable}";
     withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
diff --git a/pkgs/development/libraries/libbladeRF/default.nix b/pkgs/development/libraries/libbladeRF/default.nix
index 04bd3f3d71ed3..45f24fc5facf6 100644
--- a/pkgs/development/libraries/libbladeRF/default.nix
+++ b/pkgs/development/libraries/libbladeRF/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, git, doxygen, help2man, ncurses, tecla
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, cmake, git, doxygen, help2man, ncurses, tecla
 , libusb1, udev }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "2.0.2";
   name = "libbladeRF-${version}";
 
   src = fetchFromGitHub {
     owner = "Nuand";
     repo = "bladeRF";
     rev = "libbladeRF_v${version}";
-    sha256 = "0frvphp4xxdxwzmi94b0asl7b891sd3fk8iw9kfk8h6f3cdhj8xa";
+    sha256 = "18qwljjdnf4lds04kc1zvslr5hh9cjnnjkcy07lbkrq7pj0pfnc6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -21,8 +21,17 @@ stdenv.mkDerivation rec {
   # Fixup shebang
   prePatch = "patchShebangs host/utilities/bladeRF-cli/src/cmd/doc/generate.bash";
 
+  # Fixes macos and freebsd compilation issue.
+  # https://github.com/Nuand/bladeRF/commit/0cb4ea888543b2dc75b876f7024e180854fbe9c3
+  patches = [ (fetchpatch {
+                name = "fix-OSX-and-FreeBSD-build.patch";
+                url = "https://github.com/Nuand/bladeRF/commit/0cb4ea88.diff";
+                sha256 = "1ccpa69vz2nlpdnxprh4rd1pgphk82z5lfmbrfdkn7srw6nxl469";
+              })
+            ];
+
   # Let us avoid nettools as a dependency.
-  patchPhase = ''
+  postPatch = ''
     sed -i 's/$(hostname)/hostname/' host/utilities/bladeRF-cli/src/cmd/doc/generate.bash
   '';
 
@@ -31,6 +40,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isLinux [
     "-DUDEV_RULES_PATH=etc/udev/rules.d"
     "-DINSTALL_UDEV_RULES=ON"
+    "-DBLADERF_GROUP=bladerf"
   ];
 
   hardeningDisable = [ "fortify" ];
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index c4824bf7a05b0..00e080d85842f 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.10.0";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "08bvnd0m18qs5akbblf80l54khm1523fdiiajp7fj88vrs86nbi2";
+    sha256 = "1znhy99nhiv21j2jwsx9dsmg8br01wg0hsf1yfwsjny0myv13xkm";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index 8b384a51f0185..3f3062e3c0815 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, libusb, pixman, glib, nss, nspr, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, libusb, pixman, glib, nss, gtk3
+, coreutils, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
 
 stdenv.mkDerivation rec {
-  name = "libfprint-0.7.0";
+  name = "libfprint-${version}";
+  version = "0.99.0";
 
   src = fetchurl {
-    url = "https://people.freedesktop.org/~anarsoul/${name}.tar.xz";
-    sha256 = "1wzi12zvdp8sw3w5pfbd9cwz6c71627bkr88rxv6gifbyj6fwgl6";
+    url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/82ba3cef5bdf72997df711eacdb13c0f/libfprint-${version}.tar.xz";
+    sha256 = "16r4nl40y0jri57jiqmdz4s87byblx22lbhyvqpljd6mqm5rg187";
   };
 
-  buildInputs = [ libusb pixman glib nss nspr gdk_pixbuf ];
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libusb pixman glib nss gtk3 ];
+  nativeBuildInputs = [ pkgconfig meson ninja gtk-doc docbook_xsl docbook_xml_dtd_43 ];
 
-  configureFlags = [ "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
+  mesonFlags = [ "-Dudev_rules_dir=lib/udev/rules.d" "-Dx11-examples=false" ];
+
+  preConfigure = ''
+    substituteInPlace libfprint/meson.build \
+      --replace /bin/echo ${coreutils}/bin/echo
+  '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.freedesktop.org/wiki/Software/fprint/libfprint/;
+    homepage = https://fprint.freedesktop.org/;
     description = "A library designed to make it easy to add support for consumer fingerprint readers";
-    license = licenses.lgpl2;
+    license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index e009a9f920b12..e08cf3fe7a8ab 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libraw-${version}";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "https://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "0nfj7s7qmgfy1cl8s3ck7dxjvprfq5glfi6iidmvmy8r7gl52gz8";
+    sha256 = "1xjyw4n9gfr2r637pjbpbi3h98h9mdjn61b0hsxwqynq2vdij452";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix
index e5d64c4143f12..284b95b8a2bdd 100644
--- a/pkgs/development/libraries/librelp/default.nix
+++ b/pkgs/development/libraries/librelp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "librelp-1.2.18";
+  name = "librelp-1.3.0";
 
   src = fetchurl {
     url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
-    sha256 = "0grrnxhazd9iirj07al524xykk0k33vs0dgnpajz5vpqig4qyk53";
+    sha256 = "1xg99ndn65984mrh30qvys5npc73ag4348whshghrcj9azya494z";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 956c8b58ffc13..4c994d596ba1b 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "onig-${version}";
-  version = "6.9.0";
+  version = "6.9.1";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "064nk8nxygqrk5b6n7zvrksf5shrsapn12zdi6crbbfbw0s7pn8h";
+    sha256 = "0dbdd9r15fsqn0rimkjwlv8v68v4i1830h0m7dw56b335wwl6bbg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pagmo2/default.nix b/pkgs/development/libraries/pagmo2/default.nix
index c680efa95f89c..842fae5ea9389 100644
--- a/pkgs/development/libraries/pagmo2/default.nix
+++ b/pkgs/development/libraries/pagmo2/default.nix
@@ -11,32 +11,34 @@
 
 stdenv.mkDerivation rec {
   name = "pagmo2-${version}";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
      owner = "esa";
      repo = "pagmo2";
      rev = "v${version}";
-     sha256 = "1xwxamcn3fkwr62jn6bkanrwy0cvsksf75hfwx4fvl56awnbz41z";
+     sha256 = "0al2i59m5qr83wz5n5408zvys0b3mc40rszf0l5b9a0gp1axj400";
   };
 
-  buildInputs = [ cmake eigen nlopt ipopt boost ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ eigen nlopt ipopt boost ];
 
-  preBuild = ''
-    cp -r $src/* .
-  '';
+  cmakeFlags = [
+    "-DPAGMO_BUILD_TESTS=no"
+    "-DPAGMO_WITH_EIGEN3=yes"
+    "-DPAGMO_WITH_NLOPT=yes"
+    "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt.so"
+    "-DPAGMO_WITH_IPOPT=yes"
+    "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'"
+  ];
 
-  cmakeFlags = [ "-DPAGMO_BUILD_TESTS=no"
-                 "-DPAGMO_WITH_EIGEN3=yes" "-DPAGMO_WITH_NLOPT=yes"
-                 "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt_cxx.so" "-DPAGMO_WITH_IPOPT=yes"
-                 "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" ];
-
-  # All but one test pass skip for now (tests also take about 30 min to compile)
+  # tests pass but take 30+ minutes
   doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://esa.github.io/pagmo2/;
     description = "Scientific library for massively parallel optimization";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index f3cfc1e56e876..2a5acc3138263 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -3,23 +3,24 @@
 stdenv.mkDerivation rec {
 
   pname = "sundials";
-  version = "3.2.1";
+  version = "4.0.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
-  url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-  sha256 = "0238r1qnwqz13wcjzfsbcfi8rfnlxcjjmxq2vpf2qf5jgablvna7";
+    url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
+    sha256 = "06cspmhx9qn7x722lmy9q2jr80hnnv2h7n54da7y5m951p1xfgcm";
   };
 
   preConfigure = ''
     export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$out -DEXAMPLES_INSTALL_PATH=$out/share/examples $cmakeFlags"
   '';
   
-  buildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ python ];
 
   meta = with stdenv.lib; {
     description = "Suite of nonlinear differential/algebraic equation solvers";
-    homepage    = https://computation.llnl.gov/casc/sundials/main.html;
+    homepage    = https://computation.llnl.gov/projects/sundials;
     platforms   = platforms.all;
     maintainers = [ maintainers.idontgetoutmuch ];
     license     = licenses.bsd3;
diff --git a/pkgs/development/python-modules/ase/default.nix b/pkgs/development/python-modules/ase/default.nix
index 1f7b9419278eb..3a466170c77c1 100644
--- a/pkgs/development/python-modules/ase/default.nix
+++ b/pkgs/development/python-modules/ase/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchurl
+, fetchPypi
 , buildPythonPackage
 , numpy
 , scipy
@@ -10,12 +10,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.16.2";
   pname = "ase";
+  version = "3.17.0";
 
-  src = fetchurl {
-     url = "https://gitlab.com/${pname}/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
-     sha256 = "171j3f4a261cfnqjq98px5fldxql65i3jgf60wc945xvh0mbc8ds";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d4gxypaahby45zcpl0rffcn2z7n55dg9lcd8sv6jjsmbbf9vr4g";
   };
 
   propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
@@ -27,10 +27,10 @@ buildPythonPackage rec {
   # tests just hang most likely due to something with subprocesses and cli
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "Atomic Simulation Environment";
     homepage = https://wiki.fysik.dtu.dk/ase/;
-    license = lib.licenses.lgpl21Plus;
-    maintainers = with lib.maintainers; [ costrouc ];
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 0cab6fc18a5f6..d435cae94194f 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.32.0";
+  version = "3.33.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16cg5v50x905c0dr34wqk70b0n3mqzp41iir2rd73f31d1z9jndq";
+    sha256 = "196yl6m3fycrbsclcmg550821j18ga6dpghmk5nb1xi4j4yb62gq";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index f4d690eedc303..d8fc12b1c4223 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -4,16 +4,16 @@
 
 buildPythonPackage rec {
   pname = "git-annex-adapter";
-  version = "0.2.0";
+  version = "0.2.1";
 
   disabled = !isPy3k;
 
-  # There is only a wheel on PyPI - build from source instead
+  # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "alpernebbi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sbgp4ivgw4m8nngrlb1f78xdnssh639c1khv4z98753w3sdsxdz";
+    sha256 = "146q1jhcfc7f96ajkhjffskkljk2xzivs5ih5clb8qx0sh7mj097";
   };
 
   prePatch = ''
@@ -22,38 +22,6 @@ buildPythonPackage rec {
       --replace "'git-annex'" "'${git-annex}/bin/git-annex'"
   '';
 
-  patches = [
-    # fixes the "not-a-git-repo" testcase where recent git versions expect a slightly different error.
-    ./not-a-git-repo-testcase.patch
-
-    # fixes the testcase which parses the output of `git-annex info` where several
-    # new lines are displayed that broke the test.
-    (fetchpatch {
-      url = "https://github.com/Ma27/git-annex-adapter/commit/39cb6da69c1aec3d57ea9f68c2dea5113ae1b764.patch";
-      sha256 = "0wyy2icqan3jpiw7dm50arfq3mgq4b5s3g91k82srap763r9hg5m";
-    })
-
-    # fixes the testcase which runs "git status" and complies with the
-    # slightly altered output.
-    (fetchpatch {
-      url = "https://github.com/alpernebbi/git-annex-adapter/commit/9f64c4b99cae7b681820c6c7382e1e40489f4d1e.patch";
-      sha256 = "0yh66gial6bx7kbl7s7lkzljnkpgvgr8yahqqcq9z76d0w752dir";
-    })
-
-    # fix test broken due to renaming of repository version 6 to 7
-    (fetchpatch {
-      url = https://github.com/alpernebbi/git-annex-adapter/commit/a72efea02ec9b2ed9c7aad0b222056d72eb0c143.patch;
-      sha256 = "0nv9ms01jnwp3qzwsla4w8pcpakq5lh7c77xdbhiidbrx0n1p4q7";
-    })
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    # `rev` is part of utillinux on NixOS which is not available on `nixpks` for darwin:
-    # https://logs.nix.ci/?key=nixos/nixpkgs.45061&attempt_id=271763ba-2ae7-4098-b469-b82b1d8edb9b
-    (fetchpatch {
-      url = "https://github.com/alpernebbi/git-annex-adapter/commit/0b60b4577528b309f6ac9d47b55a00dbda9850ea.patch";
-      sha256 = "0z608hpmyzv1mm01dxr7d6bi1hc77h4yafghkynmv99ijgnm1qk7";
-    })
-  ];
-
   checkInputs = [
     utillinux # `rev` is needed in tests/test_process.py
   ];
diff --git a/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch b/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch
deleted file mode 100644
index 2a386ee3f2f91..0000000000000
--- a/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/test_process.py b/tests/test_process.py
-index 493fc8f..feb1833 100644
---- a/tests/test_process.py
-+++ b/tests/test_process.py
-@@ -126,7 +126,7 @@ class TestProcessOnEmptyDir(TempDirTestCase):
-         with self.assertRaises(subprocess.CalledProcessError) as cm:
-             runner('status', '-sb')
-         self.assertIn(
--            "fatal: Not a git repository",
-+            "fatal: not a git repository",
-             cm.exception.stderr,
-         )
- 
diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix
index 87bd6ee258c04..7e62076975953 100644
--- a/pkgs/development/python-modules/osc/default.nix
+++ b/pkgs/development/python-modules/osc/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage {
   pname = "osc";
-  version = "0.162.0-55-gb730f88";
-  disabled = isPy3k;
+  version = "0.163.0-40-gb4b1ec7";
+  disabled = isPy3k;    # urlgrabber doesn't support python-3.x
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "osc";
-    rev = "b730f880cfe85a8547f569355a21706f27ebfa78";
-    sha256 = "0hh9j5zd2kc0804d2jmf1q3w5xm9l9s69hhgysbncrv5fw0414lh";
+    rev = "b4b1ec7b64d4f9bb42f140754519221b810e232c";
+    sha256 = "01z1b15x9vzhd7j94f6n3g50h5br7lwz86akgic0wpp41zv37jad";
   };
 
   buildInputs = [ pkgs.bashInteractive ]; # needed for bash-completion helper
diff --git a/pkgs/development/python-modules/pygmo/default.nix b/pkgs/development/python-modules/pygmo/default.nix
index 2500121dc9e68..30e4444f55276 100644
--- a/pkgs/development/python-modules/pygmo/default.nix
+++ b/pkgs/development/python-modules/pygmo/default.nix
@@ -1,7 +1,6 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
-, cmake
 , eigen
 , nlopt
 , ipopt
@@ -11,38 +10,44 @@
 , cloudpickle
 , ipyparallel
 , numba
+, python
 }:
 
-buildPythonPackage rec {
+let
+  propagatedBuildInputs = [ numpy cloudpickle ipyparallel numba ];
+
+  pagmo2WithPython = pagmo2.overrideAttrs (oldAttrs: {
+    cmakeFlags = oldAttrs.cmakeFlags ++ [
+      "-DPAGMO_BUILD_PYGMO=yes"
+      "-DPAGMO_BUILD_PAGMO=no"
+      "-DPagmo_DIR=${pagmo2}"
+    ];
+    buildInputs = [ eigen nlopt ipopt boost pagmo2 ] ++ propagatedBuildInputs;
+    postInstall = ''
+      mv wheel $out
+    '';
+  });
+
+in buildPythonPackage rec {
   pname = "pygmo";
-  version = "2.8";
+  version = pagmo2WithPython.version;
 
-  src = fetchFromGitHub {
-     owner = "esa";
-     repo = "pagmo2";
-     rev = "v${version}";
-     sha256 = "1xwxamcn3fkwr62jn6bkanrwy0cvsksf75hfwx4fvl56awnbz41z";
-  };
+  inherit propagatedBuildInputs;
 
-  buildInputs = [ cmake eigen nlopt ipopt boost pagmo2 ];
-  propagatedBuildInputs = [ numpy cloudpickle ipyparallel numba ];
+  src = pagmo2WithPython;
 
   preBuild = ''
-    cp -v -r $src/* .
-    cmake -DCMAKE_INSTALL_PREFIX=$out -DPAGMO_BUILD_TESTS=no -DCMAKE_SYSTEM_NAME=Linux -DPagmo_DIR=${pagmo2} -DPAGMO_BUILD_PYGMO=yes -DPAGMO_BUILD_PAGMO=no -DPAGMO_WITH_EIGEN3=yes -DPAGMO_WITH_NLOPT=yes -DNLOPT_LIBRARY=${nlopt}/lib/libnlopt_cxx.so -DPAGMO_WITH_IPOPT=yes -DIPOPT=${ipopt}
-
-    make install
-    mv $out/lib/python*/site-packages/pygmo wheel
+    mv ${python.sitePackages}/pygmo wheel
     cd wheel
   '';
 
   # dont do tests
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "Parallel optimisation for Python";
     homepage = https://esa.github.io/pagmo2/;
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ costrouc ];
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 9a2aaa91ad846..3671605a407e4 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -270,13 +270,6 @@ in
     ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
   };
 
-  oxidized = attrs: {
-    postInstall = ''
-      cd "$(cat "$out/nix-support/gem-meta/install-path")"
-      patch -p1 < ${../../../tools/admin/oxidized/temporary-x-series.patch}
-    '';
-  };
-
   pango = attrs: {
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gtk2 xorg.libXdmcp pcre xorg.libpthreadstubs ];
diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix
index 7d4cf6ea5d5e9..548268bb762ab 100644
--- a/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -5,29 +5,34 @@
 , drivers ? []
 }:
 let
-  version = "3.8.1";
+  version = "3.9.0";
 in stdenv.mkDerivation rec {
   name = "squirrel-sql-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip";
-    sha256 = "1vv38i4rwm8c8h0p9mmz21dyafd71pqprj7b8i5vx7f4q8xns2d2";
+    sha256 = "0b16l7p7klagxnwkx2az4mbyd35kv4aj8xxbwm27pp3spz9dk8m0";
   };
 
-  buildInputs = [
-    jre makeWrapper stdenv unzip
-  ];
+  nativeBuildInputs = [ makeWrapper unzip ];
+  buildInputs = [ jre ];
 
   unpackPhase = ''
+    runHook preUnpack
     unzip ${src}
+    runHook postUnpack
   '';
 
   buildPhase = ''
+    runHook preBuild
     cd squirrelsql-${version}-standard
     chmod +x squirrel-sql.sh
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+    
     mkdir -p $out/share/squirrel-sql
     cp -r . $out/share/squirrel-sql
 
@@ -47,6 +52,8 @@ in stdenv.mkDerivation rec {
     ln -s $out/share/squirrel-sql/icons/acorn.png \
       $out/share/icons/hicolor/32x32/apps/squirrel-sql.png
     ln -s ${desktopItem}/share/applications $out/share
+    
+    runHook postInstall
   '';
 
   desktopItem = makeDesktopItem {
@@ -59,11 +66,11 @@ in stdenv.mkDerivation rec {
     icon = "squirrel-sql";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Universal SQL Client";
     homepage = http://squirrel-sql.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl21;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ khumba ];
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ khumba ];
   };
 }
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index 925d0a786af01..5f3dff95e358d 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -4,25 +4,24 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "mkdocs";
-  version = "0.17.5";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "mkdocs";
     repo = "mkdocs";
     rev = version;
-    sha256 = "1l1dahpwqikmww3yx2m6j2134npk8vcikg9klsmpqjpza8nigwzw";
+    sha256 = "1x35vgiskgz4wwrvi4m1mri5wlphf15p90fr3rxsy5bf19v3s9hs";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "tornado>=4.1,<5.0" "tornado>=4.1"
-  '';
-
   checkInputs = [
     nose nose-exclude mock
   ];
 
-  NOSE_EXCLUDE_TESTS="mkdocs.tests.gh_deploy_tests.TestGitHubDeploy;mkdocs.tests.config.config_tests.ConfigTests";
+  NOSE_EXCLUDE_TESTS = lib.concatStringsSep ";" [
+    "mkdocs.tests.gh_deploy_tests.TestGitHubDeploy"
+    "mkdocs.tests.config.config_tests.ConfigTests"
+    "mkdocs.tests.config.config_options_tests.DirTest"
+  ];
 
   checkPhase = "nosetests mkdocs";
 
@@ -33,6 +32,7 @@ buildPythonApplication rec {
     pyyaml
     markdown
     jinja2
+    backports_tempfile
   ];
 
   meta = {