Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-09-03 21:56:09 +00:00
committed by GitHub
136 changed files with 2089 additions and 1131 deletions
+14
View File
@@ -6070,6 +6070,14 @@
name = "Dee Engan";
keys = [ { fingerprint = "9C24 79F5 F0CE 48F4 00EE 4A5B B8ED 46EB 468B F72D"; } ];
};
deej-io = {
email = "me@deej.io";
github = "deej-io";
githubId = 7419862;
name = "Daniel Rollins";
matrix = "@deej-io:matrix.org";
keys = [ { fingerprint = "A0BE BED3 A3A0 7127 1411 6234 6830 B0AE 30DD 38DB"; } ];
};
deejayem = {
email = "nixpkgs.bu5hq@simplelogin.com";
github = "deejayem";
@@ -20421,6 +20429,12 @@
name = "Kevin Mullins";
keys = [ { fingerprint = "2CD2 B030 BD22 32EF DF5A 008A 3618 20A4 5DB4 1E9A"; } ];
};
podium868909 = {
email = "89096245@proton.me";
github = "podium868909";
githubId = 150333826;
name = "podium868909";
};
podocarp = {
email = "xdjiaxd@gmail.com";
github = "podocarp";
@@ -50,6 +50,8 @@
- [go-httpbin](https://github.com/mccutchen/go-httpbin), a reasonably complete and well-tested golang port of httpbin, with zero dependencies outside the go stdlib. Available as [services.go-httpbin](#opt-services.go-httpbin.enable).
- [llama-swap](https://github.com/mostlygeek/llama-swap), a light weight transparent proxy server that provides automatic model swapping to llama.cpp's server (or any server with an OpenAI compatible endpoint). Available as [](#opt-services.llama-swap.enable).
- [tuwunel](https://matrix-construct.github.io/tuwunel/), a federated chat server implementing the Matrix protocol, forked from Conduwuit. Available as [services.matrix-tuwunel](#opt-services.matrix-tuwunel.enable).
- [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable).
+1
View File
@@ -1217,6 +1217,7 @@
./services/networking/libreswan.nix
./services/networking/livekit-ingress.nix
./services/networking/livekit.nix
./services/networking/llama-swap.nix
./services/networking/lldpd.nix
./services/networking/logmein-hamachi.nix
./services/networking/lokinet.nix
@@ -0,0 +1,124 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.llama-swap;
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "config.yaml" cfg.settings;
in
{
options.services.llama-swap = {
enable = lib.mkEnableOption "enable the llama-swap service";
package = lib.mkPackageOption pkgs "llama-swap" { };
port = lib.mkOption {
default = 8080;
example = 11343;
type = lib.types.port;
description = ''
Port that llama-swap listens on.
'';
};
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to open the firewall for llama-swap.
This adds {option}`port` to [](#opt-networking.firewall.allowedTCPPorts).
'';
};
settings = lib.mkOption {
type = lib.types.submodule { freeformType = settingsFormat.type; };
description = ''
llama-swap configuration. Refer to the [llama-swap example configuration](https://github.com/mostlygeek/llama-swap/blob/main/config.example.yaml)
for details on supported values.
'';
example = lib.literalExpression ''
let
llama-cpp = pkgs.llama-cpp.override { rocmSupport = true; };
llama-server = lib.getExe' llama-cpp "llama-server";
in
{
healthCheckTimeout = 60;
models = {
"some-model" = {
cmd = "$\{llama-server\} --port ''\${PORT} -m /var/lib/llama-cpp/models/some-model.gguf -ngl 0 --no-webui";
aliases = [
"the-best"
];
};
"other-model" = {
proxy = "http://127.0.0.1:5555";
cmd = "$\{llama-server\} --port 5555 -m /var/lib/llama-cpp/models/other-model.gguf -ngl 0 -c 4096 -np 4 --no-webui";
concurrencyLimit = 4;
};
};
};
'';
};
};
config = lib.mkIf cfg.enable {
systemd.services.llama-swap = {
description = "Model swapping for LLaMA C++ Server (or any local OpenAPI compatible server)";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "exec";
ExecStart = "${lib.getExe cfg.package} --listen :${toString cfg.port} --config ${configFile}";
Restart = "on-failure";
RestartSec = 3;
# for GPU acceleration
PrivateDevices = false;
# hardening
DynamicUser = true;
CapabilityBoundingSet = "";
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
NoNewPrivileges = true;
PrivateMounts = true;
PrivateTmp = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
MemoryDenyWriteExecute = true;
LockPersonality = true;
RemoveIPC = true;
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
];
SystemCallErrorNumber = "EPERM";
ProtectProc = "invisible";
ProtectHostname = true;
ProcSubset = "pid";
};
};
networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
};
meta.maintainers = with lib.maintainers; [
jk
podium868909
];
}
+1
View File
@@ -848,6 +848,7 @@ in
litellm = runTest ./litellm.nix;
litestream = runTest ./litestream.nix;
lk-jwt-service = runTest ./matrix/lk-jwt-service.nix;
llama-swap = runTest ./web-servers/llama-swap.nix;
lldap = runTest ./lldap.nix;
localsend = runTest ./localsend.nix;
locate = runTest ./locate.nix;
+258
View File
@@ -0,0 +1,258 @@
{ pkgs, lib, ... }:
let
wrapSrc = attrs: pkgs.runCommand "${attrs.pname}-${attrs.version}" attrs "ln -s $src $out";
smollm2-135m = wrapSrc rec {
pname = "smollm2-135m";
version = "9e6855bc4be717fca1ef21360a1db4b29d5c559a";
src = pkgs.fetchurl {
url = "https://huggingface.co/unsloth/SmolLM2-135M-Instruct-GGUF/resolve/${version}/SmolLM2-135M-Instruct-Q4_K_M.gguf";
hash = "sha256-7V+jDEh7KC7BVsKQYvEiLlwgh1qUSsmCidvSQulH90c=";
};
meta.license = with lib.licenses; [
asl20 # actual license of the model
unfree # to force an opt-in - do not remove
];
};
# grab allowUnfreePredicate if it exists or default deny
allowUnfreePredicate =
if builtins.hasAttr "allowUnfreePredicate" pkgs.config then
pkgs.config.allowUnfreePredicate
else
(_: false);
# check if we can use smollm2-135m taking either globally allowUnfree or
# explicit allow with predicate
useSmollm2-135m = pkgs.config.allowUnfree || allowUnfreePredicate smollm2-135m;
in
{
name = "llama-swap";
meta.maintainers = with lib.maintainers; [
jk
podium868909
];
nodes = {
machine =
{ pkgs, ... }:
{
# running models can be memory intensive but
# default `virtualisation.memorySize` is fine
services.llama-swap = {
enable = true;
settings =
# config for basic tests
if !useSmollm2-135m then
{ }
# config for extended tests using SmolLM2
else
let
llama-cpp = pkgs.llama-cpp;
llama-server = lib.getExe' llama-cpp "llama-server";
in
{
hooks.on_startup.preload = [
"smollm2"
];
# temperature and top-k important for SmolLM2 performance/accuracy
models = {
"smollm2" = {
ttl = 10;
cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9";
};
"smollm2-group-1" = {
cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024";
};
"smollm2-group-2" = {
proxy = "http://127.0.0.1:5802";
cmd = "${llama-server} --port 5802 -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024";
};
};
groups = {
"standalone" = {
swap = true;
exclusive = true;
members = [
"smollm2"
];
};
"group" = {
swap = false;
exclusive = true;
members = [
"smollm2-group-1"
"smollm2-group-2"
];
};
};
};
};
};
};
testScript =
{ nodes, ... }:
''
# core tests
import json
def get_json(route):
args = [
'-v',
'-s',
'--fail',
'-H "Content-Type: application/json"'
]
return json.loads(machine.succeed("curl {args} http://localhost:8080{route}".format(args=" ".join(args), route=route)))
def post_json(route, data):
args = [
'-v',
'-s',
'--fail',
'-H "Content-Type: application/json"',
'-H "Authorization: Bearer no-key"',
"-d '{d}'".format(d=json.dumps(data))
]
return json.loads(machine.succeed('curl {args} http://localhost:8080{route}'.format(args=" ".join(args), route=route)))
machine.wait_for_unit('llama-swap')
machine.wait_for_open_port(8080)
with subtest('check is serving ui'):
machine.succeed('curl --fail http:/localhost:8080/ui/')
with subtest('check is healthy'):
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/health | grep "OK"')
''
+ lib.optionalString useSmollm2-135m ''
# extended tests using SmolLM2
with subtest('check `/running` for preloaded smollm2'):
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep "smollm2"')
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2'
assert running_model['state'] == 'ready'
with subtest('runs smollm2'):
response = None
with subtest('send request to smollm2'):
data = {
'model': 'smollm2',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response = post_json('/v1/chat/completions', data)
with subtest('response is from smollm2'):
assert response['model'] == 'smollm2'
with subtest('response contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices = None
with subtest('response contains at least one "assistant" message'):
assistant_choices = [c for c in response['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices) >= 1
with subtest('first message (lowercase) starts with "hello"'):
assert assistant_choices[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for just smollm2'):
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2'
assert running_model['state'] == 'ready'
with subtest('check `/running` for smollm2 to timeout'):
machine.succeed('curl --silent --fail http://localhost:8080/running | grep "smollm2"')
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep -v "smollm2"', timeout=11)
running_response = get_json('/running')
assert len(running_response['running']) == 0
with subtest('runs smollm2-group-1 and smollm2-group-2'):
response_1 = None
with subtest('send request to smollm2-group-1'):
data = {
'model': 'smollm2-group-1',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response_1 = post_json('/v1/chat/completions', data)
with subtest('response 1 is from smollm2-group-1'):
assert response_1['model'] == 'smollm2-group-1'
with subtest('response 1 contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices_1 = None
with subtest('response 1 contains at least one "assistant" message'):
assistant_choices_1 = [c for c in response_1['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices_1) >= 1
with subtest('first message (lowercase) in response 1 starts with "hello"'):
assert assistant_choices_1[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for just smollm2-group-1'):
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2-group-1'
assert running_model['state'] == 'ready'
response_2 = None
with subtest('send request to smollm2-group-2'):
data = {
'model': 'smollm2-group-2',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response_2 = post_json('/v1/chat/completions', data)
with subtest('response 2 is from smollm2-group-2'):
assert response_2['model'] == 'smollm2-group-2'
with subtest('response 2 contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices_2 = None
with subtest('response 2 contains at least one "assistant" message'):
assistant_choices_2 = [c for c in response_2['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices_2) >= 1
with subtest('first message (lowercase) in response 1 starts with "hello"'):
assert assistant_choices_2[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for both smollm2-group-1 and smollm2-group-2'):
running_response = get_json('/running')['running']
assert len(running_response) == 2
assert len([
rm for rm in running_response
if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-1'
]) == 1
assert len([
rm for rm in running_response
if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-2'
]) == 1
'';
}
@@ -3581,8 +3581,8 @@ let
mktplcRef = {
name = "one-dark-theme";
publisher = "mskelton";
version = "1.14.2";
hash = "sha256-6nIfEPbau5Dy1DGJ0oQ5L2EGn2NDhpd8jSdYujtOU68=";
version = "1.14.3";
hash = "sha256-AYOX6I1R34HdNNdY9LpLkM/JHm/f1h+Q9HTtEnKMhdU=";
};
meta = {
license = lib.licenses.mit;
@@ -9,8 +9,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "shfmt";
publisher = "mkhl";
version = "1.3.1";
hash = "sha256-V7pXPwabmUJLC/T0X4dsc52IZa7SaN70zd4mCjqk4X4=";
version = "1.4.0";
hash = "sha256-5qi2BRwftuW9Isveb7vRwPPPu2w7LTfhNO0xHFNruGI=";
};
postInstall = ''
@@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2025-08-20";
version = "0-unstable-2025-08-29";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "9c5408a6d3fff939ae06a319c2fce3aa6f2a4d69";
hash = "sha256-AH/XVN7Ah2DzN8/jlagOEAsNSciQMf8WBhfdC7YIMHw=";
rev = "0243f81c264ea8d1bbaa107f26fb6644f767c1e8";
hash = "sha256-iLEOAOMzdhlG4qogJiAhdK03YZ57dAV15TwBBjK7iSY=";
fetchSubmodules = true;
};
@@ -840,11 +840,11 @@
"vendorHash": "sha256-GN1h8DXFeAQpg4v7S95VJs17HY4twFGoZKN1modJSRI="
},
"minio": {
"hash": "sha256-TLWbbWYTjnvxT1LaV3FsL31xHHov8LpDYhA/nchMyMo=",
"hash": "sha256-XYo+nn9rgK9OtwdowqcTyuMir+7KPPjVeMLwFeWvdEQ=",
"homepage": "https://registry.terraform.io/providers/aminueza/minio",
"owner": "aminueza",
"repo": "terraform-provider-minio",
"rev": "v3.6.3",
"rev": "v3.6.4",
"spdx": "AGPL-3.0",
"vendorHash": "sha256-QWBzQXx/dzWZr9dn3LHy8RIvZL1EA9xYqi7Ppzvju7g="
},
@@ -53,8 +53,8 @@ let
}
else
{
version = "2025.2";
hash = "sha256-DfCfnUWpnvAOZrm6qUk6J+kGgTdjo7bHZyIXxmtD6hE=";
version = "2025.3";
hash = "sha256-i9/KAmjz8Qp8o8BuWbYvc+oCQgxnIRwP85EvMteDPGU=";
};
in
@@ -30,7 +30,7 @@ index af9b5a6dc0..5f58d549bf 100644
@@ -1,5 +1,4 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
Name: libgromacs@GMX_LIBS_SUFFIX@
Description: Gromacs library
@@ -16,18 +16,18 @@
stdenv.mkDerivation rec {
pname = "krunvm";
version = "0.2.3";
version = "0.2.4";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
hash = "sha256-IXofYsOmbrjq8Zq9+a6pvBYsvZFcKzN5IvCuHaxwazI=";
hash = "sha256-YbK4DKw0nh9IO1F7QsJcbOMlHekEdeUBbDHwuQ2x1Ww=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-Vmb5IgGyKGekuL018/Xiz9QroWIwTIUxVB57fb0X7Kw=";
hash = "sha256-TMV9xCcqBQgPsUSzsTJAi4qsplTOSm3ilaUmtmdaGnE=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "api-linter";
version = "1.70.2";
version = "1.71.0";
src = fetchFromGitHub {
owner = "googleapis";
repo = "api-linter";
tag = "v${version}";
hash = "sha256-2ILG+FW+58WnmL5Ts1K32ee0SR15yp9NnEtmEo6r6w8=";
hash = "sha256-WZvaPYiz1pHW6OLl6ahV3/b9RXW6S/c/kbQxJFfAn28=";
};
vendorHash = "sha256-CHObiSQudxZw5KjimQk8myTsLeQMBZU8SewW4I2dNsw=";
vendorHash = "sha256-KW5+THuV7U09ZV0eShLCDJYDPOM09/bUi7t0WiVx6pk=";
subPackages = [ "cmd/api-linter" ];
+3 -3
View File
@@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "argon";
version = "2.0.25";
version = "2.0.26";
src = fetchFromGitHub {
owner = "argon-rbx";
repo = "argon";
tag = version;
hash = "sha256-nQdh263qFS3seazdoNxme7SxQ7aJsRmFdoyfsZMDjw0=";
hash = "sha256-3IftPWrBETU7zJLaB9uTrc08c37XGmFPPArzrlIFG3Q=";
};
cargoHash = "sha256-s3/i7RnwadgGBg0lZmttxpLC/hZUba+PGc8WD30aAQI=";
cargoHash = "sha256-60BQ7PsKATq5jX5DqCGdOx3xvRzwm5TAM1RtKuPy49M=";
nativeBuildInputs = [ pkg-config ];
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "base16384";
version = "2.3.1";
version = "2.3.2";
src = fetchFromGitHub {
owner = "fumiama";
repo = "base16384";
rev = "v${version}";
hash = "sha256-2HZeom+8eEH4CrphCoOV+wJbqhYKVUcAQrYLyEVACkQ=";
hash = "sha256-Xkub0sWT+1oJlznDnnV1mDgQNiMQj8gsWemrCOAYYgE=";
};
nativeBuildInputs = [ cmake ];
+3 -3
View File
@@ -10,7 +10,7 @@
}:
let
pname = "bpftop";
version = "0.7.0";
version = "0.7.1";
in
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } {
inherit pname version;
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } {
owner = "Netflix";
repo = "bpftop";
tag = "v${version}";
hash = "sha256-h6iNc2z5UF+Z4FTaZXfhbz7gIIGlT8pbJ7OcP6uZENc=";
hash = "sha256-8vb32+wHOnADpIIfO9mMlGu7GdlA0hS9ij0zSLcrO7A=";
};
cargoHash = "sha256-Z7E61XiEKM6zKm7LFIXPYCFoSwSHfq6QCfbRMmiBW+o=";
cargoHash = "sha256-euiI4R4nCgnwiBA22kzn0c91hjOr0IOOAyFkW5ZadIk=";
buildInputs = [
elfutils
+1 -1
View File
@@ -1,6 +1,6 @@
{
"dart_leap": "sha256-oO5851cIdrW/asgOePxvwUgjn1XchkH9CKJUruvlLYI=",
"lw_file_system": "sha256-P5zr781SKHqZGwM2dNRi0O53oZuaY2zaM7q2Z7th0F4=",
"lw_file_system": "sha256-S2zNpZWPtUH8Q+gUPEX9zW+agH8rq6Wsz7aj/i1DF9c=",
"lw_file_system_api": "sha256-/Ur9zu4Ovb4x8j1n6Q6FWFuJ9yp92YQG3b7H5CMf3II=",
"lw_sysapi": "sha256-oGs5q8N46WNcRzbsgsPB/6fVBH3g9utK4tlXBpwU4Qc=",
"material_leap": "sha256-AHkXi+ENvLmJBXyF8jdXOCn/CThb6/LDr18gl9sL0XE=",
+3 -3
View File
@@ -9,13 +9,13 @@
}:
let
version = "2.3.3";
version = "2.3.4";
src = fetchFromGitHub {
owner = "LinwoodDev";
repo = "Butterfly";
tag = "v${version}";
hash = "sha256-3cDT1t74SrDUqUtFmNZFQHUx+eCdDjZhPseT3lhNOYE=";
hash = "sha256-qmgM6h2HxvRwUv4UwkIBR3uYz2NiaWEgJWWjrpumQug=";
};
in
flutter332.buildFlutterApplication {
@@ -40,7 +40,7 @@ flutter332.buildFlutterApplication {
nativeBuildInputs = [ yq-go ];
}
''
yq eval --output-format=json --prettyPrint $src/pubspec.lock > "$out"
yq eval --output-format=json --prettyPrint $src/app/pubspec.lock > "$out"
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater {
+63 -63
View File
@@ -114,21 +114,21 @@
"dependency": "transitive",
"description": {
"name": "build",
"sha256": "7d95cbbb1526ab5ae977df9b4cc660963b9b27f6d1075c0b34653868911385e4",
"sha256": "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.0.2"
},
"build_config": {
"dependency": "transitive",
"description": {
"name": "build_config",
"sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33",
"sha256": "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.2"
"version": "1.2.0"
},
"build_daemon": {
"dependency": "transitive",
@@ -144,31 +144,31 @@
"dependency": "transitive",
"description": {
"name": "build_resolvers",
"sha256": "38c9c339333a09b090a638849a4c56e70a404c6bdd3b511493addfbc113b60c2",
"sha256": "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.0.2"
},
"build_runner": {
"dependency": "direct dev",
"description": {
"name": "build_runner",
"sha256": "b971d4a1c789eba7be3e6fe6ce5e5b50fd3719e3cb485b3fad6d04358304351d",
"sha256": "fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.6.0"
"version": "2.7.0"
},
"build_runner_core": {
"dependency": "transitive",
"description": {
"name": "build_runner_core",
"sha256": "c04e612ca801cd0928ccdb891c263a2b1391cb27940a5ea5afcf9ba894de5d62",
"sha256": "ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.2.0"
"version": "9.3.0"
},
"built_collection": {
"dependency": "transitive",
@@ -184,11 +184,11 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "0b1b12a0a549605e5f04476031cd0bc91ead1d7c8e830773a18ee54179b3cb62",
"sha256": "ba95c961bafcd8686d1cf63be864eb59447e795e124d98d6a27d91fcd13602fb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.11.0"
"version": "8.11.1"
},
"butterfly_api": {
"dependency": "direct main",
@@ -197,7 +197,7 @@
"relative": true
},
"source": "path",
"version": "2.3.3"
"version": "2.3.4"
},
"camera": {
"dependency": "direct main",
@@ -223,11 +223,11 @@
"dependency": "transitive",
"description": {
"name": "camera_avfoundation",
"sha256": "04e1f052ef268085a4f0550389211cc46005a9af015e444c7b1ee7aa19332e5d",
"sha256": "e4aca5bccaf897b70cac87e5fdd789393310985202442837922fd40325e2733b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.20+6"
"version": "0.9.21+1"
},
"camera_platform_interface": {
"dependency": "transitive",
@@ -323,11 +323,11 @@
"dependency": "direct main",
"description": {
"name": "connectivity_plus",
"sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
"sha256": "b5e72753cf63becce2c61fd04dfe0f1c430cc5278b53a1342dc5ad839eab29ec",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.4"
"version": "6.1.5"
},
"connectivity_plus_platform_interface": {
"dependency": "transitive",
@@ -414,11 +414,11 @@
"dependency": "transitive",
"description": {
"name": "dart_mappable",
"sha256": "2255b2c00e328a65fef5a8df2dabfc0dc9c2e518c33a50051a4519b1c7a28c48",
"sha256": "15f41a35da8ee690bbfa0059fa241edeeaea73f89a2ba685b354ece07cd8ada6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.5.0"
"version": "4.6.0"
},
"dart_style": {
"dependency": "transitive",
@@ -464,11 +464,11 @@
"dependency": "direct main",
"description": {
"name": "dynamic_color",
"sha256": "eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d",
"sha256": "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.7.0"
"version": "1.8.1"
},
"equatable": {
"dependency": "direct main",
@@ -524,21 +524,21 @@
"dependency": "transitive",
"description": {
"name": "file_selector_android",
"sha256": "6bba3d590ee9462758879741abc132a19133600dd31832f55627442f1ebd7b54",
"sha256": "3015702ab73987000e7ff2df5ddc99666d2bcd65cdb243f59da35729d3be6cff",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1+14"
"version": "0.5.1+15"
},
"file_selector_ios": {
"dependency": "transitive",
"description": {
"name": "file_selector_ios",
"sha256": "94b98ad950b8d40d96fee8fa88640c2e4bd8afcdd4817993bd04e20310f45420",
"sha256": "fe9f52123af16bba4ad65bd7e03defbbb4b172a38a8e6aaa2a869a0c56a5f5fb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.3+1"
"version": "0.5.3+2"
},
"file_selector_linux": {
"dependency": "transitive",
@@ -554,11 +554,11 @@
"dependency": "transitive",
"description": {
"name": "file_selector_macos",
"sha256": "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711",
"sha256": "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.4+3"
"version": "0.9.4+4"
},
"file_selector_platform_interface": {
"dependency": "transitive",
@@ -672,11 +672,11 @@
"dependency": "transitive",
"description": {
"name": "flutter_plugin_android_lifecycle",
"sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
"sha256": "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.28"
"version": "2.0.29"
},
"flutter_secure_storage": {
"dependency": "direct main",
@@ -800,11 +800,11 @@
"dependency": "transitive",
"description": {
"name": "get_it",
"sha256": "e87cd1d108e472a0580348a543a0c49ed3d70c8a5c809c6d418583e595d0a389",
"sha256": "a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.1.0"
"version": "8.2.0"
},
"glob": {
"dependency": "transitive",
@@ -820,11 +820,11 @@
"dependency": "direct main",
"description": {
"name": "go_router",
"sha256": "c489908a54ce2131f1d1b7cc631af9c1a06fac5ca7c449e959192089f9489431",
"sha256": "8b1f37dfaf6e958c6b872322db06f946509433bec3de753c3491a42ae9ec2b48",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "16.0.0"
"version": "16.1.0"
},
"graphs": {
"dependency": "transitive",
@@ -840,11 +840,11 @@
"dependency": "direct main",
"description": {
"name": "http",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"sha256": "bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
"version": "1.5.0"
},
"http_multi_server": {
"dependency": "transitive",
@@ -1016,8 +1016,8 @@
"dependency": "direct main",
"description": {
"path": "packages/lw_file_system",
"ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"resolved-ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"ref": "3eb0c455dd56cfcde08a7c7efaba5adbc38dd976",
"resolved-ref": "3eb0c455dd56cfcde08a7c7efaba5adbc38dd976",
"url": "https://github.com/LinwoodDev/dart_pkgs.git"
},
"source": "git",
@@ -1110,11 +1110,11 @@
"dependency": "direct dev",
"description": {
"name": "msix",
"sha256": "bbb9b3ff4a9f8e7e7507b2a22dc0517fd1fe3db44e72de7ab052cb6b362406ee",
"sha256": "f88033fcb9e0dd8de5b18897cbebbd28ea30596810f4a7c86b12b0c03ace87e5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.16.10"
"version": "3.16.12"
},
"nested": {
"dependency": "transitive",
@@ -1213,21 +1213,21 @@
"dependency": "direct main",
"description": {
"name": "package_info_plus",
"sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
"sha256": "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.3.0"
"version": "8.3.1"
},
"package_info_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "package_info_plus_platform_interface",
"sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
"sha256": "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
"version": "3.2.1"
},
"path": {
"dependency": "transitive",
@@ -1273,11 +1273,11 @@
"dependency": "transitive",
"description": {
"name": "path_provider_foundation",
"sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
"sha256": "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.1"
"version": "2.4.2"
},
"path_provider_linux": {
"dependency": "transitive",
@@ -1575,21 +1575,21 @@
"dependency": "direct main",
"description": {
"name": "share_plus",
"sha256": "b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0",
"sha256": "d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "11.0.0"
"version": "11.1.0"
},
"share_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "share_plus_platform_interface",
"sha256": "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef",
"sha256": "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.0"
"version": "6.1.0"
},
"shared_preferences": {
"dependency": "direct main",
@@ -1605,11 +1605,11 @@
"dependency": "transitive",
"description": {
"name": "shared_preferences_android",
"sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
"sha256": "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.10"
"version": "2.4.11"
},
"shared_preferences_foundation": {
"dependency": "transitive",
@@ -1691,21 +1691,21 @@
"dependency": "transitive",
"description": {
"name": "source_gen",
"sha256": "fc787b1f89ceac9580c3616f899c9a447413cbdac1df071302127764c023a134",
"sha256": "7b19d6ba131c6eb98bfcbf8d56c1a7002eba438af2e7ae6f8398b2b0f4f381e3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.1.0"
},
"source_helper": {
"dependency": "transitive",
"description": {
"name": "source_helper",
"sha256": "4f81479fe5194a622cdd1713fe1ecb683a6e6c85cd8cec8e2e35ee5ab3fdf2a1",
"sha256": "a447acb083d3a5ef17f983dd36201aeea33fedadb3228fa831f2f0c92f0f3aca",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.6"
"version": "1.3.7"
},
"source_span": {
"dependency": "transitive",
@@ -1882,21 +1882,21 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_android",
"sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
"sha256": "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.16"
"version": "6.3.17"
},
"url_launcher_ios": {
"dependency": "transitive",
"description": {
"name": "url_launcher_ios",
"sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
"sha256": "d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.3"
"version": "6.3.4"
},
"url_launcher_linux": {
"dependency": "transitive",
@@ -1912,11 +1912,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_macos",
"sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
"sha256": "c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
"version": "3.2.3"
},
"url_launcher_platform_interface": {
"dependency": "transitive",
@@ -1982,11 +1982,11 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics_compiler",
"sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
"sha256": "ca81fdfaf62a5ab45d7296614aea108d2c7d0efca8393e96174bf4d51e6725b0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.17"
"version": "1.1.18"
},
"vector_math": {
"dependency": "transitive",
-4
View File
@@ -65,10 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "CATALYST_BUILD_TESTING" finalAttrs.finalPackage.doCheck)
];
postInstall = lib.optionalString pythonSupport ''
python -m compileall -s $out $out/${python3Packages.python.sitePackages}
'';
doCheck = true;
preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
+18 -47
View File
@@ -1,58 +1,28 @@
{
lib,
fetchPypi,
fetchpatch,
python3,
python3Packages,
}:
let
python = python3.override {
self = python;
packageOverrides = self: super: {
pychromecast = super.pychromecast.overridePythonAttrs (_: rec {
version = "13.1.0";
src = fetchPypi {
pname = "PyChromecast";
inherit version;
hash = "sha256-COYai1S9IRnTyasewBNtPYVjqpfgo7V4QViLm+YMJnY=";
};
postPatch = "";
});
};
};
in
python.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "catt";
version = "0.12.11";
format = "pyproject";
version = "0.13.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-0bqYYfWwF7yYoAbjZPhi/f4CLcL89imWGYaMi5Bwhtc=";
hash = "sha256-hlCB06l4nzafvcnBNCXWiJsJNmP8n731bQgq5xvUZvM=";
};
patches = [
(fetchpatch {
# set explicit build-system
url = "https://github.com/skorokithakis/catt/commit/08e7870a239e85badd30982556adc2aa8a8e4fc1.patch";
hash = "sha256-QH5uN3zQNVPP6Th2LHdDBF53WxwMhoyhhQUAZOeHh4k=";
})
build-system = [
python3Packages.poetry-core
];
nativeBuildInputs = with python.pkgs; [
poetry-core
];
propagatedBuildInputs = with python.pkgs; [
click
ifaddr
pychromecast
protobuf
requests
yt-dlp
dependencies = [
python3Packages.click
python3Packages.ifaddr
python3Packages.pychromecast
python3Packages.requests
python3Packages.yt-dlp
];
doCheck = false; # attempts to access various URLs
@@ -61,11 +31,12 @@ python.pkgs.buildPythonApplication rec {
"catt"
];
meta = with lib; {
description = "Tool to send media from online sources to Chromecast devices";
meta = {
description = "Send media from online sources to Chromecast devices";
homepage = "https://github.com/skorokithakis/catt";
license = licenses.bsd2;
maintainers = [ ];
changelog = "https://github.com/skorokithakis/catt/releases/tag/v${version}";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.RossSmyth ];
mainProgram = "catt";
};
}
+1
View File
@@ -37,6 +37,7 @@ python3Packages.buildPythonApplication rec {
pythonRelaxDeps = [
"numpy"
"pyqt6"
"pyzmq"
"vispy"
];
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "cloudmonkey";
version = "6.4.0";
version = "6.5.0";
src = fetchFromGitHub {
owner = "apache";
repo = "cloudstack-cloudmonkey";
rev = version;
sha256 = "sha256-mkEGOZw7GDIFnYUpgvCetA4dU9R1m4q6MOUDG0TWN64=";
sha256 = "sha256-CdqKaKUVqeAujrWh7u0npZ6ON/nmL/8uIBIljAPPUv0=";
};
vendorHash = null;
+10 -2
View File
@@ -6,21 +6,29 @@
python3.pkgs.buildPythonApplication rec {
pname = "dnsrecon";
version = "1.4.0";
version = "1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "darkoperator";
repo = "dnsrecon";
tag = version;
hash = "sha256-uBb19JNlbevwqFSNzLzUmmDw063Hl7RPbu453tYZ3Gc=";
hash = "sha256-RX7A/vF19wTcvm+kP4ynarzGY+pUIj84zQJIM3tO/2M=";
};
pythonRelaxDeps = true;
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
dnspython
loguru
httpx
fastapi
uvicorn
slowapi
stamina
ujson
lxml
netaddr
requests
+40
View File
@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitLab,
libsForQt5,
}:
stdenv.mkDerivation {
pname = "dsremote";
version = "0-unstable-2025-07-07";
src = fetchFromGitLab {
owner = "Teuniz";
repo = "DSRemote";
rev = "b290debcfecd4fecf2069fb958bd43fe9e5ce5e1";
hash = "sha256-7a13T8MwIFDhrXe7xqB84D6MwfTYs1gJj6VWs4JbzEM=";
};
nativeBuildInputs = [
libsForQt5.qmake
libsForQt5.qt5.wrapQtAppsHook
libsForQt5.qt5.qtbase
];
hardeningDisable = [ "fortify" ];
postPatch = ''
substituteInPlace dsremote.pro \
--replace-fail "/usr/" "$out/" \
--replace-fail "/etc/" "$out/etc/"
'';
meta = {
description = "Rigol DS1000Z remote control and waveform viewer";
homepage = "https://www.teuniz.net/DSRemote";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ mksafavi ];
mainProgram = "dsremote";
};
}
+7 -2
View File
@@ -26,8 +26,13 @@ stdenv.mkDerivation {
substituteInPlace test.ecm --replace /bin/rm rm
'';
# See https://trac.sagemath.org/ticket/19233
configureFlags = lib.optional stdenv.hostPlatform.isDarwin "--disable-asm-redc";
configureFlags = [
# Otherwise, undesired flags from gmp (such as -std=c99) are leaking
"-enable-gmp-cflags=false"
]
++
# See https://trac.sagemath.org/ticket/19233
lib.optional stdenv.hostPlatform.isDarwin "--disable-asm-redc";
buildInputs = [
m4
+47
View File
@@ -0,0 +1,47 @@
{
lib,
buildGoModule,
fetchFromGitHub,
sqlcipher,
pkg-config,
nix-update-script,
}:
buildGoModule rec {
pname = "enpass-cli";
version = "1.6.5";
src = fetchFromGitHub {
owner = "HazCod";
repo = "enpass-cli";
tag = "v${version}";
hash = "sha256-13AhK0qDDANEgicggy1Sdlmo5b0Vlf2sEDzJerhUvG8=";
};
vendorHash = "sha256-7K7gdMjJ4cfv6xmuI73U+oW9JlmdN6wGg8vMcD/YThQ=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
sqlcipher
];
env.CGO_ENABLED = "1";
postInstall = ''
mv $out/bin/enpasscli $out/bin/enpass-cli
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Command line client for Enpass password manager";
mainProgram = "enpass-cli";
homepage = "https://github.com/HazCod/enpass-cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ deej-io ];
platforms = lib.platforms.unix;
};
}
+16 -2
View File
@@ -1,12 +1,26 @@
load("@bazel_tools//tools/sh:sh_toolchain.bzl", "sh_toolchain")
load("@rules_rust//rust:toolchain.bzl", "rust_toolchain")
load("@rules_rust//rust:defs.bzl", "rust_stdlib_filegroup")
toolchains = {
"x86_64": "x86_64-unknown-linux-gnu",
"aarch64": "aarch64-unknown-linux-gnu",
}
exports_files(["cargo", "rustdoc", "ruststd", "rustc"])
exports_files(["cargo", "rustdoc", "rustc"])
[
rust_stdlib_filegroup(
name = "rust_nix_" + k + "_stdlib",
srcs = glob(
[
"rustcroot/lib/rustlib/" + v + "/lib/**",
],
allow_empty=True,
),
)
for k, v in toolchains.items()
]
[
rust_toolchain(
@@ -16,7 +30,7 @@ exports_files(["cargo", "rustdoc", "ruststd", "rustc"])
exec_triple = v,
cargo = ":cargo",
rust_doc = ":rustdoc",
rust_std = ":ruststd",
rust_std = ":rust_nix_" + k + "_stdlib",
rustc = ":rustc",
stdlib_linkflags = ["-ldl", "-lpthread"],
staticlib_ext = ".a",
+19 -9
View File
@@ -23,9 +23,14 @@
gnutar,
gnugrep,
envoy,
git,
# v8 (upstream default), wavm, wamr, wasmtime, disabled
wasmRuntime ? "wamr",
wasmRuntime ? "wasmtime",
# Allows overriding the deps hash used for building - you will likely need to
# set this if you have changed the 'wasmRuntime' setting.
depsHash ? null,
}:
let
@@ -40,12 +45,15 @@ let
};
# these need to be updated for any changes to fetchAttrs
depsHash =
{
x86_64-linux = "sha256-E6yUSd00ngmjaMds+9UVZLtcYhzeS8F9eSIkC1mZSps=";
aarch64-linux = "sha256-ivboOrV/uORKVHRL3685aopcElGvzsxgVcUmYsBwzXY=";
}
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
depsHash' =
if depsHash != null then
depsHash
else
{
x86_64-linux = "sha256-t4Xv4UGYW5YU0kmv+1rdf2JvM1BYQyNWdtpz6Cdmxm4=";
aarch64-linux = "sha256-aIBnNGzc0hTdlTgRyJ7eLnWvHqZ5ywhqOM+mHfH3/18=";
}
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
python3 = python312;
@@ -94,7 +102,7 @@ buildBazelPackage rec {
ln -sf "${cargo}/bin/cargo" bazel/nix/cargo
ln -sf "${rustc}/bin/rustc" bazel/nix/rustc
ln -sf "${rustc}/bin/rustdoc" bazel/nix/rustdoc
ln -sf "${rustPlatform.rustLibSrc}" bazel/nix/ruststd
ln -sf "${rustc.unwrapped}" bazel/nix/rustcroot
substituteInPlace bazel/dependency_imports.bzl \
--replace-fail 'crate_universe_dependencies()' 'crate_universe_dependencies(rust_toolchain_cargo_template="@@//bazel/nix:cargo", rust_toolchain_rustc_template="@@//bazel/nix:rustc")' \
--replace-fail 'crates_repository(' 'crates_repository(rust_toolchain_cargo_template="@@//bazel/nix:cargo", rust_toolchain_rustc_template="@@//bazel/nix:rustc",'
@@ -120,12 +128,13 @@ buildBazelPackage rec {
ninja
patchelf
cacert
git
];
buildInputs = [ linuxHeaders ];
fetchAttrs = {
sha256 = depsHash;
sha256 = depsHash';
env.CARGO_BAZEL_REPIN = true;
dontUseCmakeConfigure = true;
dontUseGnConfigure = true;
@@ -239,6 +248,7 @@ buildBazelPackage rec {
"--linkopt=-Wl,-z,noexecstack"
"--config=gcc"
"--verbose_failures"
"--incompatible_enable_cc_toolchain_resolution=true"
# Force use of system Java.
"--extra_toolchains=@local_jdk//:all"
+3 -3
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "fzf-git-sh";
version = "0-unstable-2025-07-10";
version = "0-unstable-2025-08-31";
src = fetchFromGitHub {
owner = "junegunn";
repo = "fzf-git.sh";
rev = "79e10ccaa8b3bddff95cd1dcb44b0c30a39da71f";
hash = "sha256-5+rV3l1Jdy28IxGLMdmj0heLxmmpRwwobyg9sjdBRco=";
rev = "2eef6bf288bf19a6402784a63336f06f87d9a584";
hash = "sha256-r3b05erlNGw3GQq/nMPqTHRroGEFmhufpiXqaIhQGTA=";
};
dontBuild = true;
+13 -5
View File
@@ -1,10 +1,11 @@
{
lib,
stdenv,
coreutils,
fetchFromGitHub,
nix-update-script,
python3Packages,
stdenv,
# nativeCheckInputs
debian-devscripts,
@@ -16,14 +17,14 @@
python3Packages.buildPythonApplication rec {
pname = "git-buildpackage";
version = "0.9.37";
version = "0.9.38";
pyproject = true;
src = fetchFromGitHub {
owner = "agx";
repo = "git-buildpackage";
tag = "debian/${version}";
hash = "sha256-0gfryd1GrVfL11u/IrtLSJAABRsTpFfPOGxWfVdYtgE=";
hash = "sha256-dZ/uJLcDPkpwIz+Y6WInJ4XlSJ5zzDY65li/xghsJTQ=";
fetchSubmodules = true;
};
@@ -39,6 +40,8 @@ python3Packages.buildPythonApplication rec {
dependencies = with python3Packages; [
python-dateutil
pyyaml
rpm
];
pythonImportsCheck = [
@@ -56,8 +59,6 @@ python3Packages.buildPythonApplication rec {
coverage
pytest-cov
pytestCheckHook
pyyaml
rpm
]);
disabledTests = [
@@ -77,6 +78,13 @@ python3Packages.buildPythonApplication rec {
"tests.doctests.test_GitRepository.test_create_noperm"
];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"debian/(.*)"
];
};
meta = {
description = "Suite to help with maintaining Debian packages in Git repositories";
homepage = "https://honk.sigxcpu.org/piki/projects/git-buildpackage/";
+9 -5
View File
@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
buildGoModule,
nix-update-script,
}:
let
@@ -9,13 +10,13 @@ let
in
buildGoModule rec {
pname = "git-get";
version = "0.5.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "grdl";
repo = "git-get";
tag = "v${version}";
hash = "sha256-v98Ff7io7j1LLzciHNWJBU3LcdSr+lhwYrvON7QjyCI=";
hash = "sha256-xnmFqNIabiTyf9ZPKlm5S42rfFUXnTp/jLDDY51eoMw=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -27,7 +28,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-C+XOjMDMFneKJNeBh0KWPx8yM7XiiIpTlc2daSfhZhY=";
vendorHash = "sha256-8DLS1pSyh1OgnULMvAppl/+D2yfyi/dcZs08S1IMzaE=";
doCheck = false;
@@ -44,14 +45,17 @@ buildGoModule rec {
];
preInstall = ''
mv "$GOPATH/bin/get" "$GOPATH/bin/git-get"
mv "$GOPATH/bin/list" "$GOPATH/bin/git-list"
mv "$GOPATH/bin/cmd" "$GOPATH/bin/git-get"
ln -s ./git-get "$GOPATH/bin/git-list"
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Better way to clone, organize and manage multiple git repositories";
homepage = "https://github.com/grdl/git-get";
license = licenses.mit;
maintainers = with maintainers; [ sumnerevans ];
mainProgram = "git-get";
};
}
+5 -5
View File
@@ -1,24 +1,24 @@
{
lib,
buildGo124Module,
buildGo125Module,
fetchFromGitHub,
installShellFiles,
nixosTests,
scdoc,
}:
buildGo124Module rec {
buildGo125Module rec {
pname = "go-camo";
version = "2.6.4";
version = "2.6.5";
src = fetchFromGitHub {
owner = "cactus";
repo = "go-camo";
tag = "v${version}";
hash = "sha256-BdKIfDDN6GXc53SFDkJ8Dui5rrm27blA+EEOS/oAanE=";
hash = "sha256-+EHJIohHSWg12Tmn6hu1XUSVRyYWu3aFI7MF7+PnfFg=";
};
vendorHash = "sha256-0DkIbD+9gIbARqvmudRavwcWVLADGKwEYMMX6a5Qoq4=";
vendorHash = "sha256-rKdBAu0tNsxw7I66qjZhtrA2hs1qpBtOSuzq34paziw=";
nativeBuildInputs = [
installShellFiles
+7 -4
View File
@@ -16,17 +16,18 @@
let
pname = "gui-for-clash";
version = "1.9.8";
version = "1.9.10";
src = fetchFromGitHub {
owner = "GUI-for-Cores";
repo = "GUI.for.Clash";
tag = "v${version}";
hash = "sha256-YwolOIN4pQ9ykXruKAetUDMFkNnQppkzioDNlrPefL8=";
hash = "sha256-odASuy0zaXf6vvd5CRVtuuVIX1EgEO7GsMgXWUR+fxk=";
};
metaCommon = {
homepage = "https://github.com/GUI-for-Cores/GUI.for.Clash";
hydraPlatforms = [ ]; # https://gui-for-cores.github.io/guide/#note
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ ];
};
@@ -49,7 +50,7 @@ let
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-iVD/9uTK3cUzKE20pJk67uk53UCtfj/YCpgwgxmmg8k=";
hash = "sha256-AuBUneWOR9oCuj811iCB3l5dlpeKhxt6KrF7KDs27a0=";
};
buildPhase = ''
@@ -85,7 +86,7 @@ buildGoModule {
--subst-var out
'';
vendorHash = "sha256-7pFjfUFkpXyYEVjiXbfFUC7FQSlZubKJJ5MI8WY0IVA=";
vendorHash = "sha256-UArCB5U2bF5HXFDU1oCfm+SaURe6e9gyCx+UjtWI/ug=";
nativeBuildInputs = [
autoPatchelfHook
@@ -133,6 +134,8 @@ buildGoModule {
inherit frontend;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v([0-9.]+)$"
"--subpackage"
"frontend"
];
+7 -4
View File
@@ -16,17 +16,18 @@
let
pname = "gui-for-singbox";
version = "1.9.8";
version = "1.9.9";
src = fetchFromGitHub {
owner = "GUI-for-Cores";
repo = "GUI.for.SingBox";
tag = "v${version}";
hash = "sha256-9Vai/C9cJgqM3n+FzFPXismR5vF6eQNJHdI7o47zinI=";
hash = "sha256-6Y0eEJmPBp+J1r6LCxYEM6i3fdCYSo4LrimpqwOCVT8=";
};
metaCommon = {
homepage = "https://github.com/GUI-for-Cores/GUI.for.SingBox";
hydraPlatforms = [ ]; # https://gui-for-cores.github.io/guide/#note
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ ];
};
@@ -49,7 +50,7 @@ let
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-iVD/9uTK3cUzKE20pJk67uk53UCtfj/YCpgwgxmmg8k=";
hash = "sha256-kSIPkXD0Wxe8TaKDd4DUAL7pkQeU8xyLY9K3lFSAODI=";
};
buildPhase = ''
@@ -86,7 +87,7 @@ buildGoModule {
--subst-var out
'';
vendorHash = "sha256-7pFjfUFkpXyYEVjiXbfFUC7FQSlZubKJJ5MI8WY0IVA=";
vendorHash = "sha256-UArCB5U2bF5HXFDU1oCfm+SaURe6e9gyCx+UjtWI/ug=";
nativeBuildInputs = [
autoPatchelfHook
@@ -134,6 +135,8 @@ buildGoModule {
inherit frontend;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v([0-9.]+)$"
"--subpackage"
"frontend"
];
+4 -4
View File
@@ -8,22 +8,22 @@
let
pname = "hoppscotch";
version = "25.7.1-0";
version = "25.8.0-0";
src =
fetchurl
{
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-Qr7xv3XyneA9RzvO7MqtblBF+oO4auYi5DX/F0n/I0c=";
hash = "sha256-MaQiJOnLvrmv5D97emF7P7gOn3WiAu0Uz7eX8q9G7co=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-/5++4ifR2xcCmU7jg+qm4zsi8swSXTbU7Hdz80p+UCM=";
hash = "sha256-qHAxSwEL2BvDB5ynCIYrP0+uNn+MRIL3IvZxC94ktgA=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-EToScp/zKv4KAuVPJmhKmBtx3WeM+CH38jXinhnT0tE=";
hash = "sha256-0bENzqKjPPEoCb+4QEfdbHXKfrvaC72mFVdPb0G8+Uk=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "jql";
version = "8.0.7";
version = "8.0.8";
src = fetchFromGitHub {
owner = "yamafaktory";
repo = "jql";
rev = "jql-v${version}";
hash = "sha256-OBv7uScgFnLhkeQ2dKey+QYUvX4y/iLFjfCUJeqhXBs=";
hash = "sha256-VujhFNC0nHFRZ5t/X6ZdEp5xpeMwEr0vPrpN9g/9c1U=";
};
cargoHash = "sha256-AAdYjlPpyhxKQ8mXdLBdivMp8G91Ho5ntS73HC8wMfQ=";
cargoHash = "sha256-wkVHzFzQU9O2LAUmR6EYiCeFg29TxJVXJ2COJBB8BZw=";
meta = with lib; {
description = "JSON Query Language CLI tool built with Rust";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "kine";
version = "0.13.18";
version = "0.13.19";
src = fetchFromGitHub {
owner = "k3s-io";
repo = "kine";
rev = "v${version}";
hash = "sha256-zgazHJtGzEbsgB3Sr9gBuAov2TXqbWNAuoHiIGngjMI=";
hash = "sha256-UL1HhN5qWgtzltY4eAU9SlnK80tKUHBORMFHunDCi+Q=";
};
vendorHash = "sha256-XJmy61YrtHmQj0rT7+WpF+yPus/fVBy1hCE9aJYS41I=";
vendorHash = "sha256-1Dwu1b6y1ibGt7w6Iu3lKWItwVn9H/TQFbTL2z2rVoc=";
ldflags = [
"-s"
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "kubectl-ai";
version = "0.0.22";
version = "0.0.23";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "kubectl-ai";
tag = "v${finalAttrs.version}";
hash = "sha256-sU8CATzhp0seUJNYjvxFkRoA/Xqb57kZqGpEOCxypUA=";
hash = "sha256-rQJHgBBMTDIa2CrWlxLubZ446PqFz5ejiFyrYRb3jec=";
};
vendorHash = "sha256-OJnpd8z4e6ytoUi5ydFHYPMA77ryU7Tp8wriuab7yuk=";
vendorHash = "sha256-fvkaVdQlDT+95UTaN/zCIX8924MDoKam49U8lbq6yLs=";
# Build the main command
subPackages = [ "cmd" ];
+30 -17
View File
@@ -14,21 +14,31 @@
libkrunfw,
rustc,
withBlk ? false,
withNet ? false,
withGpu ? false,
withSound ? false,
withNet ? false,
sevVariant ? false,
withTimesync ? false,
variant ? null,
}:
assert lib.elem variant [
null
"sev"
"tdx"
];
let
libkrunfw' = (libkrunfw.override { inherit variant; });
in
stdenv.mkDerivation (finalAttrs: {
pname = "libkrun";
version = "1.11.2";
pname = "libkrun" + lib.optionalString (variant != null) "-${variant}";
version = "1.15.1";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrun";
tag = "v${finalAttrs.version}";
hash = "sha256-B11f7uG/oODwkME2rauCFbVysxUtUrUmd6RKeuBdnUU=";
hash = "sha256-VhlFyYJ/TH12I3dUq0JTus60rQEJq5H4Pm1puCnJV5A=";
};
outputs = [
@@ -38,15 +48,14 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-bcHy8AfO9nzSZKoFlEpPKvwupt3eMb+A2rHDaUzO3/U=";
hash = "sha256-dK3V7HCCvTqmQhB5Op2zmBPa9FO3h9gednU9tpQk+1U=";
};
# Make sure libkrunfw can be found by dlopen()
# FIXME: This wasn't needed previously. What changed?
env.RUSTFLAGS = toString (
map (flag: "-C link-arg=" + flag) [
"-Wl,--push-state,--no-as-needed"
(if sevVariant then "-lkrunfw-sev" else "-lkrunfw")
("-lkrunfw" + lib.optionalString (variant != null) "-${variant}")
"-Wl,--pop-state"
]
);
@@ -57,10 +66,10 @@ stdenv.mkDerivation (finalAttrs: {
cargo
rustc
]
++ lib.optional (sevVariant || withGpu) pkg-config;
++ lib.optional (variant == "sev" || variant == "tdx" || withGpu) pkg-config;
buildInputs = [
(libkrunfw.override { inherit sevVariant; })
libkrunfw'
glibc
glibc.static
]
@@ -70,16 +79,18 @@ stdenv.mkDerivation (finalAttrs: {
virglrenderer
]
++ lib.optional withSound pipewire
++ lib.optional sevVariant openssl;
++ lib.optional (variant == "sev" || variant == "tdx") openssl;
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optional withBlk "BLK=1"
++ lib.optional withNet "NET=1"
++ lib.optional withGpu "GPU=1"
++ lib.optional withSound "SND=1"
++ lib.optional withNet "NET=1"
++ lib.optional sevVariant "SEV=1";
++ lib.optional withTimesync "TIMESYNC=1"
++ lib.optional (variant == "sev") "SEV=1"
++ lib.optional (variant == "tdx") "TDX=1";
postInstall = ''
mkdir -p $dev/lib/pkgconfig
@@ -87,15 +98,17 @@ stdenv.mkDerivation (finalAttrs: {
mv $out/include $dev/
'';
meta = with lib; {
env.OPENSSL_NO_VENDOR = true;
meta = {
description = "Dynamic library providing Virtualization-based process isolation capabilities";
homepage = "https://github.com/containers/libkrun";
license = licenses.asl20;
maintainers = with maintainers; [
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
nickcao
RossComputerGuy
nrabulinski
];
platforms = libkrunfw.meta.platforms;
platforms = libkrunfw'.meta.platforms;
};
})
+20 -11
View File
@@ -10,23 +10,29 @@
perl,
elfutils,
python3,
sevVariant ? false,
variant ? null,
}:
assert lib.elem variant [
null
"sev"
"tdx"
];
stdenv.mkDerivation (finalAttrs: {
pname = "libkrunfw";
version = "4.9.0";
pname = "libkrunfw" + lib.optionalString (variant != null) "-${variant}";
version = "4.10.0";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrunfw";
tag = "v${finalAttrs.version}";
hash = "sha256-wmvjex68Mh7qehA33WNBYHhV9Q/XWLixokuGWnqJ3n0=";
hash = "sha256-mq2gw0+xL6qUZE/fk0vLT3PEpzPV8p+iwRFJHXVOMnk=";
};
kernelSrc = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.20.tar.xz";
hash = "sha256-Iw6JsHsKuC508H7MG+4xBdyoHQ70qX+QCSnEBySbasc=";
url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.34.tar.xz";
hash = "sha256-p/P+OB9n7KQXLptj77YaFL1/nhJ44DYD0P9ak/Jwwk0=";
};
postPatch = ''
@@ -51,8 +57,11 @@ stdenv.mkDerivation (finalAttrs: {
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optionals sevVariant [
++ lib.optionals (variant == "sev") [
"SEV=1"
]
++ lib.optionals (variant == "tdx") [
"TDX=1"
];
# Fixes https://github.com/containers/libkrunfw/issues/55
@@ -60,18 +69,18 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
meta = with lib; {
meta = {
description = "Dynamic library bundling the guest payload consumed by libkrun";
homepage = "https://github.com/containers/libkrunfw";
license = with licenses; [
license = with lib.licenses; [
lgpl2Only
lgpl21Only
];
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
nickcao
RossComputerGuy
nrabulinski
];
platforms = [ "x86_64-linux" ] ++ lib.optionals (!sevVariant) [ "aarch64-linux" ];
platforms = [ "x86_64-linux" ] ++ lib.optionals (variant == null) [ "aarch64-linux" ];
};
})
+120
View File
@@ -0,0 +1,120 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
callPackage,
nixosTests,
}:
let
canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
in
buildGoModule (finalAttrs: {
pname = "llama-swap";
version = "156";
src = fetchFromGitHub {
owner = "mostlygeek";
repo = "llama-swap";
tag = "v${finalAttrs.version}";
hash = "sha256-z0262afVjsdGe6WPoWO1wbccLO538fXBuxOOqLnJHRU=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
postFetch = ''
cd "$out"
git rev-parse HEAD > $out/COMMIT
# '0000-00-00T00:00:00Z'
date -u -d "@$(git log -1 --pretty=%ct)" "+'%Y-%m-%dT%H:%M:%SZ'" > $out/SOURCE_DATE_EPOCH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-5mmciFAGe8ZEIQvXejhYN+ocJL3wOVwevIieDuokhGU=";
passthru.ui = callPackage ./ui.nix { llama-swap = finalAttrs.finalPackage; };
passthru.npmDepsHash = "sha256-Sbvz3oudMVf+PxOJ6s7LsDaxFwvftNc8ZW5KPpbI/cA=";
nativeBuildInputs = [
versionCheckHook
];
ldflags = [
"-s"
"-w"
"-X main.version=${finalAttrs.version}"
];
preBuild = ''
# ldflags based on metadata from git and source
ldflags+=" -X main.commit=$(cat COMMIT)"
ldflags+=" -X main.date=$(cat SOURCE_DATE_EPOCH)"
# copy for go:embed in proxy/ui_embed.go
cp -r ${finalAttrs.passthru.ui}/ui_dist proxy/
'';
excludedPackages = [
# regression testing tool
"misc/process-cmd-test"
# benchmark/regression testing tool
"misc/benchmark-chatcompletion"
]
++ lib.optionals (!canExecute) [
# some tests expect to execute `simple-something`; if it can't be executed
# it's unneeded
"misc/simple-responder"
];
# some tests expect to execute `simple-something` and proxy/helpers_test.go
# checks the file exists
doCheck = canExecute;
preCheck = ''
mkdir build
ln -s "$GOPATH/bin/simple-responder" "./build/simple-responder_''${GOOS}_''${GOARCH}"
'';
postCheck = ''
rm "$GOPATH/bin/simple-responder"
'';
preInstall = ''
install -Dm444 -t "$out/share/llama-swap" config.example.yaml
'';
doInstallCheck = true;
versionCheckProgramArg = "-version";
passthru.tests.nixos = nixosTests.llama-swap;
meta = {
homepage = "https://github.com/mostlygeek/llama-swap";
changelog = "https://github.com/mostlygeek/llama-swap/releases/tag/${finalAttrs.src.tag}";
description = "Model swapping for llama.cpp (or any local OpenAPI compatible server)";
longDescription = ''
llama-swap is a light weight, transparent proxy server that provides
automatic model swapping to llama.cpp's server.
When a request is made to an OpenAI compatible endpoint, llama-swap will
extract the `model` value and load the appropriate server configuration to
serve it. If the wrong upstream server is running, it will be replaced
with the correct one. This is where the "swap" part comes in. The upstream
server is automatically swapped to the correct one to serve the request.
In the most basic configuration llama-swap handles one model at a time.
For more advanced use cases, the `groups` feature allows multiple models
to be loaded at the same time. You have complete control over how your
system resources are used.
'';
license = lib.licenses.mit;
mainProgram = "llama-swap";
maintainers = with lib.maintainers; [
jk
podium868909
];
};
})
+26
View File
@@ -0,0 +1,26 @@
{
llama-swap,
buildNpmPackage,
}:
buildNpmPackage (finalAttrs: {
pname = "${llama-swap.pname}-ui";
inherit (llama-swap) version src npmDepsHash;
postPatch = ''
substituteInPlace vite.config.ts \
--replace-fail "../proxy/ui_dist" "${placeholder "out"}/ui_dist"
'';
sourceRoot = "${finalAttrs.src.name}/ui";
# bundled "ui_dist" doesn't need node_modules
postInstall = ''
rm -rf $out/lib
'';
meta = (builtins.removeAttrs llama-swap.meta [ "mainProgram" ]) // {
description = "${llama-swap.meta.description} - UI";
};
})
+2 -2
View File
@@ -11,8 +11,8 @@ mattermost.override {
# and make sure the version regex is up to date here.
# Ensure you also check ../mattermost/package.nix for ESR releases.
regex = "^v(10\\.[0-9]+\\.[0-9]+)$";
version = "10.11.1";
srcHash = "sha256-iWznWqnsPDcq9hZqnPHCxqsOJESolVWDC6413hitFpk=";
version = "10.11.2";
srcHash = "sha256-lqMdH7jvnO6Z+dP+DHbxeM4iHU6EoJ3/bx8t/oJau0Q=";
vendorHash = "sha256-Lqa463LLy41aaRbrtJFclfOj55vLjK4pWFAFLzX3TJE=";
npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A=";
lockfileOverlay = ''
+3 -5
View File
@@ -1,23 +1,21 @@
{
lib,
python3,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "mqtt-exporter";
version = "1.7.0";
version = "1.8.1-1";
pyproject = true;
src = fetchFromGitHub {
owner = "kpetremann";
repo = "mqtt-exporter";
tag = "v${version}";
hash = "sha256-aEuwJeNMB6sou6oyAwCj11lOdMCjCyEsrDcMF/pHzcg=";
hash = "sha256-FBB8KvSLrcJ9pdfVq18ykovwApNZoOcU0xTfvAWTxpc=";
};
pythonRelaxDeps = [ "prometheus-client" ];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "nak";
version = "0.15.3";
version = "0.15.4";
src = fetchFromGitHub {
owner = "fiatjaf";
repo = "nak";
tag = "v${finalAttrs.version}";
hash = "sha256-PSg+27uTpPIrKlYArWOv92l5muQRQiFZ6Vvu7hDLt5s=";
hash = "sha256-9Ap342HKD9byMGjFS8/3Ai14T5QJfsA5eYvUvqM02Gg=";
};
vendorHash = "sha256-qwi3awU1DHjT/4scGUrhsdlmXJYwq0g/t4LaZ8FGYB0=";
vendorHash = "sha256-CoEwwxKyW2bYwVA6mpIdGjzEyN8m7K+1bODnPLajGJo=";
ldflags = [
"-s"
+3 -2
View File
@@ -15,14 +15,14 @@
}:
python3Packages.buildPythonApplication rec {
pname = "netpeek";
version = "0.2.3.1";
version = "0.2.4";
pyproject = false;
src = fetchFromGitHub {
owner = "ZingyTomato";
repo = "NetPeek";
tag = "v${version}";
hash = "sha256-3PbGK8e/W4pHlXwIvW6kmyeBMvzBIS2DrV0pxafgJOY=";
hash = "sha256-mouXMFYhCBEUTyPfuaw570ZC40TJuprldiSiP0Il0KA=";
};
nativeBuildInputs = [
@@ -43,6 +43,7 @@ python3Packages.buildPythonApplication rec {
dependencies = with python3Packages; [
pygobject3
ping3
python-nmap
];
dontWrapGApps = true;
@@ -0,0 +1,44 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 73276dff6..94027f5cb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -974,21 +974,27 @@ endif(USE_EFENCE)
gopt_test(USE_DBUS)
if(USE_DBUS)
- find_package(PkgConfig)
- # pkg_check_modules doesn't fatal error on REQUIRED, so handle it ourselves
- pkg_check_modules(DBUS ${USE_DBUS_REQUIRED} dbus-1)
- if(NOT DBUS_FOUND)
- if(USE_DBUS_REQUIRED)
- message(FATAL_ERROR "Cannot find DBUS libs but requested on command line")
- else(USE_DBUS_REQUIRED)
- message(WARNING "Cannot find DBUS libs. Disabling DBUS support")
- set(USE_DBUS OFF)
- endif(USE_DBUS_REQUIRED)
- else(NOT DBUS_FOUND)
+ if(DBUS_NO_PKGCONFIG)
set(SYSTEM_LIBRARIES ${DBUS_LIBRARIES} ${SYSTEM_LIBRARIES})
LIST(APPEND CMAKE_LIBRARY_PATH ${DBUS_LIBRARY_DIRS})
link_directories (${DBUS_LIBRARY_DIRS})
- endif(NOT DBUS_FOUND)
+ else(DBUS_NO_PKGCONFIG)
+ find_package(PkgConfig)
+ # pkg_check_modules doesn't fatal error on REQUIRED, so handle it ourselves
+ pkg_check_modules(DBUS ${USE_DBUS_REQUIRED} dbus-1)
+ if(NOT DBUS_FOUND)
+ if(USE_DBUS_REQUIRED)
+ message(FATAL_ERROR "Cannot find DBUS libs but requested on command line")
+ else(USE_DBUS_REQUIRED)
+ message(WARNING "Cannot find DBUS libs. Disabling DBUS support")
+ set(USE_DBUS OFF)
+ endif(USE_DBUS_REQUIRED)
+ else(NOT DBUS_FOUND)
+ set(SYSTEM_LIBRARIES ${DBUS_LIBRARIES} ${SYSTEM_LIBRARIES})
+ LIST(APPEND CMAKE_LIBRARY_PATH ${DBUS_LIBRARY_DIRS})
+ link_directories (${DBUS_LIBRARY_DIRS})
+ endif(NOT DBUS_FOUND)
+ endif(DBUS_NO_PKGCONFIG)
endif(USE_DBUS)
if(USE_CB_SIMULATOR AND NOT USE_DBUS)
+33 -3
View File
@@ -8,7 +8,6 @@
krb5,
xfsprogs,
jemalloc,
dbus,
libcap,
ntirpc,
liburcu,
@@ -16,6 +15,10 @@
flex,
nfs-utils,
acl,
useCeph ? false,
ceph,
useDbus ? true,
dbus,
}:
stdenv.mkDerivation rec {
@@ -35,6 +38,8 @@ stdenv.mkDerivation rec {
hash = "sha256-OHGmEzHu8y/TPQ70E2sicaLtNgvlf/bRq8JRs6S1tpY=";
};
patches = lib.optional useDbus ./allow-bypassing-dbus-pkg-config-test.patch;
preConfigure = "cd src";
cmakeFlags = [
@@ -44,6 +49,19 @@ stdenv.mkDerivation rec {
"-DUSE_ACL_MAPPING=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON"
"-DUSE_MAN_PAGE=ON"
]
++ lib.optionals useCeph [
"-DUSE_RADOS_RECOV=ON"
"-DRADOS_URLS=ON"
"-DUSE_FSAL_CEPH=ON"
"-DUSE_FSAL_RGW=ON"
]
++ lib.optionals useDbus [
"-DUSE_DBUS=ON"
"-DDBUS_NO_PKGCONFIG=ON"
"-DDBUS_LIBRARY_DIRS=${lib.getLib dbus}/lib"
"-DDBUS_INCLUDE_DIRS=${lib.getDev dbus}/include/dbus-1.0\\;${lib.getLib dbus}/lib/dbus-1.0/include"
"-DDBUS_LIBRARIES=dbus-1"
];
nativeBuildInputs = [
@@ -52,7 +70,8 @@ stdenv.mkDerivation rec {
bison
flex
sphinx
];
]
++ lib.optional useDbus dbus;
buildInputs = [
acl
@@ -64,7 +83,8 @@ stdenv.mkDerivation rec {
ntirpc
liburcu
nfs-utils
];
]
++ lib.optional useCeph ceph;
postPatch = ''
substituteInPlace src/tools/mount.9P --replace "/bin/mount" "/usr/bin/env mount"
@@ -72,10 +92,20 @@ stdenv.mkDerivation rec {
postFixup = ''
patchelf --add-rpath $out/lib $out/bin/ganesha.nfsd
patchelf --add-rpath $out/lib $out/lib/libganesha_nfsd.so
''
+ lib.optionalString useCeph ''
patchelf --add-rpath $out/lib $out/bin/ganesha-rados-grace
patchelf --add-rpath $out/lib $out/lib/libganesha_rados_recov.so
patchelf --add-rpath $out/lib $out/lib/libganesha_rados_urls.so
'';
postInstall = ''
install -Dm755 $src/src/tools/mount.9P $tools/bin/mount.9P
''
+ lib.optionalString useDbus ''
# Policy for D-Bus statistics interface
install -Dm644 $src/src/scripts/ganeshactl/org.ganesha.nfsd.conf $out/etc/dbus-1/system.d/org.ganesha.nfsd.conf
'';
meta = with lib; {
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "okteto";
version = "3.10.1";
version = "3.11.0";
src = fetchFromGitHub {
owner = "okteto";
repo = "okteto";
tag = finalAttrs.version;
hash = "sha256-gYdws+cUJpr0tIztO9tjc/dVtBWau6HdriP/Y8p+kOQ=";
hash = "sha256-gzOymFkzz2MStbhLA1viJuHNbsBFDLqbhG0lIaxAC+w=";
};
vendorHash = "sha256-Pun9LgQAv/wlX0CwU4AJuEkMeZgPTL+ExmUevURvjYE=";
vendorHash = "sha256-wkuCUMzmYAWf8RjM6DkTTHaY7qEIjGNYiT4grtCbYs8=";
postPatch = ''
# Disable some tests that need file system & network access.
@@ -1,8 +1,8 @@
diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
index 7c66d98b..62d40f49 100644
index e8299202..19dbd7b1 100644
--- a/ext/test/http/curl_http_test.cc
+++ b/ext/test/http/curl_http_test.cc
@@ -229,7 +229,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
@@ -270,7 +270,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
ASSERT_EQ(count, 4);
}
@@ -11,8 +11,8 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -246,7 +246,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
ASSERT_TRUE(handler->got_response_);
@@ -287,7 +287,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
ASSERT_TRUE(handler->got_response_.load(std::memory_order_acquire));
}
-TEST_F(BasicCurlHttpTests, SendPostRequest)
@@ -20,25 +20,25 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -325,7 +325,7 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
delete handler;
@@ -313,7 +313,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequest)
session_manager->FinishAllSessions();
}
-TEST_F(BasicCurlHttpTests, RequestTimeout)
+TEST_F(BasicCurlHttpTests, DISABLED_RequestTimeout)
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -442,7 +442,7 @@ TEST_F(BasicCurlHttpTests, ExponentialBackoffRetry)
}
#endif // ENABLE_OTLP_RETRY_PREVIEW
-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
+TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSync)
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -336,7 +336,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSync)
EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
}
-TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSyncTimeout)
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -350,7 +350,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
@@ -467,7 +467,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
result.GetSessionState() == http_client::SessionState::SendFailed);
}
@@ -47,7 +47,7 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -378,7 +378,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
@@ -495,7 +495,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
"http://127.0.0.1:31339/");
}
@@ -56,7 +56,7 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
@@ -452,7 +452,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
@@ -570,7 +570,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
}
}
@@ -65,7 +65,7 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
@@ -491,7 +491,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
@@ -609,7 +609,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
}
}
@@ -74,6 +74,12 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
--
2.40.1
@@ -647,7 +647,7 @@ TEST_F(BasicCurlHttpTests, FinishInAsyncCallback)
}
}
-TEST_F(BasicCurlHttpTests, ElegantQuitQuick)
+TEST_F(BasicCurlHttpTests, DISABLED_ElegantQuitQuick)
{
auto http_client = http_client::HttpClientFactory::Create();
std::static_pointer_cast<curl::HttpClient>(http_client)->MaybeSpawnBackgroundThread();
+33 -19
View File
@@ -10,25 +10,30 @@
prometheus-cpp,
nlohmann_json,
nix-update-script,
cxxStandard ? null,
enableHttp ? false,
enableGrpc ? false,
enablePrometheus ? false,
enableElasticSearch ? false,
enableZipkin ? false,
}:
let
opentelemetry-proto = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-proto";
rev = "v1.3.2";
hash = "sha256-bkVqPSVhyMHrmFvlI9DTAloZzDozj3sefIEwfW7OVrI=";
rev = "v1.5.0";
hash = "sha256-PkG0npG3nKQwq6SxWdIliIQ/wrYAOG9qVb26IeVkBfc=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "opentelemetry-cpp";
version = "1.16.1";
version = "1.20.0";
src = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-cpp";
rev = "v${finalAttrs.version}";
hash = "sha256-31zwIZ4oehhfn+oCyg8VQTurPOmdgp72plH1Pf/9UKQ=";
hash = "sha256-ibLuHIg01wGYPhLRz+LVYA34WaWzlUlNtg7DSONLe9g=";
};
patches = [
@@ -40,12 +45,18 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
curl
grpc
nlohmann_json
prometheus-cpp
protobuf
];
propagatedBuildInputs =
lib.optionals (enableGrpc || enableHttp) [ protobuf ]
++ lib.optionals enableGrpc [
grpc
]
++ lib.optionals enablePrometheus [
prometheus-cpp
];
doCheck = true;
checkInputs = [
@@ -55,15 +66,18 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_OTLP_HTTP=ON"
"-DWITH_OTLP_GRPC=ON"
"-DWITH_ABSEIL=ON"
"-DWITH_PROMETHEUS=ON"
"-DWITH_ELASTICSEARCH=ON"
"-DWITH_ZIPKIN=ON"
"-DWITH_BENCHMARK=OFF"
"-DOTELCPP_PROTO_PATH=${opentelemetry-proto}"
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "WITH_BENCHMARK" false)
(lib.cmakeBool "WITH_OTLP_HTTP" enableHttp)
(lib.cmakeBool "WITH_OTLP_GRPC" enableGrpc)
(lib.cmakeBool "WITH_PROMETHEUS" enablePrometheus)
(lib.cmakeBool "WITH_ELASTICSEARCH" enableElasticSearch)
(lib.cmakeBool "WITH_ZIPKIN" enableZipkin)
(lib.cmakeFeature "OTELCPP_PROTO_PATH" "${opentelemetry-proto}")
]
++ lib.optionals (cxxStandard != null) [
(lib.cmakeFeature "CMAKE_CXX_STANDARD" cxxStandard)
(lib.cmakeFeature "WITH_STL" "CXX${cxxStandard}")
];
outputs = [
@@ -72,8 +86,8 @@ stdenv.mkDerivation (finalAttrs: {
];
postInstall = ''
substituteInPlace $out/lib/cmake/opentelemetry-cpp/opentelemetry-cpp-target.cmake \
--replace-fail "\''${_IMPORT_PREFIX}/include" "$dev/include"
substituteInPlace $out/lib/cmake/opentelemetry-cpp/opentelemetry-cpp*-target.cmake \
--replace-quiet "\''${_IMPORT_PREFIX}/include" "$dev/include"
'';
passthru.updateScript = nix-update-script { };
+3 -3
View File
@@ -15,16 +15,16 @@
let
package = buildGoModule rec {
pname = "opentofu";
version = "1.10.5";
version = "1.10.6";
src = fetchFromGitHub {
owner = "opentofu";
repo = "opentofu";
tag = "v${version}";
hash = "sha256-w7uzTG0zqa+izncQoqCSbIJCCIz+jOVbPg9/HiCm7Ik=";
hash = "sha256-IEdnESrhDT2rDha7TNgUnGnPioNPnKrUuOXSGRnUOBI=";
};
vendorHash = "sha256-+cwFkqhFuLJCb02tvYjccpkNzy7tz979mjgCeqi2DC4=";
vendorHash = "sha256-ZnQDRiLdg12Dx9RdK1xBWUrAm3QQLGhwH1vxh4ieVv0=";
ldflags = [
"-s"
"-w"
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation rec {
pname = "openvas-scanner";
version = "23.23.1";
version = "23.24.0";
src = fetchFromGitHub {
owner = "greenbone";
repo = "openvas-scanner";
tag = "v${version}";
hash = "sha256-+G8wFkPYxGsh6esQEpQ5GckTYgPvwqxhibTOe12riyk=";
hash = "sha256-6ZqUfqwtotVrMOLh0QiAjN+Syz0HhP1r8GIFhMfYVio=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "osmo-bsc";
version = "1.13.0";
version = "1.13.2";
src = fetchFromGitHub {
owner = "osmocom";
repo = "osmo-bsc";
rev = version;
hash = "sha256-wQtGyqqaEW+mM6Eg85N+i3ZiKC/Z6wxYk2Wwvz7qOFw=";
hash = "sha256-YSCbVqELh/id9sK4G5xF8riYXhwFtXU/lXMlH6XxvXY=";
};
postPatch = ''
+1
View File
@@ -18,6 +18,7 @@ python3.pkgs.buildPythonApplication rec {
pythonRelaxDeps = [
"defusedxml"
"lxml"
"packaging"
"psutil"
"python-gnupg"
@@ -0,0 +1,14 @@
{
version = "1.75.0";
hashes = {
linux-aarch_64 = "sha256-fkWjH5rq+rmirorx+SgjgabYw8DZKbUVt5o2poxfAGg=";
linux-ppcle_64 = "sha256-FC0NgeMZuj1KfSyiqffZyK6/dzvmrZLoI5vz4q8IdlE=";
linux-s390_64 = "sha256-+oXkS7B9o07k1k+J3/fkwVrMhji4R8lLdUcdStP6PK0=";
linux-x86_32 = "sha256-givjTIdi/vJtLgitkUW9IxbS5jb7qh42fhFS9drudo0=";
linux-x86_64 = "sha256-WTZvtYoZ79TjZ0wVaOlO8WeBYVGs+q0C+k7wS7yrKT0=";
osx-aarch_64 = "sha256-kzfvzNrQHdj0tO8n+mcMHKZ5QVgAaXkJf6qsDAvCuJY=";
osx-x86_64 = "sha256-kzfvzNrQHdj0tO8n+mcMHKZ5QVgAaXkJf6qsDAvCuJY=";
windows-x86_32 = "sha256-fOa2fuO+q/DTg0Om79mGlUN39Dhr/IvzM8j42/DG7KI=";
windows-x86_64 = "sha256-yaiM0ILXQfMZBBX9IwtpEkO6qqz7h7KurH56mKT+NbA=";
};
}
@@ -1,11 +0,0 @@
{
linux-aarch_64 = "sha256-sgdZoaSM7LgK4DbbKPJO3FdBA37YAX86meaKDLQiOmg=";
linux-ppcle_64 = "sha256-k4nQGJNwtd8W4nJLyWPRhqjikczy7p7ffDIrWxkcUTA=";
linux-s390_64 = "sha256-fcuNlJeUmduFzqt5WaefYk3lFVmdHeSFIEkbwT2I1O0=";
linux-x86_32 = "sha256-KNvqGkeERd2UxzhjO/Fp6Uv7DGBt15rPGviRmH7pmno=";
linux-x86_64 = "sha256-7LI115E3BOz3jnHavkQBbN0hsjKuSbnXNAjXFw/D14I=";
osx-aarch_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
osx-x86_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
windows-x86_32 = "sha256-ERbksXFy4AFhZSFG9G4AMOi68EzEScBvDJFF9+rnPnU=";
windows-x86_64 = "sha256-wZU6on7A84fPm8xwD8pBgSk8+fkB14LdvWZXEniz8LU=";
}
@@ -33,13 +33,14 @@ let
throw "Unsupported CPU \"${platform.parsed.cpu.name}\"";
in
"${os}-${arch}";
data = import ./data.nix;
in
stdenv.mkDerivation (finalAttrs: {
pname = "protoc-gen-grpc-java";
version = "1.73.0";
inherit (data) version;
src = fetchurl {
url = "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${finalAttrs.version}/protoc-gen-grpc-java-${finalAttrs.version}-${hostArch}.exe";
hash = (import ./hashes.nix).${hostArch} or (throw "Unsuported host arch ${hostArch}");
hash = data.hashes.${hostArch} or (throw "Unsuported host arch ${hostArch}");
};
dontUnpack = true;
dontConfigure = true;
@@ -14,7 +14,7 @@ ARCHS=(
'windows-x86_32'
'windows-x86_64'
)
HASHES_FILE=pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix
DATA_FILE=pkgs/by-name/pr/protoc-gen-grpc-java/data.nix
version="$(
curl --silent --location --fail \
@@ -24,10 +24,13 @@ version="$(
sed 's/^v//'
)"
echo '{' >"${HASHES_FILE}"
echo '{' >"${DATA_FILE}"
echo " version = \"${version}\";" >>"${DATA_FILE}"
echo ' hashes = {' >>"${DATA_FILE}"
for arch in "${ARCHS[@]}"; do
url="https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${version}/protoc-gen-grpc-java-${version}-${arch}.exe"
hash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "${url}")")
echo " ${arch} = \"${hash}\";" >>"${HASHES_FILE}"
echo " ${arch} = \"${hash}\";" >>"${DATA_FILE}"
done
echo '}' >>"${HASHES_FILE}"
echo ' };' >>"${DATA_FILE}"
echo '}' >>"${DATA_FILE}"
-190
View File
@@ -1,190 +0,0 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://github.com": {
"adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x86-32_windows_hotspot_17.0.10_7": {
"zip": "sha256-EWZ+nnu8uYBDDWzGMFUxYqDBikI4xLBAu2cc2AYHcQY="
}
},
"https://jcenter.bintray.com": {
"com/github/spotbugs#spotbugs-annotations/4.2.2": {
"jar": "sha256-VlfEgKMYg88/xtEuauUiyfzJpjA7RZOe5Cyi4Mz07QQ=",
"module": "sha256-yjYif6H3bmbT7boJ5N9R38nyrfkyttH6EjT+Lx0KB5s=",
"pom": "sha256-vz9CdawvbTnQq1gV28D2/yYBUoRztjtpkGdM3uuuRaM="
},
"com/github/spotbugs#spotbugs/4.2.2": {
"jar": "sha256-JO9T3cYiZAe+ndgHzFy5ZFQwKG91Bb0yK24Cc9Bz8DY=",
"module": "sha256-vRozvig14GQmmfibS3VeJ1iNrYu5vbuAYxT6LdWECRQ=",
"pom": "sha256-M2abH/xQYg2pZA2xlZepdre64Cab/05yd7Gg3D1qUNA="
},
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/code/gson#gson-parent/2.8.6": {
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
},
"com/google/code/gson#gson/2.8.6": {
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
},
"edu/stanford/ejalbert#BrowserLauncher2/1.3": {
"jar": "sha256-pt7rHbhm7S+cyE7uu4kIgOfOAgptYS9pnpBAOuP371o=",
"pom": "sha256-zcuMk+OUxzYg8zUs1ALIN0rF3wI7bJArOhDST1SUeG0="
},
"jaxen#jaxen/1.2.0": {
"jar": "sha256-cP7vndda0GTe8Fo86Jda66UV7n0b4UbRIZnIgopkF0w=",
"pom": "sha256-zEgr+qIqVQepb6WzorYVkRRDrT9zZOAgBNGQsGfzsH8="
},
"net/jcip#jcip-annotations/1.0": {
"jar": "sha256-vlgFOSBgxxR0v2yaZ6CZRxJ00wuD7vhL/E4IiaTx3MA=",
"pom": "sha256-XBnmhIzFUKlWZPsIIwS8X5/Pe2cvrwOvFjXw6TwmgXc="
},
"net/sf/launch4j#launch4j/3.14": {
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
},
"net/sf/launch4j#launch4j/3.14/workdir-linux64": {
"jar": "sha256-mphFGb9E6CWlsEFZfgVPi/qy+Tpm+na30aM79JIcNUY="
},
"net/sf/saxon#Saxon-HE/10.3": {
"jar": "sha256-ZgqJFipXfP1zvD2zxTy+x+gtSrIFEkfzGSfxNa/3yQg=",
"pom": "sha256-FfRI8O2fblTGre47tov582btryOPYW33hB8dzXc3hpg="
},
"org/apache#apache/21": {
"pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A="
},
"org/apache#apache/23": {
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
},
"org/apache/bcel#bcel/6.5.0": {
"jar": "sha256-ves4HQ0ZmZ4iHmoPjYv0T1sZwuV+q/aLcNwJhlKu+vU=",
"pom": "sha256-/B6eb17UvSAMsGYghsiYwAAmOGoutKY0hBH34OBotcU="
},
"org/apache/commons#commons-lang3/3.12.0": {
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
},
"org/apache/commons#commons-parent/50": {
"pom": "sha256-e3ots/dHB0tYZ/VT1e/IByvibt4yh50FLDR+fIERfwY="
},
"org/apache/commons#commons-parent/51": {
"pom": "sha256-m3edGLItjeVZYFVY57sKCjGz8Awqu5yHgRfDmKrKvso="
},
"org/apache/commons#commons-parent/52": {
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
},
"org/apache/commons#commons-text/1.9": {
"jar": "sha256-CBLyhKxd0NYXRh2aKrasaBETfyUSLf/9R4ikhx5zLQA=",
"pom": "sha256-n5IWz8lE3KeC5jEdYnV/13Fk/mfaKbWPAVaH+gn0QFA="
},
"org/dom4j#dom4j/2.1.3": {
"jar": "sha256-VJ8wB8YpD2qQHlfR0zG07Q5r9zhPeL8QMW/87sqDTeY=",
"module": "sha256-3sfF/Y1SDa+1exXi87a+LxgFYTQqP0Ub7u6QVUO8FwM=",
"pom": "sha256-zcnEn1nSMNQnF3G7dkqnCX1qy83CUAFJ5NLJUd9crDA="
},
"org/junit#junit-bom/5.7.1": {
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
},
"org/ow2#ow2/1.5": {
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
},
"org/ow2/asm#asm-analysis/9.1": {
"jar": "sha256-gaiAQbG4vtpaiplkYJgEbEhwlTgnDEne9oq/8lrDvjQ=",
"pom": "sha256-rFRUwRsDQxypUd9x+06GyMTIDfaXn5W3V8rtOrD0cVY="
},
"org/ow2/asm#asm-commons/9.1": {
"jar": "sha256-r8sm3B/BLAxKma2mcJCN2C4Y38SIyvXuklRplrRwwAw=",
"pom": "sha256-oPZRsnuK/pwOYS16Ambqy197HHh7xLWsgkXz16EYG38="
},
"org/ow2/asm#asm-tree/9.1": {
"jar": "sha256-/QCvpJ6VlddkYgWwnOy0p3ao/wugby1ZuPe/nHBLSnM=",
"pom": "sha256-tqANkgfANUYPgcfXDtQSU/DSFmUr7UX6GjBS/81QuUw="
},
"org/ow2/asm#asm-util/9.1": {
"jar": "sha256-OA4uzRb3zA8adrqboEkXm1dgpXsoKoekxlPK7/LNW9Y=",
"pom": "sha256-jd108aHiuTxwnZdtAgXnT7850AVwPJYmpe1cxXTK+88="
},
"org/ow2/asm#asm/9.1": {
"jar": "sha256-zaTeRV+rSP8Ly3xItGOUR9TehZp6/DCglKmG8JNr66I=",
"pom": "sha256-xoOpDdaPKxeIy9/EZH6pQF71kls3HBmfj9OdRNPO3o0="
},
"org/slf4j#slf4j-api/1.8.0-beta4": {
"jar": "sha256-YCtxIynIS0qDxARk9P39D+QjjFPvOXE5qGcGRznb9OA=",
"pom": "sha256-+DFtKKzyUrIbHp6O7ZqEwq+9yOBA9p06ELq4E9PYWoU="
},
"org/slf4j#slf4j-parent/1.8.0-beta4": {
"pom": "sha256-uvujCoPVOpRVAZZEdWKqjNrRRWFcKJMsaku0QcNVMQE="
},
"org/slf4j#slf4j-simple/1.8.0-beta4": {
"jar": "sha256-usZqvFtEYt/2Lh4ZqzsKZcFg681WTPJZENsAOo5WnP0=",
"pom": "sha256-oXrS6OU00OgZ6o0UIT3nSNRlD/8qJX0+kqE9oxAoe/c="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
}
},
"https://plugins.gradle.org/m2": {
"com/formdev#flatlaf/1.0": {
"jar": "sha256-E12NWsOf7CnZs/9SyzBybT+XawaYYVvjJTT9eSTynsc=",
"module": "sha256-dStur7AL/wRCGXCYLcqvz1l7SajJE64M73XkKHYKC68=",
"pom": "sha256-ylkCGnUHptHH0ZM+DN+hxKlpqgTsaMYsMdYTMtMAlpo="
},
"com/github/spotbugs#com.github.spotbugs.gradle.plugin/4.7.1": {
"pom": "sha256-vzSvShy4wBuhRYlSW5K1KXuRB3UmfD4r86m9Y5WEIXc="
},
"com/thoughtworks/xstream#xstream-parent/1.4.15": {
"pom": "sha256-GDOZpW5OtAJkCjcZURmuZx61kW17OKX2PpTvGvkPuc4="
},
"com/thoughtworks/xstream#xstream/1.4.15": {
"jar": "sha256-MneEmWGqnrBV+HcYEEUAhtOMwuQH7rg0bQI56gIYpFM=",
"pom": "sha256-sX3W1xyyywYmTZ6q0a6Mgg5FdhTx1jRcdgmSB3Ei1EY="
},
"commons-beanutils#commons-beanutils/1.9.4": {
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
},
"commons-logging#commons-logging/1.2": {
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
},
"edu/sc/seis/launch4j#edu.sc.seis.launch4j.gradle.plugin/2.5.0": {
"pom": "sha256-n0puUetm4COQOF+0PkmHup+PCZ5QD8WCPwKh9ZFQ4Q4="
},
"edu/sc/seis/launch4j#launch4j/2.5.0": {
"jar": "sha256-UX6wYGabD7AySfEXvtG5UbckhI1XLhpeSgnHRWnC8CQ=",
"module": "sha256-ujuCeHwFd2TaKUOOoAxuVaD1xcppLb6Pm0zt1QZVSXs=",
"pom": "sha256-sadCLzKqOPcR43vhoilGBV2MJiby9Xy2LUHMWR6h4TI="
},
"gradle/plugin/com/github/spotbugs/snom#spotbugs-gradle-plugin/4.7.1": {
"jar": "sha256-4zxJQ+EOPtJ1mRoZMFagVtdXUYUcvWGqysipEXTm4Kc=",
"pom": "sha256-aBZTKWh+foW+JoNs7+nuoWT4xFhi+M70qkP9yr+P7T8="
},
"net/sf/launch4j#launch4j/3.14": {
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
},
"net/sf/launch4j#launch4j/3.14/core": {
"jar": "sha256-pGVAv4Nrz3s1AHM9n6f1muzYyDeUJz5zZlWrLKdXYjA="
},
"org/apache#apache/13": {
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
},
"org/apache#apache/19": {
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
},
"org/apache/commons#commons-parent/34": {
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
},
"org/apache/commons#commons-parent/47": {
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
},
"xmlpull#xmlpull/1.1.3.1": {
"jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=",
"pom": "sha256-jxD/2N8NPpgZyMyEAnCcaySLxTqVTvbkVHDZrjpXNfs="
},
"xpp3#xpp3_min/1.1.4c": {
"jar": "sha256-v8kOnjLQ6rHzl/uXS18VCoFRiDgqxB83KnFJ1bwXgAg=",
"pom": "sha256-tbRqwMCdpBsE28dTRWtIkShWp/+7FJBnaRC1EMRx0T8="
}
}
}
+38 -32
View File
@@ -1,56 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
gradle,
jre,
makeWrapper,
jdk,
git,
makeDesktopItem,
copyDesktopItems,
fetchzip,
fetchurl,
}:
let
icon = fetchurl {
url = "https://raw.githubusercontent.com/hrehfeld/QuakeInjector/b741bae9904acbf2e18cdb1ca8e71a12e7d416cf/src/main/resources/Inject2_256.png";
hash = "sha256-769YoSJ52+BTk7s+wh4oOyHwPPrR7AeOxCS58CdQ93s=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "quake-injector";
version = "06";
version = "07";
src = fetchFromGitHub {
owner = "hrehfeld";
repo = "QuakeInjector";
tag = "alpha${finalAttrs.version}";
hash = "sha256-bbvLp5/Grg+mXBuV5aJCMOSjFp1+ukZS+AivcbhBxHU=";
src = fetchzip {
url = "https://github.com/hrehfeld/QuakeInjector/releases/download/alpha${finalAttrs.version}/QuakeInjector-alpha${finalAttrs.version}.zip";
hash = "sha256-Lixac9K3+9j7QvprZGzhnYuvlJV9V+ja4EipygELkWA=";
};
nativeBuildInputs = [
gradle
makeWrapper
git
copyDesktopItems
];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
installPhase =
let
# Explicit needed JAR filenames
filenames = [
"QuakeInjector-alpha${finalAttrs.version}.jar"
"BrowserLauncher2-1.3.jar"
"jackson-annotations-2.13.3.jar"
"jackson-core-2.13.3.jar"
"jackson-databind-2.13.3.jar"
];
__darwinAllowLocalNetworking = true;
mkClasspath = prefix: lib.concatMapStringsSep ":" (filename: "${prefix}/${filename}") filenames;
classpath = mkClasspath "$out/share/quake-injector";
in
''
runHook preInstall
doCheck = true;
mkdir -p $out/{bin,share/quake-injector}
cp lib/*.jar $out/share/quake-injector
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons/hicolor/256x256/apps
cp ${icon} $out/share/icons/hicolor/256x256/apps/quake-injector.png
mkdir -p $out/{bin,share/quake-injector}
cp build/libs/QuakeInjector.jar $out/share/quake-injector
makeWrapper ${jre}/bin/java $out/bin/quake-injector \
--add-flags "-classpath ${classpath} de.haukerehfeld.quakeinjector.QuakeInjector"
mkdir -p $out/share/icons/hicolor/256x256/apps
cp src/main/resources/Inject2_256.png $out/share/icons/hicolor/256x256/apps/quake-injector.png
runHook postInstall
'';
makeWrapper ${jre}/bin/java $out/bin/quake-injector \
--add-flags "-jar $out/share/quake-injector/QuakeInjector.jar"
runHook postInstall
'';
# There are no tests.
doCheck = false;
desktopItems = [
(makeDesktopItem {
@@ -71,9 +80,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ theobori ];
mainProgram = "quake-injector";
platforms = jdk.meta.platforms;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # mitm cache
];
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
})
+3 -3
View File
@@ -6,14 +6,14 @@
rustPlatform.buildRustPackage rec {
pname = "rsign2";
version = "0.6.3";
version = "0.6.4";
src = fetchCrate {
inherit pname version;
hash = "sha256-bJeM1HTzmC8QZ488PpqQ0qqdFg1/rjPWuTtqo1GXyHM=";
hash = "sha256-SmrTMMHnB5r0K6zL9B2qJwyywFxUTidQDejnFsOTT4E=";
};
cargoHash = "sha256-dCZcxtaqcRHhAmgGigBjN0jDfh1VjoosqTDTkqwlXp0=";
cargoHash = "sha256-eWPZROftFA0pTgFDl4AuUP5yO863ar+HAcjCRk5c+cA=";
meta = with lib; {
description = "Command-line tool to sign files and verify signatures";
+3 -3
View File
@@ -9,13 +9,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "sentry-cli";
version = "2.52.0";
version = "2.53.0";
src = fetchFromGitHub {
owner = "getsentry";
repo = "sentry-cli";
rev = version;
hash = "sha256-iu1WbtgNxrS5JgsEZo1xGtTfnkZcYQUm3sY1NquCFpI=";
hash = "sha256-M/F9Qkpmaz6p1l8hYVJ4EeD8SpKzweKexZ/fR4luCQw=";
};
doCheck = false;
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
pkg-config
];
cargoHash = "sha256-/V2Q8QPDDQkE5oJMGx51CtoZ1zoE/iVPegmMi1PLgYw=";
cargoHash = "sha256-STwAUUHUlXhrjSXQVYDgkFXym4S/JgofbdQ5lWTCUoA=";
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd sentry-cli \
+3 -2
View File
@@ -3,8 +3,9 @@
"computer": "sha256-qaD6jn78zDyZBktwJ4WTQa8oCvCWQJOBDaozBVsXNb8=",
"dartssh2": "sha256-XlbruyraMmZGNRppQdBLS89Qyd7mm5Noiap2BhZjEPw=",
"fl_build": "sha256-hCojuXFuN33/prCyuPcMoehWiGfaR2yOJA2V6dOuz4E=",
"fl_lib": "sha256-7nwj5eE3nCezjrv5N2cz/9r+CqMKTOIuhaeH4AGVchY=",
"fl_lib": "sha256-kg52OMCznepmqUl8PpikabeDyRoRwDbyo997PDcTxJA=",
"gtk": "sha256-nt7d2MvIfizxezWhQNm2/yHEzYuPKDvfHGM9Bnq3f04=",
"plain_notification_token": "sha256-Cy1/S8bAtKCBnjfDEeW4Q2nP4jtwyCstAC1GH1efu8I=",
"watch_connectivity": "sha256-9TyuElr0PNoiUvbSTOakdw1/QwWp6J2GAwzVHsgYWtM=",
"xterm": "sha256-yMETVh1qEdQAIYaQWbL5958N5dGpczJ/Y8Zvl1WjRnw="
"xterm": "sha256-j1+cN6r0qcmOk7YneRVM5SzimqiTUcG/a+cTsCqsq9k="
}
+5 -5
View File
@@ -1,6 +1,6 @@
{
lib,
flutter332,
flutter335,
fetchFromGitHub,
autoPatchelfHook,
copyDesktopItems,
@@ -12,16 +12,16 @@
}:
let
version = "1.0.1201";
version = "1.0.1241";
src = fetchFromGitHub {
owner = "lollipopkit";
repo = "flutter_server_box";
tag = "v${version}";
hash = "sha256-ScPpEL2YxWw1aKEyzhoa0b931WF4hrdren4aSAlMpoU=";
hash = "sha256-qiMCOd6U66VNo5NRUwOh0Pvb84g2v9V/DIWAy7/bCuk=";
};
in
flutter332.buildFlutterApplication {
flutter335.buildFlutterApplication {
pname = "server-box";
inherit version src;
@@ -52,7 +52,7 @@ flutter332.buildFlutterApplication {
];
postInstall = ''
install -Dm0644 assets/app_icon.png $out/share/pixmaps/server-box.png
install -D --mode=0644 assets/app_icon.png $out/share/icons/hicolor/512x512/apps/server-box.png
'';
passthru = {
+152 -131
View File
@@ -4,31 +4,31 @@
"dependency": "transitive",
"description": {
"name": "_fe_analyzer_shared",
"sha256": "e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f",
"sha256": "da0d9209ca76bde579f2da330aeb9df62b6319c834fa7baae052021b0462401f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "82.0.0"
"version": "85.0.0"
},
"analyzer": {
"dependency": "direct dev",
"description": {
"name": "analyzer",
"sha256": "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0",
"sha256": "f4ad0fea5f102201015c9aae9d93bc02f75dd9491529a8c21f88d17a8523d44c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "7.4.5"
"version": "7.6.0"
},
"analyzer_plugin": {
"dependency": "transitive",
"description": {
"name": "analyzer_plugin",
"sha256": "ee188b6df6c85f1441497c7171c84f1392affadc0384f71089cb10a3bc508cef",
"sha256": "a5ab7590c27b779f3d4de67f31c4109dbe13dd7339f86461a6f2a8ab2594d8ce",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.13.1"
"version": "0.13.4"
},
"animations": {
"dependency": "transitive",
@@ -54,11 +54,11 @@
"dependency": "transitive",
"description": {
"name": "app_links",
"sha256": "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba",
"sha256": "5f88447519add627fe1cbcab4fd1da3d4fed15b9baf29f28b22535c95ecee3e8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.4.0"
"version": "6.4.1"
},
"app_links_linux": {
"dependency": "transitive",
@@ -114,11 +114,11 @@
"dependency": "transitive",
"description": {
"name": "asn1lib",
"sha256": "0511d6be23b007e95105ae023db599aea731df604608978dada7f9faf2637623",
"sha256": "9a8f69025044eb466b9b60ef3bc3ac99b4dc6c158ae9c56d25eeccf5bc56d024",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.6.4"
"version": "1.6.5"
},
"async": {
"dependency": "transitive",
@@ -144,11 +144,11 @@
"dependency": "transitive",
"description": {
"name": "build",
"sha256": "cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0",
"sha256": "51dc711996cbf609b90cbe5b335bbce83143875a9d58e4b5c6d3c4f684d3dda7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.2"
"version": "2.5.4"
},
"build_config": {
"dependency": "transitive",
@@ -174,31 +174,31 @@
"dependency": "transitive",
"description": {
"name": "build_resolvers",
"sha256": "b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0",
"sha256": "ee4257b3f20c0c90e72ed2b57ad637f694ccba48839a821e87db762548c22a62",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.4"
"version": "2.5.4"
},
"build_runner": {
"dependency": "direct dev",
"description": {
"name": "build_runner",
"sha256": "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99",
"sha256": "382a4d649addbfb7ba71a3631df0ec6a45d5ab9b098638144faf27f02778eb53",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.15"
"version": "2.5.4"
},
"build_runner_core": {
"dependency": "transitive",
"description": {
"name": "build_runner_core",
"sha256": "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021",
"sha256": "85fbbb1036d576d966332a3f5ce83f2ce66a40bea1a94ad2d5fc29a19a0d3792",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.0.0"
"version": "9.1.2"
},
"built_collection": {
"dependency": "transitive",
@@ -214,41 +214,41 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
"sha256": "ba95c961bafcd8686d1cf63be864eb59447e795e124d98d6a27d91fcd13602fb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.10.1"
"version": "8.11.1"
},
"camera": {
"dependency": "transitive",
"description": {
"name": "camera",
"sha256": "413d2b34fe28496c35c69ede5b232fb9dd5ca2c3a4cb606b14efc1c7546cc8cb",
"sha256": "d6ec2cbdbe2fa8f5e0d07d8c06368fe4effa985a4a5ddade9cc58a8cd849557d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.11.1"
"version": "0.11.2"
},
"camera_android_camerax": {
"dependency": "transitive",
"description": {
"name": "camera_android_camerax",
"sha256": "68d7ec97439108ac22cfba34bb74d0ab53adbc017175116d2cbc5a3d8fc8ea5e",
"sha256": "2d438248554f44766bf9ea34c117a5bb0074e241342ef7c22c768fb431335234",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.18+2"
"version": "0.6.21"
},
"camera_avfoundation": {
"dependency": "transitive",
"description": {
"name": "camera_avfoundation",
"sha256": "a33cd9a250296271cdf556891b7c0986a93772426f286595eccd5f45b185933c",
"sha256": "951ef122d01ebba68b7a54bfe294e8b25585635a90465c311b2f875ae72c412f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.18+14"
"version": "0.9.21+2"
},
"camera_platform_interface": {
"dependency": "transitive",
@@ -386,11 +386,11 @@
"dependency": "transitive",
"description": {
"name": "coverage",
"sha256": "aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080",
"sha256": "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.14.1"
"version": "1.15.0"
},
"cross_file": {
"dependency": "transitive",
@@ -436,21 +436,21 @@
"dependency": "transitive",
"description": {
"name": "custom_lint_visitor",
"sha256": "cba5b6d7a6217312472bf4468cdf68c949488aed7ffb0eab792cd0b6c435054d",
"sha256": "4a86a0d8415a91fbb8298d6ef03e9034dc8e323a599ddc4120a0e36c433983a2",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0+7.4.5"
"version": "1.0.0+7.7.0"
},
"dart_style": {
"dependency": "transitive",
"description": {
"name": "dart_style",
"sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af",
"sha256": "8a0e5fba27e8ee025d2ffb4ee820b4e6e2cf5e4246a6b1a477eb66866947e0bb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.0"
"version": "3.1.1"
},
"dartssh2": {
"dependency": "direct main",
@@ -477,11 +477,11 @@
"dependency": "direct main",
"description": {
"name": "dio",
"sha256": "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9",
"sha256": "d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.8.0+1"
"version": "5.9.0"
},
"dio_web_adapter": {
"dependency": "transitive",
@@ -497,11 +497,11 @@
"dependency": "direct main",
"description": {
"name": "dynamic_color",
"sha256": "eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d",
"sha256": "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.7.0"
"version": "1.8.1"
},
"easy_isolate": {
"dependency": "direct main",
@@ -577,11 +577,11 @@
"dependency": "direct main",
"description": {
"name": "file_picker",
"sha256": "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964",
"sha256": "e7e16c9d15c36330b94ca0e2ad8cb61f93cd5282d0158c09805aed13b5452f22",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.1.9"
"version": "10.3.2"
},
"fixnum": {
"dependency": "transitive",
@@ -608,18 +608,18 @@
"dependency": "direct main",
"description": {
"name": "fl_chart",
"sha256": "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7",
"sha256": "d3f82f4a38e33ba23d05a08ff304d7d8b22d2a59a5503f20bd802966e915db89",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0"
"version": "1.1.0"
},
"fl_lib": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "v1.0.327",
"resolved-ref": "5075a679b814b10742f967066858ba4df92ea4ae",
"ref": "v1.0.346",
"resolved-ref": "f277b7a4259e45889320ef6d80ab320662558784",
"url": "https://github.com/lppcg/fl_lib"
},
"source": "git",
@@ -641,6 +641,16 @@
"source": "hosted",
"version": "0.6.0"
},
"flutter_gbk2utf8": {
"dependency": "direct main",
"description": {
"name": "flutter_gbk2utf8",
"sha256": "c17323808d6ae7cfaf7676669e0130c33df6be322eb807cdd32face5824c1134",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.1"
},
"flutter_highlight": {
"dependency": "direct main",
"description": {
@@ -711,11 +721,11 @@
"dependency": "transitive",
"description": {
"name": "flutter_plugin_android_lifecycle",
"sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
"sha256": "b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.28"
"version": "2.0.30"
},
"flutter_riverpod": {
"dependency": "direct main",
@@ -791,11 +801,11 @@
"dependency": "transitive",
"description": {
"name": "flutter_svg",
"sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
"sha256": "cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
"version": "2.2.0"
},
"flutter_test": {
"dependency": "direct dev",
@@ -813,21 +823,21 @@
"dependency": "direct dev",
"description": {
"name": "freezed",
"sha256": "6022db4c7bfa626841b2a10f34dd1e1b68e8f8f9650db6112dcdeeca45ca793c",
"sha256": "2d399f823b8849663744d2a9ddcce01c49268fb4170d0442a655bf6a2f47be22",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.6"
"version": "3.1.0"
},
"freezed_annotation": {
"dependency": "direct main",
"description": {
"name": "freezed_annotation",
"sha256": "c87ff004c8aa6af2d531668b46a4ea379f7191dc6dfa066acd53d506da6e044b",
"sha256": "7294967ff0a6d98638e7acb774aac3af2550777accd8149c90af5b014e6d44d8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.1.0"
},
"frontend_server_client": {
"dependency": "transitive",
@@ -839,6 +849,16 @@
"source": "hosted",
"version": "4.0.0"
},
"get_it": {
"dependency": "direct main",
"description": {
"name": "get_it",
"sha256": "a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.2.0"
},
"glob": {
"dependency": "transitive",
"description": {
@@ -860,13 +880,14 @@
"version": "2.3.2"
},
"gtk": {
"dependency": "transitive",
"dependency": "direct overridden",
"description": {
"name": "gtk",
"sha256": "e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c",
"url": "https://pub.dev"
"path": ".",
"ref": "v0.0.36",
"resolved-ref": "c62c45857fb4f60ca3d6b5fc7fa2a26df8ba9fa7",
"url": "https://github.com/lollipopkit/gtk.dart"
},
"source": "hosted",
"source": "git",
"version": "2.1.0"
},
"highlight": {
@@ -893,11 +914,11 @@
"dependency": "direct main",
"description": {
"name": "hive_ce_flutter",
"sha256": "a0989670652eab097b47544f1e5a4456e861b1b01b050098ea0b80a5fabe9909",
"sha256": "f5bd57fda84402bca7557fedb8c629c96c8ea10fab4a542968d7b60864ca02cc",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.3.1"
"version": "2.3.2"
},
"hive_ce_generator": {
"dependency": "direct dev",
@@ -923,11 +944,11 @@
"dependency": "transitive",
"description": {
"name": "http",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"sha256": "bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
"version": "1.5.0"
},
"http_client_helper": {
"dependency": "transitive",
@@ -1073,31 +1094,31 @@
"dependency": "transitive",
"description": {
"name": "leak_tracker",
"sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
"sha256": "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.0.9"
"version": "11.0.1"
},
"leak_tracker_flutter_testing": {
"dependency": "transitive",
"description": {
"name": "leak_tracker_flutter_testing",
"sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
"sha256": "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.9"
"version": "3.0.10"
},
"leak_tracker_testing": {
"dependency": "transitive",
"description": {
"name": "leak_tracker_testing",
"sha256": "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3",
"sha256": "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.1"
"version": "3.0.2"
},
"lints": {
"dependency": "transitive",
@@ -1123,21 +1144,21 @@
"dependency": "transitive",
"description": {
"name": "local_auth_android",
"sha256": "63ad7ca6396290626dc0cb34725a939e4cfe965d80d36112f08d49cf13a8136e",
"sha256": "48924f4a8b3cc45994ad5993e2e232d3b00788a305c1bf1c7db32cef281ce9a3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.49"
"version": "1.0.52"
},
"local_auth_darwin": {
"dependency": "transitive",
"description": {
"name": "local_auth_darwin",
"sha256": "630996cd7b7f28f5ab92432c4b35d055dd03a747bc319e5ffbb3c4806a3e50d2",
"sha256": "0e9706a8543a4a2eee60346294d6a633dd7c3ee60fae6b752570457c4ff32055",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.3"
"version": "1.6.0"
},
"local_auth_platform_interface": {
"dependency": "transitive",
@@ -1233,11 +1254,11 @@
"dependency": "transitive",
"description": {
"name": "multi_split_view",
"sha256": "99c02f128e7423818d13b8f2e01e3027e953b35508019dcee214791bd0525db5",
"sha256": "06f5126a65d3010ce0a9d5c003e793041fe99377b23e3534bb05059f79a580e9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.6.0"
"version": "3.6.1"
},
"nested": {
"dependency": "transitive",
@@ -1273,21 +1294,21 @@
"dependency": "transitive",
"description": {
"name": "package_info_plus",
"sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
"sha256": "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.3.0"
"version": "8.3.1"
},
"package_info_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "package_info_plus_platform_interface",
"sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
"sha256": "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
"version": "3.2.1"
},
"path": {
"dependency": "transitive",
@@ -1323,21 +1344,21 @@
"dependency": "transitive",
"description": {
"name": "path_provider_android",
"sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
"sha256": "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.17"
"version": "2.2.18"
},
"path_provider_foundation": {
"dependency": "transitive",
"description": {
"name": "path_provider_foundation",
"sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
"sha256": "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.1"
"version": "2.4.2"
},
"path_provider_linux": {
"dependency": "transitive",
@@ -1373,11 +1394,11 @@
"dependency": "transitive",
"description": {
"name": "petitparser",
"sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
"sha256": "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.0"
"version": "7.0.1"
},
"pinenacl": {
"dependency": "transitive",
@@ -1444,31 +1465,31 @@
"dependency": "transitive",
"description": {
"name": "posix",
"sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
"sha256": "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.2"
"version": "6.0.3"
},
"pretty_qr_code": {
"dependency": "transitive",
"description": {
"name": "pretty_qr_code",
"sha256": "b078bd5d51956dea4342378af1b092ad962b81bdbb55b10fffce03461da8db74",
"sha256": "2291db3f68d70a3dcd46c6bd599f30991ae4c02f27f36215fbb3f4865a609259",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.4.0"
"version": "3.5.0"
},
"provider": {
"dependency": "transitive",
"description": {
"name": "provider",
"sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
"sha256": "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.5"
"version": "6.1.5+1"
},
"pub_semver": {
"dependency": "transitive",
@@ -1514,11 +1535,11 @@
"dependency": "transitive",
"description": {
"name": "qr_code_dart_scan",
"sha256": "8c9a63dac44ea51c82e72c0fed28b850d22be26348c582f77486f128cf1c2760",
"sha256": "1b317b47f475f6995c19e0f41d790902a8cd158b23c435d936763d86ba44309c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.11.1"
"version": "0.11.3"
},
"quiver": {
"dependency": "transitive",
@@ -1664,21 +1685,21 @@
"dependency": "transitive",
"description": {
"name": "share_plus",
"sha256": "b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0",
"sha256": "d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "11.0.0"
"version": "11.1.0"
},
"share_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "share_plus_platform_interface",
"sha256": "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef",
"sha256": "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.0"
"version": "6.1.0"
},
"shared_preferences": {
"dependency": "direct main",
@@ -1694,11 +1715,11 @@
"dependency": "transitive",
"description": {
"name": "shared_preferences_android",
"sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
"sha256": "a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.10"
"version": "2.4.12"
},
"shared_preferences_foundation": {
"dependency": "transitive",
@@ -1810,11 +1831,11 @@
"dependency": "transitive",
"description": {
"name": "source_helper",
"sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c",
"sha256": "a447acb083d3a5ef17f983dd36201aeea33fedadb3228fa831f2f0c92f0f3aca",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.5"
"version": "1.3.7"
},
"source_map_stack_trace": {
"dependency": "transitive",
@@ -1920,31 +1941,31 @@
"dependency": "direct dev",
"description": {
"name": "test",
"sha256": "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e",
"sha256": "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.25.15"
"version": "1.26.2"
},
"test_api": {
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
"sha256": "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.4"
"version": "0.7.6"
},
"test_core": {
"dependency": "transitive",
"description": {
"name": "test_core",
"sha256": "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa",
"sha256": "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.8"
"version": "0.6.11"
},
"timing": {
"dependency": "transitive",
@@ -1990,31 +2011,31 @@
"dependency": "transitive",
"description": {
"name": "url_launcher",
"sha256": "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603",
"sha256": "f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.1"
"version": "6.3.2"
},
"url_launcher_android": {
"dependency": "transitive",
"description": {
"name": "url_launcher_android",
"sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
"sha256": "69ee86740f2847b9a4ba6cffa74ed12ce500bbe2b07f3dc1e643439da60637b7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.16"
"version": "6.3.18"
},
"url_launcher_ios": {
"dependency": "transitive",
"description": {
"name": "url_launcher_ios",
"sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
"sha256": "d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.3"
"version": "6.3.4"
},
"url_launcher_linux": {
"dependency": "transitive",
@@ -2030,11 +2051,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_macos",
"sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
"sha256": "c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
"version": "3.2.3"
},
"url_launcher_platform_interface": {
"dependency": "transitive",
@@ -2080,11 +2101,11 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics",
"sha256": "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de",
"sha256": "a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.18"
"version": "1.1.19"
},
"vector_graphics_codec": {
"dependency": "transitive",
@@ -2100,31 +2121,31 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics_compiler",
"sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
"sha256": "d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.17"
"version": "1.1.19"
},
"vector_math": {
"dependency": "transitive",
"description": {
"name": "vector_math",
"sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803",
"sha256": "d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
"version": "2.2.0"
},
"vm_service": {
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
"sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "15.0.0"
"version": "15.0.2"
},
"wake_on_lan": {
"dependency": "direct main",
@@ -2171,11 +2192,11 @@
"dependency": "transitive",
"description": {
"name": "watcher",
"sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
"sha256": "5bf046f41320ac97a469d506261797f35254fa61c641741ef32dacda98b7d39c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.1"
"version": "1.1.3"
},
"web": {
"dependency": "transitive",
@@ -2231,21 +2252,21 @@
"dependency": "transitive",
"description": {
"name": "win32",
"sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
"sha256": "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.13.0"
"version": "5.14.0"
},
"window_manager": {
"dependency": "transitive",
"description": {
"name": "window_manager",
"sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16",
"sha256": "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.0"
"version": "0.5.1"
},
"xdg_directories": {
"dependency": "transitive",
@@ -2261,18 +2282,18 @@
"dependency": "direct main",
"description": {
"name": "xml",
"sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
"sha256": "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.5.0"
"version": "6.6.1"
},
"xterm": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "v1.0.588",
"resolved-ref": "d28207b988b5bed38c799618b9c412486592c689",
"ref": "v4.0.3",
"resolved-ref": "c64183346b924173eb7251800001a64771911185",
"url": "https://github.com/lollipopkit/xterm.dart"
},
"source": "git",
@@ -2320,7 +2341,7 @@
}
},
"sdks": {
"dart": ">=3.8.0 <4.0.0",
"flutter": ">=3.32.1"
"dart": ">=3.9.0 <4.0.0",
"flutter": ">=3.35.0"
}
}
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sketchybar-app-font";
version = "2.0.41";
version = "2.0.42";
src = fetchFromGitHub {
owner = "kvndrsslr";
repo = "sketchybar-app-font";
rev = "v2.0.41";
hash = "sha256-jK4NR7j7tsmCjdwvBQMIS8M3QJkfNEWaUo9H2n27kG8=";
tag = "v${finalAttrs.version}";
hash = "sha256-ERYbwtOmMKJNnp4Gn35dbjukFpcD8t1GjI7eDXubAjo=";
};
pnpmDeps = pnpm_9.fetchDeps {
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "skyscraper";
version = "3.17.4";
version = "3.17.5";
src = fetchFromGitHub {
owner = "Gemba";
repo = "skyscraper";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-XUye/Iojp1JrsG+LuONwX6RghTPL8UbsxzdO2LCEbPo=";
hash = "sha256-JbU3enkzVUNOwJ4NuqIxAscvFShSCssj95W5nmSaO6c=";
};
strictDeps = true;
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule rec {
pname = "spacectl";
version = "1.15.0";
version = "1.15.1";
src = fetchFromGitHub {
owner = "spacelift-io";
repo = "spacectl";
rev = "v${version}";
hash = "sha256-nqB39rOHxDge4iopX7BmQpVcpxm2C7e2UMQHNWjfEuY=";
hash = "sha256-2cEYo2wWEvKvYyegov7ruaJImCV38xHz/KOrTzDqywQ=";
};
vendorHash = "sha256-iyB6GFkTa4ci+TC2mDTtkuqCXFBnz3rwLns+3ovkUxg=";
vendorHash = "sha256-jLUqGQJbYAfsCUJ6amnyAuOsjcslSJzD6Barapzzm9Q=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "tageditor";
version = "3.9.6";
version = "3.9.7";
src = fetchFromGitHub {
owner = "martchus";
repo = "tageditor";
tag = "v${version}";
hash = "sha256-weGLC8TPSA9XQ/TuLj4DBswmlEbpxPplsxI4sqygHfU=";
hash = "sha256-ETRlyAOCWIz8tioCsGXnmnuTnzWiUOb64vKsPm1hIt0=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "tagparser";
version = "12.5.0";
version = "12.5.1";
src = fetchFromGitHub {
owner = "Martchus";
repo = "tagparser";
rev = "v${version}";
hash = "sha256-Xu6pvqyBWew3xD0nD5k7QKUOEpDchF1FiuSN7oHfYME=";
hash = "sha256-i9WJcdMvPg6Hg6auyPa9dwgtd7Ihte2oPLUImRelO50=";
};
nativeBuildInputs = [ cmake ];
+9 -7
View File
@@ -4,24 +4,26 @@
fetchCrate,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tun2proxy";
version = "0.7.6";
version = "0.7.14";
src = fetchCrate {
pname = "tun2proxy";
inherit version;
hash = "sha256-hAZZ9pSoIgAb4JYhi9mGHMD4CIjnxVJU00PDsQe6OLY=";
inherit (finalAttrs) version;
hash = "sha256-rrBlCtimcQJ8487X5wxsWVk20v9UK0+0B6HRdzV5Sj0=";
};
cargoHash = "sha256-A/hBV/koIR7gLIZVCoaRk5DI11NZ5HI+xn6qkU+fxaI=";
cargoHash = "sha256-73SHsJUvPTvI3kxkpNI2Go11TWyQ8/SckuQBCkWjixA=";
env.GIT_HASH = "000000000000000000000000000000000000000000000000000";
meta = {
homepage = "https://github.com/tun2proxy/tun2proxy";
description = "Tunnel (TUN) interface for SOCKS and HTTP proxies";
changelog = "https://github.com/tun2proxy/tun2proxy/releases/tag/v${version}";
changelog = "https://github.com/tun2proxy/tun2proxy/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "tun2proxy-bin";
maintainers = with lib.maintainers; [ mksafavi ];
};
}
})
+26 -16
View File
@@ -1,6 +1,7 @@
{
lib,
fetchFromGitHub,
stdenv,
fetchFromGitea,
rustPlatform,
cairo,
pango,
@@ -9,20 +10,25 @@
blueprint-compiler,
wrapGAppsHook4,
gsettings-desktop-schemas,
just,
}:
rustPlatform.buildRustPackage rec {
let
version = "2.7.4";
in
rustPlatform.buildRustPackage {
pname = "turnon";
version = "2.6.3";
version = version;
src = fetchFromGitHub {
src = fetchFromGitea {
domain = "codeberg.org";
owner = "swsnr";
repo = "turnon";
rev = "v${version}";
hash = "sha256-fRDyfgS+jLGFJTYIEXJ27cCM9knfbIjlGpYNU4OyoJ0=";
hash = "sha256-RTLFajUMJHZoXKhy83G3c7a2fZ+P6CZXadFpbcPFLY8=";
};
cargoHash = "sha256-Bg3+PX5/BlqeN3EEFzBX42Dw4BbyKHlN1dnQSHnEz+c=";
cargoHash = "sha256-8vqsQPbl3c2++8T5bjDjAWzm00qSDogT1YaumOC7qzk=";
doCheck = true;
@@ -39,6 +45,7 @@ rustPlatform.buildRustPackage rec {
pkg-config
blueprint-compiler
wrapGAppsHook4
just
];
buildInputs = [
@@ -48,20 +55,23 @@ rustPlatform.buildRustPackage rec {
strictDeps = true;
postInstall =
# The build.rs compiles the settings schema and writes the compiled file next to the .xml file.
# This copies the compiled file to a path that can be detected by gsettings-desktop-schemas
''
mkdir -p "$out/share/glib-2.0/schemas"
cp "schemas/gschemas.compiled" "$out/share/glib-2.0/schemas"
'';
postPatch = ''
substituteInPlace justfile \
--replace-fail "version := \`git describe\`" "version := \"${version}\"" \
--replace-fail "DESTPREFIX := '/app'" "DESTPREFIX := '$out'" \
--replace-fail "just --list" "just compile" # Replacing the default recipe with the compile command as just-hook-buildPhase runs the default recipe to compile the package.
'';
postBuild = ''
cargo build --release
'';
meta = {
description = "Turn on devices in your local network";
homepage = "https://github.com/swsnr/turnon";
license = lib.licenses.mpl20;
homepage = "https://codeberg.org/swsnr/turnon";
license = lib.licenses.eupl12;
maintainers = with lib.maintainers; [ mksafavi ];
mainProgram = "turnon";
mainProgram = "de.swsnr.turnon";
platforms = lib.platforms.linux;
};
}
+3 -3
View File
@@ -14,14 +14,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
version = "0.0.1-alpha.19";
version = "0.0.1-alpha.20";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-CCk6ZrhEFMLYtjNrzp7PBH2W4QFSH1Bqlw+Wh2OPFC4=";
hash = "sha256-PxOi4eLWIZeWbh97b6KlZv2u5Y6M022uksN+arAJnF0=";
};
# For Darwin platforms, remove the integration test for file notifications,
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoBuildFlags = [ "--package=ty" ];
cargoHash = "sha256-TNXWRBJInnLiFyf29O8c6ZE7Qhb6sXM0fPRDqMPWSSw=";
cargoHash = "sha256-R416MUg5kuib7Yq6EADsgdkeFr0XYZ+bOfvEcs75E+E=";
nativeBuildInputs = [ installShellFiles ];
+13 -11
View File
@@ -1,27 +1,29 @@
{
lib,
flutter332,
flutter335,
fetchFromGitHub,
webkitgtk_4_1,
copyDesktopItems,
makeDesktopItem,
runCommand,
venera,
yq,
yq-go,
_experimental-update-script-combinators,
gitUpdater,
}:
flutter332.buildFlutterApplication rec {
pname = "venera";
version = "1.4.6";
let
version = "1.5.0";
src = fetchFromGitHub {
owner = "venera-app";
repo = "venera";
tag = "v${version}";
hash = "sha256-WGzgx+QbAurv9yOJjO40R8t4WtSt/iIkkBuBizT94lQ=";
hash = "sha256-5TO68+h49l0KCT99rZ+iXzgZiT7H0H0XeRWjSbrc9yM=";
};
in
flutter335.buildFlutterApplication {
pname = "venera";
inherit version src;
pubspecLock = lib.importJSON ./pubspec.lock.json;
@@ -50,7 +52,7 @@ flutter332.buildFlutterApplication rec {
];
postInstall = ''
install -Dm0644 debian/gui/venera.png $out/share/pixmaps/venera.png
install -D --mode=0644 debian/gui/venera.png $out/share/icons/hicolor/1024x1024/apps/venera.png
'';
extraWrapProgramArgs = ''
@@ -61,11 +63,11 @@ flutter332.buildFlutterApplication rec {
pubspecSource =
runCommand "pubspec.lock.json"
{
buildInputs = [ yq ];
inherit (venera) src;
inherit src;
nativeBuildInputs = [ yq-go ];
}
''
cat $src/pubspec.lock | yq > $out
yq eval --output-format=json --prettyPrint $src/pubspec.lock > "$out"
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater { rev-prefix = "v"; })
+11 -11
View File
@@ -689,31 +689,31 @@
"dependency": "transitive",
"description": {
"name": "leak_tracker",
"sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
"sha256": "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.0.9"
"version": "11.0.1"
},
"leak_tracker_flutter_testing": {
"dependency": "transitive",
"description": {
"name": "leak_tracker_flutter_testing",
"sha256": "f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573",
"sha256": "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.9"
"version": "3.0.10"
},
"leak_tracker_testing": {
"dependency": "transitive",
"description": {
"name": "leak_tracker_testing",
"sha256": "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3",
"sha256": "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.1"
"version": "3.0.2"
},
"lints": {
"dependency": "transitive",
@@ -1169,11 +1169,11 @@
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
"sha256": "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.4"
"version": "0.7.6"
},
"typed_data": {
"dependency": "transitive",
@@ -1289,11 +1289,11 @@
"dependency": "transitive",
"description": {
"name": "vector_math",
"sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803",
"sha256": "d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
"version": "2.2.0"
},
"vm_service": {
"dependency": "transitive",
@@ -1389,6 +1389,6 @@
},
"sdks": {
"dart": ">=3.8.0 <4.0.0",
"flutter": ">=3.32.6"
"flutter": ">=3.35.2"
}
}
+18 -9
View File
@@ -16,18 +16,22 @@
ffmpeg,
cacert,
zlib,
writeShellScript,
nix-update,
}:
let
version = "1.1.0";
version = "1.3.0";
withSubprojects = stdenv.mkDerivation {
name = "sources-with-subprojects";
pname = "sources-with-subprojects";
inherit version;
src = fetchFromGitHub {
owner = "vivictorg";
repo = "vivictpp";
rev = "v${version}";
hash = "sha256-ScuCOmcK714YXEHncizwj6EWdiNIJA1xRMn5gfmg4K4=";
tag = "v${version}";
fetchSubmodules = true;
hash = "sha256-yzUgLZbqEzyJINWQUTC/j33XbjSXP1vpDlgiKv6Jx9Q=";
};
nativeBuildInputs = [
@@ -45,7 +49,7 @@ let
'';
outputHashMode = "recursive";
outputHash = "sha256-/6nuTKjQEXfJlHkTkeX/A4PeGb8SOk6Q801gjx1SB6M=";
outputHash = "sha256-PtOb47QOffGje1U8Tle9AQon7ZCgMp/lITPAfM9/wr4=";
};
in
stdenv.mkDerivation {
@@ -78,12 +82,17 @@ stdenv.mkDerivation {
patchShebangs .
'';
meta = with lib; {
passthru.updateScript = writeShellScript "update-vivictpp" ''
${lib.getExe nix-update} vivictpp.src
${lib.getExe nix-update} vivictpp --version skip
'';
meta = {
description = "Easy to use tool for subjective comparison of the visual quality of different encodings of the same video source";
homepage = "https://github.com/vivictorg/vivictpp";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ tilpner ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tilpner ];
mainProgram = "vivictpp";
};
}
+2 -2
View File
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "vulnix";
version = "1.12.0";
version = "1.12.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "nix-community";
repo = "vulnix";
tag = version;
hash = "sha256-Z13YbGpXnOZByweGhsdmNwpYelcd96/jlWyvnsmn7tM=";
hash = "sha256-Nxhv3K/wF7AYi5kTJxL2pjiDWgWN+27wKsMXf0yaXrk=";
};
__darwinAllowLocalNetworking = true;
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "vultr-cli";
version = "3.6.0";
version = "3.7.0";
src = fetchFromGitHub {
owner = "vultr";
repo = "vultr-cli";
rev = "v${version}";
hash = "sha256-ljFtla6aWrrQACIzKqbxW0Naf+iArqO3kpbjOfu3RDU=";
hash = "sha256-qBl3fduyPKw+R6X5EguVGUkKKGD+XbJH30CdRroEV4M=";
};
vendorHash = "sha256-OoXsKBzNK6DtuA0yc21IAty8p0uv043BYMX3oT/5QN8=";
vendorHash = "sha256-JrIJ/8l+TWXEdFtrnS1fCEyEb89/nixjr3Y7/R+iqBI=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -10,13 +10,13 @@
}:
buildGoModule (finalAttrs: {
pname = "werf";
version = "2.47.2";
version = "2.47.4";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
tag = "v${finalAttrs.version}";
hash = "sha256-Dzd5Bo2583J1A08uOMUhApqiSQUlQ1gDh8lmUi8vft0=";
hash = "sha256-V/RwHwPp1THlzFdMts5qt4Ueqcoxx932eMqgF6yiZpM=";
};
proxyVendor = true;
+1 -1
View File
@@ -112,7 +112,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-4cP6cohUZdhvr6mvIOozhg1ahEZEypCCjvAz0fjAtec=";
hash = "sha256-Q7Ord+GJJcOCH/S3qNwAbzILqQiIC94qb8V+JkzQqaQ=";
};
patches = [
+3 -3
View File
@@ -11,16 +11,16 @@
buildNpmPackage rec {
pname = "zulip";
version = "5.12.1";
version = "5.12.2";
src = fetchFromGitHub {
owner = "zulip";
repo = "zulip-desktop";
tag = "v${version}";
hash = "sha256-YuiPf/ciSm0nBlF8U55EkPSTz+RI148QKOFv6FmYRD0=";
hash = "sha256-+OS3Fw4Z1ZOzXou1sK39AUFLI78nUl4UBVYA3SNH7I0=";
};
npmDepsHash = "sha256-RNXhDV0b1FZglIS5UsTn6YboJ4Au1/CZVtRz1BvcP2E=";
npmDepsHash = "sha256-5qjBZfl9kse97y5Mru4RF4RLTbojoXeUp84I/bOHEcw=";
makeCacheWritable = true;
env = {
+33 -9
View File
@@ -11,6 +11,7 @@
# Artifacts dependencies
fetchurl,
gcc,
glibc,
pkgs,
stdenv,
@@ -79,7 +80,9 @@ let
PythonCall = [ "PyCall" ];
};
# Invoke Julia resolution logic to determine the full dependency closure
# Invoke Julia resolution logic to determine the full dependency closure. Also
# gather information on the Julia standard libraries, which we'll need to
# generate a Manifest.toml.
packageOverridesRepoified = lib.mapAttrs util.repoifySimple packageOverrides;
closureYaml = callPackage ./package-closure.nix {
inherit
@@ -90,6 +93,9 @@ let
;
packageOverrides = packageOverridesRepoified;
};
stdlibInfos = callPackage ./stdlib-infos.nix {
inherit julia;
};
# Generate a Nix file consisting of a map from dependency UUID --> package info with fetchgit call:
# {
@@ -181,6 +187,27 @@ let
"${dependencyUuidToRepoYaml}" \
"$out"
'';
project =
runCommand "julia-project"
{
buildInputs = [
(python3.withPackages (
ps: with ps; [
toml
pyyaml
]
))
git
];
}
''
python ${./python}/project.py \
"${closureYaml}" \
"${stdlibInfos}" \
'${lib.generators.toJSON { } overridesOnly}' \
"${dependencyUuidToRepoYaml}" \
"$out"
'';
# Next, deal with artifacts. Scan each artifacts file individually and generate a Nix file that
# produces the desired Overrides.toml.
@@ -220,7 +247,7 @@ let
;
}
// lib.optionalAttrs (!stdenv.targetPlatform.isDarwin) {
inherit glibc;
inherit gcc glibc;
}
);
overridesJson = writeTextFile {
@@ -235,8 +262,7 @@ let
"$out"
'';
# Build a Julia project and depot. The project contains Project.toml/Manifest.toml, while the
# depot contains package build products (including the precompiled libraries, if precompile=true)
# Build a Julia project and depot under $out/project and $out/depot respectively
projectAndDepot = callPackage ./depot.nix {
inherit
closureYaml
@@ -247,12 +273,8 @@ let
precompile
;
julia = juliaWrapped;
inherit project;
registry = minimalRegistry;
packageNames =
if makeTransitiveDependenciesImportable then
lib.mapAttrsToList (uuid: info: info.name) dependencyUuidToInfo
else
packageNames;
};
in
@@ -276,7 +298,9 @@ runCommand "julia-${julia.version}-env"
inherit artifactsNix;
inherit overridesJson;
inherit overridesToml;
inherit project;
inherit projectAndDepot;
inherit stdlibInfos;
};
}
(
+18 -21
View File
@@ -14,7 +14,7 @@
juliaCpuTarget,
overridesToml,
packageImplications,
packageNames,
project,
precompile,
registry,
}:
@@ -44,7 +44,7 @@ runCommand "julia-depot"
(python3.withPackages (ps: with ps; [ pyyaml ]))
]
++ extraLibs;
inherit precompile registry;
inherit precompile project registry;
}
(
''
@@ -52,19 +52,21 @@ runCommand "julia-depot"
echo "Building Julia depot and project with the following inputs"
echo "Julia: ${julia}"
echo "Project: $project"
echo "Registry: $registry"
echo "Overrides ${overridesToml}"
mkdir -p $out/project
export JULIA_PROJECT="$out/project"
cp "$project/Manifest.toml" "$JULIA_PROJECT/Manifest.toml"
cp "$project/Project.toml" "$JULIA_PROJECT/Project.toml"
mkdir -p $out/depot/artifacts
export JULIA_DEPOT_PATH="$out/depot"
cp ${overridesToml} $out/depot/artifacts/Overrides.toml
# These can be useful to debug problems
# export JULIA_DEBUG=Pkg
# export JULIA_DEBUG=loading
# export JULIA_DEBUG=Pkg,loading
${setJuliaSslCaRootsPath}
@@ -104,26 +106,21 @@ runCommand "julia-depot"
Pkg.Registry.add(Pkg.RegistrySpec(path="${registry}"))
input = ${lib.generators.toJSON { } packageNames} ::Vector{String}
# No need to Pkg.activate() since we set JULIA_PROJECT above
println("Running Pkg.instantiate()")
Pkg.instantiate()
if isfile("extra_package_names.txt")
append!(input, readlines("extra_package_names.txt"))
end
# Build is a separate step from instantiate.
# Needed for packages like Conda.jl to set themselves up.
println("Running Pkg.build()")
Pkg.build()
input = unique(input)
if !isempty(input)
println("Adding packages: " * join(input, " "))
Pkg.add(input; preserve=PRESERVE_NONE)
Pkg.instantiate()
if "precompile" in keys(ENV) && ENV["precompile"] != "0" && ENV["precompile"] != ""
if isdefined(Sys, :CPU_NAME)
println("Precompiling with CPU_NAME = " * Sys.CPU_NAME)
end
Pkg.precompile()
if "precompile" in keys(ENV) && ENV["precompile"] != "0" && ENV["precompile"] != ""
if isdefined(Sys, :CPU_NAME)
println("Precompiling with CPU_NAME = " * Sys.CPU_NAME)
end
Pkg.precompile()
end
# Remove the registry to save space
@@ -43,12 +43,21 @@ let
println(io, "- name: " * spec.name)
println(io, " uuid: " * string(spec.uuid))
println(io, " version: " * string(spec.version))
println(io, " tree_hash: " * string(spec.tree_hash))
if endswith(spec.name, "_jll") && haskey(deps_map, spec.uuid)
println(io, " depends_on: ")
for (dep_name, dep_uuid) in pairs(deps_map[spec.uuid])
println(io, " \"$(dep_name)\": \"$(dep_uuid)\"")
end
end
println(io, " deps: ")
for (dep_name, dep_uuid) in pairs(deps_map[spec.uuid])
println(io, " - name: \"$(dep_name)\"")
println(io, " uuid: \"$(dep_uuid)\"")
end
if spec.name in input
println(io, " is_input: true")
end
end
end
'';
@@ -47,14 +47,17 @@ def get_archive_derivation(uuid, artifact_name, url, sha256, closure_dependencie
''"""
else:
# We provide gcc.cc.lib by default in order to get some common libraries
# like libquadmath.so. A number of packages expect this to be available and
# will give linker errors if it isn't.
fixup = f"""fixupPhase = let
libs = lib.concatMap (lib.mapAttrsToList (k: v: v.path))
[{" ".join(["uuid-" + x for x in depends_on])}];
in ''
find $out -type f -executable -exec \
patchelf --set-rpath \$ORIGIN:\$ORIGIN/../lib:${{lib.makeLibraryPath (["$out" glibc] ++ libs ++ (with pkgs; [{" ".join(other_libs)}]))}} {{}} \;
patchelf --set-rpath \\$ORIGIN:\\$ORIGIN/../lib:${{lib.makeLibraryPath (["$out" glibc gcc.cc.lib] ++ libs ++ (with pkgs; [{" ".join(other_libs)}]))}} {{}} \\;
find $out -type f -executable -exec \
patchelf --set-interpreter ${{glibc}}/lib/ld-linux-x86-64.so.2 {{}} \;
patchelf --set-interpreter ${{glibc}}/lib/ld-linux-x86-64.so.2 {{}} \\;
''"""
return f"""stdenv.mkDerivation {{
@@ -145,7 +148,7 @@ def main():
if is_darwin:
f.write("{ lib, fetchurl, pkgs, stdenv }:\n\n")
else:
f.write("{ lib, fetchurl, glibc, pkgs, stdenv }:\n\n")
f.write("{ lib, fetchurl, gcc, glibc, pkgs, stdenv }:\n\n")
f.write("rec {\n")
@@ -24,14 +24,15 @@ with open(desired_packages_path, "r") as f:
uuid_to_versions = defaultdict(list)
for pkg in desired_packages:
uuid_to_versions[pkg["uuid"]].append(pkg["version"])
uuid_to_versions[pkg["uuid"]].append(pkg["version"])
with open(dependencies_path, "r") as f:
uuid_to_store_path = yaml.safe_load(f)
os.makedirs(out_path)
registry = toml.load(registry_path / "Registry.toml")
full_registry = toml.load(registry_path / "Registry.toml")
registry = full_registry.copy()
registry["packages"] = {k: v for k, v in registry["packages"].items() if k in uuid_to_versions}
for (uuid, versions) in uuid_to_versions.items():
@@ -80,20 +81,48 @@ for (uuid, versions) in uuid_to_versions.items():
if (registry_path / path / f).exists():
shutil.copy2(registry_path / path / f, out_path / path)
# Copy the Versions.toml file, trimming down to the versions we care about
# Copy the Versions.toml file, trimming down to the versions we care about.
# In the case where versions=None, this is a weak dep, and we keep all versions.
all_versions = toml.load(registry_path / path / "Versions.toml")
versions_to_keep = {k: v for k, v in all_versions.items() if k in versions}
versions_to_keep = {k: v for k, v in all_versions.items() if k in versions} if versions != None else all_versions
for k, v in versions_to_keep.items():
del v["nix-sha256"]
with open(out_path / path / "Versions.toml", "w") as f:
toml.dump(versions_to_keep, f)
# Fill in the local store path for the repo
if not uuid in uuid_to_store_path: continue
package_toml = toml.load(registry_path / path / "Package.toml")
package_toml["repo"] = "file://" + uuid_to_store_path[uuid]
with open(out_path / path / "Package.toml", "w") as f:
toml.dump(package_toml, f)
if versions is None:
# This is a weak dep; just grab the whole Package.toml
shutil.copy2(registry_path / path / "Package.toml", out_path / path / "Package.toml")
elif uuid in uuid_to_store_path:
# Fill in the local store path for the repo
package_toml = toml.load(registry_path / path / "Package.toml")
package_toml["repo"] = "file://" + uuid_to_store_path[uuid]
with open(out_path / path / "Package.toml", "w") as f:
toml.dump(package_toml, f)
# Look for missing weak deps and include them. This can happen when our initial
# resolve step finds dependencies, but we fail to resolve them at the project.py
# stage. Usually this happens because the package that depends on them does so
# as a weak dep, but doesn't have a Package.toml in its repo making this clear.
for pkg in desired_packages:
for dep in (pkg.get("deps", []) or []):
uuid = dep["uuid"]
if not uuid in uuid_to_versions:
entry = full_registry["packages"].get(uuid)
if not entry:
print(f"""WARNING: found missing UUID but couldn't resolve it: {uuid}""")
continue
# Add this entry back to the minimal Registry.toml
registry["packages"][uuid] = entry
# Bring over the Package.toml
path = Path(entry["path"])
if (out_path / path / "Package.toml").exists():
continue
Path(out_path / path).mkdir(parents=True, exist_ok=True)
shutil.copy2(registry_path / path / "Package.toml", out_path / path / "Package.toml")
# Finally, dump the Registry.toml
with open(out_path / "Registry.toml", "w") as f:
toml.dump(registry, f)
+104
View File
@@ -0,0 +1,104 @@
from collections import defaultdict
import json
import os
from pathlib import Path
import sys
import toml
import yaml
desired_packages_path = Path(sys.argv[1])
stdlib_infos_path = Path(sys.argv[2])
package_overrides = json.loads(sys.argv[3])
dependencies_path = Path(sys.argv[4])
out_path = Path(sys.argv[5])
with open(desired_packages_path, "r") as f:
desired_packages = yaml.safe_load(f) or []
with open(stdlib_infos_path, "r") as f:
stdlib_infos = yaml.safe_load(f) or []
with open(dependencies_path, "r") as f:
uuid_to_store_path = yaml.safe_load(f)
result = {
"deps": defaultdict(list)
}
for pkg in desired_packages:
if pkg["uuid"] in package_overrides:
info = package_overrides[pkg["uuid"]]
result["deps"][info["name"]].append({
"uuid": pkg["uuid"],
"path": info["src"],
})
continue
path = uuid_to_store_path.get(pkg["uuid"], None)
isStdLib = False
if pkg["uuid"] in stdlib_infos["stdlibs"]:
path = stdlib_infos["stdlib_root"] + "/" + stdlib_infos["stdlibs"][pkg["uuid"]]["name"]
isStdLib = True
if path:
if (Path(path) / "Project.toml").exists():
project_toml = toml.load(Path(path) / "Project.toml")
deps = []
weak_deps = project_toml.get("weakdeps", {})
extensions = project_toml.get("extensions", {})
if "deps" in project_toml:
# Build up deps for the manifest, excluding weak deps
weak_deps_uuids = weak_deps.values()
for (dep_name, dep_uuid) in project_toml["deps"].items():
if not (dep_uuid in weak_deps_uuids):
deps.append(dep_name)
else:
# Not all projects have a Project.toml. In this case, use the deps we
# calculated from the package resolve step. This isn't perfect since it
# will fail to properly split out weak deps, but it's better than nothing.
print(f"""WARNING: package {pkg["name"]} didn't have a Project.toml in {path}""")
deps = [x["name"] for x in pkg.get("deps", [])]
weak_deps = {}
extensions = {}
tree_hash = pkg.get("tree_hash", "")
result["deps"][pkg["name"]].append({
"version": pkg["version"],
"uuid": pkg["uuid"],
"git-tree-sha1": (tree_hash if tree_hash != "nothing" else None) or None,
"deps": deps or None,
"weakdeps": weak_deps or None,
"extensions": extensions or None,
# We *don't* set "path" here, because then Julia will try to use the
# read-only Nix store path instead of cloning to the depot. This will
# cause packages like Conda.jl to fail during the Pkg.build() step.
#
# "path": None if isStdLib else path ,
})
else:
print("WARNING: adding a package that we didn't have a path for, and it doesn't seem to be a stdlib", pkg)
result["deps"][pkg["name"]].append({
"version": pkg["version"],
"uuid": pkg["uuid"],
"deps": [x["name"] for x in pkg["deps"]]
})
os.makedirs(out_path)
with open(out_path / "Manifest.toml", "w") as f:
f.write(f'julia_version = "{stdlib_infos["julia_version"]}"\n')
f.write('manifest_format = "2.0"\n\n')
toml.dump(result, f)
with open(out_path / "Project.toml", "w") as f:
f.write('[deps]\n')
for pkg in desired_packages:
if pkg.get("is_input", False):
f.write(f'''{pkg["name"]} = "{pkg["uuid"]}"\n''')
@@ -24,7 +24,7 @@ def ensure_version_valid(version):
Ensure a version string is a valid Julia-parsable version.
It doesn't really matter what it looks like as it's just used for overrides.
"""
return re.sub('[^0-9\.]','', version)
return re.sub('[^0-9.]','', version)
with open(out_path, "w") as f:
f.write("{fetchgit}:\n")
@@ -41,6 +41,9 @@ with open(out_path, "w") as f:
treehash = "{treehash}";
}};\n""")
elif uuid in registry["packages"]:
# The treehash is missing for stdlib packages. Don't bother downloading these.
if (not ("tree_hash" in pkg)) or pkg["tree_hash"] == "nothing": continue
registry_info = registry["packages"][uuid]
path = registry_info["path"]
packageToml = toml.load(registry_path / path / "Package.toml")
@@ -65,7 +68,8 @@ with open(out_path, "w") as f:
treehash = "{version_to_use["git-tree-sha1"]}";
}};\n""")
else:
# print("Warning: couldn't figure out what to do with pkg in sources_nix.py", pkg)
# This is probably a stdlib
# print("WARNING: couldn't figure out what to do with pkg in sources_nix.py", pkg)
pass
f.write("}")
+3 -3
View File
@@ -3,7 +3,7 @@
fetchFromGitHub {
owner = "CodeDownIO";
repo = "General";
rev = "998c6da1553dc0776dfff314d2f1bd5af488ed71";
sha256 = "sha256-57RiIPTu9895mdk3oSfo7I3PYw7G0BfJG1u+mYkJeLk=";
# date = "2024-07-01T12:22:35+00:00";
rev = "4b19a1dc55d2877e85a5d0e98702b75872210e9d";
sha256 = "sha256-mVeBTpEQnW3fvJu1+4T8z+earMjEgtdy0tnZnAxz/pk=";
# date = "2025-08-12T05:20:40+00:00";
}
@@ -46,54 +46,6 @@ end
foreach(pkg -> ctx.env.project.deps[pkg.name] = pkg.uuid, pkgs)
# Save the original pkgs for later. We might need to augment it with the weak dependencies
orig_pkgs = pkgs
orig_pkgs = deepcopy(pkgs)
pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, pkgs, PRESERVE_NONE, ctx.julia_version)
if VERSION >= VersionNumber("1.9")
while true
# Check for weak dependencies, which appear on the RHS of the deps_map but not in pkgs.
# Build up weak_name_to_uuid
uuid_to_name = Dict()
for pkg in pkgs
uuid_to_name[pkg.uuid] = pkg.name
end
weak_name_to_uuid = Dict()
for (uuid, deps) in pairs(deps_map)
for (dep_name, dep_uuid) in pairs(deps)
if !haskey(uuid_to_name, dep_uuid)
weak_name_to_uuid[dep_name] = dep_uuid
end
end
end
if isempty(weak_name_to_uuid)
break
end
# We have nontrivial weak dependencies, so add each one to the initial pkgs and then re-run _resolve
println("Found weak dependencies: $(keys(weak_name_to_uuid))")
orig_uuids = Set([pkg.uuid for pkg in orig_pkgs])
for (name, uuid) in pairs(weak_name_to_uuid)
if uuid in orig_uuids
continue
end
pkg = PackageSpec(name, uuid)
push!(orig_uuids, uuid)
push!(orig_pkgs, pkg)
ctx.env.project.deps[name] = uuid
entry = Pkg.Types.manifest_info(ctx.env.manifest, uuid)
if VERSION >= VersionNumber("1.11")
orig_pkgs[length(orig_pkgs)] = update_package_add(ctx, pkg, entry, nothing, nothing, false)
else
orig_pkgs[length(orig_pkgs)] = update_package_add(ctx, pkg, entry, false)
end
end
global pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, orig_pkgs, PRESERVE_NONE, ctx.julia_version)
end
end
@@ -0,0 +1,36 @@
{
julia,
runCommand,
}:
let
juliaExpression = ''
using Pkg
open(ENV["out"], "w") do io
println(io, "stdlib_root: \"$(Sys.STDLIB)\"")
println(io, "julia_version: \"$(string(VERSION))\"")
stdlibs = Pkg.Types.stdlibs()
println(io, "stdlibs:")
for (uuid, (name, version)) in stdlibs
println(io, " \"$(uuid)\": ")
println(io, " name: $name")
println(io, " version: $version")
end
end
'';
in
runCommand "julia-stdlib-infos.yml"
{
buildInputs = [
julia
];
}
''
# Prevent a warning where Julia tries to download package server info
export JULIA_PKG_SERVER=""
julia -e '${juliaExpression}';
''
@@ -12,8 +12,8 @@
module Main (main) where
import Control.Exception
import Control.Monad
import Control.Monad.IO.Class
import Data.Aeson as A hiding (Options, defaultOptions)
import qualified Data.Aeson.Key as A
import qualified Data.Aeson.KeyMap as HM
@@ -24,12 +24,14 @@ import Data.Text as T hiding (count)
import qualified Data.Vector as V
import qualified Data.Yaml as Yaml
import GHC.Generics
import Options.Applicative
import Options.Applicative hiding (info)
import System.Exit
import System.FilePath
import Test.Sandwich hiding (info)
import Test.Sandwich
import UnliftIO.Exception
import UnliftIO.MVar
import UnliftIO.Process
import UnliftIO.QSem
data Args = Args {
@@ -67,13 +69,15 @@ main = do
Left err -> throwIO $ userError ("Couldn't decode names and counts YAML file: " <> show err)
Right x -> pure x
runSandwichWithCommandLineArgs' defaultOptions argsParser $ do
runSandwichWithCommandLineArgs' defaultOptions argsParser $ parallel $ do
miscTests args
describe ("Building environments for top " <> show topN <> " Julia packages") $
parallelN parallelism $
forM_ (L.take topN namesAndCounts) $ \(NameAndCount {..}) ->
testExpr args name [i|#{juliaAttr}.withPackages ["#{name}"]|]
introduce "Introduce parallel semaphore" parallelSemaphore (liftIO $ newQSem parallelism) (const $ return ()) $
parallel $
forM_ (L.take topN namesAndCounts) $ \(NameAndCount {..}) ->
around "Claim semaphore" claimRunSlot $
testExpr args name [i|#{juliaAttr}.withPackages ["#{name}"]|]
miscTests :: Args -> SpecFree ctx IO ()
miscTests args@(Args {..}) = describe "Misc tests" $ do
@@ -89,6 +93,9 @@ miscTests args@(Args {..}) = describe "Misc tests" $ do
};
}) [ "HelloWorld" ]|]
describe "misc cases" $ do
testExpr args "Optimization" [iii|(#{juliaAttr}.withPackages) [ "Optimization" "OptimizationOptimJL" ]|]
-- * Low-level
testExpr :: Args -> Text -> String -> SpecFree ctx IO ()
@@ -98,7 +105,9 @@ testExpr _args name expr = do
let cp = proc "nix" ["build", "--impure", "--no-link", "--json", "--expr", [i|with import ../../../../. {}; #{expr}|]]
output <- readCreateProcessWithLogging cp ""
juliaPath <- case A.eitherDecode (BL8.pack output) of
Right (A.Array ((V.!? 0) -> Just (A.Object (aesonLookup "outputs" -> Just (A.Object (aesonLookup "out" -> Just (A.String t))))))) -> pure (JuliaPath ((T.unpack t) </> "bin" </> "julia"))
Right (A.Array ((V.!? 0) -> Just (A.Object (aesonLookup "outputs" -> Just (A.Object (aesonLookup "out" -> Just (A.String t))))))) -> do
info [i|built: #{t}|]
pure (JuliaPath ((T.unpack t) </> "bin" </> "julia"))
x -> expectationFailure ("Couldn't parse output: " <> show x)
getContext julia >>= flip modifyMVar_ (const $ return (Just juliaPath))
@@ -113,3 +122,8 @@ testExpr _args name expr = do
where
aesonLookup :: Text -> HM.KeyMap v -> Maybe v
aesonLookup = HM.lookup . A.fromText
claimRunSlot :: (HasParallelSemaphore ctx) => ExampleT ctx IO a -> ExampleT ctx IO ()
claimRunSlot f = do
s <- getContext parallelSemaphore
bracket_ (liftIO $ waitQSem s) (liftIO $ signalQSem s) (void f)
+5 -1
View File
@@ -1,5 +1,6 @@
{
gitMinimal,
lib,
runCommand,
}:
@@ -10,7 +11,10 @@
# See https://github.com/NixOS/nixpkgs/pull/97467#issuecomment-689315186
addPackagesToPython =
python: packages:
if python ? "env" then
# TODO: this stopped working because "env" ended up being a key of the base
# derivation like "python3" as well. Is there a robust way to determine if
# this Python is already wrapped?
if python ? "env" && lib.isDerivation python.env then
python.override (old: {
extraLibs = old.extraLibs ++ packages;
})
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qtutilities";
version = "6.18.0";
version = "6.18.1";
src = fetchFromGitHub {
owner = "Martchus";
repo = "qtutilities";
rev = "v${finalAttrs.version}";
hash = "sha256-2KEzuYUFmOeDzBU5UX9MknTNvTLX0we7QiUtg5SVUCc=";
hash = "sha256-GFLNZgY6Q3+4lsFYznbiVhDqU8ALzVRLO02qmyZrnKw=";
};
nativeBuildInputs = [
@@ -359,7 +359,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.40.21";
version = "1.40.22";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-7zb2XH/ob/vJPBQY+okEgDzjvP/DyTLD0a4zqdAvoc0=";
hash = "sha256-cVpE7wRrVEUfHCIH03nTs6pOrkOk5TrTHiCprJuZdTc=";
};
build-system = [ setuptools ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "botocore-stubs";
version = "1.40.21";
version = "1.40.22";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
hash = "sha256-Gld35OTwM17X0xhbDypVwfxeoeYP4mTN6lGhccOwsBE=";
hash = "sha256-y24G5tSY4WkVl3H91bjYkh9PAZFj4Jke5OSgKM6I+EU=";
};
nativeBuildInputs = [ setuptools ];
@@ -34,7 +34,10 @@ buildPythonPackage rec {
setuptools-scm
];
pythonRelaxDeps = [ "numpy" ];
pythonRelaxDeps = [
"numpy"
"packaging"
];
dependencies = [
libusb-package

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