summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/idris2/default.nix31
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--pkgs/development/compilers/myrddin/default.nix57
-rw-r--r--pkgs/development/compilers/scala-runners/default.nix31
-rw-r--r--pkgs/development/libraries/bamf/default.nix4
-rw-r--r--pkgs/development/libraries/drogon/default.nix4
-rw-r--r--pkgs/development/libraries/fcft/default.nix4
-rw-r--r--pkgs/development/libraries/libavif/default.nix4
-rw-r--r--pkgs/development/libraries/libseat/default.nix37
-rw-r--r--pkgs/development/libraries/libwnck/2.nix30
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix76
-rw-r--r--pkgs/development/libraries/libwnck/default.nix80
-rw-r--r--pkgs/development/libraries/opencolorio/1.x.nix45
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix54
-rw-r--r--pkgs/development/libraries/pystring/default.nix33
-rw-r--r--pkgs/development/libraries/wlroots/default.nix4
-rw-r--r--pkgs/development/node-packages/node-packages.nix2
-rw-r--r--pkgs/development/ocaml-modules/cudf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dose3/default.nix61
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix6
-rw-r--r--pkgs/development/python-modules/desktop-notifier/default.nix6
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/imaplib2/default.nix31
-rw-r--r--pkgs/development/python-modules/ndms2-client/default.nix30
-rw-r--r--pkgs/development/python-modules/pybotvac/default.nix4
-rw-r--r--pkgs/development/python-modules/pyscf/default.nix41
-rw-r--r--pkgs/development/python-modules/rflink/default.nix48
-rw-r--r--pkgs/development/tools/hobbes/default.nix22
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix4
-rw-r--r--pkgs/development/tools/sourcetrail/default.nix2
30 files changed, 554 insertions, 209 deletions
diff --git a/pkgs/development/compilers/idris2/default.nix b/pkgs/development/compilers/idris2/default.nix
index ec0d8fe5c72..ac0f3312414 100644
--- a/pkgs/development/compilers/idris2/default.nix
+++ b/pkgs/development/compilers/idris2/default.nix
@@ -1,22 +1,35 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper
-, clang, chez
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, clang
+, chez
+, gmp
+, zsh
 }:
 
+# NOTICE: An `idris2WithPackages` is available at: https://github.com/claymager/idris2-pkgs
+
 # Uses scheme to bootstrap the build of idris2
 stdenv.mkDerivation rec {
   pname = "idris2";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "idris-lang";
     repo = "Idris2";
     rev = "v${version}";
-    sha256 = "0sa2lpb7n6xqfknwld9rzm4bnb6qcd0ja1n63cnc5v8wdzr8q7kh";
+    sha256 = "105jybjf5s0k6003qzfxchzsfcpsxip180bh3mdmi74d464d0h8g";
   };
 
+  # We do not add any propagatedNativeBuildInputs because we do not want the
+  # executables idris2 produces to depend on the nix-store. As such, it is left
+  # to the user to guarantee chez (or any other codgen dependency) is available
+  # in the path during compilation of programs with idris2.
   strictDeps = true;
-  nativeBuildInputs = [ makeWrapper clang chez ];
-  buildInputs = [ chez ];
+  nativeBuildInputs = [ makeWrapper clang chez ]
+    ++ lib.optional stdenv.isDarwin [ zsh ];
+  buildInputs = [ gmp ];
 
   prePatch = ''
     patchShebangs --build tests
@@ -26,9 +39,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin "OS=";
 
   # The name of the main executable of pkgs.chez is `scheme`
-  buildFlags = [ "bootstrap-build" "SCHEME=scheme" ];
+  buildFlags = [ "bootstrap" "SCHEME=scheme" ];
 
-  checkTarget = "bootstrap-test";
+  checkTarget = "test";
 
   # TODO: Move this into its own derivation, such that this can be changed
   #       without having to recompile idris2 every time.
@@ -72,7 +85,7 @@ stdenv.mkDerivation rec {
     description = "A purely functional programming language with first class types";
     homepage = "https://github.com/idris-lang/Idris2";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ wchresta ];
+    maintainers = with lib.maintainers; [ fabianhjr wchresta ];
     inherit (chez.meta) platforms;
   };
 }
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index 1bbbbd963f6..ef65827fbf2 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -21,8 +21,8 @@ let
   release_version = "13.0.0";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
-  rev = "643b6407faf460915679f304420cfbee87c47734"; # When using a Git commit
-  rev-version = "unstable-2021-06-11"; # When using a Git commit
+  rev = "1605fce6c3074f8d1dff5a917a1840ffa66abd86"; # When using a Git commit
+  rev-version = "unstable-2021-06-19"; # When using a Git commit
   version = if rev != "" then rev-version else "${release_version}${dash-candidate}";
   targetConfig = stdenv.targetPlatform.config;
 
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "0b06qqbks20m1cy9g1k8y4w8vh9zcbh9ag2bpk9xgg2xkmbq42az";
+    sha256 = "1jf0b9vn4qv5gsvhyg6xsqdkdl4vzn7j4sfcldl8bggcgjmzp0q1";
   };
 
   llvm_meta = {
diff --git a/pkgs/development/compilers/myrddin/default.nix b/pkgs/development/compilers/myrddin/default.nix
new file mode 100644
index 00000000000..3120426210b
--- /dev/null
+++ b/pkgs/development/compilers/myrddin/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, bison
+, binutils
+, binutils-unwrapped
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  pname = "myrddin";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    repo = "mc";
+    owner = "oridb";
+    rev = "r${version}";
+    sha256 = "7ImjiG/rIKGPHq3Vh/mftY7pqw/vfOxD3LJeT87HmCk=";
+  };
+
+  nativeBuildInputs = [
+    bison
+    pkg-config
+    makeWrapper
+  ];
+
+  postPatch = ''
+    substituteInPlace mk/c.mk \
+        --replace "-Werror" ""
+  '';
+
+  buildPhase = ''
+    make bootstrap
+    make
+  '';
+
+  postInstall = ''
+    for b in $out/bin/*; do
+        wrapProgram $b --prefix PATH : $out/bin:${lib.makeBinPath [ binutils ]}
+    done
+  '';
+
+  checkPhase = ''
+    make check
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Systems language that is both powerful and fun to use";
+    homepage = "https://myrlang.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/scala-runners/default.nix b/pkgs/development/compilers/scala-runners/default.nix
new file mode 100644
index 00000000000..e379bf4e38e
--- /dev/null
+++ b/pkgs/development/compilers/scala-runners/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, jre, coursier }:
+
+stdenv.mkDerivation rec {
+  pname = "scala-runners";
+  version = "unstable-2020-02-02";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "dwijnand";
+    rev = "95e03c9f9de0fe0ab61eeb6dea2a364f9d081d31";
+    sha256 = "0mvlc6fxsh5d6gsyak9n3g98g4r061n8pir37jpiqb7z00m9lfrx";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    sed -ie "s| cs | ${coursier}/bin/coursier |" scala-runner
+    cp scala-runner $out/lib
+    ln -s $out/lib/scala-runner $out/bin/scala
+    ln -s $out/lib/scala-runner $out/bin/scalac
+    ln -s $out/lib/scala-runner $out/bin/scalap
+    ln -s $out/lib/scala-runner $out/bin/scaladoc
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/dwijnand/scala-runners";
+    description = "An alternative implementation of the Scala distribution's runners";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ hrhino ];
+  };
+}
diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix
index faee853808c..f1a7420fbce 100644
--- a/pkgs/development/libraries/bamf/default.nix
+++ b/pkgs/development/libraries/bamf/default.nix
@@ -7,7 +7,7 @@
 , which
 , fetchgit
 , libgtop
-, libwnck3
+, libwnck
 , glib
 , vala
 , pkg-config
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     glib
     libgtop
     libstartup_notification
-    libwnck3
+    libwnck
   ];
 
   patches = [
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
index 1b27c7a2b07..01b4bf16ff0 100644
--- a/pkgs/development/libraries/drogon/default.nix
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "drogon";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "an-tao";
     repo = "drogon";
     rev = "v${version}";
-    sha256 = "18wn9ashv3h3pal6x5za6y7byfcrd49zy3wfx4hx0ygxzplmss0r";
+    sha256 = "0rhwbz3m5x3vy5zllfs8r347wqprg29pff5q7i53f25bh8y0n49i";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix
index c431e6e2b3c..9018a1bfa21 100644
--- a/pkgs/development/libraries/fcft/default.nix
+++ b/pkgs/development/libraries/fcft/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/fcft/archive/${version}.tar.gz";
-    sha256 = "0z1r0s5s3dr1g4f3ylxfcmy3xb0ax02rw9mg7z8hzh0gxazrpndx";
+    sha256 = "sha256-QxAp6pnZPLPwarurbKovz0BVOO4XdckBzjB65XCBPAM=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
diff --git a/pkgs/development/libraries/libavif/default.nix b/pkgs/development/libraries/libavif/default.nix
index 27427d5e6dc..81f07703c94 100644
--- a/pkgs/development/libraries/libavif/default.nix
+++ b/pkgs/development/libraries/libavif/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libavif";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "AOMediaCodec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XWPB5JI4V/anvtHFGY4ejeSlBbxzK6KRG8e5vBhxL8A=";
+    sha256 = "sha256-0/5JLynYzr7ZewBbrNoxr26UkVzpSP9RqlmH2ql8tfs=";
   };
 
   # reco: encode libaom slowest but best, decode dav1d fastest
diff --git a/pkgs/development/libraries/libseat/default.nix b/pkgs/development/libraries/libseat/default.nix
deleted file mode 100644
index bdefb51b50f..00000000000
--- a/pkgs/development/libraries/libseat/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchFromSourcehut
-, lib
-, meson
-, ninja
-, pkg-config
-, stdenv
-, systemd
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libseat";
-  version = "0.5.0";
-
-  src = fetchFromSourcehut {
-    owner = "~kennylevinsen";
-    repo = "seatd";
-    rev = version;
-    sha256 = "sha256-JwlJLHkRgSRqfQEhXbzuFTmhxfbwKVdLICPbTDbC9M0=";
-  };
-
-  nativeBuildInputs = [ meson ninja pkg-config ];
-
-  buildInputs = [
-    systemd
-  ];
-
-  mesonFlags = [ "-Dserver=disabled" "-Dseatd=disabled" "-Dlogind=enabled"];
-
-  meta = with lib; {
-    description = "A universal seat management library";
-    changelog   = "https://git.sr.ht/~kennylevinsen/seatd/refs/${version}";
-    homepage    = "https://sr.ht/~kennylevinsen/seatd/";
-    license     = licenses.mit;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ emantor ];
-  };
-}
diff --git a/pkgs/development/libraries/libwnck/2.nix b/pkgs/development/libraries/libwnck/2.nix
new file mode 100644
index 00000000000..fd7d80574a7
--- /dev/null
+++ b/pkgs/development/libraries/libwnck/2.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, xorg }:
+
+stdenv.mkDerivation rec {
+  pname = "libwnck";
+  version = "2.31.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
+  };
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ gtk2 intltool xorg.libX11 xorg.libXres ];
+  # ?another optional: startup-notification
+
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
+  meta = {
+    description = "A library for creating task lists and pagers";
+    homepage = "https://gitlab.gnome.org/GNOME/libwnck";
+    license = lib.licenses.lgpl21;
+    maintainers = with lib.maintainers; [ johnazoidberg ];
+    # ./xutils.h:31:10: fatal error: 'gdk/gdkx.h' file not found
+    # #include <gdk/gdkx.h>
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
deleted file mode 100644
index 425a1bab355..00000000000
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, gtk-doc
-, docbook_xsl
-, docbook_xml_dtd_412
-, libX11
-, glib
-, gtk3
-, pango
-, cairo
-, libXres
-, libstartup_notification
-, gettext
-, gobject-introspection
-, gnome
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libwnck";
-  version = "3.36.0";
-
-  outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0pwjdhca9lz2n1gf9b60xf0m6ipf9snp8rqf9csj4pgdnd882l5w";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    gettext
-    gobject-introspection
-    gtk-doc
-    docbook_xsl
-    docbook_xml_dtd_412
-  ];
-
-  buildInputs = [
-    libX11
-    libstartup_notification
-    pango
-    cairo
-    libXres
-  ];
-
-  propagatedBuildInputs = [
-    glib
-    gtk3
-  ];
-
-  mesonFlags = [
-    "-Dgtk_doc=true"
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "${pname}${lib.versions.major version}";
-      versionPolicy = "odd-unstable";
-    };
-  };
-
-  meta = with lib; {
-    description = "Library to manage X windows and workspaces (via pagers, tasklists, etc.)";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index fd7d80574a7..39a1d505b65 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,30 +1,76 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, xorg }:
+{ lib, stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkg-config
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, libX11
+, glib
+, gtk3
+, pango
+, cairo
+, libXres
+, libstartup_notification
+, gettext
+, gobject-introspection
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "libwnck";
-  version = "2.31.0";
+  version = "3.36.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
+    sha256 = "0pwjdhca9lz2n1gf9b60xf0m6ipf9snp8rqf9csj4pgdnd882l5w";
   };
 
-  outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
+
+  buildInputs = [
+    libX11
+    libstartup_notification
+    pango
+    cairo
+    libXres
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk2 intltool xorg.libX11 xorg.libXres ];
-  # ?another optional: startup-notification
+  propagatedBuildInputs = [
+    glib
+    gtk3
+  ];
 
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "${pname}${lib.versions.major version}";
+      versionPolicy = "odd-unstable";
+    };
+  };
 
-  meta = {
-    description = "A library for creating task lists and pagers";
-    homepage = "https://gitlab.gnome.org/GNOME/libwnck";
-    license = lib.licenses.lgpl21;
-    maintainers = with lib.maintainers; [ johnazoidberg ];
-    # ./xutils.h:31:10: fatal error: 'gdk/gdkx.h' file not found
-    # #include <gdk/gdkx.h>
-    broken = stdenv.isDarwin;
+  meta = with lib; {
+    description = "Library to manage X windows and workspaces (via pagers, tasklists, etc.)";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ liff ];
   };
 }
diff --git a/pkgs/development/libraries/opencolorio/1.x.nix b/pkgs/development/libraries/opencolorio/1.x.nix
new file mode 100644
index 00000000000..041ddf8e837
--- /dev/null
+++ b/pkgs/development/libraries/opencolorio/1.x.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub, cmake, boost, pkg-config, lcms2, tinyxml, git }:
+
+stdenv.mkDerivation rec {
+  pname = "opencolorio";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "imageworks";
+    repo = "OpenColorIO";
+    rev = "v${version}";
+    sha256 = "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb";
+  };
+
+  outputs = [ "bin" "out" "dev" ];
+
+  # TODO: Investigate whether git can be dropped: It's only used to apply patches
+  nativeBuildInputs = [ cmake pkg-config git ];
+
+  buildInputs = [ lcms2 tinyxml ] ++ lib.optional stdenv.isDarwin boost;
+
+  postPatch = ''
+    substituteInPlace src/core/CMakeLists.txt --replace "-Werror" ""
+    substituteInPlace src/pyglue/CMakeLists.txt --replace "-Werror" ""
+  '';
+
+  cmakeFlags = [
+    "-DUSE_EXTERNAL_LCMS=ON"
+    "-DUSE_EXTERNAL_TINYXML=ON"
+    # External libyamlcpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517
+    "-DUSE_EXTERNAL_YAML=OFF"
+  ] ++ lib.optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON"
+    ++ lib.optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DOCIO_USE_SSE=OFF";
+
+  postInstall = ''
+    mkdir -p $bin/bin; mv $out/bin $bin/
+  '';
+
+  meta = with lib; {
+    homepage = "https://opencolorio.org";
+    description = "A color management framework for visual effects and animation";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index 8908f486615..522c8cfa4a1 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -1,47 +1,49 @@
-{ stdenv, lib, fetchFromGitHub, cmake, boost, pkg-config, lcms2, tinyxml, git }:
+{
+  stdenv, lib, fetchFromGitHub,
+  cmake, expat, libyamlcpp, ilmbase, pystring, # Base dependencies
+
+  glew, freeglut, # Only required on Linux
+  Carbon, GLUT, Cocoa, # Only required on Darwin
+
+  pythonBindings ? true, # Python bindings
+  python3Packages,
+
+  buildApps ? true, # Utility applications
+  lcms2, openimageio2, openexr,
+}:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "opencolorio";
-  version = "1.1.1";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
-    owner = "imageworks";
+    owner = "AcademySoftwareFoundation";
     repo = "OpenColorIO";
     rev = "v${version}";
-    sha256 = "12srvxca51czpfjl0gabpidj9n84mw78ivxy5w75qhq2mmc798sb";
+    sha256 = "194j9jp5c8ws0fryiz936wyinphnpzwpqnzvw9ryx6rbiwrba487";
   };
 
-  outputs = [ "bin" "out" "dev" ];
-
-  # TODO: Investigate whether git can be dropped: It's only used to apply patches
-  nativeBuildInputs = [ cmake pkg-config git ];
-
-  buildInputs = [ lcms2 tinyxml ] ++ optional stdenv.isDarwin boost;
-
-  postPatch = ''
-    substituteInPlace src/core/CMakeLists.txt --replace "-Werror" ""
-    substituteInPlace src/pyglue/CMakeLists.txt --replace "-Werror" ""
-  '';
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ expat libyamlcpp ilmbase pystring ]
+    ++ lib.optionals stdenv.hostPlatform.isLinux [ glew freeglut ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon GLUT Cocoa ]
+    ++ lib.optionals pythonBindings [ python3Packages.python python3Packages.pybind11 ]
+    ++ lib.optionals buildApps [ lcms2 openimageio2 openexr ];
 
-  cmakeFlags = [
-    "-DUSE_EXTERNAL_LCMS=ON"
-    "-DUSE_EXTERNAL_TINYXML=ON"
-    # External libyamlcpp 0.6.* not compatible: https://github.com/imageworks/OpenColorIO/issues/517
-    "-DUSE_EXTERNAL_YAML=OFF"
-  ] ++ optional stdenv.isDarwin "-DOCIO_USE_BOOST_PTR=ON"
-    ++ optional (!stdenv.hostPlatform.isi686 && !stdenv.hostPlatform.isx86_64) "-DOCIO_USE_SSE=OFF";
+    cmakeFlags = [ "-DOCIO_INSTALL_EXT_PACKAGES=NONE" ]
+    ++ lib.optional (!pythonBindings) "-DOCIO_BUILD_PYTHON=OFF"
+    ++ lib.optional (!buildApps) "-DOCIO_BUILD_APPS=OFF";
 
-  postInstall = ''
-    mkdir -p $bin/bin; mv $out/bin $bin/
-  '';
+  # TODO Investigate this: Python and GPU tests fail to load libOpenColorIO.so.2.0
+  # doCheck = true;
 
   meta = with lib; {
     homepage = "https://opencolorio.org";
     description = "A color management framework for visual effects and animation";
     license = licenses.bsd3;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = [ maintainers.rytone ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/pystring/default.nix b/pkgs/development/libraries/pystring/default.nix
new file mode 100644
index 00000000000..3a1e64c0b00
--- /dev/null
+++ b/pkgs/development/libraries/pystring/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "pystring";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "imageworks";
+    repo = "pystring";
+    rev = "v${version}";
+    sha256 = "1w31pjiyshqgk6zd6m3ab3xfgb0ribi77r6fwrry2aw8w1adjknf";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "pystring-cmake-configuration.patch";
+      url = "https://github.com/imageworks/pystring/commit/4f653fc35421129eae8a2c424901ca7170059370.patch";
+      sha256 = "1hynzz76ff4vvmi6kwixsmjswkpyj6s4vv05d7nw0zscj4cdp8k3";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/imageworks/pystring/";
+    description = "A collection of C++ functions which match the interface and behavior of python's string class methods using std::string";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.rytone ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index d0596de4439..45c2fd228f2 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg, xcbutilrenderutil, xwayland, libseat
+, libpng, ffmpeg, xcbutilrenderutil, xwayland, seatd
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg xcbutilrenderutil xwayland libseat
+    libpng ffmpeg xcbutilrenderutil xwayland seatd
   ];
 
   postFixup = ''
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index b18d1b290f8..92a931bd4bb 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -114043,7 +114043,7 @@ in
   "vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
     name = "vscode-lldb";
     packageName = "vscode-lldb";
-    version = "1.6.4";
+    version = "1.6.5";
     src = ../../misc/vscode-extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.3"
diff --git a/pkgs/development/ocaml-modules/cudf/default.nix b/pkgs/development/ocaml-modules/cudf/default.nix
index 5bd768e6451..d2090cda676 100644
--- a/pkgs/development/ocaml-modules/cudf/default.nix
+++ b/pkgs/development/ocaml-modules/cudf/default.nix
@@ -40,8 +40,6 @@ stdenv.mkDerivation {
   preInstall = "mkdir -p $OCAMLFIND_DESTDIR";
   installFlags = "BINDIR=$(out)/bin";
 
-  # passthru.tests = { inherit dose3; }; # To-Do: To be enabled when Dose3 PR is accepted.
-
   meta = with lib; {
     description = "A library for CUDF format";
     homepage = "http://www.mancoosi.org/cudf/";
diff --git a/pkgs/development/ocaml-modules/dose3/default.nix b/pkgs/development/ocaml-modules/dose3/default.nix
new file mode 100644
index 00000000000..3397527fd63
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dose3/default.nix
@@ -0,0 +1,61 @@
+{ lib, buildDunePackage, fetchFromGitLab
+, camlzip, ocamlgraph, parmap, re, stdlib-shims
+, base64, bz2, ocaml_extlib, cudf
+, dpkg, git, ocaml, ounit, python39, python39Packages
+}:
+
+buildDunePackage rec {
+  pname = "dose3";
+  version = "6.1";
+
+  src = fetchFromGitLab {
+    owner = "irill";
+    repo = "dose3";
+    rev = version;
+    sha256 = "sha256-RFChY7VH2pVD4u5U1qng46h9aAv8I/3yXVaNmFDmKFI=";
+  };
+
+  minimalOCamlVersion = "4.03";
+  useDune2 = true;
+
+  buildInputs = [
+    parmap
+  ];
+
+  propagatedBuildInputs = [
+    base64
+    bz2
+    camlzip
+    cudf
+    ocaml_extlib
+    ocamlgraph
+    re
+    stdlib-shims
+  ];
+
+  checkInputs = [
+    dpkg                      # Replaces: conf-dpkg
+    git
+    ounit
+    python39                  # Replaces: conf-python-3
+    python39Packages.pyyaml   # Replaces: conf-python3-yaml
+  ];
+  doCheck = false; # Tests are failing.
+                   # To enable tests use: lib.versionAtLeast ocaml.version "4.04";
+
+  meta = with lib; {
+    description = "Dose library (part of Mancoosi tools)";
+    downloadPage = "https://gitlab.com/irill/dose3/";
+    homepage = "http://www.mancoosi.org/software/";
+    license = licenses.lgpl3Plus;
+    longDescription = ''
+      The dose suite provides libraries for handling package meta-data, and various tools for analyzing package relationships in a large package repository.
+      * dose-builddebcheck checks, given a collection of source package stanzas and a collection of binary package stanzas of Debian packages, whether the build-dependencies of each source package can be satisfied by the binary packages.
+      * dose-distcheck checks for every package of a distribution whether it is possible to satisfy its dependencies and conflicts within this distribution.
+      * ceve, a general metadata parser supporting different input formats (Debian, rpm, and others) and different output formats.
+      * dose-outdated, a Debian-specific tool for finding packages that are not installable with respect to a package repository, and that can only be made installable again by fixing the package itself.
+      * dose-challenged, a Debian-specific tool for checking which packages will certainly become uninstallable when some existing package is upgraded to a newer version.
+      * dose-deb-coinstall, a Debian-specific tool for checking whether a set of packages can be installed all together.
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index 239089a911f..985c5429f7e 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -1,4 +1,8 @@
-{ lib, buildPythonPackage, fetchPypi, python }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+}:
 
 buildPythonPackage rec {
   pname = "bitarray";
diff --git a/pkgs/development/python-modules/desktop-notifier/default.nix b/pkgs/development/python-modules/desktop-notifier/default.nix
index ab4189c8f51..29ddb16f27f 100644
--- a/pkgs/development/python-modules/desktop-notifier/default.nix
+++ b/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -10,11 +10,12 @@
 
 buildPythonPackage rec {
   pname = "desktop-notifier";
-  version = "3.2.3";
+  version = "3.3.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf359450efc0944ac4db3106e50faa9d49dcef072307c3531e6af2c8a10cd523";
+    sha256 = "sha256-ROSZorkA2wAp2Ubh3B3KWIUxM/4r7cv/1aSJqeKnPqg=";
   };
 
   propagatedBuildInputs = [
@@ -34,5 +35,6 @@ buildPythonPackage rec {
     description = "A Python library for cross-platform desktop notifications";
     license = licenses.mit;
     maintainers = with maintainers; [ sfrijters ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index 75de29b233d..5d4e41c5e5f 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.41.0";
+  version = "0.42.0";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    sha256 = "sha256-gtfVZTHeiYamKkcu9n/CJ4O4X1YneY2QB3XZnvtNL3U=";
+    sha256 = "sha256-WNhhQ3iqqwyYyd+iOQVpsKAAfgJwJBaUR7rmYAEYUxw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/imaplib2/default.nix b/pkgs/development/python-modules/imaplib2/default.nix
index 1825e1a40d8..c58b698a4a4 100644
--- a/pkgs/development/python-modules/imaplib2/default.nix
+++ b/pkgs/development/python-modules/imaplib2/default.nix
@@ -1,22 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "imaplib2";
-  version = "2.45.0";
+  version = "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a35b6d88258696e80aabecfb784e08730b8558fcaaa3061ff2c7f8637afbd0b3";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = "imaplib2";
+    rev = "v${version}";
+    sha256 = "14asi3xnvf4bb394k5j8c3by6svvmrr75pawzy6kaax5jx0h793m";
   };
 
-  # No tests on PyPI and no tags on GitHub :(
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "imaplib2" ];
 
   meta = with lib; {
     description = "A threaded Python IMAP4 client";
-    homepage = "https://github.com/bcoe/imaplib2";
-    # See https://github.com/bcoe/imaplib2/issues/25
-    license = licenses.psfl;
+    homepage = "https://github.com/jazzband/imaplib2";
+    license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/ndms2-client/default.nix b/pkgs/development/python-modules/ndms2-client/default.nix
new file mode 100644
index 00000000000..d29946a5685
--- /dev/null
+++ b/pkgs/development/python-modules/ndms2-client/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ndms2-client";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "foxel";
+    repo = "python_ndms2_client";
+    rev = version;
+    sha256 = "1sc39d10hm1y8xf3gdqzq1akrx94k590l106242j9bvfqyr8lrk9";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ndms2_client" ];
+
+  meta = with lib; {
+    description = "Keenetic NDMS 2.x and 3.x client";
+    homepage = "https://github.com/foxel/python_ndms2_client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pybotvac/default.nix b/pkgs/development/python-modules/pybotvac/default.nix
index ca093ba8e8b..f115b2b5c6a 100644
--- a/pkgs/development/python-modules/pybotvac/default.nix
+++ b/pkgs/development/python-modules/pybotvac/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.20";
+  version = "0.0.21";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1NnTSO4vO3Ryt4vYD5ZTQGr241GqA2KsGRBVowSTCzM=";
+    sha256 = "1hf692w44dmalv7hlcpwzbnr6xhvnmdv5nl1jcy2jhiwp89lkhzv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyscf/default.nix b/pkgs/development/python-modules/pyscf/default.nix
new file mode 100644
index 00000000000..0af38e3f8be
--- /dev/null
+++ b/pkgs/development/python-modules/pyscf/default.nix
@@ -0,0 +1,41 @@
+{ buildPythonPackage, lib, fetchFromGitHub, libcint, libxc, xcfun, blas
+, numpy, scipy, h5py
+}:
+
+buildPythonPackage rec {
+  pname = "pyscf";
+  version = "1.7.6.post1";
+
+  src = fetchFromGitHub {
+    owner = "pyscf";
+    repo = pname;
+    rev = "f6c9c6654dd9609c5e467a1edd5c2c076f793acc";
+    sha256  = "0xbwkjxxysfpqz72qn6n4a0zr2h6sprbcal8j7kzymh7swjy117w";
+  };
+
+  buildInputs = [
+    libcint
+    libxc
+    xcfun
+    blas
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    h5py
+  ];
+
+  PYSCF_INC_DIR="${libcint}:${libxc}:${xcfun}";
+
+  doCheck = false;
+  pythonImportsCheck = [ "pyscf" ];
+
+  meta = with lib; {
+    description = "Python-based simulations of chemistry framework";
+    homepage = "https://github.com/pyscf/pyscf";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/development/python-modules/rflink/default.nix b/pkgs/development/python-modules/rflink/default.nix
new file mode 100644
index 00000000000..781363334e1
--- /dev/null
+++ b/pkgs/development/python-modules/rflink/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, async-timeout
+, docopt
+, pyserial
+, pyserial-asyncio
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rflink";
+  version = "0.0.58";
+
+  src = fetchFromGitHub {
+    owner = "aequitas";
+    repo = "python-rflink";
+    rev = version;
+    sha256 = "1zab55lsw419gg0jfrl69ap6128vbi3wdmg5z7qin65ijpjdhasc";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "version=version_from_git()" "version='${version}'"
+  '';
+
+  propagatedBuildInputs = [
+    async-timeout
+    docopt
+    pyserial
+    pyserial-asyncio
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "rflink.protocol" ];
+
+  meta = with lib; {
+    description = "Library and CLI tools for interacting with RFlink 433MHz transceiver";
+    homepage = "https://github.com/aequitas/python-rflink";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/tools/hobbes/default.nix b/pkgs/development/tools/hobbes/default.nix
index f4741a390ed..1dd28af3bf4 100644
--- a/pkgs/development/tools/hobbes/default.nix
+++ b/pkgs/development/tools/hobbes/default.nix
@@ -1,29 +1,35 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvm_6, ncurses, readline, zlib, libxml2 }:
+{ lib, stdenv, fetchFromGitHub, cmake, llvm_12, ncurses, readline, zlib, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "hobbes";
-  version = "unstable-2020-05-19";
+  pname = "hobbes";
+  version = "unstable-2021-04-28";
 
   src = fetchFromGitHub {
     owner = "morgan-stanley";
     repo = "hobbes";
-    rev = "3d80a46b44a362a97a6b963a2bf788fd1f67ade1";
-    sha256 = "03m915g3283z2nfdr03dj5k76wn917knfqxb0xj3qinbl4cka2p1";
+    rev = "737c7ca63516f6b3dca0e659c3de75d4325472d6";
+    sha256 = "0fjsmz1sbrp6464mrb9ha7p615w2l2pdldsc2ayvcrvxfyi1r4gj";
   };
 
+  # TODO: re-enable Python tests once they work on Python 3
+  # currently failing with "I don't know how to decode the primitive type: b'bool'"
+  postPatch = ''
+    rm test/Python.C
+  '';
+
   nativeBuildInputs = [
     cmake
   ];
 
   buildInputs = [
-    llvm_6 # LLVM 6 is latest currently supported. See https://git.io/JvK6w.
+    llvm_12
     ncurses
     readline
     zlib
     libxml2
   ];
 
-  doCheck = false; # Running tests in NixOS hangs. See https://git.io/JvK7R.
+  doCheck = true;
   checkTarget = "test";
 
   meta = with lib; {
@@ -32,7 +38,7 @@ stdenv.mkDerivation {
       Hobbes is a a language, embedded compiler, and runtime for efficient
       dynamic expression evaluation, data storage and analysis.
     '';
-    homepage = "https://github.com/Morgan-Stanley/hobbes";
+    homepage = "https://github.com/morganstanley/hobbes";
     license = licenses.asl20;
     maintainers = with maintainers; [ kthielen thmzlt ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index a44b5ed8c76..3db895f4de0 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -8,7 +8,7 @@
 , python3
 , wrapGAppsHook
 , gnome
-, libwnck3
+, libwnck
 , gobject-introspection
 , gettext
 , itstool
@@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
     glib
     gnome.adwaita-icon-theme
     gtk3
-    libwnck3
+    libwnck
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/sourcetrail/default.nix b/pkgs/development/tools/sourcetrail/default.nix
index 7b06e720caa..6ba4eecac48 100644
--- a/pkgs/development/tools/sourcetrail/default.nix
+++ b/pkgs/development/tools/sourcetrail/default.nix
@@ -120,7 +120,7 @@ in stdenv.mkDerivation rec {
 
     # Sourcetrail attempts to copy clang headers from the LLVM store path
     substituteInPlace CMakeLists.txt \
-      --replace "\''${LLVM_BINARY_DIR}" '${llvmPackages.clang-unwrapped}'
+      --replace "\''${LLVM_BINARY_DIR}" '${lib.getLib llvmPackages.clang-unwrapped}'
 
     patchShebangs script
     ln -sf ${installJavaIndexer} script/update_java_indexer.sh