Merge remote-tracking branch 'origin/master' into staging-nixos
This commit is contained in:
@@ -123,10 +123,6 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
|
||||
/doc/redirects.json @GetPsyched
|
||||
/nixos/doc/manual/redirects.json @GetPsyched
|
||||
|
||||
# NixOS integration test driver
|
||||
/nixos/lib/test-driver @tfc
|
||||
/nixos/lib/testing @tfc
|
||||
|
||||
# NixOS QEMU virtualisation
|
||||
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
|
||||
/nixos/modules/services/backup/libvirtd-autosnapshot.nix @6543
|
||||
@@ -520,3 +516,9 @@ pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @FlameFlag @johnrtitor
|
||||
|
||||
# Zellij plugins
|
||||
/pkgs/by-name/ze/zellij/plugins/ @PerchunPak
|
||||
|
||||
# Test-driver
|
||||
/nixos/lib/test-driver @NixOS/test-driver
|
||||
/nixos/lib/testing @NixOS/test-driver
|
||||
/nixos/tests/nixos-test-driver @NixOS/test-driver
|
||||
/nixos/modules/virtualisation/nspawn-container/run-nspawn @NixOS/test-driver
|
||||
|
||||
@@ -556,8 +556,7 @@
|
||||
"members": {
|
||||
"Ericson2314": 1055245,
|
||||
"peterwaller-arm": 52030119,
|
||||
"rrbutani": 7833358,
|
||||
"sternenseemann": 3154475
|
||||
"rrbutani": 7833358
|
||||
},
|
||||
"name": "LLVM"
|
||||
},
|
||||
@@ -943,6 +942,7 @@
|
||||
},
|
||||
"members": {
|
||||
"andir": 638836,
|
||||
"leona-ya": 11006031,
|
||||
"pyrox0": 35778371
|
||||
},
|
||||
"name": "Security review"
|
||||
@@ -997,6 +997,17 @@
|
||||
},
|
||||
"name": "systemd"
|
||||
},
|
||||
"test-driver": {
|
||||
"description": "Maintain the NixOS integration test driver.",
|
||||
"id": 18201265,
|
||||
"maintainers": {
|
||||
"Ma27": 6025220,
|
||||
"kmein": 10352507,
|
||||
"tfc": 29044
|
||||
},
|
||||
"members": {},
|
||||
"name": "test-driver"
|
||||
},
|
||||
"xen-project": {
|
||||
"description": "Maintain the Xen Project Hypervisor and the related tooling ecosystem. Members listed as \"Maintainers\" are recipients of Xen Security Advisories sent to xsa@nixos.org.",
|
||||
"id": 11127725,
|
||||
|
||||
@@ -17968,6 +17968,12 @@
|
||||
githubId = 1575834;
|
||||
name = "Michael Adler";
|
||||
};
|
||||
michaelAllen = {
|
||||
name = "Michael Allen";
|
||||
email = "mcallen71398@gmail.com";
|
||||
github = "That1LinuxGuy";
|
||||
githubId = 207959559;
|
||||
};
|
||||
michaelBelsanti = {
|
||||
email = "mbels03@protonmail.com";
|
||||
name = "Mike Belsanti";
|
||||
@@ -19102,7 +19108,8 @@
|
||||
};
|
||||
MysteryBlokHed = {
|
||||
name = "Adam Thompson-Sharpe";
|
||||
email = "hi@adamts.me";
|
||||
email = "nix@adamts.me";
|
||||
matrix = "@adam:adamts.me";
|
||||
github = "MysteryBlokHed";
|
||||
githubId = 13910387;
|
||||
keys = [ { fingerprint = "086E EF20 D54E D348 E5BA 6263 16E9 43E6 596F FB4E"; } ];
|
||||
|
||||
@@ -747,10 +747,8 @@ with lib.maintainers;
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
tests = {
|
||||
members = [ tfc ];
|
||||
scope = "Maintain the NixOS VM test runner.";
|
||||
shortName = "NixOS tests";
|
||||
test-driver = {
|
||||
github = "test-driver";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -32,6 +32,11 @@
|
||||
|
||||
- `boot.vesa` has been removed. It was deprecated in 2020 because Xorg now works better with kernel modesetting. If you still need the legacy VESA 800x600 fallback, set `boot.kernelParams = [ "vga=0x317" "nomodeset" ];` directly.
|
||||
|
||||
- `authentik` has been updated to 2026.5.3, which changes the default listen address from `0.0.0.0` to `[::]`.
|
||||
IPv4-only deployments might need to adjust their listen settings.
|
||||
Deployments running the server and worker in the same network namespace must also set at least the worker
|
||||
`AUTHENTIK_LISTEN__HTTP` address so that the server and worker do not bind to the same address.
|
||||
|
||||
- Support for the legacy U‐Boot image format has been removed from the initrd generators, as it is deprecated upstream and no longer used by any platform in Nixpkgs.
|
||||
|
||||
- Rustical migrates from `settings.http.host` and `settings.http.port` to `settings.http.bind` to support UNIX domain sockets as well as TCP sockets in one setting.
|
||||
|
||||
@@ -106,6 +106,11 @@ let
|
||||
description = "Path of the device or swap file.";
|
||||
};
|
||||
|
||||
isDevice = mkOption {
|
||||
default = lib.substring 0 5 config.device == "/dev/";
|
||||
internal = true;
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
example = "swap";
|
||||
type = types.str;
|
||||
@@ -329,6 +334,7 @@ in
|
||||
)
|
||||
} ${sw.device} ${sw.deviceName}
|
||||
mkswap ${sw.realDevice}
|
||||
${lib.optionalString sw.isDevice "udevadm trigger ${sw.realDevice}"}
|
||||
''}
|
||||
'';
|
||||
enableStrictShellChecks = true;
|
||||
|
||||
@@ -180,7 +180,9 @@ in
|
||||
# Excludes one hook due to missing SELinux binaries.
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/hooks/
|
||||
${rsync}/bin/rsync -a --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
|
||||
# --copy-unsafe-links: the glusterfind hook is a symlink into the package's
|
||||
# libexec that would dangle once copied verbatim into / (#257863).
|
||||
${rsync}/bin/rsync -a --copy-unsafe-links --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
|
||||
|
||||
${tlsCmd}
|
||||
''
|
||||
@@ -189,6 +191,12 @@ in
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/glusterfind/.keys
|
||||
mkdir -p /var/lib/glusterd/hooks/1/delete/post/
|
||||
''
|
||||
# Volume option presets, installed by upstream under $out/var; copy them so
|
||||
# `gluster volume set <vol> group <name>` works (#33159).
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/groups/
|
||||
${rsync}/bin/rsync -a ${glusterfs}/var/lib/glusterd/groups/ /var/lib/glusterd/groups/
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
@@ -325,18 +325,28 @@ in
|
||||
|
||||
assertions = flatten (map vrrpInstanceAssertions vrrpInstances);
|
||||
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
extraCommands = ''
|
||||
# Allow VRRP and AH packets
|
||||
ip46tables -A nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
ip46tables -A nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
'';
|
||||
networking.firewall = lib.mkIf cfg.openFirewall (
|
||||
if config.networking.nftables.enable then
|
||||
{
|
||||
extraInputRules = ''
|
||||
meta l4proto vrrp counter accept comment "services.keepalived.openFirewall"
|
||||
meta l4proto ah counter accept comment "services.keepalived.openFirewall"
|
||||
'';
|
||||
}
|
||||
else
|
||||
{
|
||||
extraCommands = ''
|
||||
# Allow VRRP and AH packets
|
||||
ip46tables -A nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
ip46tables -A nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
'';
|
||||
|
||||
extraStopCommands = ''
|
||||
ip46tables -D nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
ip46tables -D nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
'';
|
||||
};
|
||||
extraStopCommands = ''
|
||||
ip46tables -D nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
ip46tables -D nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
systemd.timers.keepalived-boot-delay = {
|
||||
description = "Keepalive Daemon delay to avoid instant transition to MASTER state";
|
||||
|
||||
@@ -866,7 +866,7 @@ in
|
||||
kbd-setfont-decompress = runTest ./kbd-setfont-decompress.nix;
|
||||
kbd-update-search-paths-patch = runTest ./kbd-update-search-paths-patch.nix;
|
||||
kea = runTest ./kea.nix;
|
||||
keepalived = runTest ./keepalived.nix;
|
||||
keepalived = discoverTests (import ./keepalived.nix);
|
||||
keepassxc = runTest ./keepassxc.nix;
|
||||
kerberos = handleTest ./kerberos/default.nix { };
|
||||
kernel-generic = handleTest ./kernel-generic { };
|
||||
|
||||
@@ -49,6 +49,14 @@ in
|
||||
server1.wait_for_unit("glusterd.service")
|
||||
server2.wait_for_unit("glusterd.service")
|
||||
|
||||
# The glusterfind delete hook must be a real file, not the dangling
|
||||
# symlink it used to be after being copied out of the package (#257863).
|
||||
server1.succeed("test -f /var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post")
|
||||
server1.fail("test -L /var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post")
|
||||
|
||||
# The volume option presets must be installed (#33159).
|
||||
server1.succeed("test -f /var/lib/glusterd/groups/metadata-cache")
|
||||
|
||||
server1.wait_until_succeeds("gluster peer status")
|
||||
server2.wait_until_succeeds("gluster peer status")
|
||||
|
||||
@@ -64,6 +72,9 @@ in
|
||||
server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0")
|
||||
server1.succeed("gluster volume start gv0")
|
||||
|
||||
# Applying a group preset needs /var/lib/glusterd/groups populated (#33159).
|
||||
server1.succeed("gluster volume set gv0 group metadata-cache")
|
||||
|
||||
# test clients
|
||||
client1.wait_for_unit("gluster.mount")
|
||||
client2.wait_for_unit("gluster.mount")
|
||||
|
||||
+58
-46
@@ -1,48 +1,60 @@
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
mkTest =
|
||||
{ useNftables }:
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "keepalived-${if useNftables then "nftables" else "iptables"}";
|
||||
meta.maintainers = [ lib.maintainers.raitobezarius ];
|
||||
|
||||
nodes = {
|
||||
node1 =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
networking.nftables.enable = useNftables;
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.openFirewall = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 50;
|
||||
virtualIps = [ { addr = "192.168.1.200"; } ];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
node2 =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
networking.nftables.enable = useNftables;
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.openFirewall = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 100;
|
||||
virtualIps = [ { addr = "192.168.1.200"; } ];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
# wait for boot time delay to pass
|
||||
for node in [node1, node2]:
|
||||
node.wait_until_succeeds(
|
||||
"systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'"
|
||||
)
|
||||
node.wait_for_unit("keepalived")
|
||||
node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.succeed("ping -c1 192.168.1.200")
|
||||
'';
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
name = "keepalived";
|
||||
meta.maintainers = [ lib.maintainers.raitobezarius ];
|
||||
|
||||
nodes = {
|
||||
node1 =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.openFirewall = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 50;
|
||||
virtualIps = [ { addr = "192.168.1.200"; } ];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
node2 =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.openFirewall = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 100;
|
||||
virtualIps = [ { addr = "192.168.1.200"; } ];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
# wait for boot time delay to pass
|
||||
for node in [node1, node2]:
|
||||
node.wait_until_succeeds(
|
||||
"systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'"
|
||||
)
|
||||
node.wait_for_unit("keepalived")
|
||||
node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.succeed("ping -c1 192.168.1.200")
|
||||
'';
|
||||
nftables = mkTest { useNftables = true; };
|
||||
iptables = mkTest { useNftables = false; };
|
||||
}
|
||||
|
||||
@@ -3650,6 +3650,20 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
cole-nvim = buildVimPlugin {
|
||||
pname = "cole.nvim";
|
||||
version = "0-unstable-2026-05-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "thekylehuang";
|
||||
repo = "cole.nvim";
|
||||
rev = "1920cfa31c717e1f73a5a6e5a2c02a44b5faeb5c";
|
||||
hash = "sha256-k153XzTkkBm1qF6iKK8fzmAHIPnoIbXEAxAOQIoAPo0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/thekylehuang/cole.nvim/";
|
||||
meta.license = getLicenseFromSpdxId "MIT";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
colibri-vim = buildVimPlugin {
|
||||
pname = "colibri.vim";
|
||||
version = "0-unstable-2019-06-15";
|
||||
|
||||
@@ -259,6 +259,7 @@ https://github.com/mrjones2014/codesettings.nvim/,,
|
||||
https://github.com/gorbit99/codewindow.nvim/,,
|
||||
https://github.com/johnseth97/codex.nvim/,,
|
||||
https://github.com/metakirby5/codi.vim/,,
|
||||
https://github.com/thekylehuang/cole.nvim/,,
|
||||
https://github.com/archseer/colibri.vim/,,
|
||||
https://github.com/tjdevries/colorbuddy.nvim/,,
|
||||
https://github.com/xzbdmw/colorful-menu.nvim/,,
|
||||
|
||||
@@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
|
||||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-/ns84fHAyTY7sSvhUNzq1XQYq2Xy303zs2BxJY8DBVA=";
|
||||
hash = "sha256-bsb0OLDPKWnNnZ4tFedYFiFKmTih81oZnaV/BH4p6o4=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-U69X5lpeJaeNVL4WWzCUpI6IfbKSJXGpl30AYnx1fBQ=";
|
||||
hash = "sha256-PZBjzxg/kQbCiosd79YFDor1MvBHAdk167PmNIA8ANw=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
hash = "sha256-DHE09NtGNOjB0HdBqTKRtDsZXpxb651kiVGhRwO1tBU=";
|
||||
hash = "sha256-z4OekFyKQsbva5mlBPR6z8g6Is0fwL+xZg/fjKf42cI=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-5YIZVBMsoF0bWP27sVEVHAaAiqvmoSUgdbc8wsqUCLA=";
|
||||
hash = "sha256-gLFoIhxXKunB6ftLEq5p+rfjs8QM5PTOXElu3OtbeIo=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.1.187";
|
||||
version = "2.1.191";
|
||||
}
|
||||
// sources.${stdenvNoCC.hostPlatform.system}
|
||||
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
|
||||
|
||||
@@ -4833,8 +4833,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "emacs-mcx";
|
||||
publisher = "tuttieee";
|
||||
version = "0.110.9";
|
||||
hash = "sha256-xHu8GvBoZKMag7BdHddXyjm2IReMujs9cggOn4h32t8=";
|
||||
version = "0.110.11";
|
||||
hash = "sha256-LiiZI0Ze5F5w7OtiqY7wMpzdtyof/ynUH57wRfQnxFs=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/whitphx/vscode-emacs-mcx/blob/main/CHANGELOG.md";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "dosbox-pure";
|
||||
version = "0-unstable-2026-06-16";
|
||||
version = "0-unstable-2026-06-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schellingb";
|
||||
repo = "dosbox-pure";
|
||||
rev = "5ec3ccfb4313d452c3b3faccea97443ba3d9db4d";
|
||||
hash = "sha256-GFPh2z31vnACo8EEe83YRd7SVcPsSIe/vnPivaE2JYg=";
|
||||
rev = "424f2dfd6d08c587020857421b89a5d9acda4beb";
|
||||
hash = "sha256-QkHgLWW+gk106wNeF5bKYsA4e6IKPiXakWb92AImRQc=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "fceumm";
|
||||
version = "0-unstable-2026-06-15";
|
||||
version = "0-unstable-2026-06-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-fceumm";
|
||||
rev = "c0c52ad0eb36cdbfc66e9bdb72efc83103e85e22";
|
||||
hash = "sha256-e81kpVUTz3l9wqCwN9Zf4LrnskPRW7Ewy78/1BApZlg=";
|
||||
rev = "f87bc875bd68262211e2e01ffbaf3662626a3e4f";
|
||||
hash = "sha256-TUrhDbRArO/RISZawu5p9FIZlFf8pPlBrD9WRrdSRPk=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -823,7 +823,7 @@
|
||||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "149.0.7827.155",
|
||||
"version": "149.0.7827.196",
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90",
|
||||
@@ -835,16 +835,16 @@
|
||||
"hash": "sha256-oFs7fZAZEs/gQ7X1A4uigo9+Y+iEN9sMMQYwAjEuD04="
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "149.0.7827.155-1",
|
||||
"hash": "sha256-+DviTrU7mdY3YQIIUzFh0DbFKUokQI8+lmQslUZdNSU="
|
||||
"rev": "149.0.7827.196-1",
|
||||
"hash": "sha256-nRcMTP+su+mFP/JkyLBIDrG+dKYhvPANFw0Y8qVWzrA="
|
||||
},
|
||||
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "07b52360cc15066f987c910ab34dfbcd4a8778d2",
|
||||
"hash": "sha256-D9RKH0kzEfaMsCDnFFIGCGLyfhghnGMOLA0XmOa9MtI=",
|
||||
"rev": "43eb30368c6ca3d14d540487954abb2780aeae3a",
|
||||
"hash": "sha256-pwSfASgR4SiQTJBERhOVyR8mANYJk67f+u2pmCCW6ko=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -914,8 +914,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "591ee1999d950f2bc54be89651eb62c8d7925314",
|
||||
"hash": "sha256-crooDCkJ6voJyDBIUvtjmXnA4xOx7YmGltuf2ulTLIk="
|
||||
"rev": "355cc61af2aadd8f0494800325b2bf9908138108",
|
||||
"hash": "sha256-fgaCyO0oaz90aTaWMHH8ocySA0hXDHsPEl6vtMj4BY0="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -954,8 +954,8 @@
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "5f4c5ef509c5ffa65822302341cf9b2ccad471f9",
|
||||
"hash": "sha256-h+0Gep+RWTTEVoRrXCRDCtHdbYlSYdNK1botahtqUX0="
|
||||
"rev": "54b4153cfef88e048f365f99b962478f0087dfe8",
|
||||
"hash": "sha256-Bv30zz/pCNVzUl+mKCpusWc94poytv9ZFelZIcs+2B8="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
@@ -1639,8 +1639,8 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "6511f6cfab1f24c360d0fb737d205c27da48a623",
|
||||
"hash": "sha256-Dpe0Z/zjdPlOlqi85c9QSr7rLs7dww+a/BY68B2MTCw="
|
||||
"rev": "933ce636c562cd54d68e7f7c93ab5cdffd685fca",
|
||||
"hash": "sha256-zYArO6QS9nDIVWPINRVaDN1uX8X/wchBDeZHPZnwHYk="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "kubernetes-helm";
|
||||
version = "4.2.1";
|
||||
version = "4.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helm";
|
||||
repo = "helm";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-k2lZXdWYnewNiZdLNQrC5j9A3JkvYCwMY486QxjCpaw=";
|
||||
hash = "sha256-khyxnEeyxpgEO7rWKsEPqPLNSDZmFGqAZBrfb0TY8BU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XIKQF9PWgxKJUt66wQ/mPhWVfJnra0vV9ZuyclgQ21U=";
|
||||
|
||||
@@ -508,13 +508,13 @@
|
||||
"vendorHash": "sha256-ikBqIxD5aTOcwNHCMN6EaOwSHCAP5n/SULuqQXPLpOc="
|
||||
},
|
||||
"hashicorp_aws": {
|
||||
"hash": "sha256-kWA/cpYQ8MynW/vxnj7Yys6lsFdRAmfC8N6bmEIOW70=",
|
||||
"hash": "sha256-710i6mRyieTzltcaC23OXZm8mtqjyOc5Fk9fmcqkXY4=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/aws",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-aws",
|
||||
"rev": "v6.50.0",
|
||||
"rev": "v6.52.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-Msl/Mn0GK3D+QyLnSFU3m9ux/ThkwDCDh85b0Yzpnjo="
|
||||
"vendorHash": "sha256-COWHnLR6aRwcGJVo6IFvqQLwAYxFpqUGQbZVvEo/b/I="
|
||||
},
|
||||
"hashicorp_awscc": {
|
||||
"hash": "sha256-ZQaBYZTsF68IjbRYa3Z7VRqKfaHCvOtMkJHsybJn+ec=",
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-softhddevice";
|
||||
version = "2.4.8";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ua0lnj";
|
||||
repo = "vdr-plugin-softhddevice";
|
||||
sha256 = "sha256-pQ437Du++L6KhBCqkHpiYCoT713RAB+rnoGCXr5M0S4=";
|
||||
sha256 = "sha256-vicHneEZZHTraffUek77QDZdv/xZGzN102nbr1Bkfzo=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,416 +0,0 @@
|
||||
import functools
|
||||
import hashlib
|
||||
import json
|
||||
import multiprocessing as mp
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tomllib
|
||||
from os.path import islink, realpath
|
||||
from pathlib import Path
|
||||
from typing import Any, TypedDict, cast
|
||||
from urllib.parse import unquote
|
||||
|
||||
import requests
|
||||
import tomli_w
|
||||
from requests.adapters import HTTPAdapter, Retry
|
||||
|
||||
eprint = functools.partial(print, file=sys.stderr)
|
||||
|
||||
|
||||
def load_toml(path: Path) -> dict[str, Any]:
|
||||
with open(path, "rb") as f:
|
||||
return tomllib.load(f)
|
||||
|
||||
|
||||
def get_lockfile_version(cargo_lock_toml: dict[str, Any]) -> int:
|
||||
# lockfile v1 and v2 don't have the `version` key, so assume v2
|
||||
version = cargo_lock_toml.get("version", 2)
|
||||
|
||||
# TODO: add logic for differentiating between v1 and v2
|
||||
|
||||
return version
|
||||
|
||||
|
||||
def create_http_session() -> requests.Session:
|
||||
retries = Retry(
|
||||
total=5,
|
||||
backoff_factor=0.5,
|
||||
status_forcelist=[500, 502, 503, 504]
|
||||
)
|
||||
session = requests.Session()
|
||||
session.headers["User-Agent"] = "nixpkgs-fetchCargoVendor/2 (https://github.com/NixOS/nixpkgs)"
|
||||
session.mount('http://', HTTPAdapter(max_retries=retries))
|
||||
session.mount('https://', HTTPAdapter(max_retries=retries))
|
||||
return session
|
||||
|
||||
|
||||
def download_file_with_checksum(session: requests.Session, url: str, destination_path: Path) -> str:
|
||||
sha256_hash = hashlib.sha256()
|
||||
with session.get(url, stream=True) as response:
|
||||
if not response.ok:
|
||||
raise Exception(f"Failed to fetch file from {url}. Status code: {response.status_code}")
|
||||
with open(destination_path, "wb") as file:
|
||||
for chunk in response.iter_content(1024): # Download in chunks
|
||||
if chunk: # Filter out keep-alive chunks
|
||||
file.write(chunk)
|
||||
sha256_hash.update(chunk)
|
||||
|
||||
# Compute the final checksum
|
||||
checksum = sha256_hash.hexdigest()
|
||||
return checksum
|
||||
|
||||
|
||||
def get_download_url_for_tarball(pkg: dict[str, Any]) -> str:
|
||||
# TODO: support other registries
|
||||
# maybe fetch config.json from the registry root and get the dl key
|
||||
# See: https://doc.rust-lang.org/cargo/reference/registry-index.html#index-configuration
|
||||
if pkg["source"] != "registry+https://github.com/rust-lang/crates.io-index":
|
||||
raise Exception("Only the default crates.io registry is supported.")
|
||||
|
||||
# Use static.crates.io (CDN) instead of crates.io/api to avoid the 1 req/sec
|
||||
# rate limit on the API servers.
|
||||
return f"https://static.crates.io/crates/{pkg["name"]}/{pkg["version"]}/download"
|
||||
|
||||
|
||||
def download_tarball(session: requests.Session, pkg: dict[str, Any], out_dir: Path) -> None:
|
||||
|
||||
url = get_download_url_for_tarball(pkg)
|
||||
filename = f"{pkg["name"]}-{pkg["version"]}.tar.gz"
|
||||
|
||||
# TODO: allow legacy checksum specification, see importCargoLock for example
|
||||
# also, don't forget about the other usage of the checksum
|
||||
expected_checksum = pkg["checksum"]
|
||||
|
||||
tarball_out_dir = out_dir / "tarballs" / filename
|
||||
eprint(f"Fetching {url} -> tarballs/{filename}")
|
||||
|
||||
calculated_checksum = download_file_with_checksum(session, url, tarball_out_dir)
|
||||
|
||||
if calculated_checksum != expected_checksum:
|
||||
raise Exception(f"Hash mismatch! File fetched from {url} had checksum {calculated_checksum}, expected {expected_checksum}.")
|
||||
|
||||
|
||||
def download_git_tree(url: str, git_sha_rev: str, out_dir: Path) -> None:
|
||||
|
||||
tree_out_dir = out_dir / "git" / git_sha_rev
|
||||
eprint(f"Fetching {url}#{git_sha_rev} -> git/{git_sha_rev}")
|
||||
|
||||
cmd = ["nix-prefetch-git", "--builder", "--quiet", "--fetch-submodules", "--url", url, "--rev", git_sha_rev, "--out", str(tree_out_dir)]
|
||||
subprocess.check_output(cmd)
|
||||
|
||||
|
||||
GIT_SOURCE_REGEX = re.compile("git\\+(?P<url>[^?]+)(\\?(?P<type>rev|tag|branch)=(?P<value>.*))?#(?P<git_sha_rev>.*)")
|
||||
|
||||
|
||||
class GitSourceInfo(TypedDict):
|
||||
url: str
|
||||
type: str | None
|
||||
value: str | None
|
||||
git_sha_rev: str
|
||||
|
||||
|
||||
def parse_git_source(source: str, lockfile_version: int) -> GitSourceInfo:
|
||||
match = GIT_SOURCE_REGEX.match(source)
|
||||
if match is None:
|
||||
raise Exception(f"Unable to process git source: {source}.")
|
||||
|
||||
source_info = cast(GitSourceInfo, match.groupdict(default=None))
|
||||
|
||||
# the source URL is URL-encoded in lockfile_version >=4
|
||||
# since we just used regex to parse it we have to manually decode the escaped branch/tag name
|
||||
if lockfile_version >= 4 and source_info["value"] is not None:
|
||||
source_info["value"] = unquote(source_info["value"])
|
||||
|
||||
return source_info
|
||||
|
||||
|
||||
def create_vendor_staging(lockfile_path: Path, out_dir: Path) -> None:
|
||||
cargo_lock_toml = load_toml(lockfile_path)
|
||||
lockfile_version = get_lockfile_version(cargo_lock_toml)
|
||||
|
||||
git_packages: list[dict[str, Any]] = []
|
||||
registry_packages: list[dict[str, Any]] = []
|
||||
|
||||
for pkg in cargo_lock_toml["package"]:
|
||||
# ignore local dependenices
|
||||
if "source" not in pkg.keys():
|
||||
eprint(f"Skipping local dependency: {pkg["name"]}")
|
||||
continue
|
||||
source = pkg["source"]
|
||||
|
||||
if source.startswith("git+"):
|
||||
git_packages.append(pkg)
|
||||
elif source.startswith("registry+"):
|
||||
registry_packages.append(pkg)
|
||||
else:
|
||||
raise Exception(f"Can't process source: {source}.")
|
||||
|
||||
git_sha_rev_to_url: dict[str, str] = {}
|
||||
for pkg in git_packages:
|
||||
source_info = parse_git_source(pkg["source"], lockfile_version)
|
||||
git_sha_rev_to_url[source_info["git_sha_rev"]] = source_info["url"]
|
||||
|
||||
out_dir.mkdir(exist_ok=True)
|
||||
shutil.copy(lockfile_path, out_dir / "Cargo.lock")
|
||||
|
||||
# fetch git trees sequentially, since fetching concurrently leads to flaky behaviour
|
||||
if len(git_packages) != 0:
|
||||
(out_dir / "git").mkdir()
|
||||
for git_sha_rev, url in git_sha_rev_to_url.items():
|
||||
download_git_tree(url, git_sha_rev, out_dir)
|
||||
|
||||
# run tarball download jobs in parallel, with at most 5 concurrent download jobs
|
||||
with mp.Pool(min(5, mp.cpu_count())) as pool:
|
||||
if len(registry_packages) != 0:
|
||||
(out_dir / "tarballs").mkdir()
|
||||
session = create_http_session()
|
||||
tarball_args_gen = ((session, pkg, out_dir) for pkg in registry_packages)
|
||||
pool.starmap(download_tarball, tarball_args_gen)
|
||||
|
||||
|
||||
def get_manifest_metadata(manifest_path: Path) -> dict[str, Any]:
|
||||
cmd = ["cargo", "metadata", "--format-version", "1", "--no-deps", "--manifest-path", str(manifest_path)]
|
||||
output = subprocess.check_output(cmd)
|
||||
return json.loads(output)
|
||||
|
||||
|
||||
def try_get_crate_manifest_path_from_manifest_path(manifest_path: Path, crate_name: str) -> Path | None:
|
||||
try:
|
||||
metadata = get_manifest_metadata(manifest_path)
|
||||
except subprocess.CalledProcessError:
|
||||
eprint(f"Warning: cargo metadata failed for {manifest_path}, skipping")
|
||||
return None
|
||||
|
||||
for pkg in metadata["packages"]:
|
||||
if pkg["name"] == crate_name:
|
||||
return Path(pkg["manifest_path"])
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def find_crate_manifest_in_tree(tree: Path, crate_name: str) -> Path:
|
||||
# Scan all Cargo.toml files; sort by depth/path to make ordering deterministic
|
||||
# and prefer less-nested manifests first.
|
||||
manifest_paths = sorted(
|
||||
tree.glob("**/Cargo.toml"),
|
||||
key=lambda path: (len(path.parts), str(path)),
|
||||
)
|
||||
|
||||
for manifest_path in manifest_paths:
|
||||
res = try_get_crate_manifest_path_from_manifest_path(manifest_path, crate_name)
|
||||
if res is not None:
|
||||
return res
|
||||
|
||||
raise Exception(f"Couldn't find manifest for crate {crate_name} inside {tree}.")
|
||||
|
||||
|
||||
def copy_and_patch_git_crate_subtree(git_tree: Path, crate_name: str, crate_out_dir: Path) -> None:
|
||||
|
||||
# This function will get called by copytree to decide which entries of a directory should be copied
|
||||
# We'll copy everything except symlinks that are invalid
|
||||
def ignore_func(dir_str: str, path_strs: list[str]) -> list[str]:
|
||||
ignorelist: list[str] = []
|
||||
|
||||
dir = Path(realpath(dir_str, strict=True))
|
||||
|
||||
for path_str in path_strs:
|
||||
path = dir / path_str
|
||||
if not islink(path):
|
||||
continue
|
||||
|
||||
# Filter out cyclic symlinks and symlinks pointing at nonexistant files
|
||||
try:
|
||||
target_path = Path(realpath(path, strict=True))
|
||||
except OSError:
|
||||
ignorelist.append(path_str)
|
||||
eprint(f"Failed to resolve symlink, ignoring: {path}")
|
||||
continue
|
||||
|
||||
# Filter out symlinks that point outside of the current crate's base git tree
|
||||
# This can be useful if the nix build sandbox is turned off and there is a symlink to a common absolute path
|
||||
if not target_path.is_relative_to(git_tree):
|
||||
ignorelist.append(path_str)
|
||||
eprint(f"Symlink points outside of the crate's base git tree, ignoring: {path} -> {target_path}")
|
||||
continue
|
||||
|
||||
return ignorelist
|
||||
|
||||
crate_manifest_path = find_crate_manifest_in_tree(git_tree, crate_name)
|
||||
crate_tree = crate_manifest_path.parent
|
||||
|
||||
eprint(f"Copying to {crate_out_dir}")
|
||||
shutil.copytree(crate_tree, crate_out_dir, ignore=ignore_func)
|
||||
crate_out_dir.chmod(0o755)
|
||||
|
||||
with open(crate_manifest_path, "r") as f:
|
||||
manifest_data = f.read()
|
||||
|
||||
if "workspace" in manifest_data:
|
||||
crate_manifest_metadata = get_manifest_metadata(crate_manifest_path)
|
||||
workspace_root = Path(crate_manifest_metadata["workspace_root"])
|
||||
|
||||
root_manifest_path = workspace_root / "Cargo.toml"
|
||||
manifest_path = crate_out_dir / "Cargo.toml"
|
||||
|
||||
manifest_path.chmod(0o644)
|
||||
eprint(f"Patching {manifest_path}")
|
||||
|
||||
cmd = ["replace-workspace-values", str(manifest_path), str(root_manifest_path)]
|
||||
subprocess.check_output(cmd)
|
||||
|
||||
|
||||
def extract_crate_tarball_contents(tarball_path: Path, crate_out_dir: Path) -> None:
|
||||
eprint(f"Unpacking to {crate_out_dir}")
|
||||
crate_out_dir.mkdir()
|
||||
cmd = ["tar", "xf", str(tarball_path), "-C", str(crate_out_dir), "--strip-components=1"]
|
||||
subprocess.check_output(cmd)
|
||||
|
||||
|
||||
def make_git_source_selector(source_info: GitSourceInfo) -> dict[str, str]:
|
||||
selector = {}
|
||||
selector["git"] = source_info["url"]
|
||||
if source_info["type"] is not None:
|
||||
selector[source_info["type"]] = source_info["value"]
|
||||
return selector
|
||||
|
||||
|
||||
def make_registry_source_selector(source: str) -> dict[str, str]:
|
||||
registry = source[9:] if source.startswith("registry+") else source
|
||||
selector = {}
|
||||
selector["registry"] = registry
|
||||
return selector
|
||||
|
||||
|
||||
def create_vendor(vendor_staging_dir: Path, out_dir: Path) -> None:
|
||||
lockfile_path = vendor_staging_dir / "Cargo.lock"
|
||||
out_dir.mkdir(exist_ok=True)
|
||||
shutil.copy(lockfile_path, out_dir / "Cargo.lock")
|
||||
|
||||
cargo_lock_toml = load_toml(lockfile_path)
|
||||
lockfile_version = get_lockfile_version(cargo_lock_toml)
|
||||
|
||||
source_to_ind: dict[str, str] = {}
|
||||
source_config = {}
|
||||
next_registry_ind = 0
|
||||
next_git_ind = 0
|
||||
|
||||
def add_source_replacement(
|
||||
orig_key: str,
|
||||
orig_selector: dict[str, str],
|
||||
vendored_key: str,
|
||||
vendored_dir: str
|
||||
) -> None:
|
||||
source_config[vendored_key] = {}
|
||||
source_config[vendored_key]["directory"] = vendored_dir
|
||||
source_config[orig_key] = orig_selector
|
||||
source_config[orig_key]["replace-with"] = vendored_key
|
||||
|
||||
# we reserve registry index 0 for crates-io
|
||||
source_to_ind["registry+https://github.com/rust-lang/crates.io-index"] = "registry-0"
|
||||
source_to_ind["sparse+https://index.crates.io/"] = "registry-0"
|
||||
add_source_replacement(
|
||||
orig_key="crates-io",
|
||||
orig_selector={}, # there is an internal selector defined for the `crates-io` source
|
||||
vendored_key="vendored-source-registry-0",
|
||||
vendored_dir="@vendor@/source-registry-0"
|
||||
)
|
||||
next_registry_ind += 1
|
||||
|
||||
for pkg in cargo_lock_toml["package"]:
|
||||
# ignore local dependencies
|
||||
if "source" not in pkg.keys():
|
||||
continue
|
||||
source: str = pkg["source"]
|
||||
if source in source_to_ind:
|
||||
continue
|
||||
|
||||
if source.startswith("git+"):
|
||||
ind = f"git-{next_git_ind}"
|
||||
next_git_ind += 1
|
||||
source_info = parse_git_source(source, lockfile_version)
|
||||
selector = make_git_source_selector(source_info)
|
||||
elif source.startswith("registry+") or source.startswith("sparse+"):
|
||||
ind = f"registry-{next_registry_ind}"
|
||||
next_registry_ind += 1
|
||||
selector = make_registry_source_selector(source)
|
||||
else:
|
||||
raise Exception(f"Can't process source: {source}.")
|
||||
|
||||
source_to_ind[source] = ind
|
||||
add_source_replacement(
|
||||
orig_key=f"original-source-{ind}",
|
||||
orig_selector=selector,
|
||||
vendored_key=f"vendored-source-{ind}",
|
||||
vendored_dir=f"@vendor@/source-{ind}"
|
||||
)
|
||||
|
||||
config_path = out_dir / ".cargo" / "config.toml"
|
||||
config_path.parent.mkdir()
|
||||
|
||||
with open(config_path, "wb") as config_file:
|
||||
tomli_w.dump({"source": source_config}, config_file)
|
||||
|
||||
for pkg in cargo_lock_toml["package"]:
|
||||
|
||||
# ignore local dependenices
|
||||
if "source" not in pkg.keys():
|
||||
continue
|
||||
|
||||
source: str = pkg["source"]
|
||||
source_ind = source_to_ind[source]
|
||||
crate_dir_name = f"{pkg["name"]}-{pkg["version"]}"
|
||||
source_dir_name = f"source-{source_ind}"
|
||||
crate_out_dir = out_dir / source_dir_name / crate_dir_name
|
||||
crate_out_dir.parent.mkdir(exist_ok=True)
|
||||
|
||||
if source.startswith("git+"):
|
||||
|
||||
source_info = parse_git_source(source, lockfile_version)
|
||||
|
||||
git_sha_rev = source_info["git_sha_rev"]
|
||||
git_tree = vendor_staging_dir / "git" / git_sha_rev
|
||||
|
||||
copy_and_patch_git_crate_subtree(git_tree, pkg["name"], crate_out_dir)
|
||||
|
||||
# git based crates allow having no checksum information
|
||||
with open(crate_out_dir / ".cargo-checksum.json", "w") as f:
|
||||
json.dump({"files": {}}, f)
|
||||
|
||||
elif source.startswith("registry+") or source.startswith("sparse+"):
|
||||
filename = f"{pkg["name"]}-{pkg["version"]}.tar.gz"
|
||||
|
||||
# TODO: change this when non-crates-io registries are supported
|
||||
dir_name = "tarballs"
|
||||
|
||||
tarball_path = vendor_staging_dir / dir_name / filename
|
||||
|
||||
extract_crate_tarball_contents(tarball_path, crate_out_dir)
|
||||
|
||||
# non-git based crates need the package checksum at minimum
|
||||
with open(crate_out_dir / ".cargo-checksum.json", "w") as f:
|
||||
json.dump({"files": {}, "package": pkg["checksum"]}, f)
|
||||
|
||||
else:
|
||||
raise Exception(f"Can't process source: {source}.")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
subcommand = sys.argv[1]
|
||||
|
||||
subcommand_func_dict = {
|
||||
"create-vendor-staging": lambda: create_vendor_staging(lockfile_path=Path(sys.argv[2]), out_dir=Path(sys.argv[3])),
|
||||
"create-vendor": lambda: create_vendor(vendor_staging_dir=Path(sys.argv[2]), out_dir=Path(sys.argv[3]))
|
||||
}
|
||||
|
||||
subcommand_func = subcommand_func_dict.get(subcommand)
|
||||
|
||||
if subcommand_func is None:
|
||||
raise Exception(f"Unknown subcommand: '{subcommand}'. Must be one of {list(subcommand_func_dict.keys())}")
|
||||
|
||||
subcommand_func()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -40,6 +40,7 @@ def create_http_session() -> requests.Session:
|
||||
status_forcelist=[500, 502, 503, 504]
|
||||
)
|
||||
session = requests.Session()
|
||||
session.headers["User-Agent"] = "nixpkgs-fetchCargoVendor/2 (https://github.com/NixOS/nixpkgs)"
|
||||
session.mount('http://', HTTPAdapter(max_retries=retries))
|
||||
session.mount('https://', HTTPAdapter(max_retries=retries))
|
||||
return session
|
||||
@@ -68,7 +69,9 @@ def get_download_url_for_tarball(pkg: dict[str, Any]) -> str:
|
||||
if pkg["source"] != "registry+https://github.com/rust-lang/crates.io-index":
|
||||
raise Exception("Only the default crates.io registry is supported.")
|
||||
|
||||
return f"https://crates.io/api/v1/crates/{pkg["name"]}/{pkg["version"]}/download"
|
||||
# Use static.crates.io (CDN) instead of crates.io/api to avoid the 1 req/sec
|
||||
# rate limit on the API servers.
|
||||
return f"https://static.crates.io/crates/{pkg["name"]}/{pkg["version"]}/download"
|
||||
|
||||
|
||||
def download_tarball(session: requests.Session, pkg: dict[str, Any], out_dir: Path) -> None:
|
||||
@@ -289,6 +292,7 @@ def create_vendor(vendor_staging_dir: Path, out_dir: Path) -> None:
|
||||
lockfile_version = get_lockfile_version(cargo_lock_toml)
|
||||
|
||||
source_to_ind: dict[str, str] = {}
|
||||
selector_to_ind: dict[tuple, str] = {}
|
||||
source_config = {}
|
||||
next_registry_ind = 0
|
||||
next_git_ind = 0
|
||||
@@ -324,24 +328,35 @@ def create_vendor(vendor_staging_dir: Path, out_dir: Path) -> None:
|
||||
continue
|
||||
|
||||
if source.startswith("git+"):
|
||||
ind = f"git-{next_git_ind}"
|
||||
next_git_ind += 1
|
||||
source_info = parse_git_source(source, lockfile_version)
|
||||
selector = make_git_source_selector(source_info)
|
||||
selector_key = (source_info["url"], source_info["type"], source_info["value"])
|
||||
if selector_key in selector_to_ind:
|
||||
ind = selector_to_ind[selector_key]
|
||||
else:
|
||||
ind = f"git-{next_git_ind}"
|
||||
next_git_ind += 1
|
||||
selector_to_ind[selector_key] = ind
|
||||
add_source_replacement(
|
||||
orig_key=f"original-source-{ind}",
|
||||
orig_selector=selector,
|
||||
vendored_key=f"vendored-source-{ind}",
|
||||
vendored_dir=f"@vendor@/source-{ind}"
|
||||
)
|
||||
elif source.startswith("registry+") or source.startswith("sparse+"):
|
||||
ind = f"registry-{next_registry_ind}"
|
||||
next_registry_ind += 1
|
||||
selector = make_registry_source_selector(source)
|
||||
add_source_replacement(
|
||||
orig_key=f"original-source-{ind}",
|
||||
orig_selector=selector,
|
||||
vendored_key=f"vendored-source-{ind}",
|
||||
vendored_dir=f"@vendor@/source-{ind}"
|
||||
)
|
||||
else:
|
||||
raise Exception(f"Can't process source: {source}.")
|
||||
|
||||
source_to_ind[source] = ind
|
||||
add_source_replacement(
|
||||
orig_key=f"original-source-{ind}",
|
||||
orig_selector=selector,
|
||||
vendored_key=f"vendored-source-{ind}",
|
||||
vendored_dir=f"@vendor@/source-{ind}"
|
||||
)
|
||||
|
||||
config_path = out_dir / ".cargo" / "config.toml"
|
||||
config_path.parent.mkdir()
|
||||
|
||||
@@ -37,29 +37,18 @@ let
|
||||
"hash"
|
||||
];
|
||||
|
||||
mkFetchCargoVendorUtil =
|
||||
name: src:
|
||||
writers.writePython3Bin name {
|
||||
libraries =
|
||||
with python3Packages;
|
||||
[
|
||||
requests
|
||||
tomli-w
|
||||
]
|
||||
++ requests.optional-dependencies.socks; # to support socks proxy envs like ALL_PROXY in requests
|
||||
flakeIgnore = [
|
||||
"E501"
|
||||
];
|
||||
} (builtins.readFile src);
|
||||
|
||||
# Separate util used only by the FOD `vendorStaging` stage below. Kept
|
||||
# distinct from fetchCargoVendorUtil so that changes to the network-facing
|
||||
# bits (User-Agent, download URL) don't invalidate the input-addressed
|
||||
# `-vendor` stage and force a mass rebuild of every Rust package in nixpkgs.
|
||||
# vendorStaging is an FOD, so swapping its util is free for consumers.
|
||||
# TODO: unify with fetchCargoVendorUtil on the next `staging` cycle.
|
||||
fetchCargoVendorUtilV2 = mkFetchCargoVendorUtil "fetch-cargo-vendor-util-v2" ./fetch-cargo-vendor-util-v2.py;
|
||||
fetchCargoVendorUtil = mkFetchCargoVendorUtil "fetch-cargo-vendor-util" ./fetch-cargo-vendor-util.py;
|
||||
fetchCargoVendorUtil = writers.writePython3Bin "fetch-cargo-vendor-util" {
|
||||
libraries =
|
||||
with python3Packages;
|
||||
[
|
||||
requests
|
||||
tomli-w
|
||||
]
|
||||
++ requests.optional-dependencies.socks; # to support socks proxy envs like ALL_PROXY in requests
|
||||
flakeIgnore = [
|
||||
"E501"
|
||||
];
|
||||
} (builtins.readFile ./fetch-cargo-vendor-util.py);
|
||||
in
|
||||
|
||||
{
|
||||
@@ -79,7 +68,7 @@ let
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
nativeBuildInputs = [
|
||||
fetchCargoVendorUtilV2
|
||||
fetchCargoVendorUtil
|
||||
cacert
|
||||
nix-prefetch-git'
|
||||
]
|
||||
@@ -92,7 +81,7 @@ let
|
||||
cd "$cargoRoot"
|
||||
fi
|
||||
|
||||
fetch-cargo-vendor-util-v2 create-vendor-staging ./Cargo.lock "$out"
|
||||
fetch-cargo-vendor-util create-vendor-staging ./Cargo.lock "$out"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
@@ -9,16 +9,16 @@ buildGoModule (finalAttrs: {
|
||||
__structuredAttrs = true;
|
||||
|
||||
pname = "anytype-cli";
|
||||
version = "0.3.5";
|
||||
version = "0.3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anyproto";
|
||||
repo = "anytype-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+GVV5HiOB/589IKRs+uJaK8X29MCg5cv0C8u6spb7Jg=";
|
||||
hash = "sha256-T/mdF+pzApm15Cg2g1ybgU7pEHLsTC4jD7WuXzNqM2M=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-uxKDO55CQYn50XpnlP5tv5Rcl6+fq7nsOD7/2foRZX8=";
|
||||
vendorHash = "sha256-S6Xb2XYAn/cTC++1WK5cmXcC6QCZpPoYMRrjk/IPKas=";
|
||||
proxyVendor = true;
|
||||
|
||||
env.CGO_ENABLED = 1;
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "aptly";
|
||||
version = "1.6.2";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aptly-dev";
|
||||
repo = "aptly";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Jkljg05C4GJ4F9l6mKAU4JCH8I0/bjzfb74X714z4UI=";
|
||||
hash = "sha256-fjNN8EffY9G8YX/uME5ehs2zZj/YRA62y/muqigWSnE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3pFVAVvIpJut2YYxvnCQbBpdwwmUbZIyrx0WoQrU+nQ=";
|
||||
vendorHash = "sha256-QPYKdiEiV1iS3xJ3A66ILUXAlj0TGXuGf11wzdX3Z7Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "assimp";
|
||||
version = "6.0.4";
|
||||
version = "6.0.5";
|
||||
outputs = [
|
||||
"out"
|
||||
"lib"
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "assimp";
|
||||
repo = "assimp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ryTgsN0z9BZBz7i9aUMKuneN5oqfxpduwJlb+Q0q3Mk=";
|
||||
hash = "sha256-QWBi1pl5C76UtPhB6SmFipm9oEdnfhELMT3MqfV6oxg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "at-spi2-core";
|
||||
version = "2.60.1";
|
||||
version = "2.60.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/at-spi2-core/${lib.versions.majorMinor finalAttrs.version}/at-spi2-core-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-+ZuH48FnT1+8QXzJwdniYcDymqsFUK1jaYBQMdEvaFI=";
|
||||
hash = "sha256-Gh9bqYBZF/QfxqpoI9z4h6KR1gekJ+LVr7a136ZQcMc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "audit";
|
||||
version = "4.1.2-unstable-2025-09-06"; # fixes to non-static builds right after 4.1.2 release
|
||||
version = "4.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-audit";
|
||||
repo = "audit-userspace";
|
||||
rev = "cb13fe75ee2c36d5c525ed9de22aae10dbc8caf4";
|
||||
hash = "sha256-NX0TWA+LtcZgbM9aQfokWv2rGNAAb3ksGqAH8URAkYM=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GdJ9nzlDAdOazOHH/YWuEoELrJh+G5ZJUKwIqAKAzpo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -132,10 +132,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Instead, we load audit rules in a dedicated module.
|
||||
postFixup = ''
|
||||
moveToOutput bin/augenrules $scripts
|
||||
substituteInPlace $scripts/bin/augenrules \
|
||||
--replace-fail "/sbin/auditctl -R" "$bin/bin/auditctl -R" \
|
||||
--replace-fail "auditctl -s" "$bin/bin/auditctl -s" \
|
||||
--replace-fail "/bin/ls" "ls"
|
||||
wrapProgram $scripts/bin/augenrules \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
diff --git a/config.yaml b/config.yaml
|
||||
index 2f07ea7..0f90432 100644
|
||||
--- a/config.yaml
|
||||
+++ b/config.yaml
|
||||
@@ -4,3 +4,4 @@ additionalProperties:
|
||||
packageName: api
|
||||
enumClassPrefix: true
|
||||
useOneOfDiscriminatorLookup: true
|
||||
+ disallowAdditionalPropertiesIfNotPresent: false
|
||||
@@ -3,14 +3,19 @@
|
||||
stdenvNoCC,
|
||||
callPackages,
|
||||
cacert,
|
||||
clangStdenv,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
buildNpmPackage,
|
||||
bash,
|
||||
chromedriver,
|
||||
nodejs_24,
|
||||
python3,
|
||||
python314,
|
||||
makeWrapper,
|
||||
openapi-generator-cli,
|
||||
perl,
|
||||
rustPlatform,
|
||||
go,
|
||||
typescript,
|
||||
makeSetupHook,
|
||||
@@ -20,13 +25,18 @@
|
||||
let
|
||||
nodejs = nodejs_24;
|
||||
|
||||
version = "2025.12.6";
|
||||
version = "2026.5.3";
|
||||
|
||||
cargoPackageFlags = [
|
||||
"--package"
|
||||
"authentik"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goauthentik";
|
||||
repo = "authentik";
|
||||
tag = "version/${version}";
|
||||
hash = "sha256-uIg47z4LaCawF/5ir4mKE6DpDnEpQ8DuObCNaq6TcYk=";
|
||||
hash = "sha256-nmAX8nwZpdDcFAPvC9hAEp0x43RnFtGLUTAm7NcvNZo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -46,24 +56,9 @@ let
|
||||
|
||||
client-go = stdenvNoCC.mkDerivation {
|
||||
pname = "authentik-client-go";
|
||||
version = "3.${version}";
|
||||
inherit meta;
|
||||
inherit version src meta;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "goauthentik";
|
||||
repo = "client-go";
|
||||
tag = "v3.2025.12.4";
|
||||
hash = "sha256-+/CfOE2HkBU+ZddvdXGenB/z8xNFk8cujpZpMXyh3cY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./client-go-config.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./config.yaml \
|
||||
--replace-fail '/local' "$(pwd)"
|
||||
'';
|
||||
sourceRoot = "${src.name}/packages/client-go";
|
||||
|
||||
nativeBuildInputs = [
|
||||
openapi-generator-cli
|
||||
@@ -86,10 +81,9 @@ let
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp go.mod go.sum $out
|
||||
|
||||
cd $out
|
||||
rm -rf test
|
||||
rm -f go.mod go.sum
|
||||
rm -f .travis.yml git_push.sh
|
||||
|
||||
runHook postInstall
|
||||
@@ -101,8 +95,8 @@ let
|
||||
inherit version src meta;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./scripts/api/ts-config.yaml \
|
||||
--replace-fail '/local' "$(pwd)"
|
||||
substituteInPlace ./packages/client-ts/config.yaml \
|
||||
--replace-fail '/local' "$(pwd)/packages/client-ts"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -117,7 +111,7 @@ let
|
||||
openapi-generator-cli generate \
|
||||
-i ./schema.yml -o $out \
|
||||
-g typescript-fetch \
|
||||
-c ./scripts/api/ts-config.yaml \
|
||||
-c ./packages/client-ts/config.yaml \
|
||||
--additional-properties=npmVersion=${version} \
|
||||
--git-repo-id authentik --git-user-id goauthentik
|
||||
|
||||
@@ -128,32 +122,19 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
# prefetch-npm-deps does not save all dependencies even though the lockfile is fine
|
||||
website-deps = stdenvNoCC.mkDerivation {
|
||||
website-deps = buildNpmPackage {
|
||||
pname = "authentik-website-deps";
|
||||
inherit src version meta;
|
||||
|
||||
sourceRoot = "${src.name}/website";
|
||||
|
||||
outputHash =
|
||||
{
|
||||
"aarch64-linux" = "sha256-EbLneRDCyLLLBOZ2DUDpf2TbZoTL8QMXP4WlAZEzS90=";
|
||||
"x86_64-linux" = "sha256-yDjwN/+lX2i9WYDXq4yWwf9o8nA4342iHDDQH4Jt7eQ=";
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-website-deps: unsupported host platform");
|
||||
|
||||
outputHashMode = "recursive";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
cacert
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
npm ci --cache ./cache
|
||||
|
||||
rm -r ./cache node_modules/.package-lock.json
|
||||
'';
|
||||
inherit nodejs;
|
||||
npmDepsHash = "sha256-SkIZF+wQPgoZOGJc0YR8Ot07KCsAdA1985SLQaoibfA=";
|
||||
npmDepsFetcherVersion = 2;
|
||||
makeCacheWritable = true;
|
||||
npmInstallFlags = [ "--legacy-peer-deps" ];
|
||||
npmRebuildFlags = [ "--ignore-scripts" ];
|
||||
dontNpmBuild = true;
|
||||
|
||||
# dependencies of workspace projects are installed into separate node_modules folders with
|
||||
# symlinks between them, so we have to copy all of them
|
||||
@@ -208,8 +189,8 @@ let
|
||||
|
||||
outputHash =
|
||||
{
|
||||
"aarch64-linux" = "sha256-J9wGQe7iMfKznNk3woqi0VNVNA/dE6TGi2f44DOlG1c=";
|
||||
"x86_64-linux" = "sha256-9Q590Rw0mk3q5osxOKGWU7+XtKwkTyA+CLC2LxAA/3g=";
|
||||
"aarch64-linux" = "sha256-41xZEfLul92vJATZqyVnd7Pp++NzLL/u8NeJJPHpXrw=";
|
||||
"x86_64-linux" = "sha256-FpfOl6wNCgXLg86+vbjnYkcOnpaOZBCNxJiFDRT5W3s=";
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-webui-deps: unsupported host platform");
|
||||
outputHashMode = "recursive";
|
||||
@@ -220,6 +201,7 @@ let
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
chmod -R +w . ../packages/client-ts
|
||||
npm ci --cache ./cache --ignore-scripts
|
||||
|
||||
rm -r ./cache node_modules/.package-lock.json
|
||||
@@ -295,7 +277,7 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
python = python3.override {
|
||||
python = python314.override {
|
||||
self = python;
|
||||
packageOverrides = final: prev: {
|
||||
# https://github.com/goauthentik/authentik/pull/16324
|
||||
@@ -376,62 +358,6 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
# Running authentik currently requires a custom version.
|
||||
# Look in `pyproject.toml` for changes to the rev in the `[tool.uv.sources]` section.
|
||||
# See https://github.com/goauthentik/authentik/pull/14057 for latest version bump.
|
||||
djangorestframework = final.buildPythonPackage {
|
||||
pname = "djangorestframework";
|
||||
version = "3.16.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "authentik-community";
|
||||
repo = "django-rest-framework";
|
||||
rev = "896722bab969fabc74a08b827da59409cf9f1a4e";
|
||||
hash = "sha256-YrEDEU3qtw/iyQM3CoB8wYx57zuPNXiJx6ZjrIwnCNU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with final; [
|
||||
django
|
||||
pytz
|
||||
];
|
||||
|
||||
nativeCheckInputs = with final; [
|
||||
pytest-django
|
||||
pytest7CheckHook
|
||||
|
||||
# optional tests
|
||||
coreapi
|
||||
django-guardian
|
||||
inflection
|
||||
pyyaml
|
||||
uritemplate
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_ignore_validation_for_unchanged_fields"
|
||||
"test_invalid_inputs"
|
||||
"test_shell_code_example_rendering"
|
||||
"test_unique_together_condition"
|
||||
"test_unique_together_with_source"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "rest_framework" ];
|
||||
};
|
||||
|
||||
# authentik is currently not compatible with v1.18 and fails with the following error:
|
||||
# > AttributeError: 'Namespace' object has no attribute 'worker_fork_timeout'. Did you mean: 'worker_shutdown_timeout'?
|
||||
dramatiq = prev.dramatiq.overrideAttrs (_: rec {
|
||||
version = "1.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bogdanp";
|
||||
repo = "dramatiq";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-NeUGhG+H6r+JGd2qnJxRUbQ61G7n+3tsuDugTin3iJ4=";
|
||||
};
|
||||
});
|
||||
|
||||
authentik-django = final.buildPythonPackage {
|
||||
pname = "authentik-django";
|
||||
inherit version src meta;
|
||||
@@ -548,7 +474,32 @@ let
|
||||
|
||||
inherit (python.pkgs) authentik-django;
|
||||
|
||||
# Provide a setup-hook to configure the Go vendor directory with up-to-date API bindings.
|
||||
worker = (rustPlatform.buildRustPackage.override { stdenv = clangStdenv; }) {
|
||||
pname = "authentik-worker";
|
||||
inherit version src meta;
|
||||
|
||||
cargoHash = "sha256-KExlNyT9G3R5rnt99beT2pYrWxezMLhGw+Q9T1X2kj4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
go
|
||||
perl
|
||||
];
|
||||
|
||||
buildInputs = [ python ];
|
||||
|
||||
env = {
|
||||
PYO3_PYTHON = lib.getExe python;
|
||||
RUSTFLAGS = "--cfg tokio_unstable";
|
||||
};
|
||||
|
||||
cargoBuildFlags = cargoPackageFlags;
|
||||
|
||||
# Upstream currently has no Rust tests in this package.
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
# Provide a setup-hook to configure the Go source tree with up-to-date API bindings.
|
||||
# This is done to avoid the `vendorHash` depending on anything in the `client-go` build (e.g.
|
||||
# openapi-generator-cli version updates changing the produced content) and invalidating the hash.
|
||||
apiGoVendorHook =
|
||||
@@ -559,9 +510,10 @@ let
|
||||
(
|
||||
writeShellScript "authentik-api-go-vendor-hook" ''
|
||||
authentikApiGoVendorHook() {
|
||||
chmod -R +w vendor/goauthentik.io/api
|
||||
rm -rf vendor/goauthentik.io/api/v3
|
||||
cp -r ${client-go} vendor/goauthentik.io/api/v3
|
||||
chmod -R +w packages/client-go
|
||||
rm -rf packages/client-go
|
||||
cp -r ${client-go} packages/client-go
|
||||
chmod -R +w packages/client-go
|
||||
|
||||
echo "Finished authentikApiGoVendorHook"
|
||||
}
|
||||
@@ -593,10 +545,11 @@ let
|
||||
# calculate the vendorHash without other dependencies, so it is only based on the `go.sum` file
|
||||
overrideModAttrs.postPatch = "";
|
||||
|
||||
vendorHash = "sha256-pdQg02f1K4nOhsnadoplQYOhEybqZxn+yDQRN5RNygM=";
|
||||
vendorHash = "sha256-EVDOZ4USaJoIBDB8mM4ZSBfsSc1d/NOm1Qv/hUJ+8f4=";
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/server $out/bin/authentik
|
||||
mv $out/bin/server $out/bin/authentik-server
|
||||
ln -s authentik-server $out/bin/authentik
|
||||
'';
|
||||
|
||||
subPackages = [ "cmd/server" ];
|
||||
@@ -612,11 +565,6 @@ stdenvNoCC.mkDerivation {
|
||||
postPatch = ''
|
||||
rm Makefile
|
||||
patchShebangs lifecycle/ak
|
||||
|
||||
# This causes issues in systemd services
|
||||
substituteInPlace lifecycle/ak \
|
||||
--replace-fail 'printf' '>&2 printf' \
|
||||
--replace-fail '>/dev/stderr' ""
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
@@ -627,8 +575,9 @@ stdenvNoCC.mkDerivation {
|
||||
wrapProgram $out/bin/ak \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
(python.withPackages (ps: [ ps.authentik-django ]))
|
||||
worker
|
||||
proxy
|
||||
(python.withPackages (ps: [ ps.authentik-django ]))
|
||||
]
|
||||
} \
|
||||
--set TMPDIR /dev/shm \
|
||||
@@ -638,7 +587,7 @@ stdenvNoCC.mkDerivation {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit proxy apiGoVendorHook;
|
||||
inherit proxy worker apiGoVendorHook;
|
||||
outposts = callPackages ./outposts.nix {
|
||||
inherit (proxy) vendorHash;
|
||||
inherit apiGoVendorHook;
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
{
|
||||
"version": "2.1.187",
|
||||
"commit": "6a53320fad5541a68d79e4b6c53677df77b98e33",
|
||||
"buildDate": "2026-06-23T17:07:42Z",
|
||||
"version": "2.1.191",
|
||||
"commit": "397db5e73d569118815b8037ca9ff2483a06bbfe",
|
||||
"buildDate": "2026-06-24T11:32:23Z",
|
||||
"platforms": {
|
||||
"darwin-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "a59a16ba4922adab7a145728f215d042184d349f5f7e72cddb7fc114250a4ce3",
|
||||
"size": 215994048
|
||||
"checksum": "99fdfb552a5260e649aedd06c024d0a4105b09cefec0bf67d558e017ee66c400",
|
||||
"size": 219856224
|
||||
},
|
||||
"darwin-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "7f57b6935b4246d03cb7acee90dc22153083483a267da589c5c920dd04744c36",
|
||||
"size": 224795776
|
||||
"checksum": "6e83aad5fc4fd459fd74539cda06d2279105eac2befc603d2fba6494974cb2a4",
|
||||
"size": 229178416
|
||||
},
|
||||
"linux-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "b49be8a5e565bf2d45b50d2de62017b25462131acc9425d2fdb98b8f29c9dce2",
|
||||
"size": 232240864
|
||||
"checksum": "1a31a7cbcfd784f8c073bfc8a0a1583fb6e93e60ef70b76d7fcf663ffed8949b",
|
||||
"size": 236305136
|
||||
},
|
||||
"linux-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "bb02fcb33626f8c599d10d8bee38585d4cf8d4225c3b497869dee7454e7bf361",
|
||||
"size": 234874664
|
||||
"checksum": "1038dba88bdf1b80941dc3e383e93b088325b00497329ac50da460c8786d5bee",
|
||||
"size": 239438648
|
||||
},
|
||||
"linux-arm64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "972fc2e0bc8104edb593ce7723d4414c0ed8e4df6d90ad26ae48097b1d910478",
|
||||
"size": 225620168
|
||||
"checksum": "7e5d3ac86e28dbd224f84d9349372b74bed39ad6392408df63356fd8a810c96e",
|
||||
"size": 229553336
|
||||
},
|
||||
"linux-x64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "c5a783d13aac71d42324f2e9dcd395c266bd5774951faf0d94855c737024bee3",
|
||||
"size": 229858704
|
||||
"checksum": "b80e0066fb208cbd50fe539ed9c03dadd24fcc058bb67774fd36a316bca396ad",
|
||||
"size": 234123648
|
||||
},
|
||||
"win32-x64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "24964d08c5100bac6071352e5837101b333de1c1afefd2b8b0e7a60db6c0ef5c",
|
||||
"size": 226329760
|
||||
"checksum": "83397a6a029c7da663fb1ce27211e05174a3546d8b151e42451bf4590b8343d7",
|
||||
"size": 230281888
|
||||
},
|
||||
"win32-arm64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "04124c0ba09ece85a856de652e84386094c372f002ff767a94d4a43ecf776f96",
|
||||
"size": 220992160
|
||||
"checksum": "ec8c342e835ee8891ef2c6d0eb9ac460f2d5e6a668788c8a03faa3451748c275",
|
||||
"size": 224756384
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit-files";
|
||||
version = "41";
|
||||
version = "42";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit-files";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-qS9L0REWN8exXiy5ogYQNbuwaxuh8CiKaCUJHdkfSqQ=";
|
||||
hash = "sha256-NfI6y60O5ctsPbwPcXgkwxpNYuZkF/2YXZOIcRZUc5c=";
|
||||
|
||||
fetchSubmodules = true;
|
||||
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit-machines";
|
||||
version = "353";
|
||||
version = "354";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit-machines";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-K4p2HDg1Wh1ORw3S2BeY0Kbpy+CEGyiCM623/6M4LpU=";
|
||||
hash = "sha256-r5gvs6/clRDV0VZKU1r6fjJSwHLuf9Pnhi0c60/9qkE=";
|
||||
|
||||
fetchSubmodules = true;
|
||||
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit-podman";
|
||||
version = "127";
|
||||
version = "128";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit-podman";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-dYwiHvpyzu03ceinPeEuTpnRx4OOmA9/UuIKJNxb1eY=";
|
||||
hash = "sha256-GlnIZGV5nk7o28EUs4H/IdZkgtHG0a9uwCTCS4rCP6c=";
|
||||
|
||||
fetchSubmodules = true;
|
||||
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";
|
||||
|
||||
@@ -8,19 +8,20 @@
|
||||
makeBinaryWrapper,
|
||||
nix-eval-jobs,
|
||||
nix,
|
||||
colmena,
|
||||
testers,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "colmena";
|
||||
version = "0.4.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhaofengli";
|
||||
owner = "nix-community";
|
||||
repo = "colmena";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-01bfuSY4gnshhtqA1EJCw2CMsKkAx+dHS+sEpQ2+EAQ=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-01bfuSY4gnshhtqA1EJCw2CMsKkAx+dHS+sEpQ2+EAQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-2OLApLD/04etEeTxv03p0cx8O4O51iGiBQTIG/iOIkU=";
|
||||
@@ -35,10 +36,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
env.NIX_EVAL_JOBS = "${nix-eval-jobs}/bin/nix-eval-jobs";
|
||||
|
||||
patches = [
|
||||
# Fixes nix 2.24 compat: https://github.com/zhaofengli/colmena/pull/236
|
||||
# Fixes nix 2.24 compat: https://github.com/zhaofengli/colmena/pull/233
|
||||
(fetchpatch {
|
||||
url = "https://github.com/zhaofengli/colmena/commit/36382ee2bef95983848435065f7422500c7923a8.patch";
|
||||
sha256 = "sha256-5cQ2u3eTzhzjPN+rc6xWIskHNtheVXXvlSeJ1G/lz+E=";
|
||||
url = "https://github.com/nix-community/colmena/commit/00fd486d49170b1304c67381b3096e55d4cdc76f.patch";
|
||||
hash = "sha256-uwL3u0gO708bzV2NV8sTt10WHaCL3HykJNqSZNp9EtA=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -52,19 +53,22 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--prefix PATH ":" "${lib.makeBinPath [ nix ]}"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
# Recursive Nix is not stable yet
|
||||
doCheck = false;
|
||||
|
||||
passthru = {
|
||||
# We guarantee CLI and Nix API stability for the same minor version
|
||||
apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion finalAttrs.version));
|
||||
|
||||
tests.version = testers.testVersion { package = colmena; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Simple, stateless NixOS deployment tool";
|
||||
homepage = "https://colmena.cli.rs/${finalAttrs.passthru.apiVersion}";
|
||||
downloadPage = "https://github.com/nix-community/colmena/";
|
||||
changelog = "https://github.com/nix-community/colmena/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ zhaofengli ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index bdd37740..c1adcfad 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1514,7 +1514,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "cosmic-settings-config"
|
||||
version = "0.1.0"
|
||||
-source = "git+https://github.com/pop-os/cosmic-settings-daemon#fa82bdf9fe7b5f5bd6008f32f393efd5e7a71c47"
|
||||
+source = "git+https://github.com/pop-os/cosmic-settings-daemon#e7936f0d4f01c8c5a436908c7ee9f6ad43e6a7d8"
|
||||
dependencies = [
|
||||
"cosmic-config",
|
||||
"ron 0.11.0",
|
||||
@@ -20,17 +20,23 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-applets";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-applets";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-o+rEO+IA337fhpq6TsH+UZEN7kb/PqydlKo77NyCRcM=";
|
||||
hash = "sha256-A8Qk9u3Q83Q4AjzTrdptfS9UNoyKq39YihC4d/dNBYc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tbGuyqdDTsKYpKxeAuachwbPHTPhmb9Sg3qzxHYosjo=";
|
||||
cargoPatches = [
|
||||
# A different reference to the `cosmic-settings-daemon` crate was added
|
||||
# Remove this patch once upstream fixes their lockfile.
|
||||
./dedup-cosmic-settings-daemon.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-81BFu13QmqOq43iN+ORQuktisEFYRrK+wd6diFfSufs=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-applibrary";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-applibrary";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-mzHSLZK6HienbPRPetSj+XbPWCnpihEvMx9W9lJWpbA=";
|
||||
hash = "sha256-TZncRQer4lXunUwdQ2xDP3DmF5B7UmfhSQvEwVodc98=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qGx/3w78mgIMqRo1wJA+ULFHWdNW2LKe2Sej4f9KbVs=";
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-bg";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-bg";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-E4OWxoGyRNFcMl7ni7PB6PE0Yl7dE+Wd4JGDMHO94Yw=";
|
||||
hash = "sha256-bczUWa91l52P6Q46/lkX1j9eKasM154D82fBaLFHF1M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
"${cosmic-wallpapers}/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg"
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-xXq8Dckg3YOf2AT9uOZqVfq00FhZp/X5UU8hLmAln1U=";
|
||||
cargoHash = "sha256-UDhXKg4lO6op/lfi3aZ4iclzUqcf5xQI85UWAHVTWig=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-comp";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-comp";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-3WPZk/o+cfq3wwKEuYejMh+pn2o823m98OO3crFaNX4=";
|
||||
hash = "sha256-fUuw7qwfojAmu/mkWMkWBhpcSgZNTIzdXmInjyKrZBI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ki+unf58rXBCpj5PCpBcg/6FWo16+MdPQWae+w1YkJ8=";
|
||||
|
||||
@@ -16,17 +16,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-edit";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-edit";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-almnWrJSV5xZoBDEuk0pfMZ/c00e0xpDNTTbcq+NCYM=";
|
||||
hash = "sha256-5DsnhaiJgmTakn+q9o2Q7IeuakAC/j0Ck3F3pfFx/EA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/qcpAR2nvC/MYa5QuCLiZFQgos5SlYtspZsNuMLJFHk=";
|
||||
cargoHash = "sha256-2E+98uWtahyQufoZTzdUtkwbuISsUHwlqOmMSpyi1O8=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
|
||||
@@ -12,17 +12,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-files";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-files";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-2vrk1hYL7E/vVWiLcOYY3O0cmYZyFG4bdkNDFuyA+cA=";
|
||||
hash = "sha256-cRwZrmm/zOIV6VCyz2dTH+qn8h6LOnaOiHU5nENTK6o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QPFGsn1J0lp5K4gLdar/Z5MmZg+VOoCZd1U8LUuLXqM=";
|
||||
cargoHash = "sha256-+21DCCTkNrbdxgxQi0YyuAxpl1IvwUz3ccUE+E0sZ4Y=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-greeter";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-greeter";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-+6VOv6z61k48hURq4yRRMIFIE8ZrjYGapO5FybWKQTE=";
|
||||
hash = "sha256-oxXCAvBISkZu76VpvQ9AliFRJ8r5Ay7mjWf4sEwV0Xs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-mfY2hsMxBooRjmTB2jgUIKyKHBpGfZ9Qslwv+2aEQyg=";
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "cosmic-icons";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-icons";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-3owl4M4vRyzjR4v74clyAxpNDu77rieSpYAVYfADHzY=";
|
||||
hash = "sha256-QUTAYIQ6qAhjZK/9BZjJzTViECLUwO/MyaOqiRb1Ans=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-idle";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-initial-setup";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-initial-setup";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-3nGPBWYDqPJN99WtzsAVERucwiVAFynuUk2gezZ/RJU=";
|
||||
hash = "sha256-UABqbmbwW2ZBOO7mq16/h0s55VCWRF2yyf/1TaubC88=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-DESnl5NjakU4++Ep6CHxDZzHn+o0Gi0eREpXk5BN5iY=";
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-launcher";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-launcher";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-ZivzjufT2UlPi/En1AjGS8TfeFNdJDfDUd9cb2Begb8=";
|
||||
hash = "sha256-9U64nSeI47bkc8BQU9ilXBlHQRGS2zC/FcBKc7Z17RY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WnZAPQR8hGGNC5S7hPmcGSMs9HrOw4/wqJR151eIgHY=";
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
just,
|
||||
libcosmicAppHook,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-monitor";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-monitor";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-CiJ9LeNcdOyC8yn0c7hCz0QEecxYK95KGvs1SWr9360=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-OMhLPQ3GkV/wdeb9F7lsKY1Uzzg8+UlhOeakGZo6mYk=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
just
|
||||
libcosmicAppHook
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
dontUseJustBuild = true;
|
||||
dontUseJustCheck = true;
|
||||
|
||||
justFlags = [
|
||||
"--set"
|
||||
"prefix"
|
||||
(placeholder "out")
|
||||
"--set"
|
||||
"cargo-target-dir"
|
||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
inherit (nixosTests)
|
||||
cosmic
|
||||
cosmic-autologin
|
||||
cosmic-noxwayland
|
||||
cosmic-autologin-noxwayland
|
||||
;
|
||||
};
|
||||
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"epoch-(.*)"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/pop-os/cosmic-monitor";
|
||||
description = "COSMIC System Monitor";
|
||||
mainProgram = "cosmic-monitor";
|
||||
license = lib.licenses.gpl3Only;
|
||||
teams = [ lib.teams.cosmic ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-notifications";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 8b6704e..64c1691 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1104,7 +1104,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "cosmic-settings-airplane-mode-subscription"
|
||||
version = "1.0.7"
|
||||
-source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8"
|
||||
+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_futures",
|
||||
@@ -1150,7 +1150,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "cosmic-settings-pulse-subscription"
|
||||
version = "0.1.0"
|
||||
-source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8"
|
||||
+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_futures",
|
||||
@@ -1162,7 +1162,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "cosmic-settings-upower-subscription"
|
||||
version = "1.0.7"
|
||||
-source = "git+https://github.com/pop-os/cosmic-settings#78644a32e3741f8f80e9b8ce65c3550c85f9c1f8"
|
||||
+source = "git+https://github.com/pop-os/cosmic-settings#81912bed6cdebe2719e29e6bd1453e7b977acb0e"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_futures",
|
||||
@@ -15,24 +15,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-osd";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-osd";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-jv28hxhQUcUDLnOwU3xQJwCU+s52pwDNs8Gf4I5Hp9k=";
|
||||
hash = "sha256-veqkYF2CSwnc1nGIFeZXpfannCQ0RuacvqPVxVsiVDc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-YwZXlhggrUddxour+/S1mSL3Fq1mzvFaOHArLSnfPvc=";
|
||||
|
||||
cargoPatches = [
|
||||
# A different reference to the `cargo-settings` crate was added in:
|
||||
# <https://github.com/pop-os/cosmic-osd/pull/204>
|
||||
# Remove this patch once upstream fixes their lockfile.
|
||||
./deduplicate-cosmic-settings-crate.patch
|
||||
];
|
||||
cargoHash = "sha256-aweq4E2bwqRpetakpR0OqTsIsoJK6h4eRzMdBhGuIoU=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-panel";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-panel";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-MNOS7HMlyvU4zCZVINthgZgBsUn+LI1hUAEcwSq+zaE=";
|
||||
hash = "sha256-DKwmZnTxsYCWAkLb9AXoHBa8m6Z5Gi1Jb7AuxZqq7RA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-6E+bAi1f6gOZh64wyvLMKZiZNlMexPV+ZzS3riOx9xM=";
|
||||
|
||||
@@ -18,17 +18,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-player";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-player";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-iDEyR+P+iXShH0YFtqxvPbbs9kgtYvAsuKchB6plnKI=";
|
||||
hash = "sha256-aHQbwpNr8tsfUR0Dm4WTzz6XNXjgdqZ9/2AQRPPbnog=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-YzT16Ej+AyLLj8uHuHxZvHWujcW8jLjVg/4MmPyorH4=";
|
||||
cargoHash = "sha256-KVaKTMrWijResBqzH62j/YqBR4TQ77x2sK/kN40UWjw=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-randr";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-screenshot";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-screenshot";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-DngKZDKfgVdSZLZAsPq+7p4r/go2Y6141LrCNGoxD1E=";
|
||||
hash = "sha256-RYvc/3FoRnNkuYBVfCG75Bmfb8JWW1H4GKXyhq7CxaQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-q0RJST1yeqPBjU5MseNZIrZw+brfDtQLKiw7wyViflE=";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-session";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
adw-gtk3,
|
||||
pkg-config,
|
||||
libpulseaudio,
|
||||
pipewire,
|
||||
libinput,
|
||||
udev,
|
||||
openssl,
|
||||
@@ -16,14 +17,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-settings-daemon";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-settings-daemon";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-A+nOAadFWU+KRW54dP2WW6P6fabIs4z1AqC37LSZjUI=";
|
||||
hash = "sha256-6MLZpGGvE1EnUlRv2T6+iXy8B0aqBTNNrqDtBbeABYs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -33,18 +34,22 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--replace-fail '/usr/share/themes/adw-gtk3' '${adw-gtk3}/share/themes/adw-gtk3'
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-bz+JasI3WE30sKKgjofVO/42Ml4YY9Dw3JxnZmZVQk4=";
|
||||
cargoHash = "sha256-rpyMdwmcddsrXuIOI5T6Kh9+cB28DdUxotiqpeGqvCc=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libinput
|
||||
libpulseaudio
|
||||
openssl
|
||||
udev
|
||||
pipewire
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 46d491a..ea60cd9 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1774,7 +1774,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "cosmic-theme"
|
||||
version = "1.0.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"almost",
|
||||
"configparser",
|
||||
@@ -3158,7 +3158,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"dnd",
|
||||
"iced_accessibility",
|
||||
@@ -3214,7 +3214,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_debug"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"iced_core",
|
||||
"iced_futures",
|
||||
@@ -3238,7 +3238,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_graphics"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"bitflags 2.12.1",
|
||||
"bytemuck",
|
||||
@@ -3259,7 +3259,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_program"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"iced_graphics",
|
||||
"iced_runtime",
|
||||
@@ -3268,7 +3268,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_renderer"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"iced_graphics",
|
||||
"iced_tiny_skia",
|
||||
@@ -3280,7 +3280,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_runtime"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"cosmic-client-toolkit",
|
||||
@@ -3296,7 +3296,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_tiny_skia"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
@@ -3313,7 +3313,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_wgpu"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"as-raw-xcb-connection",
|
||||
"bitflags 2.12.1",
|
||||
@@ -3344,7 +3344,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_widget"
|
||||
version = "0.14.2"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"cosmic-client-toolkit",
|
||||
"dnd",
|
||||
@@ -3364,7 +3364,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_winit"
|
||||
version = "0.14.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"cosmic-client-toolkit",
|
||||
"cursor-icon",
|
||||
@@ -4455,7 +4455,7 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
||||
[[package]]
|
||||
name = "libcosmic"
|
||||
version = "1.0.0"
|
||||
-source = "git+https://github.com/pop-os/libcosmic#f0f68933f1552857e2165fc0fa953228107bddef"
|
||||
+source = "git+https://github.com/pop-os/libcosmic#a991d7bb433f67016c1473e8e4a03691ededd75a"
|
||||
dependencies = [
|
||||
"apply",
|
||||
"ashpd 0.12.3",
|
||||
@@ -27,17 +27,23 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-settings";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-settings";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-knA3qpFeRRlUMV91+LleaWxb1fexX2IJlMRD81fl7l4=";
|
||||
hash = "sha256-LfhFza0G85+fIuACMdwV50Okh5/46z8tLoJ9IvLqTgw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-2ZHuOmtBzXQ/KSBMKus9LbojfByYzzCjIkbGY8C85bU=";
|
||||
cargoPatches = [
|
||||
# A different reference to the `libcosmic` crate was added
|
||||
# Remove this patch once upstream fixes their lockfile.
|
||||
./dedup-libcosmic.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-rYjizOCcLJ4aq3UB5xEwWq5+KvrSi5PCUTIwUM/wegM=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-store";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-store";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-JE8LcFlhG4e3QqobzUNfCw3Eg10+FrlVuQu+J+96/es=";
|
||||
hash = "sha256-pePtfOgeQtaD15dfWzrMQmXcINf/V5ovKWAG8kOPf+c=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-+lOt+mSTKKsSm3UzGXq43ZjbktiCCV8dnHdvnnx2vqA=";
|
||||
cargoHash = "sha256-jECZ/6hxaDfz2pOOqLkbq5HfF3YnCVK2geFAC+n286A=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-term";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-term";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-nDTDGtaGRW0JM48/tbWO/NK1WhGkPwlsqfWrDGvFE9A=";
|
||||
hash = "sha256-ocOPssCxm2p2HoAIHIAoAMh66cGcGXuGWDuAEtHFoPQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0W1TU1NIcV9fx/vgKpPLqLO1fcdtbZX5Ds1uQWGJ2C8=";
|
||||
cargoHash = "sha256-ezFCpU4ZNfANYRVTMrvPMC79j55XGUwYMMKeihekYds=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "cosmic-wallpapers";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cosmic-workspaces-epoch";
|
||||
version = "1.0.16";
|
||||
version = "1.1.0";
|
||||
|
||||
# nixpkgs-update: no auto update
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "cosmic-workspaces-epoch";
|
||||
tag = "epoch-${finalAttrs.version}";
|
||||
hash = "sha256-u4p22qpxZPdBogzrJXGomqGGxgkpD0hdXf+3YNg2VIo=";
|
||||
hash = "sha256-riiveHFtRF3rtOhbbUtfYRoAlqc7TCRr8aer0dgBY7g=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Z5dC3W8QoDBZWBjHwRj9MC8EScDjQwUiUcOPTRDToDA=";
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 2a2104f3cff44bb28bb570a093be52bbeeed8f23 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Eissing <stefan@eissing.org>
|
||||
Date: Mon, 11 May 2026 14:56:04 +0200
|
||||
Subject: [PATCH] event: fix wakeup consumption
|
||||
|
||||
The events on a multi wakeup socketpair were only consumed via
|
||||
curl_multi_poll()/curl_multi_wait() but not in event based processing on
|
||||
a curl_multi_socket() call. That led to busy loops as reported in
|
||||
|
||||
Fixes #21547
|
||||
Reported-by: Earnestly on github
|
||||
Closes #21549
|
||||
---
|
||||
lib/multi.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/lib/multi.c b/lib/multi.c
|
||||
index be32740a7097..5e84133f13fd 100644
|
||||
--- a/lib/multi.c
|
||||
+++ b/lib/multi.c
|
||||
@@ -2703,6 +2703,11 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
||||
Curl_uint32_bset_remove(&multi->dirty, data->mid);
|
||||
|
||||
if(data == multi->admin) {
|
||||
+#ifdef ENABLE_WAKEUP
|
||||
+ /* Consume any pending wakeup signals before processing.
|
||||
+ * This is necessary for event based processing. See #21547 */
|
||||
+ (void)Curl_wakeup_consume(multi->wakeup_pair, TRUE);
|
||||
+#endif
|
||||
#ifdef USE_RESOLV_THREADED
|
||||
Curl_async_thrdd_multi_process(multi);
|
||||
#endif
|
||||
@@ -96,6 +96,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-Y/4twUi6DOromSLvg49+XJRicsLni3xZ+rS3nTziuJY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/curl/curl/commit/2a2104f3cff44bb28bb570a093be52bbeeed8f23
|
||||
# According to <https://curl.se/mail/distros-2026-05/0000.html>, this fixes
|
||||
# a performance regression, causing high CPU usage
|
||||
./fix-wakeup-consumption.patch
|
||||
];
|
||||
|
||||
# this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
|
||||
# necessary for FreeBSD code path in configure
|
||||
postPatch = ''
|
||||
@@ -115,6 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
env = {
|
||||
CXX = "${stdenv.cc.targetPrefix}c++";
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doctest";
|
||||
version = "2.5.0";
|
||||
version = "2.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doctest";
|
||||
repo = "doctest";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-7t/eknv7VtHoBgcuJmI07x//HIyqzE9HUuH5u2y7X8A=";
|
||||
hash = "sha256-4jW6xPFCFxk1l47EkSUVojhycrtluPhOc5Adf/25R7M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@@ -27,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/doctest/doctest/releases/tag/${finalAttrs.src.tag}";
|
||||
homepage = "https://github.com/doctest/doctest";
|
||||
description = "Fastest feature-rich C++11/14/17/20 single-header testing framework";
|
||||
platforms = lib.platforms.all;
|
||||
|
||||
@@ -75,20 +75,17 @@ let
|
||||
glib
|
||||
];
|
||||
|
||||
pythonPath =
|
||||
with python3.pkgs;
|
||||
[
|
||||
b2sdk
|
||||
boto3
|
||||
idna
|
||||
pygobject3
|
||||
fasteners
|
||||
paramiko
|
||||
pexpect
|
||||
# Currently marked as broken.
|
||||
# pydrive2
|
||||
]
|
||||
++ paramiko.optional-dependencies.invoke;
|
||||
pythonPath = with python3.pkgs; [
|
||||
b2sdk
|
||||
boto3
|
||||
idna
|
||||
pygobject3
|
||||
fasteners
|
||||
paramiko
|
||||
pexpect
|
||||
# Currently marked as broken.
|
||||
# pydrive2
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
gnupg # Add 'gpg' to PATH.
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
stdenv,
|
||||
buildPackages,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
libuuid,
|
||||
gettext,
|
||||
@@ -20,25 +19,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "e2fsprogs";
|
||||
version = "1.47.3";
|
||||
version = "1.47.4";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${version}/e2fsprogs-${version}.tar.xz";
|
||||
hash = "sha256-hX5u+AD+qiu0V4+8gQIUvl08iLBy6lPFOEczqWVzcyk=";
|
||||
hash = "sha256-/VvziMvb4Aaj07MY2YOylIOCRArMhah/Hn0QhlPo2ws=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream patch that fixes musl build (and probably others).
|
||||
# Should be included in next release after 1.47.3.
|
||||
(fetchpatch {
|
||||
name = "stdio-portability.patch";
|
||||
url = "https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/patch/?id=f79abd8554e600eacc2a7c864a8332b670c9e262";
|
||||
hash = "sha256-zZ7zmSMTwGyS3X3b/D/mVG0bV2ul5xtY5DJx9YUvQO8=";
|
||||
})
|
||||
];
|
||||
|
||||
# fuse2fs adds 14mb of dependencies
|
||||
outputs = [
|
||||
"bin"
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
--- a/Make.rules
|
||||
+++ b/Make.rules
|
||||
@@ -68,35 +68,35 @@ endif
|
||||
%.h: %.auth
|
||||
./xxdi.pl $< > $@
|
||||
|
||||
-%.hash: %.efi hash-to-efi-sig-list
|
||||
- ./hash-to-efi-sig-list $< $@
|
||||
+%.hash: %.efi
|
||||
+ hash-to-efi-sig-list $< $@
|
||||
|
||||
-%-blacklist.esl: %.crt cert-to-efi-hash-list
|
||||
- ./cert-to-efi-sig-list $< $@
|
||||
+%-blacklist.esl: %.crt
|
||||
+ cert-to-efi-sig-list $< $@
|
||||
|
||||
-%-hash-blacklist.esl: %.crt cert-to-efi-hash-list
|
||||
- ./cert-to-efi-hash-list $< $@
|
||||
+%-hash-blacklist.esl: %.crt
|
||||
+ cert-to-efi-hash-list $< $@
|
||||
|
||||
-%.esl: %.crt cert-to-efi-sig-list
|
||||
- ./cert-to-efi-sig-list -g $(MYGUID) $< $@
|
||||
+%.esl: %.crt
|
||||
+ cert-to-efi-sig-list -g $(MYGUID) $< $@
|
||||
|
||||
getcert = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo "-c PK.crt -k PK.key"; else echo "-c KEK.crt -k KEK.key"; fi)
|
||||
getvar = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo $(1); else echo db; fi)
|
||||
|
||||
-%.auth: %.esl PK.crt KEK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list $(call getcert,$*) $(call getvar,$*) $< $@
|
||||
+%.auth: %.esl PK.crt KEK.crt
|
||||
+ sign-efi-sig-list $(call getcert,$*) $(call getvar,$*) $< $@
|
||||
|
||||
-%-update.auth: %.esl PK.crt KEK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list -a $(call getcert,$*) $(call getvar,$*) $< $@
|
||||
+%-update.auth: %.esl PK.crt KEK.crt
|
||||
+ sign-efi-sig-list -a $(call getcert,$*) $(call getvar,$*) $< $@
|
||||
|
||||
-%-pkupdate.auth: %.esl PK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list -a -c PK.crt -k PK.key $(call getvar,$*) $< $@
|
||||
+%-pkupdate.auth: %.esl PK.crt
|
||||
+ sign-efi-sig-list -a -c PK.crt -k PK.key $(call getvar,$*) $< $@
|
||||
|
||||
-%-blacklist.auth: %-blacklist.esl KEK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list -a -c KEK.crt -k KEK.key dbx $< $@
|
||||
+%-blacklist.auth: %-blacklist.esl KEK.crt
|
||||
+ sign-efi-sig-list -a -c KEK.crt -k KEK.key dbx $< $@
|
||||
|
||||
-%-pkblacklist.auth: %-blacklist.esl PK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list -a -c PK.crt -k PK.key dbx $< $@
|
||||
+%-pkblacklist.auth: %-blacklist.esl PK.crt
|
||||
+ sign-efi-sig-list -a -c PK.crt -k PK.key dbx $< $@
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -27,13 +27,11 @@ include Make.rules
|
||||
|
||||
EFISIGNED = $(patsubst %.efi,%-signed.efi,$(EFIFILES))
|
||||
|
||||
-all: $(EFISIGNED) $(BINARIES) $(MANPAGES) noPK.auth $(KEYAUTH) \
|
||||
+all: $(EFISIGNED) $(BINARIES) noPK.auth $(KEYAUTH) \
|
||||
$(KEYUPDATEAUTH) $(KEYBLACKLISTAUTH) $(KEYHASHBLACKLISTAUTH)
|
||||
|
||||
|
||||
install: all
|
||||
- $(INSTALL) -m 755 -d $(MANDIR)
|
||||
- $(INSTALL) -m 644 $(MANPAGES) $(MANDIR)
|
||||
$(INSTALL) -m 755 -d $(EFIDIR)
|
||||
$(INSTALL) -m 755 $(EFIFILES) $(EFIDIR)
|
||||
$(INSTALL) -m 755 -d $(BINDIR)
|
||||
@@ -65,11 +63,11 @@ DB.h: DB.auth
|
||||
noPK.esl:
|
||||
> noPK.esl
|
||||
|
||||
-noPK.auth: noPK.esl PK.crt sign-efi-sig-list
|
||||
- ./sign-efi-sig-list -t "$(shell date --date='1 second' +'%Y-%m-%d %H:%M:%S')" -c PK.crt -k PK.key PK $< $@
|
||||
+noPK.auth: noPK.esl PK.crt
|
||||
+ sign-efi-sig-list -t "$(shell date --date='1 second' +'%Y-%m-%d %H:%M:%S')" -c PK.crt -k PK.key PK $< $@
|
||||
|
||||
-ms-%.esl: ms-%.crt cert-to-efi-sig-list
|
||||
- ./cert-to-efi-sig-list -g $(MSGUID) $< $@
|
||||
+ms-%.esl: ms-%.crt
|
||||
+ cert-to-efi-sig-list -g $(MSGUID) $< $@
|
||||
|
||||
hashlist.h: HashTool.hash
|
||||
cat $^ > /tmp/tmp.hash
|
||||
@@ -8,7 +8,13 @@
|
||||
perlPackages,
|
||||
help2man,
|
||||
fetchzip,
|
||||
pkgsCross,
|
||||
efitools,
|
||||
buildPackages,
|
||||
}:
|
||||
let
|
||||
isCross = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "efitools";
|
||||
version = "1.9.2";
|
||||
@@ -16,13 +22,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
gnu-efi
|
||||
openssl
|
||||
sbsigntool
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
perlPackages.FileSlurp
|
||||
help2man
|
||||
openssl
|
||||
sbsigntool
|
||||
]
|
||||
++ lib.optionals isCross [
|
||||
efitools
|
||||
];
|
||||
|
||||
src = fetchzip {
|
||||
@@ -39,6 +49,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# https://bugs.debian.org/1122408
|
||||
./objcopy-output-target.patch
|
||||
]
|
||||
++ lib.optionals isCross [
|
||||
# Use builder's efitools to create sig lists for host
|
||||
./cross.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -47,9 +61,26 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sed -i -e 's#$(DESTDIR)/usr#$(out)#g' Make.rules
|
||||
sed -i '$asign-efi-sig-list.o flash-var.o: CFLAGS += -D_GNU_SOURCE' Makefile
|
||||
substituteInPlace lib/console.c --replace "EFI_WARN_UNKOWN_GLYPH" "EFI_WARN_UNKNOWN_GLYPH"
|
||||
# Fix cross-compilation: use $(AR) and $(NM) variables instead of hardcoded commands
|
||||
substituteInPlace Make.rules --replace-fail 'ar rcv' '$(AR) rcv'
|
||||
substituteInPlace Make.rules --replace-fail 'nm -D' '$(NM) -D'
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"ARCH=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
"AR=${stdenv.cc.targetPrefix}ar"
|
||||
"NM=${stdenv.cc.targetPrefix}nm"
|
||||
"OBJCOPY=${stdenv.cc.targetPrefix}objcopy"
|
||||
]
|
||||
++ lib.optionals isCross [
|
||||
"MANPAGES="
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
cross-aarch64 = pkgsCross.aarch64-multiplatform.efitools;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tools for manipulating UEFI secure boot platforms";
|
||||
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git";
|
||||
|
||||
@@ -33,14 +33,14 @@ let
|
||||
in
|
||||
python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "esphome";
|
||||
version = "2026.5.3";
|
||||
version = "2026.6.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "esphome";
|
||||
repo = "esphome";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-laz+XNszkayfmEyrtFr3BHUWVV9eFhj130o4l99XElY=";
|
||||
hash = "sha256-h7aMPSXmIUutCGMoZlE3Z1wX2xNxdmZsHfBllcFHBHc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -96,6 +96,7 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pillow
|
||||
platformio
|
||||
puremagic
|
||||
py7zr
|
||||
pyparsing
|
||||
pyserial
|
||||
pyyaml
|
||||
@@ -151,6 +152,10 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
disabledTestPaths = [
|
||||
# platformio builds; requires networking for dependency resolution
|
||||
"tests/integration"
|
||||
|
||||
# tries to dynamically patch platformio module
|
||||
"tests/unit_tests/test_writer.py"
|
||||
"tests/unit_tests/test_espidf_component.py"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# files.
|
||||
|
||||
let
|
||||
version = "2.8.0";
|
||||
version = "2.8.1";
|
||||
tag = "R_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url =
|
||||
with finalAttrs;
|
||||
"https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-o3v64KqXdb2FIevYXcRW1Ibw/zETj2yR/ZAupzJiRUI=";
|
||||
hash = "sha256-ELGV7ngWCpCDiBgKj+NgPU6aEvR1X79fOBayOp11DaA=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -24,13 +24,13 @@ let
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "faas-cli";
|
||||
version = "0.18.9";
|
||||
version = "0.18.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openfaas";
|
||||
repo = "faas-cli";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-QiRO7oJk/zjUOWr1giW29/QJY/YiKkLzROB6OxN8kIc=";
|
||||
sha256 = "sha256-MctMhuaXJpm25VKqlhaAPG2QzSDQ//Ei8B1lRCKdz68=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
stdenv,
|
||||
lib,
|
||||
gfortran,
|
||||
@@ -22,24 +21,16 @@ assert lib.elem precision [
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fftw-${precision}";
|
||||
version = "3.3.10";
|
||||
version = "3.3.11";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://fftw.org/fftw-${finalAttrs.version}.tar.gz"
|
||||
"ftp://ftp.fftw.org/pub/fftw/fftw-${finalAttrs.version}.tar.gz"
|
||||
];
|
||||
hash = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
|
||||
hash = "sha256-VjDCTN6zOxMWEvfrSxqZNCNHVPnziP+GF0WNC+byOaE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "remove_missing_FFTW3LibraryDepends.patch";
|
||||
url = "https://github.com/FFTW/fftw3/pull/338/commits/f69fef7aa546d4477a2a3fd7f13fa8b2f6c54af7.patch";
|
||||
hash = "sha256-lzX9kAHDMY4A3Td8necXwYLcN6j8Wcegi3A7OIECKeU=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
@@ -107,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/FFTW/fftw3/blob/fftw-${finalAttrs.version}/NEWS";
|
||||
description = "Fastest Fourier Transform in the West library";
|
||||
homepage = "https://www.fftw.org/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
|
||||
Generated
+83
@@ -109,12 +109,18 @@
|
||||
"com/fasterxml#oss-parent/65": {
|
||||
"pom": "sha256-2wuaUmqeMDxjuptYSWicYfs4kkf6cjEFS5DgvwC0MR4="
|
||||
},
|
||||
"com/fasterxml#oss-parent/70": {
|
||||
"pom": "sha256-JsqO1vgsnS7XzTIpgQW7ZcD52JnbYXV6CXQVhvqTpjk="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.18.3": {
|
||||
"pom": "sha256-1bv9PIRFIw5Ji2CS3oCa/WXPUE0BOTLat7Pf1unzpP0="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.19.0": {
|
||||
"pom": "sha256-Noz4ykJkRni737F6sUfJC8QyWaWZUJfD8cT7au9Mdcg="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.20.1": {
|
||||
"pom": "sha256-C3SKsMx/KH21tgGMYUz+Z+fh9NgJQc4vQdMXzMO1tcU="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.17.1": {
|
||||
"pom": "sha256-n0RhIo4SkQPu16MC3BABqy5Mgt086pFcKn27jMYe/SU="
|
||||
},
|
||||
@@ -124,6 +130,9 @@
|
||||
"com/fasterxml/jackson#jackson-bom/2.19.0": {
|
||||
"pom": "sha256-sR/LPvM6wH5oDObYXxfELWoz2waG+6z68OQ0j8Y5cbI="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.20.1": {
|
||||
"pom": "sha256-DGRn7UyMc5JSTOcDymzj7YhZbuw5DxOwwmTy+WEwilQ="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-parent/2.17": {
|
||||
"pom": "sha256-rubeSpcoOwQOQ/Ta1XXnt0eWzZhNiSdvfsdWc4DIop0="
|
||||
},
|
||||
@@ -133,6 +142,9 @@
|
||||
"com/fasterxml/jackson#jackson-parent/2.19": {
|
||||
"pom": "sha256-bNk0tNFdfz7hONl7I8y4Biqd5CJX7YelVs7k1NvvWxo="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-parent/2.20": {
|
||||
"pom": "sha256-tDt/XGLoaxZPrnCuF9aRHF22B5mvAQVzYK/aguSEW+U="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-annotations/2.18.3": {
|
||||
"jar": "sha256-iqV0DYC1pQJVCLQbutuqH7N3ImfGKLLjBoGk9F+LiTE=",
|
||||
"module": "sha256-RkWF2yH0irFZ6O9XnNfo5tMHoEdhGZZRw+zBf05ydF0=",
|
||||
@@ -143,6 +155,11 @@
|
||||
"module": "sha256-HzHOjWv4Trf0q6Hl/gGn7mshk+mw8rv4zENMRUXVGh8=",
|
||||
"pom": "sha256-MnlOx3WinmcwPfut370Jq/3nKaRPWuJ7Wew8g65vOuA="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-annotations/2.20": {
|
||||
"jar": "sha256-lZov+y1ZFDb1Hxg8alIfyJNHkS9xG/DK4AjN8EXZUxk=",
|
||||
"module": "sha256-wHDxTsg1jQlcAurootZcsAzLoOXFqnOwASlDM/5GiXE=",
|
||||
"pom": "sha256-TXQMRHjdCNCJ7NxtBjIopVoRp+jkl9pDOPhy+BFXlKQ="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-core/2.18.3": {
|
||||
"jar": "sha256-BWvE0+XlPOghRQ+pez+eD43eElz22miENTux8JWC4dk=",
|
||||
"module": "sha256-mDbVp/Iba8VNfybeh8izBd3g5PGEsqyJUOmhsd9Hw0A=",
|
||||
@@ -153,6 +170,11 @@
|
||||
"module": "sha256-WT2jX9rflNEYYvfErCjcq52J1bzd2y2jOe7WFXxVbYk=",
|
||||
"pom": "sha256-zOajQFk4YjqBCJX/b94vBMnDuTegVihx4aY0lr4Pr6s="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-core/2.20.1": {
|
||||
"jar": "sha256-/6tNlX2qJ5bPJMtm0LeKcJDxvL4Xw6RXjwmv+q8TcIk=",
|
||||
"module": "sha256-GalAQ0Ic2ahuFUkSnDjBjgs1exQUWuT3Ns2gL4Bch8k=",
|
||||
"pom": "sha256-FuBJqySPgqpssEjwTVLvPuH1TIDaHSY68k++UM9ueX4="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-databind/2.18.3": {
|
||||
"jar": "sha256-UQvdp1p6YYbFvzO4USOUiKFFCQauV1cSHy4cxIp+EI8=",
|
||||
"module": "sha256-ZCqggPhbIAV3ifrPKsaibhR4NbUDPidSDstpe8RD/Lo=",
|
||||
@@ -163,6 +185,11 @@
|
||||
"module": "sha256-Z2HeLgXl0m7GK5R/p1AJEZDz/JnM8iaM3suTz/bfbSo=",
|
||||
"pom": "sha256-f0zGn9XZuwIW0ULD2Cv/2v64bUelU8KBRbjOcOfreHY="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-databind/2.20.1": {
|
||||
"jar": "sha256-NLvrRSb/9PhWWxIQa/haavy66FiWbUibVCFKxGsuJug=",
|
||||
"module": "sha256-S1M7Mu5wZfVaSnsNbuTYn9WDdxSr83YUyJkRT7EhWHo=",
|
||||
"pom": "sha256-vP3yeCUyMraDq1HeLcvI+Y8g9Hc4wRHs/SyFxBsTHOw="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformat-yaml/2.18.3": {
|
||||
"jar": "sha256-PKAOR8/LQ+eUON3PyPxzXp66w4JPt3aROGCb5r1W5IM=",
|
||||
"module": "sha256-v2AjrStgVyCsbaJ6K16Y7bGjJs0L9jfDpAtiH+jgk80=",
|
||||
@@ -173,12 +200,20 @@
|
||||
"module": "sha256-PMYsM/xsilphLhhqrDn6Lagh8wZqt9Dj0O5Jh8moGtw=",
|
||||
"pom": "sha256-/vTqd2/yMf2s7avll/9DGpXe9Rjk9140ZLwr5HCj23o="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformat-yaml/2.20.1": {
|
||||
"jar": "sha256-Aw8dkfffJ46G4bo+Ep+1IIcawWzlMBfHNfcIgjvpcNs=",
|
||||
"module": "sha256-At0WoElpdLY7sgrszAK2fpeuQ6Uc5H1JSbyAUiLHQxI=",
|
||||
"pom": "sha256-JrotoAFsKiNbPccCc5xm3O6xjKBURirhVE2srfnguSU="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.18.3": {
|
||||
"pom": "sha256-VnParMboVZdt7O3rRtxjOVprGsmkg+Zy8IMc9G/gbiU="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.19.0": {
|
||||
"pom": "sha256-wZ0UHUA3aIQ2Rq7KvAMdPPqalqeH2Cfqmj5KDCguUwI="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.20.1": {
|
||||
"pom": "sha256-bIZ3yvUcuerYfbYmiPNR3MxDrPkAqONHcuQQ0TOPaqs="
|
||||
},
|
||||
"com/fasterxml/jackson/datatype#jackson-datatype-jsr310/2.19.0": {
|
||||
"jar": "sha256-Dul78yk2NJ1qTPbYQoUzv0pLWz5+Vf2aTxlQjOBip3U=",
|
||||
"module": "sha256-cg5M2qz3VPSlMw9EWBBhKPSGf4D7jTB1tavgx6Auam4=",
|
||||
@@ -312,6 +347,11 @@
|
||||
"jar": "sha256-dVx5UBq9gG9aqDJX3Iiyylkj5pZfPL/ocxFsfJdoIQo=",
|
||||
"pom": "sha256-XPoeoCxNwZ0n3Vr8pRPynGerNE0aylU9jxbxW2mOT4U="
|
||||
},
|
||||
"com/knuddels#jtokkit/1.1.0": {
|
||||
"jar": "sha256-FQHOAlmriXxnRsz6+h0gis1AT7F+GsYuFXFy8meLEYM=",
|
||||
"module": "sha256-QxxAPs80ROw72ZNJIvNpOf1vCClXmpolySdBmSzVjC8=",
|
||||
"pom": "sha256-cfjoMOMzqx9I5NAy7FSiu4J6Zk+crtGlo8h815W+8eA="
|
||||
},
|
||||
"com/moandjiezana/toml#toml4j/0.7.2": {
|
||||
"jar": "sha256-9UdeY+fonl22IiNImux6Vr0wNUN3IHehfCy1TBnKOiA=",
|
||||
"pom": "sha256-W3YhZzfy2pODlTrMybpY9uc500Rnh5nm1NCCz24da9M="
|
||||
@@ -445,6 +485,34 @@
|
||||
"jar": "sha256-aBm3LpRQ2u5e9WMeq1pHT2BFJo2MZjugKAzQZHMtsgM=",
|
||||
"pom": "sha256-aNbsZVtGv6PXgOzwYrww3uyoxJTFrptUgJmqMfddj/8="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-core/1.10.0": {
|
||||
"jar": "sha256-mLYaUMXnrQqgAeZzNaQiC5Oxdjb0GJjpJKlITPY6D2A=",
|
||||
"pom": "sha256-RWtDs6sZ13bd8B5Lo4Ns3PQY+lqMY03D7RIYNfL61Us="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-google-ai-gemini/1.10.0": {
|
||||
"jar": "sha256-vnn3FTdhbL20H9mGx8FCGbxbSjUZinzPILPzCw+oQGM=",
|
||||
"pom": "sha256-fl3i8dKdWFoKqrcU/7ApPsovnfghcTnsIxeztR2W+Zc="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-http-client-jdk/1.10.0": {
|
||||
"jar": "sha256-UvACwI95ym0tgB5pk+2qi6y80E8j9aWl2kP3LhPzc7Q=",
|
||||
"pom": "sha256-O157qvYTpQygMo1F/uQECx87iQjmxDMdAQaFrqmWIXQ="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-http-client/1.10.0": {
|
||||
"jar": "sha256-2/8KUpgCqg4B7cpaw/Jge9xKpwMUfQkYYy5WiEys22M=",
|
||||
"pom": "sha256-6pKR89smKWwyMeIhcnrhJ1PSDZd6rPPgJ5DPZz7iugs="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-ollama/1.10.0": {
|
||||
"jar": "sha256-gdAO/aKXlr/wfOToNukxKs0rY5KM5pl08fW/J+PuB8A=",
|
||||
"pom": "sha256-DMFtKMuYoTb/lj/9cg5i8gtAaN7KaOQWM11w+U+W61s="
|
||||
},
|
||||
"dev/langchain4j#langchain4j-open-ai/1.10.0": {
|
||||
"jar": "sha256-Gc86eMzldPSmjXH3MOd8miVgxddLqWCCFJ7TtmbEpT4=",
|
||||
"pom": "sha256-dsuM2N519LnL0ILyPczhPN5lCnRoIJ06mdwOt7ihgg8="
|
||||
},
|
||||
"dev/langchain4j#langchain4j/1.10.0": {
|
||||
"jar": "sha256-FbLb3RdPhOw9IGUgEZhp1cy3RVcO5UB/k8iSYqSrbug=",
|
||||
"pom": "sha256-Lks6x5I/NCz4wXrmBuYheDDhrjB7Hy9/wBc/JIAmx5E="
|
||||
},
|
||||
"info/picocli#picocli/4.7.7": {
|
||||
"jar": "sha256-+G4w//0Q0rE7jKqNSyN6fuYfL/zPWxlB3nGLdl0jW/g=",
|
||||
"pom": "sha256-GxjTYxNN9mYx0rn3R1Bo1zQiW6OJzfkIKhvYvakNV9M="
|
||||
@@ -569,6 +637,9 @@
|
||||
"org/apache#apache/33": {
|
||||
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
|
||||
},
|
||||
"org/apache#apache/34": {
|
||||
"pom": "sha256-NnGunU0GKuO7mFcxx2CIuy9vfXJU4tME7p9pC5dlEyg="
|
||||
},
|
||||
"org/apache#apache/7": {
|
||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||
},
|
||||
@@ -891,6 +962,13 @@
|
||||
"jar": "sha256-RKYMYQ9OMVJLA9gaaYsezOuhFjIOpRC6v4WVdbLqcjM=",
|
||||
"pom": "sha256-NFZNRisHTeJlC4Vb5yPej1WT5ZDLkTK6402dsd/7W+c="
|
||||
},
|
||||
"org/apache/opennlp#opennlp-tools/2.5.4": {
|
||||
"jar": "sha256-Xv7bJtDpflNweo0vDi4o8F/PZU/OKjP4v+EcLUwqT+k=",
|
||||
"pom": "sha256-/UVXkW5ld1lWw36M3afZrSvKd4opyY1qXG4xth+D1WA="
|
||||
},
|
||||
"org/apache/opennlp#opennlp/2.5.4": {
|
||||
"pom": "sha256-Qz0Ic+wnz+Gxog6mQ3c6LymkCh/eobtdGCiy81NQwps="
|
||||
},
|
||||
"org/apache/pdfbox#fontbox/3.0.3": {
|
||||
"jar": "sha256-ZWkMPzmwShTRLBf0mYwVGGzod9Pi7CIscIV348wCgDA=",
|
||||
"pom": "sha256-sik+UDqncEMGEVD4hGg9f2FMz1Fjvi0PBSyinzx2d+I="
|
||||
@@ -1209,6 +1287,10 @@
|
||||
"module": "sha256-3nCsXZGlJlbYiQptI7ngTZm5mxoEAlMN7K1xvzGyc14=",
|
||||
"pom": "sha256-zvgP7IZFT2gGv7DfJGabXG8y4styhTnqhZ9H39ybvBc="
|
||||
},
|
||||
"org/junit#junit-bom/5.13.4": {
|
||||
"module": "sha256-6Vkoj94bGwUNm8CC/HhniRKNpdKFMJFGj8pQQQS99AA=",
|
||||
"pom": "sha256-16CKmbJQLwu2jNTh+YTwv2kySqogi9D3M2bAP8NUikI="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.3": {
|
||||
"module": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=",
|
||||
"pom": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc="
|
||||
@@ -1366,6 +1448,7 @@
|
||||
"pom": "sha256-Udh5pZmPWCJ0Dc9VIsDtaXGtXEpeowtw9bVGCT5rQmM="
|
||||
},
|
||||
"org/slf4j#slf4j-api/2.0.17": {
|
||||
"jar": "sha256-e3UdlSBhlU1av+1xgcH2RdM2CRtnmJFZHWMynGIuuDI=",
|
||||
"pom": "sha256-FQxAKH987NwhuTgMqsmOkoxPM8Aj22s0jfHFrJdwJr8="
|
||||
},
|
||||
"org/slf4j#slf4j-api/2.1.0-alpha1": {
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
gradle_9,
|
||||
which,
|
||||
copyDesktopItems,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "freeplane";
|
||||
version = "1.12.16";
|
||||
version = "1.13.2";
|
||||
|
||||
jdk = jdk17;
|
||||
gradle = gradle_9;
|
||||
@@ -21,13 +22,21 @@ let
|
||||
owner = "freeplane";
|
||||
repo = "freeplane";
|
||||
rev = "release-${version}";
|
||||
hash = "sha256-I7vp67UXoiBDxmIOlgCWk6sKOZSWHHI7A2Sdu6cl488=";
|
||||
hash = "sha256-NDji6psNXESAY5NWI/Ms63MTgbxZHiIxYAgOSkWHuK0=";
|
||||
};
|
||||
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname version src;
|
||||
|
||||
patches = [
|
||||
# Gradle 9.5 compatibility. Remove on next version bump.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/freeplane/freeplane/commit/34189b58bbdf0027185a212e2d6bd9e289782ef2.patch";
|
||||
hash = "sha256-gVCKXme+pB7PV0yBoDMPg6ltCaTGYh1lspEKgwVkDgc=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
jdk
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
buildPackages,
|
||||
pkgsHostHost,
|
||||
pkg-config,
|
||||
@@ -39,7 +40,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "freetype";
|
||||
version = "2.14.2";
|
||||
version = "2.14.3";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -47,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
in
|
||||
fetchurl {
|
||||
url = "mirror://savannah/freetype/freetype-${version}.tar.xz";
|
||||
sha256 = "sha256-S2Lcq0ySChqGA2mTMiGBQ2LmmeJvVXklFtZx5v9VteE=";
|
||||
sha256 = "sha256-NrxPHMQTM1No7mVsQq/KZcWjmH6HaMwozxG6d154Wl8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -69,6 +70,53 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
patches = [
|
||||
./enable-table-validation.patch
|
||||
|
||||
# https://project-zero.issues.chromium.org/issues/505355061
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1419
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1420
|
||||
(fetchpatch {
|
||||
name = "truetype-shz-limit-heap-buffer-overflow-part1.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/1803559c4ee407d0bcbf2a67dbe96690cee869d2.patch";
|
||||
hash = "sha256-zxtJ2pJz8pNofgYrJ6c8/eZqRvxTotanF2IdU9ckpM4=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "truetype-shz-limit-heap-buffer-overflow-part2.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/7d600a022e1d813e85a8c94ffd395f6135872267.patch";
|
||||
hash = "sha256-aHE11C9Cr23D2lqNmTVUDA5E07xxUm+AcYdWJG9zLFs=";
|
||||
})
|
||||
|
||||
# https://project-zero.issues.chromium.org/issues/505357209
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1421
|
||||
(fetchpatch {
|
||||
name = "truetype-iup-integer-overflow.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/7974be74d8b5a2fbf99aa88f0461d1f80af51cee.patch";
|
||||
hash = "sha256-b5Px0ALsnC5K1+601YioAjCLkLVXNnvTIZ1aQtCeNoQ=";
|
||||
})
|
||||
|
||||
# https://project-zero.issues.chromium.org/issues/506902245
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1423
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/428
|
||||
(fetchpatch {
|
||||
name = "truetype-variation-handling-signednes-mismatch.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/0d45c7f1911bc6db0bf072eea0c8cdccd77bc6b3.patch";
|
||||
hash = "sha256-bw/9O86sZQa+vwdgx2MTqxWi6vjMcRTyC42ba9CaZ3I=";
|
||||
})
|
||||
|
||||
# prerequisite for the below to apply, since this changes formatting of
|
||||
# affected code.
|
||||
(fetchpatch {
|
||||
name = "ftobjs-formatting.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/590b77014bd920d0bdf64c039fddbce89a288b83.patch";
|
||||
hash = "sha256-govOzLBzQMAjSKABVFryDnSn2by2f/W9BgGG3o+qSuE=";
|
||||
})
|
||||
|
||||
# https://project-zero.issues.chromium.org/issues/507321912
|
||||
# https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1425
|
||||
(fetchpatch {
|
||||
name = "sub-byte-bitmaps-heap-buffer-over-read.patch";
|
||||
url = "https://gitlab.freedesktop.org/freetype/freetype/-/commit/cbe12767ea73d1006edc75fcd61c0b0d2a88f34e.patch";
|
||||
hash = "sha256-jMeqY9uX7Ryfdd8icGDT4kEKl6aGRWafSN8GzOhGW7g=";
|
||||
})
|
||||
]
|
||||
++ lib.optional useEncumberedCode ./enable-subpixel-rendering.patch;
|
||||
|
||||
|
||||
@@ -67,13 +67,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ghostscript${lib.optionalString x11Support "-with-X"}";
|
||||
version = "10.07.0";
|
||||
version = "10.07.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${
|
||||
lib.replaceStrings [ "." ] [ "" ] finalAttrs.version
|
||||
}/ghostscript-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-3azk4XIflnpVA5uv9WSEAiXguqHU9UMiR8oczRRzt8E=";
|
||||
hash = "sha256-HNt2bejbjx5YnIF/CcWFXqX2XfyFQORlpprBTBhBYCU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -233,6 +233,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.ghostscript.com/";
|
||||
changelog = "https://ghostscript.readthedocs.io/en/gs${finalAttrs.version}/News.html";
|
||||
description = "PostScript interpreter (mainline version)";
|
||||
longDescription = ''
|
||||
Ghostscript is the name of a set of tools that provides (i) an
|
||||
|
||||
@@ -21,7 +21,7 @@ buildGoModule (finalAttrs: {
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-UH/T3eqFy0KrG/ouEzifJeWXXwe5cUPYG7DpIO0GsYc=";
|
||||
vendorHash = "sha256-iuSu5MvNRt+eCZ9wxUwMo6X0joos7q9WPyXBwhn/0yE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
@@ -42,15 +42,6 @@ buildGoModule (finalAttrs: {
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# required until libheif gets bumped
|
||||
substituteInPlace ./go.mod \
|
||||
--replace-fail 'github.com/strukturag/libheif v1.23.0' 'github.com/strukturag/libheif v1.21.2'
|
||||
|
||||
substituteInPlace ./go.sum \
|
||||
--replace-fail 'github.com/strukturag/libheif v1.23.0 h1:G9Fjf/b8dvTgLIk148tUKp7Z7rgu88FC+Mc8o92U98k=' 'github.com/strukturag/libheif v1.21.2 h1:YFD3crf+d33cFVQh3aTkkVGwJFyWpfqVT4XhzHWU6mA=' \
|
||||
--replace-fail 'github.com/strukturag/libheif v1.23.0/go.mod h1:E/PNRlmVtrtj9j2AvBZlrO4dsBDu6KfwDZn7X1Ce8Ks=' 'github.com/strukturag/libheif v1.21.2/go.mod h1:E/PNRlmVtrtj9j2AvBZlrO4dsBDu6KfwDZn7X1Ce8Ks='
|
||||
|
||||
|
||||
substituteInPlace ./web/build-wasm.sh \
|
||||
--replace-fail 'go.mau.fi/gomuks/version.Tag=$(git describe --exact-match --tags 2>/dev/null)' "go.mau.fi/gomuks/version.Tag=${finalAttrs.src.tag}" \
|
||||
--replace-fail 'go.mau.fi/gomuks/version.Commit=$(git rev-parse HEAD)' "go.mau.fi/gomuks/version.Commit=unknown"
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
}:
|
||||
buildGo125Module (finalAttrs: {
|
||||
pname = "gotosocial";
|
||||
version = "0.21.2";
|
||||
version = "0.21.3";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "superseriousbusiness";
|
||||
repo = "gotosocial";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Z3j5/pXnNTHgBmPEfFgjOJuL03LsPtvAwbuoL9wb5bk=";
|
||||
hash = "sha256-gemi9t4wTjmCHEXfdXz1X9Q4gcvj/3LMtlrO5UpQ19M=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -48,8 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-dOKBl5W2r/QxrqyYPWOpyJaO6roqLrp9+LpMe0Hnz9g=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isLinux [
|
||||
# TODO: apply everywhere on rebuild
|
||||
patches = [
|
||||
# This revert a upstream refactor in continuous rendering mode, but this
|
||||
# causes a big performance regression for big manpages like
|
||||
# `man 5 configuration.nix`.
|
||||
|
||||
@@ -95,11 +95,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-Ub2fYMfSOmZaVWxzZMIfsuTiglZrPn4JJFXo+RAzCJM=";
|
||||
};
|
||||
|
||||
patches = lib.optional stdenv.hostPlatform.is32bit (fetchpatch {
|
||||
name = "fix-32bit-VkImage-null.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/10d43de8f4f942cb591ada3103474bd7213425f1.patch";
|
||||
hash = "sha256-DJIL6M3XcsjBoMO77OxNi84d1DxAphAfot3N7Nq1QqQ=";
|
||||
});
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "fix-32bit-VkImage-null.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/10d43de8f4f942cb591ada3103474bd7213425f1.patch";
|
||||
hash = "sha256-DJIL6M3XcsjBoMO77OxNi84d1DxAphAfot3N7Nq1QqQ=";
|
||||
})
|
||||
];
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
|
||||
@@ -50,13 +50,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hmcl";
|
||||
version = "3.15.1";
|
||||
version = "3.15.2";
|
||||
|
||||
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-Uv6w3XEySoqsKCmZVmiDkGfmeretHfvpwFmYMJz0mv4=";
|
||||
hash = "sha256-rT+RruLMz/DTlYSOMv4D6ZCOVt36iqyx42v8ea4XSdM=";
|
||||
};
|
||||
|
||||
# - HMCL prompts users to download prebuilt Terracotta binary for
|
||||
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
terracottaBundleJava = fetchurl {
|
||||
name = "hmcl-terracotta-bundle-java-${finalAttrs.version}";
|
||||
url = "https://raw.githubusercontent.com/HMCL-dev/HMCL/v${finalAttrs.version}/${finalAttrs.terracottaBundleJavaPath}";
|
||||
hash = "sha256-05U4/TUYECPgrzZbLiSPUwo5XtIm2w+T8gCdtqpsRVs=";
|
||||
hash = "sha256-1o/CUDeywtDlhAxqInk77aUwGCCYeZ84VMIyouN49uU=";
|
||||
};
|
||||
macOSProviderJava = fetchurl {
|
||||
name = "hmcl-macos-provider-java-${finalAttrs.version}";
|
||||
|
||||
@@ -89,13 +89,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.2-23";
|
||||
version = "7.1.2-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-zYk75q+EyWq5g/AHFU6v8a7gye0aDAEe/ZZvjqR9ZTc=";
|
||||
hash = "sha256-oSH0dsQ3cuFNYJIIr6LHbv82FbFxxcmkjQ5csTNsYCA=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ispc";
|
||||
version = "1.30.0";
|
||||
version = "1.31.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ispc";
|
||||
repo = "ispc";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CzyK38c8fCG7QiVHE0rSzxmyTXNr4sg1WtChbi75Wmw=";
|
||||
hash = "sha256-n1zWokIuZEDJZN/KH3jxnIhgUo8iKDfZwiQnXZdxhL8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "istioctl";
|
||||
version = "1.30.1";
|
||||
version = "1.30.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "istio";
|
||||
repo = "istio";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jW0L/86D0YgAoUYAZfwHMGes5x0P5QLelP79XuG3riU=";
|
||||
hash = "sha256-Ejt6MjBmkWnYWHp9TiWYO6e1VV/+TN6cVZXYK3+B5Fc=";
|
||||
};
|
||||
vendorHash = "sha256-dOPrYZxOeP1ZahSaPS6U6tJDbTx/5BbwHFcNKS+2Lqc=";
|
||||
vendorHash = "sha256-cHW8FSYuZpl1GuWKsJLnAxCMOLvuaRwN1oL+xjwYspI=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
Generated
+23
-9
@@ -868,9 +868,9 @@
|
||||
"jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
|
||||
"pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.3.0": {
|
||||
"jar": "sha256-cU30voGVRf9N4fNqohg+DeqUtMjN98op6ciZGbrzY2I=",
|
||||
"pom": "sha256-89F2jvL7UxBIPb6R4w6fo2x7Pi/e5pRaCLujEBQtKcE="
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.3.20": {
|
||||
"jar": "sha256-40b6PD/0RR9fcHoxKIf9TIVV2kjMFfqdsrqTwz+J+BM=",
|
||||
"pom": "sha256-iwC9L+srtVON85aVQXTZ3cDsVA00ElhjA1ObHpZVwzM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.2.21": {
|
||||
"jar": "sha256-yweF5qeHDS9eqW9kcCDigS3snXAjAzMZu9sc5+XmVUg=",
|
||||
@@ -924,10 +924,10 @@
|
||||
"module": "sha256-v7xlfd06jjfkyK1BeWjV6wsLFxyfzkj5YsKtMu5DTCE=",
|
||||
"pom": "sha256-zzH5IxlsY67ezQpXwkJpvTcCpOR8C/C9ZLWtpd5SInI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.0": {
|
||||
"jar": "sha256-iHWHyRcTJQrVL+FK2RZtBCwzg1BJiQ6UN/NV/8WhlbE=",
|
||||
"module": "sha256-CRCoo7aWD8eSxFxWqR18Oj8mKG8DKVVUtRnP83h1baI=",
|
||||
"pom": "sha256-TVJW0+SETmVrDKQF9jUNbyF5XCQ3WzRSUmxUZ92ZtaI="
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.20": {
|
||||
"jar": "sha256-CuElBKUEDrrzdwOQhINCDRpWJN0dk/NXZl+Md8hIoB4=",
|
||||
"module": "sha256-9Os0T8TR46KK4WwIbsPkL1I3O0ZtQwgYL7OG45LA76M=",
|
||||
"pom": "sha256-yDwC2afi6VRzBJHDPC8dwDwnZi4ntWbsK0TS0Bhjm5g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.2.21": {
|
||||
"jar": "sha256-dAFOxPPveM59p+Pmlk8sUmoxIdXFj++MopeeXzRFgvQ=",
|
||||
@@ -1319,15 +1319,22 @@
|
||||
"com/google/code/gson#gson-parent/2.13.2": {
|
||||
"pom": "sha256-g6tSip1Q/XauuK1vcns+6ct2ZYYlV3TtFsqMTHbZ2s0="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.14.0": {
|
||||
"pom": "sha256-grD2aUxXWKuLsH4FYwII1Q9YnUteBP0KBG1Zzfe6PR0="
|
||||
},
|
||||
"com/google/code/gson#gson/2.13.2": {
|
||||
"jar": "sha256-3QzhtVo+0ggMtw+cZVhQzahsIGhiMQAJ3LXlyVJlpeA=",
|
||||
"pom": "sha256-OqBqp8D5rwkpYaQtCVeOQyS+FGNIoO5u1HhX98Jne3Y="
|
||||
},
|
||||
"com/google/code/gson#gson/2.14.0": {
|
||||
"jar": "sha256-LL0Rm/GWHCh4gxCWPcgLpl9Yze7B3ROci9sSQPqiw28=",
|
||||
"pom": "sha256-H6ASLA43MxkmQoYcNr5Mb3maeVMnojvdKSJpG26bpIA="
|
||||
},
|
||||
"com/google/code/gson/gson/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.google.code.gson",
|
||||
"lastUpdated": "20250910210152",
|
||||
"release": "2.13.2"
|
||||
"lastUpdated": "20260423191314",
|
||||
"release": "2.14.0"
|
||||
}
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotation/2.44.0": {
|
||||
@@ -1350,6 +1357,10 @@
|
||||
"jar": "sha256-vPc4pSXlRskmojPQoWnPfq/PcD/oGsnWmU9yRO2ikFI=",
|
||||
"pom": "sha256-fmGVkFEuhKKOAjWK3qvn3kureQr2FOhAtAQTlRbeFlc="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.48.0": {
|
||||
"jar": "sha256-tJxclYMW7WegnGmd2pqnScr0NNUdhj3qWZ7zakm5yFU=",
|
||||
"pom": "sha256-GJ4JrQSJwyXpDaqp1cj0BjMGAvo2Zgm8oHy82tA6udo="
|
||||
},
|
||||
"com/google/errorprone#error_prone_check_api/2.44.0": {
|
||||
"jar": "sha256-rFRNsezoAFm1NJU93Ipa/PZUfCCrnBtQC5kHGQOQDL8=",
|
||||
"pom": "sha256-Nl9VFHNSFSwr9syl+uNdspsxDqR4A/neWuRL/k1d+jo="
|
||||
@@ -1370,6 +1381,9 @@
|
||||
"com/google/errorprone#error_prone_parent/2.44.0": {
|
||||
"pom": "sha256-9v3+0f+Ubr0B9HgCSux5CBz16XbMDY6MmL+GMXOxY10="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.48.0": {
|
||||
"pom": "sha256-sz+opFyfF5SlAIwLLYOoTrKLXQEXptFW8AP58JvnQQ8="
|
||||
},
|
||||
"com/google/googlejavaformat#google-java-format-parent/1.27.0": {
|
||||
"pom": "sha256-rOuKJTTBnTBcBY8iq0ffOaDhm3QIWx5MWwfTukXYQlA="
|
||||
},
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests.keepalived = nixosTests.keepalived;
|
||||
passthru.tests = nixosTests.keepalived;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
Generated
+143
-139
@@ -1114,13 +1114,13 @@
|
||||
"nl/littlerobots/version-catalog-update#nl.littlerobots.version-catalog-update.gradle.plugin/1.0.1": {
|
||||
"pom": "sha256-BBNTyo5k8a+g5bFPXj+6PWRwIoFPPnomKwrgReqv2EA="
|
||||
},
|
||||
"org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.5.2": {
|
||||
"jar": "sha256-O/9KBwDhyBXRlEifB7ugbLGQ6PKbdz03z+43rI1cdkQ=",
|
||||
"module": "sha256-MVnFQXhFqWmTx4nULexDVwf7uEiXnP0R0LgzBZ5RIKM=",
|
||||
"pom": "sha256-ctVO1m6jP6+UKCNRwxAZ4S59fpIOpnpRbL4ODWdBA0M="
|
||||
"org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.5.7": {
|
||||
"jar": "sha256-zIyqQQGjXQzwQzpj6K04kRpMhIBz/MlPQ64CUfM+Ta8=",
|
||||
"module": "sha256-ENa9ZquwiOylvjYP9yVQyWFU0mdu/t10rzHEUAF8OQk=",
|
||||
"pom": "sha256-q+nzlg+nNZciqHUuYb/ElnYeFdFHNeTGQiB5cHYGq74="
|
||||
},
|
||||
"org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.5.2": {
|
||||
"pom": "sha256-5aavF7WFYNdGyrQseV/jpCoevkBQ5VpPANjPVM8x8eo="
|
||||
"org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.5.7": {
|
||||
"pom": "sha256-Ldg2zAlxLNrd/u/GgNLqZutD2NxjOGvVlSZYE0l/Ry0="
|
||||
},
|
||||
"org/gradle/toolchains#foojay-resolver/1.0.0": {
|
||||
"jar": "sha256-eLhqR9/fdpfJvRXaeJg/2A2nJH1uAvwQa98H4DiLYKg=",
|
||||
@@ -1137,106 +1137,106 @@
|
||||
"org/jetbrains/compose#org.jetbrains.compose.gradle.plugin/1.11.0-alpha02": {
|
||||
"pom": "sha256-MU2vfNXg5KBkAF+cfuVA2xRoE9ywWMiBM4tHjynNKLw="
|
||||
},
|
||||
"org/jetbrains/kotlin#abi-tools-api/2.3.0": {
|
||||
"jar": "sha256-QBe8wfXTKFsX5rYiDRakaMhxWTDw35Y5bXZLV/Cm02U=",
|
||||
"pom": "sha256-qJIhRAlxhudUjXFH3I3O1eYOMGnUY1ulUe8uV3WrmAk="
|
||||
"org/jetbrains/kotlin#abi-tools-api/2.3.20": {
|
||||
"jar": "sha256-U2hfV4OwSQaDiY11Wrrk1Bi26DugYTSFiv3ctZRYmek=",
|
||||
"pom": "sha256-qIbJ/X8rlmlFf+wCHxnc8V8EY+DbS9rVOuGBJTZsxvk="
|
||||
},
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.3.0": {
|
||||
"module": "sha256-d8IDSG/XkrWAVyBp5cRC0YDA7wVbpzRQXaKNGX7BL/c=",
|
||||
"pom": "sha256-k8/rFUWRw3AengQ1C9AF0ZVqmuZHFH1vsqfFeD4fkJo="
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.3.20": {
|
||||
"module": "sha256-bNjWSw5lN3kE8wb2qFja/ZMcQTUkD4RMk9UpTumP6Dk=",
|
||||
"pom": "sha256-SgpFTor25QOv5ngwoYVjubaA3u67GhcGoNe0S8UHQKE="
|
||||
},
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.3.0/gradle813": {
|
||||
"jar": "sha256-D+cv3G5RvisnSw5kuEQB9SUDavsgYWKkRYIU8R6614c="
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.3.20/gradle813": {
|
||||
"jar": "sha256-pPEKPw6l3dH1VaT3BuCep/VSs8hSK7EAY2HdMG4152o="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.3.0": {
|
||||
"module": "sha256-ljRPGdjxnqpbxEHjP2UB9+c9o8el1X1EvHwW6qRXVls=",
|
||||
"pom": "sha256-GqwiGC0snJVP/8FrV2Xq0jjiAw9HhIctRrxfOcozll0="
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.3.20": {
|
||||
"module": "sha256-GCp0ZM5mvM/ejjG+aPoO7DE8HZDD2POWeclyJyliFjg=",
|
||||
"pom": "sha256-f3R8uTA9Hfqh1hJfZsFUG+o4PsuZh2ta28riSAVZZ48="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.3.0/gradle813": {
|
||||
"jar": "sha256-PKIayHkWchdbgnPemV8CTzWZLfAwCijCdUnPd3DMnOY="
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.3.20/gradle813": {
|
||||
"jar": "sha256-tYin5gfij7WAIo4SDdX/+L6nO9J3JnM6F35kRYLooB0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-statistics/2.3.0": {
|
||||
"jar": "sha256-Z3hVlwDnLXZOniTZWPFuwMx152t1s4FMK83hRKYnT04=",
|
||||
"pom": "sha256-QTkKXrIxFJOxpFubOXLDoL8dqEfoRaNKtoQKr0EmTeI="
|
||||
"org/jetbrains/kotlin#kotlin-build-statistics/2.3.20": {
|
||||
"jar": "sha256-ptJ7PINhdlLdBlYG+Yz1nPviY/jCDr5OvVpvJonrDU8=",
|
||||
"pom": "sha256-nQqNf/FyPV1y00ldVVc9jTxrd3TWHYBXlxT3nCQmX48="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.3.0": {
|
||||
"jar": "sha256-xsCc8oU0VySfcHyGOCESQJ1aVfULa4Vouk9TDdAD/tw=",
|
||||
"pom": "sha256-FzTIvg4nFXJ3AkW01gbOW7iBbosNHA9+euEcEMLKF1s="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.3.20": {
|
||||
"jar": "sha256-IvGrIjhUuUkJn2slnO9UHVtYo2Q9+aScRXfGPEFuhDs=",
|
||||
"pom": "sha256-G14LLDaQXcL1XgpLeBKuY+MSXe/PaG0sD0kPg7c9nV4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.3.0": {
|
||||
"jar": "sha256-hwl38pYFQ2xesiV7nI5dZPMoLyqI7e5FRNNOxF8Wpqc=",
|
||||
"pom": "sha256-ov8zZnin9TpEOSv8bFK2gS7dxz5AghyQfyomQWeeDrs="
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.3.20": {
|
||||
"jar": "sha256-wGnzCkA75wyBUviqnyXsy6GI7q1UJjrgKvFEIUN6Igg=",
|
||||
"pom": "sha256-jYTqDt1gs4vOpWLeUXgVKiZxqaAFPWcPkxRSs9sBMig="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.3.0": {
|
||||
"jar": "sha256-sr5naIyvEaE41a4M4SNTga2asN25OVqwb42EagtGYBc=",
|
||||
"pom": "sha256-teLnTuXC+I/Qi/g+7GRx9rvKeqEhWYgCtsMsVuhwYCY="
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.3.20": {
|
||||
"jar": "sha256-xxp8G+j7/wTgr0XJ7oy3ph2JU7ymuL8iWlcZxyWpC0Q=",
|
||||
"pom": "sha256-nnyLgHJBF/cqrOZfa+SNg224/Dl1OtlR8ruQhi1+cIA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.3.0": {
|
||||
"jar": "sha256-/HKYw2tF820WUscDuraT9f6bEVmOzZrH7J/f6IptsPA=",
|
||||
"pom": "sha256-aQhDRFhvUkNNH7tRZmlgr/uHbGQ+gIYkXrgLpeREm7U="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.3.20": {
|
||||
"jar": "sha256-4WYu10cyK2P2HU+t2Zq3gQTEXq8JwRp4mGJBXoHBjcQ=",
|
||||
"pom": "sha256-aP+Cf8E1DZPw1nM2jAZHm2K31eXDBlipWM+TBmgx6Nk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.3.0": {
|
||||
"module": "sha256-BQ8eECIJAOR6MIkd1c/qg3pl27sNmjyxuFKRq6MmykE=",
|
||||
"pom": "sha256-GeTwq/tcvwEdJZP1ZRV8jr9FkvMAhhS6LtsEinhRF10="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.3.20": {
|
||||
"module": "sha256-04UBEP9ajrcP7S1Xi0X7B+vESvaika5M88eUMMZRKLo=",
|
||||
"pom": "sha256-AdVSITSRyFPVb4frdIEwON+e4dhekIaqN70GY7JJb4g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.3.0/gradle813": {
|
||||
"jar": "sha256-yh6tFJqMj0G6YKg5qDsjw6BiJ8RsYhJMUb6ZkDXerDE="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.3.20/gradle813": {
|
||||
"jar": "sha256-ybwX32m/OZB8WXweGb7EtHnHWqx1+/1jIeNEW0lxLog="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.3.0": {
|
||||
"jar": "sha256-epBQPJ14f5vNLBd25MxSfrneeRLvecbJWPEwWi0cQ7o=",
|
||||
"pom": "sha256-2bCOHuM4pjRhSanQIY+FHuPUfYu3fWEDJg8qhyauUl4="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.3.20": {
|
||||
"jar": "sha256-5Cicv5/0lAfwQd3GM24bV3pspM8r4dKjEzgnHBPu0+0=",
|
||||
"pom": "sha256-9veHObqf4nEunwyeW8T16TcZzP6pW0fC9JslC+F2NX4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.3.0": {
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.3.20": {
|
||||
"jar": "sha256-lS5zlI4qINOYwmuHprtwzPZkGPuvFSfDUVsYjqnUvWA=",
|
||||
"module": "sha256-kRUvrqO8DJTbZtPLWKrh2+rXyGC1dk5nsgC01N9M6rk=",
|
||||
"pom": "sha256-BLSVrgZj7a3aSEBkZKzTlDGjysez6OjAlLdplu1BSaA="
|
||||
"module": "sha256-b7XZcwCl5Vmv1Nn/msA1bE2Wb31pS2Yvrhaf2HQhUx4=",
|
||||
"pom": "sha256-WROHIVGNgqND99wvCRK3BJjT7vM2PJ66wiCssPyTjsw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.3.0": {
|
||||
"module": "sha256-vbMts6ongF80eewDPsY9PMq+sTuInYbavadCu+9TwJo=",
|
||||
"pom": "sha256-h4cnvyGoOtrYnU5giEhN2/OfaoSpQoAiGm4cL4hBMD4="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.3.20": {
|
||||
"module": "sha256-lVUmc7gbNXitmy86/xRUtjzoBsb9SrfGBJIx6GQKtHE=",
|
||||
"pom": "sha256-EcMjwt2KgE6fWOBHwsAYZLKgHcDYEys2PApDEiFbwJs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.3.0/gradle813": {
|
||||
"jar": "sha256-Os+X1zolgbAyhz+on1Z1DTazt21A1pLZg58kZ92uTWk="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.3.20/gradle813": {
|
||||
"jar": "sha256-RuFu4mWU9ID+y5LJbarjdTDoNQJreON+8yUelX8D9vs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.3.0": {
|
||||
"module": "sha256-/9anNzSypS+3Yz8WOVRL43HgYpxR2X+h5fteqTQ6Fwk=",
|
||||
"pom": "sha256-cYYJKmnzaIQyxcCsuQtKZx/Y7oANhP5YT66P1TO6v4o="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.3.20": {
|
||||
"module": "sha256-+CvXZF0MPv609PZVIKPGWz6MMCsIMyIDegABuHsC6ZA=",
|
||||
"pom": "sha256-3WuRkZfhMv5x3axw9vxdj65/Und6/YN7FN6HG4wKVAA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.3.0": {
|
||||
"jar": "sha256-m6V9kaveq5rNWIoUtfQiCbmWRMU0Ft/56X7LS/l/Ukg=",
|
||||
"pom": "sha256-zTHw7NqCplEi/8alXehxE5S2GEtRRAK34RkZGqgJGoI="
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.3.20": {
|
||||
"jar": "sha256-vpN3SFQS0A8B54KZyzC+SAJZHCcwNCtuva/AiU91J0M=",
|
||||
"pom": "sha256-IbFbpb1i0h1Ta7egyMtnQ1cfwPQwklSKQjWybyodIgs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/2.3.0": {
|
||||
"jar": "sha256-7kvygz0Q5fN90haoMSn1nzx8vvXrrBMPcGZIOXCMgLc=",
|
||||
"pom": "sha256-Rp6PYB/b34kP+ozXSOEQcCqkUxu7KbZOXnUD8O/lDZA="
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/2.3.20": {
|
||||
"jar": "sha256-QxnCdkeV773/K3julUVRV9evC5FVaYuqG6Uqar46vy0=",
|
||||
"pom": "sha256-LAp+ADViCIXUN+fxJidEdbpYqiJC+1279D+R8gyvpwg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.3.0": {
|
||||
"module": "sha256-DCD2gdNvSnmRYiFYCYkpF5TmVlgvlJwGed+kNKAm9so=",
|
||||
"pom": "sha256-DILmEXpGNhvUzF5iZV8rgC8Q9LfZJWpjaD0DSv0MDUM="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.3.20": {
|
||||
"module": "sha256-nhEhx/ZQMDvdx/BH/tMCf4FjuzZ1Gy3w+vNjfumFsh8=",
|
||||
"pom": "sha256-Y/Gk4+TT3jrPghTwWgtW/5IM4L9ZYVSnkE8gVuP41RE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.3.0/gradle813": {
|
||||
"jar": "sha256-r8iTlKUrUu8Lp6gpakJi0NOoo850CRXYfXE7CgFhMpg="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.3.20/gradle813": {
|
||||
"jar": "sha256-oHxdPMvaP8dWTkB0RybhNz5UvSXwVGPT9D1DnXeOy90="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.0": {
|
||||
"jar": "sha256-iHWHyRcTJQrVL+FK2RZtBCwzg1BJiQ6UN/NV/8WhlbE=",
|
||||
"module": "sha256-CRCoo7aWD8eSxFxWqR18Oj8mKG8DKVVUtRnP83h1baI=",
|
||||
"pom": "sha256-TVJW0+SETmVrDKQF9jUNbyF5XCQ3WzRSUmxUZ92ZtaI="
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.20": {
|
||||
"jar": "sha256-CuElBKUEDrrzdwOQhINCDRpWJN0dk/NXZl+Md8hIoB4=",
|
||||
"module": "sha256-9Os0T8TR46KK4WwIbsPkL1I3O0ZtQwgYL7OG45LA76M=",
|
||||
"pom": "sha256-yDwC2afi6VRzBJHDPC8dwDwnZi4ntWbsK0TS0Bhjm5g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.3.0": {
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.3.20": {
|
||||
"jar": "sha256-NnFCeBKZvA+RIMHe7A5ik0oa+ep/AaqpxaU1TcXY19k=",
|
||||
"pom": "sha256-tQ6FtLEYwSIjge0c67K6lqfeLdrtti3aZ9SuBqGiXTc="
|
||||
"pom": "sha256-R+Ou/SS1vmLYB7bLzXnFW4P5S1XP4Y79xuM84RvxkOQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.3.0": {
|
||||
"jar": "sha256-HJEgPyfnO5aI3f4aiAIyjTXrcPpV9eE96ttyHnj5KqQ=",
|
||||
"pom": "sha256-hvmuNH2YfMwY2aEJ7tLlVDvjj/SMgdUtKMf6HyBarK8="
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.3.20": {
|
||||
"jar": "sha256-DnbnRx6RxT6mjS0k7x8p+1kqxfuw0dEPqpFkMO/z2so=",
|
||||
"pom": "sha256-lcKKgo/B8eWeZWOCR6ZPdm2B2LWfbY3r7y0YoMwyH4k="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib-metadata/2.3.0": {
|
||||
"jar": "sha256-JZjCbDTMXGnrAEc0Y+lQrmfpuAln9DoBg8Vn7eZqlxc=",
|
||||
"pom": "sha256-4EB9YmkdWjQWFh/YNztNt0o714bxtILghGGXUQL58+s="
|
||||
"org/jetbrains/kotlin#kotlin-util-klib-metadata/2.3.20": {
|
||||
"jar": "sha256-qJlOC8poRt+xn0WMTMFdexN3nKGw2fNIgLX/LCorc7M=",
|
||||
"pom": "sha256-jxApEHGu+rvY5m/5r3dDojiB1pxqryjhNhbMDpW9F7c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/2.3.0": {
|
||||
"jar": "sha256-ZLugCZZqAoGG2e5waw3ID+phwK5usXJe0dfXDvIrUuE=",
|
||||
"pom": "sha256-lzWjPLZJg7qg0S3AyOGTSw5VLmvMh2chrFWKmCKFC/4="
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/2.3.20": {
|
||||
"jar": "sha256-lWK407egS+uisUwFZx5xOFnqVLvAohB+ZbK88nP6hEg=",
|
||||
"pom": "sha256-WlhMPMK6O0HR5c1+eiCDV2wbjDl6ebuBY2dtjvew6hc="
|
||||
},
|
||||
"org/jetbrains/kotlin/android#org.jetbrains.kotlin.android.gradle.plugin/2.3.10-RC": {
|
||||
"pom": "sha256-p0/yoS/KLjABAqN1+7/O9sT75OaoBfyxZCxyZiIt5gw="
|
||||
@@ -3117,9 +3117,9 @@
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.3.10-RC/gradle813": {
|
||||
"jar": "sha256-lW/RrbQXK6I9hwM12BUayFL2/DmqyAMfRptDoBNoLBg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.3.0": {
|
||||
"jar": "sha256-1D+qszfzaY6NrOZSXSzXwq66ewNZOEhYZBZP5wLnM70=",
|
||||
"pom": "sha256-UttpIUdRA18/LYUvJDCC5x566wenFs2eCHskuYJ6Uio="
|
||||
"org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.3.20": {
|
||||
"jar": "sha256-EjVTkgnMVtLi7G+XeYaHiHK3Cgh4H2Sv/0Ubwfe9VrE=",
|
||||
"pom": "sha256-m9zHQ84iL4oxnuYJe2Cq7unmvqe1vzKXYVp1tLpsFDM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-bom/2.0.21": {
|
||||
"pom": "sha256-1Ufg3iVCLZY+IsepRPO13pQ8akmClbUtv/49KJXNm+g="
|
||||
@@ -3128,66 +3128,70 @@
|
||||
"jar": "sha256-QcD+zb7B4vUdXG96lyzMaSIVNhpXSU5rI+4xOeKyIpQ=",
|
||||
"pom": "sha256-jbIqNqSFRiw9BdaOnnPwHqeDlovPlTeZWN8/zGeaSlQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.3.0": {
|
||||
"jar": "sha256-xsCc8oU0VySfcHyGOCESQJ1aVfULa4Vouk9TDdAD/tw=",
|
||||
"pom": "sha256-FzTIvg4nFXJ3AkW01gbOW7iBbosNHA9+euEcEMLKF1s="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.3.10-RC": {
|
||||
"jar": "sha256-PaKI6nHlhcPNzNdz0cDdZ/+sGrxx77cWNp5+tma1pwM=",
|
||||
"pom": "sha256-ZOHGPrbAdBbxcC3/ltSXayhERBNbsEN9rM47bWrmAFY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-compat/2.3.0": {
|
||||
"jar": "sha256-AJST4crwTIKF8f7RV7uraINV2wTS3q7E9aD5tjX4ZuU=",
|
||||
"pom": "sha256-ayMWTiKBY/1j+Bf7LF3ifW6cNAO3Y8y6BoBYTyF/jjI="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.3.20": {
|
||||
"jar": "sha256-IvGrIjhUuUkJn2slnO9UHVtYo2Q9+aScRXfGPEFuhDs=",
|
||||
"pom": "sha256-G14LLDaQXcL1XgpLeBKuY+MSXe/PaG0sD0kPg7c9nV4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-compat/2.3.10-RC": {
|
||||
"jar": "sha256-Cy5M/Ny64fh/Or9QicVqgwpMF5cLKOgktamabo2JFFQ=",
|
||||
"pom": "sha256-wK1VOiQf6+HyYJcUPjMiRmO2REG6/XY/6Vm2Ae5mbwI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.3.0": {
|
||||
"jar": "sha256-k6Xo/7EACAHIMqhisjvZdm9ETm9sGFwysftXh3+1zqM=",
|
||||
"pom": "sha256-AKelPNgr5ws234oCI6Wrhhoqb/txnZt3M3XId8idugQ="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-compat/2.3.20": {
|
||||
"jar": "sha256-RMMHtO3UysUflgqBNBEtZkyTB2cAzaXoZulNmkKWNA4=",
|
||||
"pom": "sha256-rpC+JesEdhCNlo6+Mqjd9SXhQIhYj6BUc9sSgVoPG3Q="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-cri-impl/2.3.20": {
|
||||
"jar": "sha256-VOztYw8oEkzP4uRk5srMKB5SiopQqJclchVUyWk1SP4=",
|
||||
"pom": "sha256-5zeMZYHvXw4stA46TOxR0rlj5iVkWpK2fqCVJa+XxMM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.3.10-RC": {
|
||||
"jar": "sha256-9n02tA24gnd7Bseg/hO/aGAnu6wlxfblGNJzZWwhZrY=",
|
||||
"pom": "sha256-CMsXeW8qAa5vfqppz/F7bVzsr/tHxKBSpQWdiCJDC8w="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.3.0": {
|
||||
"jar": "sha256-jb2IL6WMPRfmg6JzkCiDFfi0kPjj47G+TcPigNN+KFo=",
|
||||
"pom": "sha256-zOmxEfIRZgxcRTk+dI30aVC2HAEUfgdzttxxnui7d6g="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.3.20": {
|
||||
"jar": "sha256-loG8IWSovZ9t30wIXPSoNrktJ1BmZ9c7q59thVM2yRA=",
|
||||
"pom": "sha256-gswavl5j0/5nV+eXKE8F25r9fq3D6D0ROcOlW2TUstU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-r6+klWvxvWJX9wLPm5oonqviny9TDCM7pPgZptfno6I=",
|
||||
"pom": "sha256-UyU8WscTHsSThFu1RsTY+79bu5WEF8KUBlFnLcmmKWA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.3.0": {
|
||||
"jar": "sha256-hwl38pYFQ2xesiV7nI5dZPMoLyqI7e5FRNNOxF8Wpqc=",
|
||||
"pom": "sha256-ov8zZnin9TpEOSv8bFK2gS7dxz5AghyQfyomQWeeDrs="
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.3.20": {
|
||||
"jar": "sha256-l2+YnQtfXYDo6KitS3PaC/wn/dllufo4Nisr557MEzc=",
|
||||
"pom": "sha256-DDWu7jcvB1FOvtN7lAe44RgdFCd1UTnlzudxnKBf5+g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.3.10-RC": {
|
||||
"jar": "sha256-QqRjDDh2gXZkUOxQfriAelausTOw4G7RcDwEXorDfrM=",
|
||||
"pom": "sha256-hynzbhVt8+C2rvQTCNJ2xDz01apFAWUW1taKrpJTeik="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.3.20": {
|
||||
"jar": "sha256-wGnzCkA75wyBUviqnyXsy6GI7q1UJjrgKvFEIUN6Igg=",
|
||||
"pom": "sha256-jYTqDt1gs4vOpWLeUXgVKiZxqaAFPWcPkxRSs9sBMig="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compose-compiler-plugin-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-zy8oVmxarKIn07MOOzTP9mjQh4IEYcA6nuhTJLrDDA8=",
|
||||
"pom": "sha256-REd2WqNlz5rxWBJ5kRx81qNxcwKp0fgVpeKVXZqQgS4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.3.0": {
|
||||
"jar": "sha256-sr5naIyvEaE41a4M4SNTga2asN25OVqwb42EagtGYBc=",
|
||||
"pom": "sha256-teLnTuXC+I/Qi/g+7GRx9rvKeqEhWYgCtsMsVuhwYCY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.3.10-RC": {
|
||||
"jar": "sha256-C+suo6o9uyYgihTqpJs022QDETlZE6fOb5GDQQnGZsQ=",
|
||||
"pom": "sha256-qG6d+5GGaQ5j/Z5ROCL2pkRT/QDvLPgG0P6+PgSUzYA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.3.0": {
|
||||
"jar": "sha256-ObywLYwpOqZ4VUyLSdf/hGVwIXCSg8YYbjpAgGr5vRA=",
|
||||
"pom": "sha256-TI3aucQLMNAbhc/qHxd31zUlybcWQ+YlDGV2/H0fwRI="
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.3.20": {
|
||||
"jar": "sha256-xxp8G+j7/wTgr0XJ7oy3ph2JU7ymuL8iWlcZxyWpC0Q=",
|
||||
"pom": "sha256-nnyLgHJBF/cqrOZfa+SNg224/Dl1OtlR8ruQhi1+cIA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-QyoFSvwpRD1uVybcO3JKdrhDxR2yKEVbyogs3ANJhlk=",
|
||||
"pom": "sha256-ek+lwRozmQ8U1JE43U3kAj/v4vLgCNqDRMPCuUfAPrY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.3.20": {
|
||||
"jar": "sha256-iHC6uEC4CHyWxN3AYIi0rt9RMcQIrzZ0MGME8flq8/Q=",
|
||||
"pom": "sha256-YVQOWzoywLEZYkSWZZJMbNdVTqmu4IVb2OT1t/YQoKs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.3.10-RC": {
|
||||
"jar": "sha256-LxUWxkToc3Rzi0QCsSPaeaA+KsQDXdAWXYtwFp6p6lA=",
|
||||
"pom": "sha256-EgyPnAxIjfUm9JHJ9L1laYx1+uDKnVABKNAp0smxvmA="
|
||||
@@ -3238,54 +3242,54 @@
|
||||
"jar": "sha256-vNdaNspK2OBhFyFO2Af43qL+YaceB/kcoU9DNQJLhGM=",
|
||||
"pom": "sha256-7XngK/COxxXsvNHi16RTYteqfDP5LvZ15t+kpJMbzF8="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.3.0": {
|
||||
"jar": "sha256-cU30voGVRf9N4fNqohg+DeqUtMjN98op6ciZGbrzY2I=",
|
||||
"pom": "sha256-89F2jvL7UxBIPb6R4w6fo2x7Pi/e5pRaCLujEBQtKcE="
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.3.20": {
|
||||
"jar": "sha256-40b6PD/0RR9fcHoxKIf9TIVV2kjMFfqdsrqTwz+J+BM=",
|
||||
"pom": "sha256-iwC9L+srtVON85aVQXTZ3cDsVA00ElhjA1ObHpZVwzM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.3.0": {
|
||||
"jar": "sha256-QOPhi7jFUjLuZSXOV9F7hl5WcosFK/DBDnvsHQhJmMo=",
|
||||
"pom": "sha256-BnzIEOCaYeFufoe1Kk3WR+FfYLd+PaDRsVPz+A7r8wM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.3.0": {
|
||||
"jar": "sha256-24JpYTcdZgUxjZxOS/zb+slMOgiSzcq9VSJIcP6tV/E=",
|
||||
"pom": "sha256-20CN5tumaQeVvFOkoPhbM8en1qzLZ94ZAmQPr1QfL1s="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.3.20": {
|
||||
"jar": "sha256-hvch6zOswK/QbdZoDnenZLY0qb2LEbc77yv8CQnxiUA=",
|
||||
"pom": "sha256-Vg23nSOjmud5dqVmkZRw3sQazHeqUa6qVlzAKbkXGqw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.3.10-RC": {
|
||||
"jar": "sha256-vabutEYi4rlflkxb3MkPoWPNCgybtVabpd86MRwm8iA=",
|
||||
"pom": "sha256-JH2OT7fPc1Wnr/gMRAHp2wXubkb6xoZKp5ebl7ehR70="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.3.0": {
|
||||
"jar": "sha256-QlK3gs2lP8v9lTuQrwMlDiGX/+9uVavZsKLkj5Pv8lM=",
|
||||
"pom": "sha256-9AuKrV3x68riUJLMM7hpP6Qw5TRCC6Wup/AGsvMrQw4="
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.3.20": {
|
||||
"jar": "sha256-b8232m5lz4zEPlqrq5S9zEiCXnkzaG+KG/aU64j44A4=",
|
||||
"pom": "sha256-ZgmWdnA6CB/ZrEMTlmWIPlwUUCC2QHWd4FOdiRb/JH8="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.3.10-RC": {
|
||||
"jar": "sha256-gbM3To+5LF1t82X13tIAW2Vb4rg3oNKjylND0/9tMCc=",
|
||||
"pom": "sha256-FA4i/htI2X7VHlRWnAUw9fNxhCQhGyEXMOwOrxbnLcQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.3.0": {
|
||||
"jar": "sha256-ZxRdvqkxlNuyJT4vNaCp/ngBfCy84+zbSx/0P/9HGNU=",
|
||||
"pom": "sha256-FjR61xI8BuiaUu+twxjZaick9UqBx+xZTA1ALh8eZFk="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.3.20": {
|
||||
"jar": "sha256-tMI52HsjvhgvBb9Xz16B+V1wv370qYnrmLczicbryJ8=",
|
||||
"pom": "sha256-h+/vFa4RjxNDUmPrEJcAZGD7qDlph340uKcvDjPIOsk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-WkVxf5DBowquk3ukcouU9cVjxp03s08671HP9OybPRg=",
|
||||
"pom": "sha256-z75mf7STjoyR9BDJWbjM+Xksc0bD8CjVmOotzRxYGX0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.3.0": {
|
||||
"jar": "sha256-MsdCfxBeYtT07/MDXaHkKAsndxvkrWFDuoZV0Yh3IM0=",
|
||||
"pom": "sha256-TPG5v5rmnHbz6nWnhW3GbeRGeKfHQXFa6cFdtA7Nfv0="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.3.20": {
|
||||
"jar": "sha256-vVX49hvUHOxSllbC1HeEvLpawmDpT0FWwnLDFJZu71k=",
|
||||
"pom": "sha256-1l8YaBd9zkuKkv+93bVrFzH5+66IyOcw7XvLcAy7soo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-ua86tjyjMwHLUfkBJZk5Xtjy64jjyWNQHOLriCv/12I=",
|
||||
"pom": "sha256-gWW9J1eaLKO3r8ww5Swo6QfJECUg6yL+7QzS9rgtSuA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.3.0": {
|
||||
"jar": "sha256-NpM+uDYZqKZeBB36m2ktNOB9V8b9Yv43HIu/BYgL7Ec=",
|
||||
"pom": "sha256-qemsNTtIBUA7A3spmZpUnxvESATniVnYT/sbwzBF8kc="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.3.20": {
|
||||
"jar": "sha256-gG/WOzvOxea17rGghD1qsJTVV4aoRl5HSiQ5KVocCiU=",
|
||||
"pom": "sha256-xKkTo4XzTjKlbyBd8XoI3U4RfDBsV+XkfcXUlSPw6+E="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.3.10-RC": {
|
||||
"jar": "sha256-7N5Qd0P8WB5wabFLHhohHK7MQ9fns7uZTrqEWqzAiag=",
|
||||
"pom": "sha256-d5APHmelXOOo3SxxIPARd0N5hHIHfyywQQlN18hovqg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.3.20": {
|
||||
"jar": "sha256-cEfOA1P0kSXDx0Z5LU92wyZde3L+YmlLfuwHW7oCUow=",
|
||||
"pom": "sha256-B8Ba4tHs4K4e1mAQ7TGNnN3LNYcEbGM8GGvRTM8EYdU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-serialization-compiler-plugin-embeddable/2.3.10-RC": {
|
||||
"jar": "sha256-v3uAa0GY+/4UnjfD10j0JVA+3CxOir/JsqvFEDWOQxM=",
|
||||
"pom": "sha256-Ak0HyrVBLZHpPMmeZ5dbjC6fuWG3BpllagCE/MwBlF8="
|
||||
@@ -3301,14 +3305,14 @@
|
||||
"module": "sha256-b134r2M2AKa5z7D8x2SvPVEZ83Zndne5G2rugWsdMKs=",
|
||||
"pom": "sha256-X0As+413MZW5ZwUBJMnom1+EsXJGThiUkpeJv1xMLyk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/2.3.0": {
|
||||
"module": "sha256-/pAljbcTNVWBoBZDfQbAKdBpwgu93uE02R5LiHBz108=",
|
||||
"pom": "sha256-J+2DQuBLgcqy0aP512D06/lQmG9n7Eme1y1cw4d+6NA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/2.3.10-RC": {
|
||||
"module": "sha256-T7RK7JIrF+ytx62EMPj7cc0Cs0ZPLzNoPUEnau3/vPw=",
|
||||
"pom": "sha256-aNb+8ejJzL7tNa7xZvY3SFDf690TNXpwDjKANiWDF7E="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/2.3.20": {
|
||||
"module": "sha256-fV4z3nFM3ddQeGQgmMvL7pfBg5jQNLd9MrSwdLlQOTk=",
|
||||
"pom": "sha256-/Xtj7fb31urrwWoYVgu7koszQlYepcnR92kZiw/puYg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.3.72": {
|
||||
"pom": "sha256-nVoT2avDNEXhNm0livCnfkLwGUWs73wJF7nVOYVOL84="
|
||||
},
|
||||
@@ -3358,11 +3362,6 @@
|
||||
"module": "sha256-v7xlfd06jjfkyK1BeWjV6wsLFxyfzkj5YsKtMu5DTCE=",
|
||||
"pom": "sha256-zzH5IxlsY67ezQpXwkJpvTcCpOR8C/C9ZLWtpd5SInI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.0": {
|
||||
"jar": "sha256-iHWHyRcTJQrVL+FK2RZtBCwzg1BJiQ6UN/NV/8WhlbE=",
|
||||
"module": "sha256-CRCoo7aWD8eSxFxWqR18Oj8mKG8DKVVUtRnP83h1baI=",
|
||||
"pom": "sha256-TVJW0+SETmVrDKQF9jUNbyF5XCQ3WzRSUmxUZ92ZtaI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.0-RC": {
|
||||
"jar": "sha256-zDONZbvslLcwNvfDw6X28JrocFuVwPkg7DKHtGtolNM=",
|
||||
"module": "sha256-j+uBo/Q5DDNtB8a3zz7kVQHpwF5zupBFU8UeJImo4VM=",
|
||||
@@ -3376,14 +3375,19 @@
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.10-RC/all": {
|
||||
"jar": "sha256-8tQNQce+hFtMQsSM0wFI9oNm6QnfgiBJo96d0VLUjAI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.3.0": {
|
||||
"jar": "sha256-NnFCeBKZvA+RIMHe7A5ik0oa+ep/AaqpxaU1TcXY19k=",
|
||||
"pom": "sha256-tQ6FtLEYwSIjge0c67K6lqfeLdrtti3aZ9SuBqGiXTc="
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.3.20": {
|
||||
"jar": "sha256-CuElBKUEDrrzdwOQhINCDRpWJN0dk/NXZl+Md8hIoB4=",
|
||||
"module": "sha256-9Os0T8TR46KK4WwIbsPkL1I3O0ZtQwgYL7OG45LA76M=",
|
||||
"pom": "sha256-yDwC2afi6VRzBJHDPC8dwDwnZi4ntWbsK0TS0Bhjm5g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.3.10-RC": {
|
||||
"jar": "sha256-NnFCeBKZvA+RIMHe7A5ik0oa+ep/AaqpxaU1TcXY19k=",
|
||||
"pom": "sha256-JP5o1+ZtHKA6rzslyx5nPzE0F54G3Q8K0rQyaxCREyo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.3.20": {
|
||||
"jar": "sha256-NnFCeBKZvA+RIMHe7A5ik0oa+ep/AaqpxaU1TcXY19k=",
|
||||
"pom": "sha256-R+Ou/SS1vmLYB7bLzXnFW4P5S1XP4Y79xuM84RvxkOQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.3.10-RC": {
|
||||
"jar": "sha256-85zCXVt0ew16z7LloMQdTmhgCzwUyPnYF1dFmowN06o=",
|
||||
"pom": "sha256-dvRuzCGOmDpVggzpv19r4OQfMybphgof78Ac8TCVeqI="
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
};
|
||||
"kicad-testing" = {
|
||||
kicadVersion = {
|
||||
version = "10.0-2026-06-20";
|
||||
version = "10.0-2026-06-26";
|
||||
src = {
|
||||
rev = "ee60b9067e5da85187183afa9f86c8a829502380";
|
||||
sha256 = "0ib4z4zxq8f49kag3ip60mxqgls1g6lz0vqb76aqcjvfpkz1als1";
|
||||
rev = "688f1186b437515b35a0619c1d5e9df6171b80e3";
|
||||
sha256 = "1n2qh2daz5avncwc0r65bwjdfrw7bzh11mzrwv57avl9bm2dk9mj";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "10.0-2026-06-20";
|
||||
version = "10.0-2026-06-26";
|
||||
libSources = {
|
||||
symbols.rev = "5a6700bbb3f2a3b05d123a1a1af770cfbb5bc7d3";
|
||||
symbols.sha256 = "1ns0lg360h3h55w2xv5lyj0qzy6nc1cr02vll95c0vma34rc1qwa";
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From acea6182e46fff3d1d64a3172cdff307b07ca441 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Hudson <ghudson@mit.edu>
|
||||
Date: Wed, 8 Apr 2026 17:57:59 -0400
|
||||
Subject: [PATCH] Fix two NegoEx parsing vulnerabilities
|
||||
|
||||
In parse_nego_message(), check the result of the second call to
|
||||
vector_base() before dereferencing it. In parse_message(), check for
|
||||
a short header_len to prevent an integer underflow when calculating
|
||||
the remaining message length.
|
||||
|
||||
Reported by Cem Onat Karagun.
|
||||
|
||||
CVE-2026-40355:
|
||||
|
||||
In MIT krb5 release 1.18 and later, if an application calls
|
||||
gss_accept_sec_context() on a system with a NegoEx mechanism
|
||||
registered in /etc/gss/mech, an unauthenticated remote attacker can
|
||||
trigger a null pointer dereference, causing the process to terminate.
|
||||
|
||||
CVE-2026-40356:
|
||||
|
||||
In MIT krb5 release 1.18 and later, if an application calls
|
||||
gss_accept_sec_context() on a system with a NegoEx mechanism
|
||||
registered in /etc/gss/mech, an unauthenticated remote attacker can
|
||||
trigger a read overrun of up to 52 bytes, possibly causing the process
|
||||
to terminate. Exfiltration of the bytes read does not appear
|
||||
possible.
|
||||
|
||||
(cherry picked from commit 2e75f0d9362fb979f5fc92829431a590a130929f)
|
||||
|
||||
ticket: 9205
|
||||
version_fixed: 1.22.3
|
||||
---
|
||||
lib/gssapi/spnego/negoex_util.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/gssapi/spnego/negoex_util.c b/src/lib/gssapi/spnego/negoex_util.c
|
||||
index edc5462e844..a65238e5730 100644
|
||||
--- a/lib/gssapi/spnego/negoex_util.c
|
||||
+++ b/lib/gssapi/spnego/negoex_util.c
|
||||
@@ -253,6 +253,10 @@ parse_nego_message(OM_uint32 *minor, struct k5input *in,
|
||||
offset = k5_input_get_uint32_le(in);
|
||||
count = k5_input_get_uint16_le(in);
|
||||
p = vector_base(offset, count, EXTENSION_LENGTH, msg_base, msg_len);
|
||||
+ if (p == NULL) {
|
||||
+ *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE;
|
||||
+ return GSS_S_DEFECTIVE_TOKEN;
|
||||
+ }
|
||||
for (i = 0; i < count; i++) {
|
||||
extension_type = load_32_le(p + i * EXTENSION_LENGTH);
|
||||
if (extension_type & EXTENSION_FLAG_CRITICAL) {
|
||||
@@ -391,7 +395,8 @@ parse_message(OM_uint32 *minor, spnego_gss_ctx_id_t ctx, struct k5input *in,
|
||||
msg_len = k5_input_get_uint32_le(in);
|
||||
conv_id = k5_input_get_bytes(in, GUID_LENGTH);
|
||||
|
||||
- if (in->status || msg_len > token_remaining || header_len > msg_len) {
|
||||
+ if (in->status || msg_len > token_remaining ||
|
||||
+ header_len < (size_t)(in->ptr - msg_base) || header_len > msg_len) {
|
||||
*minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE;
|
||||
return GSS_S_DEFECTIVE_TOKEN;
|
||||
}
|
||||
@@ -34,16 +34,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "krb5";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kerberos.org/dist/krb5/${lib.versions.majorMinor finalAttrs.version}/krb5-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-GogyuMrZI+u/E5T2fi789B46SfRgKFpm41reyPoAU68=";
|
||||
hash = "sha256-MkP/vI6k1Kwi3cfdKh3FTFeHTEBki2D/lwCXY1VOrxM=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.hostPlatform.isFreeBSD [
|
||||
patches = [
|
||||
# https://github.com/krb5/krb5/pull/1506
|
||||
./CVE-2026-40355-and-CVE-2026-40356.patch
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isFreeBSD [
|
||||
(fetchpatch {
|
||||
name = "fix-missing-ENODATA.patch";
|
||||
url = "https://cgit.freebsd.org/ports/plain/security/krb5-122/files/patch-lib_krad_packet.c?id=0501f716c4aff7880fde56e42d641ef504593b7d";
|
||||
@@ -170,6 +174,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://web.mit.edu/Kerberos/krb5-${lib.versions.majorMinor finalAttrs.version}/";
|
||||
description = "MIT Kerberos 5";
|
||||
homepage = "http://web.mit.edu/kerberos/";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "krillinai";
|
||||
version = "1.4.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "krillinai";
|
||||
repo = "KlicStudio";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CMeF24BCJ+wbiXCl0iJm0acNoggVxeOu3Q/cXJY8aQo=";
|
||||
hash = "sha256-k1p9v3MQklycW2FsDCyEWNwjLFSymxx1qVg5qhC8xgI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bAKLNpt0K06egScyn7ImHV0csDsMQGUm92kU1PVQK+I=";
|
||||
vendorHash = "sha256-OdmOalac4oked7vLGMWFCjjNU5TBq1P+HudE5a+bgq4=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "layerx";
|
||||
version = "1.5.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deveshctl";
|
||||
repo = "layerx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Bkz0ETQEdy0GOlyGFmP8y80NdmNgRvLV0xRf/zd91ZY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7wbyz6fKB3HMFhKJVIWrOIczLfqF4yInyszdh2Ky8WU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=main.version=${finalAttrs.version}"
|
||||
"-X=main.commit=${finalAttrs.src.rev}"
|
||||
"-X=main.date=1970-01-01T00:00:00Z"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion \
|
||||
--cmd layerx \
|
||||
--bash <($out/bin/layerx completion bash) \
|
||||
--fish <($out/bin/layerx completion fish) \
|
||||
--zsh <($out/bin/layerx completion zsh)
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = [ "version" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Terminal-based Docker image layer inspector";
|
||||
homepage = "https://github.com/deveshctl/layerx";
|
||||
changelog = "https://github.com/deveshctl/layerx/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ kpbaks ];
|
||||
mainProgram = "layerx";
|
||||
};
|
||||
})
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "lazyworktree";
|
||||
version = "1.46.1";
|
||||
version = "1.47.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chmouel";
|
||||
repo = "lazyworktree";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-S6Tv0g8C1B47UtZkmBy+DIcLhoSFLzIJ9EiRtbojqAI=";
|
||||
hash = "sha256-aiObEOw+osGRzvkSwo/aWbby8eb/jPiruxcGehafUvw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8zoomrS7neTvaCLRFJ4W8+mryEwHmu8VyKf81RRe4yE=";
|
||||
vendorHash = "sha256-aQ0My2re9rCoU6EZ0VSyHYT1TMZEMAwnhmcqGBd95ks=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libadwaita";
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "GNOME";
|
||||
repo = "libadwaita";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JAKP8CjLCKGZvHoB26ih/J3xAru4wiVf/ObG0L8r4pY=";
|
||||
hash = "sha256-Oy3WcsymNbbmAacm5hEOrorI1wKXjSp063mh4jCJRAE=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libaec";
|
||||
version = "1.1.6";
|
||||
version = "1.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Deutsches-Klimarechenzentrum";
|
||||
repo = "libaec";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-cxDP+JNwokxgzH9hO2zw+rIcz8XG7E8ujbAbWpgUEW8=";
|
||||
hash = "sha256-aBm+CXCq7sdJb6Qq9sNuTzNj0nRwTJI20HsqUg1Qi/8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -44,9 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fribidi
|
||||
harfbuzz
|
||||
]
|
||||
++ lib.optional fontconfigSupport fontconfig
|
||||
# TODO: remove dep after branchoff (in darwin stdenv)
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin libiconv.out;
|
||||
++ lib.optional fontconfigSupport fontconfig;
|
||||
|
||||
meta = {
|
||||
description = "Portable ASS/SSA subtitle renderer";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
autoreconfHook,
|
||||
imlib2,
|
||||
libxext,
|
||||
@@ -23,6 +24,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-N0Lfi0d4kjxirEbIjdeearYWvStkKMyV6lgeyNKXcVw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-42046.patch";
|
||||
url = "https://github.com/cacalabs/libcaca/commit/fb77acff9ba6bb01d53940da34fb10f20b156a23.patch";
|
||||
hash = "sha256-AdpiE5Gw/CVET//7TTYZCb0glW5HY+T8xZkYs1XCBvY=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user