diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 2cd61c69ecec..af69fc2f5ab2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -10078,6 +10078,13 @@
githubId = 11212268;
name = "gruve-p";
};
+ gs-101 = {
+ email = "gabrielsantosdesouza@disroot.org";
+ github = "gs-101";
+ githubId = 172639817;
+ keys = [ { fingerprint = "D1D3 37F6 CB32 02DC B9BA 337B F9D8 EABC F57E ED58"; } ];
+ name = "Gabriel Santos";
+ };
gschwartz = {
email = "gsch@pennmedicine.upenn.edu";
github = "GregorySchwartz";
@@ -13739,6 +13746,12 @@
githubId = 41012641;
name = "Benjamin Kaylor";
};
+ kaynetik = {
+ email = "aleksandar@nesovic.dev";
+ github = "kaynetik";
+ githubId = 48174247;
+ name = "Aleksandar Nesovic";
+ };
kazcw = {
email = "kaz@lambdaverse.org";
github = "kazcw";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index fb2e7e186093..9201540632cb 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -880,7 +880,6 @@
./services/misc/ihaskell.nix
./services/misc/iio-niri.nix
./services/misc/input-remapper.nix
- ./services/misc/inventree.nix
./services/misc/invidious-router.nix
./services/misc/irkerd.nix
./services/misc/jackett.nix
diff --git a/nixos/modules/services/misc/inventree.nix b/nixos/modules/services/misc/inventree.nix
deleted file mode 100644
index 15476e20b167..000000000000
--- a/nixos/modules/services/misc/inventree.nix
+++ /dev/null
@@ -1,446 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}:
-let
- cfg = config.services.inventree;
- pkg = cfg.package;
-
- mysqlLocal = cfg.database.createLocally && cfg.database.dbtype == "mysql";
- pgsqlLocal = cfg.database.createLocally && cfg.database.dbtype == "postgresql";
-
- manage = pkgs.writeShellScriptBin "inventree-manage" ''
- set -a
- ${lib.toShellVars cfg.settings}
- ${lib.optionalString (
- cfg.database.passwordFile != null
- ) ''INVENTREE_DB_PASSWORD="$(<"${cfg.database.passwordFile}")"''}
- set +a
-
- pushd "${cfg.dataDir}"
- sudo=exec
- if [[ "$USER" != ${cfg.user} ]]; then
- ${
- if config.security.sudo.enable then
- "sudo='exec ${config.security.wrapperDir}/sudo -u ${cfg.user} -E'"
- else
- ">&2 echo 'Aborting, inventree-manage must be run as user `${cfg.user}`!'; exit 2"
- }
- fi
- $sudo ${cfg.package}/bin/inventree "$@"
- popd
- '';
-
-in
-{
- meta.buildDocsInSandbox = false;
- meta.maintainers = with lib.maintainers; [
- kurogeek
- ];
-
- options.services.inventree = with lib; {
- enable = lib.mkEnableOption "inventree";
-
- dataDir = mkOption {
- type = types.str;
- default = "/var/lib/inventree";
- description = "Inventree's data storage path. Will be `/var/lib/inventree` by default.";
- };
-
- package = mkOption {
- type = types.package;
- description = "Which package to use for the InvenTree instance.";
- default = pkgs.inventree;
- defaultText = literalExpression "pkgs.inventree";
- };
-
- adminPasswordFile = mkOption {
- type = types.nullOr lib.types.path;
- default = null;
- example = "/run/keys/inventree-password";
- description = "Path to a file containing admin password";
- };
-
- secretKeyFile = mkOption {
- type = types.path;
- default = "${cfg.dataDir}/secret_key.txt";
- defaultText = lib.literalExpression ''"''${cfg.dataDir}/secret_key.txt"'';
- example = "/run/keys/inventree-secret-key";
- description = ''
- Path to a file containing the secret key
- '';
- };
-
- database = {
- dbtype = mkOption {
- type = lib.types.nullOr (
- lib.types.enum [
- "postgresql"
- "mysql"
- ]
- );
- default = "postgresql";
- description = "Database type.";
- };
- dbhost = lib.mkOption {
- type = lib.types.nullOr lib.types.str;
- default =
- if pgsqlLocal then
- "/run/postgresql"
- else if mysqlLocal then
- "/run/mysqld/mysqld.sock"
- else
- "localhost";
- defaultText = "localhost";
- example = "localhost";
- description = ''
- Database host or socket path.
- If [](#opt-services.inventree.database.createLocally) is true and
- [](#opt-services.inventree.database.dbtype) is either `postgresql` or `mysql`,
- defaults to the correct Unix socket instead.
- '';
- };
- dbport = mkOption {
- type = types.port;
- default = 5432;
- description = "Database host port.";
- };
- dbname = mkOption {
- type = types.str;
- default = "inventree";
- description = "Database name.";
- };
- dbuser = mkOption {
- type = types.str;
- default = "inventree";
- description = "Database username.";
- };
- passwordFile = mkOption {
- type = with types; nullOr path;
- default = null;
- example = "/run/keys/inventree-dbpassword";
- description = ''
- A file containing the password corresponding to
- .
- '';
- };
- createLocally = mkOption {
- type = types.bool;
- default = true;
- description = "Create the database and database user locally.";
- };
- };
-
- domain = mkOption {
- type = types.str;
- default = "localhost";
- example = "inventree.example.com";
- description = ''
- The INVENTREE_SITE_URL option defines the base URL for the
- InvenTree server. This is a critical setting, and it is required
- for correct operation of the server. If not specified, the
- server will attempt to determine the site URL automatically -
- but this may not always be correct!
-
- The site URL is the URL that users will use to access the
- InvenTree server. For example, if the server is accessible at
- `https://inventree.example.com`, the site URL should be set to
- `https://inventree.example.com`. Note that this is not
- necessarily the same as the internal URL that the server is
- running on - the internal URL will depend entirely on your
- server configuration and may be obscured by a reverse proxy or
- other such setup.
- '';
- };
-
- user = mkOption {
- type = types.str;
- default = "inventree";
- description = "User under which InvenTree runs.";
- };
-
- group = mkOption {
- type = types.str;
- default = "inventree";
- description = "Group under which InvenTree runs.";
- };
-
- settings = mkOption {
- type =
- with lib.types;
- attrsOf (
- nullOr (oneOf [
- path
- str
- ])
- );
- default = { };
- description = ''
- InvenTree config options.
-
- See [the documentation](https://docs.inventree.org/en/stable/start/config/) for available options.
- '';
- example = {
- INVENTREE_CACHE_ENABLED = true;
- INVENTREE_CACHE_HOST = "localhost";
-
- INVENTREE_EMAIL_HOST = "smtp.example.com";
- INVENTREE_EMAIL_PORT = 25;
- };
- };
-
- };
-
- config = lib.mkIf cfg.enable (
- lib.mkMerge [
- {
- services.inventree.settings = {
- INVENTREE_DB_ENGINE = cfg.database.dbtype;
- INVENTREE_DB_NAME = cfg.database.dbname;
- INVENTREE_DB_HOST = cfg.database.dbhost;
- INVENTREE_DB_USER = cfg.database.dbuser;
- INVENTREE_DB_PORT = toString cfg.database.dbport;
-
- INVENTREE_CONFIG_FILE = lib.mkDefault "${cfg.dataDir}/config/config.yaml";
- INVENTREE_OIDC_PRIVATE_KEY_FILE = lib.mkDefault "${cfg.dataDir}/config/oidc_private_key.txt";
- INVENTREE_STATIC_ROOT = lib.mkDefault "${cfg.dataDir}/data/static_root";
- INVENTREE_MEDIA_ROOT = lib.mkDefault "${cfg.dataDir}/data/media";
- INVENTREE_BACKUP_DIR = lib.mkDefault "${cfg.dataDir}/data/backups";
- INVENTREE_SITE_URL = lib.mkDefault "http://${cfg.domain}";
- INVENTREE_PLUGIN_FILE = lib.mkDefault "${cfg.dataDir}/data/plugins/plugins.txt";
- INVENTREE_PLUGIN_DIR = lib.mkDefault "${cfg.dataDir}/data/plugins";
- INVENTREE_ADMIN_PASSWORD_FILE = lib.mkDefault cfg.adminPasswordFile;
- INVENTREE_SECRET_KEY_FILE = lib.mkDefault cfg.secretKeyFile;
- INVENTREE_AUTO_UPDATE = lib.mkDefault "false";
- };
- environment.systemPackages = [ manage ];
- systemd.tmpfiles.rules = (
- map (dir: "d ${dir} 0755 inventree inventree") [
- "${cfg.dataDir}"
- "${cfg.dataDir}/config"
- "${cfg.dataDir}/data"
- "${cfg.dataDir}/data/static_root"
- "${cfg.dataDir}/data/media"
- "${cfg.dataDir}/data/backups"
- "${cfg.dataDir}/data/plugins"
- ]
- );
-
- services.postgresql = lib.mkIf pgsqlLocal {
- enable = true;
- ensureDatabases = [ cfg.database.dbname ];
- ensureUsers = [
- {
- name = cfg.database.dbuser;
- ensureDBOwnership = true;
- }
- ];
- };
-
- services.mysql = lib.mkIf mysqlLocal {
- enable = true;
- package = lib.mkDefault pkgs.mariadb;
- ensureDatabases = [ cfg.database.dbname ];
- ensureUsers = [
- {
- name = cfg.database.dbuser;
- ensurePermissions = {
- "${cfg.database.dbname}.*" = "ALL PRIVILEGES";
- };
- }
- ];
- };
-
- services.nginx.enable = true;
- services.nginx.virtualHosts.${cfg.domain} = {
- locations =
- let
- unixPath = config.systemd.sockets.inventree-server.socketConfig.ListenStream;
- in
- {
- "/" = {
- extraConfig = ''
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-By $server_addr:$server_port;
- proxy_set_header X-Forwarded-For $remote_addr;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header CLIENT_IP $remote_addr;
-
- proxy_pass_request_headers on;
-
- proxy_redirect off;
-
- client_max_body_size 100M;
-
- proxy_buffering off;
- proxy_request_buffering off;
- '';
- proxyPass = "http://unix:${unixPath}";
- };
- "/auth" = {
- extraConfig = ''
- internal;
- proxy_pass_request_body off;
- proxy_set_header Content-Length "";
- proxy_set_header X-Original-URI $request_uri;
- '';
- proxyPass = "http://unix:${unixPath}:/auth/";
- };
- "/static/" = {
- alias = "${cfg.settings.INVENTREE_STATIC_ROOT}/";
- extraConfig = ''
- autoindex on;
-
- # Caching settings
- expires 30d;
- add_header Pragma public;
- add_header Cache-Control "public";
- '';
- };
- "/media/" = {
- alias = "${cfg.settings.INVENTREE_MEDIA_ROOT}/";
- extraConfig = ''
- auth_request /auth;
- add_header Content-disposition "attachment";
- '';
- };
- };
- };
-
- systemd.services.inventree-setup = {
- description = "Inventree setup";
- wantedBy = [ "inventree.target" ];
- partOf = [ "inventree.target" ];
- after = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target";
- requires = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target";
- before = [
- "inventree-static.service"
- "inventree-server.service"
- "inventree-qcluster.service"
- ];
- serviceConfig = {
- Type = "oneshot";
- User = cfg.user;
- Group = cfg.group;
- RemainAfterExit = true;
- PrivateTmp = true;
- }
- // lib.optionalAttrs (cfg.database.passwordFile != null) {
- LoadCredential = "db_password:${cfg.database.passwordFile}";
- };
- environment = cfg.settings;
- script = ''
- set -euo pipefail
- umask u=rwx,g=,o=
-
- ${
- lib.optionalString (cfg.database.passwordFile != null) ''
- INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
- ''
- } \
- exec ${pkg}/bin/inventree migrate
- '';
- };
-
- systemd.services.inventree-static = {
- description = "Inventree static migration";
- wantedBy = [ "inventree.target" ];
- partOf = [ "inventree.target" ];
- before = [ "inventree-server.service" ];
- environment = cfg.settings;
- serviceConfig = {
- User = cfg.user;
- Group = cfg.group;
- StateDirectory = "inventree";
- PrivateTmp = true;
- }
- // lib.optionalAttrs (cfg.database.passwordFile != null) {
- LoadCredential = "db_password:${cfg.database.passwordFile}";
- };
- script = ''
- ${
- lib.optionalString (cfg.database.passwordFile != null) ''
- INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
- ''
- } \
- exec ${pkg}/bin/inventree collectstatic --no-input
- '';
- };
-
- systemd.services.inventree-server = {
- description = "Inventree Gunicorn service";
- requiredBy = [ "inventree.target" ];
- partOf = [ "inventree.target" ];
- environment = cfg.settings;
- serviceConfig = {
- User = cfg.user;
- Group = cfg.group;
- StateDirectory = "inventree";
- PrivateTmp = true;
- }
- // lib.optionalAttrs (cfg.database.passwordFile != null) {
- LoadCredential = "db_password:${cfg.database.passwordFile}";
- };
- script = ''
- ${
- lib.optionalString (cfg.database.passwordFile != null) ''
- INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
- ''
- } \
- exec ${pkg}/bin/gunicorn InvenTree.wsgi
- '';
- };
-
- systemd.sockets.inventree-server = {
- wantedBy = [ "sockets.target" ];
- partOf = [ "inventree.target" ];
- socketConfig.ListenStream = "/run/inventree/gunicorn.socket";
- };
-
- systemd.services.inventree-qcluster = {
- description = "InvenTree qcluster server";
- requiredBy = [ "inventree.target" ];
- wantedBy = [ "inventree.target" ];
- partOf = [ "inventree.target" ];
- environment = cfg.settings;
- serviceConfig = {
- User = cfg.user;
- Group = cfg.group;
- StateDirectory = "inventree";
- PrivateTmp = true;
- }
- // lib.optionalAttrs (cfg.database.passwordFile != null) {
- LoadCredential = "db_password:${cfg.database.passwordFile}";
- };
- script = ''
- ${
- lib.optionalString (cfg.database.passwordFile != null) ''
- INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password")
- ''
- } \
- exec ${pkg}/bin/inventree qcluster
- '';
- };
-
- systemd.targets.inventree = {
- description = "Target for all InvenTree services";
- wantedBy = [ "multi-user.target" ];
- wants = [ "network-online.target" ];
- after = [ "network-online.target" ];
- };
-
- users = lib.optionalAttrs (cfg.user == cfg.user) {
- users.${cfg.user} = {
- group = cfg.group;
- isSystemUser = true;
- home = cfg.dataDir;
- };
- groups.${cfg.group}.members = [ cfg.user ];
- };
- }
- ]
- );
-}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d7863112185c..cd7d3b61325c 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -797,7 +797,6 @@ in
installer = handleTest ./installer.nix { };
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix { };
intune = runTest ./intune.nix;
- inventree = runTest ./inventree.nix;
invidious = runTest ./invidious.nix;
invoiceplane = runTest ./invoiceplane.nix;
iodine = runTest ./iodine.nix;
diff --git a/nixos/tests/inventree.nix b/nixos/tests/inventree.nix
deleted file mode 100644
index 34fe8730ae67..000000000000
--- a/nixos/tests/inventree.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, ... }:
-{
- name = "inventree";
- meta.maintainers = with lib.maintainers; [
- kurogeek
- ];
-
- nodes = {
- psqlTest = {
- services.inventree = {
- enable = true;
- };
- };
- mysqlTest = {
- services.inventree = {
- enable = true;
- database.dbtype = "mysql";
- };
- };
- };
- testScript = ''
- start_all()
- psqlTest.wait_for_unit("inventree.target")
- psqlTest.wait_for_unit("inventree-server.service")
- psqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket")
- psqlTest.wait_until_succeeds("curl -sf http://localhost/web")
-
- mysqlTest.wait_for_unit("inventree.target")
- mysqlTest.wait_for_unit("inventree-server.service")
- mysqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket")
- mysqlTest.wait_until_succeeds("curl -sf http://localhost/web")
- '';
-}
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index c0d98e235bc0..784e28523ed6 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -5360,8 +5360,8 @@ let
mktplcRef = {
name = "pretty-ts-errors";
publisher = "yoavbls";
- version = "0.8.3";
- hash = "sha256-YhYHtn0/en0hOts+s/Imln9WzwSrUhwBJPH1qdISUrM=";
+ version = "0.8.4";
+ hash = "sha256-FyoT9S58aBkq9Q95fC8NaaHlCoUOpCBcOO8+/I33V70=";
};
meta = {
description = "Make TypeScript errors prettier and human-readable in VSCode";
diff --git a/pkgs/by-name/al/alcarin-tengwar/package.nix b/pkgs/by-name/al/alcarin-tengwar/package.nix
new file mode 100644
index 000000000000..d792aaf678a4
--- /dev/null
+++ b/pkgs/by-name/al/alcarin-tengwar/package.nix
@@ -0,0 +1,28 @@
+{
+ lib,
+ stdenvNoCC,
+ fetchFromGitHub,
+ installFonts,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+ pname = "alcarin-tengwar";
+ version = "0.83";
+
+ src = fetchFromGitHub {
+ owner = "Tosche";
+ repo = "Alcarin-Tengwar";
+ rev = "a4530d430ea01871b0b0a54d1de218d2ffde0ea5";
+ hash = "sha256-W1PJ2ABjtGUhWp6XBUq6Zox7uG81tMEs13GidfwgD6Q=";
+ };
+
+ nativeBuildInputs = [ installFonts ];
+
+ meta = {
+ description = "Typeface designed to provide Tengwar symbols";
+ homepage = "https://github.com/Tosche/Alcarin-Tengwar";
+ license = lib.licenses.ofl;
+ maintainers = with lib.maintainers; [ gs-101 ];
+ platforms = lib.platforms.all;
+ };
+})
diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix
index 604195389af5..6ee21ab29367 100644
--- a/pkgs/by-name/co/copilot-language-server/package.nix
+++ b/pkgs/by-name/co/copilot-language-server/package.nix
@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "copilot-language-server";
- version = "1.448.0";
+ version = "1.453.0";
src = fetchzip {
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip";
- hash = "sha256-0baWiU6fwJFprJG05YpsXFWXj17ff920sL7hCGV83GI=";
+ hash = "sha256-TOzJhXCogARHgljy6DDG0AbsboAAwwReWEVVlAXzMss=";
stripRoot = false;
};
diff --git a/pkgs/by-name/cr/cropgui/package.nix b/pkgs/by-name/cr/cropgui/package.nix
new file mode 100644
index 000000000000..faf9579e5749
--- /dev/null
+++ b/pkgs/by-name/cr/cropgui/package.nix
@@ -0,0 +1,63 @@
+{
+ lib,
+ python3Packages,
+ fetchFromGitea,
+ makeWrapper,
+ libjpeg,
+ exiftool,
+}:
+
+python3Packages.buildPythonApplication (finalAttrs: {
+ pname = "cropgui";
+ version = "0.9";
+
+ src = fetchFromGitea {
+ domain = "codeberg.org";
+ owner = "jepler";
+ repo = "cropgui";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-pmo36mWTwDzqE5osXUsM3YzOAPXewLjfrDHIg6hCYjY=";
+ };
+
+ pyproject = false;
+
+ nativeBuildInputs = [
+ makeWrapper
+ ];
+
+ dependencies = with python3Packages; [
+ pillow
+ tkinter
+ ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/${python3Packages.python.sitePackages}
+ cp *.py $out/${python3Packages.python.sitePackages}
+
+ install -Dm755 cropgui.desktop $out/share/applications/cropgui.desktop
+ install -Dm644 cropgui.png $out/share/icons/hicolor/48x48/apps/cropgui.png
+
+ mkdir -p $out/bin
+ makeWrapper $out/${python3Packages.python.sitePackages}/cropgui.py $out/bin/cropgui \
+ --prefix PATH : ${
+ lib.makeBinPath [
+ libjpeg
+ exiftool
+ ]
+ } \
+ --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH"
+
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Gtk frontend for lossless cropping of jpeg images";
+ homepage = "https://codeberg.org/jepler/cropgui";
+ license = lib.licenses.gpl2Only;
+ maintainers = [ lib.maintainers.dwoffinden ];
+ mainProgram = "cropgui";
+ platforms = lib.platforms.all;
+ };
+})
diff --git a/pkgs/by-name/cr/crush/package.nix b/pkgs/by-name/cr/crush/package.nix
index 1ffea7aff27f..0f6156f36741 100644
--- a/pkgs/by-name/cr/crush/package.nix
+++ b/pkgs/by-name/cr/crush/package.nix
@@ -9,16 +9,16 @@
buildGo126Module (finalAttrs: {
pname = "crush";
- version = "0.47.2";
+ version = "0.49.0";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
- hash = "sha256-Lmp2DYrlzxVnll9x1jcnw/QgYjhA9RHpciQZ7mAUK5Y=";
+ hash = "sha256-/1Z5S28yJCxjpQwM5hLTmgKU7OxAcxjmBROktQSstTE=";
};
- vendorHash = "sha256-pBZdmQRnPfvhz66+DGQx/ZMMiYeKBfWThybw4RXsjno=";
+ vendorHash = "sha256-xakV5Alm3EwDk5VkSINxJM1C3uF492QzA+BQkqZ6qB4=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/dd/ddhx/dub-lock.json b/pkgs/by-name/dd/ddhx/dub-lock.json
new file mode 100644
index 000000000000..18a1e415e562
--- /dev/null
+++ b/pkgs/by-name/dd/ddhx/dub-lock.json
@@ -0,0 +1,3 @@
+{
+ "dependencies": {}
+}
diff --git a/pkgs/by-name/dd/ddhx/package.nix b/pkgs/by-name/dd/ddhx/package.nix
new file mode 100644
index 000000000000..fbc156530902
--- /dev/null
+++ b/pkgs/by-name/dd/ddhx/package.nix
@@ -0,0 +1,35 @@
+{
+ lib,
+ buildDubPackage,
+ fetchFromGitHub,
+}:
+buildDubPackage (finalAttrs: {
+ pname = "ddhx";
+ version = "0.9.1";
+
+ src = fetchFromGitHub {
+ owner = "dd86k";
+ repo = "ddhx";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-AFhxrYncqVnHfro4sUgCT1ZBeL3CUwcwhnGXVuFQ9ak=";
+ };
+
+ dubLock = ./dub-lock.json;
+
+ installPhase = ''
+ runHook preInstall
+ install -Dm755 ddhx -t $out/bin
+ runHook postInstall
+ '';
+
+ doCheck = true;
+
+ meta = {
+ description = "Console text-mode hex editor, inspired by GNU nano and vim";
+ homepage = "https://github.com/dd86k/ddhx";
+ changelog = "https://github.com/dd86k/ddhx/releases/tag/v${finalAttrs.version}";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.ryand56 ];
+ platforms = lib.platforms.unix;
+ };
+})
diff --git a/pkgs/by-name/gz/gz-cmake/package.nix b/pkgs/by-name/gz/gz-cmake/package.nix
index c5995dae8250..34d9fefd9806 100644
--- a/pkgs/by-name/gz/gz-cmake/package.nix
+++ b/pkgs/by-name/gz/gz-cmake/package.nix
@@ -3,6 +3,7 @@
stdenv,
fetchFromGitHub,
cmake,
+ cppcheck,
doxygen,
graphviz,
pkg-config,
@@ -10,7 +11,7 @@
nix-update-script,
}:
let
- version = "4.2.0";
+ version = "5.0.0";
versionPrefix = "gz-cmake${lib.versions.major version}";
in
stdenv.mkDerivation (finalAttrs: {
@@ -21,33 +22,42 @@ stdenv.mkDerivation (finalAttrs: {
owner = "gazebosim";
repo = "gz-cmake";
tag = "${versionPrefix}_${finalAttrs.version}";
- hash = "sha256-+bMOcGWfcwPhxR9CBp4iH02CZC4oplCjsTDpPDsDnSs=";
+ hash = "sha256-XF7oglj9Xr6F8a+6uowrY5a040yl4FZlFfW/Y0BJwOs=";
};
postPatch = ''
patchShebangs examples/test_c_child_requires_c_no_deps.bash
- substituteInPlace examples/CMakeLists.txt --replace-fail \
- "$""{CMAKE_INSTALL_LIBDIR}" "${if stdenv.hostPlatform.isDarwin then "lib" else "lib64"}"
+ substituteInPlace examples/CMakeLists.txt \
+ --replace-fail "$""{CMAKE_INSTALL_LIBDIR}" "${
+ if stdenv.hostPlatform.isDarwin then "lib" else "lib64"
+ }"
'';
nativeBuildInputs = [
cmake
+ cppcheck
doxygen
graphviz
pkg-config
+ python3
];
+ doBuildExamples = false;
+
cmakeFlags = [
(lib.cmakeBool "BUILDSYSTEM_TESTING" finalAttrs.doCheck)
+ (lib.cmakeBool "BUILD_TESTING" finalAttrs.doCheck)
+ (lib.cmakeBool "BUILD_EXAMPLES" finalAttrs.doBuildExamples)
];
- nativeCheckInputs = [ python3 ];
-
doCheck = true;
- # Extract the version by matching the tag's prefix.
- passthru.updateScript = nix-update-script {
- extraArgs = [ "--version-regex=${versionPrefix}_([\\d\\.]+)" ];
+ passthru = {
+ # bulk updater selects wrong tag
+ skipBulkUpdates = true;
+ updateScript = nix-update-script {
+ extraArgs = [ "--version-regex=gz-cmake(.*)" ];
+ };
};
meta = {
@@ -57,5 +67,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ guelakais ];
+ badPlatforms = lib.platforms.darwin; # hard replicable building error
};
})
diff --git a/pkgs/by-name/gz/gz-utils/package.nix b/pkgs/by-name/gz/gz-utils/package.nix
index c41ec4ef71d7..6ce8d479f672 100644
--- a/pkgs/by-name/gz/gz-utils/package.nix
+++ b/pkgs/by-name/gz/gz-utils/package.nix
@@ -21,13 +21,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gz-utils";
- version = "3.1.1";
+ version = "4.0.0";
src = fetchFromGitHub {
owner = "gazebosim";
repo = "gz-utils";
tag = "gz-utils${lib.versions.major finalAttrs.version}_${finalAttrs.version}";
- hash = "sha256-fYzysdB608jfMb/EbqiGD4hXmPxcaVTUrt9Wx0dBlto=";
+ hash = "sha256-fZonC/o5CNHdK/R3IgEoo1llehy36MwvXPQCgFnP8Ls=";
};
outputs = [
diff --git a/pkgs/by-name/in/inventree/package.nix b/pkgs/by-name/in/inventree/package.nix
deleted file mode 100644
index 81b09762966a..000000000000
--- a/pkgs/by-name/in/inventree/package.nix
+++ /dev/null
@@ -1,291 +0,0 @@
-{
- fetchFromGitHub,
- fetchYarnDeps,
- lib,
- nodejs,
- python312,
- stdenv,
- yarnBuildHook,
- yarnConfigHook,
- yarnInstallHook,
-}:
-let
- python3 = python312.override {
- self = python3;
- packageOverrides = self: super: {
- django = super.django_4;
- };
- };
-
- version = "1.1.10";
- src = fetchFromGitHub {
- owner = "inventree";
- repo = "inventree";
- tag = "${version}";
- hash = "sha256-TPB/3pFIU+ui4c+CbqIKTyAfJ/Xepm/RIhZeYhTrgI4=";
- };
-
- frontend =
- let
- frontendSource = src + "/src/frontend";
- in
- stdenv.mkDerivation (finalAttrs: {
-
- pname = "inventree-frontend";
- inherit version;
-
- src = frontendSource;
-
- yarnOfflineCache = fetchYarnDeps {
- yarnLock = finalAttrs.src + "/yarn.lock";
- hash = "sha256-Ijbkx+INZgsvMhkzo8h/FUY75W3UHnKAdUjQRD8kJZw=";
- };
-
- nativeBuildInputs = [
- nodejs
- yarnConfigHook
- yarnBuildHook
- yarnInstallHook
- ];
-
- buildPhase = ''
- mkdir -p $out
-
- export PATH=$PATH:$TMP/frontend/node_modules/.bin
- substituteInPlace $TMP/frontend/vite.config.ts --replace-warn "../../src/backend/InvenTree/web/static/web" "$out/static/web"
-
- npm run extract
- npm run compile
- npm run build
- '';
- });
-in
-python3.pkgs.buildPythonApplication rec {
- pname = "inventree";
- pyproject = true;
- inherit version src;
-
- dependencies =
- with python3.pkgs;
- [
- django
- dj-rest-auth
- django-allauth
- django-cleanup
- django-cors-headers
- django-crispy-forms
- django-dbbackup
- django-error-report-2
- django-filter
- django-flags
- django-formtools
- django-ical
- django-import-export
- django-maintenance-mode
- django-markdownify
- django-money
- django-mptt
- django-mailbox
- django-anymail
- django-q2
- django-redis
- django-sesame
- django-sql-utils
- django-sslserver
- django-stdimage
- django-storages
- django-structlog
- django-taggit
- django-oauth-toolkit
- django-otp
- django-user-sessions
- django-weasyprint
- standard-imghdr
- django-xforwardedfor-middleware
- djangorestframework-simplejwt
- djangorestframework
- drf-spectacular
-
- bleach
- cryptography
- distutils
- dulwich
- feedparser
- gunicorn
- jinja2
- pdf2image
- pillow
- pint
- python-barcode
- python-dotenv
- qrcode
- pytz
- pyyaml
- rapidfuzz
- sentry-sdk
- structlog
- tablib
- tinycss2
- weasyprint
- whitenoise
- pypdf
- ppf-datamatrix
- psycopg2
- mysqlclient
- requests-mock
-
- opentelemetry-api
- opentelemetry-sdk
- opentelemetry-exporter-otlp
- opentelemetry-instrumentation-django
- opentelemetry-instrumentation-requests
- opentelemetry-instrumentation-redis
- opentelemetry-instrumentation-sqlite3
- opentelemetry-instrumentation-system-metrics
- opentelemetry-instrumentation-wsgi
- ]
- ++ tablib.optional-dependencies.all
- ++ tablib.optional-dependencies.xls
- ++ tablib.optional-dependencies.xlsx
- ++ djangorestframework-simplejwt.optional-dependencies.crypto
- ++ django-anymail.optional-dependencies.amazon-ses
- ++ django-allauth.optional-dependencies.socialaccount
- ++ django-allauth.optional-dependencies.saml
- ++ django-allauth.optional-dependencies.openid
- ++ django-allauth.optional-dependencies.mfa;
-
- build-system = [ python3.pkgs.setuptools ];
-
- prePatch =
- let
- skippedCheckFunctions = [
- "test_task_check_for_updates"
- "test_download_image"
- "test_commit_info"
- "test_rates"
- "test_download_build_orders"
- "test_valid_url"
- "test_refresh_endpoint"
- "test_download_csv"
- "test_download_line_items"
- "test_export"
- "test_download_xlsx"
- "test_download_csv"
- "test_export"
- "test_part_label_translation"
- "test_part_download"
- "test_date_filters"
- "test_bom_export"
- "test_hash"
- "test_date"
- "test_api_call"
- "test_function_errors"
- "test_stocktake_exporter"
- "test_return"
- "test_plugin_install"
- "test_full_process"
- "test_package_loading"
- "test_export"
- "test_users_exist"
- "test_import_part"
- "test_model_names"
- ];
- skippedFuncScripts = builtins.map (funcName: ''
- grep -rlZ ${funcName} . | while IFS= read -r -d "" file; do
- substituteInPlace "$file" --replace-fail "${funcName}" "skip_${funcName}"
- done
- '') skippedCheckFunctions;
- in
- ''
- ${lib.concatStringsSep "\n" skippedFuncScripts}
- '';
-
- installPhase =
- let
- pythonPath = python3.pkgs.makePythonPath dependencies;
- in
- ''
- runHook preInstall
-
- # Don't need to bother with a non-maintained library from ages ago
- substituteInPlace src/backend/InvenTree/InvenTree/settings.py --replace-fail "django_slowtests.testrunner.DiscoverSlowestTestsRunner" "django.test.runner.DiscoverRunner"
-
- mkdir -p $out/lib/${pname}/src/backend/InvenTree/web/
- cp -r src $out/lib/${pname}
- ln -s ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web
- # cp -r ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web
-
- chmod +x $out/lib/${pname}/src/backend/InvenTree/manage.py
-
- makeWrapper $out/lib/${pname}/src/backend/InvenTree/manage.py $out/bin/${pname} \
- --prefix PYTHONPATH : "${pythonPath}:$out/lib/${pname}/src/backend/InvenTree"
-
- makeWrapper ${lib.getExe python3.pkgs.gunicorn} $out/bin/gunicorn \
- --prefix PYTHONPATH : "${pythonPath}:$out/${python3.sitePackages}":"${pythonPath}:$out/lib/${pname}/src/backend/InvenTree"
-
- runHook postInstall
- '';
- doCheck = true;
- env = {
- DJANGO_SETTINGS_MODULE = "InvenTree.settings";
- };
-
- checkPhase = ''
- runHook preCheck
-
- tmpDir=$(mktemp -d)
- mkdir -p $tmpDir/media
- mkdir -p $tmpDir/.cache/fontconfig
- export HOME=$tmpDir
- export INVENTREE_STATIC_ROOT=$tmpDir
- export INVENTREE_MEDIA_ROOT=$tmpDir/media
- export INVENTREE_BACKUP_DIR=$tmpDir
- export INVENTREE_DB_ENGINE=django.db.backends.sqlite3
- export INVENTREE_DB_NAME=inventree.db
- export INVENTREE_SITE_URL="http://localhost:8000"
-
- export INVENTREE_PLUGINS_ENABLED=true
- export INVENTREE_PLUGIN_TESTING=true
- export INVENTREE_PLUGIN_TESTING_SETUP=true
-
- pushd src/backend/InvenTree
- ${python3.interpreter} ./manage.py check
- ${python3.interpreter} ./manage.py migrate
-
- ${python3.interpreter} ./manage.py test --failfast
- popd
-
- runHook postCheck
- '';
-
- nativeCheckInputs = with python3.pkgs; [
- django-test-migrations
- pytest-django
- pytest-env
- pytestCheckHook
- invoke
- coverage
- pytest-cov
- pdfminer-six
- ];
- passthru =
- let
- pythonPath = python3.pkgs.makePythonPath dependencies;
- in
- {
- inherit frontend;
- pythonPath = pythonPath;
- };
-
- meta = {
- description = "Open Source Inventory Management System";
- homepage = "https://inventree.org/";
- changelog = "https://github.com/paperless-ngx/paperless-ngx/releases/tag/${src.tag}";
- license = lib.licenses.mit;
- platforms = lib.platforms.linux;
- mainProgram = "inventree";
- maintainers = with lib.maintainers; [
- kurogeek
- ];
- };
-}
diff --git a/pkgs/by-name/mi/miniflux/package.nix b/pkgs/by-name/mi/miniflux/package.nix
index 8b082e746322..83a8b819e5f5 100644
--- a/pkgs/by-name/mi/miniflux/package.nix
+++ b/pkgs/by-name/mi/miniflux/package.nix
@@ -1,24 +1,24 @@
{
lib,
- buildGoModule,
+ buildGo126Module,
fetchFromGitHub,
installShellFiles,
nixosTests,
nix-update-script,
}:
-buildGoModule (finalAttrs: {
+buildGo126Module (finalAttrs: {
pname = "miniflux";
- version = "2.2.17";
+ version = "2.2.18";
src = fetchFromGitHub {
owner = "miniflux";
repo = "v2";
tag = finalAttrs.version;
- hash = "sha256-Ru9yhI7EhLEdxmB3umOyub/SjmRY+tYxGsh2tEdZGCQ=";
+ hash = "sha256-r5MFYdWV17u2ogxN01w9FpP/ErgqQmTEl5Nizg9FzCY=";
};
- vendorHash = "sha256-BRgS58D8G6TGo7+jGjlmHrNUvVLgBE5Mm7/A/PekoI8=";
+ vendorHash = "sha256-F1FbenWzokNnF6xiZeqpu5HWs1PZo0WtlZX/ePTvBTE=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/ow/owocr/package.nix b/pkgs/by-name/ow/owocr/package.nix
index 8071dccc5e44..c05a5605c9ca 100644
--- a/pkgs/by-name/ow/owocr/package.nix
+++ b/pkgs/by-name/ow/owocr/package.nix
@@ -3,19 +3,26 @@
python3Packages,
fetchFromGitHub,
}:
-
-python3Packages.buildPythonApplication {
+python3Packages.buildPythonApplication (finalAttrs: {
pname = "owocr";
- version = "1.7.5-unstable-2024-06-26";
+ version = "1.26.3";
pyproject = true;
src = fetchFromGitHub {
owner = "AuroraWright";
repo = "owocr";
- rev = "743c64aa16a760f87bf5ea1f54364d828eb3eddb"; # no tags
- hash = "sha256-TXQwJRgRp7fZBN0r4XGVtlb+iOMRqEUf+LbfBG/vsr8=";
+ tag = finalAttrs.version;
+ hash = "sha256-/eee0uOWZgjHKhN3Ie75qxXqlSH1Fm3ipDYkvyIK5LM=";
};
+ # we use pystray directly to avoid making a new package
+ # that only carries a single patch for windows double click support.
+ # pythonRelaxDeps was not successful in patching
+ postPatch = ''
+ substituteInPlace pyproject.toml \
+ --replace-fail "pystrayfix>=0.19.8" "pystray"
+ '';
+
build-system = [ python3Packages.setuptools ];
dependencies = with python3Packages; [
@@ -41,6 +48,13 @@ python3Packages.buildPythonApplication {
manga-ocr
rapidocr
requests # winRT OCR
+ python3Packages.obsws-python
+ python3Packages.pystray
+ python3Packages.pynputfix
+ curl-cffi
+ pygobject3
+ dbus-python
+ pywayland
];
doCheck = false; # no tests
@@ -51,4 +65,4 @@ python3Packages.buildPythonApplication {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ sigmanificient ];
};
-}
+})
diff --git a/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch b/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch
index cec83ecd3802..3cfa677a428b 100644
--- a/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch
+++ b/pkgs/by-name/rs/rsshub/0001-fix-git-hash.patch
@@ -8,12 +8,12 @@ Subject: [PATCH] fix git hash
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/lib/utils/git-hash.ts b/lib/utils/git-hash.ts
-index 9a8131696..f1f568fb4 100644
+index 458651a..795bb88 100644
--- a/lib/utils/git-hash.ts
+++ b/lib/utils/git-hash.ts
@@ -1,14 +1,6 @@
- import { execSync } from 'child_process';
-
+ import { execSync } from 'node:child_process';
+
-let gitHash = process.env.HEROKU_SLUG_COMMIT?.slice(0, 8) || process.env.VERCEL_GIT_COMMIT_SHA?.slice(0, 8);
-let gitDate: Date | undefined;
-if (!gitHash) {
@@ -26,5 +26,5 @@ index 9a8131696..f1f568fb4 100644
-}
+let gitHash = '@GIT_HASH@'.slice(0, 8);
+let gitDate = new Date('Thu Jan 1 00:00:00 1970 +0000');
-
- export { gitHash, gitDate };
+
+ export { gitDate, gitHash };
diff --git a/pkgs/by-name/rs/rsshub/0002-fix-network-call.patch b/pkgs/by-name/rs/rsshub/0002-fix-network-call.patch
index e14f44ef14f7..1e2fb6c90605 100644
--- a/pkgs/by-name/rs/rsshub/0002-fix-network-call.patch
+++ b/pkgs/by-name/rs/rsshub/0002-fix-network-call.patch
@@ -1,45 +1,31 @@
-diff --git a/scripts/workflow/build-routes.ts b/scripts/workflow/build-routes.ts
-index 1bbb64cc5..941d86149 100644
---- a/scripts/workflow/build-routes.ts
-+++ b/scripts/workflow/build-routes.ts
-@@ -1,5 +1,6 @@
- import fs from 'node:fs';
- import path from 'node:path';
-+import { exit } from 'node:process';
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: RSSHub Nix packagers
+Date: Mon, 10 Mar 2026 00:00:00 +0000
+Subject: [PATCH] support BUILD_ROUTES_MODE for offline builds
+
+Add BUILD_ROUTES_MODE environment variable support to lib/registry.ts
+so that route metadata can be built using directoryImport without
+executing module-level code that would trigger network requests.
+This is required for building in the Nix sandbox (no network access).
+
+---
+ lib/registry.ts | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/lib/registry.ts b/lib/registry.ts
+--- a/lib/registry.ts
++++ b/lib/registry.ts
+@@ -56,7 +56,12 @@
- import { parse } from 'tldts';
- import toSource from 'tosource';
-@@ -11,17 +12,7 @@ import { getCurrentPath } from '../../lib/utils/helpers';
+ let namespaces: NamespacesType = {};
- const __dirname = getCurrentPath(import.meta.url);
-
--const foloAnalysis = await (
-- await fetch('https://raw.githubusercontent.com/RSSNext/rsshub-docs/refs/heads/main/rsshub-analytics.json', {
-- headers: {
-- 'user-agent': config.trueUA,
-- },
-- })
--).json();
--const foloAnalysisResult = foloAnalysis.data as Record;
--const foloAnalysisTop100 = Object.entries(foloAnalysisResult)
-- .sort((a, b) => b[1].subscriptionCount - a[1].subscriptionCount)
-- .slice(0, 150);
-+const foloAnalysisTop100: any[] = [];
-
- const maintainers: Record = {};
- const radar: {
-@@ -100,7 +91,7 @@ const uniquePaths = [...allRoutePaths].toSorted();
- const routePathsType = `// This file is auto-generated by scripts/workflow/build-routes.ts
- // Do not edit manually
-
--export type RoutePath =
-+export type RoutePath =
- ${uniquePaths.map((path) => ` | \`${path}\``).join('\n')};
- `;
-
-@@ -110,3 +101,5 @@ fs.writeFileSync(path.join(__dirname, '../../assets/build/maintainers.json'), JS
- fs.writeFileSync(path.join(__dirname, '../../assets/build/routes.json'), JSON.stringify(namespaces, null, 2));
- fs.writeFileSync(path.join(__dirname, '../../assets/build/routes.js'), `export default ${JSON.stringify(namespaces, null, 2)}`.replaceAll(/"module": "(.*)"\n/g, `"module": $1\n`));
- fs.writeFileSync(path.join(__dirname, '../../assets/build/route-paths.ts'), routePathsType);
-+
-+exit(0);
+-if (config.isPackage) {
++if (process.env.BUILD_ROUTES_MODE) {
++ modules = directoryImport({
++ targetDirectoryPath: path.join(__dirname, './routes'),
++ importPattern: /\.tsx?$/,
++ }) as typeof modules;
++} else if (config.isPackage) {
+ namespaces = (await import('../assets/build/routes.js')).default;
+ } else {
+ switch (process.env.NODE_ENV || process.env.VERCEL_ENV) {
diff --git a/pkgs/by-name/rs/rsshub/package.nix b/pkgs/by-name/rs/rsshub/package.nix
index cf622baec21a..bbcef4a9357b 100644
--- a/pkgs/by-name/rs/rsshub/package.nix
+++ b/pkgs/by-name/rs/rsshub/package.nix
@@ -2,8 +2,9 @@
lib,
fetchFromGitHub,
makeBinaryWrapper,
+ nix-update-script,
nodejs,
- pnpm_9,
+ pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
replaceVars,
@@ -11,39 +12,43 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rsshub";
- version = "0-unstable-2025-11-28";
+ version = "0-unstable-2026-03-08";
src = fetchFromGitHub {
owner = "DIYgod";
repo = "RSSHub";
- rev = "b6dbafe33e0c3e3a4ba5a1edd2da29b70412389f";
- hash = "sha256-FsevO2nb6leuuRmzCLIy093FCafl3Y/CsSp1ydJOnKY=";
+ rev = "1ad606f40f512f24ec76462299c46066e495603f";
+ hash = "sha256-hHCId59SazbR96fwAlY3De2hH5woklpALXGf9OzyY3A=";
};
patches = [
(replaceVars ./0001-fix-git-hash.patch {
- "GIT_HASH" = finalAttrs.src.rev;
+ GIT_HASH = finalAttrs.src.rev;
})
./0002-fix-network-call.patch
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
- pnpm = pnpm_9;
fetcherVersion = 3;
- hash = "sha256-jV+MpdNeaVHut0eUP7F9SmJZuLDGQE8ULR8LsiOE7Ug=";
+ hash = "sha256-aJNc6gY6/OZZp577ZhblRIPBCFXV0rE7w8SbwslQM0k=";
+ pnpm = pnpm_10;
};
nativeBuildInputs = [
makeBinaryWrapper
nodejs
pnpmConfigHook
- pnpm_9
+ pnpm_10
];
buildPhase = ''
runHook preBuild
- pnpm build
+ # First build route metadata using directoryImport (avoids executing
+ # module-level code that would trigger network requests)
+ BUILD_ROUTES_MODE=1 pnpm run build:routes
+ # Then build the application
+ pnpm run build
runHook postBuild
'';
@@ -57,13 +62,13 @@ stdenv.mkDerivation (finalAttrs: {
preFixup = ''
makeWrapper ${lib.getExe nodejs} $out/bin/rsshub \
- --chdir "$out/lib/rsshub" \
--set "NODE_ENV" "production" \
--set "NO_LOGFILES" "true" \
- --set "TSX_TSCONFIG_PATH" "$out/lib/rsshub/tsconfig.json" \
- --append-flags "$out/lib/rsshub/dist/index.mjs"
+ --add-flags "$out/lib/rsshub/dist/index.mjs"
'';
+ passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch=master" ]; };
+
meta = {
description = "RSS feed generator";
longDescription = ''
@@ -75,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
new features and bug fixes.
'';
homepage = "https://docs.rsshub.app";
- license = lib.licenses.mit;
+ license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ xinyangli ];
mainProgram = "rsshub";
platforms = lib.platforms.all;
diff --git a/pkgs/by-name/ru/runn/package.nix b/pkgs/by-name/ru/runn/package.nix
index ddba8128ee62..9576971be311 100644
--- a/pkgs/by-name/ru/runn/package.nix
+++ b/pkgs/by-name/ru/runn/package.nix
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "runn";
- version = "1.3.0";
+ version = "1.6.0";
src = fetchFromGitHub {
owner = "k1LoW";
repo = "runn";
tag = "v${finalAttrs.version}";
- hash = "sha256-hDPXYGKDTvVFyMU08OeIxp70w9gimgY9qp9j38Ea5bc=";
+ hash = "sha256-zxlPm27RwSXBSq/k7gxY/d4oozU/bpD7AIKZHzGxwh8=";
};
- vendorHash = "sha256-gLemeaNAmFVm9Ld2b3QTjdlKMye0TpKVSuQHj0ToMN4=";
+ vendorHash = "sha256-RHJkMKCz39M4LEEyicO4SQDL7thcCr93Cj2NrkrkM0c=";
subPackages = [ "cmd/runn" ];
diff --git a/pkgs/by-name/sb/sbarlua/package.nix b/pkgs/by-name/sb/sbarlua/package.nix
index 1d7bdfc4a870..5c43c7e88674 100644
--- a/pkgs/by-name/sb/sbarlua/package.nix
+++ b/pkgs/by-name/sb/sbarlua/package.nix
@@ -2,31 +2,34 @@
lib,
fetchFromGitHub,
gcc,
- lua54Packages,
+ lua55Packages,
readline,
}:
-lua54Packages.buildLuaPackage {
+lua55Packages.buildLuaPackage {
pname = "sbarLua";
- version = "0-unstable-2024-08-12";
+ version = "0-unstable-2026-03-06";
src = fetchFromGitHub {
owner = "FelixKratz";
repo = "SbarLua";
- rev = "437bd2031da38ccda75827cb7548e7baa4aa9978";
- hash = "sha256-F0UfNxHM389GhiPQ6/GFbeKQq5EvpiqQdvyf7ygzkPg=";
+ rev = "dba9cc421b868c918d5c23c408544a28aadf2f2f";
+ hash = "sha256-lhLTrdufA3ALJ2S5HLdgNOr5seWIWEHkVhZNPObzbvI=";
};
nativeBuildInputs = [ gcc ];
buildInputs = [ readline ];
- makeFlags = [ "INSTALL_DIR=$(out)/lib/lua/${lua54Packages.lua.luaversion}" ];
+ makeFlags = [ "INSTALL_DIR=$(out)/lib/lua/${lua55Packages.lua.luaversion}" ];
meta = {
description = "Lua API for SketchyBar";
homepage = "https://github.com/FelixKratz/SbarLua/";
license = lib.licenses.gpl3;
- maintainers = [ lib.maintainers.khaneliman ];
+ maintainers = [
+ lib.maintainers.khaneliman
+ lib.maintainers.kaynetik
+ ];
platforms = lib.platforms.darwin;
};
}
diff --git a/pkgs/by-name/sc/schemesh/package.nix b/pkgs/by-name/sc/schemesh/package.nix
index 783033bea528..6d7b5f8344ba 100644
--- a/pkgs/by-name/sc/schemesh/package.nix
+++ b/pkgs/by-name/sc/schemesh/package.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "schemesh";
- version = "0.9.3";
+ version = "1.0.0";
src = fetchFromGitHub {
owner = "cosmos72";
repo = "schemesh";
tag = "v${finalAttrs.version}";
- hash = "sha256-OhQpXFg3eroVpw4zkENM4zwqHqGNolstlq9oLhQ2cbY=";
+ hash = "sha256-Tt3pxzti/Vv5JiP0kiplv6gOPiFU75tKoKyvpEPPztw=";
};
buildInputs = [
diff --git a/pkgs/by-name/sl/slack/sources.nix b/pkgs/by-name/sl/slack/sources.nix
index ec2f086eb4e0..bc0535e188c1 100644
--- a/pkgs/by-name/sl/slack/sources.nix
+++ b/pkgs/by-name/sl/slack/sources.nix
@@ -1,26 +1,26 @@
# Generated by ./update.sh - do not update manually!
-# Last updated: 2025-12-15
+# Last updated: 2026-03-14
{ fetchurl }:
{
aarch64-darwin = {
- version = "4.47.72";
+ version = "4.48.100";
src = fetchurl {
- url = "https://downloads.slack-edge.com/desktop-releases/mac/arm64/4.47.72/Slack-4.47.72-macOS.dmg";
- hash = "sha256-AihMQAjMMRWJftQOp9gnIC/df8nnrKnkpRym8sdtUkA=";
+ url = "https://downloads.slack-edge.com/desktop-releases/mac/arm64/4.48.100/Slack-4.48.100-macOS.dmg";
+ hash = "sha256-vzgxVBRncNQ4mchSgbe9vm3kEiPXHeMlhm3Xq4COi7A=";
};
};
x86_64-darwin = {
- version = "4.47.72";
+ version = "4.48.100";
src = fetchurl {
- url = "https://downloads.slack-edge.com/desktop-releases/mac/x64/4.47.72/Slack-4.47.72-macOS.dmg";
- hash = "sha256-H1Dqtlqz1FxDqq4iAZJsTkugLp+WVU9fKB+H19l+vug=";
+ url = "https://downloads.slack-edge.com/desktop-releases/mac/x64/4.48.100/Slack-4.48.100-macOS.dmg";
+ hash = "sha256-5IEIgDxdE2Pnpy3gkJT3Cwzo3hRoTPziFAj30SnapVQ=";
};
};
x86_64-linux = {
- version = "4.47.72";
+ version = "4.48.100";
src = fetchurl {
- url = "https://downloads.slack-edge.com/desktop-releases/linux/x64/4.47.72/slack-desktop-4.47.72-amd64.deb";
- hash = "sha256-o1WOTBG5u4jL+NGbTEZq+afM2UwUJZ0gtsWKsnsOkvE=";
+ url = "https://downloads.slack-edge.com/desktop-releases/linux/x64/4.48.100/slack-desktop-4.48.100-amd64.deb";
+ hash = "sha256-un+GE8zKDrag6YQMYN8+0ki7J3877FfMFqqucHhPBgk=";
};
};
}
diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix
index 55ba0f243555..39ed70a74b5c 100644
--- a/pkgs/by-name/to/tombi/package.nix
+++ b/pkgs/by-name/to/tombi/package.nix
@@ -9,19 +9,19 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tombi";
- version = "0.9.2";
+ version = "0.9.6";
src = fetchFromGitHub {
owner = "tombi-toml";
repo = "tombi";
tag = "v${finalAttrs.version}";
- hash = "sha256-K3kdIGOUADliz0X2UMwFpzOnQ9/q0HnmHCz45A2Zi8w=";
+ hash = "sha256-sqzdZqs8qMCA3VSXPsBTVZ4fgZUogVl7mQKnbateV/Y=";
};
# Tests relies on the presence of network
doCheck = false;
cargoBuildFlags = [ "--package tombi-cli" ];
- cargoHash = "sha256-+MKyDJIbPyfnQPJV3pM+USdMrxIgloTGbSwpi1R+eTg=";
+ cargoHash = "sha256-bW7VfL/3XIGVhQOPNDXURsolGG3gBHAsTEC7FO2P0bI=";
postPatch = ''
substituteInPlace Cargo.toml \
diff --git a/pkgs/by-name/vi/visual-paradigm-ce/package.nix b/pkgs/by-name/vi/visual-paradigm-ce/package.nix
index 3d06bf435ded..04e0d38884b6 100644
--- a/pkgs/by-name/vi/visual-paradigm-ce/package.nix
+++ b/pkgs/by-name/vi/visual-paradigm-ce/package.nix
@@ -5,11 +5,12 @@
copyDesktopItems,
makeDesktopItem,
openjdk,
+ writeScript,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "visual-paradigm-ce";
- version = "17.3.20260101";
+ version = "18.0.20260303";
src =
let
@@ -21,9 +22,20 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://eu10-dl.visual-paradigm.com/visual-paradigm/vpce${majorMinor}/${suffix}/Visual_Paradigm_CE_${
builtins.replaceStrings [ "." ] [ "_" ] majorMinor
}_${suffix}_Linux64_InstallFree.tar.gz";
- hash = "sha256-RAujr6tws3HTyoZc6/MTbc5HEqyX9XmSl4IPJNayjQA=";
+ hash = "sha256-n6cijv9ndliqcvcbIOnMB/mwIjkOzWe1AcJZB+HdHBg=";
};
+ passthru.updateScript = writeScript "update-visual-paradigm-ce" ''
+ #!/usr/bin/env nix-shell
+ #!nix-shell -i bash -p curl gnused common-updater-scripts
+
+ set -eu -o pipefail
+
+ version = "$(curl -Ls -o /dev/null -w %{url_effective} https://www.visual-paradigm.com/downloads/vpce/checksum.html | sed -E 's#.*/vpce([0-9]+\.[0-9]+)/([0-9]+)/.*#\1.\2#')"
+
+ update-source-version visual-paradigm-ce "$version"
+ '';
+
nativeBuildInputs = [
copyDesktopItems
];
diff --git a/pkgs/by-name/we/wechat/package.nix b/pkgs/by-name/we/wechat/package.nix
index 4fe5afe4f9d3..a265c5ae7384 100644
--- a/pkgs/by-name/we/wechat/package.nix
+++ b/pkgs/by-name/we/wechat/package.nix
@@ -44,18 +44,21 @@ let
{
aarch64-darwin = any-darwin;
x86_64-darwin = any-darwin;
+ # use https://web.archive.org/save to archive the Linux versions
+ # add `if_` at the end of timestamps to avoid toolbar insertion
+ # for a more complicated guide, see https://en.wikipedia.org/wiki/Help:Using_the_Wayback_Machine
aarch64-linux = {
- version = "4.1.0.13";
+ version = "4.1.1.4";
src = fetchurl {
- url = "https://web.archive.org/web/20251209092116if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.AppImage";
- hash = "sha256-/d5crM6IGd0k0fSlBSQx4TpIVX/8iib+an0VMkWMNdw=";
+ url = "https://web.archive.org/web/20260311102559if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.AppImage";
+ hash = "sha256-YlWJxT62tXDaNwYVpsPMC5elFH8fsbI1HjTQn6ePiPo=";
};
};
x86_64-linux = {
- version = "4.1.0.13";
+ version = "4.1.1.4";
src = fetchurl {
- url = "https://web.archive.org/web/20251219062558if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage";
- hash = "sha256-+r5Ebu40GVGG2m2lmCFQ/JkiDsN/u7XEtnLrB98602w=";
+ url = "https://web.archive.org/web/20260311102439if_/https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage";
+ hash = "sha256-XxAvFnlljqurGPDgRr+DnuCKbdVvgXBPh02DLHY3Oz8=";
};
};
};
diff --git a/pkgs/development/python-modules/django-dbbackup/default.nix b/pkgs/development/python-modules/django-dbbackup/default.nix
deleted file mode 100644
index 3e9fe5a9a379..000000000000
--- a/pkgs/development/python-modules/django-dbbackup/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- buildPythonPackage,
- coverage,
- django,
- django-storages,
- fetchFromGitHub,
- flake8,
- gnupg,
- lib,
- pep8,
- psycopg2,
- pylint,
- pytest-django,
- pytestCheckHook,
- python-dotenv,
- python-gnupg,
- pytz,
- setuptools,
- testfixtures,
- tox,
- pythonOlder,
-}:
-buildPythonPackage rec {
- pname = "django-dbbackup";
- version = "4.3.0";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "django-dbbackup";
- repo = "django-dbbackup";
- tag = version;
- hash = "sha256-w+LfU5I7swnCJpwqBqoCTRUCZjKoIxK3OC+8CrihLEI=";
- };
-
- disabled = pythonOlder "3.9";
-
- dependencies = [
- django
- python-gnupg
- pytz
- ];
-
- build-system = [ setuptools ];
- doCheck = true;
- preCheck = ''
- tempDir=$(mktemp -d)
- export HOME=$tempDir
- export DJANGO_SETTINGS_MODULE=dbbackup.tests.settings
- '';
- pythonImportsCheck = [ "dbbackup" ];
- disabledTestPaths = [
- # Specific gnupg version required, which aren't provided in upstream
- "dbbackup/tests/commands/test_dbrestore.py::DbrestoreCommandRestoreBackupTest::test_decrypt"
- "dbbackup/tests/test_connectors/test_base.py::BaseCommandDBConnectorTest::test_run_command_with_parent_env"
- "dbbackup/tests/test_utils.py::Encrypt_FileTest::test_func"
- "dbbackup/tests/test_utils.py::Compress_FileTest::test_func"
- ];
- nativeCheckInputs = [
- coverage
- django-storages
- flake8
- gnupg
- pep8
- psycopg2
- pylint
- pytest-django
- pytestCheckHook
- python-dotenv
- testfixtures
- tox
- ];
-
- meta = with lib; {
- description = "Management commands to help backup and restore your project database and media files";
- homepage = "https://github.com/Archmonger/django-dbbackup";
- changelog = "https://github.com/Archmonger/django-dbbackup/releases/tag/${version}";
- license = licenses.bsd3;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-error-report-2/default.nix b/pkgs/development/python-modules/django-error-report-2/default.nix
deleted file mode 100644
index be1803e3a798..000000000000
--- a/pkgs/development/python-modules/django-error-report-2/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- setuptools,
- pythonOlder,
-}:
-buildPythonPackage rec {
- pname = "django-error-report-2";
- version = "0.4.2";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "matmair";
- repo = "django-error-report-2";
- tag = version;
- hash = "sha256-ZCaslqgruJxM8345/jSlZGruM+27H9hvwL0wtPkUzc0=";
- };
-
- disabled = pythonOlder "3.6";
-
- dependencies = [
- django
- ];
-
- build-system = [ setuptools ];
- # There is no tests on upstream
- doCheck = false;
- pythonImportsCheck = [ "error_report" ];
-
- meta = with lib; {
- description = "Log/View Django server errors.";
- homepage = "https://github.com/matmair/django-error-report-2";
- changelog = "https://github.com/matmair/django-error-report-2/releases/tag/${version}";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-flags/default.nix b/pkgs/development/python-modules/django-flags/default.nix
deleted file mode 100644
index a239a4aa7988..000000000000
--- a/pkgs/development/python-modules/django-flags/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- buildPythonPackage,
- coverage,
- django,
- django-debug-toolbar,
- fetchFromGitHub,
- jinja2,
- lib,
- pytest-django,
- pytestCheckHook,
- setuptools-scm,
- setuptools,
-}:
-buildPythonPackage rec {
- pname = "django-flags";
- version = "5.2.0";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "cfpb";
- repo = "django-flags";
- tag = version;
- hash = "sha256-4UOueNXfDouTqpLpG391zcGHTTJ8GfznYmEl33YKdv8=";
- };
-
- dependencies = [
- django
- ];
-
- build-system = [
- setuptools
- setuptools-scm
- ];
- doCheck = true;
- preCheck = ''
- export DJANGO_SETTINGS_MODULE=flags.tests.settings
- '';
- pythonImportsCheck = [ "flags" ];
- nativeCheckInputs = [
- coverage
- (django-debug-toolbar.overrideAttrs (old: rec {
- version = "5.2.0";
- src = old.src.override {
- tag = version;
- hash = "sha256-/oWirfJaiHVRI1m3N1QveutX2sag8fjYqJYCZ8BnMa0=";
- };
- }))
- jinja2
- pytest-django
- pytestCheckHook
- ];
-
- meta = with lib; {
- description = "Feature flags for Django projects";
- homepage = "https://github.com/cfpb/django-flags";
- changelog = "https://github.com/cfpb/django-flags/releases/tag/${version}";
- license = licenses.cc0;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-ical/default.nix b/pkgs/development/python-modules/django-ical/default.nix
deleted file mode 100644
index 78a74319752d..000000000000
--- a/pkgs/development/python-modules/django-ical/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- pytest-django,
- pytestCheckHook,
- setuptools-scm,
- icalendar,
- django-recurrence,
- pythonOlder,
-}:
-buildPythonPackage rec {
- pname = "django-ical";
- version = "1.9.2";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "jazzband";
- repo = "django-ical";
- tag = version;
- hash = "sha256-DUe0loayGcUS7MTyLn+g0KBxbIY7VsaoQNHGSMbMI3U=";
- };
-
- disabled = pythonOlder "3.7";
-
- dependencies = [
- django
- django-recurrence
- # Latest version didn't pass the test
- (icalendar.overrideAttrs (old: rec {
- version = "6.0.0";
- src = old.src.override {
- tag = "v${version}";
- hash = "sha256-eWFDY/pNVfcUk3PfB0vXqh9swuSGtflUw44IMDJI+yI=";
- };
- }))
- ];
-
- build-system = [ setuptools-scm ];
- doCheck = true;
- preCheck = ''
- export DJANGO_SETTINGS_MODULE=test_settings
- '';
- pythonImportsCheck = [
- "icalendar"
- "django_ical"
- ];
- nativeCheckInputs = [
- pytest-django
- pytestCheckHook
- ];
-
- meta = with lib; {
- description = "iCal feeds for Django based on Django's syndication feed framework.";
- homepage = "https://github.com/jazzband/django-ical";
- changelog = "https://github.com/jazzband/django-ical/releases/tag/${version}";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-mailbox/default.nix b/pkgs/development/python-modules/django-mailbox/default.nix
deleted file mode 100644
index a6f397145474..000000000000
--- a/pkgs/development/python-modules/django-mailbox/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- pytest-django,
- pytestCheckHook,
- setuptools,
- six,
- pythonOlder,
-}:
-buildPythonPackage rec {
- pname = "django-mailbox";
- version = "4.10.1";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "coddingtonbear";
- repo = "django-mailbox";
- tag = version;
- hash = "sha256-7CBUnqveTSfdc+8x8sZUqvwYW3vKjZKfOPVWFSo4es0=";
- };
-
- disabled = pythonOlder "3.8";
-
- dependencies = [
- django
- six
- ];
-
- build-system = [ setuptools ];
- doCheck = true;
- preCheck = ''
- substituteInPlace setup.cfg --replace-fail "pytest" "tool:pytest"
- export DJANGO_SETTINGS_MODULE=django_mailbox.tests.settings
- '';
- pythonImportsCheck = [ "django_mailbox" ];
- nativeCheckInputs = [
- pytest-django
- pytestCheckHook
- ];
-
- meta = with lib; {
- description = "Import mail from POP3, IMAP, local email mailboxes or directly from Postfix or Exim4 into your Django application automatically.";
- homepage = "https://github.com/coddingtonbear/django-mailbox";
- changelog = "https://github.com/coddingtonbear/django-mailbox/releases/tag/${version}";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-markdownify/default.nix b/pkgs/development/python-modules/django-markdownify/default.nix
deleted file mode 100644
index 5adb99e29c1f..000000000000
--- a/pkgs/development/python-modules/django-markdownify/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- pytest-django,
- pytestCheckHook,
- setuptools,
- markdown,
- bleach,
- tinycss2,
-}:
-buildPythonPackage rec {
- pname = "django-markdownify";
- version = "0.9.6";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "erwinmatijsen";
- repo = "django-markdownify";
- tag = version;
- hash = "sha256-L/N0jjxBz7aQletOg+qairgq4utifPz4oqjT9AcljLI=";
- };
-
- dependencies = [
- django
- markdown
- bleach
- ];
-
- build-system = [ setuptools ];
- doCheck = true;
- preCheck = ''
- export DJANGO_SETTINGS_MODULE=markdownify.checks
- '';
- nativeCheckInputs = [
- tinycss2
- pytest-django
- pytestCheckHook
- ];
- pythonImportsCheck = [ "markdownify" ];
- disabledTests = [
- # Test settings didn't setup DjangoTemplates
- "test_markdownify_nodelist"
- ];
-
- meta = with lib; {
- description = "Markdown template filter for Django";
- homepage = "https://github.com/erwinmatijsen/django-markdownify";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-money/default.nix b/pkgs/development/python-modules/django-money/default.nix
deleted file mode 100644
index 698cab66fe54..000000000000
--- a/pkgs/development/python-modules/django-money/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- fetchFromGitHub,
- buildPythonPackage,
- setuptools,
- lib,
- django,
- py-moneyed,
- certifi,
- pytestCheckHook,
- pytest-django,
- pytest-cov,
-}:
-buildPythonPackage rec {
- pname = "django-money";
- version = "3.6.0";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "django-money";
- repo = "django-money";
- tag = version;
- hash = "sha256-VxAKTtrbDMRhiLxqjVYt7pLGl0sy9F1iwswP/hxQ01k=";
- };
-
- dependencies = [
- django
- certifi
- py-moneyed
- ];
-
- build-system = [ setuptools ];
- doCheck = true;
- nativeCheckInputs = [
- pytestCheckHook
- pytest-django
- pytest-cov
- ];
- pythonImportsCheck = [ "djmoney" ];
-
- # avoid tests which import mixer, an abandoned library
- disabledTests = [
- "test_mixer_blend"
- ];
-
- meta = with lib; {
- description = "Money fields for Django forms and models.";
- homepage = "https://github.com/django-money/django-money";
- changelog = "https://github.com/django-money/django-money/releases/tag/${version}";
- license = licenses.bsd3;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-recurrence/default.nix b/pkgs/development/python-modules/django-recurrence/default.nix
deleted file mode 100644
index 507f70aa6ac9..000000000000
--- a/pkgs/development/python-modules/django-recurrence/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- python-dateutil,
- pytest-django,
- pytestCheckHook,
- pytest-cov,
- pytest-sugar,
- setuptools-scm,
- pythonOlder,
-}:
-buildPythonPackage rec {
- pname = "django-recurrence";
- version = "1.11.1";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "jazzband";
- repo = "django-recurrence";
- tag = version;
- hash = "sha256-Ytf4fFTVFIQ+6IBhwRMtCkonP0POivv4TrYok37nghA=";
- };
-
- disabled = pythonOlder "3.7";
-
- dependencies = [
- django
- python-dateutil
- ];
-
- build-system = [ setuptools-scm ];
- doCheck = true;
- pythonImportsCheck = [ "recurrence" ];
- nativeCheckInputs = [
- pytest-django
- pytest-cov
- pytest-sugar
- pytestCheckHook
- ];
-
- meta = with lib; {
- description = "Utility for working with recurring dates in Django.";
- homepage = "https://github.com/jazzband/django-recurrence";
- changelog = "https://github.com/jazzband/django-recurrence/releases/tag/${version}";
- license = licenses.bsd3;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-sslserver/default.nix b/pkgs/development/python-modules/django-sslserver/default.nix
deleted file mode 100644
index 0077fafee8ab..000000000000
--- a/pkgs/development/python-modules/django-sslserver/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- buildPythonPackage,
- django,
- lib,
- fetchurl,
- setuptools-scm,
- pythonOlder,
-}:
-buildPythonPackage {
- pname = "django-sslserver";
- version = "0.22";
- format = "wheel";
-
- src = fetchurl {
- url = "https://files.pythonhosted.org/packages/6f/97/e4011f3944f83a7d2aaaf893c3689ad70e8d2ae46fb6e14fd0e3b0c6ce0b/django_sslserver-0.22-py3-none-any.whl";
- hash = "sha256-xZijY9LM3CQhwI3bPYsJc/gOjkejpbdOSiiW8hwpR8U=";
- };
-
- disabled = pythonOlder "3.4";
-
- dependencies = [
- django
- ];
-
- build-system = [ setuptools-scm ];
- doCheck = true;
-
- meta = with lib; {
- description = "A SSL-enabled development server for Django";
- homepage = "https://github.com/teddziuba/django-sslserver";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-stdimage/default.nix b/pkgs/development/python-modules/django-stdimage/default.nix
deleted file mode 100644
index b3fed998628d..000000000000
--- a/pkgs/development/python-modules/django-stdimage/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- pytest-django,
- pytestCheckHook,
- setuptools-scm,
- pillow,
- pytest-cov,
- gettext,
- pythonOlder,
- pythonAtLeast,
-}:
-buildPythonPackage rec {
- pname = "django-stdimage";
- version = "6.0.2";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "codingjoe";
- repo = "django-stdimage";
- tag = version;
- hash = "sha256-uwVU3Huc5fitAweShJjcMW//GBeIpJcxqKKLGo/EdIs=";
- };
-
- disabled = pythonOlder "3.8" || pythonAtLeast "3.13";
-
- dependencies = [
- django
- pillow
- ];
-
- build-system = [ setuptools-scm ];
- nativeBuildInputs = [ gettext ];
-
- doCheck = true;
- preCheck = ''
- export DJANGO_SETTINGS_MODULE=tests.settings
- '';
- disabledTests = [
- # SuspiciousFileOperation: Detected path traversal attempt (Even appear in upstream)
- "test_variations_override"
- ];
- pythonImportsCheck = [
- "stdimage"
- "stdimage.validators"
- "stdimage.models"
- ];
- nativeCheckInputs = [
- pytest-django
- pytest-cov
- pytestCheckHook
- ];
-
- meta = with lib; {
- description = "Django Standardized Image Field";
- homepage = "https://github.com/codingjoe/django-stdimage";
- changelog = "https://github.com/codingjoe/django-stdimage/releases/tag/${version}";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-structlog/default.nix b/pkgs/development/python-modules/django-structlog/default.nix
deleted file mode 100644
index 55f207871db1..000000000000
--- a/pkgs/development/python-modules/django-structlog/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- buildPythonPackage,
- fetchFromGitHub,
- lib,
- setuptools,
- python,
- pkgs,
-}:
-buildPythonPackage rec {
- pname = "django-structlog";
- version = "10.0.0";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "jrobichaud";
- repo = "django-structlog";
- tag = version;
- hash = "sha256-BNZ+nk2NK5x2YsTDZjH5BVizXAyLZhKp8zRvkWi068k=";
- };
-
- dependencies = with python.pkgs; [
- colorama
- django
- django-allauth
- crispy-bootstrap5
- django-crispy-forms
- django-environ
- django-extensions
- django-ipware
- django-model-utils
- django-ninja
- django-redis
- djangorestframework
- structlog
- ];
-
- optional-dependencies.celery = with python.pkgs; [ celery ];
-
- build-system = [ setuptools ];
- doCheck = true;
- preCheck = ''
- export DJANGO_SETTINGS_MODULE=config.settings.test_demo_app
-
- ${pkgs.valkey}/bin/redis-server &
- REDIS_PID=$!
- '';
- postCheck = ''
- kill $REDIS_PID
- '';
-
- pytestFlags = [
- "-x"
- "--cov=./django_structlog_demo_project"
- "--cov-append django_structlog_demo_project"
- ];
- pythonImportsCheck = [
- "structlog"
- "django_structlog"
- ];
-
- nativeCheckInputs = with python.pkgs; [
- celery
- factory-boy
- pytest-asyncio
- pytest-cov
- pytest-django
- pytest-mock
- pytest-sugar
- pytestCheckHook
- ];
-
- __darwinAllowLocalNetworking = true;
-
- meta = with lib; {
- description = "Structured Logging for Django";
- homepage = "https://github.com/jrobichaud/django-structlog";
- changelog = "https://github.com/jrobichaud/django-structlog/releases/tag/${version}";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-user-sessions/default.nix b/pkgs/development/python-modules/django-user-sessions/default.nix
deleted file mode 100644
index 3c679e54c725..000000000000
--- a/pkgs/development/python-modules/django-user-sessions/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- fetchFromGitHub,
- buildPythonPackage,
- setuptools-scm,
- lib,
- django,
-}:
-buildPythonPackage rec {
- pname = "django-user-sessions";
- version = "3.0.3";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "jazzband";
- repo = "django-user-sessions";
- tag = version;
- hash = "sha256-vHLeEmlVil1iJi+YkxL5c04Vq/b5b43tjC2ZcjH4/Ys=";
- };
-
- dependencies = [
- django
- ];
-
- build-system = [ setuptools-scm ];
-
- meta = with lib; {
- description = "Extend Django sessions with a foreign key back to the user, allowing enumerating all user's sessions.";
- homepage = "https://github.com/jazzband/django-user-sessions";
- license = licenses.mit;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix b/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix
deleted file mode 100644
index e6806a4d28f2..000000000000
--- a/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- buildPythonPackage,
- django,
- fetchFromGitHub,
- lib,
- setuptools,
-}:
-buildPythonPackage rec {
- pname = "django-xforwardedfor-middleware";
- version = "2.0";
- pyproject = true;
-
- src = fetchFromGitHub {
- owner = "allo-";
- repo = "django-xforwardedfor-middleware";
- tag = "v${version}";
- hash = "sha256-dDXSb17kXOSeIgY6wid1QFHhUjrapasWgCEb/El51eA=";
- };
-
- dependencies = [
- django
- ];
-
- build-system = [ setuptools ];
- doCheck = true;
-
- meta = with lib; {
- description = "Use the X-Forwarded-For header to get the real ip of a request";
- homepage = "https://github.com/allo-/django-xforwardedfor-middleware";
- license = licenses.publicDomain;
- maintainers = with maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/gerbonara/default.nix b/pkgs/development/python-modules/gerbonara/default.nix
index 1faba0f4d8a8..f858980e5b76 100644
--- a/pkgs/development/python-modules/gerbonara/default.nix
+++ b/pkgs/development/python-modules/gerbonara/default.nix
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "gerbonara";
- version = "1.6.1";
+ version = "1.6.2";
pyproject = true;
src = fetchFromGitHub {
owner = "jaseg";
repo = "gerbonara";
tag = "v${version}";
- hash = "sha256-kzEjfM9QrT+izwyCnNdN6Bv6lk1rzqs7tfDvERzJzzI=";
+ hash = "sha256-fT13JMoOvKMxdHoagZAmIsGhU3M1S4bEmKUHae+EJcI=";
};
build-system = [ uv-build ];
diff --git a/pkgs/development/python-modules/obsws-python/default.nix b/pkgs/development/python-modules/obsws-python/default.nix
new file mode 100644
index 000000000000..f5beeab35a55
--- /dev/null
+++ b/pkgs/development/python-modules/obsws-python/default.nix
@@ -0,0 +1,36 @@
+{
+ lib,
+ fetchFromGitHub,
+ buildPythonPackage,
+ hatchling,
+ tomli,
+ websocket-client,
+}:
+buildPythonPackage (finalAttrs: {
+ pname = "obsws-python";
+ version = "5.5";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "aatikturk";
+ repo = "obsws-python";
+ rev = "f70583d7ca250c1f3a0df768d3cfd41663a6023b"; # no tags
+ hash = "sha256-krIiSmn/56Ao4fH6Y7JSQ11Euqt0tIq4JJjxqrt8MZc=";
+ };
+
+ build-system = [ hatchling ];
+
+ dependencies = [
+ tomli
+ websocket-client
+ ];
+
+ doCheck = false; # attempts to connect to OBS
+
+ meta = {
+ description = "Python SDK for OBS Studio WebSocket v5.0";
+ homepage = "https://github.com/aatikturk/obsws-python";
+ license = lib.licenses.gpl3Only;
+ maintainers = with lib.maintainers; [ sigmanificient ];
+ };
+})
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix
index 5e4901083006..5fdbdb75e7cf 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix
@@ -1,6 +1,5 @@
{
buildPythonPackage,
- pythonOlder,
hatchling,
opentelemetry-instrumentation,
opentelemetry-instrumentation-dbapi,
@@ -13,8 +12,6 @@ buildPythonPackage {
pname = "opentelemetry-instrumentation-sqlite3";
pyproject = true;
- disabled = pythonOlder "3.8";
-
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-sqlite3";
build-system = [ hatchling ];
@@ -33,6 +30,6 @@ buildPythonPackage {
meta = opentelemetry-instrumentation.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-sqlite3";
- description = "OpenTelemetry Instrumentation for Django";
+ description = "OpenTelemetry SQLite3 instrumentation";
};
}
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix
index 3f2ec8350c26..1dbb8482f801 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix
@@ -14,8 +14,6 @@ buildPythonPackage {
pname = "opentelemetry-instrumentation-system-metrics";
pyproject = true;
- disabled = pythonOlder "3.8";
-
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-system-metrics";
build-system = [ hatchling ];
@@ -35,6 +33,6 @@ buildPythonPackage {
meta = opentelemetry-instrumentation.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-system-metrics";
- description = "OpenTelemetry Instrumentation for Django";
+ description = "OpenTelemetry System Metrics Instrumentation";
};
}
diff --git a/pkgs/development/python-modules/peakrdl-rust/default.nix b/pkgs/development/python-modules/peakrdl-rust/default.nix
index fdca6b390897..b8857bd053df 100644
--- a/pkgs/development/python-modules/peakrdl-rust/default.nix
+++ b/pkgs/development/python-modules/peakrdl-rust/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "peakrdl-rust";
- version = "0.5.1";
+ version = "0.6.2";
pyproject = true;
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "darsor";
repo = "PeakRDL-rust";
tag = "v${version}";
- hash = "sha256-rcVM7ljFWlEXLxG7ASXE2iZ+WYazeMFE0sgTzkviOP0=";
+ hash = "sha256-YU2JZGC8AF3mhzwozItgqtWsrs4YEltZiP1rNkPfZ7M=";
};
build-system = [ uv-build ];
diff --git a/pkgs/development/python-modules/ppf-datamatrix/default.nix b/pkgs/development/python-modules/ppf-datamatrix/default.nix
deleted file mode 100644
index b4942912fbe4..000000000000
--- a/pkgs/development/python-modules/ppf-datamatrix/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- lib,
- buildPythonPackage,
- setuptools-scm,
- pythonOlder,
- fetchPypi,
- pytestCheckHook,
-}:
-
-buildPythonPackage rec {
- pname = "ppf-datamatrix";
- version = "0.2";
- format = "pyproject";
-
- disabled = pythonOlder "3.6";
-
- src = fetchPypi {
- inherit pname version;
- hash = "sha256-jwNNnJDkCPYPixCic7qrgQFMmoHJg9wevcMdTKWsVYI=";
- };
-
- doCheck = true;
- pythonImportsCheck = [ "ppf.datamatrix" ];
- nativeCheckInputs = [ pytestCheckHook ];
-
- build-system = [ setuptools-scm ];
-
- meta = {
- description = "Pure-python package to generate data matrix codes.";
- homepage = "https://github.com/adrianschlatter/ppf.datamatrix";
- license = lib.licenses.mit;
- maintainers = with lib.maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/py-moneyed/default.nix b/pkgs/development/python-modules/py-moneyed/default.nix
deleted file mode 100644
index e839d6ec1958..000000000000
--- a/pkgs/development/python-modules/py-moneyed/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- lib,
- buildPythonPackage,
- fetchPypi,
- setuptools,
- babel,
- pythonOlder,
- typing-extensions,
-}:
-
-buildPythonPackage rec {
- pname = "py-moneyed";
- version = "3.0";
- format = "pyproject";
-
- disabled = pythonOlder "3.7";
-
- src = fetchPypi {
- inherit pname version;
- hash = "sha256-SQbw8CzyuR7bouFW8tTpp48iQFmrjI+i/yYjDHXYlOg=";
- };
-
- dependencies = [
- babel
- typing-extensions
- ];
-
- pythonImportsCheck = [ "moneyed" ];
-
- build-system = [ setuptools ];
-
- meta = {
- description = "Provides Currency and Money classes for use in your Python code.";
- homepage = "https://github.com/py-moneyed/py-moneyed";
- license = lib.licenses.bsd3;
- maintainers = with lib.maintainers; [ kurogeek ];
- };
-}
diff --git a/pkgs/development/python-modules/pynputfix/default.nix b/pkgs/development/python-modules/pynputfix/default.nix
new file mode 100644
index 000000000000..90fc331e5aa8
--- /dev/null
+++ b/pkgs/development/python-modules/pynputfix/default.nix
@@ -0,0 +1,69 @@
+{
+ lib,
+ stdenv,
+ buildPythonPackage,
+ fetchFromGitHub,
+ gitUpdater,
+
+ # build-system
+ setuptools,
+ setuptools-lint,
+ sphinx,
+
+ # dependencies
+ xlib,
+ evdev,
+ six,
+
+ # tests
+ unittestCheckHook,
+}:
+
+buildPythonPackage {
+ pname = "pynputfix";
+ version = "1.8.2";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "AuroraWright";
+ repo = "pynputfix";
+ tag = "1.8.2";
+ hash = "sha256-SKw745hh0G2NoWgUUjShyjiG2NYPd4iJlWx7IeGpW/4=";
+ };
+
+ passthru.updateScript = gitUpdater {
+ rev-prefix = "v";
+ };
+
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace-fail "'sphinx >=1.3.1'," "" \
+ --replace-fail "'twine >=4.0']" "]"
+ '';
+
+ nativeBuildInputs = [
+ setuptools
+ setuptools-lint
+ sphinx
+ ];
+
+ propagatedBuildInputs = [
+ six
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isLinux [
+ evdev
+ xlib
+ ];
+
+ doCheck = false; # requires running X server
+
+ nativeCheckInputs = [ unittestCheckHook ];
+
+ meta = {
+ broken = stdenv.hostPlatform.isDarwin;
+ description = "Library to control and monitor input devices";
+ homepage = "https://github.com/moses-palmer/pynput";
+ license = lib.licenses.lgpl3;
+ maintainers = with lib.maintainers; [ sigmanificient ];
+ };
+}
diff --git a/pkgs/development/python-modules/swh-auth/default.nix b/pkgs/development/python-modules/swh-auth/default.nix
index 10980def4a73..3b4deea11320 100644
--- a/pkgs/development/python-modules/swh-auth/default.nix
+++ b/pkgs/development/python-modules/swh-auth/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitLab,
setuptools,
@@ -47,6 +48,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "swh.auth" ];
+ # Many broken tests on Darwin. Disabling them for now.
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
nativeCheckInputs = [
aiocache
djangorestframework
diff --git a/pkgs/development/python-modules/swh-core/default.nix b/pkgs/development/python-modules/swh-core/default.nix
index 940cf4980cd8..a40256e4e6d1 100644
--- a/pkgs/development/python-modules/swh-core/default.nix
+++ b/pkgs/development/python-modules/swh-core/default.nix
@@ -81,6 +81,9 @@ buildPythonPackage rec {
__darwinAllowLocalNetworking = true;
+ # Many broken tests on Darwin. Disabling them for now.
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
nativeCheckInputs = [
aiohttp-utils
flask
diff --git a/pkgs/development/python-modules/swh-journal/default.nix b/pkgs/development/python-modules/swh-journal/default.nix
index e06e021615b9..a08459559606 100644
--- a/pkgs/development/python-modules/swh-journal/default.nix
+++ b/pkgs/development/python-modules/swh-journal/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitLab,
setuptools,
@@ -45,6 +46,16 @@ buildPythonPackage rec {
pytest-mock
];
+ disabledTestPaths = [
+ # AssertionError: assert {'author': {'email': b'', 'fullname': b'foo', 'name': b'foo'}, 'date': {'offset_bytes': b'+0200', 'timestamp': {'micro...': 1234567890}}, 'id': b'\x80Y\xdcN\x17\xfc\xd0\xe5\x1c\xa3\xbc\xd6\xb8\x0fEw\xd2\x81\xfd\x08', 'message': b'foo', ...} is None
+ "swh/journal/tests/test_kafka_writer.py"
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ #Fatal Python error: Segmentation fault"
+ "swh/journal/tests/test_client.py"
+ "swh/journal/tests/test_pytest_plugin.py"
+ ];
+
meta = {
description = "Persistent logger of changes to the archive, with publish-subscribe support";
homepage = "https://gitlab.softwareheritage.org/swh/devel/swh-journal";
diff --git a/pkgs/development/python-modules/swh-objstorage/default.nix b/pkgs/development/python-modules/swh-objstorage/default.nix
index c8ca0dc87afd..6f127367c293 100644
--- a/pkgs/development/python-modules/swh-objstorage/default.nix
+++ b/pkgs/development/python-modules/swh-objstorage/default.nix
@@ -81,6 +81,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "swh.objstorage" ];
+ # Many broken tests on Darwin. Disabling them for now.
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
enabledTestPaths = [ "swh/objstorage/tests" ];
nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/swh-scanner/default.nix b/pkgs/development/python-modules/swh-scanner/default.nix
index 5dca94bb53d2..7dcfb97929e8 100644
--- a/pkgs/development/python-modules/swh-scanner/default.nix
+++ b/pkgs/development/python-modules/swh-scanner/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitLab,
setuptools,
@@ -65,6 +66,13 @@ buildPythonPackage rec {
types-requests
];
+ disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin) [
+ # Failed: Failed to start the server after 5 seconds.
+ "test_add_provenance_with_release"
+ "test_add_provenance_with_revision"
+ "test_scanner_result"
+ ];
+
disabledTestPaths = [
# pytestRemoveBytecodePhase fails with: "error (ignored): error: opening directory "/tmp/nix-build-python3.12-swh-scanner-0.8.3.drv-5/build/pytest-of-nixbld/pytest-0/test_randomdir_policy_info_cal0/big-directory/dir/dir/dir/ ......"
"swh/scanner/tests/test_policy.py"
diff --git a/pkgs/development/python-modules/swh-scheduler/default.nix b/pkgs/development/python-modules/swh-scheduler/default.nix
index 7bb37313ed3c..629fee607808 100644
--- a/pkgs/development/python-modules/swh-scheduler/default.nix
+++ b/pkgs/development/python-modules/swh-scheduler/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitLab,
setuptools,
@@ -65,6 +66,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "swh.scheduler" ];
+ # Many broken tests on Darwin. Disabling them for now.
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
nativeCheckInputs = [
plotille
postgresql
diff --git a/pkgs/development/python-modules/swh-shard/default.nix b/pkgs/development/python-modules/swh-shard/default.nix
index a07c344b04a2..37e67ce539c9 100644
--- a/pkgs/development/python-modules/swh-shard/default.nix
+++ b/pkgs/development/python-modules/swh-shard/default.nix
@@ -1,4 +1,5 @@
{
+ stdenv,
buildPythonPackage,
click,
cmake,
@@ -62,6 +63,18 @@ buildPythonPackage rec {
rm src/swh/shard/*.py
'';
+ disabledTests = [
+ "test_setup_log_handler_with_env_configuration"
+ ]
+ ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
+ # assert (51675136 - 51396608) < (100 * 1024)
+ "test_memleak"
+ # ValueError: Cannot convert negative int
+ "test_write_above_rlimit_fsize"
+ # ValueError: Cannot convert negative int
+ "test_finalize_above_rlimit_fsize"
+ ];
+
meta = {
changelog = "https://gitlab.softwareheritage.org/swh/devel/swh-shard/-/tags/v2.2.0";
description = "Shard File Format for the Software Heritage Object Storage";
diff --git a/pkgs/development/python-modules/swh-storage/default.nix b/pkgs/development/python-modules/swh-storage/default.nix
index 52ed9dd19c50..d23668472e36 100644
--- a/pkgs/development/python-modules/swh-storage/default.nix
+++ b/pkgs/development/python-modules/swh-storage/default.nix
@@ -1,5 +1,6 @@
{
lib,
+ stdenv,
buildPythonPackage,
fetchFromGitLab,
setuptools,
@@ -74,6 +75,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "swh.storage" ];
+ # Many broken tests on Darwin. Disabling them for now.
+ doCheck = !stdenv.hostPlatform.isDarwin;
+
nativeCheckInputs = [
postgresql
postgresqlTestHook
diff --git a/pkgs/development/python-modules/wolf-comm/default.nix b/pkgs/development/python-modules/wolf-comm/default.nix
index 1cfb1bf01ad6..59bf238c2c11 100644
--- a/pkgs/development/python-modules/wolf-comm/default.nix
+++ b/pkgs/development/python-modules/wolf-comm/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "wolf-comm";
- version = "0.0.47";
+ version = "0.0.48";
pyproject = true;
src = fetchFromGitHub {
owner = "janrothkegel";
repo = "wolf-comm";
tag = version;
- hash = "sha256-/34smUrsWKNEd5OPPIsDnW3zfq6nhKX3Yp+UBk+Nibw=";
+ hash = "sha256-w+7Z7A7q9RP+9ORYgvcqWDjV/XOUuXvE67LlOyzhSDY=";
};
build-system = [ setuptools ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 52eeca19f33f..282a6c5bd4d5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4160,8 +4160,6 @@ self: super: with self; {
django-currentuser = callPackage ../development/python-modules/django-currentuser { };
- django-dbbackup = callPackage ../development/python-modules/django-dbbackup { };
-
django-debug-toolbar = callPackage ../development/python-modules/django-debug-toolbar { };
django-dynamic-preferences =
@@ -4176,8 +4174,6 @@ self: super: with self; {
django-environ = callPackage ../development/python-modules/django-environ { };
- django-error-report-2 = callPackage ../development/python-modules/django-error-report-2 { };
-
django-extensions = callPackage ../development/python-modules/django-extensions { };
django-filer = callPackage ../development/python-modules/django-filer { };
@@ -4186,8 +4182,6 @@ self: super: with self; {
django-filter = callPackage ../development/python-modules/django-filter { };
- django-flags = callPackage ../development/python-modules/django-flags { };
-
django-formset-js-improved =
callPackage ../development/python-modules/django-formset-js-improved
{ };
@@ -4222,8 +4216,6 @@ self: super: with self; {
django-i18nfield = callPackage ../development/python-modules/django-i18nfield { };
- django-ical = callPackage ../development/python-modules/django-ical { };
-
django-import-export = callPackage ../development/python-modules/django-import-export { };
django-ipware = callPackage ../development/python-modules/django-ipware { };
@@ -4252,14 +4244,10 @@ self: super: with self; {
callPackage ../development/python-modules/django-login-required-middleware
{ };
- django-mailbox = callPackage ../development/python-modules/django-mailbox { };
-
django-mailman3 = callPackage ../development/python-modules/django-mailman3 { };
django-maintenance-mode = callPackage ../development/python-modules/django-maintenance-mode { };
- django-markdownify = callPackage ../development/python-modules/django-markdownify { };
-
django-markdownx = callPackage ../development/python-modules/django-markdownx { };
django-markup = callPackage ../development/python-modules/django-markup { };
@@ -4278,8 +4266,6 @@ self: super: with self; {
django-modeltranslation = callPackage ../development/python-modules/django-modeltranslation { };
- django-money = callPackage ../development/python-modules/django-money { };
-
django-mptt = callPackage ../development/python-modules/django-mptt { };
django-multiselectfield = callPackage ../development/python-modules/django-multiselectfield { };
@@ -4348,8 +4334,6 @@ self: super: with self; {
django-ratelimit = callPackage ../development/python-modules/django-ratelimit { };
- django-recurrence = callPackage ../development/python-modules/django-recurrence { };
-
django-redis = callPackage ../development/python-modules/django-redis { };
django-registration = callPackage ../development/python-modules/django-registration { };
@@ -4392,19 +4376,10 @@ self: super: with self; {
django-sql-utils = callPackage ../development/python-modules/django-sql-utils { };
- django-sslserver = callPackage ../development/python-modules/django-sslserver { };
-
django-statici18n = callPackage ../development/python-modules/django-statici18n { };
- django-stdimage = callPackage ../development/python-modules/django-stdimage {
- django = django_4;
- pytest-django = pytest-django.override { django = django_4; };
- };
-
django-storages = callPackage ../development/python-modules/django-storages { };
- django-structlog = callPackage ../development/python-modules/django-structlog { };
-
django-stubs = callPackage ../development/python-modules/django-stubs { };
django-stubs-ext = callPackage ../development/python-modules/django-stubs-ext { };
@@ -4437,8 +4412,6 @@ self: super: with self; {
django-types = callPackage ../development/python-modules/django-types { };
- django-user-sessions = callPackage ../development/python-modules/django-user-sessions { };
-
django-valkey = callPackage ../development/python-modules/django-valkey { };
django-versatileimagefield =
@@ -4455,10 +4428,6 @@ self: super: with self; {
django-widget-tweaks = callPackage ../development/python-modules/django-widget-tweaks { };
- django-xforwardedfor-middleware =
- callPackage ../development/python-modules/django-xforwardedfor-middleware
- { };
-
# LTS in extended support phase
django_4 = callPackage ../development/python-modules/django/4.nix { };
@@ -11334,6 +11303,8 @@ self: super: with self; {
obstore = callPackage ../development/python-modules/obstore { };
+ obsws-python = callPackage ../development/python-modules/obsws-python { };
+
oca-port = callPackage ../development/python-modules/oca-port { };
ochre = callPackage ../development/python-modules/ochre { };
@@ -12758,8 +12729,6 @@ self: super: with self; {
ppdeep = callPackage ../development/python-modules/ppdeep { };
- ppf-datamatrix = callPackage ../development/python-modules/ppf-datamatrix { };
-
ppft = callPackage ../development/python-modules/ppft { };
ppk2-api = callPackage ../development/python-modules/ppk2-api { };
@@ -13128,8 +13097,6 @@ self: super: with self; {
py-melissa-climate = callPackage ../development/python-modules/py-melissa-climate { };
- py-moneyed = callPackage ../development/python-modules/py-moneyed { };
-
py-multiaddr = callPackage ../development/python-modules/py-multiaddr { };
py-multibase = callPackage ../development/python-modules/py-multibase { };
@@ -14367,6 +14334,8 @@ self: super: with self; {
pynput = callPackage ../development/python-modules/pynput { };
+ pynputfix = callPackage ../development/python-modules/pynputfix { };
+
pynrrd = callPackage ../development/python-modules/pynrrd { };
pynslookup = callPackage ../development/python-modules/pynslookup { };