about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/doc/manual/release-notes/rl-2003.xml5
-rw-r--r--nixos/tests/all-tests.nix3
-rw-r--r--nixos/tests/openstack-image.nix6
-rw-r--r--pkgs/applications/misc/lyx/default.nix13
-rw-r--r--pkgs/applications/misc/xca/default.nix4
-rw-r--r--pkgs/applications/office/ktimetracker/default.nix32
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix8
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix6
-rw-r--r--pkgs/development/python-modules/deepdiff/default.nix44
-rw-r--r--pkgs/development/python-modules/tablib/default.nix35
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix38
-rw-r--r--pkgs/games/dwarf-fortress/themes/themes.json89
-rwxr-xr-xpkgs/games/dwarf-fortress/themes/update.sh8
-rw-r--r--pkgs/servers/home-assistant/appdaemon.nix27
-rw-r--r--pkgs/tools/security/qesteidutil/default.nix32
-rw-r--r--pkgs/tools/text/opencc/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix5
-rw-r--r--pkgs/top-level/python-packages.nix2
18 files changed, 204 insertions, 159 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index a6e78761cd63..3d75ceac8010 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -584,6 +584,11 @@ auth required pam_succeed_if.so uid >= 1000 quiet
      <xref linkend="opt-services.dnscrypt-proxy2.enable"/> to use the supported version.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     <literal>qesteidutil</literal> has been deprecated in favor of <literal>qdigidoc</literal>.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index e9440a4ebb71..17f36265c51a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -213,8 +213,7 @@ in
   openldap = handleTest ./openldap.nix {};
   opensmtpd = handleTest ./opensmtpd.nix {};
   openssh = handleTest ./openssh.nix {};
-  # openstack-image-userdata doesn't work in a sandbox as the simulated openstack instance needs network access
-  #openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
+  openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
   openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
   orangefs = handleTest ./orangefs.nix {};
   os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
diff --git a/nixos/tests/openstack-image.nix b/nixos/tests/openstack-image.nix
index 8a21dd1b599e..97c9137fe1d6 100644
--- a/nixos/tests/openstack-image.nix
+++ b/nixos/tests/openstack-image.nix
@@ -16,6 +16,12 @@ let
         ../maintainers/scripts/openstack/openstack-image.nix
         ../modules/testing/test-instrumentation.nix
         ../modules/profiles/qemu-guest.nix
+        {
+          # Needed by nixos-rebuild due to lack of network access.
+          system.extraDependencies = with pkgs; [
+            stdenv
+          ];
+        }
       ];
     }).config.system.build.openstackImage + "/nixos.qcow2";
 
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index f7964e4e5c6d..675f0adfc7f8 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, lib, mkDerivation, pkgconfig, python, file, bc, fetchpatch
+{ fetchurl, lib, mkDerivation, pkgconfig, python, file, bc
 , qtbase, qtsvg, hunspell, makeWrapper #, mythes, boost
 }:
 
 mkDerivation rec {
-  version = "2.3.0";
+  version = "2.3.4";
   pname = "lyx";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz";
-    sha256 = "0axri2h8xkna4mkfchfyyysbjl7s486vx80p5hzj9zgsvdm5a3ri";
+    sha256 = "0qgvc19flnf6ny3ffyj8civwaxrnwcdlw2v708hg49cbmg6f8igh";
   };
 
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
@@ -34,13 +34,6 @@ mkDerivation rec {
     " --prefix PATH : ${python}/bin"
   ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-office/lyx/files/lyx-2.3.0-qt-5.11.patch?id=07e82fd1fc07bf055c78b81eaa128f8f837da80d";
-      sha256 = "1bnx0il2iv36lnrnyb370wyvww0rd8bphcy6z8d7zmvd3pwhyfql";
-    })
-  ];
-
   meta = with lib; {
     description = "WYSIWYM frontend for LaTeX, DocBook";
     homepage = http://www.lyx.org;
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 8c5a2e3d2db9..8946e83c94a2 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "xca";
-  version = "2.1.2";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner  = "chris2511";
     repo   = "xca";
     rev    = "RELEASE.${version}";
-    sha256 = "0slfqmz0b01lwmrv4h78hmrsdrhcyc7sjzsxcw05ylgmhvdq3dw9";
+    sha256 = "0na2816lkfkkvssh9kmf5vwy6x8kd4x7h138jzy61wrvs69vhnbi";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/office/ktimetracker/default.nix b/pkgs/applications/office/ktimetracker/default.nix
new file mode 100644
index 000000000000..8a40a3f4f69d
--- /dev/null
+++ b/pkgs/applications/office/ktimetracker/default.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, lib, fetchurl, cmake, pkgconfig, extra-cmake-modules,
+kconfig, kconfigwidgets, kdbusaddons, kdoctools, ki18n, kidletime,
+kjobwidgets, kio, knotifications, kwindowsystem, kxmlgui, ktextwidgets,
+kcalendarcore
+}:
+
+mkDerivation rec {
+  pname = "ktimetracker";
+  version = "5.0.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
+    sha256 = "0jp63fby052rapjjaz413b1wjz4qsgpxh82y2d75jzimch0n5s02";
+  };
+
+  nativeBuildInputs = [
+    cmake pkgconfig extra-cmake-modules
+  ];
+
+  buildInputs = [
+		kconfig kconfigwidgets kdbusaddons kdoctools ki18n kidletime kjobwidgets
+kio knotifications kwindowsystem kxmlgui ktextwidgets
+    kcalendarcore
+  ];
+
+  meta = with lib; {
+    description = "Todo management and time tracking application";
+    license = licenses.gpl2;
+    homepage = "https://userbase.kde.org/KTimeTracker";
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index bbf1efcf5238..092af49a9f8b 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -16,7 +16,6 @@
 , pluginSupport ? true
 , installjce ? false
 , config
-, licenseAccepted ? config.oraclejdk.accept_license or false
 , glib
 , libxml2
 , libav_0_8
@@ -36,13 +35,6 @@
 
 assert swingSupport -> xorg != null;
 
-if !licenseAccepted then throw ''
-    You must accept the Oracle Binary Code License Agreement for Java SE at
-    https://www.oracle.com/technetwork/java/javase/terms/license/index.html
-    by setting nixpkgs config option 'oraclejdk.accept_license = true;'
-  ''
-else assert licenseAccepted;
-
 let
 
   /**
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index 2733ad2b0fba..674d9ec64120 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-mlgmpidl-${version}";
-  version = "1.2.11";
+  version = "1.2.12";
   src = fetchFromGitHub {
     owner = "nberth";
     repo = "mlgmpidl";
     rev = version;
-    sha256 = "1rycl84sdvgb5avdsya9iz8brx92y2zcb6cn4w1j0164j6q2ril9";
+    sha256 = "17xqiclaqs4hmnb92p9z6z9a1xfr31vcn8nlnj8ykk57by31vfza";
   };
 
   buildInputs = [ perl gmp mpfr ocaml findlib camlidl ];
@@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
   postConfigure = ''
     sed -i Makefile \
       -e 's|^	/bin/rm |	rm |'
+    mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
   '';
 
-  createFindlibDestdir = true;
 
   meta = {
     description = "OCaml interface to the GMP library";
diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix
new file mode 100644
index 000000000000..64d82e17466e
--- /dev/null
+++ b/pkgs/development/python-modules/deepdiff/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mock
+, jsonpickle
+, ordered-set
+, numpy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "deepdiff";
+  version = "4.0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5e2343398e90538edaa59c0c99207e996a3a834fdc878c666376f632a760c35a";
+  };
+
+  # # Extra packages (may not be necessary)
+  checkInputs = [
+    mock
+    numpy
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # skipped tests require murmur module
+    "test_prep_str_murmur3_64bit"
+    "test_prep_str_murmur3_128bit"
+  ];
+
+  propagatedBuildInputs = [
+    jsonpickle
+    ordered-set
+  ];
+
+  meta = with lib; {
+    description = "Deep Difference and Search of any Python object/data";
+    homepage = "https://github.com/seperman/deepdiff";
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/development/python-modules/tablib/default.nix b/pkgs/development/python-modules/tablib/default.nix
index 9f1bf2390b6a..4cf2200eda72 100644
--- a/pkgs/development/python-modules/tablib/default.nix
+++ b/pkgs/development/python-modules/tablib/default.nix
@@ -1,29 +1,36 @@
-{ buildPythonPackage, stdenv, fetchPypi, pytest, unicodecsv, pandas
-, xlwt, openpyxl, pyyaml, xlrd, odfpy, fetchpatch
+{ buildPythonPackage, lib, fetchPypi, isPy27
+, odfpy
+, openpyxl
+, pandas
+, pytest
+, pytestcov
+, pyyaml
+, unicodecsv
+, xlrd
+, xlwt
 }:
 
 buildPythonPackage rec {
   pname = "tablib";
-  version = "0.12.1";
+  version = "1.0.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11wxchj0qz77dn79yiq30k4b4gsm429f4bizk4lm4rb63nk51kxq";
+    sha256 = "0ddvcgycv5m7q4rn5bch9qnhxjgn7192z537b1wzpmwd5s074cgz";
   };
 
-  checkInputs = [ pytest unicodecsv pandas ];
   propagatedBuildInputs = [ xlwt openpyxl pyyaml xlrd odfpy ];
+  checkInputs = [ pytest pytestcov unicodecsv pandas ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/kennethreitz/tablib/commit/0e51a2d0944022af186d2dcd34c0ab3c47141ba5.patch";
-      sha256 = "0lbbl871zdn5vpgqyjkil0c2ap3b5hz19rmihhyvrx7m4mlh1aij";
-    })
-  ];
+  # test_tablib needs MarkupPy, which isn't packaged yet
+  checkPhase = ''
+    pytest --ignore tests/test_tablib.py
+  '';
 
-  meta = with stdenv.lib; {
-    description = "Tablib: format-agnostic tabular dataset library";
-    homepage = http://python-tablib.org;
+  meta = with lib; {
+    description = "Format-agnostic tabular dataset library";
+    homepage = "https://python-tablib.org";
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 637519bcf3fb..e3ad2a5bcbc9 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -6,27 +6,15 @@ assert mysqlSupport -> mysql_jdbc != null;
 with stdenv.lib;
 let
   extraJars = optional mysqlSupport mysql_jdbc;
-  logback-core = fetchurl {
-    url = "http://central.maven.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar";
-    sha256 = "5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22";
-  };
-  logback-classic = fetchurl {
-    url = "http://central.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar";
-    sha256 = "fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0";
-  };
-  slf4j = fetchurl {
-    url = "http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar";
-    sha256 = "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79";
-  };
 in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "3.6.2";
+  version = "3.8.5";
 
   src = fetchurl {
-    url = "https://github.com/liquibase/liquibase/releases/download/${pname}-parent-${version}/${pname}-${version}-bin.tar.gz";
-    sha256 = "199ybjk0xxsg04v5x5l4arljmzj96hxva6ym6bp7av7dny0nqvfx";
+    url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "0wvz188i1214b904xrhvba90hyfrlc4za3aibbdqfm86wm3qzh6s";
   };
 
   buildInputs = [ jre makeWrapper ];
@@ -42,22 +30,17 @@ stdenv.mkDerivation rec {
       done
     '';
     in ''
-      mkdir -p $out/{bin,lib,sdk}
-      mv ./* $out/
-      cp ${logback-core} ${logback-classic} ${slf4j} $out/lib
+      mkdir -p $out
+      mv ./{lib,licenses,liquibase.jar} $out/
 
-      # Clean up documentation.
       mkdir -p $out/share/doc/${pname}-${version}
-      mv $out/LICENSE.txt \
-         $out/README.txt \
+      mv LICENSE.txt \
+         README.txt \
+         ABOUT.txt \
+         changelog.txt \
          $out/share/doc/${pname}-${version}
 
-      # Remove silly files.
-      rm $out/liquibase.bat $out/liquibase.spec
-
-      # we provide our own script
-      rm $out/liquibase
-
+      mkdir -p $out/bin
       # there’s a lot of escaping, but I’m not sure how to improve that
       cat > $out/bin/liquibase <<EOF
       #!/usr/bin/env bash
@@ -75,6 +58,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Version Control for your database";
     homepage = http://www.liquibase.org/;
+    changelog = "https://raw.githubusercontent.com/liquibase/liquibase/v${version}/changelog.txt";
     license = licenses.asl20;
     maintainers = with maintainers; [ nequissimus ];
     platforms = with platforms; unix;
diff --git a/pkgs/games/dwarf-fortress/themes/themes.json b/pkgs/games/dwarf-fortress/themes/themes.json
index f2cc4ed3ac7d..174c203c2abf 100644
--- a/pkgs/games/dwarf-fortress/themes/themes.json
+++ b/pkgs/games/dwarf-fortress/themes/themes.json
@@ -1,72 +1,77 @@
 [
   {
-      "name": "taffer",
-      "version": "44.10a",
-      "sha256": "0gp8hmv55bp34db0caksdpd3kn2glh7sz03gyxknzdymh1cpy0qv"
+    "name": "afro-graphics",
+    "version": "44.11a",
+    "sha256": "0hxh1qbwj6m780m522cfwjx0qkmiz3328xqwf13vkhlvgbz3azrk"
   },
   {
-      "name": "spacefox",
-      "version": "44.10a",
-      "sha256": "0ngipq1aha8cd34k4hkrfbi238gp36qpymr2f87d3nwbj2vi9hmh"
+    "name": "autoreiv",
+    "version": "44.03",
+    "sha256": "03w9dp42718p5gnswynw3p9wz85y61gkzz60jf71arw1zhf23wm0"
   },
   {
-      "name": "gemset",
-      "version": "44.10a",
-      "sha256": "14q69dyqzhxsfv1a4vh17fx7r7mylfimmjrydz6ygdypblgc9zm6"
+    "name": "cla",
+    "version": "0.47.xx-v26",
+    "sha256": "04i17rl3gwpfnylvd554nsdi246yb3ih7wdmxmjy9177l14cp0kk"
   },
   {
-      "name": "wanderlust",
-      "version": "44.10",
-      "sha256": "016acv0ab2wj4rn9slhbf626977zas6q4372f7avaf99ihcmwi85"
+    "name": "dfgraphics",
+    "version": "42.05",
+    "sha256": "18xyqn458hh8l2qgbvrvz17nbp6yk91d7rqlxlp1g5wr9qfq28rp"
   },
   {
-      "name": "rally-ho",
-      "version": "44.10",
-      "sha256": "1pij5llnc8hfsqgyrwj1ak123wxhhk7yhlpnj033gwbpp0lnqz2x"
+    "name": "gemset",
+    "version": "44.10a",
+    "sha256": "14q69dyqzhxsfv1a4vh17fx7r7mylfimmjrydz6ygdypblgc9zm6"
   },
   {
-      "name": "phoebus",
-      "version": "44.10",
-      "sha256": "1fvl5251wzjns159snhw01p214k53vpdlyj7piv545r23q7wg2ji"
+    "name": "ironhand",
+    "version": "47.01",
+    "sha256": "0ndf5gy1c0f8h745gg2j9ljwarq4kqi28anvgxcaj73j9cv6jsgw"
   },
   {
-      "name": "obsidian",
-      "version": "44.10",
-      "sha256": "06lixlkprjd829zn10g5zljnxymsh81g31dj86hn2jvlch4dh98q"
+    "name": "jolly-bastion",
+    "version": "44.11",
+    "sha256": "0nziz6c94c9l28m8pp14fzbbnh7if1dnzrfl160ckv7arqpjv5r9"
   },
   {
-      "name": "mayday",
-      "version": "44.10",
-      "sha256": "1g15ha0w93iyj5ni2pavhwrsckhnw80xvwrvw4dbp5zx1y41f3x9"
+    "name": "mayday",
+    "version": "47.01",
+    "sha256": "02fby7y4zzq8qgq2wsdvzp1k6zgfhdkm768zp0zzj9byi6gmnaq6"
   },
   {
-      "name": "jolly-bastion",
-      "version": "44.10",
-      "sha256": "038qvr08776rinlqa6zwb8qqxyrc75nnyyqjsasr2rf9d2f9yf8j"
+    "name": "obsidian",
+    "version": "44.11",
+    "sha256": "12ij21c47gfws5brxwxhjpcr82q4ghxd1h4k6b0n2zs35071rfrp"
   },
   {
-      "name": "ironhand",
-      "version": "44.10",
-      "sha256": "14hngixd4gkw0lzqzlkj9ljmrxr8b3wgjk67n6zysgyi3f38f5j2"
+    "name": "phoebus",
+    "version": "47.01",
+    "sha256": "1rf47p6a4f6scpzlmy9q3v1pakdjs06f9aingajpaia44lmjdfn6"
   },
   {
-      "name": "afro-graphics",
-      "version": "44.10",
-      "sha256": "050mrpy9q6g9y4133al7rdsj6c9hy2wva7jqmc56babvmmcpcc2j"
+    "name": "rally-ho",
+    "version": "44.11",
+    "sha256": "0v8aixvhhjlfxycbnldk35s757299a8mlgx4ba5qgnl8y2gg7f35"
   },
   {
-      "name": "cla",
-      "version": "44.xx-v25",
-      "sha256": "1h8nwa939qzqklbi8vwsq9p2brvv7sc0pbzzrdjnb221lr9p58zk"
+    "name": "spacefox",
+    "version": "47.01",
+    "sha256": "1zbn5z8a40if1yr8kq9v5gnydygqx26jw22jfqqf3hrqfqn4mcb8"
   },
   {
-      "name": "tergel",
-      "version": "44.03",
-      "sha256": "1kgk0cav5b6v7mca36gm84b2p556ibd8yy4rwbfc4i6i3hlsdw07"
+    "name": "taffer",
+    "version": "44.10a",
+    "sha256": "0gp8hmv55bp34db0caksdpd3kn2glh7sz03gyxknzdymh1cpy0qv"
   },
   {
-      "name": "autoreiv",
-      "version": "44.03",
-      "sha256": "03w9dp42718p5gnswynw3p9wz85y61gkzz60jf71arw1zhf23wm0"
+    "name": "tergel",
+    "version": "44.03",
+    "sha256": "1kgk0cav5b6v7mca36gm84b2p556ibd8yy4rwbfc4i6i3hlsdw07"
+  },
+  {
+    "name": "wanderlust",
+    "version": "44.10",
+    "sha256": "016acv0ab2wj4rn9slhbf626977zas6q4372f7avaf99ihcmwi85"
   }
 ]
diff --git a/pkgs/games/dwarf-fortress/themes/update.sh b/pkgs/games/dwarf-fortress/themes/update.sh
new file mode 100755
index 000000000000..1b652bf49943
--- /dev/null
+++ b/pkgs/games/dwarf-fortress/themes/update.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p jq nix coreutils curl nix-prefetch-git
+
+curl "https://api.github.com/users/dfgraphics/repos" | jq -r '.[].name | ascii_downcase' | while read repo; do
+    version="$(curl "https://api.github.com/repos/DFgraphics/${repo}/releases/latest" | jq -r .tag_name)"
+    sha256="$(nix-prefetch-git "https://github.com/DFgraphics/${repo}" "${version}" | jq -r ".sha256")"
+    echo "{}" | jq ".name=\"${repo}\" | .version=\"${version}\" | .sha256=\"${sha256}\""
+done | jq -s . > themes.json
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix
index 47d9e88999af..258e46db1990 100644
--- a/pkgs/servers/home-assistant/appdaemon.nix
+++ b/pkgs/servers/home-assistant/appdaemon.nix
@@ -1,18 +1,14 @@
-{ lib, python3 }:
+{ lib, python3, fetchFromGitHub }:
 
 let
   python = python3.override {
     packageOverrides = self: super: {
-
-      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
-        version = "2.3.10";
+      bcrypt = super.bcrypt.overridePythonAttrs (oldAttrs: rec {
+        version = "3.1.4";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "8adda6583ba438a4c70693374e10b60168663ffa6564c5c75d3c7a9055290964";
+          sha256 = "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7";
         };
-        # TODO: remove after pinning aiohttp to a newer version
-        propagatedBuildInputs = with self; [ chardet multidict async-timeout yarl idna-ssl ];
-        doCheck = false;
       });
 
       yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
@@ -43,23 +39,26 @@ let
 
 in python.pkgs.buildPythonApplication rec {
   pname = "appdaemon";
-  version = "3.0.5";
+  version = "4.0.1";
 
-  src = python.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "623897ce08dc2efe24d04380df36e4b7fb35c0e4007e882857d4047f0b60349d";
+  src = fetchFromGitHub {
+    owner = "home-assistant";
+    repo = "appdaemon";
+    rev = version;
+    sha256 = "13qzjv11b0c7s1c66j70qmc222a78805n10lv2svj9yyk1v4xhjv";
   };
 
   propagatedBuildInputs = with python.pkgs; [
-    daemonize astral requests sseclient websocket_client aiohttp yarl jinja2
+    daemonize astral requests websocket_client aiohttp yarl jinja2
     aiohttp-jinja2 pyyaml voluptuous feedparser iso8601 bcrypt paho-mqtt setuptools
+    deepdiff dateutil bcrypt python-socketio pid
   ];
 
   # no tests implemented
   doCheck = false;
 
   postPatch = ''
-    substituteInPlace setup.py --replace "pyyaml==5.1" "pyyaml"
+    substituteInPlace requirements.txt --replace "pyyaml==5.1" "pyyaml"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/qesteidutil/default.nix b/pkgs/tools/security/qesteidutil/default.nix
deleted file mode 100644
index fac855f232a6..000000000000
--- a/pkgs/tools/security/qesteidutil/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchFromGitHub
-, cmake, ccid, qttools, qttranslations
-, pkgconfig, pcsclite, hicolor-icon-theme 
-}:
-
-stdenv.mkDerivation {
-  version = "2018-08-21";
-  pname = "qesteidutil";
-
-  src = fetchFromGitHub {
-    owner = "open-eid";
-    repo = "qesteidutil";
-    # TODO: Switch back to this after next release.
-    #rev = "v${version}";
-    rev = "3bb65ef345aaa0d589b37a5d0d6f5772e95b0cd7";
-    sha256 = "13xsw5gh4svp9a5nxcqv72mymivr7w1cyjbv2l6yf96m45bsd9x4";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake ccid qttools pcsclite qttranslations
-                  hicolor-icon-theme
-                ];
-  
-  meta = with stdenv.lib; {
-    description = "UI application for managing smart card PIN/PUK codes and certificates";
-    homepage = http://www.id.ee/;
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jagajaga domenkozar ];
-  };
-}
diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix
index 01b16908fb7c..8b6ada09ebe7 100644
--- a/pkgs/tools/text/opencc/default.nix
+++ b/pkgs/tools/text/opencc/default.nix
@@ -9,10 +9,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ cmake python ];
 
-  makeFlags = [
+  preBuild = ''
     # let intermediate tools find intermediate library
-    "LD_LIBRARY_PATH=$LD_LIBRARY_PATH\${LD_LIBRARY_PATH:+:}$(CURDIR)/src"
-  ];
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$(pwd)/src
+  '';
 
   # Parallel building occasionaly fails with: Error copying file "/tmp/nix-build-opencc-1.0.5.drv-0/OpenCC-ver.1.0.5/build/src/libopencc.so.1.0.0" to "/tmp/nix-build-opencc-1.0.5.drv-0/OpenCC-ver.1.0.5/build/src/tools".
   enableParallelBuilding = false;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7b71a755bb20..c0c475483078 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5984,7 +5984,6 @@ in
 
   qastools = libsForQt5.callPackage ../tools/audio/qastools { };
 
-  qesteidutil = libsForQt5.callPackage ../tools/security/qesteidutil { } ;
   qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
 
   qgrep = callPackage ../tools/text/qgrep {
@@ -15680,7 +15679,7 @@ in
   prometheus-wireguard-exporter = callPackage ../servers/monitoring/prometheus/wireguard-exporter.nix {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
-  prometheus-xmpp-alerts = callPackages ../servers/monitoring/prometheus/xmpp-alerts.nix {
+  prometheus-xmpp-alerts = callPackage ../servers/monitoring/prometheus/xmpp-alerts.nix {
     pythonPackages = python3Packages;
   };
 
@@ -19917,6 +19916,8 @@ in
 
   ksuperkey = callPackage ../tools/X11/ksuperkey { };
 
+  ktimetracker = libsForQt5.callPackage ../applications/office/ktimetracker { };
+
   ktorrent = libsForQt5.callPackage ../applications/networking/p2p/ktorrent { };
 
   kubecfg = callPackage ../applications/networking/cluster/kubecfg { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 148990650dd2..f400f59eadd7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -500,6 +500,8 @@ in {
 
   braintree = callPackage ../development/python-modules/braintree { };
 
+  deepdiff = callPackage ../development/python-modules/deepdiff { };
+
   django-sesame = callPackage ../development/python-modules/django-sesame { };
 
   breathe = callPackage ../development/python-modules/breathe { };