summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml35
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md6
-rw-r--r--pkgs/applications/misc/kratos/default.nix6
-rw-r--r--pkgs/build-support/build-graalvm-native-image/default.nix52
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-code/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/gala/default.nix27
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-incorrect-month.patch26
-rw-r--r--pkgs/development/coq-modules/coq-record-update/default.nix16
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix52
-rw-r--r--pkgs/development/python-modules/asyncmy/default.nix42
-rw-r--r--pkgs/development/python-modules/rflink/default.nix25
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix18
-rw-r--r--pkgs/development/python-modules/surepy/default.nix9
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix35
-rw-r--r--pkgs/development/tools/jet/default.nix50
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix49
-rw-r--r--pkgs/development/tools/protoc-gen-go-vtproto/default.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-flash/default.nix7
-rw-r--r--pkgs/development/tools/zprint/default.nix41
-rw-r--r--pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix3
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/python-packages.nix2
26 files changed, 308 insertions, 246 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 2de5a789485..5e78a3f8d4b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5010,6 +5010,12 @@
     githubId = 4085046;
     name = "Imuli";
   };
+  ineol = {
+    email = "leo.stefanesco@gmail.com";
+    github = "ineol";
+    githubId = 37965;
+    name = "Léo Stefanesco";
+  };
   infinisil = {
     email = "contact@infinisil.com";
     matrix = "@infinisil:matrix.org";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index f1d803136aa..f0e39471ece 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -172,6 +172,41 @@
           </listitem>
         </itemizedlist>
       </listitem>
+      <listitem>
+        <para>
+          ORY Kratos was updated to version 0.8.0-alpha.3
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              This release requires you to run SQL migrations. Please,
+              as always, create a backup of your database first!
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The SDKs are now generated with tag v0alpha2 to reflect
+              that some signatures have changed in a breaking fashion.
+              Please update your imports from v0alpha1 to v0alpha2.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The SMTPS scheme used in courier config URL with
+              cleartext/StartTLS/TLS SMTP connection types is now only
+              supporting implicit TLS. For StartTLS and cleartext SMTP,
+              please use the SMTP scheme instead.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              for more details, see
+              <link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.0-alpha.1">Release
+              Notes</link>.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-new-services">
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 275ee7142d0..3bdda82c026 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -50,6 +50,12 @@ In addition to numerous new and upgraded packages, this release has the followin
   - This breaks connections to old SSH daemons as ssh-rsa host keys and ssh-rsa public keys that were signed with SHA-1 are disabled by default now
   - These can be re-enabled, see the [OpenSSH changelog](https://www.openssh.com/txt/release-8.8) for details
 
+- ORY Kratos was updated to version 0.8.0-alpha.3
+  - This release requires you to run SQL migrations. Please, as always, create a backup of your database first!
+  - The SDKs are now generated with tag v0alpha2 to reflect that some signatures have changed in a breaking fashion. Please update your imports from v0alpha1 to v0alpha2.
+  - The SMTPS scheme used in courier config URL with cleartext/StartTLS/TLS SMTP connection types is now only supporting implicit TLS. For StartTLS and cleartext SMTP, please use the SMTP scheme instead.
+  - for more details, see [Release Notes](https://github.com/ory/kratos/releases/tag/v0.8.0-alpha.1).
+
 ## New Services {#sec-release-21.11-new-services}
 
 - [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
diff --git a/pkgs/applications/misc/kratos/default.nix b/pkgs/applications/misc/kratos/default.nix
index a616378e989..a0b67042eca 100644
--- a/pkgs/applications/misc/kratos/default.nix
+++ b/pkgs/applications/misc/kratos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kratos";
-  version = "0.7.6-alpha.1";
+  version = "0.8.0-alpha.3";
 
   src = fetchFromGitHub {
     owner = "ory";
     repo = "kratos";
     rev = "v${version}";
-    sha256 = "1412jckfsm0d5gn7fhjpj212xbsf43sfpd8hgcz3pxc0q37dzfgh";
+    sha256 = "0ihq2kxjackicxg0hrpmx6bsgz056xbaq3j8py37z2w6mwszarcg";
   };
 
-  vendorSha256 = "1gcdahs8x26kpwlng3wijqi12yjwj19v413wyyviim4vn1r4c0m7";
+  vendorSha256 = "175pckj30cm5xkbvsdvwzarvwapsylyjgj4ss8v5r1sa0fjpj008";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix
new file mode 100644
index 00000000000..0ed8ea0486b
--- /dev/null
+++ b/pkgs/build-support/build-graalvm-native-image/default.nix
@@ -0,0 +1,52 @@
+{ lib, stdenv, graalvmCEPackages, glibcLocales }:
+
+{ name ? "${args.pname}-${args.version}"
+  # Final executable name
+, executable ? args.pname
+  # JAR used as input for GraalVM derivation, defaults to src
+, jar ? args.src
+, dontUnpack ? (jar == args.src)
+  # Default native-image arguments. You probably don't want to set this,
+  # except in special cases. In most cases, use extraNativeBuildArgs instead
+, nativeImageBuildArgs ? [
+    "-jar" jar
+    "-H:CLibraryPath=${lib.getLib graalvm}/lib"
+    (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain")
+    "-H:Name=${executable}"
+    "--verbose"
+  ]
+  # Extra arguments to be passed to the native-image
+, extraNativeImageBuildArgs ? [ ]
+  # XMX size of GraalVM during build
+, graalvmXmx ? "-J-Xmx6g"
+  # The GraalVM to use
+, graalvm ? graalvmCEPackages.graalvm11-ce
+, ...
+} @ args:
+
+stdenv.mkDerivation (args // {
+  inherit dontUnpack;
+
+  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvm glibcLocales ];
+
+  nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ];
+
+  buildPhase = args.buildPhase or ''
+    runHook preBuild
+
+    native-image ''${nativeImageBuildArgs[@]}
+
+    runHook postBuild
+  '';
+
+  installPhase = args.installPhase or ''
+    runHook preInstall
+
+    install -Dm755 ${executable} -t $out/bin
+
+    runHook postInstall
+  '';
+
+  meta.platforms = lib.attrByPath [ "meta" "platforms" ] graalvm.meta.platforms args;
+  meta.mainProgram = lib.attrByPath [ "meta" "mainProgram" ] executable args;
+})
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 018e8cb775c..f35fec27529 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-code";
-  version = "6.0.1";
+  version = "6.1.0";
 
   repoName = "code";
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "120328pprzqj4587yj54yya9v2mv1rfwylpmxyr5l2qf80cjxi9d";
+    sha256 = "sha256-AXmMcPj2hf33G5v3TUg+eZwaKOdVlRvoVXglMJFHRjw=";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
index 208ea7cd8bd..7dc6d79fee1 100644
--- a/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -16,14 +16,11 @@
 , granite
 , libgee
 , bamf
-, libcanberra
 , libcanberra-gtk3
 , gnome-desktop
 , mutter
 , clutter
-, elementary-dock
 , elementary-icon-theme
-, elementary-settings-daemon
 , gnome-settings-daemon
 , wrapGAppsHook
 , gexiv2
@@ -31,23 +28,22 @@
 
 stdenv.mkDerivation rec {
   pname = "gala";
-  version = "6.2.1";
+  version = "6.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1phnhj731kvk8ykmm33ypcxk8fkfny9k6kdapl582qh4d47wcy6f";
+    sha256 = "sha256-f/WDm9/+lXgplg9tGpct4f+1cOhKgdypwiDRBhewRGw=";
   };
 
   patches = [
     ./plugins-dir.patch
-    # Multitasking view: Don't use smooth scroll events to handle mouse wheel
-    # Avoid breaking the multitasking view scroll once xf86-input-libinput 1.2.0 lands
-    # https://github.com/elementary/gala/pull/1266
+    # Session crashes when switching windows with Alt+Tab
+    # https://github.com/elementary/gala/issues/1312
     (fetchpatch {
-      url = "https://github.com/elementary/gala/commit/d2dcfdefdf97c1b49654179a7acd01ebfe017308.patch";
-      sha256 = "sha256-2lKrCz3fSjrfKfysuUHzeUjhmMm84K47n882CLpfAyg=";
+      url = "https://github.com/elementary/gala/commit/cc83db8fe398feae9f3e4caa8352b65f0c8c96d4.patch";
+      sha256 = "sha256-CPO3EHIzqHAV6ZLHngivCdsD8je8CK/NHznfxSEkhzc=";
     })
   ];
 
@@ -66,20 +62,23 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bamf
     clutter
-    elementary-dock
     elementary-icon-theme
-    elementary-settings-daemon
     gnome-settings-daemon
     gexiv2
     gnome-desktop
     granite
     gtk3
-    libcanberra
     libcanberra-gtk3
     libgee
     mutter
   ];
 
+  mesonFlags = [
+    # TODO: enable this and remove --builtin flag from session-settings
+    # https://github.com/NixOS/nixpkgs/pull/140429
+    "-Dsystemd=false"
+  ];
+
   postPatch = ''
     chmod +x build-aux/meson/post_install.py
     patchShebangs build-aux/meson/post_install.py
@@ -91,7 +90,7 @@ stdenv.mkDerivation rec {
     };
   };
 
-  meta =  with lib; {
+  meta = with lib; {
     description = "A window & compositing manager based on mutter and designed by elementary for use with Pantheon";
     homepage = "https://github.com/elementary/gala";
     license = licenses.gpl3Plus;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index c2a4ad64ce9..15c301eee15 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.9.1";
+  version = "2.10.1";
 
   repoName = "applications-menu";
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "sha256-Q0ee8S8wWhK0Y16SWfE79Us6QD/oRE5Pxm3o//eb/po=";
+    sha256 = "sha256-e9InWx5b2DAFK7m7z/oCW7Mw/ymBNz1Sc7vT65kkZ9o=";
   };
 
   patches = [
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 8226ed5b0b3..d9c2cdc9033 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , substituteAll
 , pantheon
@@ -40,7 +41,10 @@ stdenv.mkDerivation rec {
     })
     # Fix incorrect month shown on re-opening indicator if previously changed month
     # https://github.com/elementary/wingpanel-indicator-datetime/pull/284
-    ./fix-incorrect-month.patch
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/9b0bed98e09dfdad62f43a95d956d2f53d824e65.patch";
+      sha256 = "sha256-MQfz4Uzo59SmmfQNi58OA7CIHHkm2TODQz2fmmIall4=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-incorrect-month.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-incorrect-month.patch
deleted file mode 100644
index 7e0dc09b16c..00000000000
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-incorrect-month.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 401cb05d7181e69ae8edd347644f2518904e9acb Mon Sep 17 00:00:00 2001
-From: Jeremy Paul Wootten <jeremywootten@gmail.com>
-Date: Sat, 30 Oct 2021 17:44:12 +0100
-Subject: [PATCH] Reset position and relative position after rebuilding
- carousel
-
----
- src/Widgets/calendar/CalendarView.vala | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala
-index a41b37a4..f946b91c 100644
---- a/src/Widgets/calendar/CalendarView.vala
-+++ b/src/Widgets/calendar/CalendarView.vala
-@@ -216,7 +216,11 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid {
-             carousel.add (right_grid);
-             carousel.scroll_to (start_month_grid);
-             label.label = calmodel.month_start.format (_("%OB, %Y"));
-+
-+            position = 1;
-+            rel_postion = 0;
-         }
-+
-         carousel.no_show_all = false;
-     }
- 
diff --git a/pkgs/development/coq-modules/coq-record-update/default.nix b/pkgs/development/coq-modules/coq-record-update/default.nix
new file mode 100644
index 00000000000..7c9ee2dca64
--- /dev/null
+++ b/pkgs/development/coq-modules/coq-record-update/default.nix
@@ -0,0 +1,16 @@
+{ lib, mkCoqDerivation, coq, version ? null , paco, coq-ext-lib }:
+
+with lib; mkCoqDerivation rec {
+  pname = "coq-record-update";
+  owner = "tchajed";
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.10" "8.14";  out = "0.3.0"; }
+  ] null;
+  release."0.3.0".sha256 = "1ffr21dd6hy19gxnvcd4if2450iksvglvkd6q5713fajd72hmc0z";
+  releaseRev = v: "v${v}";
+  meta = {
+    description = "Library to create Coq record update functions";
+    maintainers = with maintainers; [ ineol ];
+  };
+}
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 85daec0d2ac..5e7731b6903 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, graalvm11-ce, glibcLocales, writeScript }:
+{ lib, buildGraalvmNativeImage, fetchurl, writeScript }:
 
-stdenv.mkDerivation rec {
+buildGraalvmNativeImage rec {
   pname = "babashka";
   version = "0.6.5";
 
@@ -9,48 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-72D/HzDIxkGD4zTPE9gHf/uFtboLbNnT7CTslSlAqjc=";
   };
 
-  dontUnpack = true;
+  executable = "bb";
 
-  nativeBuildInputs = [ graalvm11-ce glibcLocales ];
-
-  LC_ALL = "en_US.UTF-8";
-  BABASHKA_JAR = src;
-  BABASHKA_BINARY = "bb";
-  BABASHKA_XMX = "-J-Xmx4500m";
-
-  buildPhase = ''
-    runHook preBuild
-
-    # https://github.com/babashka/babashka/blob/v0.6.2/script/compile#L41-L52
-    args=("-jar" "$BABASHKA_JAR"
-          "-H:CLibraryPath=${graalvm11-ce.lib}/lib"
-          # Required to build babashka on darwin. Do not remove.
-          "${lib.optionalString stdenv.isDarwin "-H:-CheckToolchain"}"
-          "-H:Name=$BABASHKA_BINARY"
-          "-H:+ReportExceptionStackTraces"
-          # "-H:+PrintAnalysisCallTree"
-          # "-H:+DashboardAll"
-          # "-H:DashboardDump=reports/dump"
-          # "-H:+DashboardPretty"
-          # "-H:+DashboardJson"
-          "--verbose"
-          "--no-fallback"
-          "--native-image-info"
-          "$BABASHKA_XMX")
-
-     native-image ''${args[@]}
-
-     runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    cp bb $out/bin/bb
-
-    runHook postInstall
-  '';
+  extraNativeImageBuildArgs = [
+    "-H:+ReportExceptionStackTraces"
+    "--no-fallback"
+    "--native-image-info"
+  ];
 
   installCheckPhase = ''
     $out/bin/bb --version | grep '${version}'
@@ -102,7 +67,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/babashka/babashka";
     changelog = "https://github.com/babashka/babashka/blob/v${version}/CHANGELOG.md";
     license = licenses.epl10;
-    platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [
       bandresen
       bhougland
diff --git a/pkgs/development/python-modules/asyncmy/default.nix b/pkgs/development/python-modules/asyncmy/default.nix
new file mode 100644
index 00000000000..4d4eaaacaad
--- /dev/null
+++ b/pkgs/development/python-modules/asyncmy/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, cython
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "asyncmy";
+  version = "0.2.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "long2ice";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "ys9RYaosc4noJsWYsVo9+6W7JaG4r6lsz6UH4o08q4A=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    poetry-core
+  ];
+
+  # Not running tests as aiomysql is missing support for
+  # pymysql>=0.9.3
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "asyncmy"
+  ];
+
+  meta = with lib; {
+    description = "Python module to interact with MySQL/mariaDB";
+    homepage = "https://github.com/long2ice/asyncmy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rflink/default.nix b/pkgs/development/python-modules/rflink/default.nix
index 781363334e1..82374a8a042 100644
--- a/pkgs/development/python-modules/rflink/default.nix
+++ b/pkgs/development/python-modules/rflink/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , async-timeout
 , docopt
 , pyserial
@@ -12,6 +13,7 @@
 buildPythonPackage rec {
   pname = "rflink";
   version = "0.0.58";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "aequitas";
@@ -20,11 +22,6 @@ buildPythonPackage rec {
     sha256 = "1zab55lsw419gg0jfrl69ap6128vbi3wdmg5z7qin65ijpjdhasc";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "version=version_from_git()" "version='${version}'"
-  '';
-
   propagatedBuildInputs = [
     async-timeout
     docopt
@@ -37,7 +34,23 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "rflink.protocol" ];
+  patches = [
+    # Remove loop, https://github.com/aequitas/python-rflink/pull/61
+    (fetchpatch {
+      name = "remove-loop.patch";
+      url = "https://github.com/aequitas/python-rflink/commit/777e19b5bde3398df5b8f142896c34a01ae18d52.patch";
+      sha256 = "sJmihxY3fNSfZVFhkvQ/+9gysQup/1jklKDMyDDLOs8=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "version=version_from_git()" "version='${version}'"
+  '';
+
+  pythonImportsCheck = [
+    "rflink.protocol"
+  ];
 
   meta = with lib; {
     description = "Library and CLI tools for interacting with RFlink 433MHz transceiver";
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index bfb5ddcfe5b..e1ee42b0815 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -1,12 +1,13 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , aiohttp
-, xmltodict
-, yarl
 , aresponses
+, buildPythonPackage
+, fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
+, xmltodict
+, yarl
 }:
 
 buildPythonPackage rec {
@@ -14,6 +15,8 @@ buildPythonPackage rec {
   version = "0.8.4";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "ctalkington";
     repo = "python-rokuecp";
@@ -33,6 +36,11 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  disabledTests = [
+    # https://github.com/ctalkington/python-rokuecp/issues/249
+    "test_resolve_hostname"
+  ];
+
   pythonImportsCheck = [
     "rokuecp"
   ];
@@ -41,6 +49,6 @@ buildPythonPackage rec {
     description = "Asynchronous Python client for Roku (ECP)";
     homepage = "https://github.com/ctalkington/python-rokuecp";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/surepy/default.nix b/pkgs/development/python-modules/surepy/default.nix
index 1d0b938d494..9759443228d 100644
--- a/pkgs/development/python-modules/surepy/default.nix
+++ b/pkgs/development/python-modules/surepy/default.nix
@@ -20,6 +20,7 @@ buildPythonPackage rec {
   pname = "surepy";
   version = "0.7.2";
   format = "pyproject";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
@@ -31,8 +32,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'click = "^7.1.2"' 'click = "*"' \
-      --replace 'attrs = "^20.3.0"' 'attrs = "*"'
+      --replace 'aiohttp = {extras = ["speedups"], version = "^3.7.4"}' 'aiohttp = {extras = ["speedups"], version = ">=3.7.4"}' \
+      --replace 'async-timeout = "^3.0.1"' 'async-timeout = ">=3.0.1"'
   '';
 
   nativeBuildInputs = [
@@ -56,7 +57,9 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "surepy" ];
+  pythonImportsCheck = [
+    "surepy"
+  ];
 
   meta = with lib; {
     description = "Python library to interact with the Sure Petcare API";
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 97f41b0c8a7..df6a5e0f90e 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, graalvm11-ce, fetchurl }:
+{ lib, buildGraalvmNativeImage, fetchurl }:
 
-stdenv.mkDerivation rec {
+buildGraalvmNativeImage rec {
   pname = "clj-kondo";
   version = "2021.10.19";
 
@@ -9,38 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-i0OeQPZfQPUeXC/Bs84I91IahBKK6W1mFix97s8/lVA=";
   };
 
-  dontUnpack = true;
-
-  buildInputs = [ graalvm11-ce ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    # https://github.com/clj-kondo/clj-kondo/blob/v2021.10.19/script/compile#L17-L21
-    args=("-jar" "$src"
-          "-H:CLibraryPath=${graalvm11-ce.lib}/lib"
-          # Required to build babashka on darwin. Do not remove.
-          "${lib.optionalString stdenv.isDarwin "-H:-CheckToolchain"}"
-          "-H:+ReportExceptionStackTraces"
-          "--verbose"
-          "--no-fallback"
-          "-J-Xmx3g")
-
-     native-image ''${args[@]}
-
-     runHook postBuild
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp clj-kondo $out/bin/clj-kondo
-  '';
+  extraNativeImageBuildArgs = [
+    "-H:+ReportExceptionStackTraces"
+    "--no-fallback"
+  ];
 
   meta = with lib; {
     description = "A linter for Clojure code that sparks joy";
     homepage = "https://github.com/clj-kondo/clj-kondo";
     license = licenses.epl10;
-    platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [ jlesquembre bandresen thiagokokada ];
   };
 }
diff --git a/pkgs/development/tools/jet/default.nix b/pkgs/development/tools/jet/default.nix
index 9ba85cb8fc4..6e140620adc 100644
--- a/pkgs/development/tools/jet/default.nix
+++ b/pkgs/development/tools/jet/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, graalvm11-ce, fetchurl }:
+{ lib, buildGraalvmNativeImage, fetchurl }:
 
-stdenv.mkDerivation rec {
+buildGraalvmNativeImage rec {
   pname = "jet";
   version = "0.1.0";
 
@@ -14,46 +14,22 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-mOUiKEM5tYhtpBpm7KtslyPYFsJ+Wr+4ul6Zi4aS09Q=";
   };
 
-  dontUnpack = true;
-
-  buildInputs = [ graalvm11-ce ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    # https://github.com/borkdude/jet/blob/v0.1.0/script/compile#L16-L29
-    args=("-jar" "$src"
-          "-H:CLibraryPath=${graalvm11-ce.lib}/lib"
-          # Required to build jet on darwin. Do not remove.
-          "${lib.optionalString stdenv.isDarwin "-H:-CheckToolchain"}"
-          "-H:Name=jet"
-          "-H:+ReportExceptionStackTraces"
-          "-J-Dclojure.spec.skip-macros=true"
-          "-J-Dclojure.compiler.direct-linking=true"
-          "-H:IncludeResources=JET_VERSION"
-          "-H:ReflectionConfigurationFiles=${reflectionJson}"
-          "--initialize-at-build-time"
-          "-H:Log=registerResource:"
-          "--verbose"
-          "--no-fallback"
-          "--no-server"
-          "-J-Xmx3g")
-
-     native-image ''${args[@]}
-
-     runHook postBuild
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp jet $out/bin/jet
-  '';
+  extraNativeImageBuildArgs = [
+    "-H:+ReportExceptionStackTraces"
+    "-J-Dclojure.spec.skip-macros=true"
+    "-J-Dclojure.compiler.direct-linking=true"
+    "-H:IncludeResources=JET_VERSION"
+    "-H:ReflectionConfigurationFiles=${reflectionJson}"
+    "--initialize-at-build-time"
+    "-H:Log=registerResource:"
+    "--no-fallback"
+    "--no-server"
+  ];
 
   meta = with lib; {
     description = "CLI to transform between JSON, EDN and Transit, powered with a minimal query language";
     homepage = "https://github.com/borkdude/jet";
     license = licenses.epl10;
-    platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [ ericdallo ];
   };
 }
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 9128b3f190e..5e3c750852d 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, graalvm11-ce, babashka, fetchurl, fetchFromGitHub, clojure, writeScript }:
+{ lib, stdenv, buildGraalvmNativeImage, babashka, fetchurl, fetchFromGitHub, clojure, writeScript }:
 
-stdenv.mkDerivation rec {
+buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
   version = "2021.11.02-15.24.47";
 
@@ -16,48 +16,22 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-k0mzibcLAspklCPE6f2qsUm9bwSvcJRgWecMBq7mpF0=";
   };
 
-  GRAALVM_HOME = graalvm11-ce;
-  CLOJURE_LSP_JAR = jar;
-  CLOJURE_LSP_XMX = "-J-Xmx6g";
+  # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27
+  DTLV_LIB_EXTRACT_DIR = "/tmp";
 
-  buildInputs = [ graalvm11-ce clojure ];
-
-  buildPhase = with lib; ''
-    runHook preBuild
-
-    # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27
-    DTLV_LIB_EXTRACT_DIR=$(mktemp -d)
-    export DTLV_LIB_EXTRACT_DIR=$DTLV_LIB_EXTRACT_DIR
-
-    args=("-jar" "$CLOJURE_LSP_JAR"
-          "-H:+ReportExceptionStackTraces"
-          "-H:CLibraryPath=${graalvm11-ce.lib}/lib"
-          "-H:CLibraryPath=$DTLV_LIB_EXTRACT_DIR"
-          "--verbose"
-          "--no-fallback"
-          "--native-image-info"
-          "$CLOJURE_LSP_XMX")
-
-    native-image ''${args[@]}
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 ./clojure-lsp $out/bin/clojure-lsp
-
-    runHook postInstall
-  '';
+  extraNativeImageBuildArgs = [
+    "-H:CLibraryPath=${DTLV_LIB_EXTRACT_DIR}"
+    "--no-fallback"
+    "--native-image-info"
+  ];
 
   doCheck = true;
   checkPhase = ''
     runHook preCheck
 
     export HOME="$(mktemp -d)"
-    ./clojure-lsp --version | fgrep -q '${version}'
-    ${babashka}/bin/bb integration-test ./clojure-lsp
+    ./${pname} --version | fgrep -q '${version}'
+    ${babashka}/bin/bb integration-test ./${pname}
 
     runHook postCheck
   '';
@@ -88,7 +62,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/clojure-lsp/clojure-lsp";
     license = licenses.mit;
     maintainers = with maintainers; [ ericdallo babariviere ];
-    platforms = graalvm11-ce.meta.platforms;
     # Depends on datalevin that is x86_64 only
     # https://github.com/juji-io/datalevin/blob/bb7d9328f4739cddea5d272b5cd6d6dcb5345da6/native/src/java/datalevin/ni/Lib.java#L86-L102
     broken = !stdenv.isx86_64;
diff --git a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
new file mode 100644
index 00000000000..4ffc0a24264
--- /dev/null
+++ b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
@@ -0,0 +1,26 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+buildGoModule rec {
+  pname = "protoc-gen-go-vtproto";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "planetscale";
+    repo = "vtprotobuf";
+    rev = "v${version}";
+    sha256 = "0kjjpfsiws4vi36ha1gajb97rwcggqw753mv2jqf09kdfszz9p63";
+  };
+
+  vendorSha256 = "01lxwlgh3y3gp22gk5qx7r60c1j63pnpi6jnri8gf2lmiiib8fdc";
+
+  excludedPackages = [ "conformance" ];
+
+  meta = with lib; {
+    description = "A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2";
+    homepage = "https://github.com/planetscale/vtprotobuf";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.zane ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-flash/default.nix b/pkgs/development/tools/rust/cargo-flash/default.nix
index f5de052e0e5..0f90f480043 100644
--- a/pkgs/development/tools/rust/cargo-flash/default.nix
+++ b/pkgs/development/tools/rust/cargo-flash/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-flash";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "probe-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yTtnRdDy3wGBe0SlO0165uooWu6ZMhUQw3hdDUK1e8A=";
+    sha256 = "0s49q8x0iscy9rgn9zgymyg39cqm251a99m341znjn55lap3pdl8";
   };
 
-  cargoSha256 = "sha256-f5vUMdyz3vDh2yE0pMKZiknsqTAKkuvTCtlgb6/gaLc=";
+  cargoSha256 = "0rb4s5bwjs7hri636r2viva96a6z9qjv9if6i220j9yglrvi7c8i";
 
   nativeBuildInputs = [ pkg-config rustfmt ];
   buildInputs = [ libusb1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
@@ -27,6 +27,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A cargo extension for working with microcontrollers";
     homepage = "https://probe.rs/";
+    changelog = "https://github.com/probe-rs/cargo-flash/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ fooker ];
   };
diff --git a/pkgs/development/tools/zprint/default.nix b/pkgs/development/tools/zprint/default.nix
index f00d9c29a48..f69c2b223a9 100644
--- a/pkgs/development/tools/zprint/default.nix
+++ b/pkgs/development/tools/zprint/default.nix
@@ -1,40 +1,22 @@
-{ stdenv, lib, fetchurl, graalvm11-ce, glibcLocales }:
+{ lib, buildGraalvmNativeImage, fetchurl  }:
 
-stdenv.mkDerivation rec {
+buildGraalvmNativeImage rec {
   pname = "zprint";
   version = "1.1.2";
 
   src = fetchurl {
-    url =
-      "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}";
+    url = "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}";
     sha256 = "1wh8jyj7alfa6h0cycfwffki83wqb5d5x0p7kvgdkhl7jx7isrwj";
   };
 
-  dontUnpack = true;
-
-  LC_ALL = "en_US.UTF-8";
-  nativeBuildInputs = [ graalvm11-ce glibcLocales ];
-
-  buildPhase = ''
-    native-image \
-    --no-server \
-    -J-Xmx7G \
-    -J-Xms4G \
-    -jar ${src} \
-    -H:Name=${pname} \
-    -H:EnableURLProtocols=https,http \
-    -H:+ReportExceptionStackTraces \
-    -H:CLibraryPath=${graalvm11-ce.lib}/lib \
-    ${lib.optionalString stdenv.isDarwin ''-H:-CheckToolchain''} \
-    --report-unsupported-elements-at-runtime \
-    --initialize-at-build-time \
-    --no-fallback
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    install ${pname} $out/bin
-  '';
+  extraNativeImageBuildArgs = [
+    "--no-server"
+    "-H:EnableURLProtocols=https,http"
+    "-H:+ReportExceptionStackTraces"
+    "--report-unsupported-elements-at-runtime"
+    "--initialize-at-build-time"
+    "--no-fallback"
+  ];
 
   meta = with lib; {
     description = "Clojure/EDN source code formatter and pretty printer";
@@ -45,7 +27,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/kkinnear/zprint";
     license = licenses.mit;
-    platforms = graalvm11-ce.meta.platforms;
     maintainers = with maintainers; [ stelcodes ];
   };
 }
diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix
index 195c0b1bf38..1fa7483e36e 100644
--- a/pkgs/tools/wayland/swayr/default.nix
+++ b/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.7.0";
+  version = "0.10.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-B19cHdoiCbxhvRGi3NzKPKneKgOI4+l8+Qg9/YVgUV8=";
+    sha256 = "sha256-nXJIgzm92OSSGHpN2+09Y8ILpU8Mf51vcVB0kMXBPZc=";
   };
 
-  cargoSha256 = "sha256-iO64K+d/wEyY/tVztIG8zYSha5X0iTHV7IDVthMJQGA=";
+  cargoSha256 = "sha256-vExZzJ3Rw+MiU4ikEqzIo51qZW0sxwE/zoVEdUKLXwY=";
 
   patches = [
     ./icon-paths.patch
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index aa3397e3f6f..47e34c6bdc2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -337,6 +337,8 @@ with pkgs;
 
   protoc-gen-go-grpc = callPackage ../development/tools/protoc-gen-go-grpc { };
 
+  protoc-gen-go-vtproto = callPackage ../development/tools/protoc-gen-go-vtproto { };
+
   protoc-gen-grpc-web = callPackage ../development/tools/protoc-gen-grpc-web { };
 
   protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
@@ -12353,6 +12355,7 @@ with pkgs;
     });
   graalvm11-ce = graalvmCEPackages.graalvm11-ce;
   graalvm17-ce = graalvmCEPackages.graalvm17-ce;
+  buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { };
 
   inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
     graalvm8-ee
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index bf5b65f9388..16ecd67de2d 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -31,6 +31,7 @@ let
       coq-elpi = callPackage ../development/coq-modules/coq-elpi {};
       coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
       coq-haskell = callPackage ../development/coq-modules/coq-haskell { };
+      coq-record-update = callPackage ../development/coq-modules/coq-record-update { };
       coqeal = callPackage ../development/coq-modules/coqeal {};
       coqhammer = callPackage ../development/coq-modules/coqhammer {};
       coqprime = callPackage ../development/coq-modules/coqprime {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f5ac834709c..e99992fab3a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -664,6 +664,8 @@ in {
 
   asyncio-nats-client = callPackage ../development/python-modules/asyncio-nats-client { };
 
+  asyncmy = callPackage ../development/python-modules/asyncmy { };
+
   asyncio-throttle = callPackage ../development/python-modules/asyncio-throttle { };
 
   asyncpg = callPackage ../development/python-modules/asyncpg { };