mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
Merge master into staging-next
This commit is contained in:
@@ -9,9 +9,9 @@
|
||||
},
|
||||
"branch": "nixpkgs-unstable",
|
||||
"submodules": false,
|
||||
"revision": "106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/106eb93cbb9d4e4726bf6bc367a3114f7ed6b32f.tar.gz",
|
||||
"hash": "0wyyhddz2mqhmq938d337223675jpd83dd5lsks2nhz0hs4r3jha"
|
||||
"revision": "02f3fa0374fa13707d42d55d58ecc76b091f223c",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/02f3fa0374fa13707d42d55d58ecc76b091f223c.tar.gz",
|
||||
"hash": "0z8d33c5g0gk9a74ppqq77npisf9xx9c8ai9isxa2hyjx4lv1pki"
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"type": "Git",
|
||||
@@ -22,9 +22,9 @@
|
||||
},
|
||||
"branch": "main",
|
||||
"submodules": false,
|
||||
"revision": "75925962939880974e3ab417879daffcba36c4a3",
|
||||
"url": "https://github.com/numtide/treefmt-nix/archive/75925962939880974e3ab417879daffcba36c4a3.tar.gz",
|
||||
"hash": "118zlbyzmh21x6rad2vrxjkdfyicd8lx3s0if8b791n51hz1r9ns"
|
||||
"revision": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
||||
"url": "https://github.com/numtide/treefmt-nix/archive/790751ff7fd3801feeaf96d7dc416a8d581265ba.tar.gz",
|
||||
"hash": "1zah3dmbpn3ap5acg22kq1j19dg32gj73l43yamjcxhc38sv9kd5"
|
||||
}
|
||||
},
|
||||
"version": 5
|
||||
|
||||
@@ -9904,6 +9904,12 @@
|
||||
name = "Adrian Groh";
|
||||
keys = [ { fingerprint = "62BD BF30 83E9 7076 9665 B60B 3AA3 153E 98B0 D771"; } ];
|
||||
};
|
||||
god464 = {
|
||||
github = "god464";
|
||||
githubId = 36400459;
|
||||
name = "god464";
|
||||
keys = [ { fingerprint = "089E 1560 7145 FE93 2C00 2942 D7A7 2706 FC8D E569"; } ];
|
||||
};
|
||||
goertzenator = {
|
||||
email = "daniel.goertzen@gmail.com";
|
||||
github = "goertzenator";
|
||||
|
||||
@@ -72,10 +72,6 @@ in
|
||||
systemd = {
|
||||
packages = [ pkgs.gamemode ];
|
||||
user.services.gamemoded = {
|
||||
# The upstream service already defines this, but doesn't get applied.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/81138
|
||||
wantedBy = [ "default.target" ];
|
||||
|
||||
# Use pkexec from the security wrappers to allow users to
|
||||
# run libexec/cpugovctl & libexec/gpuclockctl as root with
|
||||
# the the actions defined in share/polkit-1/actions.
|
||||
|
||||
@@ -45,19 +45,6 @@ in
|
||||
default = "glitchtip";
|
||||
};
|
||||
|
||||
listenAddress = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "The address to listen on.";
|
||||
default = "127.0.0.1";
|
||||
example = "0.0.0.0";
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
description = "The port to listen on.";
|
||||
default = 8000;
|
||||
};
|
||||
|
||||
stateDir = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = "State directory of glitchtip.";
|
||||
@@ -66,7 +53,7 @@ in
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = ''
|
||||
Configuration of GlitchTip. See <https://glitchtip.com/documentation/install#configuration> for more information.
|
||||
Configuration of GlitchTip. See <https://glitchtip.com/documentation/install#configuration> for more information and required settings.
|
||||
'';
|
||||
default = { };
|
||||
defaultText = lib.literalExpression ''
|
||||
@@ -74,8 +61,14 @@ in
|
||||
DEBUG = 0;
|
||||
DEBUG_TOOLBAR = 0;
|
||||
DATABASE_URL = lib.mkIf config.services.glitchtip.database.createLocally "postgresql://@/glitchtip";
|
||||
GLITCHTIP_DOMAIN = lib.mkIf config.services.glitchtip.nginx.createLocally "https://''${config.services.glitchtip.nginx.domain}";
|
||||
GLITCHTIP_VERSION = config.services.glitchtip.package.version;
|
||||
GRANIAN_HOST = "127.0.0.1";
|
||||
GRANIAN_PORT = 8000;
|
||||
GRANIAN_STATIC_PATH_MOUNT = "''${config.services.glitchtip.package}/lib/glitchtip/static";
|
||||
GRANIAN_WORKERS = 1;
|
||||
PYTHONUNBUFFERED = 1;
|
||||
REDIS_URL = lib.mkIf config.services.glitchtip.redis.createLocally "unix://''${config.services.redis.servers.glitchtip.unixSocket}";
|
||||
CELERY_BROKER_URL = lib.mkIf config.services.glitchtip.redis.createLocally "redis+socket://''${config.services.redis.servers.glitchtip.unixSocket}";
|
||||
}
|
||||
'';
|
||||
example = {
|
||||
@@ -94,9 +87,28 @@ in
|
||||
|
||||
options = {
|
||||
GLITCHTIP_DOMAIN = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
description = "The URL under which GlitchTip is externally reachable.";
|
||||
example = "https://glitchtip.example.com";
|
||||
default = null;
|
||||
};
|
||||
|
||||
GLITCHTIP_ENABLE_MCP = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "Whether to enable the MCP api.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
GRANIAN_WORKERS = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
description = "Number of granian workers to start";
|
||||
default = 1;
|
||||
};
|
||||
|
||||
ENABLE_OBSERVABILITY_API = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "Whether to enable the Prometheus metrics endpoint.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
ENABLE_USER_REGISTRATION = lib.mkOption {
|
||||
@@ -132,49 +144,74 @@ in
|
||||
database.createLocally = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable and configure a local PostgreSQL database server.
|
||||
'';
|
||||
description = "Whether to enable and configure a local PostgreSQL database server.";
|
||||
};
|
||||
|
||||
nginx = {
|
||||
createLocally = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable and configure a local Nginx server.";
|
||||
};
|
||||
|
||||
domain = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "glitchtip.example.com";
|
||||
description = ''
|
||||
Domain under which GlitchTip will be reachable.
|
||||
In contrast to `settings.GLITCHTIP_DOMAIN` this option has no protocol.
|
||||
It will also set `settings.GLITCHTIP_DOMAIN` with the `https://` protocol.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
redis.createLocally = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable and configure a local Redis instance.
|
||||
'';
|
||||
};
|
||||
|
||||
gunicorn.extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments for gunicorn.";
|
||||
};
|
||||
|
||||
celery.extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "Extra arguments for celery.";
|
||||
description = "Whether to enable and configure a local Redis instance.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "services" "glitchtip" "listenAddress" ]
|
||||
[ "services" "glitchtip" "settings" "GRANIAN_HOST" ]
|
||||
)
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "services" "glitchtip" "port" ]
|
||||
[ "services" "glitchtip" "settings" "GRANIAN_PORT" ]
|
||||
)
|
||||
(lib.mkRemovedOptionModule [ "services" "glitchtip" "celery" "extraArgs" ]
|
||||
"GlitchTip 6 migrated away from celery. Please check the upstream docs how to handle your usecase now."
|
||||
)
|
||||
(lib.mkRemovedOptionModule [ "services" "glitchtip" "gunicorn" "extraArgs" ]
|
||||
"GlitchTip 6 migrated away from gunicorn. Please check the upstream docs how to handle your usecase now."
|
||||
)
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.glitchtip.settings = {
|
||||
DEBUG = lib.mkDefault 0;
|
||||
DEBUG_TOOLBAR = lib.mkDefault 0;
|
||||
PYTHONPATH = "${python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/glitchtip";
|
||||
DATABASE_URL = lib.mkIf cfg.database.createLocally "postgresql://@/glitchtip";
|
||||
REDIS_URL = lib.mkIf cfg.redis.createLocally "unix://${config.services.redis.servers.glitchtip.unixSocket}";
|
||||
CELERY_BROKER_URL = lib.mkIf cfg.redis.createLocally "redis+socket://${config.services.redis.servers.glitchtip.unixSocket}";
|
||||
GLITCHTIP_VERSION = pkg.version;
|
||||
GRANIAN_HOST = lib.mkDefault "127.0.0.1";
|
||||
GRANIAN_PORT = lib.mkDefault 8000;
|
||||
GRANIAN_STATIC_PATH_MOUNT = "${pkg}/lib/glitchtip/static";
|
||||
GRANIAN_WORKERS = lib.mkDefault 1;
|
||||
PYTHONPATH = "${python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/glitchtip";
|
||||
PYTHONUNBUFFERED = lib.mkDefault 1;
|
||||
}
|
||||
// lib.optionalAttrs cfg.database.createLocally { DATABASE_URL = "postgresql://@/glitchtip"; }
|
||||
// lib.optionalAttrs cfg.nginx.createLocally { GLITCHTIP_DOMAIN = "https://${cfg.nginx.domain}"; }
|
||||
// lib.optionalAttrs cfg.redis.createLocally {
|
||||
REDIS_URL = "unix://${config.services.redis.servers.glitchtip.unixSocket}";
|
||||
};
|
||||
|
||||
systemd.services =
|
||||
let
|
||||
commonService = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
wants = [ "network-online.target" ];
|
||||
requires =
|
||||
lib.optional cfg.database.createLocally "postgresql.target"
|
||||
@@ -235,35 +272,55 @@ in
|
||||
{
|
||||
glitchtip = commonService // {
|
||||
description = "GlitchTip";
|
||||
environment =
|
||||
environment
|
||||
// lib.optionalAttrs (cfg.settings.ENABLE_OBSERVABILITY_API && cfg.settings.WORKERS > 1) {
|
||||
PROMETHEUS_MULTIPROC_DIR = "/tmp/prometheus_multiproc";
|
||||
};
|
||||
bindsTo = [ "glitchtip-worker.service" ];
|
||||
before = [ "glitchtip-worker.service" ];
|
||||
|
||||
preStart = ''
|
||||
${lib.getExe pkg} migrate
|
||||
${lib.getExe pkg} createcachetable
|
||||
${lib.getExe pkg} maintain_partitions
|
||||
'';
|
||||
|
||||
serviceConfig = commonServiceConfig // {
|
||||
ExecStart = ''
|
||||
${lib.getExe python.pkgs.gunicorn} \
|
||||
--bind=${cfg.listenAddress}:${toString cfg.port} \
|
||||
${lib.concatStringsSep " " cfg.gunicorn.extraArgs} \
|
||||
glitchtip.wsgi
|
||||
${lib.getExe python.pkgs.granian} \
|
||||
--interface ${if cfg.settings.GLITCHTIP_ENABLE_MCP then "asgi" else "asginl"} \
|
||||
glitchtip.asgi:application \
|
||||
--host ${cfg.settings.GRANIAN_HOST} \
|
||||
--port ${toString cfg.settings.GRANIAN_PORT} \
|
||||
--workers ${toString cfg.settings.GRANIAN_WORKERS} \
|
||||
--no-ws
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
glitchtip-worker = commonService // {
|
||||
description = "GlitchTip Job Runner";
|
||||
|
||||
environment = environment // {
|
||||
IS_WORKER = "1";
|
||||
};
|
||||
serviceConfig = commonServiceConfig // {
|
||||
ExecStart = ''
|
||||
${lib.getExe python.pkgs.celery} \
|
||||
-A glitchtip worker \
|
||||
-B -s /run/glitchtip/celerybeat-schedule \
|
||||
${lib.concatStringsSep " " cfg.celery.extraArgs}
|
||||
'';
|
||||
ExecStart = "${lib.getExe pkg} runworker --scheduler";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = lib.mkIf cfg.nginx.createLocally {
|
||||
enable = true;
|
||||
virtualHosts.${cfg.nginx.domain} = {
|
||||
forceSSL = lib.mkDefault true;
|
||||
locations = {
|
||||
"/".proxyPass = "http://${cfg.settings.GRANIAN_HOST}:${toString cfg.settings.GRANIAN_PORT}";
|
||||
"/static/".root = "${pkg}/lib/glitchtip";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = lib.mkIf cfg.database.createLocally {
|
||||
enable = true;
|
||||
ensureDatabases = [ "glitchtip" ];
|
||||
@@ -289,15 +346,13 @@ in
|
||||
|
||||
systemd.tmpfiles.settings.glitchtip."${cfg.stateDir}/uploads".d = { inherit (cfg) user group; };
|
||||
|
||||
environment.systemPackages =
|
||||
let
|
||||
glitchtip-manage = pkgs.writeShellScriptBin "glitchtip-manage" ''
|
||||
set -o allexport
|
||||
${lib.toShellVars environment}
|
||||
${lib.concatMapStringsSep "\n" (f: "source ${f}") cfg.environmentFiles}
|
||||
${config.security.wrapperDir}/sudo -E -u ${cfg.user} ${lib.getExe pkg} "$@"
|
||||
'';
|
||||
in
|
||||
[ glitchtip-manage ];
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "glitchtip-manage" ''
|
||||
set -o allexport
|
||||
${lib.toShellVars environment}
|
||||
${lib.concatMapStringsSep "\n" (f: "source ${f}") cfg.environmentFiles}
|
||||
${config.security.wrapperDir}/sudo -E -u ${cfg.user} ${lib.getExe pkg} "$@"
|
||||
'')
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{ lib, ... }:
|
||||
|
||||
let
|
||||
domain = "http://glitchtip.local:8000";
|
||||
domain = "glitchtip.local";
|
||||
url = "http://${domain}";
|
||||
in
|
||||
|
||||
{
|
||||
@@ -16,8 +17,10 @@ in
|
||||
{
|
||||
services.glitchtip = {
|
||||
enable = true;
|
||||
port = 8000;
|
||||
settings.GLITCHTIP_DOMAIN = domain;
|
||||
nginx.createLocally = true;
|
||||
nginx.domain = domain;
|
||||
settings.GLITCHTIP_DOMAIN = lib.mkForce url;
|
||||
settings.CSRF_TRUSTED_ORIGINS = "${url},http://localhost:8000";
|
||||
environmentFiles = [
|
||||
(builtins.toFile "glitchtip.env" ''
|
||||
SECRET_KEY=8Hz7YCGzo7fiicHb8Qr22ZqwoIB7lSRx
|
||||
@@ -25,19 +28,23 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts.${domain}.forceSSL = false;
|
||||
|
||||
environment.systemPackages = [ pkgs.sentry-cli ];
|
||||
|
||||
networking.hosts."127.0.0.1" = [ "glitchtip.local" ];
|
||||
networking.hosts."127.0.0.1" = [ domain ];
|
||||
};
|
||||
|
||||
interactive.sshBackdoor.enable = true;
|
||||
interactive.defaults.virtualisation.graphics = false;
|
||||
|
||||
interactive.nodes.machine = {
|
||||
services.glitchtip.listenAddress = "0.0.0.0";
|
||||
networking.firewall.allowedTCPPorts = [ 8000 ];
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
virtualisation.forwardPorts = [
|
||||
{
|
||||
from = "host";
|
||||
host.port = 8000;
|
||||
guest.port = 8000;
|
||||
guest.port = 80;
|
||||
}
|
||||
];
|
||||
};
|
||||
@@ -53,7 +60,7 @@ in
|
||||
machine.wait_for_unit("glitchtip-worker.service")
|
||||
machine.wait_for_open_port(8000)
|
||||
|
||||
origin_url = "${domain}"
|
||||
origin_url = "${url}"
|
||||
cookie_jar_path = "/tmp/cookies.txt"
|
||||
curl = f"curl -b {cookie_jar_path} -c {cookie_jar_path} -fS -H 'Origin: {origin_url}'"
|
||||
|
||||
@@ -89,7 +96,7 @@ in
|
||||
# fetch dsn
|
||||
resp = json.loads(machine.succeed(f"{curl} {origin_url}/api/0/projects/main/test/keys/"))
|
||||
assert len(resp) == 1
|
||||
assert re.match(r"^http://[\da-f]+@glitchtip\.local:8000/\d+$", dsn := resp[0]["dsn"]["public"])
|
||||
assert re.match(r"^http://[\da-f]+@glitchtip\.local/\d+$", dsn := resp[0]["dsn"]["public"])
|
||||
|
||||
# send event
|
||||
machine.succeed(f"SENTRY_DSN={dsn} sentry-cli send-event -m 'hello world'")
|
||||
|
||||
@@ -35,17 +35,17 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-D+2JWjC0kutfkEF5QKOKwh9Z8+jWgMgMN2b8pKwYays=";
|
||||
x86_64-darwin = "sha256-dgOKMYRKfGRipLMsQcVmlOEHbG9l4ryJZv5J8znSxwA=";
|
||||
aarch64-linux = "sha256-NRaxhWEdYDNIK1AbimKwzw4zGd3ljwBIYJ+BaTz2/gk=";
|
||||
aarch64-darwin = "sha256-nWkNoryvsD2SPkc5veQ12+DWPXgWPJjfWwUcC7PjbC4=";
|
||||
armv7l-linux = "sha256-Ae5sKYiyvIF9KZzKi7BK3/SLgKjuQCLjNKi9dXIqGbo=";
|
||||
x86_64-linux = "sha256-eDSGfF05h5HPTZNeV9l/SBV+9fIV9iVnommM5P/cGgA=";
|
||||
x86_64-darwin = "sha256-gHNXSWjbS+xqxjNYaoE7WSeo1Vf2+au/x68RVObJtp0=";
|
||||
aarch64-linux = "sha256-PkZiq6STbt1Rb/g9XKeE3tktcrSRyQn/ah1QQxrOITg=";
|
||||
aarch64-darwin = "sha256-T7An1+qkBO2QncPvoyymjerwLwti2/MgwmOJJCb2Nhw=";
|
||||
armv7l-linux = "sha256-+KfjkiqMBGg9x/Qnd4FHiW0kw0dIQ56DSGUm8SBTc8o=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.114.0";
|
||||
version = "1.115.0";
|
||||
|
||||
# The update server (update.code.visualstudio.com) expects the version path
|
||||
# segment in X.Y.Z form, so we normalize X.Y to X.Y.0 (e.g. "1.110" → "1.110.0").
|
||||
@@ -53,7 +53,7 @@ let
|
||||
downloadVersion = lib.versions.pad 3 version;
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "e7fb5e96c0730b9deb70b33781f98e2f35975036";
|
||||
rev = "41dd792b5e652393e7787322889ed5fdc58bd75b";
|
||||
in
|
||||
buildVscode {
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
@@ -86,7 +86,7 @@ buildVscode {
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
hash = "sha256-Sx9XXo3qB+7hwi9vzAncX49usOSMVgKilgBa2UrG6pQ=";
|
||||
hash = "sha256-2CQBU7TfYNO4m1Mf6Q0QXFt8C2txJgcN9kd7wX355J4=";
|
||||
};
|
||||
stdenv = stdenvNoCC;
|
||||
};
|
||||
|
||||
@@ -1310,11 +1310,11 @@
|
||||
"vendorHash": "sha256-omxEb+ntQuHDfS2Rmt0rj0BF0Q2T8DLhobLua2uU/0o="
|
||||
},
|
||||
"tencentcloudstack_tencentcloud": {
|
||||
"hash": "sha256-xsYh5gDneL3nQDUIHe3fRjObFTGp3ssPq8wlqPWsq7Y=",
|
||||
"hash": "sha256-JA8urZd08fyGkFZMCF9aVJ9UEGx+aPreGqiAuFTqA84=",
|
||||
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
|
||||
"owner": "tencentcloudstack",
|
||||
"repo": "terraform-provider-tencentcloud",
|
||||
"rev": "v1.82.82",
|
||||
"rev": "v1.82.84",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1499,12 +1499,12 @@
|
||||
"vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc="
|
||||
},
|
||||
"yandex-cloud_yandex": {
|
||||
"hash": "sha256-F2nbu/MImDXHSYPjo3O6K0tsZJ4PTrmB14Ghfvnp5sc=",
|
||||
"hash": "sha256-gCzM7pfQaez/Zw6JAJcw4bVSpqVhxxiQyjqP/FeldJQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
|
||||
"owner": "yandex-cloud",
|
||||
"repo": "terraform-provider-yandex",
|
||||
"rev": "v0.195.0",
|
||||
"rev": "v0.197.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-lSpDmhzCed9NUJkQ35tsrUbMIzx6wnEJ20UFMPbwhWE="
|
||||
"vendorHash": "sha256-Prtwe3JPfWpx+yO37lT31VsqQ6E2aDLI7fAbYYq7gSE="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
# https://pnpm.io/filtering#--filter-package_name-1
|
||||
pnpmWorkspaces = [ "@astrojs/language-server..." ];
|
||||
pnpmWorkspaces = [
|
||||
"@astrojs/language-server..."
|
||||
"@astrojs/ts-plugin"
|
||||
];
|
||||
prePnpmInstall = ''
|
||||
pnpm config set dedupe-peer-dependents false
|
||||
pnpm approve-builds @emmetio/css-parser
|
||||
@@ -36,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-QJSFRJ3U7M0B7ukiU+BYY2KdrcNUpyiOcGA7G3xja3I=";
|
||||
hash = "sha256-+5S/VuZjP6LoWUPKF1NMhw317AFAJUgaY7/Tq0ZKouw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -50,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm --filter "@astrojs/language-server..." build
|
||||
pnpm --filter "@astrojs/language-server..." --filter "@astrojs/ts-plugin" build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@@ -63,11 +66,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpm install --offline --prod --filter="@astrojs/language-server..."
|
||||
mkdir -p $out/{bin,lib/node_modules/astro-language-server/packages/language-tools}
|
||||
cp -r ./node_modules $out/lib/node_modules/astro-language-server
|
||||
cp -r packages/language-tools/{language-server,yaml2ts} $out/lib/node_modules/astro-language-server/packages/language-tools/
|
||||
cp -r packages/language-tools/{language-server,yaml2ts,ts-plugin} $out/lib/node_modules/astro-language-server/packages/language-tools/
|
||||
pushd $out/lib/node_modules/astro-language-server/node_modules
|
||||
rm -rf {./,.pnpm/node_modules/}astro-{scripts,benchmark}
|
||||
rm -rf {./,.pnpm/node_modules/}astro-{scripts,benchmark} .pnpm/node_modules/@astrojs/ts-plugin
|
||||
popd
|
||||
|
||||
ln -s $out/lib/node_modules/astro-language-server/packages/language-tools/language-server/bin/nodeServer.js $out/bin/astro-ls
|
||||
|
||||
runHook postInstall
|
||||
@@ -86,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://github.com/withastro/astro/tree/main/packages/language-tools";
|
||||
changelog = "https://github.com/withastro/astro/blob/%40astrojs/language-server%40${finalAttrs.version}/packages/language-tools/language-server/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ miniharinn ];
|
||||
maintainers = with lib.maintainers; [
|
||||
miniharinn
|
||||
god464
|
||||
];
|
||||
mainProgram = "astro-ls";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-readme";
|
||||
version = "3.3.1";
|
||||
version = "3.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "webern";
|
||||
repo = "cargo-readme";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-FFWHADATEfvZvxGwdkj+eTVoq7pnPuoUAhMGTokUkMs=";
|
||||
sha256 = "sha256-p8QQNACU9lFig0vBQrb1u2T44Icwk10OBjGzaVLj7kk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-24D+ZcMGZN175LZNcNW8F5IsStk4au4xB0ZFe95EjPk=";
|
||||
cargoHash = "sha256-kfXDMBqS4/QC+khQhQ2Jrer8TuFKlnZFS3IZ2lcVOR8=";
|
||||
|
||||
# disable doc tests
|
||||
cargoTestFlags = [
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-update";
|
||||
version = "19.0.1";
|
||||
version = "20.0.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-XK5ky0t8IdQRVsDU6VDB+HzWzgn4uXhlvOS66GPCVn8=";
|
||||
hash = "sha256-J/FujtsQF8WfHFoHJ3r2M+vv8WVh4cxDFw07JntnW2g=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/teRXWO3alCU4i4WsQaojCNAXVm/DnpxbYysCEb/Ohg=";
|
||||
cargoHash = "sha256-bH8Mg7QQbbXlF7fxwWEFYmYQD1CmDM+g4GhFPZwLy/M=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
43
pkgs/by-name/dw/dwproton-bin/package.nix
Normal file
43
pkgs/by-name/dw/dwproton-bin/package.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
fetchzip,
|
||||
writeScript,
|
||||
proton-ge-bin,
|
||||
|
||||
steamDisplayName ? "dwproton",
|
||||
}:
|
||||
proton-ge-bin.overrideAttrs (
|
||||
finalAttrs: _: {
|
||||
inherit steamDisplayName;
|
||||
|
||||
pname = "dwproton-bin";
|
||||
version = "dwproton-10.0-22";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dawn.wine/dawn-winery/dwproton/releases/download/${finalAttrs.version}/${finalAttrs.version}-x86_64.tar.xz";
|
||||
hash = "sha256-U/lLAF/WUxHInBgAt7YuDUM/eGGSv7mkjAACr15iW/0=";
|
||||
};
|
||||
|
||||
passthru.updateScript = writeScript "update-dwproton" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq common-updater-scripts
|
||||
version=$(curl -sL "https://dawn.wine/api/v1/repos/dawn-winery/dwproton/tags?page=1\&limit=1" | jq -r .[0].name)
|
||||
update-source-version dwproton-bin "$version"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = ''
|
||||
Dawn Winery's custom Proton fork with fixes for various games.
|
||||
|
||||
(This is intended for use in the `programs.steam.extraCompatPackages` option only.)
|
||||
'';
|
||||
homepage = "https://dawn.wine/dawn-winery/dwproton";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [
|
||||
Renna42
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
)
|
||||
@@ -7,6 +7,7 @@
|
||||
smooth,
|
||||
systemd,
|
||||
wrapGAppsHook3,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -16,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "enzo1982";
|
||||
repo = "freac";
|
||||
rev = "v${finalAttrs.version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-bHoRxxhSM7ipRkiBG7hEa1Iw8Z3tOHQ/atngC/3X1a4=";
|
||||
};
|
||||
|
||||
@@ -31,10 +32,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"prefix=$(out)"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Audio converter and CD ripper with support for various popular formats and encoders";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
homepage = "https://www.freac.org/";
|
||||
downloadPage = "https://www.freac.org/downloads-mainmenu-33";
|
||||
changelog = "https://github.com/enzo1982/freac/releases/tag/${finalAttrs.src.tag}";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ VZstless ];
|
||||
mainProgram = "freac";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -5,22 +5,27 @@
|
||||
fetchNpmDeps,
|
||||
jq,
|
||||
moreutils,
|
||||
nodejs_22,
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "glitchtip-frontend";
|
||||
version = "5.2.1";
|
||||
version = "6.1.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "glitchtip";
|
||||
repo = "glitchtip-frontend";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-aqGgaVjJogG3mDooQVpR59SR0HDuMPfKuB1i0Z/AMs8=";
|
||||
hash = "sha256-YngWs12wJLi3NgRT3RhGYy38dhOqBATYPMsXEbeoycU=";
|
||||
};
|
||||
|
||||
nodejs = nodejs_22;
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-urho5XwUJL7m8/xxv9EvH0MxQIW5TG7nOBSIa77RhJc=";
|
||||
npmDepsFetcherVersion = 3;
|
||||
hash = "sha256-8T2Ci8S0YHyzY1jjgcNXt5mxUy/4toJrD2edUxtJz3M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
python313,
|
||||
python314,
|
||||
fetchFromGitLab,
|
||||
fetchPypi,
|
||||
callPackage,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
@@ -10,22 +9,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
python = python313.override {
|
||||
python = python314.override {
|
||||
self = python;
|
||||
packageOverrides = final: prev: {
|
||||
django = final.django_5;
|
||||
django-csp = prev.django-csp.overridePythonAttrs rec {
|
||||
version = "4.0";
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "django_csp";
|
||||
hash = "sha256-snAQu3Ausgo9rTKReN8rYaK4LTOLcPvcE8OjvShxKDM=";
|
||||
};
|
||||
};
|
||||
django-ninja-cursor-pagination = prev.django-ninja-cursor-pagination.overridePythonAttrs {
|
||||
# checks are failing with django 5
|
||||
doCheck = false;
|
||||
};
|
||||
django = final.django_6;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -34,16 +21,15 @@ let
|
||||
[
|
||||
aiohttp
|
||||
anonymizeip
|
||||
arro3-core
|
||||
arro3-io
|
||||
boto3
|
||||
brotli
|
||||
celery
|
||||
celery-batches
|
||||
cxxfilt
|
||||
django
|
||||
django-allauth
|
||||
django-anymail
|
||||
django-cors-headers
|
||||
django-csp
|
||||
django-environ
|
||||
django-extensions
|
||||
django-import-export
|
||||
@@ -54,32 +40,33 @@ let
|
||||
django-postgres-partition
|
||||
django-prometheus
|
||||
django-storages
|
||||
django-valkey
|
||||
django-vcache
|
||||
django-vtasks
|
||||
duckdb
|
||||
google-cloud-logging
|
||||
granian
|
||||
gunicorn
|
||||
mcp
|
||||
minidump
|
||||
orjson
|
||||
psycopg
|
||||
pydantic
|
||||
sentry-sdk
|
||||
symbolic
|
||||
user-agents
|
||||
uvicorn
|
||||
uuid6
|
||||
uwsgi-chunked
|
||||
whitenoise
|
||||
]
|
||||
++ celery.optional-dependencies.redis
|
||||
++ celery.optional-dependencies.sqlalchemy
|
||||
++ django-allauth.optional-dependencies.headless-spec
|
||||
++ django-allauth.optional-dependencies.mfa
|
||||
++ django-allauth.optional-dependencies.socialaccount
|
||||
++ django-storages.optional-dependencies.boto3
|
||||
++ django-storages.optional-dependencies.azure
|
||||
++ django-storages.optional-dependencies.google
|
||||
++ django-valkey.optional-dependencies.libvalkey
|
||||
++ django-valkey.optional-dependencies.lz4
|
||||
++ django-vtasks.optional-dependencies.valkey
|
||||
++ granian.optional-dependencies.reload
|
||||
++ granian.optional-dependencies.uvloop
|
||||
++ mcp.optional-dependencies.cli
|
||||
++ psycopg.optional-dependencies.c
|
||||
++ psycopg.optional-dependencies.pool
|
||||
++ pydantic.optional-dependencies.email;
|
||||
@@ -89,16 +76,24 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "glitchtip";
|
||||
version = "5.2.1";
|
||||
version = "6.1.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "glitchtip";
|
||||
repo = "glitchtip-backend";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FxkIbSrIyvLnD9n/Cb2udOhsnoC/bwGAfCRB1L/fhwo=";
|
||||
hash = "sha256-wju/QbIwdtNYQmRppCfjoaqb++spFZbqAsvBwwZyeUM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
echo 'import os
|
||||
ALLAUTH_TRUSTED_CLIENT_IP_HEADER = os.getenv(
|
||||
"ALLAUTH_TRUSTED_CLIENT_IP_HEADER",
|
||||
None
|
||||
)' >> glitchtip/settings.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = pythonPackages;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -49,13 +49,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hmcl";
|
||||
version = "3.12.2";
|
||||
version = "3.12.4";
|
||||
|
||||
src = fetchurl {
|
||||
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
|
||||
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
|
||||
url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
|
||||
hash = "sha256-CuWueXEq77Nr6aVbXo3BJVsYU+UWwBZRz//zBToLwN0=";
|
||||
hash = "sha256-CxLs3rMW++FGF7WV9EMIb+69ZrnV2MadEHD/NMyXBIw=";
|
||||
};
|
||||
|
||||
# - HMCL prompts users to download prebuilt Terracotta binary for
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "imnodes";
|
||||
version = "unstable-2024-03-12";
|
||||
version = "unstable-2025-06-25";
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
@@ -22,8 +22,8 @@ stdenv.mkDerivation {
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nelarius";
|
||||
repo = "imnodes";
|
||||
rev = "8563e1655bd9bb1f249e6552cc6274d506ee788b";
|
||||
hash = "sha256-E7NNCxYq9dyVvutWbpl2a+D2Ap2ErvdYHBDqpX0kb0c=";
|
||||
rev = "b2ec254ce576ac3d42dfb7aef61deadbff8e7211";
|
||||
hash = "sha256-Hdde198chSm3Ii0grEB4imqp7vVu6mYxa1VPZovvb7A=";
|
||||
};
|
||||
patches = [
|
||||
# CMake install rules
|
||||
|
||||
@@ -78,7 +78,7 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "llama-cpp";
|
||||
version = "8667";
|
||||
version = "8733";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -89,7 +89,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
owner = "ggml-org";
|
||||
repo = "llama.cpp";
|
||||
tag = "b${finalAttrs.version}";
|
||||
hash = "sha256-bDI7a7OMCbuZyaJX4o22fmQIyrGdzYkoIeVvxBYlnRI=";
|
||||
hash = "sha256-hHySLday/Kz0jNPLxbDxZXL/1O2VOBPG7fNaBLkD6tc=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
||||
@@ -121,7 +121,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
++ [ openssl ];
|
||||
|
||||
npmRoot = "tools/server/webui";
|
||||
npmDepsHash = "sha256-DxgUDVr+kwtW55C4b89Pl+j3u2ILmACcQOvOBjKWAKQ=";
|
||||
npmDepsHash = "sha256-eeftjKt0FuS0Dybez+Iz9VTVMA4/oQVh+3VoIqvhVMw=";
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
inherit (finalAttrs) src patches;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 634d56361e967adcd81c3cb839458d3aea99e5db Mon Sep 17 00:00:00 2001
|
||||
From: Skid <26208369+skid9000@users.noreply.github.com>
|
||||
Date: Sun, 22 Feb 2026 20:28:03 +0100
|
||||
Subject: [PATCH] Fix requests_cache version check for 1.3.0
|
||||
|
||||
Using the same method provided here : https://github.com/requests-cache/requests-cache/commit/61fae61e07222777eb26a6fb670c4ee6a9cdddb7
|
||||
---
|
||||
mnamer/const.py | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mnamer/const.py b/mnamer/const.py
|
||||
index 66510ebf..bf321f41 100644
|
||||
--- a/mnamer/const.py
|
||||
+++ b/mnamer/const.py
|
||||
@@ -4,6 +4,7 @@
|
||||
from pathlib import Path
|
||||
from platform import platform, python_version
|
||||
from sys import argv, gettrace, version_info
|
||||
+from importlib.metadata import version as pkg_version, PackageNotFoundError
|
||||
|
||||
VERSION: str
|
||||
|
||||
@@ -37,8 +38,8 @@
|
||||
requests_version = "N/A"
|
||||
|
||||
try:
|
||||
- from requests_cache import __version__ as requests_cache_version
|
||||
-except ModuleNotFoundError:
|
||||
+ requests_cache_version = pkg_version('requests_cache')
|
||||
+except PackageNotFoundError:
|
||||
requests_cache_version = "N/A"
|
||||
|
||||
try:
|
||||
@@ -35,6 +35,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
patches = [
|
||||
# https://github.com/jkwill87/mnamer/pull/291
|
||||
./cached_session_error.patch
|
||||
# https://github.com/jkwill87/mnamer/pull/333
|
||||
./fix-requests-cache-version-check.patch
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
|
||||
|
||||
@@ -12,13 +12,13 @@ let
|
||||
in
|
||||
python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "open-web-calendar";
|
||||
version = "1.49";
|
||||
version = "1.51";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit (finalAttrs) version;
|
||||
pname = "open_web_calendar";
|
||||
hash = "sha256-vtmIqiF85zn8CiMUWsCKJUzfiiK/j+xlZIyuIMGxR4I=";
|
||||
hash = "sha256-r+7ZKdNOhjnjE1MBNAkni4Rrpx4DMRhUaP1Mmk5wzOo=";
|
||||
};
|
||||
|
||||
# The Pypi tarball doesn't contain open_web_calendars/features
|
||||
@@ -39,7 +39,6 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
dependencies =
|
||||
with python.pkgs;
|
||||
[
|
||||
flask-caching
|
||||
flask-allowed-hosts
|
||||
flask
|
||||
icalendar
|
||||
@@ -48,6 +47,7 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
bcrypt
|
||||
caldav
|
||||
requests
|
||||
requests-cache
|
||||
pyyaml
|
||||
recurring-ical-events
|
||||
gunicorn
|
||||
@@ -59,7 +59,10 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
]
|
||||
++ requests.optional-dependencies.socks;
|
||||
|
||||
nativeCheckInputs = with python.pkgs; [ pytestCheckHook ];
|
||||
nativeCheckInputs = with python.pkgs; [
|
||||
pytestCheckHook
|
||||
pytest-responses
|
||||
];
|
||||
|
||||
enabledTestPaths = [ "open_web_calendar/test" ];
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ let
|
||||
patches = [
|
||||
# Achieve reproducible mvnHash by pinning develocity plugin.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/OpenAPITools/openapi-generator/pull/23326.patch";
|
||||
hash = "sha256-s68VoIXSFGvGCaFtCUYkeoq+CgC+2gIdDIIsmn8uqyk=";
|
||||
url = "https://github.com/OpenAPITools/openapi-generator/commit/ff66e1bc7fe33dcee89de7296eb7bcd5e2a11cc6.patch";
|
||||
hash = "sha256-E1VgtaIW1V+8ch2RpW850fVNl5Iqitjog+0b8DKFgZw=";
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage.override { inherit stdenv; } (finalAttrs: {
|
||||
pname = "pgdog";
|
||||
version = "0.1.34";
|
||||
version = "0.1.36";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgdogdev";
|
||||
repo = "pgdog";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ZbDj+2x2TlYz8r1gRF7msyKUELTTuvhjQlyJcN4g0NI=";
|
||||
hash = "sha256-3ESeZA+824abvTMp7Vge4ldqqQ6qSF/dkDgGaY6h4mM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-7CR3tE3YpfN864lCrl1Wm/eL008c5UzlsFN4k22oCF0=";
|
||||
cargoHash = "sha256-PNqUYP3lUXuQLosrDvoIMofWglJQjD9I/k6u/M3qfZ0=";
|
||||
|
||||
# Hardcoded paths for C compiler and linker
|
||||
postPatch = ''
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
makeBinaryWrapper,
|
||||
copyDesktopItems,
|
||||
electron_39,
|
||||
electron_41,
|
||||
nodejs,
|
||||
pnpm_10_29_2,
|
||||
fetchPnpmDeps,
|
||||
@@ -21,12 +21,12 @@
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_39;
|
||||
electron = electron_41;
|
||||
appName = "Podman Desktop";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "podman-desktop";
|
||||
version = "1.23.1";
|
||||
version = "1.26.2";
|
||||
|
||||
passthru.updateScript = _experimental-update-script-combinators.sequence [
|
||||
(nix-update-script { })
|
||||
@@ -59,14 +59,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "containers";
|
||||
repo = "podman-desktop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-08boCPsuT09OileZUWhB8awXWHrlJzoER2Bx0WXeOHU=";
|
||||
hash = "sha256-VVyKC1z7YECZlbTaFaq2OwGg0k22qBbn/HEOYiJ8fcw=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10_29_2;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-nBjAmXzjR0qGCM91UAonQKP0NG7+DXImueSbhbnMK/k=";
|
||||
hash = "sha256-tCp5qLZVo93H8VIToU3mkmwNsVXOAd1IEsL6RlazPXo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -75,7 +75,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./system-defaults-dir.patch
|
||||
];
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
env = {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
ELECTRON_OVERRIDE_DIST_PATH = electron.dist;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
diff --git a/packages/main/src/plugin/managed-by-constants.ts b/packages/main/src/plugin/managed-by-constants.ts
|
||||
index 5a20d2de29e..9fea8a17165 100644
|
||||
--- a/packages/main/src/plugin/managed-by-constants.ts
|
||||
+++ b/packages/main/src/plugin/managed-by-constants.ts
|
||||
@@ -29,4 +29,4 @@ export const SYSTEM_LOCKED_FILENAME = 'locked.json';
|
||||
// Folders for managed defaults on different platforms
|
||||
export const SYSTEM_DEFAULTS_FOLDER_MACOS = '/Library/Application Support/io.podman_desktop.PodmanDesktop';
|
||||
export const SYSTEM_DEFAULTS_FOLDER_WINDOWS = 'Podman Desktop';
|
||||
-export const SYSTEM_DEFAULTS_FOLDER_LINUX = '/usr/share/podman-desktop';
|
||||
+export const SYSTEM_DEFAULTS_FOLDER_LINUX = '/etc/podman-desktop';
|
||||
diff --git a/product.json b/product.json
|
||||
index 74b7299ee93..a80fe7373bc 100644
|
||||
--- a/product.json
|
||||
+++ b/product.json
|
||||
@@ -8,7 +8,7 @@
|
||||
"managed": {
|
||||
"macOS": "/Library/Application Support/io.podman_desktop.PodmanDesktop",
|
||||
"windows": "%PROGRAMDATA%\\Podman Desktop",
|
||||
- "linux": "/usr/share/podman-desktop",
|
||||
+ "linux": "/etc/podman-desktop",
|
||||
"flatpak": "/run/host/usr/share/podman-desktop"
|
||||
}
|
||||
},
|
||||
|
||||
157
pkgs/by-name/pr/processing/deps.json
generated
157
pkgs/by-name/pr/processing/deps.json
generated
@@ -53,6 +53,11 @@
|
||||
"pom": "sha256-zzU+toek04gE0IYSpbxV5aO22ZWWdRC9yypfSH91bPY="
|
||||
}
|
||||
},
|
||||
"https://dlcdn.apache.org": {
|
||||
"/xmlgraphics/batik/binaries/batik-bin-1.19": {
|
||||
"zip": "sha256-llQTrIM6XE5QPkVCk9L3TpZ8BEKqsgBpk+33LW7b6Oc="
|
||||
}
|
||||
},
|
||||
"https://github.com/processing": {
|
||||
"processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e": {
|
||||
"zip": "sha256-08ADdtsZ/lkbERbHliM5SSaFcTUnOplJdQx7eYR43qU="
|
||||
@@ -61,60 +66,6 @@
|
||||
"zip": "sha256-MC3Ce5B5bFUA0aCkFQPCMGA5QuUw5vjmSzFnyEfR3Nw="
|
||||
}
|
||||
},
|
||||
"https://jogamp.org/deployment/maven/org/jogamp": {
|
||||
"gluegen#gluegen-rt-main/2.5.0": {
|
||||
"jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=",
|
||||
"pom": "sha256-KDtSN+Uh/300IFXZw6Zy0FgglyLQgvPnVPZw3mVtghg="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0": {
|
||||
"jar": "sha256-NiDBhTaoZx/LHFlddEjp0xImuCQRevakxtRcZX9Nq+M=",
|
||||
"pom": "sha256-6S7gyRmGFTV50qfh5QJQaMLCSlNSc3L+Vrqk2ZCwGPM="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-android-aarch64": {
|
||||
"jar": "sha256-NFx328LbuUpcVwOVNfPp1k0LTqFyVS1lvwiyJKadhKc="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-linux-aarch64": {
|
||||
"jar": "sha256-GuQH+YQzcknnzZvx8eFjdzvgVSi1Vi7KBhvM9jSxDa8="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-linux-amd64": {
|
||||
"jar": "sha256-bZmNDB8E8QOJS3aQSQhhJFBQY86oaoKJYZS7U8iLBAo="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-linux-armv6hf": {
|
||||
"jar": "sha256-STL1+0J/TAal/QOzhUPqAhmVY8QX8HS1gTf6JWSlRN0="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-macosx-universal": {
|
||||
"jar": "sha256-Pb1dBU8QjD+MDAcoHm40lLhbibDYs/D770v2xByiVOw="
|
||||
},
|
||||
"gluegen#gluegen-rt/2.5.0/natives-windows-amd64": {
|
||||
"jar": "sha256-pPA54vqdYWvp8mKE/9av5fribVIdIfKBJuXqoHP4pDg="
|
||||
},
|
||||
"jogl#jogl-all-main/2.5.0": {
|
||||
"jar": "sha256-zBFPTAspsv5NBqXHkxg4gURSoEzJeJ4nshqwXTVBwQc=",
|
||||
"pom": "sha256-mGNBTE/Rxfbuq3A2Lhs626GUgWl3cZVqMlbtU4nR0kc="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0": {
|
||||
"jar": "sha256-JFcXzOq8omSiEKiZ+IOdR70Sf1D4CJLq0id92Jy80wE=",
|
||||
"pom": "sha256-awhqLkYde3kRocFl/8veKrebAMVMNgzxkcoA9feE22o="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-android-aarch64": {
|
||||
"jar": "sha256-M4/4m89L/TTDJSOYA9o+BB4ZmPUNuGCYzVSJoXTwk7U="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-linux-aarch64": {
|
||||
"jar": "sha256-5LngFakf5SKdPVOEjii4ZwCpD6vY5f6FeW9rHUm0Jm4="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-linux-amd64": {
|
||||
"jar": "sha256-6XhQ8pDY5Eugf6BQDXoHH/REIJCZ8Dct89unB8uj3cE="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-linux-armv6hf": {
|
||||
"jar": "sha256-tQgMQid574BQpqAk7O+AW8rP1Vp9TU4/b8XXDinY+4s="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-macosx-universal": {
|
||||
"jar": "sha256-Ay5WFnRDqA+fRHf77vJV5ZmIxs1SN6FRuUi95Ly3yAw="
|
||||
},
|
||||
"jogl#jogl-all/2.5.0/natives-windows-amd64": {
|
||||
"jar": "sha256-zgt1X2vA7u/ThlOectE+TY6W4fCGyiIvigLhEyADIUI="
|
||||
}
|
||||
},
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/github/ben-manes#gradle-versions-plugin/0.52.0": {
|
||||
"jar": "sha256-zuihUdLgvp86hcouXYeg2lyRpIHt8bx/e1e1Ywj9PA0=",
|
||||
@@ -387,10 +338,6 @@
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"antlr#antlr/2.7.7": {
|
||||
"jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=",
|
||||
"pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc="
|
||||
},
|
||||
"bouncycastle#bcmail-jdk14/138": {
|
||||
"jar": "sha256-OJ9AXPpmsmAESEczk3oiYkeCpdhkVuDDXgB7YOvI41k=",
|
||||
"pom": "sha256-XP2ibQY7MUiu5Lcukc8NXRjGk4CAfGLr/NZXttk/ykw="
|
||||
@@ -566,17 +513,17 @@
|
||||
"jar": "sha256-jOlpEWyslb1hsHqNXgcXSzUuYzAUc8qscsOV48CEiNI=",
|
||||
"pom": "sha256-wnn/o7UWjiIDCHIxxjiRmnzsdFgAaxzaZpWXR4YPtFc="
|
||||
},
|
||||
"net/java/dev/jna#jna-platform/5.17.0": {
|
||||
"jar": "sha256-t+PUbIe60utAmw5wSRa82BIGFo41cxLf3dDiU2ec2eA=",
|
||||
"pom": "sha256-CjC3l622giFH75jLJJ7z+/SiQ1QqqGv59C+tnmgwWkQ="
|
||||
"net/java/dev/jna#jna-platform/5.18.1": {
|
||||
"jar": "sha256-rRTBsexPQ9OWIxIZ36Y16/go9zjqyfiQ6hvAd5WJLZo=",
|
||||
"pom": "sha256-OdU4qVmaRHR3CDiGXtQs+j5rPRMIbLHld7i7QxSNGmU="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.12.1": {
|
||||
"jar": "sha256-kagUrE9A1g3ukdhC4aith0xiGXmEQD0OPDDTnlXPU7M=",
|
||||
"pom": "sha256-Zf8lhJuthZVUtQMXeS9Wia20UprkAx6aUkYxnLK4U1Y="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.17.0": {
|
||||
"jar": "sha256-s6lAjnxR4I7w47/MCPRD9uwPYZG6jNfBjVPSsi5b28A=",
|
||||
"pom": "sha256-UBoP8F2EpK0Q9t4lvpT0k5i3CjG+jzoO2fTGtE++/uQ="
|
||||
"net/java/dev/jna#jna/5.18.1": {
|
||||
"jar": "sha256-JgxLHiKx254RDuRBxPE84RX4QfpIxB14dQmGIUs5VVc=",
|
||||
"pom": "sha256-mLYq5v8oDXR/s1n8QuSP7RE9Rbw3Kagj3DC4MIqAZkU="
|
||||
},
|
||||
"net/thauvin/erik/urlencoder#urlencoder-lib-jvm/1.6.0": {
|
||||
"jar": "sha256-jQ/SrrSNGdxJxWPrwA8nSUfkX3FsEHU1wS6tY97NaI0=",
|
||||
@@ -664,84 +611,84 @@
|
||||
"jar": "sha256-uukFuFg86nP70Lekel8pCX31l+EYdaRSXQ7rrj1JcqA=",
|
||||
"pom": "sha256-w9wJYboDpq7ZqYKYRdYP5zAgW/4i5cQKCPNC5aTbsVE="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.commands/3.12.400": {
|
||||
"jar": "sha256-0IOPxFEzUjcgMUXtXAjnkxI2w1HwuG7gvtQY/ouD+xs=",
|
||||
"pom": "sha256-VvaWUeXjKExahc04hAmgqVZ4ro+teQO7OuCufAJK0GU="
|
||||
"org/eclipse/platform#org.eclipse.core.commands/3.12.500": {
|
||||
"jar": "sha256-RHEzYuVe0o5ttdLDG/Z1JP7wh2RaRNwyOdrGDs4BfLk=",
|
||||
"pom": "sha256-yD+4t0dc62ANfijxwyfGjhzSaFHeyEEKthn/9W17SoI="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.contenttype/3.9.700": {
|
||||
"jar": "sha256-UQnqmnhxhPV/+CljW539Ytc2w5HUgefrKLqj0nj9wAY=",
|
||||
"pom": "sha256-s1ueFPUNcb6ZBakpWBHiBV3dVBAWUwMhKSslFMhcV8c="
|
||||
"org/eclipse/platform#org.eclipse.core.contenttype/3.9.800": {
|
||||
"jar": "sha256-4MLblmANUZzjanX5t8lxr9KHDS0Fnu5L8kNtmzOqC40=",
|
||||
"pom": "sha256-vZ20X3R3JIQpxxz4RlcC2r+xUgzoU0+dwl1BeOu1iXs="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.expressions/3.9.500": {
|
||||
"jar": "sha256-hES13pDJtKtSjI6lw0HH6HLQ2+gkGreQhVUQhtlufJ4=",
|
||||
"pom": "sha256-1Ks7hbJUOHlXRXwfRrcAG1qQqJjFIixQIKB5DlFhalA="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.filesystem/1.11.300": {
|
||||
"jar": "sha256-6zJJS6uuCiEGYuFhq8vE33BXdI4AMyahVupneDyorO4=",
|
||||
"pom": "sha256-riTI0aUrpG3UKlyUP9xfw0Ky9A1Ff4E8N+gs/o/Gdp4="
|
||||
"org/eclipse/platform#org.eclipse.core.filesystem/1.11.400": {
|
||||
"jar": "sha256-b3C5XRS5DsV7lMXj26fh0YlnnPmkvEUm6ckb7tfWoO8=",
|
||||
"pom": "sha256-sQA8+u8BN+YzwThrzFfbCl5Yelm1Fx5We6Uwz6u/jMU="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.jobs/3.15.700": {
|
||||
"jar": "sha256-NwFReae5uQ0Wy5L0sb5gg6Gm2tJUKPqPa4libwzC2nk=",
|
||||
"pom": "sha256-OUVAotjHPjVRHz1f8J2fNkdm4P4steb4V8Tfqwl9Ot8="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.resources/3.23.0": {
|
||||
"jar": "sha256-Llir4A41yZuFqq2Nc4wqh3EDa+L0oitl2QvBRKgGcnA=",
|
||||
"pom": "sha256-AuUbd6oS0LZAFFNvA7dCjFpWF36Ettqb5sDnWm8jGo0="
|
||||
"org/eclipse/platform#org.eclipse.core.resources/3.23.200": {
|
||||
"jar": "sha256-d5PgetR4AfYqqnBPCkbWD4wK6AdeAPAucg1phiv+N7w=",
|
||||
"pom": "sha256-CPZTnfSlOMqg0Hsde2tHJsDpck6GWH6qMXKx0RAH8fg="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.core.runtime/3.34.0": {
|
||||
"jar": "sha256-B2s7+RXTzgN7eHfIfRfR0kQhNd0+eMXy7mEPXYg3kwE=",
|
||||
"pom": "sha256-b8TJb6EII4AhaatyU943S3qvWnSYO4o+tLok9vELUvk="
|
||||
"org/eclipse/platform#org.eclipse.core.runtime/3.34.200": {
|
||||
"jar": "sha256-tPNqCssI8D0LPbVLIfxWOMggxEdEakELpJalBw+jQ2M=",
|
||||
"pom": "sha256-VUfhQDP4BRrlX0qDhwRsdAk7UgNs3DVu9p6lGOrn5uw="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.equinox.app/1.7.500": {
|
||||
"jar": "sha256-GfLjYRNH22QzpIpiGHyfa9RohtDVaDZpfa//6YXqk+8=",
|
||||
"pom": "sha256-sKK1z+znfceXeW5uqiwkrBkwVnB9BPVWBe3PdJC0XFY="
|
||||
"org/eclipse/platform#org.eclipse.equinox.app/1.7.600": {
|
||||
"jar": "sha256-/TUzmINRB2CPVUd5pukYkXJe+5Tg9XVZ0Ks86kthVsc=",
|
||||
"pom": "sha256-cZhnUaan5uJyMJs6ZqySGUPplQlqXIgI1C6aDMJR1eg="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.equinox.common/3.20.200": {
|
||||
"jar": "sha256-m4tcijQuf1vl+VFU6frvrmhvOYfndtzgMPN72EfNfzU=",
|
||||
"pom": "sha256-XYyNb/aVj33ouZDJ/A7Ff3gyf1HgZJc/V5LiA1Sx7m4="
|
||||
"org/eclipse/platform#org.eclipse.equinox.common/3.20.300": {
|
||||
"jar": "sha256-hV0jmvKd2x0iSNN4aXwJW+Yu+5pbPBuybTH3uXqOFq4=",
|
||||
"pom": "sha256-ALs//vT1/wr/lXaIGYlvxY1kxitKkEc60niE6P0viFI="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.equinox.preferences/3.12.0": {
|
||||
"jar": "sha256-1MnqXEzYCLl/FUkLu9fdj1jHZ8aFttBZGUdX5m1u7zU=",
|
||||
"pom": "sha256-3SwqP9ZklaQTCAvJzkDktSg5SGV37IrnJ9APxoLhUO8="
|
||||
"org/eclipse/platform#org.eclipse.equinox.preferences/3.12.100": {
|
||||
"jar": "sha256-/QToGiirMra7BzKG6yk8RLdgF2/PHjXvFWFNYt+CD4Y=",
|
||||
"pom": "sha256-IYxiWoWw5QQU6dGRKFYUtrL+qf9/0TITKm4PkyQzMZY="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.equinox.registry/3.12.500": {
|
||||
"jar": "sha256-Tl7/034/bicyoeeIx2n267SdStYOnl2RxXokz/vC+v4=",
|
||||
"pom": "sha256-ddMClkYdU0SA4qK9boylKnDd6+2KKNd8qBb0uVK9SdY="
|
||||
"org/eclipse/platform#org.eclipse.equinox.registry/3.12.600": {
|
||||
"jar": "sha256-T4zXJoFEa1mDkKjCTum5mW9uTF+r7QIrUL0m9vWgv2w=",
|
||||
"pom": "sha256-Kwg3b6gZu5Q3vHDKJM6w8NtE3gE/63F9vmmaKU+2MSc="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.osgi/3.23.200": {
|
||||
"jar": "sha256-jZQFjq0/RlGQAWaSSmd8O+tumW8HL6vzhf/dcFELxJM=",
|
||||
"pom": "sha256-py2jWv3kgc2hDp2UsxpUwbkKe2hQqt5MmtnpVtdIWtA="
|
||||
"org/eclipse/platform#org.eclipse.osgi/3.24.100": {
|
||||
"jar": "sha256-0g+JIDBZb7wsJdoArNvSdQ93zv1oE2wzo+J5uJSYZ6g=",
|
||||
"pom": "sha256-+U4i9QNmKcxz7AM41+C5wFx2g70TZ4wWa8p/fIfm+oE="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.text/3.14.400": {
|
||||
"jar": "sha256-BIRcZhMn9wBe2WAzzzOCLU9gsBGJvD6ehk5RL1cJYhM=",
|
||||
"pom": "sha256-e9x89hsAsHEpsEYWo3MrxTUjOnj9phwWBRl7kqCZE1A="
|
||||
"org/eclipse/platform#org.eclipse.text/3.14.600": {
|
||||
"jar": "sha256-1nW4pgPmL0PLqcHyS+ysEYKzKHwDPEL7gQYmjafTLXE=",
|
||||
"pom": "sha256-ej/wQTbv0Vn8pN0QEk2idD+fSFUN7shfR4TTDxZIQx0="
|
||||
},
|
||||
"org/eclipse/platform/org.eclipse.core.filesystem/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "org.eclipse.platform",
|
||||
"lastUpdated": "20250906152134",
|
||||
"release": "1.11.300"
|
||||
"lastUpdated": "20251208072743",
|
||||
"release": "1.11.400"
|
||||
}
|
||||
},
|
||||
"org/eclipse/platform/org.eclipse.core.resources/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "org.eclipse.platform",
|
||||
"lastUpdated": "20250906152140",
|
||||
"release": "3.23.0"
|
||||
"lastUpdated": "20260309141945",
|
||||
"release": "3.23.200"
|
||||
}
|
||||
},
|
||||
"org/eclipse/platform/org.eclipse.core.runtime/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "org.eclipse.platform",
|
||||
"lastUpdated": "20250906152136",
|
||||
"release": "3.34.0"
|
||||
"lastUpdated": "20260309141943",
|
||||
"release": "3.34.200"
|
||||
}
|
||||
},
|
||||
"org/eclipse/platform/org.eclipse.text/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "org.eclipse.platform",
|
||||
"lastUpdated": "20250906152155",
|
||||
"release": "3.14.400"
|
||||
"lastUpdated": "20260309142023",
|
||||
"release": "3.14.600"
|
||||
}
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
|
||||
@@ -2,58 +2,21 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
unzip,
|
||||
makeWrapper,
|
||||
gradle_8,
|
||||
jdk17,
|
||||
jogl,
|
||||
rsync,
|
||||
batik,
|
||||
stripJavaArchivesHook,
|
||||
wrapGAppsHook3,
|
||||
libGL,
|
||||
libxxf86vm,
|
||||
}:
|
||||
let
|
||||
# Force use of JDK 17, see https://github.com/processing/processing4/issues/1043
|
||||
gradle = gradle_8.override { java = jdk17; };
|
||||
jdk = jdk17;
|
||||
buildNumber = "1310";
|
||||
vaqua = fetchurl {
|
||||
name = "VAqua9.jar";
|
||||
url = "https://violetlib.org/release/vaqua/9/VAqua9.jar";
|
||||
sha256 = "cd0b82df8e7434c902ec873364bf3e9a3e6bef8b59cbf42433130d71bf1a779c";
|
||||
};
|
||||
|
||||
jna = fetchurl {
|
||||
name = "jna-5.10.0.zip";
|
||||
url = "https://github.com/java-native-access/jna/archive/5.10.0.zip";
|
||||
sha256 = "B5CakOQ8225xNsk2TMV8CbK3RcsLlb+pHzjaY5JNwg0=";
|
||||
};
|
||||
|
||||
flatlaf = fetchurl {
|
||||
name = "flatlaf-2.4.jar";
|
||||
url = "mirror://maven/com/formdev/flatlaf/2.4/flatlaf-2.4.jar";
|
||||
sha256 = "NVMYiCd+koNCJ6X3EiRx1Aj+T5uAMSJ9juMmB5Os+zc=";
|
||||
};
|
||||
|
||||
lsp4j = fetchurl {
|
||||
name = "org.eclipse.lsp4j-0.19.0.jar";
|
||||
url = "mirror://maven/org/eclipse/lsp4j/org.eclipse.lsp4j/0.19.0/org.eclipse.lsp4j-0.19.0.jar";
|
||||
sha256 = "sha256-1DI5D9KW+GL4gT1qjwVZveOl5KVOEjt6uXDwsFzi8Sg=";
|
||||
};
|
||||
|
||||
lsp4j-jsonrpc = fetchurl {
|
||||
name = "org.eclipse.lsp4j.jsonrpc-0.19.0.jar";
|
||||
url = "mirror://maven/org/eclipse/lsp4j/org.eclipse.lsp4j.jsonrpc/0.19.0/org.eclipse.lsp4j.jsonrpc-0.19.0.jar";
|
||||
sha256 = "sha256-ozYTkvv7k0psCeX/PbSM3/Bl17qT3upX3trt65lmM9I=";
|
||||
};
|
||||
|
||||
gson = fetchurl {
|
||||
name = "gson-2.9.1.jar";
|
||||
url = "mirror://maven/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar";
|
||||
sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "processing";
|
||||
@@ -72,11 +35,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# dirPermissions: Without this, some gradle tasks (e.g. includeJdk) fail to copy contents of read-only subfolders within the nix store
|
||||
./fix-permissions.patch
|
||||
|
||||
# Use jogl from nixpkgs instead of downloading from maven
|
||||
./use-nixpkgs-jogl.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle
|
||||
unzip
|
||||
makeWrapper
|
||||
stripJavaArchivesHook
|
||||
wrapGAppsHook3
|
||||
@@ -85,7 +50,8 @@ stdenv.mkDerivation rec {
|
||||
jdk
|
||||
jogl
|
||||
rsync
|
||||
batik
|
||||
libGL
|
||||
libxxf86vm
|
||||
];
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
@@ -104,20 +70,6 @@ stdenv.mkDerivation rec {
|
||||
runHook preBuild
|
||||
runHook preGradleUpdate
|
||||
|
||||
mkdir -p app/lib core/library
|
||||
ln -s ${jogl}/share/java/* core/library/
|
||||
ln -s ${vaqua} app/lib/VAqua9.jar
|
||||
ln -s ${flatlaf} app/lib/flatlaf.jar
|
||||
ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar
|
||||
ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar
|
||||
ln -s ${gson} java/mode/gson.jar
|
||||
unzip -qo ${jna} -d app/lib/
|
||||
mv app/lib/{jna-5.10.0/dist/jna.jar,}
|
||||
mv app/lib/{jna-5.10.0/dist/jna-platform.jar,}
|
||||
|
||||
ln -sf ${batik}/* java/libraries/svg/library/
|
||||
cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
|
||||
|
||||
gradle createDistributable
|
||||
|
||||
runHook postGradleUpdate
|
||||
@@ -129,25 +81,14 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace app/build.gradle.kts \
|
||||
--replace-fail "https://github.com/processing/processing-examples/archive/refs/heads/main.zip" "https://github.com/processing/processing-examples/archive/b10c9e9a05a0d6c20d233ca7f30d315b5047720e.zip" \
|
||||
--replace-fail "https://github.com/processing/processing-website/archive/refs/heads/main.zip" "https://github.com/processing/processing-website/archive/f11676d1b7464291a23ae834f2ef6ab00baaed8e.zip"
|
||||
|
||||
substituteInPlace core/build.gradle.kts \
|
||||
--replace-fail "@@joglPath@@" "${jogl}"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p app/lib core/library
|
||||
ln -s ${jogl}/share/java/* core/library/
|
||||
ln -s ${vaqua} app/lib/VAqua9.jar
|
||||
ln -s ${flatlaf} app/lib/flatlaf.jar
|
||||
ln -s ${lsp4j} java/mode/org.eclipse.lsp4j.jar
|
||||
ln -s ${lsp4j-jsonrpc} java/mode/org.eclipse.lsp4j.jsonrpc.jar
|
||||
ln -s ${gson} java/mode/gson.jar
|
||||
unzip -qo ${jna} -d app/lib/
|
||||
mv app/lib/{jna-5.10.0/dist/jna.jar,}
|
||||
mv app/lib/{jna-5.10.0/dist/jna-platform.jar,}
|
||||
|
||||
ln -sf ${batik}/* java/libraries/svg/library/
|
||||
cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
|
||||
|
||||
gradle assemble
|
||||
|
||||
runHook postBuild
|
||||
@@ -170,7 +111,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeWrapper $out/unwrapped/Processing $out/bin/Processing \
|
||||
''${gappsWrapperArgs[@]} \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
|
||||
--prefix LD_LIBRARY_PATH : "${
|
||||
lib.makeLibraryPath [
|
||||
libGL
|
||||
libxxf86vm
|
||||
]
|
||||
}" \
|
||||
--prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp"
|
||||
|
||||
runHook postInstall
|
||||
|
||||
14
pkgs/by-name/pr/processing/use-nixpkgs-jogl.patch
Normal file
14
pkgs/by-name/pr/processing/use-nixpkgs-jogl.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
|
||||
index 8f7211b13..82c229f76 100644
|
||||
--- a/core/build.gradle.kts
|
||||
+++ b/core/build.gradle.kts
|
||||
@@ -29,8 +29,7 @@ sourceSets{
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(libs.jogl)
|
||||
- implementation(libs.gluegen)
|
||||
+ implementation(fileTree("@@joglPath@@/share/java") { include("*.jar") })
|
||||
|
||||
testImplementation(libs.junit)
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
writeShellScript,
|
||||
steam-run-free,
|
||||
steam,
|
||||
fetchpatch2,
|
||||
winetricks,
|
||||
yad,
|
||||
@@ -12,24 +12,35 @@
|
||||
extraCompatPaths ? "",
|
||||
}:
|
||||
|
||||
let
|
||||
steam-run =
|
||||
(steam.override {
|
||||
extraLibraries =
|
||||
p: with p; [
|
||||
# Fixes installing vcrun2022
|
||||
# https://github.com/Matoking/protontricks/issues/461
|
||||
freetype
|
||||
];
|
||||
}).run-free;
|
||||
in
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "protontricks";
|
||||
version = "1.14.0";
|
||||
version = "1.14.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Matoking";
|
||||
repo = "protontricks";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-36Yst8j5xhXulNp/YGO3pDnvxpyT4ZuEjwSvJIESUSw=";
|
||||
hash = "sha256-pTBpzSBGFUmol3Osb78yhyZup2DogLpNaBg/kF0dVGI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Use steam-run to run Proton binaries
|
||||
(replaceVars ./steam-run.patch {
|
||||
steamRun = lib.getExe steam-run-free;
|
||||
steamRun = lib.getExe steam-run;
|
||||
bash = writeShellScript "steam-run-bash" ''
|
||||
exec ${lib.getExe steam-run-free} bash "$@"
|
||||
exec ${lib.getExe steam-run} bash "$@"
|
||||
'';
|
||||
})
|
||||
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
|
||||
clangStdenv.mkDerivation rec {
|
||||
pname = "sogo";
|
||||
version = "5.12.4";
|
||||
version = "5.12.7";
|
||||
|
||||
# always update the sope package as well, when updating sogo
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alinto";
|
||||
repo = "sogo";
|
||||
rev = "SOGo-${version}";
|
||||
hash = "sha256-L79ABIABaVrO5Y3a3a30ZPyrhI/Nx+Bb5WjOvL0PI7s=";
|
||||
hash = "sha256-HMnJQTC9P6gOVP1hViRtshIS0oWj0AKoRkeNr/udlso=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "symfony-cli";
|
||||
version = "5.16.1";
|
||||
vendorHash = "sha256-StRdOTEuijjnDWvXNjAVzvDL3zXQJ4LZOioart1CFPw=";
|
||||
version = "5.17.1";
|
||||
vendorHash = "sha256-eCvlfkUH80EXshBkWz4+ehVlRXPsKyydixo76+kxSgE=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "symfony-cli";
|
||||
repo = "symfony-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-q8m8bhM07CUQxtwEB/BqE90tDY6uSoyNsCShbMIBesQ=";
|
||||
hash = "sha256-6FqfbVfNGfIGJFBemwfUVwVR7fwrnZT38vF+8Qr8p3s=";
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git --git-dir $out/.git log -1 --pretty=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ' > $out/SOURCE_DATE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"darwin": {
|
||||
"hash": "sha256-GNDoWxD0Xqph+JyUj64YcMaIJu5y3mlLAhYcVrprDUc=",
|
||||
"version": "0.2026.03.25.08.24.stable_05"
|
||||
"hash": "sha256-+vr4OINeprn3dqarB6ZotK4oA1h09WT6wIuKyxPtAeQ=",
|
||||
"version": "0.2026.03.25.08.24.stable_09"
|
||||
},
|
||||
"linux_x86_64": {
|
||||
"hash": "sha256-rUKSVE6cCZT1M1cTZ4S1C2ox3T9yacBpnl23J4CvKz8=",
|
||||
"version": "0.2026.03.25.08.24.stable_05"
|
||||
"hash": "sha256-FceMF9fAz4XMBwL/iAaQdz/elSnS5DNV1uaBy5BEwSc=",
|
||||
"version": "0.2026.03.25.08.24.stable_09"
|
||||
},
|
||||
"linux_aarch64": {
|
||||
"hash": "sha256-ADTNNsRq7DmYlxrl2xLxBZkHlDHxbM08ywZPJDla0lk=",
|
||||
"version": "0.2026.03.25.08.24.stable_05"
|
||||
"hash": "sha256-9x3mNKT8PaFaZouMN7iXPfCv2U1SsbkI4BcpzfhCODw=",
|
||||
"version": "0.2026.03.25.08.24.stable_09"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,16 +12,19 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "wgpu-utils";
|
||||
version = "25.0.2";
|
||||
version = "29.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gfx-rs";
|
||||
repo = "wgpu";
|
||||
tag = "wgpu-v${finalAttrs.version}";
|
||||
hash = "sha256-Na8UWMEzY0mvw8YERZ86PH79Z5YlXITPdOYha7Ahn7k=";
|
||||
hash = "sha256-BLw1HnB0DghtWAe8jo6GPO54U3qNNO4yprArme1CdeE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9o1Tb0pVTc3iWPjNlAPBQX72djcx3EPJhxuUW6xZfCs=";
|
||||
# cargo-auditable fails on wgpu's dep:-based feature wiring.
|
||||
auditable = false;
|
||||
|
||||
cargoHash = "sha256-QMH5GHjOHbzYdFUQxJ6aEQ+rX6Okl1HYog0hMh6bc8w=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -29,13 +29,13 @@ assert
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "z3";
|
||||
version = "4.15.8";
|
||||
version = "4.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = "z3";
|
||||
rev = "z3-${finalAttrs.version}";
|
||||
hash = "sha256-6HCymxICyxGUWD1aq5Vb1t/AYODFQ6ZzoOr3owr+nvY=";
|
||||
hash = "sha256-DnhX3kxggnFmyYwXEPBsBA1rh4oor1oIJR5TMJk/jvc=";
|
||||
};
|
||||
|
||||
patches = lib.optionals useCmakeBuild [
|
||||
|
||||
@@ -109,7 +109,9 @@ in
|
||||
"${date}-${rev}";
|
||||
__intentionallyOverridingVersion = true;
|
||||
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.5";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
gnum4
|
||||
@@ -323,7 +325,9 @@ in
|
||||
|
||||
# Lua 5.4 support is experimental at the moment, see
|
||||
# https://github.com/lgi-devs/lgi/pull/249
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
};
|
||||
});
|
||||
|
||||
ljsyscall = prev.ljsyscall.overrideAttrs (old: rec {
|
||||
@@ -340,7 +344,9 @@ in
|
||||
preConfigure = ''
|
||||
sed -i 's/lua == 5.1/lua >= 5.1, < 5.3/' ${knownRockspec}
|
||||
'';
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.3";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.3";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional (!isLuaJIT) final.luaffi;
|
||||
});
|
||||
@@ -409,7 +415,9 @@ in
|
||||
buildInputs = old.buildInputs ++ [
|
||||
gnulib
|
||||
];
|
||||
meta.broken = isLuaJIT;
|
||||
meta = (old.meta or { }) // {
|
||||
broken = isLuaJIT;
|
||||
};
|
||||
});
|
||||
|
||||
lrexlib-oniguruma = prev.lrexlib-oniguruma.overrideAttrs {
|
||||
@@ -474,10 +482,12 @@ in
|
||||
};
|
||||
});
|
||||
|
||||
lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs {
|
||||
lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs (old: {
|
||||
strictDeps = false;
|
||||
meta.broken = isLuaJIT;
|
||||
};
|
||||
meta = (old.meta or { }) // {
|
||||
broken = isLuaJIT;
|
||||
};
|
||||
});
|
||||
|
||||
lua-curl = prev.lua-curl.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
@@ -524,12 +534,16 @@ in
|
||||
|
||||
# ld: symbol(s) not found for architecture arm64
|
||||
# clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
|
||||
meta.broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5";
|
||||
};
|
||||
});
|
||||
|
||||
lua-subprocess = prev.lua-subprocess.overrideAttrs {
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
};
|
||||
lua-subprocess = prev.lua-subprocess.overrideAttrs (old: {
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
};
|
||||
});
|
||||
|
||||
lua-yajl = prev.lua-yajl.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [
|
||||
@@ -605,7 +619,9 @@ in
|
||||
dep = libevent;
|
||||
}
|
||||
];
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
};
|
||||
});
|
||||
|
||||
luaexpat = prev.luaexpat.overrideAttrs (_: {
|
||||
@@ -617,7 +633,7 @@ in
|
||||
];
|
||||
});
|
||||
|
||||
luaffi = prev.luaffi.overrideAttrs {
|
||||
luaffi = prev.luaffi.overrideAttrs (old: {
|
||||
# TODO Somehow automatically amend buildInputs for things that need luaffi
|
||||
# but are in luajitPackages?
|
||||
|
||||
@@ -629,8 +645,10 @@ in
|
||||
sha256 = "1nwx6sh56zfq99rcs7sph0296jf6a9z72mxknn0ysw9fd7m1r8ig";
|
||||
};
|
||||
knownRockspec = with prev.luaffi; "${pname}-${version}.rockspec";
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT;
|
||||
};
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT;
|
||||
};
|
||||
});
|
||||
|
||||
lualdap = prev.lualdap.overrideAttrs (_: {
|
||||
externalDeps = [
|
||||
@@ -852,7 +870,9 @@ in
|
||||
'';
|
||||
|
||||
# Requires ffi
|
||||
meta.broken = !isLuaJIT;
|
||||
meta = (old.meta or { }) // {
|
||||
broken = !isLuaJIT;
|
||||
};
|
||||
});
|
||||
|
||||
mpack = prev.mpack.overrideAttrs (drv: {
|
||||
@@ -1015,10 +1035,12 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
rest-nvim = prev.rest-nvim.overrideAttrs {
|
||||
rest-nvim = prev.rest-nvim.overrideAttrs (old: {
|
||||
strictDeps = false;
|
||||
meta.broken = luaAtLeast "5.5";
|
||||
};
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaAtLeast "5.5";
|
||||
};
|
||||
});
|
||||
|
||||
rocks-dev-nvim = prev.rocks-dev-nvim.overrideAttrs {
|
||||
|
||||
@@ -1225,7 +1247,9 @@ in
|
||||
});
|
||||
|
||||
tree-sitter-norg = prev.tree-sitter-norg.overrideAttrs (old: {
|
||||
meta.broken = lua.luaversion != "5.1";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = lua.luaversion != "5.1";
|
||||
};
|
||||
});
|
||||
|
||||
tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (old: {
|
||||
@@ -1235,7 +1259,9 @@ in
|
||||
];
|
||||
|
||||
# should be fixed upstream
|
||||
meta.broken = lua.luaversion != "5.1";
|
||||
meta = (old.meta or { }) // {
|
||||
broken = lua.luaversion != "5.1";
|
||||
};
|
||||
});
|
||||
|
||||
tree-sitter-teal = prev.tree-sitter-teal.overrideAttrs (old: {
|
||||
@@ -1255,8 +1281,10 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
vstruct = prev.vstruct.overrideAttrs (_: {
|
||||
meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
vstruct = prev.vstruct.overrideAttrs (old: {
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaOlder "5.1" || luaAtLeast "5.4";
|
||||
};
|
||||
});
|
||||
|
||||
vusted = prev.vusted.overrideAttrs (_: {
|
||||
@@ -1266,9 +1294,11 @@ in
|
||||
'';
|
||||
});
|
||||
|
||||
xml2lua = prev.xml2lua.overrideAttrs {
|
||||
meta.broken = luaAtLeast "5.5";
|
||||
};
|
||||
xml2lua = prev.xml2lua.overrideAttrs (old: {
|
||||
meta = (old.meta or { }) // {
|
||||
broken = luaAtLeast "5.5";
|
||||
};
|
||||
});
|
||||
|
||||
# keep-sorted end
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
wheel,
|
||||
django,
|
||||
django-modeltranslation,
|
||||
}:
|
||||
@@ -20,9 +19,15 @@ buildPythonPackage rec {
|
||||
hash = "sha256-IRLY4VaKYXVkSgU/zdY+PSmGrcFB2FlE5L7j0FqisRM=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString (lib.versionAtLeast django.version "6.0") ''
|
||||
# sadly upstream does not use pytest, so we must patch the one failing test or we could not run any tests at all
|
||||
# see https://github.com/justinmayer/django-autoslug/issues/87
|
||||
substituteInPlace autoslug/tests/tests.py \
|
||||
--replace-fail "assert b.slug == 'hello_world-2'" "assert b.slug == 'hello_world_2'"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = [ django ];
|
||||
|
||||
@@ -36,6 +36,12 @@ buildPythonPackage rec {
|
||||
hash = "sha256-WgO/bDe4anQCc1q2Gdq3W70yDqDgmsvn39Qf9ZNVXuE=";
|
||||
};
|
||||
|
||||
patches = lib.optionals (lib.versionAtLeast django.version "6.0") [
|
||||
# Fix some tests when run with Django 6
|
||||
# see https://github.com/django-extensions/django-extensions/pull/1979
|
||||
./django_6-compat.diff
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
From 5c096ad7a59a3e9edee66e27fbae46c30e4abd6b Mon Sep 17 00:00:00 2001
|
||||
From: asherzod1 <sh.abdumutalov1@gmail.com>
|
||||
Date: Wed, 11 Mar 2026 00:53:19 +0500
|
||||
Subject: [PATCH] fix: add Django 6 compatibility for signals, constraints, and
|
||||
random char field
|
||||
|
||||
---
|
||||
django_extensions/db/fields/__init__.py | 18 +++++++++++++-----
|
||||
.../management/commands/list_signals.py | 4 +++-
|
||||
tests/test_management_command.py | 6 +++++-
|
||||
tests/testapp/models.py | 7 ++++++-
|
||||
4 files changed, 27 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/django_extensions/db/fields/__init__.py b/django_extensions/db/fields/__init__.py
|
||||
index 938254e1f..c233cee84 100644
|
||||
--- a/django_extensions/db/fields/__init__.py
|
||||
+++ b/django_extensions/db/fields/__init__.py
|
||||
@@ -86,7 +86,11 @@ def find_unique(self, model_instance, field, iterator, *args):
|
||||
|
||||
new = next(iterator)
|
||||
kwargs[self.attname] = new
|
||||
- while not new or queryset.filter(query, **kwargs):
|
||||
+ while True:
|
||||
+ matching = queryset.filter(query, **kwargs)
|
||||
+ has_match = matching.exists() if hasattr(matching, "exists") else bool(matching)
|
||||
+ if new and not has_match:
|
||||
+ break
|
||||
new = next(iterator)
|
||||
kwargs[self.attname] = new
|
||||
setattr(model_instance, self.attname, new)
|
||||
@@ -388,10 +392,14 @@ def in_unique_together(self, model_instance):
|
||||
return False
|
||||
|
||||
def pre_save(self, model_instance, add):
|
||||
- if (not add or self.keep_default) and getattr(
|
||||
- model_instance, self.attname
|
||||
- ) != "":
|
||||
- return getattr(model_instance, self.attname)
|
||||
+ current_value = getattr(model_instance, self.attname)
|
||||
+ # Django 6 may call pre_save multiple times for inserts; if we've already
|
||||
+ # populated the field value, reuse it instead of regenerating.
|
||||
+ if current_value not in ("", None):
|
||||
+ return current_value
|
||||
+
|
||||
+ if (not add or self.keep_default) and current_value != "":
|
||||
+ return current_value
|
||||
|
||||
population = ""
|
||||
if self.include_alpha:
|
||||
diff --git a/django_extensions/management/commands/list_signals.py b/django_extensions/management/commands/list_signals.py
|
||||
index 9cadc4f85..e7bc9d7f6 100644
|
||||
--- a/django_extensions/management/commands/list_signals.py
|
||||
+++ b/django_extensions/management/commands/list_signals.py
|
||||
@@ -52,7 +52,9 @@ def handle(self, *args, **options):
|
||||
for signal in signals:
|
||||
signal_name = SIGNAL_NAMES.get(signal, "unknown")
|
||||
for receiver in signal.receivers:
|
||||
- if django.VERSION >= (5, 0):
|
||||
+ if django.VERSION >= (6, 0):
|
||||
+ lookup, receiver, _sender, is_async = receiver
|
||||
+ elif django.VERSION >= (5, 0):
|
||||
lookup, receiver, is_async = receiver
|
||||
else:
|
||||
lookup, receiver = receiver
|
||||
diff --git a/tests/test_management_command.py b/tests/test_management_command.py
|
||||
index ea205ed72..0fb9dc27b 100644
|
||||
--- a/tests/test_management_command.py
|
||||
+++ b/tests/test_management_command.py
|
||||
@@ -3,6 +3,7 @@
|
||||
import logging
|
||||
import importlib
|
||||
|
||||
+import django
|
||||
from django.core.management import (
|
||||
call_command,
|
||||
find_commands,
|
||||
@@ -421,7 +422,10 @@ def test_field_class(self):
|
||||
stdout=out,
|
||||
)
|
||||
self.output = out.getvalue()
|
||||
- self.assertIn("id - AutoField", self.output)
|
||||
+ if django.VERSION >= (6, 0):
|
||||
+ self.assertIn("id - BigAutoField", self.output)
|
||||
+ else:
|
||||
+ self.assertIn("id - AutoField", self.output)
|
||||
self.assertIn("char_field - CharField", self.output)
|
||||
self.assertIn("integer_field - IntegerField", self.output)
|
||||
self.assertIn("foreign_key_field - ForeignKey", self.output)
|
||||
diff --git a/tests/testapp/models.py b/tests/testapp/models.py
|
||||
index 278402f51..3f31efcda 100644
|
||||
--- a/tests/testapp/models.py
|
||||
+++ b/tests/testapp/models.py
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
+import django
|
||||
from django.db import models
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.db.models import UniqueConstraint
|
||||
@@ -178,7 +179,11 @@ class Meta:
|
||||
fields=("common_field", "uniq_field"), name="unique_common_uniq_pair"
|
||||
),
|
||||
models.CheckConstraint(
|
||||
- check=~models.Q(common_field=models.F("another_common_field")),
|
||||
+ **(
|
||||
+ {"condition": ~models.Q(common_field=models.F("another_common_field"))}
|
||||
+ if django.VERSION >= (5, 2)
|
||||
+ else {"check": ~models.Q(common_field=models.F("another_common_field"))}
|
||||
+ ),
|
||||
name="common_and_another_common_differ",
|
||||
),
|
||||
]
|
||||
@@ -6,6 +6,7 @@
|
||||
django,
|
||||
pytestCheckHook,
|
||||
pytest-django,
|
||||
pytest-xdist,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
@@ -29,6 +30,7 @@ buildPythonPackage rec {
|
||||
django-environ
|
||||
pytestCheckHook
|
||||
pytest-django
|
||||
pytest-xdist
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "guardian" ];
|
||||
|
||||
@@ -28,6 +28,10 @@ buildPythonPackage rec {
|
||||
--replace-fail '"pytest-runner"' ""
|
||||
'';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"django"
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ prometheus-client ];
|
||||
|
||||
60
pkgs/development/python-modules/django-vcache/default.nix
Normal file
60
pkgs/development/python-modules/django-vcache/default.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
croniter,
|
||||
django,
|
||||
fetchFromGitLab,
|
||||
hatchling,
|
||||
ormsgpack,
|
||||
prometheus-client,
|
||||
pythonOlder,
|
||||
valkey,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-vcache";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "glitchtip";
|
||||
repo = "django-vcache";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-bOHEw4nl82tFjHiJdmyW0LleKMpjUh8uu4crGp6IsWY=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
ormsgpack
|
||||
croniter
|
||||
valkey
|
||||
]
|
||||
++ valkey.optional-dependencies.libvalkey
|
||||
++ lib.optional (pythonOlder "3.14") zstd;
|
||||
|
||||
optional-dependencies = {
|
||||
metrics = [ prometheus-client ];
|
||||
valkey = [ valkey ] ++ valkey.optional-dependencies.libvalkey;
|
||||
};
|
||||
|
||||
pythonImportsCheck = [ "django_vcache" ];
|
||||
|
||||
# requires valkey sentinel cluster
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Specialized, lightweight Django cache backend for Valkey";
|
||||
homepage = "https://gitlab.com/glitchtip/django-vcache/";
|
||||
changelog = "https://gitlab.com/glitchtip/django-vcache/-/blob/main/CHANGELOG.md#${
|
||||
lib.replaceString "." "" version
|
||||
}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
defelo
|
||||
felbinger
|
||||
];
|
||||
};
|
||||
}
|
||||
90
pkgs/development/python-modules/django-vtasks/default.nix
Normal file
90
pkgs/development/python-modules/django-vtasks/default.nix
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
croniter,
|
||||
dj-database-url,
|
||||
django-valkey,
|
||||
django,
|
||||
fetchFromGitLab,
|
||||
hatchling,
|
||||
orjson,
|
||||
postgresql,
|
||||
postgresqlTestHook,
|
||||
prometheus-client,
|
||||
psycopg,
|
||||
pytest-asyncio,
|
||||
pytest-django,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
redisTestHook,
|
||||
valkey,
|
||||
zstandard,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-vtasks";
|
||||
version = "1.0.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "glitchtip";
|
||||
repo = "django-vtasks";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-75W63HsLBT4EPQCiAXjd9qr6n07/2e5GCUNWeDzXUq0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# upstream does not use pytest to run the tests, but we just need to patch one async test to do so
|
||||
substituteInPlace scripts/test_stale_conn.py \
|
||||
--replace-fail "import asyncio" "import asyncio; import pytest" \
|
||||
--replace-fail "async def test_async_stale_connection():" "@pytest.mark.asyncio
|
||||
async def test_async_stale_connection():"
|
||||
'';
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
dependencies = [
|
||||
django
|
||||
orjson
|
||||
croniter
|
||||
]
|
||||
++ lib.optional (pythonOlder "3.14") zstandard;
|
||||
|
||||
optional-dependencies = {
|
||||
metrics = [ prometheus-client ];
|
||||
valkey = [ valkey ] ++ valkey.optional-dependencies.libvalkey;
|
||||
};
|
||||
|
||||
pythonImportsCheck = [ "django_vtasks" ];
|
||||
|
||||
env = {
|
||||
DATABASE_URL = "postgresql://postgres@%2Fbuild%2Frun%2Fpostgresql";
|
||||
VALKEY_URL = "redis://127.0.0.1:6379";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
django # must come first as vtasks only works with django 6
|
||||
|
||||
dj-database-url
|
||||
django-valkey
|
||||
postgresql
|
||||
postgresqlTestHook
|
||||
psycopg
|
||||
pytest-asyncio
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
redisTestHook # contains valkey
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Very fast valkey/postgres django tasks backend";
|
||||
homepage = "https://gitlab.com/glitchtip/django-vtasks";
|
||||
changelog = "https://gitlab.com/glitchtip/django-vtasks/-/releases/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
defelo
|
||||
felbinger
|
||||
];
|
||||
broken = lib.versionOlder (lib.versions.major django.version) "6";
|
||||
};
|
||||
}
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "llm-venice";
|
||||
version = "0.8.2";
|
||||
version = "0.9.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ar-jan";
|
||||
repo = "llm-venice";
|
||||
tag = version;
|
||||
hash = "sha256-CwvFthuahWPmenI4jrhGmscJd1sJCXkkvU+hYYYekx0=";
|
||||
hash = "sha256-jshOfbZUccmK6sRCDTzkE7tOKX2ILue93Jp2GFoGTxY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
lib,
|
||||
attrs,
|
||||
buildPythonPackage,
|
||||
bson,
|
||||
hatchling,
|
||||
boto3,
|
||||
botocore,
|
||||
cattrs,
|
||||
fetchFromGitHub,
|
||||
itsdangerous,
|
||||
platformdirs,
|
||||
poetry-core,
|
||||
psutil,
|
||||
pymongo,
|
||||
pytestCheckHook,
|
||||
@@ -23,27 +22,27 @@
|
||||
rich,
|
||||
tenacity,
|
||||
time-machine,
|
||||
timeout-decorator,
|
||||
ujson,
|
||||
orjson,
|
||||
urllib3,
|
||||
url-normalize,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "requests-cache";
|
||||
version = "1.2.1";
|
||||
version = "1.3.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "requests-cache";
|
||||
repo = "requests-cache";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-juRCcBUr+Ko6kVPpUapwRbUGqWLKaRiCqppOc3S5FMU=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-t9SJ+enZHHYPRXaSrPop2hVOagE4oMnuXExO2DeNttc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ hatchling ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
attrs
|
||||
cattrs
|
||||
platformdirs
|
||||
@@ -57,12 +56,15 @@ buildPythonPackage rec {
|
||||
boto3
|
||||
botocore
|
||||
];
|
||||
mongodbo = [ pymongo ];
|
||||
mongodb = [ pymongo ];
|
||||
redis = [ redis ];
|
||||
bson = [ bson ];
|
||||
json = [ ujson ];
|
||||
security = [ itsdangerous ];
|
||||
yaml = [ pyyaml ];
|
||||
all = [
|
||||
orjson
|
||||
ujson
|
||||
]
|
||||
++ lib.concatAttrValues (lib.removeAttrs finalAttrs.optional-dependencies [ "all" ]);
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
@@ -75,10 +77,7 @@ buildPythonPackage rec {
|
||||
rich
|
||||
tenacity
|
||||
time-machine
|
||||
timeout-decorator
|
||||
]
|
||||
++ optional-dependencies.json
|
||||
++ optional-dependencies.security;
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d);
|
||||
@@ -90,11 +89,8 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Tests are flaky in the sandbox
|
||||
"test_remove_expired_responses"
|
||||
# Tests that broke with urllib 2.0.5
|
||||
# Flaky
|
||||
"test_request_only_if_cached__stale_if_error__expired"
|
||||
"test_stale_if_error__error_code"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "requests_cache" ];
|
||||
@@ -102,8 +98,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Persistent cache for requests library";
|
||||
homepage = "https://github.com/reclosedev/requests-cache";
|
||||
changelog = "https://github.com/requests-cache/requests-cache/blob/v${version}/HISTORY.md";
|
||||
changelog = "https://github.com/requests-cache/requests-cache/blob/$v{finalAttrs.version}/HISTORY.md";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "urllib3-future";
|
||||
version = "2.19.900";
|
||||
version = "2.19.904";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jawah";
|
||||
repo = "urllib3.future";
|
||||
tag = version;
|
||||
hash = "sha256-6jRc3hxPSFV+vhAzbSudKuCGV0l+X2aTKXPZnAAs0Bk=";
|
||||
hash = "sha256-bYkT78OT665Ea3k4boORlaFiORaryqRXSfxXt0yZLSM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -4412,12 +4412,16 @@ self: super: with self; {
|
||||
|
||||
django-valkey = callPackage ../development/python-modules/django-valkey { };
|
||||
|
||||
django-vcache = callPackage ../development/python-modules/django-vcache { };
|
||||
|
||||
django-versatileimagefield =
|
||||
callPackage ../development/python-modules/django-versatileimagefield
|
||||
{ };
|
||||
|
||||
django-vite = callPackage ../development/python-modules/django-vite { };
|
||||
|
||||
django-vtasks = callPackage ../development/python-modules/django-vtasks { };
|
||||
|
||||
django-waffle = callPackage ../development/python-modules/django-waffle { };
|
||||
|
||||
django-weasyprint = callPackage ../development/python-modules/django-weasyprint { };
|
||||
|
||||
Reference in New Issue
Block a user