summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-11-12 22:13:26 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-11-12 22:13:26 +0100
commitc1eb661271bf5c3e0baa7b32ebd9d455883d95d0 (patch)
treeab5d2940d1d554bffbe0e964f7a9d70e8e8b4d10
parentcbede4e908da717f45deb12cf47796e3170e9920 (diff)
parentb0e3e12d6c672ed87dd5a02501cc00c5412b1181 (diff)
downloadnixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar.gz
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar.bz2
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar.lz
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar.xz
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.tar.zst
nixpkgs-c1eb661271bf5c3e0baa7b32ebd9d455883d95d0.zip
Merge branch 'master' into staging-next
-rw-r--r--doc/languages-frameworks/rust.section.md65
-rw-r--r--pkgs/applications/networking/browsers/floorp/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/data/fonts/iosevka/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix7
-rw-r--r--pkgs/development/compilers/gnu-smalltalk/default.nix2
-rw-r--r--pkgs/development/compilers/rust/default.nix2
-rw-r--r--pkgs/development/compilers/rust/rustc.nix22
-rw-r--r--pkgs/development/libraries/libtcod/default.nix2
-rw-r--r--pkgs/development/python-modules/asyncssh/default.nix4
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-eventgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/django-crispy-bootstrap4/default.nix42
-rw-r--r--pkgs/development/python-modules/flask-login/default.nix51
-rw-r--r--pkgs/development/python-modules/pydantic-settings/default.nix1
-rw-r--r--pkgs/development/python-modules/sgp4/default.nix4
-rw-r--r--pkgs/development/python-modules/unicodedata2/default.nix25
-rw-r--r--pkgs/development/tools/picotool/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix6
-rw-r--r--pkgs/games/brogue-ce/default.nix2
-rw-r--r--pkgs/games/brogue/default.nix2
-rw-r--r--pkgs/games/xivlauncher/default.nix2
-rw-r--r--pkgs/tools/security/paperkey/default.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
24 files changed, 211 insertions, 66 deletions
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 3bd8e1c7651..d18b048b911 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -939,3 +939,68 @@ Fenix also has examples with `buildRustPackage`,
 [crane](https://github.com/ipetkov/crane),
 [naersk](https://github.com/nix-community/naersk),
 and cross compilation in its [Examples](https://github.com/nix-community/fenix#examples) section.
+
+## Using `git bisect` on the Rust compiler {#using-git-bisect-on-the-rust-compiler}
+
+Sometimes an upgrade of the Rust compiler (`rustc`) will break a
+downstream package.  In these situations, being able to `git bisect`
+the `rustc` version history to find the offending commit is quite
+useful.  Nixpkgs makes it easy to do this.
+
+First, roll back your nixpkgs to a commit in which its `rustc` used
+*the most recent one which doesn't have the problem.*  You'll need
+to do this because of `rustc`'s extremely aggressive
+version-pinning.
+
+Next, add the following overlay, updating the Rust version to the
+one in your rolled-back nixpkgs, and replacing `/git/scratch/rust`
+with the path into which you have `git clone`d the `rustc` git
+repository:
+
+```nix
+ (final: prev: /*lib.optionalAttrs prev.stdenv.targetPlatform.isAarch64*/ {
+   rust_1_72 =
+     lib.updateManyAttrsByPath [{
+       path = [ "packages" "stable" ];
+       update = old: old.overrideScope(final: prev: {
+         rustc = prev.rustc.overrideAttrs (_: {
+           src = lib.cleanSource /git/scratch/rust;
+           # do *not* put passthru.isReleaseTarball=true here
+         });
+       });
+     }]
+       prev.rust_1_72;
+ })
+```
+
+If the problem you're troubleshooting only manifests when
+cross-compiling you can uncomment the `lib.optionalAttrs` in the
+example above, and replace `isAarch64` with the target that is
+having problems.  This will speed up your bisect quite a bit, since
+the host compiler won't need to be rebuilt.
+
+Now, you can start a `git bisect` in the directory where you checked
+out the `rustc` source code.  It is recommended to select the
+endpoint commits by searching backwards from `origin/master` for the
+*commits which added the release notes for the versions in
+question.*  If you set the endpoints to commits on the release
+branches (i.e. the release tags), git-bisect will often get confused
+by the complex merge-commit structures it will need to traverse.
+
+The command loop you'll want to use for bisecting looks like this:
+
+```bash
+git bisect {good,bad}  # depending on result of last build
+git submodule update --init
+CARGO_NET_OFFLINE=false cargo vendor \
+  --sync ./src/tools/cargo/Cargo.toml \
+  --sync ./src/tools/rust-analyzer/Cargo.toml \
+  --sync ./compiler/rustc_codegen_cranelift/Cargo.toml \
+  --sync ./src/bootstrap/Cargo.toml
+nix-build $NIXPKGS -A package-broken-by-rust-changes
+```
+
+The `git submodule update --init` and `cargo vendor` commands above
+require network access, so they can't be performed from within the
+`rustc` derivation, unfortunately.
+
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix
index c144704fa13..a4796d93954 100644
--- a/pkgs/applications/networking/browsers/floorp/default.nix
+++ b/pkgs/applications/networking/browsers/floorp/default.nix
@@ -7,7 +7,7 @@
 
 ((buildMozillaMach rec {
   pname = "floorp";
-  packageVersion = "11.5.0";
+  packageVersion = "11.5.1";
   applicationName = "Floorp";
   binaryName = "floorp";
   version = "155.4.0";
@@ -17,7 +17,7 @@
     repo = "Floorp";
     fetchSubmodules = true;
     rev = "v${packageVersion}";
-    hash = "sha256-adK3LAu3cDh6d+GvtnkWmSnxansnSZoIgtA9TAqIMyA=";
+    hash = "sha256-988jKyfIGZ2UPHTNO1cK2lxR/5j3U/QYR3ZI9WsvHUI=";
   };
 
   extraConfigureFlags = [
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 1c2ac1f8d5f..d034c68d85f 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   stable = import ./browser.nix {
     channel = "stable";
-    version = "118.0.2088.76";
+    version = "119.0.2151.44";
     revision = "1";
-    sha256 = "sha256-cd8W/0UZi+NhPSILR8e8aOLxy6ra+0DVwRowo2jG8DA=";
+    sha256 = "sha256-QY9Dk4tcpuNJGVcAcaIaVXAT95K87rK7ZQo7COMDpVU=";
   };
   beta = import ./browser.nix {
     channel = "beta";
-    version = "119.0.2151.32";
+    version = "119.0.2151.44";
     revision = "1";
-    sha256 = "sha256-tsDFUKZDiusr/fGO5NMRqzTDIF+MTgC/1gJu95wXwAw=";
+    sha256 = "sha256-aLiitzCoMvJH2xAfo9bO7lEPMqKlb++BdJkrWx61SMc=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "120.0.2172.1";
+    version = "120.0.2186.2";
     revision = "1";
-    sha256 = "sha256-EvTS0AO3/A8Ut9H36mMOnS9PRR062WAoas9/Pd90NBM=";
+    sha256 = "sha256-L/rtOddk4bt8ffkRnq0BYcVjrSb7RmDaay85S5vixSM=";
   };
 }
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 1d7ed664097..04f89b6d2a1 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
   pname = if set != null then "iosevka-${set}" else "iosevka";
-  version = "27.3.4";
+  version = "27.3.5";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-JsK2jzXyAACh9e3P2y0YLky2XQuR/dKyEbRpFUSnJdM=";
+    hash = "sha256-dqXr/MVOuEmAMueaRWsnzY9MabhnyBRtLR9IDVLN79I=";
   };
 
-  npmDepsHash = "sha256-uchJ+1NWbo4FpNOjOO3luhIdZyQZLToZ1UCMLdGzjkY=";
+  npmDepsHash = "sha256-bux8aFBP1Pi5pAQY1jkNTqD2Ny2j+QQs+QRaXWJj6xg=";
 
   nativeBuildInputs = [
     remarshal
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index e9fd74c9222..f266c480913 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -23,6 +23,7 @@
 , gnome
 , gsettings-desktop-schemas
 , gsound
+, gst_all_1
 , gtk4
 , ibus
 , libgnomekbd
@@ -134,7 +135,11 @@ stdenv.mkDerivation rec {
     tracker-miners # for search locations dialog
     udisks2
     upower
-  ];
+  ] ++ (with gst_all_1; [
+    # For animations in Mouse panel.
+    gst-plugins-base
+    gst-plugins-good
+  ]);
 
   preConfigure = ''
     # For ITS rules
diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix
index 834a30b3716..1caf96c715c 100644
--- a/pkgs/development/compilers/gnu-smalltalk/default.nix
+++ b/pkgs/development/compilers/gnu-smalltalk/default.nix
@@ -55,6 +55,6 @@ in stdenv.mkDerivation rec {
     homepage = "http://smalltalk.gnu.org/";
     license = with licenses; [ gpl2 lgpl2 ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 0a0af783236..efd7042c230 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -73,7 +73,7 @@ in
         patches = rustcPatches;
 
         # Use boot package set to break cycle
-        inherit (bootstrapRustPackages) cargo rustc;
+        inherit (bootstrapRustPackages) cargo rustc rustfmt;
       });
       rustfmt = self.callPackage ./rustfmt.nix {
         inherit Security;
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 5f97b0f4019..1758abb6bea 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, targetPackages
 , llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget, llvmPackages
 , fetchurl, file, python3
-, darwin, cargo, cmake, rustc
+, darwin, cargo, cmake, rustc, rustfmt
 , pkg-config, openssl, xz
 , libiconv
 , which, libffi
@@ -24,13 +24,15 @@
 let
   inherit (lib) optionals optional optionalString concatStringsSep;
   inherit (darwin.apple_sdk.frameworks) Security;
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (finalAttrs: {
   pname = "${targetPackages.stdenv.cc.targetPrefix}rustc";
   inherit version;
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
     inherit sha256;
+    # See https://nixos.org/manual/nixpkgs/stable/#using-git-bisect-on-the-rust-compiler
+    passthru.isReleaseTarball = true;
   };
 
   __darwinAllowLocalNetworking = true;
@@ -82,6 +84,12 @@ in stdenv.mkDerivation rec {
     "--release-channel=stable"
     "--set=build.rustc=${rustc}/bin/rustc"
     "--set=build.cargo=${cargo}/bin/cargo"
+  ] ++ lib.optionals (!(finalAttrs.src.passthru.isReleaseTarball or false)) [
+    # release tarballs vendor the rustfmt source; when
+    # git-bisect'ing from upstream's git repo we must prevent
+    # attempts to download the missing source tarball
+    "--set=build.rustfmt=${rustfmt}/bin/rustfmt"
+  ] ++ [
     "--tools=rustc,rust-analyzer-proc-macro-srv"
     "--enable-rpath"
     "--enable-vendor"
@@ -206,6 +214,14 @@ in stdenv.mkDerivation rec {
     # See https://github.com/jemalloc/jemalloc/issues/1997
     # Using a value of 48 should work on both emulated and native x86_64-darwin.
     export JEMALLOC_SYS_WITH_LG_VADDR=48
+  '' + lib.optionalString (!(finalAttrs.src.passthru.isReleaseTarball or false)) ''
+    mkdir .cargo
+    cat > .cargo/config <<\EOF
+    [source.crates-io]
+    replace-with = "vendored-sources"
+    [source.vendored-sources]
+    directory = "vendor"
+    EOF
   '';
 
   # rustc unfortunately needs cmake to compile llvm-rt but doesn't
@@ -283,4 +299,4 @@ in stdenv.mkDerivation rec {
       "i686-windows" "x86_64-windows"
     ];
   };
-}
+})
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 636b3ac2b0f..3674f25b465 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation {
     homepage = "http://roguecentral.org/doryen/libtcod/";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.linux;
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
   };
 }
diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix
index 663c71b926e..f499adc7bb1 100644
--- a/pkgs/development/python-modules/asyncssh/default.nix
+++ b/pkgs/development/python-modules/asyncssh/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.14.0";
+  version = "2.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4D7y0TH7tDcbQBhxhFLOjHNaSO3+ATnSq9zkwYekWcM=";
+    hash = "sha256-GsMcMzoNg8iIMVIyRVAMqoFFA0I3QbDkZTOe9tpbXik=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 36f282fe1e4..0927fba08e5 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.19.8";
+  version = "0.19.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d6I1nRL41sWFvv9Nxw5dSJDEv15i9Lni0wySyWruEGU=";
+    hash = "sha256-skkkwtmSbGJV6MRBJMfNhu+pWEBuMkB7ozTh9wiyYVM=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/azure-eventgrid/default.nix b/pkgs/development/python-modules/azure-eventgrid/default.nix
index 07914459837..4d9c50bb059 100644
--- a/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "4.15.0";
+  version = "4.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hVPCQgVu5NkEMJBJcfaER8JGtjnIEWquIcBX6vFSiAc=";
+    hash = "sha256-o895Xjp/su2mc1WHbsQvWDe28sX/HhLtOb7BC5TFkyg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix b/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
new file mode 100644
index 00000000000..d8bb73ccdef
--- /dev/null
+++ b/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, django
+, setuptools
+, pytestCheckHook
+, pytest-django
+, django-crispy-forms
+}:
+
+buildPythonPackage rec {
+  pname = "django-crispy-bootstrap4";
+  version = "2023.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "django-crispy-forms";
+    repo = "crispy-bootstrap4";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4p6dlyQYZGyfBntTuzCjikL8ZG/4xDnTiQ1rCVt0Hbk=";
+  };
+
+  propagatedBuildInputs = [
+    django
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytest-django
+    pytestCheckHook
+    django-crispy-forms
+  ];
+
+  pythonImportsCheck = [ "crispy_bootstrap4" ];
+
+  meta = with lib; {
+    description = "Bootstrap 4 template pack for django-crispy-forms";
+    homepage = "https://github.com/django-crispy-forms/crispy-bootstrap4";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-login/default.nix b/pkgs/development/python-modules/flask-login/default.nix
index 1caf53c7a2d..134dc8f2e44 100644
--- a/pkgs/development/python-modules/flask-login/default.nix
+++ b/pkgs/development/python-modules/flask-login/default.nix
@@ -1,34 +1,48 @@
 { lib
-, asgiref
-, blinker
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+
+# build-system
+, setuptools
+
+# dependencies
 , flask
+, werkzeug
+
+# tests
+, asgiref
+, blinker
 , pytestCheckHook
-, pythonAtLeast
-, pythonOlder
 , semantic-version
-, werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "flask-login";
-  version = "0.6.2";
-  format = "setuptools";
+  version = "0.6.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "Flask-Login";
     inherit version;
-    hash = "sha256-wKe6qf3ESM3T3W8JOd9y7sUXey96vmy4L8k00pyqycM=";
+    hash = "sha256-XiPRSmB+8SgGxplZC4nQ8ODWe67sWZ11lHv5wUczAzM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     flask
     werkzeug
   ];
 
+  pythonImportsCheck = [
+    "flask_login"
+  ];
+
   nativeCheckInputs = [
     asgiref
     blinker
@@ -36,25 +50,8 @@ buildPythonPackage rec {
     semantic-version
   ];
 
-  disabledTests = [
-    # https://github.com/maxcountryman/flask-login/issues/747
-    "test_remember_me_accepts_duration_as_int"
-    "test_remember_me_custom_duration_uses_custom_cookie"
-    "test_remember_me_refresh_every_request"
-    "test_remember_me_uses_custom_cookie_parameters"
-  ] ++ lib.optionals (pythonAtLeast "3.10") [
-    "test_hashable"
-  ];
-
-  pytestFlagsArray = [
-    "-W" "ignore::DeprecationWarning"
-  ];
-
-  pythonImportsCheck = [
-    "flask_login"
-  ];
-
   meta = with lib; {
+    changelog = "https://github.com/maxcountryman/flask-login/blob/${version}/CHANGES.md";
     description = "User session management for Flask";
     homepage = "https://github.com/maxcountryman/flask-login";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/pydantic-settings/default.nix b/pkgs/development/python-modules/pydantic-settings/default.nix
index a375ded35f0..c27bb5f2757 100644
--- a/pkgs/development/python-modules/pydantic-settings/default.nix
+++ b/pkgs/development/python-modules/pydantic-settings/default.nix
@@ -46,6 +46,7 @@ buildPythonPackage rec {
     description = "Settings management using pydantic";
     homepage = "https://github.com/pydantic/pydantic-settings";
     license = licenses.mit;
+    broken = lib.versionOlder pydantic.version "2.0.0";
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sgp4/default.nix b/pkgs/development/python-modules/sgp4/default.nix
index 242a1c882c9..9f6693603e0 100644
--- a/pkgs/development/python-modules/sgp4/default.nix
+++ b/pkgs/development/python-modules/sgp4/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "sgp4";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F/Ci6q0tygZbbeJcHOqpQP98+ozGcSDLQRGgDxd7hvk=";
+    hash = "sha256-2K3cU6L7n4je5r/UAdKGWwFMwLV78s7mm97o2WhdVCk=";
   };
 
   nativeCheckInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/unicodedata2/default.nix b/pkgs/development/python-modules/unicodedata2/default.nix
index 5e09df1f6d1..972aa3093a8 100644
--- a/pkgs/development/python-modules/unicodedata2/default.nix
+++ b/pkgs/development/python-modules/unicodedata2/default.nix
@@ -1,22 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, isPy27 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "unicodedata2";
-  version = "15.0.0";
+  version = "15.1.0";
+  format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d";
+    hash = "sha256-yzDxia1mSC+FKaRdpxsqiEHpvSuzdswpMwA6SlWgdkg=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "unicodedata2"
+  ];
 
   meta = with lib; {
     description = "Backport and updates for the unicodedata module";
     homepage = "https://github.com/mikekap/unicodedata2";
+    changelog = "https://github.com/fonttools/unicodedata2/releases/tag/${version}";
     license = licenses.asl20;
-    maintainers = [ maintainers.sternenseemann ];
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/development/tools/picotool/default.nix b/pkgs/development/tools/picotool/default.nix
index 0f4300fc67c..03d3d440c29 100644
--- a/pkgs/development/tools/picotool/default.nix
+++ b/pkgs/development/tools/picotool/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
   cmakeFlags = [ "-DPICO_SDK_PATH=${pico-sdk}/lib/pico-sdk" ];
 
+  postInstall = ''
+    install -Dm444 ../udev/99-picotool.rules -t $out/etc/udev/rules.d
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/raspberrypi/picotool";
     description = "Tool for interacting with a RP2040 device in BOOTSEL mode, or with a RP2040 binary";
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index a6ddc95e532..4fb099b3c0b 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.18.4";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "cargo-generate";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "sha256-u4LEE3fDYneKhNU38VeVNvqcbDO0pws6yldgcvwSv6M=";
+    sha256 = "sha256-be0jgjhaboutT+c3rRyp6fjmv8nAkggkcqofWmH83Zc=";
   };
 
-  cargoSha256 = "sha256-pgffaqHWnm3RBE9TGbpRJX35BFpXW/na9wmad9eyCXw=";
+  cargoHash = "sha256-Sset3+jRm6yOUkvLYxBHdFvVCYOq3bvix9b3pnt7AV8=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/games/brogue-ce/default.nix b/pkgs/games/brogue-ce/default.nix
index 7532be8d195..77e58ed5a1a 100644
--- a/pkgs/games/brogue-ce/default.nix
+++ b/pkgs/games/brogue-ce/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     description = "A community-lead fork of the minimalist roguelike game Brogue";
     homepage = "https://github.com/tmewett/BrogueCE";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ fgaz ];
+    maintainers = with maintainers; [ AndersonTorres fgaz ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index d7f5694bfb6..0cd3e779c56 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     description = "A roguelike game";
     homepage = "https://sites.google.com/site/broguegame/";
     license = licenses.agpl3;
-    maintainers = [ ];
+    maintainers =  with maintainers; [ AndersonTorres fgaz ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/games/xivlauncher/default.nix b/pkgs/games/xivlauncher/default.nix
index b88c3ac9477..0a621f625e8 100644
--- a/pkgs/games/xivlauncher/default.nix
+++ b/pkgs/games/xivlauncher/default.nix
@@ -71,7 +71,7 @@ in
 
     meta = with lib; {
       description = "Custom launcher for FFXIV";
-      homepage = "https://github.com/goatcorp/FFXIVQuickLauncher";
+      homepage = "https://github.com/goatcorp/XIVLauncher.Core";
       license = licenses.gpl3;
       maintainers = with maintainers; [ sersorrel witchof0x20 ];
       platforms = [ "x86_64-linux" ];
diff --git a/pkgs/tools/security/paperkey/default.nix b/pkgs/tools/security/paperkey/default.nix
index 30aecae7339..8e86415cb9e 100644
--- a/pkgs/tools/security/paperkey/default.nix
+++ b/pkgs/tools/security/paperkey/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.jabberwocky.com/software/paperkey/";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ AndersonTorres peterhoeg ];
   };
 }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b00169dca01..0491f9fbc0f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2958,6 +2958,8 @@ self: super: with self; {
 
   django-countries = callPackage ../development/python-modules/django-countries { };
 
+  django-crispy-bootstrap4 = callPackage ../development/python-modules/django-crispy-bootstrap4 { };
+
   django-crispy-forms = callPackage ../development/python-modules/django-crispy-forms { };
 
   django-cryptography = callPackage ../development/python-modules/django-cryptography { };