Merge master into staging-next
This commit is contained in:
@@ -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).
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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,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=",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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 ''
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ python3Packages.buildPythonApplication rec {
|
||||
pythonRelaxDeps = [
|
||||
"numpy"
|
||||
"pyqt6"
|
||||
"pyzmq"
|
||||
"vispy"
|
||||
];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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/";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
@@ -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}");
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
@@ -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; {
|
||||
|
||||
@@ -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.
|
||||
|
||||
+28
-22
@@ -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();
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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}"
|
||||
|
||||
Generated
-190
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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,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="
|
||||
}
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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"; })
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
(
|
||||
|
||||
@@ -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
@@ -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,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)
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user