Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-09-12 18:01:30 +00:00 committed by GitHub
commit 564dc31f47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
123 changed files with 1887 additions and 1668 deletions

View File

@ -29,12 +29,12 @@ _Note: each language passed to `langs` must be an attribute name in `pkgs.hunspe
## Built-in emoji picker {#sec-ibus-typing-booster-emoji-picker}
The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-color-emoji` is needed:
On NixOS, it can be installed using the following expression:
```nix
{ pkgs, ... }: {
fonts.packages = with pkgs; [ noto-fonts-emoji ];
fonts.packages = with pkgs; [ noto-fonts-color-emoji ];
}
```

View File

@ -876,6 +876,12 @@
githubId = 153175;
name = "Andrew Marshall";
};
amaxine = {
email = "max@ine.dev";
github = "amaxine";
githubId = 35892750;
name = "Maxine Aubrey";
};
ambroisie = {
email = "bruno.nixpkgs@belanyi.fr";
github = "ambroisie";
@ -10328,6 +10334,12 @@
githubId = 782440;
name = "Luna Nova";
};
luochen1990 = {
email = "luochen1990@gmail.com";
github = "luochen1990";
githubId = 2309868;
name = "Luo Chen";
};
lurkki = {
email = "jussi.kuokkanen@protonmail.com";
github = "Lurkki14";
@ -10879,12 +10891,6 @@
githubId = 502805;
name = "Max Zerzouri";
};
maxeaubrey = {
email = "maxeaubrey@gmail.com";
github = "maxeaubrey";
githubId = 35892750;
name = "Maxine Aubrey";
};
maxhbr = {
email = "nixos@maxhbr.dev";
github = "maxhbr";

View File

@ -102,12 +102,13 @@ def convert_to_throw(date_older_list: list[str]) -> list[tuple[str, str]]:
alias = before_equal
alias_unquoted = before_equal.strip('"')
after_equal_list = [x.strip(";:") for x in after_equal.split()]
replacement = next(x.strip(";:") for x in after_equal.split())
replacement = replacement.removeprefix("pkgs.")
converted = (
f"{indent}{alias} = throw \"'{alias_unquoted}' has been renamed to/replaced by"
f" '{after_equal_list.pop(0)}'\";"
f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}'
f"{indent}{alias} = throw \"'{alias_unquoted}' has been"
f" renamed to/replaced by '{replacement}'\";"
f" # Converted to throw {datetime.today().strftime('%Y-%m-%d')}"
)
converted_list.append((line, converted))

View File

@ -365,7 +365,7 @@ with lib.maintainers; {
hedning
jtojnar
dasj19
maxeaubrey
amaxine
];
githubTeams = [
"gnome"
@ -918,6 +918,18 @@ with lib.maintainers; {
shortName = "Vim/Neovim";
};
wdz = {
members = [
n0emis
netali
vidister
johannwagner
yuka
];
scope = "Group registration for WDZ GmbH team members who collectively maintain packages.";
shortName = "WDZ GmbH";
};
xfce = {
members = [
bobby285271

View File

@ -193,6 +193,10 @@
- The `hail` NixOS module was removed, as `hail` was unmaintained since 2017.
- Package `noto-fonts-emoji` was renamed to `noto-fonts-color-emoji`;
see [#221181](https://github.com/NixOS/nixpkgs/issues/221181).
## Other Notable Changes {#sec-release-23.11-notable-changes}
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.

View File

@ -37,7 +37,7 @@ in
gyre-fonts # TrueType substitutes for standard PostScript fonts
liberation_ttf
unifont
noto-fonts-emoji
noto-fonts-color-emoji
]);
};
}

View File

@ -16,16 +16,24 @@ with lib;
config = {
# can be generated with: filter (drv: (builtins.tryEval (drv ? terminfo)).value) (attrValues pkgs)
# can be generated with:
# attrNames (filterAttrs
# (_: drv: (builtins.tryEval (isDerivation drv && drv ? terminfo)).value)
# pkgs)
environment.systemPackages = mkIf config.environment.enableAllTerminfo (map (x: x.terminfo) (with pkgs; [
alacritty
contour
foot
kitty
mtm
rio
rxvt-unicode-unwrapped
rxvt-unicode-unwrapped-emoji
st
termite
tmux
wezterm
yaft
]));
environment.pathsToLink = [

View File

@ -81,7 +81,7 @@ in
if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then
PROMPT_COLOR="1;31m"
((UID)) && PROMPT_COLOR="1;32m"
if [ -n "$INSIDE_EMACS" ] || [ "$TERM" = "eterm" ] || [ "$TERM" = "eterm-color" ]; then
if [ -n "$INSIDE_EMACS" ]; then
# Emacs term mode doesn't support xterm title escape sequence (\e]0;)
PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] "
else

View File

@ -38,7 +38,7 @@ let cfg = config.services.networking.websockify; in {
description = "Service to forward websocket connections to TCP connections (from port:to port %I)";
script = ''
IFS=':' read -a array <<< "$1"
${pkgs.pythonPackages.websockify}/bin/websockify --ssl-only \
${pkgs.python3Packages.websockify}/bin/websockify --ssl-only \
--cert=${cfg.sslCert} --key=${cfg.sslKey} 0.0.0.0:''${array[0]} 0.0.0.0:''${array[1]}
'';
scriptArgs = "%i";

View File

@ -147,7 +147,7 @@ in {
default = false;
type = types.bool;
description = lib.mdDoc ''
Make MemTest86+ available from the systemd-boot menu. MemTest86+ is a
Make Memtest86+ available from the systemd-boot menu. Memtest86+ is a
program for testing memory.
'';
};
@ -191,7 +191,7 @@ in {
default = {};
example = literalExpression ''
{ "memtest86.conf" = '''
title MemTest86+
title Memtest86+
efi /efi/memtest86/memtest.efi
'''; }
'';
@ -285,7 +285,7 @@ in {
boot.loader.systemd-boot.extraEntries = mkMerge [
(mkIf cfg.memtest86.enable {
"${cfg.memtest86.entryFilename}" = ''
title MemTest86
title Memtest86+
efi /efi/memtest86/memtest.efi
'';
})

View File

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ lib, ... }:
nodes.machine = { config, pkgs, ... }: {
fonts.enableDefaultPackages = true; # Background fonts
fonts.packages = with pkgs; [
noto-fonts-emoji
noto-fonts-color-emoji
cantarell-fonts
twitter-color-emoji
source-code-pro

View File

@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
noto-fonts-color-emoji
];
fontconfig.defaultFonts = {
serif = [ "Noto Serif" "Noto Serif CJK SC" ];

View File

@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "snarkos";
version = "2.1.6";
version = "2.1.7";
src = fetchFromGitHub {
owner = "AleoHQ";
repo = "snarkOS";
rev = "v${version}";
sha256 = "sha256-S79u9jAtYHsCFwvhNTRKrQL/CUBrzt8twx4mzwNtxhs=";
sha256 = "sha256-kW41SNbl2vckgUth+BZ6/aM03aT6MFeY4Hwi9OVWtTI=";
};
cargoHash = "sha256-cDyViA3TuUoQsU9OnEF3UDgwQhPhgg4mTcqDy2VIA9c=";
cargoHash = "sha256-znEAb4q9H0Doc+XYCf27hV/z2t74kjQUffl/aJzW6tI=";
# buildAndTestSubdir = "cli";

View File

@ -68,7 +68,9 @@ least specific (the system profile)"
;; TODO: We should also add the other `NIX_PROFILES' to this path.
;; However, these are user-specific, so we would need to discover
;; them dynamically after connecting via `tramp'
'(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
'(progn
(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")
(add-to-list 'tramp-remote-path "/run/wrappers/bin")))
;;; C source directory
;;;

View File

@ -1,6 +1,2 @@
source 'https://rubygems.org'
gem 'sensu'
gem 'iruby'
gem 'cztop'
gem 'ffi-rzmq'
gem 'rbczmq'
gem 'iruby', "0.7.4"

View File

@ -1,119 +1,35 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
amq-protocol (2.0.1)
amqp (1.6.0)
amq-protocol (>= 2.0.1)
eventmachine
bond (0.5.1)
childprocess (0.5.8)
ffi (~> 1.0, >= 1.0.11)
cookiejar (0.3.3)
czmq-ffi-gen (0.15.0)
ffi (~> 1.9.10)
cztop (0.13.1)
czmq-ffi-gen (~> 0.15.0)
data_uri (0.1.0)
em-http-request (1.1.5)
addressable (>= 2.3.4)
cookiejar (!= 0.3.1)
em-socksify (>= 0.3)
eventmachine (>= 1.0.3)
http_parser.rb (>= 0.6.0)
em-http-server (0.1.8)
eventmachine
em-socksify (0.3.2)
eventmachine (>= 1.0.0.beta.4)
em-worker (0.0.2)
eventmachine
eventmachine (1.2.7)
ffi (1.9.21)
ffi (1.15.5)
ffi-rzmq (2.0.7)
ffi-rzmq-core (>= 1.0.7)
ffi-rzmq-core (1.0.7)
ffi
http_parser.rb (0.6.0)
iruby (0.3)
bond (~> 0.5)
io-console (0.6.0)
irb (1.7.4)
reline (>= 0.3.6)
iruby (0.7.4)
data_uri (~> 0.1)
mimemagic (~> 0.3)
ffi-rzmq
irb
mime-types (>= 3.3.1)
multi_json (~> 1.11)
mimemagic (0.3.3)
multi_json (1.13.1)
oj (2.18.1)
parse-cron (0.1.4)
public_suffix (3.0.3)
rbczmq (1.7.9)
sensu (1.6.2)
em-http-request (= 1.1.5)
em-http-server (= 0.1.8)
eventmachine (= 1.2.7)
parse-cron (= 0.1.4)
sensu-extension (= 1.5.2)
sensu-extensions (= 1.10.0)
sensu-json (= 2.1.1)
sensu-logger (= 1.2.2)
sensu-redis (= 2.4.0)
sensu-settings (= 10.14.0)
sensu-spawn (= 2.5.0)
sensu-transport (= 8.2.0)
sensu-extension (1.5.2)
eventmachine
sensu-extensions (1.10.0)
sensu-extension
sensu-extensions-check-dependencies (= 1.1.0)
sensu-extensions-debug (= 1.0.0)
sensu-extensions-json (= 1.0.0)
sensu-extensions-occurrences (= 1.2.0)
sensu-extensions-only-check-output (= 1.0.0)
sensu-extensions-ruby-hash (= 1.0.0)
sensu-json (>= 1.1.0)
sensu-logger
sensu-settings
sensu-extensions-check-dependencies (1.1.0)
sensu-extension
sensu-extensions-debug (1.0.0)
sensu-extension
sensu-extensions-json (1.0.0)
sensu-extension
sensu-extensions-occurrences (1.2.0)
sensu-extension
sensu-extensions-only-check-output (1.0.0)
sensu-extension
sensu-extensions-ruby-hash (1.0.0)
sensu-extension
sensu-json (2.1.1)
oj (= 2.18.1)
sensu-logger (1.2.2)
eventmachine
sensu-json
sensu-redis (2.4.0)
eventmachine
sensu-settings (10.14.0)
parse-cron
sensu-json (>= 1.1.0)
sensu-spawn (2.5.0)
childprocess (= 0.5.8)
em-worker (= 0.0.2)
eventmachine
ffi (= 1.9.21)
sensu-transport (8.2.0)
amq-protocol (= 2.0.1)
amqp (= 1.6.0)
eventmachine
sensu-redis (>= 1.0.0)
native-package-installer
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
multi_json (1.15.0)
native-package-installer (1.1.8)
reline (0.3.8)
io-console (~> 0.5)
PLATFORMS
ruby
DEPENDENCIES
cztop
ffi-rzmq
iruby
rbczmq
sensu
iruby (= 0.7.4)
BUNDLED WITH
1.17.2
2.4.19

View File

@ -1,89 +1,4 @@
{
addressable = {
dependencies = ["public_suffix"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
type = "gem";
};
version = "2.6.0";
};
amq-protocol = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rpn9vgh7y037aqhhp04smihzr73vp5i5g6xlqlha10wy3q0wp7x";
type = "gem";
};
version = "2.0.1";
};
amqp = {
dependencies = ["amq-protocol" "eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kbrqnpjgj9v0722p3n5rw589l4g26ry8mcghwc5yr20ggkpdaz9";
type = "gem";
};
version = "1.6.0";
};
bond = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r19ifc4skyl2gxnifrxa5jvbbay9fb2in79ppgv02b6n4bhsw90";
type = "gem";
};
version = "0.5.1";
};
childprocess = {
dependencies = ["ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lv7axi1fhascm9njxh3lx1rbrnsm8wgvib0g7j26v4h1fcphqg0";
type = "gem";
};
version = "0.5.8";
};
cookiejar = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q0kmbks9l3hl0wdq744hzy97ssq9dvlzywyqv9k9y1p3qc9va2a";
type = "gem";
};
version = "0.3.3";
};
czmq-ffi-gen = {
dependencies = ["ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ngsd1yxiayd50v402vwhmq7ma9ang6pcba5kqiwq7smpdvfmbmp";
type = "gem";
};
version = "0.15.0";
};
cztop = {
dependencies = ["czmq-ffi-gen"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12xcz7g42dbp2ryhcwdm2ykj7bmwfhjhla296hy18g7a09zlfnz7";
type = "gem";
};
version = "0.13.1";
};
data_uri = {
groups = ["default"];
platforms = [];
@ -94,69 +9,15 @@
};
version = "0.1.0";
};
em-http-request = {
dependencies = ["addressable" "cookiejar" "em-socksify" "eventmachine" "http_parser.rb"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "13rxmbi0fv91n4sg300v3i9iiwd0jxv0i6xd0sp81dx3jlx7kasx";
type = "gem";
};
version = "1.1.5";
};
em-http-server = {
dependencies = ["eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y8l4gymy9dzjjchjav90ck6has2i2zdjihlhcyrg3jgq6kjzyq5";
type = "gem";
};
version = "0.1.8";
};
em-socksify = {
dependencies = ["eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rk43ywaanfrd8180d98287xv2pxyl7llj291cwy87g1s735d5nk";
type = "gem";
};
version = "0.3.2";
};
em-worker = {
dependencies = ["eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0z4jx9z2q5hxvdvik4yp0ahwfk69qsmdnyp72ln22p3qlkq2z5wk";
type = "gem";
};
version = "0.0.2";
};
eventmachine = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
type = "gem";
};
version = "1.2.7";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c2dl10pi6a30kcvx2s6p2v1wb4kbm48iv38kmz2ff600nirhpb8";
sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
type = "gem";
};
version = "1.9.21";
version = "1.15.5";
};
ffi-rzmq = {
dependencies = ["ffi-rzmq-core"];
@ -180,250 +41,88 @@
};
version = "1.0.7";
};
"http_parser.rb" = {
io-console = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff";
type = "gem";
};
version = "0.6.0";
};
iruby = {
dependencies = ["bond" "data_uri" "mimemagic" "multi_json"];
irb = {
dependencies = ["reline"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wdf2c0x8y6cya0n3y0p3p7b1sxkb2fdavdn2k58rf4rs37s7rzn";
sha256 = "158ca10kj3qqnql5g8f1g2arsnhgdl79mg74manpf8ldkwjjn3n8";
type = "gem";
};
version = "0.3";
version = "1.7.4";
};
mimemagic = {
iruby = {
dependencies = ["data_uri" "ffi-rzmq" "irb" "mime-types" "multi_json" "native-package-installer"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw";
sha256 = "0856ncjk7akm55gxcnhfmv426xsl4ryywdxrqbwgphwpqwm9w8fc";
type = "gem";
};
version = "0.3.3";
version = "0.7.4";
};
mime-types = {
dependencies = ["mime-types-data"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
type = "gem";
};
version = "3.5.1";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
type = "gem";
};
version = "3.2023.0808";
};
multi_json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
type = "gem";
};
version = "1.13.1";
version = "1.15.0";
};
oj = {
native-package-installer = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "147whmq8h2n04chskl3v4a132xhz5i6kk6vhnz83jwng4vihin5f";
sha256 = "004wx9xhcam92g1d4ybvrl1yqablm2svalyck9sq4igy9nwkz9nb";
type = "gem";
};
version = "2.18.1";
version = "1.1.8";
};
parse-cron = {
reline = {
dependencies = ["io-console"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02fj9i21brm88nb91ikxwxbwv9y7mb7jsz6yydh82rifwq7357hg";
sha256 = "0lv1nv7z63n4qmsm3h5h273m7daxngkcq8ynkk9j8lmn7jji98lb";
type = "gem";
};
version = "0.1.4";
};
public_suffix = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
type = "gem";
};
version = "3.0.3";
};
rbczmq = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bqr44m2nb61smza6y5cahp09hk16lsn0z3wpq9g5zpr9nhp50fx";
type = "gem";
};
version = "1.7.9";
};
sensu = {
dependencies = ["em-http-request" "em-http-server" "eventmachine" "parse-cron" "sensu-extension" "sensu-extensions" "sensu-json" "sensu-logger" "sensu-redis" "sensu-settings" "sensu-spawn" "sensu-transport"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rxv6yj63nkxlzmmqk6qpfpcvrbar9s4sd4kgfb5zsv9bw7236cr";
type = "gem";
};
version = "1.6.2";
};
sensu-extension = {
dependencies = ["eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bpizp4n01rv72cryjjlrbfxxj3csish3mkxjzdy4inpi5j5h1dw";
type = "gem";
};
version = "1.5.2";
};
sensu-extensions = {
dependencies = ["sensu-extension" "sensu-extensions-check-dependencies" "sensu-extensions-debug" "sensu-extensions-json" "sensu-extensions-occurrences" "sensu-extensions-only-check-output" "sensu-extensions-ruby-hash" "sensu-json" "sensu-logger" "sensu-settings"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04v221qjv8qy3jci40i66p63ig5vrrh0dpgmf1l8229x5m7bxrsg";
type = "gem";
};
version = "1.10.0";
};
sensu-extensions-check-dependencies = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hc4kz7k983f6fk27ikg5drvxm4a85qf1k07hqssfyk3k75jyj1r";
type = "gem";
};
version = "1.1.0";
};
sensu-extensions-debug = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11abdgn2kkkbvxq4692yg6a27qnxz4349gfiq7d35biy7vrw34lp";
type = "gem";
};
version = "1.0.0";
};
sensu-extensions-json = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wnbn9sycdqdh9m0fhszaqkv0jijs3fkdbvcv8kdspx6irbv3m6g";
type = "gem";
};
version = "1.0.0";
};
sensu-extensions-occurrences = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lx5wsbblfs0rvkxfg09bsz0g2mwmckrhga7idnarsnm8m565v1v";
type = "gem";
};
version = "1.2.0";
};
sensu-extensions-only-check-output = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ds2i8wd4ji9ifig2zzr4jpxinvk5dm7j10pvaqy4snykxa3rqh3";
type = "gem";
};
version = "1.0.0";
};
sensu-extensions-ruby-hash = {
dependencies = ["sensu-extension"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xyrj3gbmslbivcd5qcmyclgapn7qf7f5jwfvfpw53bxzib0h7s3";
type = "gem";
};
version = "1.0.0";
};
sensu-json = {
dependencies = ["oj"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08zlxg5j3bhs72cc7wcllp026jbif0xiw6ib1cgawndlpsfl9fgx";
type = "gem";
};
version = "2.1.1";
};
sensu-logger = {
dependencies = ["eventmachine" "sensu-json"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jpw4kz36ilaknrzb3rbkhpbgv93w2d668z2cv395dq30d4d3iwm";
type = "gem";
};
version = "1.2.2";
};
sensu-redis = {
dependencies = ["eventmachine"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0widfmmj1h9ca2kk14wy1sqmlkq40linp89a73s3ghngnzri0xyk";
type = "gem";
};
version = "2.4.0";
};
sensu-settings = {
dependencies = ["parse-cron" "sensu-json"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "152n4hazv2l4vbzrgd316rpj135jmz042fyh6k2yv2kw0x29pi0f";
type = "gem";
};
version = "10.14.0";
};
sensu-spawn = {
dependencies = ["childprocess" "em-worker" "eventmachine" "ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17yc8ivjpjbvig9r7yl6991d6ma0kcq75fbpz6i856ljvcr3lmd5";
type = "gem";
};
version = "2.5.0";
};
sensu-transport = {
dependencies = ["amq-protocol" "amqp" "eventmachine" "sensu-redis"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0x6vyfmg1jm1srf7xa5aka73by7qwcmry2rx8kq8phwa4g0v4mzr";
type = "gem";
};
version = "8.2.0";
version = "0.3.8";
};
}

View File

@ -0,0 +1,18 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq bundler bundix ruby
set -eu -o pipefail
cd "$(dirname "$0")"
# Update Gemfile with the latest iruby version
echo "source 'https://rubygems.org'" > Gemfile
echo -n "gem 'iruby', " >> Gemfile
curl https://rubygems.org/api/v1/gems/iruby.json | jq .version >> Gemfile
# Regenerate Gemfile.lock
export BUNDLE_FORCE_RUBY_PLATFORM=1
bundle lock
# Regenerate gemset.nix
bundix -l

View File

@ -97,7 +97,7 @@ in
homepage = "https://code.visualstudio.com/";
downloadPage = "https://code.visualstudio.com/Updates";
license = licenses.unfree;
maintainers = with maintainers; [ eadwu synthetica maxeaubrey bobby285271 Enzime ];
maintainers = with maintainers; [ eadwu synthetica amaxine bobby285271 Enzime ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "armv7l-linux" ];
};
}

View File

@ -29,13 +29,13 @@ let
in
stdenv.mkDerivation rec {
pname = "megapixels";
version = "1.6.1";
version = "1.7.0";
src = fetchFromGitLab {
owner = "postmarketOS";
repo = "megapixels";
rev = version;
hash = "sha256-ZkTDHDL5nhpR8PKqia12pbrEZLnRXEm8DwBYdYrP5Qo=";
hash = "sha256-ejTCYZMDkqz8P3vroq8XAl+pUGgcS56cm3tzOTE3rfc=";
};
nativeBuildInputs = [

View File

@ -59,7 +59,7 @@ let
homepage = "https://1password.com/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ timstott savannidgerinel maxeaubrey sebtm ];
maintainers = with maintainers; [ timstott savannidgerinel amaxine sebtm ];
platforms = builtins.attrNames sources.${channel};
mainProgram = "1password";
};

View File

@ -9,11 +9,11 @@
stdenvNoCC.mkDerivation rec {
pname = "camunda-modeler";
version = "5.13.0";
version = "5.14.0";
src = fetchurl {
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
hash = "sha256-/9Af/1ZP2Hkc0PP9yXObNDNmxe6riBNWSv+JaM7O5Vs=";
hash = "sha256-zGxuvS4T1olMH+QOqrPcsFjfO3PDERmFQOa+ISN9u0c=";
};
sourceRoot = "camunda-modeler-${version}-linux-x64";
@ -63,7 +63,7 @@ stdenvNoCC.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/camunda/camunda-modeler";
description = "An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io";
maintainers = with maintainers; [ n0emis ];
maintainers = teams.wdz.members;
license = licenses.mit;
inherit (electron.meta) platforms;
};

View File

@ -1,48 +0,0 @@
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron }:
stdenv.mkDerivation rec {
pname = "markmind";
version = "1.3.1";
src = fetchurl {
url = "https://github.com/MarkMindCkm/Mark-Mind/releases/download/v${version}/Mark.Mind-${version}.AppImage";
sha256 = "sha256-iOJ0IOIzleA69rv94Qd35rMbHc+XSi8OPatf2V6sYrI=";
};
appimageContents = appimageTools.extractType2 {
name = "markmind-${version}";
inherit src;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/markmind $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/markmind
cp -a ${appimageContents}/mind.desktop $out/share/applications/markmind.desktop
cp -a ${appimageContents}/usr/share/icons $out/share
substituteInPlace $out/share/applications/markmind.desktop \
--replace 'Exec=AppRun' 'Exec=markmind'
runHook postInstall
'';
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/markmind \
--add-flags $out/share/markmind/resources/app.asar
'';
meta = with lib; {
description = "Mind map and outliner editor";
homepage = "https://github.com/MarkMindCkm/Mark-Mind";
license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -12,20 +12,20 @@
let
inherit (stdenv.hostPlatform) system;
pname = "obsidian";
version = "1.4.5";
version = "1.4.11";
appname = "Obsidian";
meta = with lib; {
description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
homepage = "https://obsidian.md";
downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases";
license = licenses.obsidian;
maintainers = with maintainers; [ atila conradmearns zaninime qbit ];
maintainers = with maintainers; [ atila conradmearns zaninime qbit kashw2 ];
};
filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
src = fetchurl {
url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
sha256 = if stdenv.isDarwin then "sha256-1xGlXjQrJ8gNtKYlCBiIfNnTZU591JZdU6NJqMA5gug=" else "sha256-Y/RlT+3xBbF9tjCbRQnQ+j8ogzLMfsQPnOdiCVj+NK0=";
sha256 = if stdenv.isDarwin then "sha256-bJLWXdeVzbVrb8jmIRpyQG6a5H1jMydhO9ioHOGk3Ms=" else "sha256-Z4DojO90PAlGGsItcZugPsi+48UPnOjvCn2BIzrDQpc=";
};
icon = fetchurl {

View File

@ -1,60 +0,0 @@
{ stdenv, lib, fetchurl, makeWrapper, makeDesktopItem, copyDesktopItems, electron }:
let
version = "0.13.0";
appIcon = fetchurl {
url = "https://raw.githubusercontent.com/Splode/pomotroid/v${version}/static/icon.png";
sha256 = "sha256-BEPoOBErw5ZCeK4rtdxdwZZLimbpglu1Cu++4xzuVUs=";
};
in stdenv.mkDerivation rec {
pname = "pomotroid";
inherit version;
src = fetchurl {
url = "https://github.com/Splode/pomotroid/releases/download/v${version}/${pname}-${version}-linux.tar.gz";
sha256 = "sha256-AwpVnvwWQd/cgmZvtr5NprnLyeXz6ym4Fywc808tcSc=";
};
nativeBuildInputs = [
makeWrapper
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
name = pname;
exec = "pomotroid";
icon = "pomotroid";
comment = meta.description;
desktopName = "Pomotroid";
genericName = "Pomodoro Application";
})
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/opt/pomotroid $out/share/pomotroid $out/share/pixmaps
cp -r ./ $out/opt/pomotroid
mv $out/opt/pomotroid/{locales,resources} $out/share/pomotroid
cp ${appIcon} $out/share/pixmaps/pomotroid.png
makeWrapper ${electron}/bin/electron $out/bin/pomotroid \
--add-flags $out/share/pomotroid/resources/app.asar
runHook postInstall
'';
meta = with lib; {
description = "Simple and visually-pleasing Pomodoro timer";
homepage = "https://splode.github.io/pomotroid";
license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -41,9 +41,9 @@
version = "2023-06-09";
};
};
sha256 = "09b0i48sr5ynlhpya4lwnhgp081q4lqd23cc5l59dsxzh5ivbycb";
sha256bin64 = "1d49qcjh5mhfzqzjn4ilj23dpzd6nyl1pij5iv43dwxl8z2r3l3m";
version = "116.0.5845.179";
sha256 = "152lyrw8k36gbmf4fmfny4ajqh0523y5d48yrshbgwn5klmbhaji";
sha256bin64 = "118sk39939d52srws2vgs1mfizpikswxh5ihd9x053vzn0aj8cfa";
version = "116.0.5845.187";
};
ungoogled-chromium = {
deps = {

View File

@ -2,12 +2,12 @@
let
pname = "polypane";
version = "14.0.1";
version = "14.1.0";
src = fetchurl {
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-UBWd8ApSb5YN5TUqSxv/352+jAwwRjiv/pM1rocqukk=";
sha256 = "sha256-UJ4Ccz9PjpmZqJGbJjw3lyqR3VCl9xf3F6WUoBaUEVg=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -40,7 +40,7 @@ let
homepage = "https://www.nomadproject.io/";
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
license = licenses.mpl20;
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey techknowlogick ];
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick ];
};
} // attrs');
in

View File

@ -1,17 +1,17 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, stdenv, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "rke2";
version = "1.27.3+rke2r1";
version = "1.27.5+rke2r1";
src = fetchFromGitHub {
owner = "rancher";
repo = pname;
rev = "v${version}";
hash = "sha256-M/3F97iNeXdMMhs0eoPODeBC6Jp+yo/PwlPiG28SfYU=";
hash = "sha256-LKVz/oKt3WDf84KEEj4dRyjkRWZIWbOnEgG03EHvfGQ=";
};
vendorHash = "sha256-7Za8PQr22kvZBvoYRVbI4bXUvGWkfILQC+kAmw9ZCro=";
vendorHash = "sha256-Ck3/sMvCLoXKtOIhn0uE8hHdTlPFjIT04l3zoZQNKPs=";
postPatch = ''
# Patch the build scripts so they work in the Nix build environment.
@ -36,5 +36,6 @@ buildGoModule rec {
license = licenses.asl20;
maintainers = with maintainers; [ zimbatm zygot ];
mainProgram = "rke2";
broken = stdenv.isDarwin;
};
}

View File

@ -58,7 +58,7 @@ let
Chili-Man
babariviere
kalbasit
maxeaubrey
amaxine
timstott
zimbatm
zowoq

View File

@ -8,7 +8,7 @@
, libdeltachat
, makeDesktopItem
, makeWrapper
, noto-fonts-emoji
, noto-fonts-color-emoji
, pkg-config
, python3
, roboto
@ -85,7 +85,7 @@ buildNpmPackage rec {
install -D build/icon.png \
$out/share/icons/hicolor/scalable/apps/deltachat.png
ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
ln -sf ${noto-fonts-color-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
$out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
for font in $out/lib/node_modules/deltachat-desktop/html-dist/fonts/Roboto-*.ttf; do
ln -sf ${roboto}/share/fonts/truetype/$(basename $font) \

View File

@ -4,7 +4,7 @@ let
stable = "0.0.29";
ptb = "0.0.45";
canary = "0.0.166";
development = "0.0.217";
development = "0.0.232";
} else {
stable = "0.0.273";
ptb = "0.0.59";
@ -28,7 +28,7 @@ let
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
sha256 = "sha256-fzNFKrYo5qckrWZAkkiK337czCt6nOM1O8FeG18Q8Y0=";
sha256 = "sha256-AsHdQvDLzflhuYO8V4R+2zjQYpRo+aPa8HYXc3taayY=";
};
};
x86_64-darwin = {

View File

@ -84,7 +84,7 @@ let
changelog = "https://slack.com/release-notes";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ mmahut maxeaubrey ];
maintainers = with maintainers; [ mmahut amaxine ];
platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
mainProgram = "slack";
};

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "rclone";
version = "1.63.1";
version = "1.64.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-H//Y7BFBr3VXAoKZZgjSgU4aA+Af7tvFozhpoj14ba0=";
hash = "sha256-miXYBKUTmsqAvVLmxcVCpjgEO3HeKQpUZKSvzaxhqdU=";
};
vendorHash = "sha256-AXgyyI6ZbTepC/TGkHQvHiwpQOjzwG5ung71nKE5d1Y=";
vendorHash = "sha256-rpF44yd8ElOkXTT1lSW0l3ZwTqeNdGS1OxrvNY8atzA=";
subPackages = [ "." ];

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "veryfasttree";
version = "4.0.2";
version = "4.0.3";
src = fetchFromGitHub {
owner = "citiususc";
repo = "veryfasttree";
rev = "v${finalAttrs.version}";
hash = "sha256-JMBhSxfGO3qz7Yl4s5r6zWHFefXGzu0ktEJdRUh/Uqg=";
hash = "sha256-Sp331VJRaYv/BTwFj3HwUcUsWjYf6YEXWjYdOzDhBBA=";
};
nativeBuildInputs = [ cmake ];

View File

@ -47,6 +47,8 @@ mkDerivation rec {
sha256 = "sha256-TpxVC0GFZD3jGISnDWHKEetgVVpznm5k/Vc2dwVfSG4=";
};
outputs = [ "out" "terminfo" ];
nativeBuildInputs = [
cmake
pkg-config
@ -86,6 +88,12 @@ mkDerivation rec {
sed -i '/fixup_bundle/d' src/contour/CMakeLists.txt
'';
postInstall = ''
mkdir -p $out/nix-support $terminfo/share
mv $out/share/terminfo $terminfo/share/
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
'';
passthru.tests.test = nixosTests.terminal-emulators.contour;
meta = with lib; {

View File

@ -23,6 +23,8 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-82NZeZc06ueFvss3QGPwvoM88i+ItPFpzSUbmTJOCOc=";
};
outputs = [ "out" "terminfo" ];
inherit patches;
configFile = lib.optionalString (conf != null)
@ -51,7 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
] ++ extraLibs;
preInstall = ''
export TERMINFO=$out/share/terminfo
export TERMINFO=$terminfo/share/terminfo
mkdir -p $TERMINFO $out/nix-support
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
'';
installFlags = [ "PREFIX=$(out)" ];

View File

@ -4,6 +4,8 @@ stdenv.mkDerivation rec {
version = "0.2.9";
pname = "yaft";
outputs = [ "out" "terminfo" ];
src = fetchFromGitHub {
owner = "uobikiemukot";
repo = "yaft";
@ -15,6 +17,12 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=$(out)" "MANPREFIX=$(out)/share/man" ];
postInstall = ''
mkdir -p $out/nix-support $terminfo/share
mv $out/share/terminfo $terminfo/share/
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
'';
meta = {
homepage = "https://github.com/uobikiemukot/yaft";
description = "Yet another framebuffer terminal";

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-cliff";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${version}";
hash = "sha256-EmpWJWvYxyg6m08Q77kRehtcVSQOm16ZdcmZWncLch4=";
hash = "sha256-HD/g9zXE7w9x8o0ERBym5OZvODQ6n4a/bkzf457QPxM=";
};
cargoHash = "sha256-ECTvfS09CglAavj8LJbfpxnaWQtsp4DZb7GMJHIeEAA=";
cargoHash = "sha256-tTH5FMlOHv+T9rd0C7O2WaPkp2nUTQ3Ulsi16WiwbdE=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;

View File

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "gitnr";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitHub {
owner = "reemus-dev";
repo = "gitnr";
rev = "v${version}";
hash = "sha256-5HZT/e53e2dUMFnT+4a5GJk3JqJu5+62yxrsnNfSqD8=";
hash = "sha256-0LuQqDNyMd98cHCG3JDyRx/2hhjNlcGQ7n61Z264WzA=";
};
cargoHash = "sha256-rO8qHa+GI76s5CN52aMa58W8ERuTWQtQ96jpLbXKzOs=";
cargoHash = "sha256-H9aLOHdd2UP2YH/dptTwE0bzfFAJk7jwp3ecd0w8bjY=";
nativeBuildInputs = [
pkg-config

View File

@ -7,12 +7,13 @@ rec {
, mobyRev, mobyHash
, runcRev, runcHash
, containerdRev, containerdHash
, tiniRev, tiniHash, buildxSupport ? true, composeSupport ? true
, tiniRev, tiniHash
, buildxSupport ? true, composeSupport ? true, sbomSupport ? false
# package dependencies
, stdenv, fetchFromGitHub, fetchpatch, buildGoPackage
, makeWrapper, installShellFiles, pkg-config, glibc
, go-md2man, go, containerd, runc, docker-proxy, tini, libtool
, sqlite, iproute2, docker-buildx, docker-compose
, sqlite, iproute2, docker-buildx, docker-compose, docker-sbom
, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
, procps, rootlesskit, slirp4netns, fuse-overlayfs, nixosTests
, clientOnly ? !stdenv.isLinux, symlinkJoin
@ -159,7 +160,8 @@ rec {
});
plugins = lib.optional buildxSupport docker-buildx
++ lib.optional composeSupport docker-compose;
++ lib.optional composeSupport docker-compose
++ lib.optional sbomSupport docker-sbom;
pluginsRef = symlinkJoin { name = "docker-plugins"; paths = plugins; };
in
buildGoPackage (lib.optionalAttrs (!clientOnly) {
@ -273,7 +275,7 @@ rec {
To enable the docker daemon on NixOS, set the `virtualisation.docker.enable` option to `true`.
'';
license = licenses.asl20;
maintainers = with maintainers; [ offline vdemeester periklis maxeaubrey ];
maintainers = with maintainers; [ offline vdemeester periklis amaxine ];
mainProgram = "docker";
};
});

View File

@ -0,0 +1,28 @@
diff --git a/test/cli/all_formats_expressible_test.go b/test/cli/all_formats_expressible_test.go
index 3f40a46..5ba04e8 100644
--- a/test/cli/all_formats_expressible_test.go
+++ b/test/cli/all_formats_expressible_test.go
@@ -8,7 +8,8 @@ import (
"github.com/anchore/syft/syft"
)
-func TestAllFormatsExpressible(t *testing.T) {
+// Disabled because it needs a running docker daemon
+func disabledTestAllFormatsExpressible(t *testing.T) {
commonAssertions := []traitAssertion{
func(tb testing.TB, stdout, _ string, _ int) {
tb.Helper()
diff --git a/test/cli/sbom_cmd_test.go b/test/cli/sbom_cmd_test.go
index 0a0771c..a086c3b 100644
--- a/test/cli/sbom_cmd_test.go
+++ b/test/cli/sbom_cmd_test.go
@@ -8,7 +8,8 @@ import (
"github.com/docker/sbom-cli-plugin/internal"
)
-func TestSBOMCmdFlags(t *testing.T) {
+// Disabled because it needs a running docker daemon
+func disabledTestSBOMCmdFlags(t *testing.T) {
hiddenPackagesImage := getFixtureImage(t, "image-hidden-packages")
coverageImage := getFixtureImage(t, "image-pkg-coverage")
tmp := t.TempDir() + "/"

View File

@ -0,0 +1,43 @@
{ buildGoModule
, fetchFromGitHub
, docker
, lib
}:
buildGoModule rec {
pname = "docker-sbom";
version = "0.6.1";
src = fetchFromGitHub {
owner = "docker";
repo = "sbom-cli-plugin";
rev = "tags/v${version}";
hash = "sha256-i3gIogHb0oW/VDuZUo6LGBmvqs/XfMXjpvTTYeGCK7Q=";
};
patches = [
# Disable tests that require a docker daemon to be running
# in the sandbox
./sbom-disable-tests.patch
];
vendorHash = "sha256-XPPVAdY2NaasZ9bkf24VWWk3X5pjnryvsErYIWkeekc=";
nativeBuildInputs = [ docker ];
installPhase = ''
runHook preInstall
install -D $GOPATH/bin/sbom-cli-plugin $out/libexec/docker/cli-plugins/docker-sbom
mkdir -p $out/bin
ln -s $out/libexec/docker/cli-plugins/docker-sbom $out/bin/docker-sbom
runHook postInstall
'';
meta = with lib; {
description = "Plugin for Docker CLI to support SBOM creation using Syft";
homepage = "https://github.com/docker/sbom-cli-plugin";
license = licenses.asl20;
maintainers = with maintainers; [ raboof ];
};
}

View File

@ -165,7 +165,9 @@
dontInstall = true;
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
# NIX_NPM_TOKENS environment variable should be a JSON mapping in the shape of:
# `{ "registry.example.com": "example-registry-bearer-token", ... }`
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_TOKENS" ];
SSL_CERT_FILE = if (hash_.outputHash == "" || hash_.outputHash == lib.fakeSha256 || hash_.outputHash == lib.fakeSha512 || hash_.outputHash == lib.fakeHash)
then "${cacert}/etc/ssl/certs/ca-bundle.crt"

View File

@ -108,7 +108,7 @@ fn fixup_lockfile(
// Recursive helper to fixup v1 lockfile deps
fn fixup_v1_deps(
dependencies: &mut serde_json::Map<String, Value>,
dependencies: &mut Map<String, Value>,
cache: &Option<HashMap<String, String>>,
fixed: &mut bool,
) {

View File

@ -139,9 +139,9 @@ impl Package {
None => Specifics::Registry {
integrity: pkg
.integrity
.expect("non-git dependencies should have assosciated integrity")
.expect("non-git dependencies should have associated integrity")
.into_best()
.expect("non-git dependencies should have non-empty assosciated integrity"),
.expect("non-git dependencies should have non-empty associated integrity"),
},
};

View File

@ -3,6 +3,7 @@ use isahc::{
config::{CaCertificate, Configurable, RedirectPolicy, SslOption},
Body, Request, RequestExt,
};
use serde_json::{Map, Value};
use std::{env, path::Path};
use url::Url;
@ -22,6 +23,18 @@ pub fn get_url(url: &Url) -> Result<Body, isahc::Error> {
}
}
// Respect NIX_NPM_TOKENS environment variable, which should be a JSON mapping in the shape of:
// `{ "registry.example.com": "example-registry-bearer-token", ... }`
if let Some(host) = url.host_str() {
if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") {
if let Ok(tokens) = serde_json::from_str::<Map<String, Value>>(&npm_tokens) {
if let Some(token) = tokens.get(host).and_then(|val| val.as_str()) {
request = request.header("Authorization", format!("Bearer {token}"));
}
}
}
}
Ok(request.body(())?.send()?.into_body())
}

View File

@ -72,6 +72,22 @@ libfoo = callPackage ../by-name/so/some-package/package.nix {
};
```
## Manual migration guidelines
Most packages are still defined in `all-packages.nix` and the [category hierarchy](../README.md#category-hierarchy).
Please hold off migrating your maintained packages to this directory.
1. An automated migration for the majority of packages [is being worked on](https://github.com/NixOS/nixpkgs/pull/211832).
In order to save on contributor and reviewer time, packages should only be migrated manually afterwards if they couldn't be migrated automatically.
1. Manual migrations should only be lightly encouraged if the relevant code is being worked on anyways.
For example with a package update or refactoring.
1. Manual migrations should not remove definitions from `all-packages.nix` with custom arguments.
That is a backwards-incompatible change because it changes the `.override` interface.
Such packages may still be moved to `pkgs/by-name` however, while keeping the definition in `all-packages.nix`.
See also [changing implicit attribute defaults](#changing-implicit-attribute-defaults).
## Limitations
There's some limitations as to which packages can be defined using this structure:

View File

@ -0,0 +1,31 @@
{ lib, buildNpmPackage, fetchFromGitHub, jq }:
buildNpmPackage rec {
pname = "quicktype";
version = "23.0.75"; # version from https://npm.im/quicktype
src = fetchFromGitHub {
owner = "quicktype";
repo = "quicktype";
rev = "9b570a73a896306778940c793c0037a38815304a"; # version not tagged
hash = "sha256-boCBgIoM2GECipZTJlp9IaeXT24aR8tawS1X8CFDDqw=";
};
postPatch = ''
cat <<< $(${jq}/bin/jq '.version = "${version}"' package.json) > package.json
'';
npmDepsHash = "sha256-RA4HVQfB/ge1aIKl9HiUT7vUM5n+Ro6N2D6xj1dgSu8=";
postInstall = ''
mv packages/ $out/lib/node_modules/quicktype/
'';
meta = with lib; {
description = "Generate types and converters from JSON, Schema, and GraphQL";
homepage = "https://quicktype.io/";
license = licenses.asl20;
maintainers = [ maintainers.marsam ];
mainProgram = "quicktype";
};
}

View File

@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchFromGitHub
, withBanner ? "Grub Bootloader" # use override to specify your own banner text
, withStyle ? "white" # use override to specify one of "dark" / "orange" / "bigSur"
}:
assert builtins.any (s: withStyle == s) ["white" "dark" "orange" "bigSur"];
stdenv.mkDerivation {
pname = "sleek-grub-theme";
version = "unstable-2022-06-04";
src = fetchFromGitHub ({
owner = "sandesh236";
repo = "sleek--themes";
rev = "981326a8e35985dc23f1b066fdbe66ff09df2371";
hash = "sha256-yD4JuoFGTXE/aI76EtP4rEWCc5UdFGi7Ojys6Yp8Z58=";
});
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -r 'Sleek theme-${withStyle}'/sleek/* $out/
sed -i "s/Grub Bootloader/${withBanner}/" $out/theme.txt
runHook postInstall
'';
meta = {
description = "Grub bootloader themes, contains light/dark/orange/bigSur styles";
homepage = "https://github.com/sandesh236/sleek--themes";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ luochen1990 ];
};
}

View File

@ -164,7 +164,7 @@ rec {
sha256 = "sha256-y1103SS0qkZMhEL5+7kQZ+OBs5tRaqkqOcs4796Fzhg=";
};
noto-fonts-emoji =
noto-fonts-color-emoji =
let
version = "2.038";
emojiPythonEnv =
@ -217,7 +217,7 @@ rec {
'';
meta = with lib; {
description = "Color and Black-and-White emoji fonts";
description = "Color emoji font";
homepage = "https://github.com/googlefonts/noto-emoji";
license = with licenses; [ ofl asl20 ];
platforms = platforms.all;
@ -225,6 +225,50 @@ rec {
};
};
noto-fonts-monochrome-emoji =
# Metadata fetched from
# https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=Noto+Emoji
let metadata = with builtins; head (fromJSON (readFile ./noto-emoji.json)).items;
urlHashes = with builtins; fromJSON (readFile ./noto-emoji.hashes.json);
in
stdenvNoCC.mkDerivation {
pname = "noto-fonts-monochrome-emoji";
version = "${lib.removePrefix "v" metadata.version}.${metadata.lastModified}";
preferLocalBuild = true;
dontUnpack = true;
srcs = let
weightNames = {
"300" = "Light";
regular = "Regular";
"500" = "Medium";
"600" = "SemiBold";
"700" = "Bold";
};
in lib.mapAttrsToList
(variant: url: fetchurl { name = "NotoEmoji-${weightNames.${variant}}.ttf";
hash = urlHashes.${url};
inherit url; } )
metadata.files;
installPhase = ''
for src in $srcs; do
install -D $src $out/share/fonts/noto/$(stripHash $src)
done
'';
meta = with lib; {
description = "Monochrome emoji font";
homepage = "https://fonts.google.com/noto/specimen/Noto+Emoji";
license = [ licenses.ofl ];
maintainers = [ maintainers.nicoo ];
platforms = platforms.all;
sourceProvenance = [ sourceTypes.binaryBytecode ];
};
};
noto-fonts-emoji-blob-bin =
let
pname = "noto-fonts-emoji-blob-bin";

View File

@ -0,0 +1,7 @@
{
"http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf": "sha256-9ndQqJJzsCkR6KcYRNVW3wXWMxcH+0QzFgQQdCG8vSo=",
"http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf": "sha256-AXGLdWebddyJhTKMW/D/6tW8ODcaXrUM96m2hN9wYlg=",
"http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf": "sha256-wzF9kKNMeQTYZ2QUT5pIgauhl2qMpZ2nMLNTeAJuqtQ=",
"http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf": "sha256-NIelE8X+lKtH6yT3eFPZV7zYUR3Y5GnNobAbf7AckR0=",
"http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf": "sha256-zkJuJ8YlTrUV+28wHIqny3yQvjvZqEPG4WXYmaLcY8A="
}

View File

@ -0,0 +1,30 @@
{
"kind": "webfonts#webfontList",
"items": [
{
"family": "Noto Emoji",
"variants": [
"300",
"regular",
"500",
"600",
"700"
],
"subsets": [
"emoji"
],
"version": "v46",
"lastModified": "2023-09-07",
"files": {
"300": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf",
"regular": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",
"500": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf",
"600": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf",
"700": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf"
},
"category": "sans-serif",
"kind": "webfonts#webfont",
"menu": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0gwuQeU.ttf"
}
]
}

View File

@ -0,0 +1,183 @@
#!/usr/bin/env nix-shell
#! nix-shell -i "python3 -I" -p python3
from contextlib import contextmanager
from pathlib import Path
from typing import Iterable, Optional
from urllib import request
import hashlib, json
def getMetadata(apiKey: str, family: str = "Noto Emoji"):
'''Fetch the Google Fonts metadata for a given family.
An API key can be obtained by anyone with a Google account (🚮) from
`https://developers.google.com/fonts/docs/developer_api#APIKey`
'''
from urllib.parse import urlencode
with request.urlopen(
"https://www.googleapis.com/webfonts/v1/webfonts?" +
urlencode({ 'key': apiKey, 'family': family })
) as req:
return json.load(req)
def getUrls(metadata) -> Iterable[str]:
'''Fetch all files' URLs from Google Fonts' metadata.
The metadata must obey the API v1 schema, and can be obtained from:
https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=${FAMILY}
'''
return ( url for i in metadata['items'] for _, url in i['files'].items() )
def hashUrl(url: str, *, hash: str = 'sha256'):
'''Compute the hash of the data from HTTP GETing a given `url`.
The `hash` must be an algorithm name `hashlib.new` accepts.
'''
with request.urlopen(url) as req:
return hashlib.new(hash, req.read())
def sriEncode(h) -> str:
'''Encode a hash in the SRI format.
Takes a `hashlib` object, and produces a string that
nixpkgs' `fetchurl` accepts as `hash` parameter.
'''
from base64 import b64encode
return f"{h.name}-{b64encode(h.digest()).decode()}"
def validateSRI(sri: Optional[str]) -> Optional[str]:
'''Decode an SRI hash, return `None` if invalid.
This is not a full SRI hash parser, hash options aren't supported.
'''
from base64 import b64decode
if sri is None:
return None
try:
hashName, b64 = sri.split('-', 1)
h = hashlib.new(hashName)
digest = b64decode(b64, validate=True)
assert len(digest) == h.digest_size
except:
return None
else:
return sri
def hashUrls(
urls: Iterable[str],
knownHashes: dict[str, str] = {},
) -> dict[str, str]:
'''Generate a `dict` mapping URLs to SRI-encoded hashes.
The `knownHashes` optional parameter can be used to avoid
re-downloading files whose URL have not changed.
'''
return {
url: validateSRI(knownHashes.get(url)) or sriEncode(hashUrl(url))
for url in urls
}
@contextmanager
def atomicFileUpdate(target: Path):
'''Atomically replace the contents of a file.
Yields an open file to write into; upon exiting the context,
the file is closed and (atomically) replaces the `target`.
Guarantees that the `target` was either successfully overwritten
with new content and no exception was raised, or the temporary
file was cleaned up.
'''
from tempfile import mkstemp
fd, _p = mkstemp(
dir = target.parent,
prefix = target.name,
)
tmpPath = Path(_p)
try:
with open(fd, 'w') as f:
yield f
tmpPath.replace(target)
except Exception:
tmpPath.unlink(missing_ok = True)
raise
if __name__ == "__main__":
from os import environ
from urllib.error import HTTPError
environVar = 'GOOGLE_FONTS_TOKEN'
currentDir = Path(__file__).parent
metadataPath = currentDir / 'noto-emoji.json'
try:
apiToken = environ[environVar]
metadata = getMetadata(apiToken)
except (KeyError, HTTPError) as exn:
# No API key in the environment, or the query was rejected.
match exn:
case KeyError if exn.args[0] == environVar:
print(f"No '{environVar}' in the environment, "
"skipping metadata update")
case HTTPError if exn.getcode() == 403:
print("Got HTTP 403 (Forbidden)")
if apiToken != '':
print("Your Google API key appears to be valid "
"but does not grant access to the fonts API.")
print("Aborting!")
raise SystemExit(1)
case HTTPError if exn.getcode() == 400:
# Printing the supposed token should be fine, as this is
# what the API returns on invalid tokens.
print(f"Got HTTP 400 (Bad Request), is this really an API token: '{apiToken}' ?")
case _:
# Unknown error, let's bubble it up
raise
# In that case just use the existing metadata
with metadataPath.open() as metadataFile:
metadata = json.load(metadataFile)
lastModified = metadata["items"][0]["lastModified"];
print(f"Using metadata from file, last modified {lastModified}")
else:
# If metadata was successfully fetched, validate and persist it
lastModified = metadata["items"][0]["lastModified"];
print(f"Fetched current metadata, last modified {lastModified}")
with atomicFileUpdate(metadataPath) as metadataFile:
json.dump(metadata, metadataFile, indent = 2)
metadataFile.write("\n") # Pacify nixpkgs' dumb editor config check
hashPath = currentDir / 'noto-emoji.hashes.json'
try:
with hashPath.open() as hashFile:
hashes = json.load(hashFile)
except FileNotFoundError:
hashes = {}
with atomicFileUpdate(hashPath) as hashFile:
json.dump(
hashUrls(getUrls(metadata), knownHashes = hashes),
hashFile,
indent = 2,
)
hashFile.write("\n") # Pacify nixpkgs' dumb editor config check

View File

@ -10,7 +10,7 @@
, python3
, which
, zopfli
, noto-fonts-emoji
, noto-fonts-color-emoji
}:
let
@ -33,15 +33,15 @@ stdenv.mkDerivation rec {
inherit version;
srcs = [
noto-fonts-emoji.src
noto-fonts-color-emoji.src
twemojiSrc
];
sourceRoot = noto-fonts-emoji.src.name;
sourceRoot = noto-fonts-color-emoji.src.name;
postUnpack = ''
chmod -R +w ${twemojiSrc.name}
mv ${twemojiSrc.name} ${noto-fonts-emoji.src.name}
mv ${twemojiSrc.name} ${noto-fonts-color-emoji.src.name}
'';
nativeBuildInputs = [
@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
"s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#"
];
in ''
${noto-fonts-emoji.postPatch}
${noto-fonts-color-emoji.postPatch}
sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl
pushd ${twemojiSrc.name}/assets/72x72/

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-circle";
version = "23.08.16";
version = "23.09.11";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-FXWue9CiX2zh7FXLnlG+SOto2Z4oznWNYpgZlMvVGn4=";
sha256 = "sha256-9GTNE9Gt+dxdfOLD0Qv1utSkwigalAPxixGSC5Nj8XM=";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-square";
version = "23.08.16";
version = "23.09.11";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-zlh3Jh3ZrNo58ijGPwdaiHnTFoT6L3ZC0VTRY0Se3qs=";
sha256 = "sha256-YipdEvmQnqiuxheYS+y5t37uonzr/nH54PVLm4xp31E=";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/ubuntu/yaru";
license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ];
platforms = platforms.linux;
maintainers = with maintainers; [ fortuneteller2k maxeaubrey ];
maintainers = with maintainers; [ fortuneteller2k amaxine ];
};
}

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
description = "Integrates maximized windows with the top panel";
homepage = "https://github.com/poehlerj/no-title-bar";
license = licenses.gpl2;
maintainers = with maintainers; [ jonafato svsdep maxeaubrey ];
maintainers = with maintainers; [ jonafato svsdep amaxine ];
platforms = platforms.linux;
};
}

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.7/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.8/ -A '*.tar.xz' )

View File

@ -16,22 +16,11 @@
, ktexteditor
, kwidgetsaddons
, kdoctools
, fetchpatch
}:
mkDerivation {
pname = "plasma-sdk";
patches = [
# remove duplicate doc entries, fix build
# FIXME: remove for next update
(fetchpatch {
url = "https://invent.kde.org/plasma/plasma-sdk/-/commit/e766c3c0483329f52ba0dd7536c4160131409f8e.patch";
revert = true;
hash = "sha256-NoQbRo+0gT4F4G6YbvTiQulqrsFtnD7z0/0I4teQvUM=";
})
];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
karchive

View File

@ -148,13 +148,6 @@ mkDerivation {
patches = [
./0001-startkde.patch
./0002-absolute-wallpaper-install-dir.patch
# backport patch fixing a Wayland crash
# FIXME: remove in next release
(fetchpatch {
url = "https://invent.kde.org/plasma/plasma-workspace/-/commit/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.diff";
hash = "sha256-cHupiD6fKZ7ICFb4AcuUErrA4646sNGxeGiACPs8IHQ=";
})
];
# QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools

View File

@ -4,475 +4,475 @@
{
aura-browser = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/aura-browser-5.27.7.tar.xz";
sha256 = "0pzb3wgqqq9sddc9ycwxhikc450s78v9287djb6p96mvprix205r";
name = "aura-browser-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/aura-browser-5.27.8.tar.xz";
sha256 = "0963d09whxld1l6fmi3z5qdkdvhl49khak3zjrq3cgs9sifvx08h";
name = "aura-browser-5.27.8.tar.xz";
};
};
bluedevil = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/bluedevil-5.27.7.tar.xz";
sha256 = "0ddzcarn06rvhbmvm9x737ba9ycxcvg030892nh6izgfrjlaxhfb";
name = "bluedevil-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/bluedevil-5.27.8.tar.xz";
sha256 = "09bq19xh5cms6zkp8rkf954mz6bf6k6cv345z28ai9a7l386y2rv";
name = "bluedevil-5.27.8.tar.xz";
};
};
breeze = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/breeze-5.27.7.tar.xz";
sha256 = "1wfclkg4d3wraz19kwpm87vwp9327s5y8n1a42qgrdh980qwzzdz";
name = "breeze-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/breeze-5.27.8.tar.xz";
sha256 = "0i1ywyq848g51glw8qkk2v5syp05c5d0dhyv1s6g393lrd9q596d";
name = "breeze-5.27.8.tar.xz";
};
};
breeze-grub = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/breeze-grub-5.27.7.tar.xz";
sha256 = "1c0096x75yhmr3irpbkz302gikqh2m1mz2s5j063db2ky72vlf9m";
name = "breeze-grub-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/breeze-grub-5.27.8.tar.xz";
sha256 = "08jws31cci1qyxsy5als31rrcld2j87bqq5ir9v1cch7j8vq1cz0";
name = "breeze-grub-5.27.8.tar.xz";
};
};
breeze-gtk = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/breeze-gtk-5.27.7.tar.xz";
sha256 = "1s2qv51qa867b0bf29b7j90yzqmn3s2dwblczsb79h2i1gnr8ci9";
name = "breeze-gtk-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/breeze-gtk-5.27.8.tar.xz";
sha256 = "1kpaxw7c41159bkxbv8kcjzrhdyizrllfvilrsiszr6vfcmla3s0";
name = "breeze-gtk-5.27.8.tar.xz";
};
};
breeze-plymouth = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/breeze-plymouth-5.27.7.tar.xz";
sha256 = "1vm33di6aaj95pf45g4r3hp79ag1i75mi1b5fpipjgi4aiiqvddz";
name = "breeze-plymouth-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/breeze-plymouth-5.27.8.tar.xz";
sha256 = "0p1vmmlvdg29whvsmvwgxpj4slr11z2wacnnbvq91y98q9jb1p8f";
name = "breeze-plymouth-5.27.8.tar.xz";
};
};
discover = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/discover-5.27.7.tar.xz";
sha256 = "0025g1whq8z1s5915jhq83xsiz4klzqpayfzqkar8c6gni5s3v59";
name = "discover-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/discover-5.27.8.tar.xz";
sha256 = "1lqg0bcqmcvvhdlxgll8psppxyq0m7r4w5awfjjcpgajmsxzrigi";
name = "discover-5.27.8.tar.xz";
};
};
drkonqi = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/drkonqi-5.27.7.tar.xz";
sha256 = "1li1j85yvg2nj392rl1jmdqx3mzmrdj0lf72j37xd8r2bi0ic9z8";
name = "drkonqi-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/drkonqi-5.27.8.tar.xz";
sha256 = "0b6vs4acsakhxkz44yjyhzdqba7yzm0nbabsnp8wqkp1dm8cr3wb";
name = "drkonqi-5.27.8.tar.xz";
};
};
flatpak-kcm = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/flatpak-kcm-5.27.7.tar.xz";
sha256 = "1crjxvfnx8jiaczwp7i96l75frcp866bv1rng8vizhi42pikbv52";
name = "flatpak-kcm-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/flatpak-kcm-5.27.8.tar.xz";
sha256 = "0mgdmbb0zkvzs3kwvgwk6sn5vj80m3wnccm53x9j5j02a40631nw";
name = "flatpak-kcm-5.27.8.tar.xz";
};
};
kactivitymanagerd = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kactivitymanagerd-5.27.7.tar.xz";
sha256 = "1d7vz8gwqa7nhfn62dsqircm0qbp9ryass82k2891mqj0qrlbwid";
name = "kactivitymanagerd-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kactivitymanagerd-5.27.8.tar.xz";
sha256 = "1n9jx3nxpdklm9cl82kz4racxq1f51gqfidp0mdxx7w3wzhnqjyl";
name = "kactivitymanagerd-5.27.8.tar.xz";
};
};
kde-cli-tools = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kde-cli-tools-5.27.7.tar.xz";
sha256 = "1br1i8ba4n7d2yl618ph4glsaasn3rxy4kjp48f12l9l2pk29nxa";
name = "kde-cli-tools-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kde-cli-tools-5.27.8.tar.xz";
sha256 = "18v72ja1wdyql8a8r8bjzmgz5x7pqg2s2akv156py1x9gfah5fm2";
name = "kde-cli-tools-5.27.8.tar.xz";
};
};
kde-gtk-config = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kde-gtk-config-5.27.7.tar.xz";
sha256 = "13qwj3gdfvs0l6k01n8hf25kzrsksi3qi0b1rzpshcj1ix31wamf";
name = "kde-gtk-config-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kde-gtk-config-5.27.8.tar.xz";
sha256 = "1lyrlqm34rll830ykak83c2r22v4blbgchnr6grchaz3hd1njz4p";
name = "kde-gtk-config-5.27.8.tar.xz";
};
};
kdecoration = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kdecoration-5.27.7.tar.xz";
sha256 = "153j3w00zwj6gx9ndq46vkfwx3ayig80j0jsqbkajk8zsncs89pg";
name = "kdecoration-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kdecoration-5.27.8.tar.xz";
sha256 = "12f8n0y3syj9yim7vjzrawyw9471yzqrb2irsdm5jjpsqqzkxbfy";
name = "kdecoration-5.27.8.tar.xz";
};
};
kdeplasma-addons = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kdeplasma-addons-5.27.7.tar.xz";
sha256 = "0l7g4lx6y10xfabfcgvh7zb7h08clj0g9yx8ajyg7rzwfa43visi";
name = "kdeplasma-addons-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kdeplasma-addons-5.27.8.tar.xz";
sha256 = "0ik59yfbal16k06jl89r1bl8n342rysw4p02y089jbg1n658cdbb";
name = "kdeplasma-addons-5.27.8.tar.xz";
};
};
kgamma5 = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kgamma5-5.27.7.tar.xz";
sha256 = "0v5fynydjha9wx9j59ysw8vxx2h2gm55q27gnnhgyv0wxva8hpnl";
name = "kgamma5-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kgamma5-5.27.8.tar.xz";
sha256 = "05ily30mh3wr17ax58ahkwkaa2fa0nkp8mi73s2w7y6g38khqgs8";
name = "kgamma5-5.27.8.tar.xz";
};
};
khotkeys = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/khotkeys-5.27.7.tar.xz";
sha256 = "1ipg71jz356jrngw7kqbjs7jplpnr8q3yz694rkhqklsqlfh91bd";
name = "khotkeys-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/khotkeys-5.27.8.tar.xz";
sha256 = "07m1ca39lxgiq29ls9n3bmrdycr18znwbcy4lq14i4g18f027qlc";
name = "khotkeys-5.27.8.tar.xz";
};
};
kinfocenter = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kinfocenter-5.27.7.tar.xz";
sha256 = "15hm828ifrrzsbkvknqwf0l3qxr45pdi49z823cw421z45r8ivkj";
name = "kinfocenter-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kinfocenter-5.27.8.tar.xz";
sha256 = "1k6rm87i4hls6b3x9prl2aqx3lpikisf3w3p35r6kcxsd2gn4vxg";
name = "kinfocenter-5.27.8.tar.xz";
};
};
kmenuedit = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kmenuedit-5.27.7.tar.xz";
sha256 = "0n60z44wbsjinrcrhs5cfnjs9szpsv2wzva2fiwwgh36j6zz5av7";
name = "kmenuedit-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kmenuedit-5.27.8.tar.xz";
sha256 = "17zk2jb3jbvw396r83481zj9md3k8hy90al3yz9i41ihyj9hl25f";
name = "kmenuedit-5.27.8.tar.xz";
};
};
kpipewire = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kpipewire-5.27.7.tar.xz";
sha256 = "10j7sa8vv530c388z5rzafkdr4sx3agjqczlnkh7412whyw77lha";
name = "kpipewire-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kpipewire-5.27.8.tar.xz";
sha256 = "1027a23m7kxmw6gxs93wssgc22pg91jhnmbxm1mghd2695nlrrjs";
name = "kpipewire-5.27.8.tar.xz";
};
};
kscreen = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kscreen-5.27.7.tar.xz";
sha256 = "03qa2qrwdjgb6va7akhwpdvzky608sq2lnwj3b1f310mn3hmbmrq";
name = "kscreen-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kscreen-5.27.8.tar.xz";
sha256 = "06q4iyn7mg0mmcardafzx6vzd1i3cm2kxdc22daw4mm0kqwjpjql";
name = "kscreen-5.27.8.tar.xz";
};
};
kscreenlocker = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kscreenlocker-5.27.7.tar.xz";
sha256 = "11y3ksd29p8hdn8chaf8vscnc7fbh8xkjdsbakrb056p1r8kn0f2";
name = "kscreenlocker-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kscreenlocker-5.27.8.tar.xz";
sha256 = "05px5ksppa6ladldwmksyhyyxbwwlzsy7dxwicvcbd7c521r6gws";
name = "kscreenlocker-5.27.8.tar.xz";
};
};
ksshaskpass = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/ksshaskpass-5.27.7.tar.xz";
sha256 = "0vmydvj4c9c93y9wyyjs2hr9m0hygssk1asl4idbj7mcy6n7acg1";
name = "ksshaskpass-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/ksshaskpass-5.27.8.tar.xz";
sha256 = "1bcrhmnkivig68lavk50qfhal4v7bycqh2npa7dnca4lanx1ki37";
name = "ksshaskpass-5.27.8.tar.xz";
};
};
ksystemstats = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/ksystemstats-5.27.7.tar.xz";
sha256 = "1fx5b566xx32q7gxi8qnnx6vny7ip5r65zi2znnx3azmwsc8jgvw";
name = "ksystemstats-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/ksystemstats-5.27.8.tar.xz";
sha256 = "0nli13g5mzm3lj4hba9vz90ikn6j2644pbdp8qmrmfzs991ma5if";
name = "ksystemstats-5.27.8.tar.xz";
};
};
kwallet-pam = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kwallet-pam-5.27.7.tar.xz";
sha256 = "1ac0hqpzqivg40jq7pfr2s1zydl600a3nyzfv97wc20i9myzafrb";
name = "kwallet-pam-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kwallet-pam-5.27.8.tar.xz";
sha256 = "0mgv2blyzq36r0y47nvj7n9wi2k7jf855karxh77rbra8arglxxs";
name = "kwallet-pam-5.27.8.tar.xz";
};
};
kwayland-integration = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kwayland-integration-5.27.7.tar.xz";
sha256 = "1fvf64vx5m3h5v8h697ixkcifhva6a14wlz75kv6759ji9l9fy8y";
name = "kwayland-integration-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kwayland-integration-5.27.8.tar.xz";
sha256 = "11bkd11m6srnmwy8vz11228mb1rfhfni9s0arwrzqq8xgjivfzbs";
name = "kwayland-integration-5.27.8.tar.xz";
};
};
kwin = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kwin-5.27.7.tar.xz";
sha256 = "0bssp76lzqqlan5pfg6wjf4z9c6pl6p66ri8p82vqqw406x5bzyb";
name = "kwin-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kwin-5.27.8.tar.xz";
sha256 = "1s9j0wkwsqvqnld8ndgldhg6ifnpml73cswbx4yay1c8cilcs9p7";
name = "kwin-5.27.8.tar.xz";
};
};
kwrited = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/kwrited-5.27.7.tar.xz";
sha256 = "1a4g05ynblbz0j0lqclxf6628x6wcd3b52l0smic3rdvbis43v0n";
name = "kwrited-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/kwrited-5.27.8.tar.xz";
sha256 = "0y45kh4zdsh2jb8r51kpdacayyf6nba0xnhgks9bk70i6g9vj5s9";
name = "kwrited-5.27.8.tar.xz";
};
};
layer-shell-qt = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/layer-shell-qt-5.27.7.tar.xz";
sha256 = "08glqqh7jmqrli4n7j04lz3w3c6192w8p7ki51ksmwivnxylxi17";
name = "layer-shell-qt-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/layer-shell-qt-5.27.8.tar.xz";
sha256 = "1aw8qs85k714nccb9gnslk3af1gj52b8x2ll9jgvbfhh2yx2lbvp";
name = "layer-shell-qt-5.27.8.tar.xz";
};
};
libkscreen = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/libkscreen-5.27.7.tar.xz";
sha256 = "1ary7qavz8vkzbvjx2mxv09h61hxa7i4f7rfgbykldbc83ripdc6";
name = "libkscreen-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/libkscreen-5.27.8.tar.xz";
sha256 = "0843db3f6b11nfr41bjf22jc74ff36x727sy548a75z2ipajymll";
name = "libkscreen-5.27.8.tar.xz";
};
};
libksysguard = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/libksysguard-5.27.7.tar.xz";
sha256 = "066bjar4105bfyry6ni7nnikz66bqzy5nvssz6vm4np3aa996ak8";
name = "libksysguard-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/libksysguard-5.27.8.tar.xz";
sha256 = "0zgx8miggiasfk519sqccd54mxa237is06v6nhpixv8a7ccc0950";
name = "libksysguard-5.27.8.tar.xz";
};
};
milou = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/milou-5.27.7.tar.xz";
sha256 = "0lq8m72nwink8x46m8qd5zdkadym1kc70ipnkb04b16mr7zhnsc1";
name = "milou-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/milou-5.27.8.tar.xz";
sha256 = "1rq8kkk609n0ccm0hrhp06lz82rny42dy3iz085048iasfl7d72d";
name = "milou-5.27.8.tar.xz";
};
};
oxygen = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/oxygen-5.27.7.tar.xz";
sha256 = "139rar9d36cvp6hl7857qkw9h0xbmk2i7x3mdgjpsabv5wpzq652";
name = "oxygen-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/oxygen-5.27.8.tar.xz";
sha256 = "12y4hfygd7v004cs1ydx01mbypljpvwjwdcww08570dz9zc8aasz";
name = "oxygen-5.27.8.tar.xz";
};
};
oxygen-sounds = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/oxygen-sounds-5.27.7.tar.xz";
sha256 = "132jaabfpj8k6xk6f1732a0qgjz1mzyyk74b1mm7q7pyhpypr2gq";
name = "oxygen-sounds-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/oxygen-sounds-5.27.8.tar.xz";
sha256 = "01d4lnfyrpyz7fxj5damdjlwdlfm7lywz82mk1xgs6g0f7lxg5yn";
name = "oxygen-sounds-5.27.8.tar.xz";
};
};
plank-player = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plank-player-5.27.7.tar.xz";
sha256 = "0360affl3wl6aa6lmd7lc6lpzq2v8sqbr5ah2c5vmq0n0p4xxk4n";
name = "plank-player-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plank-player-5.27.8.tar.xz";
sha256 = "1bgdmiy6bzy08xjj2vd546p632dghpd1q5xlbbjhs6ck4a60q64k";
name = "plank-player-5.27.8.tar.xz";
};
};
plasma-bigscreen = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-bigscreen-5.27.7.tar.xz";
sha256 = "0b2w0d5w1s2jm7al1nqdc1qh9fmrj8fw93wjbb2bsa9fabz2i81b";
name = "plasma-bigscreen-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-bigscreen-5.27.8.tar.xz";
sha256 = "0bigadshjprfsd7wlyn8apmb50ncwr74kb13hbnhh5kqadzv8kfl";
name = "plasma-bigscreen-5.27.8.tar.xz";
};
};
plasma-browser-integration = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-browser-integration-5.27.7.tar.xz";
sha256 = "0c30pdlhl452bjpdc7mwxl01hqabahyc0j1cc54liy0hla9vir9y";
name = "plasma-browser-integration-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-browser-integration-5.27.8.tar.xz";
sha256 = "1rwmnkkwf52i9c5dj11mr4ny3gylw6mb2g5iwzp7kqyaknnyqjlw";
name = "plasma-browser-integration-5.27.8.tar.xz";
};
};
plasma-desktop = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-desktop-5.27.7.tar.xz";
sha256 = "1njkjf3fhxfmwyviypxqzrn23klxiih82bazvd8y61cshqwai6i2";
name = "plasma-desktop-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-desktop-5.27.8.tar.xz";
sha256 = "1bmw7v8c8a4h63hjfg3ddg1r3ff6s0pri6fmml9430ynk850lrnz";
name = "plasma-desktop-5.27.8.tar.xz";
};
};
plasma-disks = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-disks-5.27.7.tar.xz";
sha256 = "0jwjv20ra1mhwl2cm7x2jz8pasmkc58fd57qxhzzf84l4sgbda9v";
name = "plasma-disks-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-disks-5.27.8.tar.xz";
sha256 = "0yg2b8nqcws7sw25pxf4iwhr9qdg983x69arfls85xyjkkchnz4q";
name = "plasma-disks-5.27.8.tar.xz";
};
};
plasma-firewall = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-firewall-5.27.7.tar.xz";
sha256 = "1n5ljkydhcx6qapwrshslq835zaf02gssp2zvzi3vwfy4asc7ind";
name = "plasma-firewall-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-firewall-5.27.8.tar.xz";
sha256 = "05w9716bs2fh126v85n6vy5ydglh0xbsasdzzq10mdbkmswjrfbf";
name = "plasma-firewall-5.27.8.tar.xz";
};
};
plasma-integration = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-integration-5.27.7.tar.xz";
sha256 = "1ahzckvc69wk2rx73sl40h0in1y7ny0vm0i7lbrrcggv1v36dwp3";
name = "plasma-integration-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-integration-5.27.8.tar.xz";
sha256 = "14f732s64mchqfspd5f29x0h03lysk57vvciribzndj5bgkzn77v";
name = "plasma-integration-5.27.8.tar.xz";
};
};
plasma-mobile = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-mobile-5.27.7.tar.xz";
sha256 = "0f32xj9v32f89pdhwsmwm2xqfwcypq8r85jhj4zq887zxy1cgn0n";
name = "plasma-mobile-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-mobile-5.27.8.tar.xz";
sha256 = "0xzsil3jprpld5hq7b1al4pkbcckdx1iywq9kf4r0hvw70v9r7hn";
name = "plasma-mobile-5.27.8.tar.xz";
};
};
plasma-nano = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-nano-5.27.7.tar.xz";
sha256 = "14wc76bxnwd0z51gz4zb88p5h9n2711ifr1wpx9lrj9r7y1llank";
name = "plasma-nano-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-nano-5.27.8.tar.xz";
sha256 = "1556i16x3cjs42jb1wkyi0y43p1cgmf5hq6hs8kxmdsnky0mbwn2";
name = "plasma-nano-5.27.8.tar.xz";
};
};
plasma-nm = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-nm-5.27.7.tar.xz";
sha256 = "1w9zclih2mh8gqwahsmbbm0nrg1b6gcr5w2w02szlw30iq8k92j8";
name = "plasma-nm-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-nm-5.27.8.tar.xz";
sha256 = "0rischaaq8hbvrkdhhyasss5fq39q2i8n86qhq6alj4s571r6m57";
name = "plasma-nm-5.27.8.tar.xz";
};
};
plasma-pa = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-pa-5.27.7.tar.xz";
sha256 = "1vg28v5n648y94m6amcwmr0n7dw4a2kfx16kny7jb9bkmxrgnwsc";
name = "plasma-pa-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-pa-5.27.8.tar.xz";
sha256 = "02yp7vyzjghhxpzsl8ahza09c2cb2l64jwax2r67kfhsvcr428v9";
name = "plasma-pa-5.27.8.tar.xz";
};
};
plasma-remotecontrollers = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-remotecontrollers-5.27.7.tar.xz";
sha256 = "0iswjkg93hf5vnvy5a4gpkc7p5d2d0b4nm74v2k9j23svipnzbah";
name = "plasma-remotecontrollers-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-remotecontrollers-5.27.8.tar.xz";
sha256 = "1xzs4gjfwfbva12j11fh626w1a8wi2aifc30dnga5c9yghfg75m2";
name = "plasma-remotecontrollers-5.27.8.tar.xz";
};
};
plasma-sdk = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-sdk-5.27.7.tar.xz";
sha256 = "1jbd2y1hryif8a2s3x74xjgm9nrx5ln0bszn94igi4g9p8vsdq86";
name = "plasma-sdk-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-sdk-5.27.8.tar.xz";
sha256 = "1fwhfks4a0x4h55g08d5mfdncm2r8c1x35xkbsa7xzm5wdf1v5lz";
name = "plasma-sdk-5.27.8.tar.xz";
};
};
plasma-systemmonitor = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-systemmonitor-5.27.7.tar.xz";
sha256 = "1qr8krc7d1hzxv0gx0ii0rxk9bm62rgh157mr8x785qqbd11nq8l";
name = "plasma-systemmonitor-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-systemmonitor-5.27.8.tar.xz";
sha256 = "09qc6l6d17w61bdjn03a45dqp2sw8s8bp5bjh8cq61zrc7yfpimx";
name = "plasma-systemmonitor-5.27.8.tar.xz";
};
};
plasma-thunderbolt = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-thunderbolt-5.27.7.tar.xz";
sha256 = "0sgh5pafp9i0bhk7fhxc4fy20ldwidc1f5n4fcsya4aviy4cf2nn";
name = "plasma-thunderbolt-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-thunderbolt-5.27.8.tar.xz";
sha256 = "05c7k0p6jb1s1bv4i5cilcid68s4pd5h4qp22hajmv14xk6a8pdk";
name = "plasma-thunderbolt-5.27.8.tar.xz";
};
};
plasma-vault = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-vault-5.27.7.tar.xz";
sha256 = "1p5m5rlamb50cbd1qlx81m003sv8vdijkpy5airmy1pf6xmvl6hq";
name = "plasma-vault-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-vault-5.27.8.tar.xz";
sha256 = "1r6yv9xp0cc0ly04wcnlkwf711jrpb3v5ix8w7rwvki9cnlah1w9";
name = "plasma-vault-5.27.8.tar.xz";
};
};
plasma-welcome = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-welcome-5.27.7.tar.xz";
sha256 = "0nz1hxz5nvgl3sbm6k3a76s0l3fy3j38i4plly2zhp5xqdk0ks1x";
name = "plasma-welcome-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-welcome-5.27.8.tar.xz";
sha256 = "1laqdh014hmsivnncn5j1annmk6p82dadda3hnr94996fanphpqv";
name = "plasma-welcome-5.27.8.tar.xz";
};
};
plasma-workspace = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-5.27.7.tar.xz";
sha256 = "0pyf5vc466mfgicxpp76igdz58lpa0n7x2cl2hhaq4zmrlfr8hh6";
name = "plasma-workspace-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-5.27.8.tar.xz";
sha256 = "1w0fnv9n8jcv34nw28v9hc08zb6lnwlwjql5041h13pja6cd4rd5";
name = "plasma-workspace-5.27.8.tar.xz";
};
};
plasma-workspace-wallpapers = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-wallpapers-5.27.7.tar.xz";
sha256 = "181q0mmmp3dygzafgh4qq2pwi5w15vw6mwc21nkl98qf6z773ify";
name = "plasma-workspace-wallpapers-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-wallpapers-5.27.8.tar.xz";
sha256 = "1qkzrgx90r79l2xvwwasiyby58ag00f3bimfgfwm2lk8qa4zm5mg";
name = "plasma-workspace-wallpapers-5.27.8.tar.xz";
};
};
plymouth-kcm = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/plymouth-kcm-5.27.7.tar.xz";
sha256 = "1y7ahb0wir10isls65yp5p164kiw3jn8bf8zn9bkkjqp649av9sw";
name = "plymouth-kcm-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/plymouth-kcm-5.27.8.tar.xz";
sha256 = "1spv976q95zip2cs9lwb7hlmcn2cr6gna0cky0lvagpi02kznpqj";
name = "plymouth-kcm-5.27.8.tar.xz";
};
};
polkit-kde-agent = {
version = "1-5.27.7";
version = "1-5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/polkit-kde-agent-1-5.27.7.tar.xz";
sha256 = "0p6gnv59mnb5y6riiifyg98sk8zycchv8bkf7x1332qa7zqhcjcc";
name = "polkit-kde-agent-1-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/polkit-kde-agent-1-5.27.8.tar.xz";
sha256 = "13fgz47q1khra7vwl5wkm99bk279gmgivykg3jm9qy57rhakg5sq";
name = "polkit-kde-agent-1-5.27.8.tar.xz";
};
};
powerdevil = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/powerdevil-5.27.7.tar.xz";
sha256 = "151qhpf5j33jk3jhhxsr4zaf0z3f8xlnw8inmzf2a8lficiq9060";
name = "powerdevil-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/powerdevil-5.27.8.tar.xz";
sha256 = "0jvp6sm6jrxk4j3h30076rv2jp21vpn17sins92phcms1i0yjry5";
name = "powerdevil-5.27.8.tar.xz";
};
};
qqc2-breeze-style = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/qqc2-breeze-style-5.27.7.tar.xz";
sha256 = "0cjrjnj8iwjb9jxp28a30zxb56nhgslrbxzqy392b5sz2x5gbd04";
name = "qqc2-breeze-style-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/qqc2-breeze-style-5.27.8.tar.xz";
sha256 = "1h7i3myr56by8j12rc09665qdxn2jhh4jxq25fg27g704ci3b55v";
name = "qqc2-breeze-style-5.27.8.tar.xz";
};
};
sddm-kcm = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/sddm-kcm-5.27.7.tar.xz";
sha256 = "0hrw22ihrzph573lkwys6g5bnj72rwff1w1wjq0jzkcr3i8zai86";
name = "sddm-kcm-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/sddm-kcm-5.27.8.tar.xz";
sha256 = "1fgflgnirwa9i03fvrsq4dm6g9ikdwm1qqfha2xgk9ji2987rsj6";
name = "sddm-kcm-5.27.8.tar.xz";
};
};
systemsettings = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/systemsettings-5.27.7.tar.xz";
sha256 = "0vkcmb4sch97sq5xd8rj8z42qdcxy5ys758q6dl69kbv9hadl7bw";
name = "systemsettings-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/systemsettings-5.27.8.tar.xz";
sha256 = "1f9zfjw6wcq1rvzvsldg49n0axbi40fnf2qic4lj1yrdb9qi351y";
name = "systemsettings-5.27.8.tar.xz";
};
};
xdg-desktop-portal-kde = {
version = "5.27.7";
version = "5.27.8";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.7/xdg-desktop-portal-kde-5.27.7.tar.xz";
sha256 = "1k88zr073qj96wfbj500mwn8fxj39pxscc6wqhsfjpa6ssxgknyc";
name = "xdg-desktop-portal-kde-5.27.7.tar.xz";
url = "${mirror}/stable/plasma/5.27.8/xdg-desktop-portal-kde-5.27.8.tar.xz";
sha256 = "0lrz4xfc7d6fv6dl4zxafkd5r2089f2rypkw90zsfqv39hjdy7vy";
name = "xdg-desktop-portal-kde-5.27.8.tar.xz";
};
};
}

View File

@ -85,7 +85,7 @@ let
homepage = "https://wiki.gnome.org/Projects/Vala";
license = licenses.lgpl21Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ antono jtojnar maxeaubrey ] ++ teams.pantheon.members;
maintainers = with maintainers; [ antono jtojnar amaxine ] ++ teams.pantheon.members;
};
});

View File

@ -1,6 +1,6 @@
{ mkDerivation }:
mkDerivation {
version = "25.3.2.5";
sha256 = "fnyWyJ+QsaJk2/LK8jOuxZmt3AFXmeubdeoYSGid/0A=";
version = "25.3.2.6";
sha256 = "iImrVaoS5bajaZZQoZoG3VzWHFmWvId8xQPKLhl9iQo=";
}

View File

@ -0,0 +1,361 @@
From 4de93ac70c3292fc944e4587101a52a29f8b0c9c Mon Sep 17 00:00:00 2001
From: Vincent Rabaud <vrabaud@google.com>
Date: Thu, 7 Sep 2023 21:16:03 +0200
Subject: [PATCH] Fix OOB write in BuildHuffmanTable.
First, BuildHuffmanTable is called to check if the data is valid.
If it is and the table is not big enough, more memory is allocated.
This will make sure that valid (but unoptimized because of unbalanced
codes) streams are still decodable.
Bug: chromium:1479274
Change-Id: I31c36dbf3aa78d35ecf38706b50464fd3d375741
(cherry picked from commit 902bc9190331343b2017211debcec8d2ab87e17a)
---
src/dec/vp8l_dec.c | 46 ++++++++++---------
src/dec/vp8li_dec.h | 2 +-
src/utils/huffman_utils.c | 97 +++++++++++++++++++++++++++++++--------
src/utils/huffman_utils.h | 27 +++++++++--
4 files changed, 129 insertions(+), 43 deletions(-)
diff --git a/src/dec/vp8l_dec.c b/src/dec/vp8l_dec.c
index c0ea0181..7995313f 100644
--- a/src/dec/vp8l_dec.c
+++ b/src/dec/vp8l_dec.c
@@ -253,11 +253,11 @@ static int ReadHuffmanCodeLengths(
int symbol;
int max_symbol;
int prev_code_len = DEFAULT_CODE_LENGTH;
- HuffmanCode table[1 << LENGTHS_TABLE_BITS];
+ HuffmanTables tables;
- if (!VP8LBuildHuffmanTable(table, LENGTHS_TABLE_BITS,
- code_length_code_lengths,
- NUM_CODE_LENGTH_CODES)) {
+ if (!VP8LHuffmanTablesAllocate(1 << LENGTHS_TABLE_BITS, &tables) ||
+ !VP8LBuildHuffmanTable(&tables, LENGTHS_TABLE_BITS,
+ code_length_code_lengths, NUM_CODE_LENGTH_CODES)) {
goto End;
}
@@ -277,7 +277,7 @@ static int ReadHuffmanCodeLengths(
int code_len;
if (max_symbol-- == 0) break;
VP8LFillBitWindow(br);
- p = &table[VP8LPrefetchBits(br) & LENGTHS_TABLE_MASK];
+ p = &tables.curr_segment->start[VP8LPrefetchBits(br) & LENGTHS_TABLE_MASK];
VP8LSetBitPos(br, br->bit_pos_ + p->bits);
code_len = p->value;
if (code_len < kCodeLengthLiterals) {
@@ -300,6 +300,7 @@ static int ReadHuffmanCodeLengths(
ok = 1;
End:
+ VP8LHuffmanTablesDeallocate(&tables);
if (!ok) dec->status_ = VP8_STATUS_BITSTREAM_ERROR;
return ok;
}
@@ -307,7 +308,8 @@ static int ReadHuffmanCodeLengths(
// 'code_lengths' is pre-allocated temporary buffer, used for creating Huffman
// tree.
static int ReadHuffmanCode(int alphabet_size, VP8LDecoder* const dec,
- int* const code_lengths, HuffmanCode* const table) {
+ int* const code_lengths,
+ HuffmanTables* const table) {
int ok = 0;
int size = 0;
VP8LBitReader* const br = &dec->br_;
@@ -362,8 +364,7 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
VP8LMetadata* const hdr = &dec->hdr_;
uint32_t* huffman_image = NULL;
HTreeGroup* htree_groups = NULL;
- HuffmanCode* huffman_tables = NULL;
- HuffmanCode* huffman_table = NULL;
+ HuffmanTables* huffman_tables = &hdr->huffman_tables_;
int num_htree_groups = 1;
int num_htree_groups_max = 1;
int max_alphabet_size = 0;
@@ -372,6 +373,10 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
int* mapping = NULL;
int ok = 0;
+ // Check the table has been 0 initialized (through InitMetadata).
+ assert(huffman_tables->root.start == NULL);
+ assert(huffman_tables->curr_segment == NULL);
+
if (allow_recursion && VP8LReadBits(br, 1)) {
// use meta Huffman codes.
const int huffman_precision = VP8LReadBits(br, 3) + 2;
@@ -434,16 +439,15 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
code_lengths = (int*)WebPSafeCalloc((uint64_t)max_alphabet_size,
sizeof(*code_lengths));
- huffman_tables = (HuffmanCode*)WebPSafeMalloc(num_htree_groups * table_size,
- sizeof(*huffman_tables));
htree_groups = VP8LHtreeGroupsNew(num_htree_groups);
- if (htree_groups == NULL || code_lengths == NULL || huffman_tables == NULL) {
+ if (htree_groups == NULL || code_lengths == NULL ||
+ !VP8LHuffmanTablesAllocate(num_htree_groups * table_size,
+ huffman_tables)) {
dec->status_ = VP8_STATUS_OUT_OF_MEMORY;
goto Error;
}
- huffman_table = huffman_tables;
for (i = 0; i < num_htree_groups_max; ++i) {
// If the index "i" is unused in the Huffman image, just make sure the
// coefficients are valid but do not store them.
@@ -468,19 +472,20 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
int max_bits = 0;
for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; ++j) {
int alphabet_size = kAlphabetSize[j];
- htrees[j] = huffman_table;
if (j == 0 && color_cache_bits > 0) {
alphabet_size += (1 << color_cache_bits);
}
- size = ReadHuffmanCode(alphabet_size, dec, code_lengths, huffman_table);
+ size =
+ ReadHuffmanCode(alphabet_size, dec, code_lengths, huffman_tables);
+ htrees[j] = huffman_tables->curr_segment->curr_table;
if (size == 0) {
goto Error;
}
if (is_trivial_literal && kLiteralMap[j] == 1) {
- is_trivial_literal = (huffman_table->bits == 0);
+ is_trivial_literal = (htrees[j]->bits == 0);
}
- total_size += huffman_table->bits;
- huffman_table += size;
+ total_size += htrees[j]->bits;
+ huffman_tables->curr_segment->curr_table += size;
if (j <= ALPHA) {
int local_max_bits = code_lengths[0];
int k;
@@ -515,14 +520,13 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
hdr->huffman_image_ = huffman_image;
hdr->num_htree_groups_ = num_htree_groups;
hdr->htree_groups_ = htree_groups;
- hdr->huffman_tables_ = huffman_tables;
Error:
WebPSafeFree(code_lengths);
WebPSafeFree(mapping);
if (!ok) {
WebPSafeFree(huffman_image);
- WebPSafeFree(huffman_tables);
+ VP8LHuffmanTablesDeallocate(huffman_tables);
VP8LHtreeGroupsFree(htree_groups);
}
return ok;
@@ -1358,7 +1362,7 @@ static void ClearMetadata(VP8LMetadata* const hdr) {
assert(hdr != NULL);
WebPSafeFree(hdr->huffman_image_);
- WebPSafeFree(hdr->huffman_tables_);
+ VP8LHuffmanTablesDeallocate(&hdr->huffman_tables_);
VP8LHtreeGroupsFree(hdr->htree_groups_);
VP8LColorCacheClear(&hdr->color_cache_);
VP8LColorCacheClear(&hdr->saved_color_cache_);
@@ -1673,7 +1677,7 @@ int VP8LDecodeImage(VP8LDecoder* const dec) {
if (dec == NULL) return 0;
- assert(dec->hdr_.huffman_tables_ != NULL);
+ assert(dec->hdr_.huffman_tables_.root.start != NULL);
assert(dec->hdr_.htree_groups_ != NULL);
assert(dec->hdr_.num_htree_groups_ > 0);
diff --git a/src/dec/vp8li_dec.h b/src/dec/vp8li_dec.h
index 72b2e861..32540a4b 100644
--- a/src/dec/vp8li_dec.h
+++ b/src/dec/vp8li_dec.h
@@ -51,7 +51,7 @@ typedef struct {
uint32_t* huffman_image_;
int num_htree_groups_;
HTreeGroup* htree_groups_;
- HuffmanCode* huffman_tables_;
+ HuffmanTables huffman_tables_;
} VP8LMetadata;
typedef struct VP8LDecoder VP8LDecoder;
diff --git a/src/utils/huffman_utils.c b/src/utils/huffman_utils.c
index 90c2fbf7..cf73abd4 100644
--- a/src/utils/huffman_utils.c
+++ b/src/utils/huffman_utils.c
@@ -177,21 +177,24 @@ static int BuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
if (num_open < 0) {
return 0;
}
- if (root_table == NULL) continue;
for (; count[len] > 0; --count[len]) {
HuffmanCode code;
if ((key & mask) != low) {
- table += table_size;
+ if (root_table != NULL) table += table_size;
table_bits = NextTableBitSize(count, len, root_bits);
table_size = 1 << table_bits;
total_size += table_size;
low = key & mask;
- root_table[low].bits = (uint8_t)(table_bits + root_bits);
- root_table[low].value = (uint16_t)((table - root_table) - low);
+ if (root_table != NULL) {
+ root_table[low].bits = (uint8_t)(table_bits + root_bits);
+ root_table[low].value = (uint16_t)((table - root_table) - low);
+ }
+ }
+ if (root_table != NULL) {
+ code.bits = (uint8_t)(len - root_bits);
+ code.value = (uint16_t)sorted[symbol++];
+ ReplicateValue(&table[key >> root_bits], step, table_size, code);
}
- code.bits = (uint8_t)(len - root_bits);
- code.value = (uint16_t)sorted[symbol++];
- ReplicateValue(&table[key >> root_bits], step, table_size, code);
key = GetNextKey(key, len);
}
}
@@ -211,25 +214,83 @@ static int BuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
((1 << MAX_CACHE_BITS) + NUM_LITERAL_CODES + NUM_LENGTH_CODES)
// Cut-off value for switching between heap and stack allocation.
#define SORTED_SIZE_CUTOFF 512
-int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
+int VP8LBuildHuffmanTable(HuffmanTables* const root_table, int root_bits,
const int code_lengths[], int code_lengths_size) {
- int total_size;
+ const int total_size =
+ BuildHuffmanTable(NULL, root_bits, code_lengths, code_lengths_size, NULL);
assert(code_lengths_size <= MAX_CODE_LENGTHS_SIZE);
- if (root_table == NULL) {
- total_size = BuildHuffmanTable(NULL, root_bits,
- code_lengths, code_lengths_size, NULL);
- } else if (code_lengths_size <= SORTED_SIZE_CUTOFF) {
+ if (total_size == 0 || root_table == NULL) return total_size;
+
+ if (root_table->curr_segment->curr_table + total_size >=
+ root_table->curr_segment->start + root_table->curr_segment->size) {
+ // If 'root_table' does not have enough memory, allocate a new segment.
+ // The available part of root_table->curr_segment is left unused because we
+ // need a contiguous buffer.
+ const int segment_size = root_table->curr_segment->size;
+ struct HuffmanTablesSegment* next =
+ (HuffmanTablesSegment*)WebPSafeMalloc(1, sizeof(*next));
+ if (next == NULL) return 0;
+ // Fill the new segment.
+ // We need at least 'total_size' but if that value is small, it is better to
+ // allocate a big chunk to prevent more allocations later. 'segment_size' is
+ // therefore chosen (any other arbitrary value could be chosen).
+ next->size = total_size > segment_size ? total_size : segment_size;
+ next->start =
+ (HuffmanCode*)WebPSafeMalloc(next->size, sizeof(*next->start));
+ if (next->start == NULL) {
+ WebPSafeFree(next);
+ return 0;
+ }
+ next->curr_table = next->start;
+ next->next = NULL;
+ // Point to the new segment.
+ root_table->curr_segment->next = next;
+ root_table->curr_segment = next;
+ }
+ if (code_lengths_size <= SORTED_SIZE_CUTOFF) {
// use local stack-allocated array.
uint16_t sorted[SORTED_SIZE_CUTOFF];
- total_size = BuildHuffmanTable(root_table, root_bits,
- code_lengths, code_lengths_size, sorted);
- } else { // rare case. Use heap allocation.
+ BuildHuffmanTable(root_table->curr_segment->curr_table, root_bits,
+ code_lengths, code_lengths_size, sorted);
+ } else { // rare case. Use heap allocation.
uint16_t* const sorted =
(uint16_t*)WebPSafeMalloc(code_lengths_size, sizeof(*sorted));
if (sorted == NULL) return 0;
- total_size = BuildHuffmanTable(root_table, root_bits,
- code_lengths, code_lengths_size, sorted);
+ BuildHuffmanTable(root_table->curr_segment->curr_table, root_bits,
+ code_lengths, code_lengths_size, sorted);
WebPSafeFree(sorted);
}
return total_size;
}
+
+int VP8LHuffmanTablesAllocate(int size, HuffmanTables* huffman_tables) {
+ // Have 'segment' point to the first segment for now, 'root'.
+ HuffmanTablesSegment* const root = &huffman_tables->root;
+ huffman_tables->curr_segment = root;
+ // Allocate root.
+ root->start = (HuffmanCode*)WebPSafeMalloc(size, sizeof(*root->start));
+ if (root->start == NULL) return 0;
+ root->curr_table = root->start;
+ root->next = NULL;
+ root->size = size;
+ return 1;
+}
+
+void VP8LHuffmanTablesDeallocate(HuffmanTables* const huffman_tables) {
+ HuffmanTablesSegment *current, *next;
+ if (huffman_tables == NULL) return;
+ // Free the root node.
+ current = &huffman_tables->root;
+ next = current->next;
+ WebPSafeFree(current->start);
+ current->start = NULL;
+ current->next = NULL;
+ current = next;
+ // Free the following nodes.
+ while (current != NULL) {
+ next = current->next;
+ WebPSafeFree(current->start);
+ WebPSafeFree(current);
+ current = next;
+ }
+}
diff --git a/src/utils/huffman_utils.h b/src/utils/huffman_utils.h
index 13b7ad1a..98415c53 100644
--- a/src/utils/huffman_utils.h
+++ b/src/utils/huffman_utils.h
@@ -43,6 +43,29 @@ typedef struct {
// or non-literal symbol otherwise
} HuffmanCode32;
+// Contiguous memory segment of HuffmanCodes.
+typedef struct HuffmanTablesSegment {
+ HuffmanCode* start;
+ // Pointer to where we are writing into the segment. Starts at 'start' and
+ // cannot go beyond 'start' + 'size'.
+ HuffmanCode* curr_table;
+ // Pointer to the next segment in the chain.
+ struct HuffmanTablesSegment* next;
+ int size;
+} HuffmanTablesSegment;
+
+// Chained memory segments of HuffmanCodes.
+typedef struct HuffmanTables {
+ HuffmanTablesSegment root;
+ // Currently processed segment. At first, this is 'root'.
+ HuffmanTablesSegment* curr_segment;
+} HuffmanTables;
+
+// Allocates a HuffmanTables with 'size' contiguous HuffmanCodes. Returns 0 on
+// memory allocation error, 1 otherwise.
+int VP8LHuffmanTablesAllocate(int size, HuffmanTables* huffman_tables);
+void VP8LHuffmanTablesDeallocate(HuffmanTables* const huffman_tables);
+
#define HUFFMAN_PACKED_BITS 6
#define HUFFMAN_PACKED_TABLE_SIZE (1u << HUFFMAN_PACKED_BITS)
@@ -78,9 +101,7 @@ void VP8LHtreeGroupsFree(HTreeGroup* const htree_groups);
// the huffman table.
// Returns built table size or 0 in case of error (invalid tree or
// memory error).
-// If root_table is NULL, it returns 0 if a lookup cannot be built, something
-// > 0 otherwise (but not the table size).
-int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
+int VP8LBuildHuffmanTable(HuffmanTables* const root_table, int root_bits,
const int code_lengths[], int code_lengths_size);
#ifdef __cplusplus
--
2.41.0

View File

@ -36,6 +36,14 @@ stdenv.mkDerivation rec {
hash = "sha256-Q94avvKjPdwdGt5ADo30cf2V4T7MCTubDHJxTtbG4xQ=";
};
patches = [
# Commit 902bc919 from upstream, mangled slightly to apply onto 1.3.1.
# There is currently (2023-09-12) no confirmation that this is the fix for
# CVE-2023-4863, but it is linked to the right crbug, and matches the
# description of that (critical sev, exploited in the wild) CVE.
./CVE-2023-4863.patch
];
configureFlags = [
(lib.enableFeature threadingSupport "threading")
(lib.enableFeature openglSupport "gl")

View File

@ -93,10 +93,12 @@ mapAliases {
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
inherit (pkgs) near-cli; # added 2023-09-09
node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21
inherit (pkgs) npm-check-updates; # added 2023-08-22
ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
parcel-bundler = parcel; # added 2023-09-04
inherit (pkgs) quicktype; # added 2023-09-09
inherit (pkgs) react-static; # added 2023-08-21
readability-cli = pkgs.readability-cli; # Added 2023-06-12
reveal-md = pkgs.reveal-md; # added 2023-07-31

View File

@ -46,7 +46,6 @@
less = "lessc";
localtunnel = "lt";
lua-fmt = "luafmt";
near-cli = "near";
neovim = "neovim-node-host";
parsoid = "parse.js";
poor-mans-t-sql-formatter-cli = "sqlformat";

View File

@ -177,7 +177,6 @@
, "meat"
, "mocha"
, "multi-file-swagger"
, "near-cli"
, "neovim"
, "nijs"
, "node-gyp"
@ -216,7 +215,6 @@
, "purty"
, "pxder"
, "pyright"
, "quicktype"
, "react-native-cli"
, "react-tools"
, "redoc-cli"

View File

@ -97313,374 +97313,6 @@ in
bypassCache = true;
reconstructLock = true;
};
near-cli = nodeEnv.buildNodePackage {
name = "near-cli";
packageName = "near-cli";
version = "3.4.2";
src = fetchurl {
url = "https://registry.npmjs.org/near-cli/-/near-cli-3.4.2.tgz";
sha512 = "0EaNAw5SKSIIJrJajG32CNMGfBtZTgIrOVKSXBTWpvo+F0OozsbvuO4UG3ZSRNThXHijxybp58SqPiU3JuzXGA==";
};
dependencies = [
(sources."@babel/code-frame-7.22.10" // {
dependencies = [
sources."ansi-styles-3.2.1"
sources."chalk-2.4.2"
sources."color-convert-1.9.3"
sources."color-name-1.1.3"
sources."has-flag-3.0.0"
sources."supports-color-5.5.0"
];
})
sources."@babel/helper-validator-identifier-7.22.5"
(sources."@babel/highlight-7.22.10" // {
dependencies = [
sources."ansi-styles-3.2.1"
sources."chalk-2.4.2"
sources."color-convert-1.9.3"
sources."color-name-1.1.3"
sources."has-flag-3.0.0"
sources."supports-color-5.5.0"
];
})
sources."@jest/environment-27.5.1"
sources."@jest/fake-timers-27.5.1"
sources."@jest/types-27.5.1"
sources."@ledgerhq/devices-8.0.7"
sources."@ledgerhq/errors-6.14.0"
sources."@ledgerhq/hw-transport-6.28.8"
sources."@ledgerhq/hw-transport-node-hid-6.27.21"
sources."@ledgerhq/hw-transport-node-hid-noevents-6.27.19"
(sources."@ledgerhq/hw-transport-u2f-5.36.0-deprecated" // {
dependencies = [
sources."@ledgerhq/devices-5.51.1"
sources."@ledgerhq/errors-5.50.0"
sources."@ledgerhq/hw-transport-5.51.1"
sources."@ledgerhq/logs-5.50.0"
];
})
(sources."@ledgerhq/hw-transport-webhid-5.51.1" // {
dependencies = [
sources."@ledgerhq/devices-5.51.1"
sources."@ledgerhq/errors-5.50.0"
sources."@ledgerhq/hw-transport-5.51.1"
sources."@ledgerhq/logs-5.50.0"
];
})
(sources."@ledgerhq/hw-transport-webusb-5.53.1" // {
dependencies = [
sources."@ledgerhq/devices-5.51.1"
sources."@ledgerhq/errors-5.50.0"
sources."@ledgerhq/hw-transport-5.51.1"
sources."@ledgerhq/logs-5.50.0"
];
})
sources."@ledgerhq/logs-6.10.1"
sources."@segment/loosely-validate-event-2.0.0"
sources."@sindresorhus/is-0.14.0"
sources."@sinonjs/commons-1.8.6"
sources."@sinonjs/fake-timers-8.1.0"
sources."@szmarczak/http-timer-1.1.2"
sources."@types/istanbul-lib-coverage-2.0.4"
sources."@types/istanbul-lib-report-3.0.0"
sources."@types/istanbul-reports-3.0.1"
sources."@types/node-20.5.3"
sources."@types/stack-utils-2.0.1"
sources."@types/w3c-web-usb-1.0.6"
sources."@types/yargs-16.0.5"
sources."@types/yargs-parser-21.0.0"
sources."analytics-node-6.2.0"
sources."ansi-align-3.0.1"
sources."ansi-regex-5.0.1"
sources."ansi-styles-4.3.0"
sources."ascii-table-0.0.9"
sources."asynckit-0.4.0"
sources."axios-0.27.2"
sources."axios-retry-3.2.0"
sources."balanced-match-1.0.2"
sources."base-x-3.0.9"
sources."base64-js-1.5.1"
sources."bindings-1.5.0"
(sources."bip39-3.0.2" // {
dependencies = [
sources."@types/node-11.11.6"
];
})
sources."bip39-light-1.0.7"
sources."bl-4.1.0"
sources."bn.js-5.2.1"
sources."borsh-0.6.0"
sources."boxen-5.1.2"
sources."brace-expansion-1.1.11"
sources."braces-3.0.2"
sources."bs58-4.0.1"
sources."buffer-5.7.1"
(sources."cacheable-request-6.1.0" // {
dependencies = [
sources."get-stream-5.2.0"
sources."lowercase-keys-2.0.0"
];
})
sources."camelcase-6.3.0"
sources."capability-0.2.5"
sources."chalk-4.1.2"
sources."charenc-0.0.2"
sources."chownr-1.1.4"
sources."ci-info-2.0.0"
sources."cipher-base-1.0.4"
sources."cli-boxes-2.2.1"
sources."cliui-7.0.4"
sources."clone-response-1.0.3"
sources."color-convert-2.0.1"
sources."color-name-1.1.4"
sources."combined-stream-1.0.8"
sources."component-type-1.2.1"
sources."concat-map-0.0.1"
sources."configstore-5.0.1"
sources."create-hash-1.2.0"
sources."create-hmac-1.1.7"
sources."crypt-0.0.2"
sources."crypto-random-string-2.0.0"
(sources."debug-4.3.1" // {
dependencies = [
sources."ms-2.1.2"
];
})
sources."decompress-response-3.3.0"
sources."deep-extend-0.6.0"
sources."deep-is-0.1.4"
sources."defer-to-connect-1.1.3"
sources."define-lazy-prop-2.0.0"
sources."delayed-stream-1.0.0"
sources."depd-2.0.0"
sources."detect-libc-2.0.2"
sources."dot-prop-5.3.0"
sources."duplexer3-0.1.5"
sources."emoji-regex-8.0.0"
sources."encoding-0.1.13"
sources."end-of-stream-1.4.4"
sources."error-polyfill-0.1.3"
sources."escalade-3.1.1"
sources."escape-goat-2.1.1"
sources."escape-string-regexp-1.0.5"
sources."events-3.3.0"
sources."expand-template-2.0.3"
sources."file-uri-to-path-1.0.0"
sources."fill-range-7.0.1"
sources."flagged-respawn-1.0.1"
sources."follow-redirects-1.15.2"
sources."form-data-4.0.0"
sources."fs-constants-1.0.0"
sources."fs.realpath-1.0.0"
sources."get-caller-file-2.0.5"
sources."get-stream-4.1.0"
sources."github-from-package-0.0.0"
sources."glob-7.2.3"
sources."global-dirs-3.0.1"
sources."got-9.6.0"
sources."graceful-fs-4.2.11"
sources."has-flag-4.0.0"
sources."has-yarn-2.1.0"
sources."hash-base-3.1.0"
sources."homedir-polyfill-1.0.3"
sources."http-cache-semantics-4.1.1"
(sources."http-errors-1.8.1" // {
dependencies = [
sources."depd-1.1.2"
];
})
sources."iconv-lite-0.6.3"
sources."ieee754-1.2.1"
sources."import-lazy-2.1.0"
sources."imurmurhash-0.1.4"
sources."inflight-1.0.6"
sources."inherits-2.0.4"
sources."ini-2.0.0"
sources."ip-regex-4.3.0"
sources."is-buffer-1.1.6"
sources."is-ci-2.0.0"
sources."is-docker-2.2.1"
sources."is-fullwidth-code-point-3.0.0"
sources."is-installed-globally-0.4.0"
sources."is-npm-5.0.0"
sources."is-number-7.0.0"
sources."is-obj-2.0.0"
sources."is-path-inside-3.0.3"
sources."is-retry-allowed-1.2.0"
sources."is-typedarray-1.0.0"
sources."is-url-1.2.4"
sources."is-wsl-2.2.0"
sources."is-yarn-global-0.3.0"
sources."is2-2.0.9"
sources."jest-environment-node-27.5.1"
sources."jest-message-util-27.5.1"
sources."jest-mock-27.5.1"
(sources."jest-util-27.5.1" // {
dependencies = [
sources."ci-info-3.8.0"
];
})
sources."join-component-1.1.0"
sources."js-sha256-0.9.0"
sources."js-tokens-4.0.0"
sources."json-buffer-3.0.0"
sources."keyv-3.1.0"
sources."latest-version-5.1.0"
sources."lodash-4.17.21"
sources."lodash.isstring-4.0.1"
sources."lowercase-keys-1.0.1"
sources."lru-cache-6.0.0"
(sources."make-dir-3.1.0" // {
dependencies = [
sources."semver-6.3.1"
];
})
sources."md5-2.3.0"
sources."md5.js-1.3.5"
sources."micromatch-4.0.5"
sources."mime-db-1.52.0"
sources."mime-types-2.1.35"
sources."mimic-response-1.0.1"
sources."minimatch-3.1.2"
sources."minimist-1.2.8"
sources."mkdirp-classic-0.5.3"
sources."ms-2.1.3"
sources."mustache-4.2.0"
sources."napi-build-utils-1.0.2"
sources."ncp-2.0.0"
(sources."near-api-js-0.44.2" // {
dependencies = [
sources."bn.js-5.2.0"
];
})
sources."near-hd-key-1.2.1"
sources."near-ledger-js-0.2.1"
sources."near-seed-phrase-0.2.0"
sources."node-abi-3.47.0"
sources."node-addon-api-3.2.1"
sources."node-fetch-2.6.13"
sources."node-gyp-build-4.6.0"
sources."node-hid-2.1.2"
sources."normalize-url-4.5.1"
sources."o3-1.0.3"
sources."once-1.4.0"
sources."open-8.4.2"
sources."p-cancelable-1.1.0"
(sources."package-json-6.5.0" // {
dependencies = [
sources."semver-6.3.1"
];
})
sources."parse-passwd-1.0.0"
sources."path-is-absolute-1.0.1"
sources."pbkdf2-3.1.2"
sources."picomatch-2.3.1"
sources."platform-1.3.6"
sources."prebuild-install-7.1.1"
sources."prepend-http-2.0.0"
(sources."pretty-format-27.5.1" // {
dependencies = [
sources."ansi-styles-5.2.0"
];
})
sources."pump-3.0.0"
sources."pupa-2.1.1"
sources."randombytes-2.1.0"
(sources."rc-1.2.8" // {
dependencies = [
sources."ini-1.3.8"
];
})
sources."react-is-17.0.2"
sources."readable-stream-3.6.2"
sources."registry-auth-token-4.2.2"
sources."registry-url-5.1.0"
sources."remove-trailing-slash-0.1.1"
sources."require-directory-2.1.1"
sources."responselike-1.0.2"
sources."rimraf-3.0.2"
sources."ripemd160-2.0.2"
sources."rxjs-6.6.7"
sources."safe-buffer-5.2.1"
sources."safer-buffer-2.1.2"
sources."semver-7.5.4"
(sources."semver-diff-3.1.1" // {
dependencies = [
sources."semver-6.3.1"
];
})
sources."setprototypeof-1.2.0"
sources."sha.js-2.4.11"
sources."signal-exit-3.0.7"
sources."simple-concat-1.0.1"
(sources."simple-get-4.0.1" // {
dependencies = [
sources."decompress-response-6.0.0"
sources."mimic-response-3.1.0"
];
})
sources."slash-3.0.0"
(sources."stack-utils-2.0.6" // {
dependencies = [
sources."escape-string-regexp-2.0.0"
];
})
sources."statuses-1.5.0"
sources."stoppable-1.1.0"
sources."string-width-4.2.3"
sources."string_decoder-1.3.0"
sources."strip-ansi-6.0.1"
sources."strip-json-comments-2.0.1"
sources."supports-color-7.2.0"
sources."tar-fs-2.1.1"
sources."tar-stream-2.2.0"
sources."tcp-port-used-1.0.2"
sources."text-encoding-utf-8-1.0.2"
sources."to-readable-stream-1.0.0"
sources."to-regex-range-5.0.1"
sources."toidentifier-1.0.1"
sources."tr46-0.0.3"
sources."tslib-1.14.1"
sources."tunnel-agent-0.6.0"
sources."tweetnacl-1.0.3"
sources."type-detect-4.0.8"
sources."type-fest-0.20.2"
sources."typedarray-to-buffer-3.1.5"
sources."u2f-api-0.2.7"
sources."u3-0.1.1"
sources."unique-string-2.0.0"
sources."update-notifier-5.1.0"
sources."url-parse-lax-3.0.0"
(sources."usb-2.9.0" // {
dependencies = [
sources."node-addon-api-6.1.0"
];
})
sources."util-deprecate-1.0.2"
sources."uuid-8.3.2"
sources."v8flags-3.2.0"
sources."webidl-conversions-3.0.1"
sources."whatwg-url-5.0.0"
sources."widest-line-3.1.0"
sources."wrap-ansi-7.0.0"
sources."wrappy-1.0.2"
sources."write-file-atomic-3.0.3"
sources."xdg-basedir-4.0.0"
sources."y18n-5.0.8"
sources."yallist-4.0.0"
sources."yargs-16.2.0"
sources."yargs-parser-20.2.9"
];
buildInputs = globalBuildInputs;
meta = {
description = "General purpose command line tools for interacting with NEAR Protocol";
homepage = "https://github.com/near/near-cli#readme";
license = "(MIT AND Apache-2.0)";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
neovim = nodeEnv.buildNodePackage {
name = "neovim";
packageName = "neovim";
@ -102904,174 +102536,6 @@ in
bypassCache = true;
reconstructLock = true;
};
quicktype = nodeEnv.buildNodePackage {
name = "quicktype";
packageName = "quicktype";
version = "23.0.71";
src = fetchurl {
url = "https://registry.npmjs.org/quicktype/-/quicktype-23.0.71.tgz";
sha512 = "MPPTnromb8qSKPU5UdLyp9Kzkj8YhmmOfw5y1ZvBLnzNjVG2QVqlwyLkUL9NTfmKszb0/047p3hiznEnFGn4EA==";
};
dependencies = [
(sources."@75lb/deep-merge-1.1.1" // {
dependencies = [
sources."typical-7.1.1"
];
})
sources."@cspotcode/source-map-support-0.8.1"
sources."@glideapps/ts-necessities-2.1.3"
sources."@jridgewell/resolve-uri-3.1.1"
sources."@jridgewell/sourcemap-codec-1.4.15"
sources."@jridgewell/trace-mapping-0.3.9"
(sources."@mark.probst/typescript-json-schema-0.55.0" // {
dependencies = [
sources."typescript-4.9.4"
];
})
sources."@swc/core-1.3.78"
sources."@swc/core-darwin-arm64-1.3.78"
sources."@swc/core-darwin-x64-1.3.78"
sources."@swc/core-linux-arm-gnueabihf-1.3.78"
sources."@swc/core-linux-arm64-gnu-1.3.78"
sources."@swc/core-linux-arm64-musl-1.3.78"
sources."@swc/core-linux-x64-gnu-1.3.78"
sources."@swc/core-linux-x64-musl-1.3.78"
sources."@swc/core-win32-arm64-msvc-1.3.78"
sources."@swc/core-win32-ia32-msvc-1.3.78"
sources."@swc/core-win32-x64-msvc-1.3.78"
sources."@swc/helpers-0.5.1"
sources."@swc/wasm-1.3.78"
sources."@tsconfig/node10-1.0.9"
sources."@tsconfig/node12-1.0.11"
sources."@tsconfig/node14-1.0.3"
sources."@tsconfig/node16-1.0.4"
sources."@types/json-schema-7.0.12"
sources."@types/node-16.18.43"
sources."@types/urijs-1.19.19"
sources."abort-controller-3.0.0"
sources."acorn-8.10.0"
sources."acorn-walk-8.2.0"
sources."ansi-regex-5.0.1"
sources."ansi-styles-4.3.0"
sources."arg-4.1.3"
sources."array-back-3.1.0"
sources."balanced-match-1.0.2"
sources."base64-js-1.5.1"
sources."brace-expansion-1.1.11"
sources."browser-or-node-2.1.1"
sources."buffer-6.0.3"
sources."chalk-4.1.2"
sources."chalk-template-0.4.0"
sources."cliui-8.0.1"
sources."collection-utils-1.0.1"
sources."color-convert-2.0.1"
sources."color-name-1.1.4"
sources."command-line-args-5.2.1"
(sources."command-line-usage-7.0.1" // {
dependencies = [
sources."array-back-6.2.2"
sources."typical-7.1.1"
];
})
sources."concat-map-0.0.1"
sources."create-require-1.1.1"
sources."cross-fetch-4.0.0"
sources."diff-4.0.2"
sources."emoji-regex-8.0.0"
sources."encoding-0.1.13"
sources."escalade-3.1.1"
sources."event-target-shim-5.0.1"
sources."events-3.3.0"
sources."find-replace-3.0.0"
sources."fs.realpath-1.0.0"
sources."get-caller-file-2.0.5"
sources."glob-7.2.3"
sources."graphql-0.11.7"
sources."has-flag-4.0.0"
sources."iconv-lite-0.6.3"
sources."ieee754-1.2.1"
sources."inflight-1.0.6"
sources."inherits-2.0.4"
sources."is-fullwidth-code-point-3.0.0"
sources."is-url-1.2.4"
sources."iterall-1.1.3"
sources."js-base64-3.7.5"
sources."lodash-4.17.21"
sources."lodash.assignwith-4.2.0"
sources."lodash.camelcase-4.3.0"
sources."make-error-1.3.6"
sources."minimatch-3.1.2"
sources."moment-2.29.4"
sources."node-fetch-2.6.13"
sources."once-1.4.0"
sources."pako-1.0.11"
sources."path-equal-1.2.5"
sources."path-is-absolute-1.0.1"
sources."pluralize-8.0.0"
sources."process-0.11.10"
sources."quicktype-core-23.0.71"
sources."quicktype-graphql-input-23.0.71"
sources."quicktype-typescript-input-23.0.71"
sources."readable-stream-4.4.2"
sources."require-directory-2.1.1"
sources."safe-buffer-5.2.1"
sources."safe-stable-stringify-2.4.3"
sources."safer-buffer-2.1.2"
sources."stream-chain-2.2.5"
sources."stream-json-1.8.0"
sources."stream-read-all-3.0.1"
(sources."string-to-stream-3.0.1" // {
dependencies = [
sources."readable-stream-3.6.2"
];
})
sources."string-width-4.2.3"
sources."string_decoder-1.3.0"
sources."strip-ansi-6.0.1"
sources."supports-color-7.2.0"
(sources."table-layout-3.0.2" // {
dependencies = [
sources."array-back-6.2.2"
sources."typical-7.1.1"
];
})
sources."tiny-inflate-1.0.3"
sources."tr46-0.0.3"
sources."ts-node-10.9.1"
sources."tslib-2.6.2"
sources."typescript-4.9.5"
sources."typical-4.0.0"
sources."unicode-properties-1.4.1"
(sources."unicode-trie-2.0.0" // {
dependencies = [
sources."pako-0.2.9"
];
})
sources."urijs-1.19.11"
sources."util-deprecate-1.0.2"
sources."v8-compile-cache-lib-3.0.1"
sources."webidl-conversions-3.0.1"
sources."whatwg-url-5.0.0"
sources."wordwrap-1.0.0"
sources."wordwrapjs-5.1.0"
sources."wrap-ansi-7.0.0"
sources."wrappy-1.0.2"
sources."y18n-5.0.8"
sources."yaml-2.3.1"
sources."yargs-17.7.2"
sources."yargs-parser-21.1.1"
sources."yn-3.1.1"
];
buildInputs = globalBuildInputs;
meta = {
description = "![](https://raw.githubusercontent.com/quicktype/quicktype/master/media/quicktype-logo.svg?sanitize=true)";
homepage = "https://github.com/quicktype/quicktype#readme";
license = "Apache-2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
react-native-cli = nodeEnv.buildNodePackage {
name = "react-native-cli";
packageName = "react-native-cli";

View File

@ -204,14 +204,6 @@ final: prev: {
'';
});
near-cli = prev.near-cli.override {
nativeBuildInputs = with pkgs; [
libusb1
final.prebuild-install
final.node-gyp-build
pkg-config
];
};
node-gyp = prev.node-gyp.override {
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];

View File

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "argh";
version = "0.28.1";
version = "0.29.3";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-sgkwhvDoCaPswktkohRTCe6PVtA0k2zVnlfFWKNXMp0=";
hash = "sha256-WOQ4zpFpqqLm3hR+POs0zqz+JlVqIwb1Di1G9Sd5rLE=";
};
nativeBuildInputs = [

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "google-cloud-datastore";
version = "2.17.0";
version = "2.18.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-/q+th07TdqnR8Imer8llDSH9siKPkN6bh0GoBsITtCI=";
hash = "sha256-Y7MbZ23LJ4amUNI9Mk2PiGxOFFhq/dDP5uJgpz8SRI4=";
};
propagatedBuildInputs = [

View File

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "grpcio-channelz";
version = "1.56.2";
version = "1.58.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-PlPGrD16Iy5vCsuVsFQ3FHd+wu0FJCFbo7isvYtVAQU=";
hash = "sha256-NWhuF3z+FGHJ+d99r+Uq4iTIppXkgwQYu0ASIyE8DB0=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, importlib-metadata
, openai
, python-dotenv
, tiktoken
}:
let
version = "0.1.590";
in
buildPythonPackage rec {
pname = "litellm";
format = "pyproject";
inherit version;
src = fetchFromGitHub {
owner = "BerriAI";
repo = "litellm";
rev = "7cb96e86b4753008cbf8d116aca514750e98d360";
hash = "sha256-ITMcwGjelNfNGnfBmmdu0Xwph4u0mxiFSfHnysUxWCQ=";
};
postPatch = ''
rm -rf dist
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
importlib-metadata
openai
python-dotenv
tiktoken
];
# the import check phase fails trying to do a network request to openai
# pythonImportsCheck = [ "litellm" ];
# no tests
doCheck = false;
meta = with lib; {
description = "Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)";
homepage = "https://github.com/BerriAI/litellm";
license = licenses.mit;
changelog = "https://github.com/BerriAI/litellm/releases/tag/v${version}";
maintainers = with maintainers; [ happysalada ];
};
}

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "mkdocstrings-python";
version = "1.6.2";
version = "1.6.3";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = "python";
rev = "refs/tags/${version}";
hash = "sha256-zbF+fqgXb8BAN+Nf2pRV/SeOXnJXLXJBIWZyZ6a9zP4=";
hash = "sha256-jppuuzROhVqNHm44gITpnC+xSN4s3ueY00N9v+IoJfE=";
};
nativeBuildInputs = [

View File

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pontos";
version = "23.8.5";
version = "23.9.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-mWnQIQEG1kTytAarhdNf2AI2Sq4TSfNtCN3riklNAeQ=";
hash = "sha256-7AU2K4XQ7B29IY53+uh0yre8RaOZ2GFc8hpyLWQilTE=";
};
nativeBuildInputs = [

View File

@ -20,11 +20,11 @@
buildPythonPackage rec {
pname = "python-ironicclient";
version = "5.3.0";
version = "5.4.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-veDhwpSXPtoi27tKI6xebH4haAeq+sUsEEk9TxQSbg4=";
hash = "sha256-Q9yGuYf9TS7RCo9aV1hnNSrHoll7AOUiSpzRYxi+JXU=";
};
propagatedBuildInputs = [

View File

@ -26,16 +26,16 @@
buildPythonPackage rec {
pname = "sagemaker";
version = "2.177.1";
version = "2.184.0.post0";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "aws";
repo = "sagemaker-python-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-Jqbk3DiV5K+TRXXSgCdoqjvddh6V2qc7mf7LotJdqys=";
hash = "sha256-gQQsHJ9b5ZbbPW0nJRdudSwaL+Hc8kwBpK9um8QWQio=";
};
nativeBuildInputs = [

View File

@ -49,9 +49,6 @@ in buildPythonPackage {
inherit (packages) version;
format = "wheel";
# Python 3.11 still unsupported
disabled = pythonAtLeast "3.11";
src = let
pyVerNoDot = lib.strings.stringAsChars (x: lib.optionalString (x != ".") x) python.pythonVersion;
platform = if stdenv.isDarwin then "mac" else "linux";
@ -152,14 +149,23 @@ in buildPythonPackage {
"$out/${python.sitePackages}/tensorflow/compiler/tf2tensorrt/"
"$out/${python.sitePackages}/tensorflow/compiler/tf2xla/ops/"
"$out/${python.sitePackages}/tensorflow/lite/experimental/microfrontend/python/ops/"
"$out/${python.sitePackages}/tensorflow/lite/python/analyzer_wrapper/"
"$out/${python.sitePackages}/tensorflow/lite/python/interpreter_wrapper/"
"$out/${python.sitePackages}/tensorflow/lite/python/metrics/"
"$out/${python.sitePackages}/tensorflow/lite/python/optimize/"
"$out/${python.sitePackages}/tensorflow/python/"
"$out/${python.sitePackages}/tensorflow/python/framework/"
"$out/${python.sitePackages}/tensorflow/python/autograph/impl/testing"
"$out/${python.sitePackages}/tensorflow/python/client"
"$out/${python.sitePackages}/tensorflow/python/data/experimental/service"
"$out/${python.sitePackages}/tensorflow/python/framework"
"$out/${python.sitePackages}/tensorflow/python/grappler"
"$out/${python.sitePackages}/tensorflow/python/lib/core"
"$out/${python.sitePackages}/tensorflow/python/lib/io"
"$out/${python.sitePackages}/tensorflow/python/platform"
"$out/${python.sitePackages}/tensorflow/python/profiler/internal"
"$out/${python.sitePackages}/tensorflow/python/saved_model"
"$out/${python.sitePackages}/tensorflow/python/util"
"$out/${python.sitePackages}/tensorflow/tsl/python/lib/core"
"${rpath}"
)

View File

@ -1,39 +1,51 @@
{
version = "2.12.0";
version = "2.13.0";
linux_py_38_cpu = {
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "1lqdb3n8dp2f1vignddfqfbbghidkbrq9g78fqkjir8g318zf1m4";
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "14pnklfp24hpybl5yqvvi2rxxhmc35rkjsijq86acakx0bx6afkw";
};
linux_py_39_cpu = {
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "1k595l4gpmar9rg4kim2i41fv25i8p018fdmgxcb5v6836d5ns2m";
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "1vqvapsb0fqihkl3xgjy7ywljf7gp5rqdj6iwkv39cfvr9z3rs10";
};
linux_py_310_cpu = {
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "1mhq429j9v82jwyqk6dcaz0sh57n0kyf2bfjrjz13xjblssij6rn";
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "00mx8qmxaxq2ldh84g3wh21c5aizlnysfbipfm64v8b7c4753ljs";
};
linux_py_311_cpu = {
url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "0r8fgq06nzfp4rcl4bhxjv57k43n31xc2j27sgn0hfbakxwy483y";
};
linux_py_38_gpu = {
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "009wyvzdlzghb39mmrv36fvjrrrbllyadny9jzb7ixzry4r07193";
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "04hrs1v50sp1bgr921xjsgslng3npnn6sq2f23xvfscdqd4aq8i8";
};
linux_py_39_gpu = {
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "0l1cwsfw91vfgx8xqwz7cdphj1dy6ppfifm7f7f0n0i6rda6l382";
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "0whwm93adgw2px8x678ik2nmsz8adi8vmj2np40jsbiq5y68pmkj";
};
linux_py_310_gpu = {
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "0dl3nvr4pk4zknx484qd2mqdkjkms6s4alqrxqkqv2hqa4l9sz9m";
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "0am36a7n744xjn2m8hkf2cnncczsxigwazmwqsgkj07qwagbdw78";
};
linux_py_311_gpu = {
url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
sha256 = "09cczbh19mw44n526bqc3h83q5hcfdjwlp38mn3ngch22y86gvhr";
};
mac_py_38_cpu = {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp38-cp38-macosx_10_15_x86_64.whl";
sha256 = "0jkxd9ccbq2czn16w3his6k1hxx0nhkrb56bkrskwzss9is4w6d7";
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp38-cp38-macosx_10_15_x86_64.whl";
sha256 = "1fk9ymlm1n8i48dm418g8r3ixw655vk2kms6jzcb6wivlash704l";
};
mac_py_39_cpu = {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp39-cp39-macosx_10_15_x86_64.whl";
sha256 = "0n7rsrxlkn143y80579bm8wwsabg2a9x6sx1h7ksw3s2x4sjdz22";
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp39-cp39-macosx_10_15_x86_64.whl";
sha256 = "10pbhfhjzy7zfd85s18nsf0pnir77097hxkqm11bdmcfjgic023s";
};
mac_py_310_cpu = {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp310-cp310-macosx_10_15_x86_64.whl";
sha256 = "18fj2jxl8b69jrzjkixhyyrml8qjwcid76y15ggzc5ksrkgw0jmy";
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp310-cp310-macosx_10_15_x86_64.whl";
sha256 = "009icsdwvhs2g3csx3jczprgf7rbmggjk8g4qicq0m4qx51m84l9";
};
mac_py_311_cpu = {
url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp311-cp311-macosx_10_15_x86_64.whl";
sha256 = "0sjq82q7q7k80f35rrpkjbrm3fd25rfjfi6s6k3a91njc5k45zvg";
};
}

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
version="2.12.0"
version="2.13.0"
bucket="https://storage.googleapis.com/tensorflow"
@ -11,12 +11,15 @@ url_and_key_list=(
"linux_py_38_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_39_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_310_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_311_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_38_gpu $bucket/linux/gpu/tensorflow-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_39_gpu $bucket/linux/gpu/tensorflow-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_310_gpu $bucket/linux/gpu/tensorflow-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"linux_py_311_gpu $bucket/linux/gpu/tensorflow-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
"mac_py_38_cpu $bucket/mac/cpu/tensorflow-${version}-cp38-cp38-macosx_10_15_x86_64.whl"
"mac_py_39_cpu $bucket/mac/cpu/tensorflow-${version}-cp39-cp39-macosx_10_15_x86_64.whl"
"mac_py_310_cpu $bucket/mac/cpu/tensorflow-${version}-cp310-cp310-macosx_10_15_x86_64.whl"
"mac_py_311_cpu $bucket/mac/cpu/tensorflow-${version}-cp311-cp311-macosx_10_15_x86_64.whl"
)
hashfile=binary-hashes.nix

View File

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, tiktoken
}:
buildPythonPackage {
pname = "tokentrim";
version = "unstable-2023-09-07";
format = "pyproject";
src = fetchFromGitHub {
owner = "KillianLucas";
repo = "tokentrim";
rev = "e98ad3a2ca0e321a7347f76c30be584175495139";
hash = "sha256-95xitHnbFFaj0xPuLMWvIvuJzoCO3VSd592X1RI9h3A=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
tiktoken
];
pythonImportsCheck = [ "tokentrim" ];
# tests connect to openai
doCheck = false;
meta = with lib; {
description = "Easily trim 'messages' arrays for use with GPTs";
homepage = "https://github.com/KillianLucas/tokentrim";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
};
}

View File

@ -0,0 +1,53 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, numpy
, poetry-core
, pythonOlder
, pytestCheckHook
, setuptools
}:
buildPythonPackage rec {
pname = "vg";
version = "2.0.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "lace";
repo = "vg";
rev = "refs/tags/${version}";
hash = "sha256-ZNUAfkhjmsxD8cH0fR8Htjs+/F/3R9xfe1XgRyndids=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'requires = ["setuptools", "poetry-core>=1.0.0"]' 'requires = ["poetry-core>=1.0.0"]'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
numpy
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"vg"
];
meta = with lib; {
description = "Linear algebra for humans: a very good vector-geometry and linear-algebra toolbelt";
homepage = "https://github.com/lace/vg";
changelog = "https://github.com/lace/vg/blob/${version}/CHANGELOG.md";
license = with licenses; [ bsd2 ];
maintainers = with maintainers; [ clerie ];
};
}

View File

@ -26,15 +26,6 @@ rec {
electron-bin = electron_26-bin;
electron_9-bin = mkElectron "9.4.4" {
x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
x86_64-darwin = "f41c0bf874ddbba00c3d6989d07f74155a236e2d5a3eaf3d1d19ef8d3eb2256c";
i686-linux = "40e37f8f908a81c9fac1073fe22309cd6df2d68e685f83274c6d2f0959004187";
armv7l-linux = "2dfe3e21d30526688cc3d3215d06dfddca597a2cb62ff0c9d0d5f33d3e464a33";
aarch64-linux = "f1145e9a1feb5f2955e5f5565962423ac3c52ffe45ccc3b96c6ca485fa35bf27";
headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
};
electron_10-bin = mkElectron "10.4.7" {
x86_64-linux = "e3ea75fcedce588c6b59cfa3a6e46ba67b789e14dc2e5b9dfe1ddf3f82b0f995";
x86_64-darwin = "8f01e020563b7fce68dc2e3d4bbf419320d13b088e89eb64f9645e9d73ad88fb";

View File

@ -28,7 +28,7 @@ dependencies = [
[[package]]
name = "analysis"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"config",
"diagnostic",
@ -118,7 +118,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chain-map"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"str-util",
@ -131,7 +131,7 @@ source = "git+https://github.com/azdavis/language-util.git#5e9a78d6f82e6129a7847
[[package]]
name = "cm-syntax"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"lex-util",
"paths",
@ -160,7 +160,7 @@ dependencies = [
[[package]]
name = "config"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"serde",
@ -188,7 +188,7 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
[[package]]
name = "cov-mark"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"once_cell",
@ -427,7 +427,7 @@ dependencies = [
[[package]]
name = "input"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"cm-syntax",
"config",
@ -475,7 +475,7 @@ checksum = "3752f229dcc5a481d60f385fa479ff46818033d881d2d801aa27dffcfb5e8306"
[[package]]
name = "lang-srv"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"analysis",
"anyhow",
@ -503,7 +503,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lex-util"
version = "0.13.1"
version = "0.13.2"
[[package]]
name = "libc"
@ -575,7 +575,7 @@ dependencies = [
[[package]]
name = "millet-cli"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"analysis",
"codespan-reporting",
@ -593,7 +593,7 @@ dependencies = [
[[package]]
name = "millet-ls"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"anyhow",
"env_logger",
@ -613,7 +613,7 @@ dependencies = [
[[package]]
name = "mlb-hir"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"paths",
@ -624,7 +624,7 @@ dependencies = [
[[package]]
name = "mlb-statics"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"config",
"diagnostic",
@ -648,7 +648,7 @@ dependencies = [
[[package]]
name = "mlb-syntax"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"lex-util",
"paths",
@ -711,7 +711,7 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "panic-hook"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"better-panic",
]
@ -924,7 +924,7 @@ dependencies = [
[[package]]
name = "slash-var-path"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"str-util",
@ -932,14 +932,14 @@ dependencies = [
[[package]]
name = "sml-comment"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"sml-syntax",
]
[[package]]
name = "sml-dynamics"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"fmt-util",
@ -950,7 +950,7 @@ dependencies = [
[[package]]
name = "sml-dynamics-tests"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"config",
"pretty_assertions",
@ -966,7 +966,7 @@ dependencies = [
[[package]]
name = "sml-file-syntax"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"config",
"elapsed",
@ -980,7 +980,7 @@ dependencies = [
[[package]]
name = "sml-fixity"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"once_cell",
@ -989,7 +989,7 @@ dependencies = [
[[package]]
name = "sml-hir"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"la-arena",
"sml-lab",
@ -1000,7 +1000,7 @@ dependencies = [
[[package]]
name = "sml-hir-lower"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"config",
"cov-mark",
@ -1015,14 +1015,14 @@ dependencies = [
[[package]]
name = "sml-lab"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"str-util",
]
[[package]]
name = "sml-lex"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"cov-mark",
"diagnostic",
@ -1037,7 +1037,7 @@ source = "git+https://github.com/azdavis/sml-libs.git#0d94e3ce13f2a489dff86151f7
[[package]]
name = "sml-naive-fmt"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"sml-comment",
@ -1046,11 +1046,11 @@ dependencies = [
[[package]]
name = "sml-namespace"
version = "0.13.1"
version = "0.13.2"
[[package]]
name = "sml-parse"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"diagnostic",
"event-parse",
@ -1062,14 +1062,14 @@ dependencies = [
[[package]]
name = "sml-path"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"str-util",
]
[[package]]
name = "sml-scon"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"num-bigint",
"num-traits",
@ -1078,7 +1078,7 @@ dependencies = [
[[package]]
name = "sml-statics"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"chain-map",
"config",
@ -1101,7 +1101,7 @@ dependencies = [
[[package]]
name = "sml-statics-types"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"chain-map",
"code-h2-md-map",
@ -1120,7 +1120,7 @@ dependencies = [
[[package]]
name = "sml-symbol-kind"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"sml-namespace",
"sml-statics-types",
@ -1128,7 +1128,7 @@ dependencies = [
[[package]]
name = "sml-syntax"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"code-h2-md-map",
"fast-hash",
@ -1139,7 +1139,7 @@ dependencies = [
[[package]]
name = "sml-ty-var-scope"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"fast-hash",
"sml-hir",
@ -1210,7 +1210,7 @@ dependencies = [
[[package]]
name = "tests"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"analysis",
"cm-syntax",
@ -1554,7 +1554,7 @@ dependencies = [
[[package]]
name = "xtask"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"anyhow",
"flate2",

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "millet";
version = "0.13.1";
version = "0.13.2";
src = fetchFromGitHub {
owner = "azdavis";
repo = pname;
rev = "v${version}";
hash = "sha256-qq4SACB0heCOB8rJha+9Xi/ZZuAbasOieWM9IdZqYUw=";
hash = "sha256-GiuP5Cx4Qx2LH34v6VeGyWgjJgPR8/qLUOZIrh9ES1U=";
};
cargoLock = {

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "circleci-cli";
version = "0.1.28811";
version = "0.1.28995";
src = fetchFromGitHub {
owner = "CircleCI-Public";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HaBFKjVw6EzhH1oxSeKFmZUDZleFGrxjOegTVCGmrzI=";
sha256 = "sha256-+Gyv3GO6nOueswPAriUm7QkQgEkYEilnBT7hqmiqDW8=";
};
vendorHash = "sha256-OWdJ7nFR5hrKQf2H763ezjXkEh0PvtBcjjeSNvH+ca4=";

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-zigbuild";
version = "0.17.2";
version = "0.17.3";
src = fetchFromGitHub {
owner = "messense";
repo = pname;
rev = "v${version}";
hash = "sha256-t71h+s97Ip3Gqs7oCzF8GWpTX0p0ltPt7JT61Gk8xF0=";
hash = "sha256-l9uPn5eLGfCq2E6gogXCefbhxro6iOOYraeIPj9/S50=";
};
cargoHash = "sha256-oJ+zAtTwFSSzwq1gvkRloBj8g30G8Eq7dG2RoaX39lA=";
cargoHash = "sha256-2mbGwElBfo4L/iGZm3iRBR5UGeMFlfaSp79vVvCAIo0=";
nativeBuildInputs = [ makeWrapper ];

View File

@ -13,14 +13,14 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2023-09-04";
cargoSha256 = "sha256-J8eEHv262v21b1rs3e2seTwaKtvoGne5hXqa2jgQmoY=";
version = "2023-09-11";
cargoSha256 = "sha256-bdF88QG++8ieFLG9H6D6nR6d9GHna36HMskp6TnTA4c=";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = version;
sha256 = "sha256-Mk35KaY7OkEKNoj3Q3NEJ0PjFhqUd9Ry+NSzd3K1QUw=";
sha256 = "sha256-6GjjGVCn0lNlGQifjM8AqRRMzVxf/KNyQqmAl8a9HME=";
};
cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];

View File

@ -37,7 +37,7 @@
let
pname = "mindustry";
version = "145.1";
version = "146";
buildVersion = makeBuildVersion version;
selectedGlew = if enableWayland then glew-egl else glew;
@ -46,13 +46,13 @@ let
owner = "Anuken";
repo = "Mindustry";
rev = "v${version}";
hash = "sha256-xHF+3QIzP6Xekm1arXio4dAveOQpY9MXuiUC7OZFSUA=";
hash = "sha256-pJAJjb8rgDL5q2hfuXH2Cyb1Szu4GixeXoLMdnIAlno=";
};
Arc = fetchFromGitHub {
owner = "Anuken";
repo = "Arc";
rev = "v${version}";
hash = "sha256-HkJoYdnC4rwTMEmSO0r82cuhY3ZT7Baj3pyqSbzJrQ4=";
hash = "sha256-L+5fshI1oo1lVdTMTBuPzqtEeR2dq1NORP84rZ83rT0=";
};
soloud = fetchFromGitHub {
owner = "Anuken";
@ -131,7 +131,7 @@ let
| sh
'';
outputHashMode = "recursive";
outputHash = "sha256-tSQV9A4uxKUVEJuFRxCQVZNb+0wEQrZofQOluQe0cfA=";
outputHash = "sha256-hbWLsWorEo+1BBURvrFMXpxvZjJBZ1p7HVlJN5e5JZc=";
};
in

View File

@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
homepage = "https://worldofgoo.com";
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = with maintainers; [ jcumming maxeaubrey ];
maintainers = with maintainers; [ jcumming amaxine ];
};
}

View File

@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
changelog = "https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=${version}";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ mic92 dtzWill maxeaubrey ];
maintainers = with maintainers; [ mic92 dtzWill amaxine ];
};
}

View File

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://fwupd.org/";
maintainers = with maintainers; [ maxeaubrey ];
maintainers = with maintainers; [ amaxine ];
license = licenses.lgpl21Plus;
platforms = platforms.linux;
};

View File

@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
description = "Wireless daemon for Linux";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ dtzWill fpletz maxeaubrey ];
maintainers = with maintainers; [ dtzWill fpletz amaxine ];
};
}

View File

@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
description = "A high performance DDoS detector / sensor - commercial edition";
homepage = "https://fastnetmon.com";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ yuka ];
maintainers = teams.wdz.members;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
};

View File

@ -16,20 +16,20 @@ let
in
python3.pkgs.buildPythonApplication rec {
pname = "matrix-synapse";
version = "1.91.2";
version = "1.92.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "synapse";
rev = "v${version}";
hash = "sha256-U9SyDmO34s9PjLPnT1QYemGeCmKdXRaQvEC8KKcFXOI=";
hash = "sha256-rCxoYtdvh+Gu0O2T3uu0k2FFFFc7m09LuKJvkSky3M4=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-q3uoT2O/oTVSg6olZohU8tiWahijyva+1tm4e1GWGj4=";
hash = "sha256-yZeCENWdPv80Na1++/IQFOrhah/VHWwJDNV2dI/yTHg=";
};
postPatch = ''

View File

@ -153,7 +153,7 @@ py.pkgs.buildPythonPackage rec {
description = "An Internet Routing Registry database server, processing IRR objects in the RPSL format";
license = licenses.mit;
homepage = "https://github.com/irrdnet/irrd";
maintainers = with maintainers; [ netali yuka ];
maintainers = teams.wdz.members;
};
}

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "unpoller";
version = "2.8.1";
version = "2.8.3";
src = fetchFromGitHub {
owner = "unpoller";
repo = "unpoller";
rev = "v${version}";
hash = "sha256-w0DcU27wrqzWxPwoY/as2vBtJQytz1482tNIXdyvHbY=";
hash = "sha256-ONr8xwvCXLnAlJKbgt/O+lCEKbV2SJXW/1oJPYRtQ3s=";
};
vendorHash = "sha256-2uvQhEEtsnGPQxYnNND6kM1HeN3kFlHzUXiehM+GpMs=";
vendorHash = "sha256-eLHtSEINxrqjlPyJZJwfSGA0gVaxcIolhWnqJxLXkew=";
ldflags = [
"-w" "-s"

Some files were not shown because too many files have changed in this diff Show More