Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-09-03 21:56:51 +00:00
committed by GitHub
213 changed files with 3229 additions and 2431 deletions
+83
View File
@@ -0,0 +1,83 @@
# This expression will, as efficiently as possible, dump a
# *superset* of all attrpaths of derivations which might be
# part of a release on *any* platform.
#
# This expression runs single-threaded under all current Nix
# implementations, but much faster and with much less memory
# used than ./outpaths.nix itself.
#
# Once you have the list of attrnames you can split it up into
# $NUM_CORES batches and evaluate the outpaths separately for each
# batch, in parallel.
#
# To dump the attrnames:
#
# nix-instantiate --eval --strict --json ci/eval/attrpaths.nix -A names
#
{
lib ? import (path + "/lib"),
trace ? false,
path ? ./../..,
}:
let
# TODO: Use mapAttrsToListRecursiveCond when this PR lands:
# https://github.com/NixOS/nixpkgs/pull/395160
justAttrNames =
path: value:
let
result =
if path == [ "AAAAAASomeThingsFailToEvaluate" ] || !(lib.isAttrs value) then
[ ]
else if lib.isDerivation value then
[ path ]
else
lib.pipe value [
(lib.mapAttrsToList (
name: value:
lib.addErrorContext "while evaluating package set attribute path '${
lib.showAttrPath (path ++ [ name ])
}'" (justAttrNames (path ++ [ name ]) value)
))
lib.concatLists
];
in
lib.traceIf trace "** ${lib.showAttrPath path}" result;
outpaths = import ./outpaths.nix {
inherit path;
attrNamesOnly = true;
};
paths = [
# Some of the following are based on variants, which are disabled with `attrNamesOnly = true`.
# Until these have been removed from release.nix / hydra, we manually add them to the list.
[
"pkgsLLVM"
"stdenv"
]
[
"pkgsArocc"
"stdenv"
]
[
"pkgsZig"
"stdenv"
]
[
"pkgsStatic"
"stdenv"
]
[
"pkgsMusl"
"stdenv"
]
]
++ justAttrNames [ ] outpaths;
names = map lib.showAttrPath paths;
in
{
inherit paths names;
}
@@ -1,5 +1,4 @@
# This file works in tandem with ../../ci/eval/default.nix
# It turns ./release-outpaths.nix into chunks of a fixed size
# This turns ./outpaths.nix into chunks of a fixed size.
{
lib ? import ../../lib,
path ? ../..,
@@ -7,7 +6,6 @@
attrpathFile,
chunkSize,
myChunk,
checkMeta,
includeBroken,
systems,
}:
@@ -16,9 +14,9 @@ let
attrpaths = lib.importJSON attrpathFile;
myAttrpaths = lib.sublist (chunkSize * myChunk) chunkSize attrpaths;
unfiltered = import ./release-outpaths.nix {
unfiltered = import ./outpaths.nix {
inherit path;
inherit checkMeta includeBroken systems;
inherit includeBroken systems;
};
# Turns the unfiltered recursive attribute set into one that is limited to myAttrpaths
-1
View File
@@ -105,7 +105,6 @@ let
) rebuildsByKernel
# Set the "11.by: package-maintainer" label to whether all packages directly
# changed are maintained by the PR's author.
# (https://github.com/NixOS/ofborg/blob/df400f44502d4a4a80fa283d33f2e55a4e43ee90/ofborg/src/tagger.rs#L83-L88)
// {
"11.by: package-maintainer" =
maintainers ? ${githubAuthorId}
-1
View File
@@ -1,7 +1,6 @@
{
lib,
}:
# Almost directly vendored from https://github.com/NixOS/ofborg/blob/5a4e743f192fb151915fcbe8789922fa401ecf48/ofborg/src/maintainers.nix
{
changedattrs,
changedpathsjson,
+7 -6
View File
@@ -26,6 +26,11 @@ let
root = ../..;
fileset = unions (
map (lib.path.append ../..) [
".version"
"ci/supportedSystems.json"
"ci/eval/attrpaths.nix"
"ci/eval/chunk.nix"
"ci/eval/outpaths.nix"
"default.nix"
"doc"
"lib"
@@ -33,8 +38,6 @@ let
"modules"
"nixos"
"pkgs"
".version"
"ci/supportedSystems.json"
]
);
};
@@ -60,7 +63,7 @@ let
export GC_INITIAL_HEAP_SIZE=4g
command time -f "Attribute eval done [%MKB max resident, %Es elapsed] %C" \
nix-instantiate --eval --strict --json --show-trace \
"$src/pkgs/top-level/release-attrpaths-superset.nix" \
"$src/ci/eval/attrpaths.nix" \
-A paths \
-I "$src" \
--option restrict-eval true \
@@ -78,7 +81,6 @@ let
attrpathFile ? "${attrpathsSuperset { inherit evalSystem; }}/paths.json",
# The number of attributes per chunk, see ./README.md for more info.
chunkSize ? 5000,
checkMeta ? true,
# Don't try to eval packages marked as broken.
includeBroken ? false,
@@ -99,7 +101,7 @@ let
set +e
command time -o "$outputDir/timestats/$myChunk" \
-f "Chunk $myChunk on $system done [%MKB max resident, %Es elapsed] %C" \
nix-env -f "${nixpkgs}/pkgs/top-level/release-outpaths-parallel.nix" \
nix-env -f "${nixpkgs}/ci/eval/chunk.nix" \
--eval-system "$system" \
--option restrict-eval true \
--option allow-import-from-derivation false \
@@ -110,7 +112,6 @@ let
--arg myChunk "$myChunk" \
--arg attrpathFile "${attrpathFile}" \
--arg systems "[ \"$system\" ]" \
--arg checkMeta ${lib.boolToString checkMeta} \
--arg includeBroken ${lib.boolToString includeBroken} \
-I ${nixpkgs} \
-I ${attrpathFile} \
@@ -1,19 +1,16 @@
#!/usr/bin/env nix-shell
# When using as a callable script, passing `--argstr path some/path` overrides $PWD.
#!nix-shell -p nix -i "nix-env -qaP --no-name --out-path --arg checkMeta true -f pkgs/top-level/release-outpaths.nix"
#!nix-shell -p nix -i "nix-env -qaP --no-name --out-path -f ci/eval/outpaths.nix"
# Vendored from:
# https://raw.githubusercontent.com/NixOS/ofborg/74f38efa7ef6f0e8e71ec3bfc675ae4fb57d7491/ofborg/src/outpaths.nix
{
checkMeta,
includeBroken ? true, # set this to false to exclude meta.broken packages from the output
path ? ./../..,
# used by pkgs/top-level/release-attrnames-superset.nix
# used by ./attrpaths.nix
attrNamesOnly ? false,
# Set this to `null` to build for builtins.currentSystem only
systems ? builtins.fromJSON (builtins.readFile ../../ci/supportedSystems.json),
systems ? builtins.fromJSON (builtins.readFile ../supportedSystems.json),
}:
let
lib = import (path + "/lib");
@@ -30,7 +27,7 @@ let
allowUnfree = true;
allowInsecurePredicate = x: true;
allowVariants = !attrNamesOnly;
checkMeta = checkMeta;
checkMeta = true;
handleEvalIssue =
reason: errormsg:
+7
View File
@@ -65,6 +65,13 @@
- `ansible-later` has been removed because it was discontinued by the author.
- `k3s` airgap images passthru attributes have changed:
- `imagesList` was removed
- `airgapImages` was renamed to `airgap-images`
- `airgapImagesAmd64` was renamed to `airgap-images-amd64-tar-zst`
- `airgapImagesArm64` was renamed to `airgap-images-arm64-tar-zst`
- `airgapImagesArm` was renamed to `airgap-images-arm-tar-zst`
- `stalwart-mail` since `0.13.0` "introduces a significant redesign of the MTAs delivery and queueing subsystem". See [the upgrading announcement for the `0.13.0` release](https://github.com/stalwartlabs/stalwart/blob/89b561b5ca1c5a11f2a768b4a2cfef0f473b7a01/UPGRADING.md#upgrading-from-v012x-and-v011x-to-v013x).
- Greetd and its original greeters (`tuigreet`, `gtkgreet`, `qtgreet`, `regreet`, `wlgreet`) were moved from `greetd` namespace to top level (`greetd.tuigreet` -> `tuigreet`, `greetd.greetd` -> `greetd`, etc). The original attrs are available for compatibility as passthrus of `greetd`, but will emit a warning. They will be removed in future releases.
+21
View File
@@ -6070,6 +6070,14 @@
name = "Dee Engan";
keys = [ { fingerprint = "9C24 79F5 F0CE 48F4 00EE 4A5B B8ED 46EB 468B F72D"; } ];
};
deej-io = {
email = "me@deej.io";
github = "deej-io";
githubId = 7419862;
name = "Daniel Rollins";
matrix = "@deej-io:matrix.org";
keys = [ { fingerprint = "A0BE BED3 A3A0 7127 1411 6234 6830 B0AE 30DD 38DB"; } ];
};
deejayem = {
email = "nixpkgs.bu5hq@simplelogin.com";
github = "deejayem";
@@ -20421,6 +20429,12 @@
name = "Kevin Mullins";
keys = [ { fingerprint = "2CD2 B030 BD22 32EF DF5A 008A 3618 20A4 5DB4 1E9A"; } ];
};
podium868909 = {
email = "89096245@proton.me";
github = "podium868909";
githubId = 150333826;
name = "podium868909";
};
podocarp = {
email = "xdjiaxd@gmail.com";
github = "podocarp";
@@ -21325,6 +21339,13 @@
githubId = 23345803;
name = "Szymon Scholz";
};
ratakor = {
name = "Ratakor";
github = "ratakor";
githubId = 45130910;
email = "ratakor@disroot.org";
keys = [ { fingerprint = "B60F 8F80 D6CD C5D2 58CF 14C3 241B 1CBE 567B 287E"; } ];
};
ratcornu = {
email = "ratcornu+programmation@skaven.org";
github = "RatCornu";
@@ -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).
@@ -62,6 +64,8 @@
- [TuneD](https://tuned-project.org/), a system tuning service for Linux. Available as [services.tuned](#opt-services.tuned.enable).
- [yubikey-manager](https://github.com/Yubico/yubikey-manager), a tool for configuring YubiKey devices. Available as [programs.yubikey-manager](#opt-programs.yubikey-manager.enable).
- [Draupnir](https://github.com/the-draupnir-project/draupnir), a Matrix moderation bot. Available as [services.draupnir](#opt-services.draupnir.enable).
- [postfix-tlspol](https://github.com/Zuplu/postfix-tlspol), MTA-STS and DANE resolver and TLS policy server for Postfix. Available as [services.postfix-tlspol](#opt-services.postfix-tlspol.enable).
@@ -1,8 +1,8 @@
{
x86_64-linux = "/nix/store/gy397nw6h414f4l4vxny1wg8cn4i955d-nix-2.28.4";
i686-linux = "/nix/store/k192aqw8zh71zrli5abqd5wg01bqwmh9-nix-2.28.4";
aarch64-linux = "/nix/store/cp0bzvj8vf5y2z0nimq57crcq6h419fj-nix-2.28.4";
riscv64-linux = "/nix/store/zav2zzhxld8fqvj7hb5z83ggd3ij6888-nix-riscv64-unknown-linux-gnu-2.28.4";
x86_64-darwin = "/nix/store/gj4y690ligr5gawmpnkiw2qs087m068w-nix-2.28.4";
aarch64-darwin = "/nix/store/nb6nkjac7nj242j3m56pkdkbikfjw343-nix-2.28.4";
x86_64-linux = "/nix/store/0bvxg6fr61zrlhi93azhp8yfhb5rcrs9-nix-2.28.5";
i686-linux = "/nix/store/m5na49mxl4xpcs3xh086s5v08jqjhbmb-nix-2.28.5";
aarch64-linux = "/nix/store/95rhdhjfwbi7ilwy5j0knj1852p7x6c6-nix-2.28.5";
riscv64-linux = "/nix/store/cqiiv36c773023p6lp9h4ff57fjlzisk-nix-riscv64-unknown-linux-gnu-2.28.5";
x86_64-darwin = "/nix/store/xiw5636h616yi3balx96pmdk6b052rhk-nix-2.28.5";
aarch64-darwin = "/nix/store/sax8chv80d9fy4s0y3ahsr9y4kc2f0ib-nix-2.28.5";
}
+2
View File
@@ -362,6 +362,7 @@
./programs/xwayland.nix
./programs/yazi.nix
./programs/ydotool.nix
./programs/yubikey-manager.nix
./programs/yubikey-touch-detector.nix
./programs/zmap.nix
./programs/zoom-us.nix
@@ -1216,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,29 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.yubikey-manager;
in
{
options = {
programs.yubikey-manager = {
enable = lib.mkEnableOption "yubikey-manager";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
services = {
pcscd.enable = true;
# The udev rules we want aren't included in the yubikey-manager package, but
# we can get them from yubikey-personalization.
udev.packages = [ pkgs.yubikey-personalization ];
};
};
}
@@ -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
];
}
@@ -258,6 +258,8 @@ def remove_old_entries(gens: list[SystemIdentifier]) -> None:
bootspec = get_bootspec(gen.profile, gen.generation)
known_paths.append(copy_from_file(bootspec.kernel, True).name)
known_paths.append(copy_from_file(bootspec.initrd, True).name)
if bootspec.devicetree is not None:
known_paths.append(copy_from_file(bootspec.devicetree, True).name)
for path in (BOOT_MOUNT_POINT / "loader/entries").glob("nixos*-generation-[1-9]*.conf", case_sensitive=False):
if rex_profile.match(path.name):
prof = rex_profile.sub(r"\1", path.name)
+1
View File
@@ -848,6 +848,7 @@ in
litellm = runTest ./litellm.nix;
litestream = runTest ./litestream.nix;
lk-jwt-service = runTest ./matrix/lk-jwt-service.nix;
llama-swap = runTest ./web-servers/llama-swap.nix;
lldap = runTest ./lldap.nix;
localsend = runTest ./localsend.nix;
locate = runTest ./locate.nix;
+1 -9
View File
@@ -22,21 +22,13 @@ import ../make-test-python.nix (
"--disable servicelb"
"--disable traefik"
];
images = [ k3s.airgapImages ];
images = [ k3s.airgap-images ];
};
};
testScript = ''
import json
start_all()
machine.wait_for_unit("k3s")
machine.wait_until_succeeds("journalctl -r --no-pager -u k3s | grep \"Imported images from /var/lib/rancher/k3s/agent/images/\"")
images = json.loads(machine.succeed("crictl img -o json"))
image_names = [i["repoTags"][0] for i in images["images"]]
with open("${k3s.imagesList}") as expected_images:
for line in expected_images:
assert line.rstrip() in image_names, f"The image {line.rstrip()} is not present in the airgap images archive"
'';
}
)
+258
View File
@@ -0,0 +1,258 @@
{ pkgs, lib, ... }:
let
wrapSrc = attrs: pkgs.runCommand "${attrs.pname}-${attrs.version}" attrs "ln -s $src $out";
smollm2-135m = wrapSrc rec {
pname = "smollm2-135m";
version = "9e6855bc4be717fca1ef21360a1db4b29d5c559a";
src = pkgs.fetchurl {
url = "https://huggingface.co/unsloth/SmolLM2-135M-Instruct-GGUF/resolve/${version}/SmolLM2-135M-Instruct-Q4_K_M.gguf";
hash = "sha256-7V+jDEh7KC7BVsKQYvEiLlwgh1qUSsmCidvSQulH90c=";
};
meta.license = with lib.licenses; [
asl20 # actual license of the model
unfree # to force an opt-in - do not remove
];
};
# grab allowUnfreePredicate if it exists or default deny
allowUnfreePredicate =
if builtins.hasAttr "allowUnfreePredicate" pkgs.config then
pkgs.config.allowUnfreePredicate
else
(_: false);
# check if we can use smollm2-135m taking either globally allowUnfree or
# explicit allow with predicate
useSmollm2-135m = pkgs.config.allowUnfree || allowUnfreePredicate smollm2-135m;
in
{
name = "llama-swap";
meta.maintainers = with lib.maintainers; [
jk
podium868909
];
nodes = {
machine =
{ pkgs, ... }:
{
# running models can be memory intensive but
# default `virtualisation.memorySize` is fine
services.llama-swap = {
enable = true;
settings =
# config for basic tests
if !useSmollm2-135m then
{ }
# config for extended tests using SmolLM2
else
let
llama-cpp = pkgs.llama-cpp;
llama-server = lib.getExe' llama-cpp "llama-server";
in
{
hooks.on_startup.preload = [
"smollm2"
];
# temperature and top-k important for SmolLM2 performance/accuracy
models = {
"smollm2" = {
ttl = 10;
cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9";
};
"smollm2-group-1" = {
cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024";
};
"smollm2-group-2" = {
proxy = "http://127.0.0.1:5802";
cmd = "${llama-server} --port 5802 -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024";
};
};
groups = {
"standalone" = {
swap = true;
exclusive = true;
members = [
"smollm2"
];
};
"group" = {
swap = false;
exclusive = true;
members = [
"smollm2-group-1"
"smollm2-group-2"
];
};
};
};
};
};
};
testScript =
{ nodes, ... }:
''
# core tests
import json
def get_json(route):
args = [
'-v',
'-s',
'--fail',
'-H "Content-Type: application/json"'
]
return json.loads(machine.succeed("curl {args} http://localhost:8080{route}".format(args=" ".join(args), route=route)))
def post_json(route, data):
args = [
'-v',
'-s',
'--fail',
'-H "Content-Type: application/json"',
'-H "Authorization: Bearer no-key"',
"-d '{d}'".format(d=json.dumps(data))
]
return json.loads(machine.succeed('curl {args} http://localhost:8080{route}'.format(args=" ".join(args), route=route)))
machine.wait_for_unit('llama-swap')
machine.wait_for_open_port(8080)
with subtest('check is serving ui'):
machine.succeed('curl --fail http:/localhost:8080/ui/')
with subtest('check is healthy'):
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/health | grep "OK"')
''
+ lib.optionalString useSmollm2-135m ''
# extended tests using SmolLM2
with subtest('check `/running` for preloaded smollm2'):
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep "smollm2"')
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2'
assert running_model['state'] == 'ready'
with subtest('runs smollm2'):
response = None
with subtest('send request to smollm2'):
data = {
'model': 'smollm2',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response = post_json('/v1/chat/completions', data)
with subtest('response is from smollm2'):
assert response['model'] == 'smollm2'
with subtest('response contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices = None
with subtest('response contains at least one "assistant" message'):
assistant_choices = [c for c in response['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices) >= 1
with subtest('first message (lowercase) starts with "hello"'):
assert assistant_choices[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for just smollm2'):
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2'
assert running_model['state'] == 'ready'
with subtest('check `/running` for smollm2 to timeout'):
machine.succeed('curl --silent --fail http://localhost:8080/running | grep "smollm2"')
machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep -v "smollm2"', timeout=11)
running_response = get_json('/running')
assert len(running_response['running']) == 0
with subtest('runs smollm2-group-1 and smollm2-group-2'):
response_1 = None
with subtest('send request to smollm2-group-1'):
data = {
'model': 'smollm2-group-1',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response_1 = post_json('/v1/chat/completions', data)
with subtest('response 1 is from smollm2-group-1'):
assert response_1['model'] == 'smollm2-group-1'
with subtest('response 1 contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices_1 = None
with subtest('response 1 contains at least one "assistant" message'):
assistant_choices_1 = [c for c in response_1['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices_1) >= 1
with subtest('first message (lowercase) in response 1 starts with "hello"'):
assert assistant_choices_1[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for just smollm2-group-1'):
running_response = get_json('/running')
assert len(running_response['running']) == 1
running_model = running_response['running'][0]
assert running_model['model'] == 'smollm2-group-1'
assert running_model['state'] == 'ready'
response_2 = None
with subtest('send request to smollm2-group-2'):
data = {
'model': 'smollm2-group-2',
'messages': [
{
'role': 'user',
'content': 'Say hello'
}
]
}
response_2 = post_json('/v1/chat/completions', data)
with subtest('response 2 is from smollm2-group-2'):
assert response_2['model'] == 'smollm2-group-2'
with subtest('response 2 contains at least one item in "choices"'):
assert len(response['choices']) >= 1
assistant_choices_2 = None
with subtest('response 2 contains at least one "assistant" message'):
assistant_choices_2 = [c for c in response_2['choices'] if c['message']['role'] == 'assistant']
assert len(assistant_choices_2) >= 1
with subtest('first message (lowercase) in response 1 starts with "hello"'):
assert assistant_choices_2[0]['message']['content'].lower()[:5] == 'hello'
with subtest('check `/running` for both smollm2-group-1 and smollm2-group-2'):
running_response = get_json('/running')['running']
assert len(running_response) == 2
assert len([
rm for rm in running_response
if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-1'
]) == 1
assert len([
rm for rm in running_response
if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-2'
]) == 1
'';
}
@@ -3581,8 +3581,8 @@ let
mktplcRef = {
name = "one-dark-theme";
publisher = "mskelton";
version = "1.14.2";
hash = "sha256-6nIfEPbau5Dy1DGJ0oQ5L2EGn2NDhpd8jSdYujtOU68=";
version = "1.14.3";
hash = "sha256-AYOX6I1R34HdNNdY9LpLkM/JHm/f1h+Q9HTtEnKMhdU=";
};
meta = {
license = lib.licenses.mit;
@@ -9,8 +9,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "shfmt";
publisher = "mkhl";
version = "1.3.1";
hash = "sha256-V7pXPwabmUJLC/T0X4dsc52IZa7SaN70zd4mCjqk4X4=";
version = "1.4.0";
hash = "sha256-5qi2BRwftuW9Isveb7vRwPPPu2w7LTfhNO0xHFNruGI=";
};
postInstall = ''
@@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2025-08-20";
version = "0-unstable-2025-08-29";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "9c5408a6d3fff939ae06a319c2fce3aa6f2a4d69";
hash = "sha256-AH/XVN7Ah2DzN8/jlagOEAsNSciQMf8WBhfdC7YIMHw=";
rev = "0243f81c264ea8d1bbaa107f26fb6644f767c1e8";
hash = "sha256-iLEOAOMzdhlG4qogJiAhdK03YZ57dAV15TwBBjK7iSY=";
fetchSubmodules = true;
};
@@ -85,13 +85,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.2-2";
version = "7.1.2-3";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
tag = finalAttrs.version;
hash = "sha256-bQzHZGTr3dl8G7cMSjC5Is+H/7pnRtqgp/rvYZeJDu0=";
hash = "sha256-L4apUdF1VJXSVqWAyjYFG/4qDJoJ0ObmSOpd90kqXsU=";
};
outputs = [
@@ -1,18 +1,26 @@
{
"airgap-images-amd64": {
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-amd64.tar.gz",
"sha256": "f98a57f7b25a4537096fbe9755f96cfd05bfe6fc6315f111c0f44e1abf4aad6d"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-amd64.tar.zst",
"sha256": "9bda99cde833c4e13fb4d35fa46fd57d4b1a2eefc33e00fa352ce686c871c842"
},
"airgap-images-arm": {
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-arm.tar.gz",
"sha256": "33df3a2b155118198c48e66426a04292a348aa53fef126a3cb8e4fe7aea83ccc"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-arm.tar.zst",
"sha256": "d40a78ff14b40547bca6d05db3d7e767b272bb9257628ebd3905d1659bc49bd5"
},
"airgap-images-arm64": {
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-arm64.tar.gz",
"sha256": "bba9c2e417ece797a5ae8bf9346bb35dc8ab163828c801a2cb512d6097610b52"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-airgap-images-arm64.tar.zst",
"sha256": "6561f91f14c8419c9d1c20fb9af7948757d87bd91855b376058d9f2e16010452"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.14%2Bk3s2/k3s-images.txt",
"sha256": "1f87ad26acac5e553279a64942c0e3eeef5c026cc2f82661d358990848672584"
}
}
@@ -1,18 +1,26 @@
{
"airgap-images-amd64": {
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "fa4f87e7e82c0e613f854eedf8f64d2cdabbd127f3ae84707ed1ca59e2137855"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "c98ad7590af33ef7e148920eb809dfd0f8145a623fdd8d32c6efeecab6088412"
},
"airgap-images-arm": {
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "0b6009407069fdd684d9627c5fa4bdb31ea4644172f1f429a2cce15d2c18631d"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "c1bd7557836538592dbd59f798e7a4b91d7aef74c8f9f71631060c96a5288dd6"
},
"airgap-images-arm64": {
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "6fa41db4ee001c1db8a404dd38f17f2426f27f688f9f7a2a76f4ef336f51c886"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "97f0db38f57a2dc63167795620ba34a89348d874ecc91fbf3d8d962dc1392e47"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.11%2Bk3s1/k3s-images.txt",
"sha256": "1f87ad26acac5e553279a64942c0e3eeef5c026cc2f82661d358990848672584"
}
}
@@ -1,18 +1,26 @@
{
"airgap-images-amd64": {
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "f6a8720aa9bb03d0c8a97a93e994557292f1efba1fa6648cd8a07830622ce748"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "965f5767c08cffc96bf0967813e7c3fec4c41309e9952a480f0a50865bebd039"
},
"airgap-images-arm": {
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "9aa6f9f33e58e04fb9d8f9cd5c51dd01c6092d7b5434f84341b2f74bc8de783e"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "57ab9c306cc96f8dd925bc788c80e49c2d13ee7a222a12235fb525529ad25ac0"
},
"airgap-images-arm64": {
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "9633b71655ed0f4af556c148f9bf7753221b3c9b42a8d902391187789302adca"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1aa05a55492ba0872fa8a0ff518d6e947869bea32dc2b8e5223bdcf53450c7f9"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.7%2Bk3s1/k3s-images.txt",
"sha256": "e786e9a6f0331a92a2257a12995028761bfee1b5bfaac866025b64162e69bfe0"
}
}
@@ -1,18 +1,26 @@
{
"airgap-images-amd64": {
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "64690dc963f6cbff8adb175a1bc41e6bf207734a9a214362544a36361a2d8350"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "51b6ddeafa465e542f0707272736100916886dd49abcb1420ee52878dd3638a9"
},
"airgap-images-arm": {
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "878d17722dd98e7d88de93a83606e0c9b0d7587c7e4a043559b5236a353fb224"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "339dd2b33b40f03bf95ee2e5dcb8e543ab6852e156cb8aaebe3885717a2966b5"
},
"airgap-images-arm64": {
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "e4ab063deb50241e60218a3a30ce090a5817daa0f38dacd10651e27b2be28b9e"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "c12ec7b122f34eb1f89310b05e66b500a2f49522d7cd4ceb3475a675cab6ebc6"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.3%2Bk3s1/k3s-images.txt",
"sha256": "e786e9a6f0331a92a2257a12995028761bfee1b5bfaac866025b64162e69bfe0"
}
}
@@ -130,38 +130,15 @@ let
traefikChart = fetchurl chartVersions.traefik;
traefik-crdChart = fetchurl chartVersions.traefik-crd;
mutFirstChar =
f: s:
let
firstChar = f (lib.substring 0 1 s);
rest = lib.substring 1 (-1) s;
in
firstChar + rest;
kebabToCamel =
s:
mutFirstChar lib.toLower (lib.concatMapStrings (mutFirstChar lib.toUpper) (lib.splitString "-" s));
# finds the images archive for the desired architecture, throws in case no suitable archive is found
findImagesArchive =
arch:
let
imagesVersionsNames = builtins.attrNames imagesVersions;
in
lib.findFirst (
n: lib.hasInfix arch n
) (throw "k3s: no airgap images for ${arch} available") imagesVersionsNames;
# a shortcut that provides the images archive for the host platform. Currently only supports
# aarch64 (arm64) and x86_64 (amd64), throws on other architectures.
airgapImages = fetchurl (
if stdenv.hostPlatform.isAarch64 then
imagesVersions.${findImagesArchive "arm64"}
else if stdenv.hostPlatform.isx86_64 then
imagesVersions.${findImagesArchive "amd64"}
else
throw "k3s: airgap images cannot be found automatically for architecture ${stdenv.hostPlatform.linuxArch}, consider using an image archive with an explicit architecture."
);
airgap-images =
{
x86_64-linux = fetchurl imagesVersions.airgap-images-amd64-tar-zst;
aarch64-linux = fetchurl imagesVersions.airgap-images-arm64-tar-zst;
}
.${stdenv.hostPlatform.system}
or (throw "k3s: no airgap images available for system ${stdenv.hostPlatform.system}, consider using an image archive with an explicit architecture.");
# so, k3s is a complicated thing to package
# This derivation attempts to avoid including any random binaries from the
@@ -467,7 +444,7 @@ buildGoModule rec {
'';
passthru = {
inherit airgapImages;
inherit airgap-images;
k3sCNIPlugins = k3sCNIPlugins;
k3sContainerd = k3sContainerd;
k3sRepo = k3sRepo;
@@ -481,10 +458,13 @@ buildGoModule rec {
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
tests = passthru.mkTests k3sVersion;
updateScript = updateScript;
imagesList = throw "k3s.imagesList was removed";
airgapImages = throw "k3s.airgapImages was renamed to k3s.airgap-images";
airgapImagesAmd64 = throw "k3s.airgapImagesAmd64 was renamed to k3s.airgap-images-amd64-tar-zst";
airgapImagesArm64 = throw "k3s.airgapImagesArm64 was renamed to k3s.airgap-images-arm64-tar-zst";
airgapImagesArm = throw "k3s.airgapImagesArm was renamed to k3s.airgap-images-arm-tar-zst";
}
// (lib.mapAttrs' (
name: _: lib.nameValuePair (kebabToCamel name) (fetchurl imagesVersions.${name})
) imagesVersions);
// (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
meta = baseMeta;
}
@@ -83,22 +83,20 @@ mv chart-versions.nix.update chart-versions.nix
SHA256_HASHES="\
$($CURL "https://github.com/k3s-io/k3s/releases/download/v${K3S_VERSION}/sha256sum-amd64.txt")
$($CURL "https://github.com/k3s-io/k3s/releases/download/v${K3S_VERSION}/sha256sum-arm64.txt")
$($CURL "https://github.com/k3s-io/k3s/releases/download/v${K3S_VERSION}/sha256sum-arm.txt")
$($CURL "https://github.com/k3s-io/k3s/releases/download/v${K3S_VERSION}/k3s-images.txt" | sha256sum | cut -d' ' -f1) k3s-images.txt"
$($CURL "https://github.com/k3s-io/k3s/releases/download/v${K3S_VERSION}/sha256sum-arm.txt")"
# Get all airgap images files associated with this release
IMAGES_ARCHIVES=$($CURL "https://api.github.com/repos/k3s-io/k3s/releases/tags/v${K3S_VERSION}" | \
# Filter the assets so that only zstd archives and text files that have "images" in their name remain
jq -r '.assets[] | select(.name | (contains("images") and (endswith(".tar.zst") or endswith("k3s-images.txt")))) |
"\(.name) \(.browser_download_url)"')
# Filter the assets for airgap images archives
jq -r '.assets[] | select(.name | test("^k3s-airgap-images-.*\\.tar\\.")) | "\(.name) \(.browser_download_url)"')
# Create a JSON object for each airgap images file and prefetch all download URLs in the process
# Combine all JSON objects and write the result to images-versions.json
while read -r name url; do
# Pick the right hash based on the name
sha256=$(grep "$name" <<< "$SHA256_HASHES" | cut -d ' ' -f 1)
# Remove the k3s- prefix and file endings
clean_name=$(sed -e 's/^k3s-//' -e 's/\.tar\.zst//' -e 's/\.txt/-list/' <<< "$name")
# Remove the k3s prefix and replace all dots with hyphens
clean_name=$(sed -e "s/^k3s-//" -e "s/\./-/g" <<< "$name")
jq --null-input --arg name "$clean_name" \
--arg url "$url" \
--arg sha256 "$sha256" \
@@ -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 = [
+10
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoconf,
automake,
cargo,
@@ -49,6 +50,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-hRTK9xBu8v8+SGa/3IB8Alh/aGUiRRn2LmYOvXy0Yd4=";
};
patches = [
(fetchpatch {
# https://github.com/389ds/389-ds-base/pull/6930
name = "389-ds-base-rustc-1_89.patch";
url = "https://github.com/389ds/389-ds-base/commit/1701419551c246e9dc21778b118220eeb2258125.patch";
hash = "sha256-trzY/fDH3rs66DWbWI+PY46tIC9ShuVqspMHqEEKZYA=";
})
];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
sourceRoot = "${finalAttrs.src.name}/src";
+2 -1
View File
@@ -1,13 +1,14 @@
{
lib,
fetchFromGitHub,
llvmPackages,
swiftPackages,
swift,
swiftpm,
nix-update-script,
}:
let
inherit (swiftPackages) stdenv;
inherit (llvmPackages) stdenv;
in
stdenv.mkDerivation (finalAttrs: {
pname = "age-plugin-se";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "api-linter";
version = "1.70.2";
version = "1.71.0";
src = fetchFromGitHub {
owner = "googleapis";
repo = "api-linter";
tag = "v${version}";
hash = "sha256-2ILG+FW+58WnmL5Ts1K32ee0SR15yp9NnEtmEo6r6w8=";
hash = "sha256-WZvaPYiz1pHW6OLl6ahV3/b9RXW6S/c/kbQxJFfAn28=";
};
vendorHash = "sha256-CHObiSQudxZw5KjimQk8myTsLeQMBZU8SewW4I2dNsw=";
vendorHash = "sha256-KW5+THuV7U09ZV0eShLCDJYDPOM09/bUi7t0WiVx6pk=";
subPackages = [ "cmd/api-linter" ];
+3 -3
View File
@@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "argon";
version = "2.0.25";
version = "2.0.26";
src = fetchFromGitHub {
owner = "argon-rbx";
repo = "argon";
tag = version;
hash = "sha256-nQdh263qFS3seazdoNxme7SxQ7aJsRmFdoyfsZMDjw0=";
hash = "sha256-3IftPWrBETU7zJLaB9uTrc08c37XGmFPPArzrlIFG3Q=";
};
cargoHash = "sha256-s3/i7RnwadgGBg0lZmttxpLC/hZUba+PGc8WD30aAQI=";
cargoHash = "sha256-60BQ7PsKATq5jX5DqCGdOx3xvRzwm5TAM1RtKuPy49M=";
nativeBuildInputs = [ pkg-config ];
@@ -36,9 +36,9 @@
},
"aem": {
"pname": "aem",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aem-1.0.0-py2.py3-none-any.whl",
"hash": "sha256-3QYsiwJ7avGM4Fg8H88shs3JKBo2cOSh0F39bTN/8vA=",
"version": "1.0.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aem-1.0.1-py2.py3-none-any.whl",
"hash": "sha256-QDkq7GjOpqZSUFXkxrL5OjJwSnGHmRH/8r6N/Amriq0=",
"description": "Manage Azure Enhanced Monitoring Extensions for SAP"
},
"ai-examples": {
@@ -50,23 +50,16 @@
},
"aks-preview": {
"pname": "aks-preview",
"version": "18.0.0b15",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-18.0.0b15-py2.py3-none-any.whl",
"hash": "sha256-YjRPELWfLshLQHgZTa7jXS96nyYiZ7h2Gu25/wKvw7c=",
"version": "18.0.0b33",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-18.0.0b33-py2.py3-none-any.whl",
"hash": "sha256-Zkp5Nzl+eQ7PPniDF7/K5II2xIG6OKC3Rhm3ZTpyILc=",
"description": "Provides a preview for upcoming AKS features"
},
"akshybrid": {
"pname": "akshybrid",
"version": "0.1.2",
"url": "https://hybridaksstorage.z13.web.core.windows.net/HybridAKS/CLI/akshybrid-0.1.2-py3-none-any.whl",
"hash": "sha256-l2fNpETEIVc7wiDgHNWKZ8MKNhdc7bposEVKPG6YOo4=",
"description": "Microsoft Azure Command-Line Tools HybridContainerService Extension"
},
"alb": {
"pname": "alb",
"version": "2.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/alb-2.0.0-py3-none-any.whl",
"hash": "sha256-Z9Pbk2dkAqSyFDlpuyD7jsYidiTsUUnTF6GRtX0WqcM=",
"version": "2.0.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/alb-2.0.1-py3-none-any.whl",
"hash": "sha256-B3/01NiuZFVvTGrqQK9lBEu++7hnhHGLM6bL8gvBLx4=",
"description": "Microsoft Azure Command-Line Tools ALB Extension"
},
"alertsmanagement": {
@@ -78,9 +71,9 @@
},
"amg": {
"pname": "amg",
"version": "2.6.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/amg-2.6.1-py3-none-any.whl",
"hash": "sha256-ERGri8mXJtLy/acz8R2UqdmILr7JT4bTQaU6GtxhKjs=",
"version": "2.8.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/amg-2.8.0-py3-none-any.whl",
"hash": "sha256-E4Id15eoKStqeQynaHisZLcZsiApMf6uV/J8xWz/s5w=",
"description": "Microsoft Azure Command-Line Tools Azure Managed Grafana Extension"
},
"amlfs": {
@@ -92,9 +85,9 @@
},
"apic-extension": {
"pname": "apic-extension",
"version": "1.2.0b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/apic_extension-1.2.0b2-py3-none-any.whl",
"hash": "sha256-QtaiixX5daX3pOpi7jnJFH2cXe+J0+J/q9PJVZqkE28=",
"version": "1.2.0b3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/apic_extension-1.2.0b3-py3-none-any.whl",
"hash": "sha256-ATO7B3Dzzk8nswan5Tvym7eloe3OD9ZO+yrfkpTWZns=",
"description": "Microsoft Azure Command-Line Tools ApicExtension Extension"
},
"appservice-kube": {
@@ -111,6 +104,13 @@
"hash": "sha256-Mw/R8ZdL7OFtySTjU3MbHw9EA6WONuM0dwXwHb2/A9E=",
"description": "Microsoft Azure Command-Line Tools Arcgateway Extension"
},
"arize-ai": {
"pname": "arize-ai",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/arize_ai-1.0.0-py3-none-any.whl",
"hash": "sha256-re+iMmNO+fYl5j5oTGy4vm6OHATHytv5TIaYl2k6fVg=",
"description": "Microsoft Azure Command-Line Tools ArizeAi Extension"
},
"astronomer": {
"pname": "astronomer",
"version": "1.0.1",
@@ -162,9 +162,9 @@
},
"bastion": {
"pname": "bastion",
"version": "1.4.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.1-py3-none-any.whl",
"hash": "sha256-Zx50jU9Vmt8vNe/50g8jWaxjeuXlHlMYVNG/v8exRmU=",
"version": "1.4.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.4.2-py3-none-any.whl",
"hash": "sha256-TTaKDFaydQ4lW+LfvEHbWX4WARj3Xwg/yeHmq9aNEoI=",
"description": "Microsoft Azure Command-Line Tools Bastion Extension"
},
"billing-benefits": {
@@ -225,9 +225,9 @@
},
"confluent": {
"pname": "confluent",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-1.0.0-py3-none-any.whl",
"hash": "sha256-CmHPSaZdVmhow/CwCb45gua03Dw2m+nP1Cu35agO7xk=",
"version": "1.1.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-1.1.0-py3-none-any.whl",
"hash": "sha256-X/jWCmB/B01Z56Y/6xcl+4e2d7DDDsMHaqZ0/PtU6TU=",
"description": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension"
},
"connectedmachine": {
@@ -246,9 +246,9 @@
},
"cosmosdb-preview": {
"pname": "cosmosdb-preview",
"version": "1.6.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-1.6.0-py2.py3-none-any.whl",
"hash": "sha256-OO8IjVRhGOfsCb/Oot7Dc7PmfNsDmaXiCuG0at8Hb44=",
"version": "1.6.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-1.6.1-py2.py3-none-any.whl",
"hash": "sha256-kfhttzgrlnyAoD6pe7PKjGHdKE0U6G1GYNe1a4ZA3f0=",
"description": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension"
},
"costmanagement": {
@@ -258,13 +258,6 @@
"hash": "sha256-bl4FPQW61q1jBb0CT1HjVeYP3ou2oDNQ39gcJUN9LkU=",
"description": "Microsoft Azure Command-Line Tools CostManagementClient Extension"
},
"csvmware": {
"pname": "csvmware",
"version": "0.3.0",
"url": "https://github.com/Azure/az-csvmware-cli/releases/download/0.3.0/csvmware-0.3.0-py2.py3-none-any.whl",
"hash": "sha256-37l2fwWsE8di6p3EMnFp5jpcEYeRI1RLIA7bmiyaikI=",
"description": "Manage Azure VMware Solution by CloudSimple"
},
"custom-providers": {
"pname": "custom-providers",
"version": "0.2.1",
@@ -281,9 +274,9 @@
},
"data-transfer": {
"pname": "data-transfer",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/data_transfer-1.0.0b1-py3-none-any.whl",
"hash": "sha256-dnF7ZpUcGP7d3uywoXZdMmr/INH5y46glKuJwrlenfU=",
"version": "1.0.0b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/data_transfer-1.0.0b2-py3-none-any.whl",
"hash": "sha256-PqiantcGNb58p+pQm0kQEPcVkY2dg64IfE9VZhOwz2U=",
"description": "Microsoft Azure Command-Line Tools DataTransfer Extension"
},
"databox": {
@@ -316,9 +309,9 @@
},
"datamigration": {
"pname": "datamigration",
"version": "1.0.0b5",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-1.0.0b5-py3-none-any.whl",
"hash": "sha256-0ZcMgeoUIB5M+e3qrdnkerWj5jiRd3SDfyQJKip+SBI=",
"version": "1.0.0b6",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-1.0.0b6-py3-none-any.whl",
"hash": "sha256-4YPJCSMBr+10f+FRQtOiqwbhE6POAHpYFQcdESJppzg=",
"description": "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension"
},
"dataprotection": {
@@ -428,9 +421,9 @@
},
"elastic": {
"pname": "elastic",
"version": "1.0.0b3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-1.0.0b3-py3-none-any.whl",
"hash": "sha256-LzrkMNPDTdQAfIxag3SWNWjMI1WIckZCQoEcxaJuLec=",
"version": "1.0.0b4",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-1.0.0b4-py3-none-any.whl",
"hash": "sha256-+zjE4PUe1FvB7z1i4FFP3EyWBDco/dZe9DbBDMogijY=",
"description": "Microsoft Azure Command-Line Tools MicrosoftElastic Extension"
},
"elastic-san": {
@@ -463,9 +456,9 @@
},
"fleet": {
"pname": "fleet",
"version": "1.5.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.5.2-py3-none-any.whl",
"hash": "sha256-oshfK8G4NECSNxucAke46csKnw4eRBvOrQG2gGLCbq8=",
"version": "1.6.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.6.2-py3-none-any.whl",
"hash": "sha256-YZpmg1dWiZOerGTgotBstzYB9FgnxPKGurS7OP01Wbc=",
"description": "Microsoft Azure Command-Line Tools Fleet Extension"
},
"fluid-relay": {
@@ -531,13 +524,6 @@
"hash": "sha256-rEoQ4sxkpNCBjkj/vN3+tDB91WuIdbwBwCaH1HPJ/ps=",
"description": "Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension"
},
"hdinsightonaks": {
"pname": "hdinsightonaks",
"version": "1.0.0b3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/hdinsightonaks-1.0.0b3-py3-none-any.whl",
"hash": "sha256-9Um4UQe3uD/2T8+lyQpdfpAKXqLv527smx+BaJ5Yw2U=",
"description": "Microsoft Azure Command-Line Tools Hdinsightonaks Extension"
},
"healthbot": {
"pname": "healthbot",
"version": "0.1.0",
@@ -561,9 +547,9 @@
},
"image-copy-extension": {
"pname": "image-copy-extension",
"version": "1.0.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-1.0.2-py2.py3-none-any.whl",
"hash": "sha256-POLkBXJTiA9mZ8ezYUJDcl3/CSClNdffYBcQbJTbolY=",
"version": "1.0.3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-1.0.3-py2.py3-none-any.whl",
"hash": "sha256-YTQFsRYinh4Bk2p747oyMAsC3a9rKiR444woUeGTKGg=",
"description": "Support for copying managed vm images between regions"
},
"image-gallery": {
@@ -610,9 +596,9 @@
},
"k8s-extension": {
"pname": "k8s-extension",
"version": "1.6.5",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.6.5-py3-none-any.whl",
"hash": "sha256-MZJr6cLtg9m1TD5aYHw2ynfI1Rin5UvaAS7k0QsmZ7k=",
"version": "1.6.7",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.6.7-py3-none-any.whl",
"hash": "sha256-TU2bAc44Zpd//GyziclX7V8BU1cExK/SduKLV++FxqE=",
"description": "Microsoft Azure Command-Line Tools K8s-extension Extension"
},
"k8s-runtime": {
@@ -631,9 +617,9 @@
},
"lambda-test": {
"pname": "lambda-test",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/lambda_test-1.0.0b1-py3-none-any.whl",
"hash": "sha256-KnNCZsTNn4948xKiHJ6Nba3NYLHy+T5yEF55BtQ9a1Q=",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/lambda_test-1.0.0-py3-none-any.whl",
"hash": "sha256-6C2Db8ZPDRs8QY2v1RM2cyGVIM/hwtpBAj6c9V4CXxQ=",
"description": "Microsoft Azure Command-Line Tools LambdaTest Extension"
},
"log-analytics": {
@@ -673,9 +659,9 @@
},
"managednetworkfabric": {
"pname": "managednetworkfabric",
"version": "8.0.0b5",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-8.0.0b5-py3-none-any.whl",
"hash": "sha256-+6ueiYJnSMnGbawqTGoKkbN9Fvl5NCJuz3RUXW6mGBk=",
"version": "8.1.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-8.1.0-py3-none-any.whl",
"hash": "sha256-HWfTuuYq3P02F3zaK8s8HLkqRcdP7/dWwCy/nX/y4u8=",
"description": "Support for managednetworkfabric commands based on 2024-06-15-preview API version"
},
"managementpartner": {
@@ -722,9 +708,9 @@
},
"mongo-db": {
"pname": "mongo-db",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/mongo_db-1.0.0b1-py3-none-any.whl",
"hash": "sha256-z/i+P/kx4MT8XskhqjohRL3Xpne9teLe6jmfCv6iv+0=",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/mongo_db-1.0.0-py3-none-any.whl",
"hash": "sha256-kbU/GRizMppGD2OJ29awQaFUXIMLin0DJpX8Nnymqzo=",
"description": "Microsoft Azure Command-Line Tools MongoDb Extension"
},
"monitor-control-service": {
@@ -750,9 +736,9 @@
},
"neon": {
"pname": "neon",
"version": "1.0.0b4",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/neon-1.0.0b4-py3-none-any.whl",
"hash": "sha256-iak+Dt5UD+YpVO1mQzatzIYybEyVIZaRabL0Jbgr17M=",
"version": "1.0.0b6",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/neon-1.0.0b6-py3-none-any.whl",
"hash": "sha256-qCyfYQIDoZo8l1bPYDJsLTFfBQJEi7/FyNL6jmS1tTc=",
"description": "Microsoft Azure Command-Line Tools Neon Extension"
},
"network-analytics": {
@@ -771,9 +757,9 @@
},
"new-relic": {
"pname": "new-relic",
"version": "1.0.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/new_relic-1.0.1-py3-none-any.whl",
"hash": "sha256-VKbfg2sflMylsHcjvJ1QUhbVW3fOG+JViuCSIt4mJ2A=",
"version": "1.0.2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/new_relic-1.0.2-py3-none-any.whl",
"hash": "sha256-/h2TeDcQyRFvcZBwNzxcPrlf638sjfZxYZ97pm7AxB4=",
"description": "Microsoft Azure Command-Line Tools NewRelic Extension"
},
"next": {
@@ -827,9 +813,9 @@
},
"palo-alto-networks": {
"pname": "palo-alto-networks",
"version": "1.1.1b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/palo_alto_networks-1.1.1b1-py3-none-any.whl",
"hash": "sha256-jU9qS3I2a9V3gL0VjWwls2OZnhoT6oXUkYCcyaTSlgg=",
"version": "1.1.2b2",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/palo_alto_networks-1.1.2b2-py3-none-any.whl",
"hash": "sha256-xOjYa4QakDrL4Xud0OHvJuY7Df2l2B1mnqw8aMlqiAg=",
"description": "Microsoft Azure Command-Line Tools PaloAltoNetworks Extension"
},
"peering": {
@@ -867,6 +853,13 @@
"hash": "sha256-mqrXcCKvAEqWOzQZrBDSM4IO81Jduen2+fx5fhqFmtY=",
"description": "Microsoft Azure Command-Line Tools ProviderHub Extension"
},
"pscloud": {
"pname": "pscloud",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/pscloud-1.0.0b1-py3-none-any.whl",
"hash": "sha256-aIobuwrf1z72gUzYZLLIzk1mRrsbIfWlxgpfJ+1n20U=",
"description": "Microsoft Azure Command-Line Tools Pscloud Extension"
},
"purview": {
"pname": "purview",
"version": "0.1.0",
@@ -876,9 +869,9 @@
},
"quantum": {
"pname": "quantum",
"version": "1.0.0b6",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b6-py3-none-any.whl",
"hash": "sha256-KTYDvglCzrPy4XWsPbBvKKhFI1/mxKwsyBi5/8q2+y8=",
"version": "1.0.0b9",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b9-py3-none-any.whl",
"hash": "sha256-DYnSYOsA+nZJ9V2JIqIHB/697a9ATJLBneyrPsHGoVY=",
"description": "Microsoft Azure Command-Line Tools Quantum Extension"
},
"qumulo": {
@@ -974,9 +967,9 @@
},
"stack-hci-vm": {
"pname": "stack-hci-vm",
"version": "1.9.1",
"url": "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-1.9.1-py3-none-any.whl",
"hash": "sha256-BZSQ1tVLSkQE+jQPpZWIHEoM/86RPKT5kAlmKmNa0qY=",
"version": "1.10.4",
"url": "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-1.10.4-py3-none-any.whl",
"hash": "sha256-MjcpQ7a+5Rw6Z7MAVzoa/qT6HSX6uaV+kWoiMBhK/JM=",
"description": "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension"
},
"standbypool": {
@@ -1002,11 +995,18 @@
},
"storage-blob-preview": {
"pname": "storage-blob-preview",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-1.0.0b1-py2.py3-none-any.whl",
"hash": "sha256-H/5FHkFlfI8ooiq+44c3HRHO3YDS5Sz8vtCtrAqRe0E=",
"version": "1.0.0b3",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-1.0.0b3-py2.py3-none-any.whl",
"hash": "sha256-88MkEV7z+bGUJXxv16lu14Xj8uRh2wWTji1O3nswYq8=",
"description": "Microsoft Azure Command-Line Tools Storage-blob-preview Extension"
},
"storage-discovery": {
"pname": "storage-discovery",
"version": "1.0.0b1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_discovery-1.0.0b1-py3-none-any.whl",
"hash": "sha256-qa4B0qEbeg09vZRN1E4J2E5LvwbrPd2OG1V/WOhfI1o=",
"description": "Microsoft Azure Command-Line Tools StorageDiscovery Extension"
},
"storage-mover": {
"pname": "storage-mover",
"version": "1.1.0",
@@ -1072,9 +1072,9 @@
},
"virtual-network-manager": {
"pname": "virtual-network-manager",
"version": "2.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-2.0.0-py3-none-any.whl",
"hash": "sha256-EbmCqrszG4PC80yCDl+IfzdKw0tO4R0SL6iD+wymu9w=",
"version": "2.0.1",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-2.0.1-py3-none-any.whl",
"hash": "sha256-p/qdOH8arVdfUoslBT0Al26hMihL8VPMClfNZhwtxto=",
"description": "Microsoft Azure Command-Line Tools NetworkManagementClient Extension"
},
"virtual-network-tap": {
@@ -1093,9 +1093,9 @@
},
"vme": {
"pname": "vme",
"version": "1.0.0b4",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/vme-1.0.0b4-py3-none-any.whl",
"hash": "sha256-TMOUIL/cntB9DcQubv7B1OMs+nSwv2RRcFD6KCRwFrk=",
"version": "1.0.0b5",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/vme-1.0.0b5-py3-none-any.whl",
"hash": "sha256-DVb8jVymvcXEEmPsz+qGh3Q3iTFVTI904VD3Kq5d3fc=",
"description": "Microsoft Azure Command-Line Tools Vme Extension"
},
"vmware": {
@@ -1114,9 +1114,9 @@
},
"workload-orchestration": {
"pname": "workload-orchestration",
"version": "1.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/workload_orchestration-1.0.0-py3-none-any.whl",
"hash": "sha256-5o0meWmZDeM45AGTTkD9weX1/tcdg7JJzW1XJRWVdkE=",
"version": "2.0.0",
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/workload_orchestration-2.0.0-py3-none-any.whl",
"hash": "sha256-19yRNNBkY4h+KR4RMeu8rGox1kFKDYOdaNM/dEwSrSU=",
"description": "Microsoft Azure Command-Line Tools WorkloadOperations Extension"
},
"workloads": {
@@ -151,11 +151,14 @@
// lib.optionalAttrs config.allowAliases {
# Removed extensions
adp = throw "The 'adp' extension for azure-cli was deprecated upstream"; # Added 2024-11-02, https://github.com/Azure/azure-cli-extensions/pull/8038
akshybrid = throw "The 'akshybrid' extension for azure-cli was removed upstream"; # https://github.com/Azure/azure-cli-extensions/pull/8955
azurestackhci = throw "The 'azurestackhci' extension for azure-cli was deprecated upstream"; # Added 2025-07-01, https://github.com/Azure/azure-cli-extensions/pull/8898
blockchain = throw "The 'blockchain' extension for azure-cli was deprecated upstream"; # Added 2024-04-26, https://github.com/Azure/azure-cli-extensions/pull/7370
compute-diagnostic-rp = throw "The 'compute-diagnostic-rp' extension for azure-cli was deprecated upstream"; # Added 2024-11-12, https://github.com/Azure/azure-cli-extensions/pull/8240
connection-monitor-preview = throw "The 'connection-monitor-preview' extension for azure-cli was deprecated upstream"; # Added 2024-11-02, https://github.com/Azure/azure-cli-extensions/pull/8194
csvmware = throw "The 'csvmware' extension for azure-cli was removed upstream"; # https://github.com/Azure/azure-cli-extensions/pull/8931
deidservice = throw "The 'deidservice' extension for azure-cli was moved under healthcareapis"; # Added 2024-11-19, https://github.com/Azure/azure-cli-extensions/pull/8224
hdinsightonaks = throw "The 'hdinsightonaks' extension for azure-cli was removed upstream"; # https://github.com/Azure/azure-cli-extensions/pull/8956
logz = throw "The 'logz' extension for azure-cli was deprecated upstream"; # Added 2024-11-02, https://github.com/Azure/azure-cli-extensions/pull/8459
pinecone = throw "The 'pinecone' extension for azure-cli was removed upstream"; # Added 2025-06-03, https://github.com/Azure/azure-cli-extensions/pull/8763
sap-hana = throw "The 'sap-hana' extension for azure-cli was deprecated upstream"; # Added 2025-07-01, https://github.com/Azure/azure-cli-extensions/pull/8904
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "base16384";
version = "2.3.1";
version = "2.3.2";
src = fetchFromGitHub {
owner = "fumiama";
repo = "base16384";
rev = "v${version}";
hash = "sha256-2HZeom+8eEH4CrphCoOV+wJbqhYKVUcAQrYLyEVACkQ=";
hash = "sha256-Xkub0sWT+1oJlznDnnV1mDgQNiMQj8gsWemrCOAYYgE=";
};
nativeBuildInputs = [ cmake ];
+3 -3
View File
@@ -10,7 +10,7 @@
}:
let
pname = "bpftop";
version = "0.7.0";
version = "0.7.1";
in
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } {
inherit pname version;
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } {
owner = "Netflix";
repo = "bpftop";
tag = "v${version}";
hash = "sha256-h6iNc2z5UF+Z4FTaZXfhbz7gIIGlT8pbJ7OcP6uZENc=";
hash = "sha256-8vb32+wHOnADpIIfO9mMlGu7GdlA0hS9ij0zSLcrO7A=";
};
cargoHash = "sha256-Z7E61XiEKM6zKm7LFIXPYCFoSwSHfq6QCfbRMmiBW+o=";
cargoHash = "sha256-euiI4R4nCgnwiBA22kzn0c91hjOr0IOOAyFkW5ZadIk=";
buildInputs = [
elfutils
+1 -1
View File
@@ -1,6 +1,6 @@
{
"dart_leap": "sha256-oO5851cIdrW/asgOePxvwUgjn1XchkH9CKJUruvlLYI=",
"lw_file_system": "sha256-P5zr781SKHqZGwM2dNRi0O53oZuaY2zaM7q2Z7th0F4=",
"lw_file_system": "sha256-S2zNpZWPtUH8Q+gUPEX9zW+agH8rq6Wsz7aj/i1DF9c=",
"lw_file_system_api": "sha256-/Ur9zu4Ovb4x8j1n6Q6FWFuJ9yp92YQG3b7H5CMf3II=",
"lw_sysapi": "sha256-oGs5q8N46WNcRzbsgsPB/6fVBH3g9utK4tlXBpwU4Qc=",
"material_leap": "sha256-AHkXi+ENvLmJBXyF8jdXOCn/CThb6/LDr18gl9sL0XE=",
+3 -3
View File
@@ -9,13 +9,13 @@
}:
let
version = "2.3.3";
version = "2.3.4";
src = fetchFromGitHub {
owner = "LinwoodDev";
repo = "Butterfly";
tag = "v${version}";
hash = "sha256-3cDT1t74SrDUqUtFmNZFQHUx+eCdDjZhPseT3lhNOYE=";
hash = "sha256-qmgM6h2HxvRwUv4UwkIBR3uYz2NiaWEgJWWjrpumQug=";
};
in
flutter332.buildFlutterApplication {
@@ -40,7 +40,7 @@ flutter332.buildFlutterApplication {
nativeBuildInputs = [ yq-go ];
}
''
yq eval --output-format=json --prettyPrint $src/pubspec.lock > "$out"
yq eval --output-format=json --prettyPrint $src/app/pubspec.lock > "$out"
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater {
+63 -63
View File
@@ -114,21 +114,21 @@
"dependency": "transitive",
"description": {
"name": "build",
"sha256": "7d95cbbb1526ab5ae977df9b4cc660963b9b27f6d1075c0b34653868911385e4",
"sha256": "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.0.2"
},
"build_config": {
"dependency": "transitive",
"description": {
"name": "build_config",
"sha256": "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33",
"sha256": "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.2"
"version": "1.2.0"
},
"build_daemon": {
"dependency": "transitive",
@@ -144,31 +144,31 @@
"dependency": "transitive",
"description": {
"name": "build_resolvers",
"sha256": "38c9c339333a09b090a638849a4c56e70a404c6bdd3b511493addfbc113b60c2",
"sha256": "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.0.2"
},
"build_runner": {
"dependency": "direct dev",
"description": {
"name": "build_runner",
"sha256": "b971d4a1c789eba7be3e6fe6ce5e5b50fd3719e3cb485b3fad6d04358304351d",
"sha256": "fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.6.0"
"version": "2.7.0"
},
"build_runner_core": {
"dependency": "transitive",
"description": {
"name": "build_runner_core",
"sha256": "c04e612ca801cd0928ccdb891c263a2b1391cb27940a5ea5afcf9ba894de5d62",
"sha256": "ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.2.0"
"version": "9.3.0"
},
"built_collection": {
"dependency": "transitive",
@@ -184,11 +184,11 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "0b1b12a0a549605e5f04476031cd0bc91ead1d7c8e830773a18ee54179b3cb62",
"sha256": "ba95c961bafcd8686d1cf63be864eb59447e795e124d98d6a27d91fcd13602fb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.11.0"
"version": "8.11.1"
},
"butterfly_api": {
"dependency": "direct main",
@@ -197,7 +197,7 @@
"relative": true
},
"source": "path",
"version": "2.3.3"
"version": "2.3.4"
},
"camera": {
"dependency": "direct main",
@@ -223,11 +223,11 @@
"dependency": "transitive",
"description": {
"name": "camera_avfoundation",
"sha256": "04e1f052ef268085a4f0550389211cc46005a9af015e444c7b1ee7aa19332e5d",
"sha256": "e4aca5bccaf897b70cac87e5fdd789393310985202442837922fd40325e2733b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.20+6"
"version": "0.9.21+1"
},
"camera_platform_interface": {
"dependency": "transitive",
@@ -323,11 +323,11 @@
"dependency": "direct main",
"description": {
"name": "connectivity_plus",
"sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
"sha256": "b5e72753cf63becce2c61fd04dfe0f1c430cc5278b53a1342dc5ad839eab29ec",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.4"
"version": "6.1.5"
},
"connectivity_plus_platform_interface": {
"dependency": "transitive",
@@ -414,11 +414,11 @@
"dependency": "transitive",
"description": {
"name": "dart_mappable",
"sha256": "2255b2c00e328a65fef5a8df2dabfc0dc9c2e518c33a50051a4519b1c7a28c48",
"sha256": "15f41a35da8ee690bbfa0059fa241edeeaea73f89a2ba685b354ece07cd8ada6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.5.0"
"version": "4.6.0"
},
"dart_style": {
"dependency": "transitive",
@@ -464,11 +464,11 @@
"dependency": "direct main",
"description": {
"name": "dynamic_color",
"sha256": "eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d",
"sha256": "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.7.0"
"version": "1.8.1"
},
"equatable": {
"dependency": "direct main",
@@ -524,21 +524,21 @@
"dependency": "transitive",
"description": {
"name": "file_selector_android",
"sha256": "6bba3d590ee9462758879741abc132a19133600dd31832f55627442f1ebd7b54",
"sha256": "3015702ab73987000e7ff2df5ddc99666d2bcd65cdb243f59da35729d3be6cff",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1+14"
"version": "0.5.1+15"
},
"file_selector_ios": {
"dependency": "transitive",
"description": {
"name": "file_selector_ios",
"sha256": "94b98ad950b8d40d96fee8fa88640c2e4bd8afcdd4817993bd04e20310f45420",
"sha256": "fe9f52123af16bba4ad65bd7e03defbbb4b172a38a8e6aaa2a869a0c56a5f5fb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.3+1"
"version": "0.5.3+2"
},
"file_selector_linux": {
"dependency": "transitive",
@@ -554,11 +554,11 @@
"dependency": "transitive",
"description": {
"name": "file_selector_macos",
"sha256": "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711",
"sha256": "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.9.4+3"
"version": "0.9.4+4"
},
"file_selector_platform_interface": {
"dependency": "transitive",
@@ -672,11 +672,11 @@
"dependency": "transitive",
"description": {
"name": "flutter_plugin_android_lifecycle",
"sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
"sha256": "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.28"
"version": "2.0.29"
},
"flutter_secure_storage": {
"dependency": "direct main",
@@ -800,11 +800,11 @@
"dependency": "transitive",
"description": {
"name": "get_it",
"sha256": "e87cd1d108e472a0580348a543a0c49ed3d70c8a5c809c6d418583e595d0a389",
"sha256": "a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.1.0"
"version": "8.2.0"
},
"glob": {
"dependency": "transitive",
@@ -820,11 +820,11 @@
"dependency": "direct main",
"description": {
"name": "go_router",
"sha256": "c489908a54ce2131f1d1b7cc631af9c1a06fac5ca7c449e959192089f9489431",
"sha256": "8b1f37dfaf6e958c6b872322db06f946509433bec3de753c3491a42ae9ec2b48",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "16.0.0"
"version": "16.1.0"
},
"graphs": {
"dependency": "transitive",
@@ -840,11 +840,11 @@
"dependency": "direct main",
"description": {
"name": "http",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"sha256": "bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
"version": "1.5.0"
},
"http_multi_server": {
"dependency": "transitive",
@@ -1016,8 +1016,8 @@
"dependency": "direct main",
"description": {
"path": "packages/lw_file_system",
"ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"resolved-ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"ref": "3eb0c455dd56cfcde08a7c7efaba5adbc38dd976",
"resolved-ref": "3eb0c455dd56cfcde08a7c7efaba5adbc38dd976",
"url": "https://github.com/LinwoodDev/dart_pkgs.git"
},
"source": "git",
@@ -1110,11 +1110,11 @@
"dependency": "direct dev",
"description": {
"name": "msix",
"sha256": "bbb9b3ff4a9f8e7e7507b2a22dc0517fd1fe3db44e72de7ab052cb6b362406ee",
"sha256": "f88033fcb9e0dd8de5b18897cbebbd28ea30596810f4a7c86b12b0c03ace87e5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.16.10"
"version": "3.16.12"
},
"nested": {
"dependency": "transitive",
@@ -1213,21 +1213,21 @@
"dependency": "direct main",
"description": {
"name": "package_info_plus",
"sha256": "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191",
"sha256": "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.3.0"
"version": "8.3.1"
},
"package_info_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "package_info_plus_platform_interface",
"sha256": "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c",
"sha256": "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
"version": "3.2.1"
},
"path": {
"dependency": "transitive",
@@ -1273,11 +1273,11 @@
"dependency": "transitive",
"description": {
"name": "path_provider_foundation",
"sha256": "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942",
"sha256": "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.1"
"version": "2.4.2"
},
"path_provider_linux": {
"dependency": "transitive",
@@ -1575,21 +1575,21 @@
"dependency": "direct main",
"description": {
"name": "share_plus",
"sha256": "b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0",
"sha256": "d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "11.0.0"
"version": "11.1.0"
},
"share_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "share_plus_platform_interface",
"sha256": "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef",
"sha256": "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.0"
"version": "6.1.0"
},
"shared_preferences": {
"dependency": "direct main",
@@ -1605,11 +1605,11 @@
"dependency": "transitive",
"description": {
"name": "shared_preferences_android",
"sha256": "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac",
"sha256": "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.10"
"version": "2.4.11"
},
"shared_preferences_foundation": {
"dependency": "transitive",
@@ -1691,21 +1691,21 @@
"dependency": "transitive",
"description": {
"name": "source_gen",
"sha256": "fc787b1f89ceac9580c3616f899c9a447413cbdac1df071302127764c023a134",
"sha256": "7b19d6ba131c6eb98bfcbf8d56c1a7002eba438af2e7ae6f8398b2b0f4f381e3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
"version": "3.1.0"
},
"source_helper": {
"dependency": "transitive",
"description": {
"name": "source_helper",
"sha256": "4f81479fe5194a622cdd1713fe1ecb683a6e6c85cd8cec8e2e35ee5ab3fdf2a1",
"sha256": "a447acb083d3a5ef17f983dd36201aeea33fedadb3228fa831f2f0c92f0f3aca",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.6"
"version": "1.3.7"
},
"source_span": {
"dependency": "transitive",
@@ -1882,21 +1882,21 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_android",
"sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
"sha256": "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.16"
"version": "6.3.17"
},
"url_launcher_ios": {
"dependency": "transitive",
"description": {
"name": "url_launcher_ios",
"sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
"sha256": "d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.3"
"version": "6.3.4"
},
"url_launcher_linux": {
"dependency": "transitive",
@@ -1912,11 +1912,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_macos",
"sha256": "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2",
"sha256": "c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
"version": "3.2.3"
},
"url_launcher_platform_interface": {
"dependency": "transitive",
@@ -1982,11 +1982,11 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics_compiler",
"sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
"sha256": "ca81fdfaf62a5ab45d7296614aea108d2c7d0efca8393e96174bf4d51e6725b0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.17"
"version": "1.1.18"
},
"vector_math": {
"dependency": "transitive",
-4
View File
@@ -65,10 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "CATALYST_BUILD_TESTING" finalAttrs.finalPackage.doCheck)
];
postInstall = lib.optionalString pythonSupport ''
python -m compileall -s $out $out/${python3Packages.python.sitePackages}
'';
doCheck = true;
preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
+18 -47
View File
@@ -1,58 +1,28 @@
{
lib,
fetchPypi,
fetchpatch,
python3,
python3Packages,
}:
let
python = python3.override {
self = python;
packageOverrides = self: super: {
pychromecast = super.pychromecast.overridePythonAttrs (_: rec {
version = "13.1.0";
src = fetchPypi {
pname = "PyChromecast";
inherit version;
hash = "sha256-COYai1S9IRnTyasewBNtPYVjqpfgo7V4QViLm+YMJnY=";
};
postPatch = "";
});
};
};
in
python.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "catt";
version = "0.12.11";
format = "pyproject";
version = "0.13.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-0bqYYfWwF7yYoAbjZPhi/f4CLcL89imWGYaMi5Bwhtc=";
hash = "sha256-hlCB06l4nzafvcnBNCXWiJsJNmP8n731bQgq5xvUZvM=";
};
patches = [
(fetchpatch {
# set explicit build-system
url = "https://github.com/skorokithakis/catt/commit/08e7870a239e85badd30982556adc2aa8a8e4fc1.patch";
hash = "sha256-QH5uN3zQNVPP6Th2LHdDBF53WxwMhoyhhQUAZOeHh4k=";
})
build-system = [
python3Packages.poetry-core
];
nativeBuildInputs = with python.pkgs; [
poetry-core
];
propagatedBuildInputs = with python.pkgs; [
click
ifaddr
pychromecast
protobuf
requests
yt-dlp
dependencies = [
python3Packages.click
python3Packages.ifaddr
python3Packages.pychromecast
python3Packages.requests
python3Packages.yt-dlp
];
doCheck = false; # attempts to access various URLs
@@ -61,11 +31,12 @@ python.pkgs.buildPythonApplication rec {
"catt"
];
meta = with lib; {
description = "Tool to send media from online sources to Chromecast devices";
meta = {
description = "Send media from online sources to Chromecast devices";
homepage = "https://github.com/skorokithakis/catt";
license = licenses.bsd2;
maintainers = [ ];
changelog = "https://github.com/skorokithakis/catt/releases/tag/v${version}";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.RossSmyth ];
mainProgram = "catt";
};
}
+1
View File
@@ -37,6 +37,7 @@ python3Packages.buildPythonApplication rec {
pythonRelaxDeps = [
"numpy"
"pyqt6"
"pyzmq"
"vispy"
];
+6
View File
@@ -38,6 +38,12 @@ stdenv.mkDerivation {
]
++ lib.optional enableAvifSupport libavif;
preConfigure = ''
if [[ -f "$src/GIT_HASH" ]]; then
export GIT_HASH="$(cat $src/GIT_HASH)"
fi
'';
cmakeFlags = [
(lib.cmakeBool "BUILD_WITH_QT6" true)
(lib.cmakeBool "USE_SYSTEM_QTKEYCHAIN" true)
+6 -1
View File
@@ -18,8 +18,13 @@
owner = "Chatterino";
repo = "chatterino2";
tag = "v${finalAttrs.version}";
hash = "sha256-W2sqlqL6aa68aQ3nE161G64x7K7p8iByX03g1dseQbs=";
hash = "sha256-XV8WhdjdnVrOg0PVyIhGfxC4sJ62oH03KchvGr1c2w8=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
git -C $out rev-parse --short HEAD > $out/GIT_HASH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
passthru = {
+6 -1
View File
@@ -17,8 +17,13 @@
owner = "SevenTV";
repo = "chatterino7";
tag = "v${finalAttrs.version}";
hash = "sha256-KrAr3DcQDjb+LP+vIf0qLSSgII0m5rNwhncLNHlLaC8=";
hash = "sha256-tft0+vcE+LGPrlv4ZBgzmeF66Jf66iTjUr0pdF1vx24=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
git -C $out rev-parse --short HEAD > $out/GIT_HASH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
passthru.updateScript = gitUpdater {
+3 -3
View File
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication {
pname = "chirp";
version = "0.4.0-unstable-2025-08-19";
version = "0.4.0-unstable-2025-08-31";
pyproject = true;
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
rev = "0705a4c61e11f952ef1bcdb282f22a74dc72782f";
hash = "sha256-gUiSuulthiEC94SuXfGzuDDrf2dYTsJLsAjtjAsTIPY=";
rev = "906d7ec8b2e09f53710e1ef9616d58f8270841e2";
hash = "sha256-lsB8m9qn+pJp8tBekOo2DnQQrjF5P+NizdWaj0HaYPU=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "cloudmonkey";
version = "6.4.0";
version = "6.5.0";
src = fetchFromGitHub {
owner = "apache";
repo = "cloudstack-cloudmonkey";
rev = version;
sha256 = "sha256-mkEGOZw7GDIFnYUpgvCetA4dU9R1m4q6MOUDG0TWN64=";
sha256 = "sha256-CdqKaKUVqeAujrWh7u0npZ6ON/nmL/8uIBIljAPPUv0=";
};
vendorHash = null;
+8 -5
View File
@@ -25,7 +25,7 @@
sphinx,
sqlite,
systemd,
testers,
versionCheckHook,
toml11,
zchunk,
nix-update-script,
@@ -115,10 +115,13 @@ stdenv.mkDerivation (finalAttrs: {
dontFixCmake = true;
passthru = {
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
updateScript = nix-update-script { };
};
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
preVersionCheck = ''
export HOME=$(mktemp -d)
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Next-generation RPM package management system";
+10 -2
View File
@@ -6,21 +6,29 @@
python3.pkgs.buildPythonApplication rec {
pname = "dnsrecon";
version = "1.4.0";
version = "1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "darkoperator";
repo = "dnsrecon";
tag = version;
hash = "sha256-uBb19JNlbevwqFSNzLzUmmDw063Hl7RPbu453tYZ3Gc=";
hash = "sha256-RX7A/vF19wTcvm+kP4ynarzGY+pUIj84zQJIM3tO/2M=";
};
pythonRelaxDeps = true;
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
dnspython
loguru
httpx
fastapi
uvicorn
slowapi
stamina
ujson
lxml
netaddr
requests
+40
View File
@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitLab,
libsForQt5,
}:
stdenv.mkDerivation {
pname = "dsremote";
version = "0-unstable-2025-07-07";
src = fetchFromGitLab {
owner = "Teuniz";
repo = "DSRemote";
rev = "b290debcfecd4fecf2069fb958bd43fe9e5ce5e1";
hash = "sha256-7a13T8MwIFDhrXe7xqB84D6MwfTYs1gJj6VWs4JbzEM=";
};
nativeBuildInputs = [
libsForQt5.qmake
libsForQt5.qt5.wrapQtAppsHook
libsForQt5.qt5.qtbase
];
hardeningDisable = [ "fortify" ];
postPatch = ''
substituteInPlace dsremote.pro \
--replace-fail "/usr/" "$out/" \
--replace-fail "/etc/" "$out/etc/"
'';
meta = {
description = "Rigol DS1000Z remote control and waveform viewer";
homepage = "https://www.teuniz.net/DSRemote";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ mksafavi ];
mainProgram = "dsremote";
};
}
+7 -2
View File
@@ -26,8 +26,13 @@ stdenv.mkDerivation {
substituteInPlace test.ecm --replace /bin/rm rm
'';
# See https://trac.sagemath.org/ticket/19233
configureFlags = lib.optional stdenv.hostPlatform.isDarwin "--disable-asm-redc";
configureFlags = [
# Otherwise, undesired flags from gmp (such as -std=c99) are leaking
"-enable-gmp-cflags=false"
]
++
# See https://trac.sagemath.org/ticket/19233
lib.optional stdenv.hostPlatform.isDarwin "--disable-asm-redc";
buildInputs = [
m4
+47
View File
@@ -0,0 +1,47 @@
{
lib,
buildGoModule,
fetchFromGitHub,
sqlcipher,
pkg-config,
nix-update-script,
}:
buildGoModule rec {
pname = "enpass-cli";
version = "1.6.5";
src = fetchFromGitHub {
owner = "HazCod";
repo = "enpass-cli";
tag = "v${version}";
hash = "sha256-13AhK0qDDANEgicggy1Sdlmo5b0Vlf2sEDzJerhUvG8=";
};
vendorHash = "sha256-7K7gdMjJ4cfv6xmuI73U+oW9JlmdN6wGg8vMcD/YThQ=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
sqlcipher
];
env.CGO_ENABLED = "1";
postInstall = ''
mv $out/bin/enpasscli $out/bin/enpass-cli
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Command line client for Enpass password manager";
mainProgram = "enpass-cli";
homepage = "https://github.com/HazCod/enpass-cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ deej-io ];
platforms = lib.platforms.unix;
};
}
+16 -2
View File
@@ -1,12 +1,26 @@
load("@bazel_tools//tools/sh:sh_toolchain.bzl", "sh_toolchain")
load("@rules_rust//rust:toolchain.bzl", "rust_toolchain")
load("@rules_rust//rust:defs.bzl", "rust_stdlib_filegroup")
toolchains = {
"x86_64": "x86_64-unknown-linux-gnu",
"aarch64": "aarch64-unknown-linux-gnu",
}
exports_files(["cargo", "rustdoc", "ruststd", "rustc"])
exports_files(["cargo", "rustdoc", "rustc"])
[
rust_stdlib_filegroup(
name = "rust_nix_" + k + "_stdlib",
srcs = glob(
[
"rustcroot/lib/rustlib/" + v + "/lib/**",
],
allow_empty=True,
),
)
for k, v in toolchains.items()
]
[
rust_toolchain(
@@ -16,7 +30,7 @@ exports_files(["cargo", "rustdoc", "ruststd", "rustc"])
exec_triple = v,
cargo = ":cargo",
rust_doc = ":rustdoc",
rust_std = ":ruststd",
rust_std = ":rust_nix_" + k + "_stdlib",
rustc = ":rustc",
stdlib_linkflags = ["-ldl", "-lpthread"],
staticlib_ext = ".a",
+19 -9
View File
@@ -23,9 +23,14 @@
gnutar,
gnugrep,
envoy,
git,
# v8 (upstream default), wavm, wamr, wasmtime, disabled
wasmRuntime ? "wamr",
wasmRuntime ? "wasmtime",
# Allows overriding the deps hash used for building - you will likely need to
# set this if you have changed the 'wasmRuntime' setting.
depsHash ? null,
}:
let
@@ -40,12 +45,15 @@ let
};
# these need to be updated for any changes to fetchAttrs
depsHash =
{
x86_64-linux = "sha256-E6yUSd00ngmjaMds+9UVZLtcYhzeS8F9eSIkC1mZSps=";
aarch64-linux = "sha256-ivboOrV/uORKVHRL3685aopcElGvzsxgVcUmYsBwzXY=";
}
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
depsHash' =
if depsHash != null then
depsHash
else
{
x86_64-linux = "sha256-t4Xv4UGYW5YU0kmv+1rdf2JvM1BYQyNWdtpz6Cdmxm4=";
aarch64-linux = "sha256-aIBnNGzc0hTdlTgRyJ7eLnWvHqZ5ywhqOM+mHfH3/18=";
}
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
python3 = python312;
@@ -94,7 +102,7 @@ buildBazelPackage rec {
ln -sf "${cargo}/bin/cargo" bazel/nix/cargo
ln -sf "${rustc}/bin/rustc" bazel/nix/rustc
ln -sf "${rustc}/bin/rustdoc" bazel/nix/rustdoc
ln -sf "${rustPlatform.rustLibSrc}" bazel/nix/ruststd
ln -sf "${rustc.unwrapped}" bazel/nix/rustcroot
substituteInPlace bazel/dependency_imports.bzl \
--replace-fail 'crate_universe_dependencies()' 'crate_universe_dependencies(rust_toolchain_cargo_template="@@//bazel/nix:cargo", rust_toolchain_rustc_template="@@//bazel/nix:rustc")' \
--replace-fail 'crates_repository(' 'crates_repository(rust_toolchain_cargo_template="@@//bazel/nix:cargo", rust_toolchain_rustc_template="@@//bazel/nix:rustc",'
@@ -120,12 +128,13 @@ buildBazelPackage rec {
ninja
patchelf
cacert
git
];
buildInputs = [ linuxHeaders ];
fetchAttrs = {
sha256 = depsHash;
sha256 = depsHash';
env.CARGO_BAZEL_REPIN = true;
dontUseCmakeConfigure = true;
dontUseGnConfigure = true;
@@ -239,6 +248,7 @@ buildBazelPackage rec {
"--linkopt=-Wl,-z,noexecstack"
"--config=gcc"
"--verbose_failures"
"--incompatible_enable_cc_toolchain_resolution=true"
# Force use of system Java.
"--extra_toolchains=@local_jdk//:all"
+3 -3
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "fzf-git-sh";
version = "0-unstable-2025-07-10";
version = "0-unstable-2025-08-31";
src = fetchFromGitHub {
owner = "junegunn";
repo = "fzf-git.sh";
rev = "79e10ccaa8b3bddff95cd1dcb44b0c30a39da71f";
hash = "sha256-5+rV3l1Jdy28IxGLMdmj0heLxmmpRwwobyg9sjdBRco=";
rev = "2eef6bf288bf19a6402784a63336f06f87d9a584";
hash = "sha256-r3b05erlNGw3GQq/nMPqTHRroGEFmhufpiXqaIhQGTA=";
};
dontBuild = true;
+13 -5
View File
@@ -1,10 +1,11 @@
{
lib,
stdenv,
coreutils,
fetchFromGitHub,
nix-update-script,
python3Packages,
stdenv,
# nativeCheckInputs
debian-devscripts,
@@ -16,14 +17,14 @@
python3Packages.buildPythonApplication rec {
pname = "git-buildpackage";
version = "0.9.37";
version = "0.9.38";
pyproject = true;
src = fetchFromGitHub {
owner = "agx";
repo = "git-buildpackage";
tag = "debian/${version}";
hash = "sha256-0gfryd1GrVfL11u/IrtLSJAABRsTpFfPOGxWfVdYtgE=";
hash = "sha256-dZ/uJLcDPkpwIz+Y6WInJ4XlSJ5zzDY65li/xghsJTQ=";
fetchSubmodules = true;
};
@@ -39,6 +40,8 @@ python3Packages.buildPythonApplication rec {
dependencies = with python3Packages; [
python-dateutil
pyyaml
rpm
];
pythonImportsCheck = [
@@ -56,8 +59,6 @@ python3Packages.buildPythonApplication rec {
coverage
pytest-cov
pytestCheckHook
pyyaml
rpm
]);
disabledTests = [
@@ -77,6 +78,13 @@ python3Packages.buildPythonApplication rec {
"tests.doctests.test_GitRepository.test_create_noperm"
];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"debian/(.*)"
];
};
meta = {
description = "Suite to help with maintaining Debian packages in Git repositories";
homepage = "https://honk.sigxcpu.org/piki/projects/git-buildpackage/";
+9 -5
View File
@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
buildGoModule,
nix-update-script,
}:
let
@@ -9,13 +10,13 @@ let
in
buildGoModule rec {
pname = "git-get";
version = "0.5.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "grdl";
repo = "git-get";
tag = "v${version}";
hash = "sha256-v98Ff7io7j1LLzciHNWJBU3LcdSr+lhwYrvON7QjyCI=";
hash = "sha256-xnmFqNIabiTyf9ZPKlm5S42rfFUXnTp/jLDDY51eoMw=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -27,7 +28,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-C+XOjMDMFneKJNeBh0KWPx8yM7XiiIpTlc2daSfhZhY=";
vendorHash = "sha256-8DLS1pSyh1OgnULMvAppl/+D2yfyi/dcZs08S1IMzaE=";
doCheck = false;
@@ -44,14 +45,17 @@ buildGoModule rec {
];
preInstall = ''
mv "$GOPATH/bin/get" "$GOPATH/bin/git-get"
mv "$GOPATH/bin/list" "$GOPATH/bin/git-list"
mv "$GOPATH/bin/cmd" "$GOPATH/bin/git-get"
ln -s ./git-get "$GOPATH/bin/git-list"
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Better way to clone, organize and manage multiple git repositories";
homepage = "https://github.com/grdl/git-get";
license = licenses.mit;
maintainers = with maintainers; [ sumnerevans ];
mainProgram = "git-get";
};
}
+5 -5
View File
@@ -1,24 +1,24 @@
{
lib,
buildGo124Module,
buildGo125Module,
fetchFromGitHub,
installShellFiles,
nixosTests,
scdoc,
}:
buildGo124Module rec {
buildGo125Module rec {
pname = "go-camo";
version = "2.6.4";
version = "2.6.5";
src = fetchFromGitHub {
owner = "cactus";
repo = "go-camo";
tag = "v${version}";
hash = "sha256-BdKIfDDN6GXc53SFDkJ8Dui5rrm27blA+EEOS/oAanE=";
hash = "sha256-+EHJIohHSWg12Tmn6hu1XUSVRyYWu3aFI7MF7+PnfFg=";
};
vendorHash = "sha256-0DkIbD+9gIbARqvmudRavwcWVLADGKwEYMMX6a5Qoq4=";
vendorHash = "sha256-rKdBAu0tNsxw7I66qjZhtrA2hs1qpBtOSuzq34paziw=";
nativeBuildInputs = [
installShellFiles
+7 -4
View File
@@ -16,17 +16,18 @@
let
pname = "gui-for-clash";
version = "1.9.8";
version = "1.9.10";
src = fetchFromGitHub {
owner = "GUI-for-Cores";
repo = "GUI.for.Clash";
tag = "v${version}";
hash = "sha256-YwolOIN4pQ9ykXruKAetUDMFkNnQppkzioDNlrPefL8=";
hash = "sha256-odASuy0zaXf6vvd5CRVtuuVIX1EgEO7GsMgXWUR+fxk=";
};
metaCommon = {
homepage = "https://github.com/GUI-for-Cores/GUI.for.Clash";
hydraPlatforms = [ ]; # https://gui-for-cores.github.io/guide/#note
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ ];
};
@@ -49,7 +50,7 @@ let
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-iVD/9uTK3cUzKE20pJk67uk53UCtfj/YCpgwgxmmg8k=";
hash = "sha256-AuBUneWOR9oCuj811iCB3l5dlpeKhxt6KrF7KDs27a0=";
};
buildPhase = ''
@@ -85,7 +86,7 @@ buildGoModule {
--subst-var out
'';
vendorHash = "sha256-7pFjfUFkpXyYEVjiXbfFUC7FQSlZubKJJ5MI8WY0IVA=";
vendorHash = "sha256-UArCB5U2bF5HXFDU1oCfm+SaURe6e9gyCx+UjtWI/ug=";
nativeBuildInputs = [
autoPatchelfHook
@@ -133,6 +134,8 @@ buildGoModule {
inherit frontend;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v([0-9.]+)$"
"--subpackage"
"frontend"
];
+7 -4
View File
@@ -16,17 +16,18 @@
let
pname = "gui-for-singbox";
version = "1.9.8";
version = "1.9.9";
src = fetchFromGitHub {
owner = "GUI-for-Cores";
repo = "GUI.for.SingBox";
tag = "v${version}";
hash = "sha256-9Vai/C9cJgqM3n+FzFPXismR5vF6eQNJHdI7o47zinI=";
hash = "sha256-6Y0eEJmPBp+J1r6LCxYEM6i3fdCYSo4LrimpqwOCVT8=";
};
metaCommon = {
homepage = "https://github.com/GUI-for-Cores/GUI.for.SingBox";
hydraPlatforms = [ ]; # https://gui-for-cores.github.io/guide/#note
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ ];
};
@@ -49,7 +50,7 @@ let
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-iVD/9uTK3cUzKE20pJk67uk53UCtfj/YCpgwgxmmg8k=";
hash = "sha256-kSIPkXD0Wxe8TaKDd4DUAL7pkQeU8xyLY9K3lFSAODI=";
};
buildPhase = ''
@@ -86,7 +87,7 @@ buildGoModule {
--subst-var out
'';
vendorHash = "sha256-7pFjfUFkpXyYEVjiXbfFUC7FQSlZubKJJ5MI8WY0IVA=";
vendorHash = "sha256-UArCB5U2bF5HXFDU1oCfm+SaURe6e9gyCx+UjtWI/ug=";
nativeBuildInputs = [
autoPatchelfHook
@@ -134,6 +135,8 @@ buildGoModule {
inherit frontend;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v([0-9.]+)$"
"--subpackage"
"frontend"
];
+4 -4
View File
@@ -8,22 +8,22 @@
let
pname = "hoppscotch";
version = "25.7.1-0";
version = "25.8.0-0";
src =
fetchurl
{
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-Qr7xv3XyneA9RzvO7MqtblBF+oO4auYi5DX/F0n/I0c=";
hash = "sha256-MaQiJOnLvrmv5D97emF7P7gOn3WiAu0Uz7eX8q9G7co=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-/5++4ifR2xcCmU7jg+qm4zsi8swSXTbU7Hdz80p+UCM=";
hash = "sha256-qHAxSwEL2BvDB5ynCIYrP0+uNn+MRIL3IvZxC94ktgA=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-EToScp/zKv4KAuVPJmhKmBtx3WeM+CH38jXinhnT0tE=";
hash = "sha256-0bENzqKjPPEoCb+4QEfdbHXKfrvaC72mFVdPb0G8+Uk=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+35 -9
View File
@@ -1,26 +1,52 @@
{
lib,
immich,
buildNpmPackage,
jq,
nodejs,
makeWrapper,
stdenv,
}:
buildNpmPackage {
let
inherit (immich) pnpm;
in
stdenv.mkDerivation rec {
pname = "immich-cli";
src = "${immich.src}/cli";
inherit (immich.sources.components.cli) version npmDepsHash;
version = "2.2.86";
inherit (immich) src pnpmDeps;
nativeBuildInputs = [ makeWrapper ];
postPatch = ''
local -r cli_version="$(jq -r .version cli/package.json)"
test "$cli_version" = ${version} \
|| (echo "error: update immich-cli version to $cli_version" && exit 1)
'';
inherit (immich.web) preBuild;
nativeBuildInputs = [
jq
makeWrapper
nodejs
pnpm
pnpm.configHook
];
buildPhase = ''
runHook preBuild
pnpm --filter @immich/sdk build
pnpm --filter @immich/cli build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
mv package.json package-lock.json node_modules dist $out/
local -r packageOut="$out/lib/node_modules/@immich/cli"
makeWrapper ${lib.getExe nodejs} $out/bin/immich --add-flags $out/dist/index.js
pnpm --filter @immich/cli deploy --prod --no-optional "$packageOut"
makeWrapper '${lib.getExe nodejs}' "$out/bin/immich" \
--add-flags "$packageOut/dist/index.js"
runHook postInstall
'';
+69 -94
View File
@@ -1,8 +1,8 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
pnpm_10,
python3,
nodejs,
node-gyp,
@@ -10,7 +10,6 @@
nixosTests,
immich-machine-learning,
# build-time deps
glib,
pkg-config,
makeWrapper,
curl,
@@ -32,12 +31,10 @@
pixman,
vips,
buildPackages,
sourcesJSON ? ./sources.json,
}:
let
buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };
sources = lib.importJSON sourcesJSON;
inherit (sources) version;
pnpm = pnpm_10;
version = "1.140.1";
esbuild' = buildPackages.esbuild.override {
buildGoModule =
@@ -77,14 +74,14 @@ let
# The geodata website is not versioned, so we use the internet archive
geodata =
let
inherit (sources.components.geonames) timestamp;
timestamp = "20250818205425";
date =
"${lib.substring 0 4 timestamp}-${lib.substring 4 2 timestamp}-${lib.substring 6 2 timestamp}T"
+ "${lib.substring 8 2 timestamp}:${lib.substring 10 2 timestamp}:${lib.substring 12 2 timestamp}Z";
in
runCommand "immich-geodata"
{
outputHash = sources.components.geonames.hash;
outputHash = "sha256-zZHAomW1C4qReFbhme5dkVnTiLw+jmhZhzuYvoBVBCY=";
outputHashMode = "recursive";
nativeBuildInputs = [
cacert
@@ -111,69 +108,39 @@ let
owner = "immich-app";
repo = "immich";
tag = "v${version}";
inherit (sources) hash;
hash = "sha256-Bo9wFP0u39aoaNjc8K4Im3HRGZR/TLrDB7+UDAhV1xA=";
};
openapi = buildNpmPackage' {
pname = "immich-openapi-sdk";
inherit version;
src = "${src}/open-api/typescript-sdk";
inherit (sources.components."open-api/typescript-sdk") npmDepsHash;
installPhase = ''
runHook preInstall
npm config delete cache
npm prune --omit=dev --omit=optional
mkdir -p $out
mv package.json package-lock.json node_modules build $out/
runHook postInstall
'';
};
web = buildNpmPackage' {
pname = "immich-web";
pnpmDeps = pnpm.fetchDeps {
pname = "immich";
inherit version src;
sourceRoot = "${src.name}/web";
inherit (sources.components.web) npmDepsHash;
fetcherVersion = 2;
hash = "sha256-DIcUKuU+ToRh/kSLcs4ZEHy7zhFir2nlbRx+/kMagrA=";
};
# prePatch is needed because npmConfigHook is a postPatch
prePatch = ''
# some part of the build wants to use un-prefixed binaries. let them.
mkdir -p $TMP/bin
ln -s "$(type -p ${stdenv.cc.targetPrefix}pkg-config)" $TMP/bin/pkg-config || true
ln -s "$(type -p ${stdenv.cc.targetPrefix}c++filt)" $TMP/bin/c++filt || true
ln -s "$(type -p ${stdenv.cc.targetPrefix}readelf)" $TMP/bin/readelf || true
export PATH="$TMP/bin:$PATH"
'';
preBuild = ''
rm node_modules/@immich/sdk
ln -s ${openapi} node_modules/@immich/sdk
'';
env.npm_config_build_from_source = "true";
web = stdenv.mkDerivation {
pname = "immich-web";
inherit version src pnpmDeps;
nativeBuildInputs = [
pkg-config
nodejs
pnpm
pnpm.configHook
];
buildInputs = [
# https://github.com/Automattic/node-canvas/blob/master/Readme.md#compiling
cairo
giflib
libjpeg
libpng
librsvg
pango
pixman
];
buildPhase = ''
runHook preBuild
pnpm --filter @immich/sdk build
pnpm --filter immich-web build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cd web
cp -r build $out
runHook postInstall
@@ -184,32 +151,24 @@ let
mesonFlags = prev.mesonFlags ++ [ "-Dtiff=disabled" ];
});
in
buildNpmPackage' {
stdenv.mkDerivation {
pname = "immich";
inherit version;
src = "${src}/server";
inherit (sources.components.server) npmDepsHash;
inherit version src pnpmDeps;
# prePatch is needed because npmConfigHook is a postPatch
prePatch = ''
postPatch = ''
# pg_dumpall fails without database root access
# see https://github.com/immich-app/immich/issues/13971
substituteInPlace src/services/backup.service.ts \
substituteInPlace server/src/services/backup.service.ts \
--replace-fail '`/usr/lib/postgresql/''${databaseMajorVersion}/bin/pg_dumpall`' '`pg_dump`'
# some part of the build wants to use un-prefixed binaries. let them.
mkdir -p $TMP/bin
ln -s "$(type -p ${stdenv.cc.targetPrefix}pkg-config)" $TMP/bin/pkg-config || true
ln -s "$(type -p ${stdenv.cc.targetPrefix}c++filt)" $TMP/bin/c++filt || true
ln -s "$(type -p ${stdenv.cc.targetPrefix}readelf)" $TMP/bin/readelf || true
export PATH="$TMP/bin:$PATH"
'';
nativeBuildInputs = [
nodejs
pkg-config
pnpm_10
pnpm_10.configHook
python3
makeWrapper
glib
node-gyp # for building node_modules/sharp from source
];
@@ -230,43 +189,60 @@ buildNpmPackage' {
vips'
];
# Required because vips tries to write to the cache dir
makeCacheWritable = true;
env.SHARP_FORCE_GLOBAL_LIBVIPS = 1;
env.ESBUILD_BINARY_PATH = lib.getExe esbuild';
# fix for node-gyp, see https://github.com/nodejs/node-gyp/issues/1191#issuecomment-301243919
env.npm_config_nodedir = nodejs;
buildPhase = ''
runHook preBuild
preBuild = ''
# If exiftool-vendored.pl isn't found, exiftool is searched for on the PATH
rm -r node_modules/exiftool-vendored.*
rm node_modules/.pnpm/node_modules/exiftool-vendored.pl
pnpm --filter immich build
runHook postBuild
'';
installPhase = ''
runHook preInstall
npm config delete cache
npm prune --omit=dev
local -r packageOut="$out/lib/node_modules/immich"
# install node_modules and built files in $out
# upstream uses pnpm deploy to build their docker images
pnpm --filter immich deploy --prod --no-optional "$packageOut"
# remove build artifacts that bloat the closure
rm -r node_modules/**/{*.target.mk,binding.Makefile,config.gypi,Makefile,Release/.deps}
find "$packageOut/node_modules" \( \
-name config.gypi \
-o -name .deps \
-o -name '*Makefile' \
-o -name '*.target.mk' \
\) -exec rm -r {} +
mkdir -p $out/build
mv package.json package-lock.json node_modules dist resources $out/
ln -s ${web} $out/build/www
ln -s ${geodata} $out/build/geodata
mkdir -p "$packageOut/build"
ln -s '${web}' "$packageOut/build/www"
ln -s '${geodata}' "$packageOut/build/geodata"
echo '${builtins.toJSON buildLock}' > $out/build/build-lock.json
echo '${builtins.toJSON buildLock}' > "$packageOut/build/build-lock.json"
makeWrapper ${lib.getExe nodejs} $out/bin/admin-cli --add-flags $out/dist/main --add-flags cli
makeWrapper ${lib.getExe nodejs} $out/bin/server --add-flags $out/dist/main --chdir $out \
--set IMMICH_BUILD_DATA $out/build --set NODE_ENV production \
--suffix PATH : "${
makeWrapper '${lib.getExe nodejs}' "$out/bin/admin-cli" \
--add-flags "$packageOut/dist/main" \
--add-flags cli
makeWrapper '${lib.getExe nodejs}' "$out/bin/server" \
--add-flags "$packageOut/dist/main" \
--chdir "$packageOut" \
--set IMMICH_BUILD_DATA "$packageOut/build" \
--set NODE_ENV production \
--suffix PATH : '${
lib.makeBinPath [
exiftool
jellyfin-ffmpeg
perl # exiftool-vendored checks for Perl even if exiftool comes from $PATH
]
}"
}'
runHook postInstall
'';
@@ -280,11 +256,10 @@ buildNpmPackage' {
inherit
src
sources
web
geodata
pnpm
;
updateScript = ./update.sh;
};
meta = {
-26
View File
@@ -1,26 +0,0 @@
{
"version": "1.138.1",
"hash": "sha256-oaZN0kF82mS25bDSTXRjYnWG9RAMSbCUhXn9t0am96U=",
"components": {
"cli": {
"npmDepsHash": "sha256-6k83QOdKh+FlVnYvA9j60115oohUMDc2YvGaj/GMukE=",
"version": "2.2.79"
},
"server": {
"npmDepsHash": "sha256-4sqWIIGQ8ZW7TvJoNjNNliriuV6Su0askAN6pAq9VFc=",
"version": "1.138.1"
},
"web": {
"npmDepsHash": "sha256-+W8cDgy3qe6RDen8SEdHPNADkKb4zZH8C/Am/bdU42c=",
"version": "1.138.1"
},
"open-api/typescript-sdk": {
"npmDepsHash": "sha256-GfmFPsnFu7l4EsnPDv4nj5KLkOz8nEJvMT1BE7zIQ3k=",
"version": "1.138.1"
},
"geonames": {
"timestamp": "20250818205425",
"hash": "sha256-zZHAomW1C4qReFbhme5dkVnTiLw+jmhZhzuYvoBVBCY="
}
}
}
-62
View File
@@ -1,62 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq prefetch-npm-deps nix-prefetch-github coreutils ripgrep
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
old_version=$(jq -r ".version" sources.json || echo -n "0.0.1")
version=$(curl -s "https://api.github.com/repos/immich-app/immich/releases/latest" | jq -r ".tag_name")
version="${version#v}"
echo "Updating to $version"
if [[ "$old_version" == "$version" ]]; then
echo "Already up to date!"
exit 0
fi
echo "Fetching src"
src_hash=$(nix-prefetch-github immich-app immich --rev "v${version}" | jq -r .hash)
upstream_src="https://raw.githubusercontent.com/immich-app/immich/v$version"
sources_tmp="$(mktemp)"
cat <<EOF > "$sources_tmp"
{
"version": "$version",
"hash": "$src_hash",
"components": {}
}
EOF
lock=$(mktemp)
for npm_component in cli server web "open-api/typescript-sdk"; do
echo "fetching $npm_component"
curl -s -o "$lock" "$upstream_src/$npm_component/package-lock.json"
hash=$(prefetch-npm-deps "$lock")
echo "$(jq --arg npm_component "$npm_component" \
--arg hash "$hash" \
--arg version "$(jq -r '.version' <"$lock")" \
'.components += {($npm_component): {npmDepsHash: $hash, version: $version}}' \
"$sources_tmp")" > "$sources_tmp"
done
rm "$lock"
url="http://download.geonames.org/export/dump"
curl -s "http://web.archive.org/save/$url/cities500.zip"
curl -s "http://web.archive.org/save/$url/admin1CodesASCII.txt"
curl -s "http://web.archive.org/save/$url/admin1Codes.txt"
timestamp=$(curl -s \
"http://archive.org/wayback/available?url=$url/cities500.zip" \
| jq -r ".archived_snapshots.closest.timestamp")
echo "$(jq --arg timestamp "$timestamp" --arg hash "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" \
'.components += {geonames: {timestamp: $timestamp, hash: $hash}}' \
"$sources_tmp")" > "$sources_tmp"
cp "$sources_tmp" sources.json
set +o pipefail
output="$(nix-build ../../../.. -A immich.geodata 2>&1 || true)"
set -o pipefail
hash=$(echo "$output" | rg 'got:\s+(sha256-.*)$' -or '$1')
echo "$(jq --arg hash "$hash" '.components.geonames.hash = $hash' "$sources_tmp")" > "$sources_tmp"
mv "$sources_tmp" sources.json
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "jql";
version = "8.0.7";
version = "8.0.8";
src = fetchFromGitHub {
owner = "yamafaktory";
repo = "jql";
rev = "jql-v${version}";
hash = "sha256-OBv7uScgFnLhkeQ2dKey+QYUvX4y/iLFjfCUJeqhXBs=";
hash = "sha256-VujhFNC0nHFRZ5t/X6ZdEp5xpeMwEr0vPrpN9g/9c1U=";
};
cargoHash = "sha256-AAdYjlPpyhxKQ8mXdLBdivMp8G91Ho5ntS73HC8wMfQ=";
cargoHash = "sha256-wkVHzFzQU9O2LAUmR6EYiCeFg29TxJVXJ2COJBB8BZw=";
meta = with lib; {
description = "JSON Query Language CLI tool built with Rust";
+4 -1
View File
@@ -30,7 +30,10 @@ python3.pkgs.buildPythonApplication rec {
copyDesktopItems
];
buildInputs = [ qt6.qtbase ];
buildInputs = [
qt6.qtbase
qt6.qtwayland
];
build-system = with python3.pkgs; [ setuptools ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "kine";
version = "0.13.18";
version = "0.13.19";
src = fetchFromGitHub {
owner = "k3s-io";
repo = "kine";
rev = "v${version}";
hash = "sha256-zgazHJtGzEbsgB3Sr9gBuAov2TXqbWNAuoHiIGngjMI=";
hash = "sha256-UL1HhN5qWgtzltY4eAU9SlnK80tKUHBORMFHunDCi+Q=";
};
vendorHash = "sha256-XJmy61YrtHmQj0rT7+WpF+yPus/fVBy1hCE9aJYS41I=";
vendorHash = "sha256-1Dwu1b6y1ibGt7w6Iu3lKWItwVn9H/TQFbTL2z2rVoc=";
ldflags = [
"-s"
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "kubectl-ai";
version = "0.0.22";
version = "0.0.23";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = "kubectl-ai";
tag = "v${finalAttrs.version}";
hash = "sha256-sU8CATzhp0seUJNYjvxFkRoA/Xqb57kZqGpEOCxypUA=";
hash = "sha256-rQJHgBBMTDIa2CrWlxLubZ446PqFz5ejiFyrYRb3jec=";
};
vendorHash = "sha256-OJnpd8z4e6ytoUi5ydFHYPMA77ryU7Tp8wriuab7yuk=";
vendorHash = "sha256-fvkaVdQlDT+95UTaN/zCIX8924MDoKam49U8lbq6yLs=";
# Build the main command
subPackages = [ "cmd" ];
+30 -17
View File
@@ -14,21 +14,31 @@
libkrunfw,
rustc,
withBlk ? false,
withNet ? false,
withGpu ? false,
withSound ? false,
withNet ? false,
sevVariant ? false,
withTimesync ? false,
variant ? null,
}:
assert lib.elem variant [
null
"sev"
"tdx"
];
let
libkrunfw' = (libkrunfw.override { inherit variant; });
in
stdenv.mkDerivation (finalAttrs: {
pname = "libkrun";
version = "1.11.2";
pname = "libkrun" + lib.optionalString (variant != null) "-${variant}";
version = "1.15.1";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrun";
tag = "v${finalAttrs.version}";
hash = "sha256-B11f7uG/oODwkME2rauCFbVysxUtUrUmd6RKeuBdnUU=";
hash = "sha256-VhlFyYJ/TH12I3dUq0JTus60rQEJq5H4Pm1puCnJV5A=";
};
outputs = [
@@ -38,15 +48,14 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-bcHy8AfO9nzSZKoFlEpPKvwupt3eMb+A2rHDaUzO3/U=";
hash = "sha256-dK3V7HCCvTqmQhB5Op2zmBPa9FO3h9gednU9tpQk+1U=";
};
# Make sure libkrunfw can be found by dlopen()
# FIXME: This wasn't needed previously. What changed?
env.RUSTFLAGS = toString (
map (flag: "-C link-arg=" + flag) [
"-Wl,--push-state,--no-as-needed"
(if sevVariant then "-lkrunfw-sev" else "-lkrunfw")
("-lkrunfw" + lib.optionalString (variant != null) "-${variant}")
"-Wl,--pop-state"
]
);
@@ -57,10 +66,10 @@ stdenv.mkDerivation (finalAttrs: {
cargo
rustc
]
++ lib.optional (sevVariant || withGpu) pkg-config;
++ lib.optional (variant == "sev" || variant == "tdx" || withGpu) pkg-config;
buildInputs = [
(libkrunfw.override { inherit sevVariant; })
libkrunfw'
glibc
glibc.static
]
@@ -70,16 +79,18 @@ stdenv.mkDerivation (finalAttrs: {
virglrenderer
]
++ lib.optional withSound pipewire
++ lib.optional sevVariant openssl;
++ lib.optional (variant == "sev" || variant == "tdx") openssl;
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optional withBlk "BLK=1"
++ lib.optional withNet "NET=1"
++ lib.optional withGpu "GPU=1"
++ lib.optional withSound "SND=1"
++ lib.optional withNet "NET=1"
++ lib.optional sevVariant "SEV=1";
++ lib.optional withTimesync "TIMESYNC=1"
++ lib.optional (variant == "sev") "SEV=1"
++ lib.optional (variant == "tdx") "TDX=1";
postInstall = ''
mkdir -p $dev/lib/pkgconfig
@@ -87,15 +98,17 @@ stdenv.mkDerivation (finalAttrs: {
mv $out/include $dev/
'';
meta = with lib; {
env.OPENSSL_NO_VENDOR = true;
meta = {
description = "Dynamic library providing Virtualization-based process isolation capabilities";
homepage = "https://github.com/containers/libkrun";
license = licenses.asl20;
maintainers = with maintainers; [
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
nickcao
RossComputerGuy
nrabulinski
];
platforms = libkrunfw.meta.platforms;
platforms = libkrunfw'.meta.platforms;
};
})
+20 -11
View File
@@ -10,23 +10,29 @@
perl,
elfutils,
python3,
sevVariant ? false,
variant ? null,
}:
assert lib.elem variant [
null
"sev"
"tdx"
];
stdenv.mkDerivation (finalAttrs: {
pname = "libkrunfw";
version = "4.9.0";
pname = "libkrunfw" + lib.optionalString (variant != null) "-${variant}";
version = "4.10.0";
src = fetchFromGitHub {
owner = "containers";
repo = "libkrunfw";
tag = "v${finalAttrs.version}";
hash = "sha256-wmvjex68Mh7qehA33WNBYHhV9Q/XWLixokuGWnqJ3n0=";
hash = "sha256-mq2gw0+xL6qUZE/fk0vLT3PEpzPV8p+iwRFJHXVOMnk=";
};
kernelSrc = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.20.tar.xz";
hash = "sha256-Iw6JsHsKuC508H7MG+4xBdyoHQ70qX+QCSnEBySbasc=";
url = "mirror://kernel/linux/kernel/v6.x/linux-6.12.34.tar.xz";
hash = "sha256-p/P+OB9n7KQXLptj77YaFL1/nhJ44DYD0P9ak/Jwwk0=";
};
postPatch = ''
@@ -51,8 +57,11 @@ stdenv.mkDerivation (finalAttrs: {
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optionals sevVariant [
++ lib.optionals (variant == "sev") [
"SEV=1"
]
++ lib.optionals (variant == "tdx") [
"TDX=1"
];
# Fixes https://github.com/containers/libkrunfw/issues/55
@@ -60,18 +69,18 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
meta = with lib; {
meta = {
description = "Dynamic library bundling the guest payload consumed by libkrun";
homepage = "https://github.com/containers/libkrunfw";
license = with licenses; [
license = with lib.licenses; [
lgpl2Only
lgpl21Only
];
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
nickcao
RossComputerGuy
nrabulinski
];
platforms = [ "x86_64-linux" ] ++ lib.optionals (!sevVariant) [ "aarch64-linux" ];
platforms = [ "x86_64-linux" ] ++ lib.optionals (variant == null) [ "aarch64-linux" ];
};
})
+120
View File
@@ -0,0 +1,120 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
callPackage,
nixosTests,
}:
let
canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
in
buildGoModule (finalAttrs: {
pname = "llama-swap";
version = "156";
src = fetchFromGitHub {
owner = "mostlygeek";
repo = "llama-swap";
tag = "v${finalAttrs.version}";
hash = "sha256-z0262afVjsdGe6WPoWO1wbccLO538fXBuxOOqLnJHRU=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
postFetch = ''
cd "$out"
git rev-parse HEAD > $out/COMMIT
# '0000-00-00T00:00:00Z'
date -u -d "@$(git log -1 --pretty=%ct)" "+'%Y-%m-%dT%H:%M:%SZ'" > $out/SOURCE_DATE_EPOCH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-5mmciFAGe8ZEIQvXejhYN+ocJL3wOVwevIieDuokhGU=";
passthru.ui = callPackage ./ui.nix { llama-swap = finalAttrs.finalPackage; };
passthru.npmDepsHash = "sha256-Sbvz3oudMVf+PxOJ6s7LsDaxFwvftNc8ZW5KPpbI/cA=";
nativeBuildInputs = [
versionCheckHook
];
ldflags = [
"-s"
"-w"
"-X main.version=${finalAttrs.version}"
];
preBuild = ''
# ldflags based on metadata from git and source
ldflags+=" -X main.commit=$(cat COMMIT)"
ldflags+=" -X main.date=$(cat SOURCE_DATE_EPOCH)"
# copy for go:embed in proxy/ui_embed.go
cp -r ${finalAttrs.passthru.ui}/ui_dist proxy/
'';
excludedPackages = [
# regression testing tool
"misc/process-cmd-test"
# benchmark/regression testing tool
"misc/benchmark-chatcompletion"
]
++ lib.optionals (!canExecute) [
# some tests expect to execute `simple-something`; if it can't be executed
# it's unneeded
"misc/simple-responder"
];
# some tests expect to execute `simple-something` and proxy/helpers_test.go
# checks the file exists
doCheck = canExecute;
preCheck = ''
mkdir build
ln -s "$GOPATH/bin/simple-responder" "./build/simple-responder_''${GOOS}_''${GOARCH}"
'';
postCheck = ''
rm "$GOPATH/bin/simple-responder"
'';
preInstall = ''
install -Dm444 -t "$out/share/llama-swap" config.example.yaml
'';
doInstallCheck = true;
versionCheckProgramArg = "-version";
passthru.tests.nixos = nixosTests.llama-swap;
meta = {
homepage = "https://github.com/mostlygeek/llama-swap";
changelog = "https://github.com/mostlygeek/llama-swap/releases/tag/${finalAttrs.src.tag}";
description = "Model swapping for llama.cpp (or any local OpenAPI compatible server)";
longDescription = ''
llama-swap is a light weight, transparent proxy server that provides
automatic model swapping to llama.cpp's server.
When a request is made to an OpenAI compatible endpoint, llama-swap will
extract the `model` value and load the appropriate server configuration to
serve it. If the wrong upstream server is running, it will be replaced
with the correct one. This is where the "swap" part comes in. The upstream
server is automatically swapped to the correct one to serve the request.
In the most basic configuration llama-swap handles one model at a time.
For more advanced use cases, the `groups` feature allows multiple models
to be loaded at the same time. You have complete control over how your
system resources are used.
'';
license = lib.licenses.mit;
mainProgram = "llama-swap";
maintainers = with lib.maintainers; [
jk
podium868909
];
};
})
+26
View File
@@ -0,0 +1,26 @@
{
llama-swap,
buildNpmPackage,
}:
buildNpmPackage (finalAttrs: {
pname = "${llama-swap.pname}-ui";
inherit (llama-swap) version src npmDepsHash;
postPatch = ''
substituteInPlace vite.config.ts \
--replace-fail "../proxy/ui_dist" "${placeholder "out"}/ui_dist"
'';
sourceRoot = "${finalAttrs.src.name}/ui";
# bundled "ui_dist" doesn't need node_modules
postInstall = ''
rm -rf $out/lib
'';
meta = (builtins.removeAttrs llama-swap.meta [ "mainProgram" ]) // {
description = "${llama-swap.meta.description} - UI";
};
})
+2 -2
View File
@@ -11,8 +11,8 @@ mattermost.override {
# and make sure the version regex is up to date here.
# Ensure you also check ../mattermost/package.nix for ESR releases.
regex = "^v(10\\.[0-9]+\\.[0-9]+)$";
version = "10.11.1";
srcHash = "sha256-iWznWqnsPDcq9hZqnPHCxqsOJESolVWDC6413hitFpk=";
version = "10.11.2";
srcHash = "sha256-lqMdH7jvnO6Z+dP+DHbxeM4iHU6EoJ3/bx8t/oJau0Q=";
vendorHash = "sha256-Lqa463LLy41aaRbrtJFclfOj55vLjK4pWFAFLzX3TJE=";
npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A=";
lockfileOverlay = ''
+3 -3
View File
@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mergiraf";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "mergiraf";
repo = "mergiraf";
tag = "v${finalAttrs.version}";
hash = "sha256-MPmpS4iLur05jkSUrGl6NCtzRO/8Pch9pRNuT6psNRo=";
hash = "sha256-ad5A3d/E1PyfI1/vKdHmiVcDokPSiGoMfg1eXKCbhtA=";
};
cargoHash = "sha256-nT9HsG9eRBf4mRr7fqmRSQVI+yz+yr7wKCSQHG5JtD4=";
cargoHash = "sha256-8zOEFGkrlyaZMRbTzFVk3CujC1LlAxKqGslwZyjXoKw=";
nativeCheckInputs = [ git ];
+3 -5
View File
@@ -1,23 +1,21 @@
{
lib,
python3,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "mqtt-exporter";
version = "1.7.0";
version = "1.8.1-1";
pyproject = true;
src = fetchFromGitHub {
owner = "kpetremann";
repo = "mqtt-exporter";
tag = "v${version}";
hash = "sha256-aEuwJeNMB6sou6oyAwCj11lOdMCjCyEsrDcMF/pHzcg=";
hash = "sha256-FBB8KvSLrcJ9pdfVq18ykovwApNZoOcU0xTfvAWTxpc=";
};
pythonRelaxDeps = [ "prometheus-client" ];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "nak";
version = "0.15.3";
version = "0.15.4";
src = fetchFromGitHub {
owner = "fiatjaf";
repo = "nak";
tag = "v${finalAttrs.version}";
hash = "sha256-PSg+27uTpPIrKlYArWOv92l5muQRQiFZ6Vvu7hDLt5s=";
hash = "sha256-9Ap342HKD9byMGjFS8/3Ai14T5QJfsA5eYvUvqM02Gg=";
};
vendorHash = "sha256-qwi3awU1DHjT/4scGUrhsdlmXJYwq0g/t4LaZ8FGYB0=";
vendorHash = "sha256-CoEwwxKyW2bYwVA6mpIdGjzEyN8m7K+1bODnPLajGJo=";
ldflags = [
"-s"
+3 -2
View File
@@ -15,14 +15,14 @@
}:
python3Packages.buildPythonApplication rec {
pname = "netpeek";
version = "0.2.3.1";
version = "0.2.4";
pyproject = false;
src = fetchFromGitHub {
owner = "ZingyTomato";
repo = "NetPeek";
tag = "v${version}";
hash = "sha256-3PbGK8e/W4pHlXwIvW6kmyeBMvzBIS2DrV0pxafgJOY=";
hash = "sha256-mouXMFYhCBEUTyPfuaw570ZC40TJuprldiSiP0Il0KA=";
};
nativeBuildInputs = [
@@ -43,6 +43,7 @@ python3Packages.buildPythonApplication rec {
dependencies = with python3Packages; [
pygobject3
ping3
python-nmap
];
dontWrapGApps = true;
@@ -0,0 +1,44 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 73276dff6..94027f5cb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -974,21 +974,27 @@ endif(USE_EFENCE)
gopt_test(USE_DBUS)
if(USE_DBUS)
- find_package(PkgConfig)
- # pkg_check_modules doesn't fatal error on REQUIRED, so handle it ourselves
- pkg_check_modules(DBUS ${USE_DBUS_REQUIRED} dbus-1)
- if(NOT DBUS_FOUND)
- if(USE_DBUS_REQUIRED)
- message(FATAL_ERROR "Cannot find DBUS libs but requested on command line")
- else(USE_DBUS_REQUIRED)
- message(WARNING "Cannot find DBUS libs. Disabling DBUS support")
- set(USE_DBUS OFF)
- endif(USE_DBUS_REQUIRED)
- else(NOT DBUS_FOUND)
+ if(DBUS_NO_PKGCONFIG)
set(SYSTEM_LIBRARIES ${DBUS_LIBRARIES} ${SYSTEM_LIBRARIES})
LIST(APPEND CMAKE_LIBRARY_PATH ${DBUS_LIBRARY_DIRS})
link_directories (${DBUS_LIBRARY_DIRS})
- endif(NOT DBUS_FOUND)
+ else(DBUS_NO_PKGCONFIG)
+ find_package(PkgConfig)
+ # pkg_check_modules doesn't fatal error on REQUIRED, so handle it ourselves
+ pkg_check_modules(DBUS ${USE_DBUS_REQUIRED} dbus-1)
+ if(NOT DBUS_FOUND)
+ if(USE_DBUS_REQUIRED)
+ message(FATAL_ERROR "Cannot find DBUS libs but requested on command line")
+ else(USE_DBUS_REQUIRED)
+ message(WARNING "Cannot find DBUS libs. Disabling DBUS support")
+ set(USE_DBUS OFF)
+ endif(USE_DBUS_REQUIRED)
+ else(NOT DBUS_FOUND)
+ set(SYSTEM_LIBRARIES ${DBUS_LIBRARIES} ${SYSTEM_LIBRARIES})
+ LIST(APPEND CMAKE_LIBRARY_PATH ${DBUS_LIBRARY_DIRS})
+ link_directories (${DBUS_LIBRARY_DIRS})
+ endif(NOT DBUS_FOUND)
+ endif(DBUS_NO_PKGCONFIG)
endif(USE_DBUS)
if(USE_CB_SIMULATOR AND NOT USE_DBUS)
+33 -3
View File
@@ -8,7 +8,6 @@
krb5,
xfsprogs,
jemalloc,
dbus,
libcap,
ntirpc,
liburcu,
@@ -16,6 +15,10 @@
flex,
nfs-utils,
acl,
useCeph ? false,
ceph,
useDbus ? true,
dbus,
}:
stdenv.mkDerivation rec {
@@ -35,6 +38,8 @@ stdenv.mkDerivation rec {
hash = "sha256-OHGmEzHu8y/TPQ70E2sicaLtNgvlf/bRq8JRs6S1tpY=";
};
patches = lib.optional useDbus ./allow-bypassing-dbus-pkg-config-test.patch;
preConfigure = "cd src";
cmakeFlags = [
@@ -44,6 +49,19 @@ stdenv.mkDerivation rec {
"-DUSE_ACL_MAPPING=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON"
"-DUSE_MAN_PAGE=ON"
]
++ lib.optionals useCeph [
"-DUSE_RADOS_RECOV=ON"
"-DRADOS_URLS=ON"
"-DUSE_FSAL_CEPH=ON"
"-DUSE_FSAL_RGW=ON"
]
++ lib.optionals useDbus [
"-DUSE_DBUS=ON"
"-DDBUS_NO_PKGCONFIG=ON"
"-DDBUS_LIBRARY_DIRS=${lib.getLib dbus}/lib"
"-DDBUS_INCLUDE_DIRS=${lib.getDev dbus}/include/dbus-1.0\\;${lib.getLib dbus}/lib/dbus-1.0/include"
"-DDBUS_LIBRARIES=dbus-1"
];
nativeBuildInputs = [
@@ -52,7 +70,8 @@ stdenv.mkDerivation rec {
bison
flex
sphinx
];
]
++ lib.optional useDbus dbus;
buildInputs = [
acl
@@ -64,7 +83,8 @@ stdenv.mkDerivation rec {
ntirpc
liburcu
nfs-utils
];
]
++ lib.optional useCeph ceph;
postPatch = ''
substituteInPlace src/tools/mount.9P --replace "/bin/mount" "/usr/bin/env mount"
@@ -72,10 +92,20 @@ stdenv.mkDerivation rec {
postFixup = ''
patchelf --add-rpath $out/lib $out/bin/ganesha.nfsd
patchelf --add-rpath $out/lib $out/lib/libganesha_nfsd.so
''
+ lib.optionalString useCeph ''
patchelf --add-rpath $out/lib $out/bin/ganesha-rados-grace
patchelf --add-rpath $out/lib $out/lib/libganesha_rados_recov.so
patchelf --add-rpath $out/lib $out/lib/libganesha_rados_urls.so
'';
postInstall = ''
install -Dm755 $src/src/tools/mount.9P $tools/bin/mount.9P
''
+ lib.optionalString useDbus ''
# Policy for D-Bus statistics interface
install -Dm644 $src/src/scripts/ganeshactl/org.ganesha.nfsd.conf $out/etc/dbus-1/system.d/org.ganesha.nfsd.conf
'';
meta = with lib; {
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "okteto";
version = "3.10.1";
version = "3.11.0";
src = fetchFromGitHub {
owner = "okteto";
repo = "okteto";
tag = finalAttrs.version;
hash = "sha256-gYdws+cUJpr0tIztO9tjc/dVtBWau6HdriP/Y8p+kOQ=";
hash = "sha256-gzOymFkzz2MStbhLA1viJuHNbsBFDLqbhG0lIaxAC+w=";
};
vendorHash = "sha256-Pun9LgQAv/wlX0CwU4AJuEkMeZgPTL+ExmUevURvjYE=";
vendorHash = "sha256-wkuCUMzmYAWf8RjM6DkTTHaY7qEIjGNYiT4grtCbYs8=";
postPatch = ''
# Disable some tests that need file system & network access.
+2 -2
View File
@@ -11,13 +11,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "openapv";
version = "0.2.0.1";
version = "0.2.0.2";
src = fetchFromGitHub {
owner = "AcademySoftwareFoundation";
repo = "openapv";
tag = "v${finalAttrs.version}";
hash = "sha256-Edj3xQ7AcHcdIbg4o2FidAGZ06fUBltW+1ojJPoIktA=";
hash = "sha256-Eam53Fc0oYOE2YH+Q1Cx6TxClMoUaDZuRhrC8LX6S7g=";
};
postPatch = ''
@@ -1,8 +1,8 @@
diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
index 7c66d98b..62d40f49 100644
index e8299202..19dbd7b1 100644
--- a/ext/test/http/curl_http_test.cc
+++ b/ext/test/http/curl_http_test.cc
@@ -229,7 +229,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
@@ -270,7 +270,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
ASSERT_EQ(count, 4);
}
@@ -11,8 +11,8 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -246,7 +246,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
ASSERT_TRUE(handler->got_response_);
@@ -287,7 +287,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
ASSERT_TRUE(handler->got_response_.load(std::memory_order_acquire));
}
-TEST_F(BasicCurlHttpTests, SendPostRequest)
@@ -20,25 +20,25 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -325,7 +325,7 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
delete handler;
@@ -313,7 +313,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequest)
session_manager->FinishAllSessions();
}
-TEST_F(BasicCurlHttpTests, RequestTimeout)
+TEST_F(BasicCurlHttpTests, DISABLED_RequestTimeout)
{
received_requests_.clear();
auto session_manager = http_client::HttpClientFactory::Create();
@@ -442,7 +442,7 @@ TEST_F(BasicCurlHttpTests, ExponentialBackoffRetry)
}
#endif // ENABLE_OTLP_RETRY_PREVIEW
-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
+TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSync)
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -336,7 +336,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSync)
EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
}
-TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSyncTimeout)
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -350,7 +350,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
@@ -467,7 +467,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
result.GetSessionState() == http_client::SessionState::SendFailed);
}
@@ -47,7 +47,7 @@ index 7c66d98b..62d40f49 100644
{
received_requests_.clear();
curl::HttpClientSync http_client;
@@ -378,7 +378,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
@@ -495,7 +495,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
"http://127.0.0.1:31339/");
}
@@ -56,7 +56,7 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
@@ -452,7 +452,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
@@ -570,7 +570,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
}
}
@@ -65,7 +65,7 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
@@ -491,7 +491,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
@@ -609,7 +609,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
}
}
@@ -74,6 +74,12 @@ index 7c66d98b..62d40f49 100644
{
curl::HttpClient http_client;
--
2.40.1
@@ -647,7 +647,7 @@ TEST_F(BasicCurlHttpTests, FinishInAsyncCallback)
}
}
-TEST_F(BasicCurlHttpTests, ElegantQuitQuick)
+TEST_F(BasicCurlHttpTests, DISABLED_ElegantQuitQuick)
{
auto http_client = http_client::HttpClientFactory::Create();
std::static_pointer_cast<curl::HttpClient>(http_client)->MaybeSpawnBackgroundThread();
+33 -19
View File
@@ -10,25 +10,30 @@
prometheus-cpp,
nlohmann_json,
nix-update-script,
cxxStandard ? null,
enableHttp ? false,
enableGrpc ? false,
enablePrometheus ? false,
enableElasticSearch ? false,
enableZipkin ? false,
}:
let
opentelemetry-proto = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-proto";
rev = "v1.3.2";
hash = "sha256-bkVqPSVhyMHrmFvlI9DTAloZzDozj3sefIEwfW7OVrI=";
rev = "v1.5.0";
hash = "sha256-PkG0npG3nKQwq6SxWdIliIQ/wrYAOG9qVb26IeVkBfc=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "opentelemetry-cpp";
version = "1.16.1";
version = "1.20.0";
src = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-cpp";
rev = "v${finalAttrs.version}";
hash = "sha256-31zwIZ4oehhfn+oCyg8VQTurPOmdgp72plH1Pf/9UKQ=";
hash = "sha256-ibLuHIg01wGYPhLRz+LVYA34WaWzlUlNtg7DSONLe9g=";
};
patches = [
@@ -40,12 +45,18 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
curl
grpc
nlohmann_json
prometheus-cpp
protobuf
];
propagatedBuildInputs =
lib.optionals (enableGrpc || enableHttp) [ protobuf ]
++ lib.optionals enableGrpc [
grpc
]
++ lib.optionals enablePrometheus [
prometheus-cpp
];
doCheck = true;
checkInputs = [
@@ -55,15 +66,18 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_OTLP_HTTP=ON"
"-DWITH_OTLP_GRPC=ON"
"-DWITH_ABSEIL=ON"
"-DWITH_PROMETHEUS=ON"
"-DWITH_ELASTICSEARCH=ON"
"-DWITH_ZIPKIN=ON"
"-DWITH_BENCHMARK=OFF"
"-DOTELCPP_PROTO_PATH=${opentelemetry-proto}"
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "WITH_BENCHMARK" false)
(lib.cmakeBool "WITH_OTLP_HTTP" enableHttp)
(lib.cmakeBool "WITH_OTLP_GRPC" enableGrpc)
(lib.cmakeBool "WITH_PROMETHEUS" enablePrometheus)
(lib.cmakeBool "WITH_ELASTICSEARCH" enableElasticSearch)
(lib.cmakeBool "WITH_ZIPKIN" enableZipkin)
(lib.cmakeFeature "OTELCPP_PROTO_PATH" "${opentelemetry-proto}")
]
++ lib.optionals (cxxStandard != null) [
(lib.cmakeFeature "CMAKE_CXX_STANDARD" cxxStandard)
(lib.cmakeFeature "WITH_STL" "CXX${cxxStandard}")
];
outputs = [
@@ -72,8 +86,8 @@ stdenv.mkDerivation (finalAttrs: {
];
postInstall = ''
substituteInPlace $out/lib/cmake/opentelemetry-cpp/opentelemetry-cpp-target.cmake \
--replace-fail "\''${_IMPORT_PREFIX}/include" "$dev/include"
substituteInPlace $out/lib/cmake/opentelemetry-cpp/opentelemetry-cpp*-target.cmake \
--replace-quiet "\''${_IMPORT_PREFIX}/include" "$dev/include"
'';
passthru.updateScript = nix-update-script { };
+3 -3
View File
@@ -15,16 +15,16 @@
let
package = buildGoModule rec {
pname = "opentofu";
version = "1.10.5";
version = "1.10.6";
src = fetchFromGitHub {
owner = "opentofu";
repo = "opentofu";
tag = "v${version}";
hash = "sha256-w7uzTG0zqa+izncQoqCSbIJCCIz+jOVbPg9/HiCm7Ik=";
hash = "sha256-IEdnESrhDT2rDha7TNgUnGnPioNPnKrUuOXSGRnUOBI=";
};
vendorHash = "sha256-+cwFkqhFuLJCb02tvYjccpkNzy7tz979mjgCeqi2DC4=";
vendorHash = "sha256-ZnQDRiLdg12Dx9RdK1xBWUrAm3QQLGhwH1vxh4ieVv0=";
ldflags = [
"-s"
"-w"
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation rec {
pname = "openvas-scanner";
version = "23.23.1";
version = "23.24.0";
src = fetchFromGitHub {
owner = "greenbone";
repo = "openvas-scanner";
tag = "v${version}";
hash = "sha256-+G8wFkPYxGsh6esQEpQ5GckTYgPvwqxhibTOe12riyk=";
hash = "sha256-6ZqUfqwtotVrMOLh0QiAjN+Syz0HhP1r8GIFhMfYVio=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "osmo-bsc";
version = "1.13.0";
version = "1.13.2";
src = fetchFromGitHub {
owner = "osmocom";
repo = "osmo-bsc";
rev = version;
hash = "sha256-wQtGyqqaEW+mM6Eg85N+i3ZiKC/Z6wxYk2Wwvz7qOFw=";
hash = "sha256-YSCbVqELh/id9sK4G5xF8riYXhwFtXU/lXMlH6XxvXY=";
};
postPatch = ''
+1
View File
@@ -18,6 +18,7 @@ python3.pkgs.buildPythonApplication rec {
pythonRelaxDeps = [
"defusedxml"
"lxml"
"packaging"
"psutil"
"python-gnupg"
+1 -1
View File
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
homepage = "https://www.upperbounds.net";
homepage = "https://github.com/bluescan/proggyfonts";
description = "Set of fixed-width screen fonts that are designed for code listings";
license = licenses.mit;
platforms = platforms.all;
@@ -0,0 +1,14 @@
{
version = "1.75.0";
hashes = {
linux-aarch_64 = "sha256-fkWjH5rq+rmirorx+SgjgabYw8DZKbUVt5o2poxfAGg=";
linux-ppcle_64 = "sha256-FC0NgeMZuj1KfSyiqffZyK6/dzvmrZLoI5vz4q8IdlE=";
linux-s390_64 = "sha256-+oXkS7B9o07k1k+J3/fkwVrMhji4R8lLdUcdStP6PK0=";
linux-x86_32 = "sha256-givjTIdi/vJtLgitkUW9IxbS5jb7qh42fhFS9drudo0=";
linux-x86_64 = "sha256-WTZvtYoZ79TjZ0wVaOlO8WeBYVGs+q0C+k7wS7yrKT0=";
osx-aarch_64 = "sha256-kzfvzNrQHdj0tO8n+mcMHKZ5QVgAaXkJf6qsDAvCuJY=";
osx-x86_64 = "sha256-kzfvzNrQHdj0tO8n+mcMHKZ5QVgAaXkJf6qsDAvCuJY=";
windows-x86_32 = "sha256-fOa2fuO+q/DTg0Om79mGlUN39Dhr/IvzM8j42/DG7KI=";
windows-x86_64 = "sha256-yaiM0ILXQfMZBBX9IwtpEkO6qqz7h7KurH56mKT+NbA=";
};
}
@@ -1,11 +0,0 @@
{
linux-aarch_64 = "sha256-sgdZoaSM7LgK4DbbKPJO3FdBA37YAX86meaKDLQiOmg=";
linux-ppcle_64 = "sha256-k4nQGJNwtd8W4nJLyWPRhqjikczy7p7ffDIrWxkcUTA=";
linux-s390_64 = "sha256-fcuNlJeUmduFzqt5WaefYk3lFVmdHeSFIEkbwT2I1O0=";
linux-x86_32 = "sha256-KNvqGkeERd2UxzhjO/Fp6Uv7DGBt15rPGviRmH7pmno=";
linux-x86_64 = "sha256-7LI115E3BOz3jnHavkQBbN0hsjKuSbnXNAjXFw/D14I=";
osx-aarch_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
osx-x86_64 = "sha256-gAo2bcsivjDVFX5cUvzngoHgqTAPt+3Hiuynd17/KTo=";
windows-x86_32 = "sha256-ERbksXFy4AFhZSFG9G4AMOi68EzEScBvDJFF9+rnPnU=";
windows-x86_64 = "sha256-wZU6on7A84fPm8xwD8pBgSk8+fkB14LdvWZXEniz8LU=";
}
@@ -33,13 +33,14 @@ let
throw "Unsupported CPU \"${platform.parsed.cpu.name}\"";
in
"${os}-${arch}";
data = import ./data.nix;
in
stdenv.mkDerivation (finalAttrs: {
pname = "protoc-gen-grpc-java";
version = "1.73.0";
inherit (data) version;
src = fetchurl {
url = "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${finalAttrs.version}/protoc-gen-grpc-java-${finalAttrs.version}-${hostArch}.exe";
hash = (import ./hashes.nix).${hostArch} or (throw "Unsuported host arch ${hostArch}");
hash = data.hashes.${hostArch} or (throw "Unsuported host arch ${hostArch}");
};
dontUnpack = true;
dontConfigure = true;
@@ -14,7 +14,7 @@ ARCHS=(
'windows-x86_32'
'windows-x86_64'
)
HASHES_FILE=pkgs/by-name/pr/protoc-gen-grpc-java/hashes.nix
DATA_FILE=pkgs/by-name/pr/protoc-gen-grpc-java/data.nix
version="$(
curl --silent --location --fail \
@@ -24,10 +24,13 @@ version="$(
sed 's/^v//'
)"
echo '{' >"${HASHES_FILE}"
echo '{' >"${DATA_FILE}"
echo " version = \"${version}\";" >>"${DATA_FILE}"
echo ' hashes = {' >>"${DATA_FILE}"
for arch in "${ARCHS[@]}"; do
url="https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/${version}/protoc-gen-grpc-java-${version}-${arch}.exe"
hash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "${url}")")
echo " ${arch} = \"${hash}\";" >>"${HASHES_FILE}"
echo " ${arch} = \"${hash}\";" >>"${DATA_FILE}"
done
echo '}' >>"${HASHES_FILE}"
echo ' };' >>"${DATA_FILE}"
echo '}' >>"${DATA_FILE}"
-190
View File
@@ -1,190 +0,0 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://github.com": {
"adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x86-32_windows_hotspot_17.0.10_7": {
"zip": "sha256-EWZ+nnu8uYBDDWzGMFUxYqDBikI4xLBAu2cc2AYHcQY="
}
},
"https://jcenter.bintray.com": {
"com/github/spotbugs#spotbugs-annotations/4.2.2": {
"jar": "sha256-VlfEgKMYg88/xtEuauUiyfzJpjA7RZOe5Cyi4Mz07QQ=",
"module": "sha256-yjYif6H3bmbT7boJ5N9R38nyrfkyttH6EjT+Lx0KB5s=",
"pom": "sha256-vz9CdawvbTnQq1gV28D2/yYBUoRztjtpkGdM3uuuRaM="
},
"com/github/spotbugs#spotbugs/4.2.2": {
"jar": "sha256-JO9T3cYiZAe+ndgHzFy5ZFQwKG91Bb0yK24Cc9Bz8DY=",
"module": "sha256-vRozvig14GQmmfibS3VeJ1iNrYu5vbuAYxT6LdWECRQ=",
"pom": "sha256-M2abH/xQYg2pZA2xlZepdre64Cab/05yd7Gg3D1qUNA="
},
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/code/gson#gson-parent/2.8.6": {
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
},
"com/google/code/gson#gson/2.8.6": {
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
},
"edu/stanford/ejalbert#BrowserLauncher2/1.3": {
"jar": "sha256-pt7rHbhm7S+cyE7uu4kIgOfOAgptYS9pnpBAOuP371o=",
"pom": "sha256-zcuMk+OUxzYg8zUs1ALIN0rF3wI7bJArOhDST1SUeG0="
},
"jaxen#jaxen/1.2.0": {
"jar": "sha256-cP7vndda0GTe8Fo86Jda66UV7n0b4UbRIZnIgopkF0w=",
"pom": "sha256-zEgr+qIqVQepb6WzorYVkRRDrT9zZOAgBNGQsGfzsH8="
},
"net/jcip#jcip-annotations/1.0": {
"jar": "sha256-vlgFOSBgxxR0v2yaZ6CZRxJ00wuD7vhL/E4IiaTx3MA=",
"pom": "sha256-XBnmhIzFUKlWZPsIIwS8X5/Pe2cvrwOvFjXw6TwmgXc="
},
"net/sf/launch4j#launch4j/3.14": {
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
},
"net/sf/launch4j#launch4j/3.14/workdir-linux64": {
"jar": "sha256-mphFGb9E6CWlsEFZfgVPi/qy+Tpm+na30aM79JIcNUY="
},
"net/sf/saxon#Saxon-HE/10.3": {
"jar": "sha256-ZgqJFipXfP1zvD2zxTy+x+gtSrIFEkfzGSfxNa/3yQg=",
"pom": "sha256-FfRI8O2fblTGre47tov582btryOPYW33hB8dzXc3hpg="
},
"org/apache#apache/21": {
"pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A="
},
"org/apache#apache/23": {
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
},
"org/apache/bcel#bcel/6.5.0": {
"jar": "sha256-ves4HQ0ZmZ4iHmoPjYv0T1sZwuV+q/aLcNwJhlKu+vU=",
"pom": "sha256-/B6eb17UvSAMsGYghsiYwAAmOGoutKY0hBH34OBotcU="
},
"org/apache/commons#commons-lang3/3.12.0": {
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
},
"org/apache/commons#commons-parent/50": {
"pom": "sha256-e3ots/dHB0tYZ/VT1e/IByvibt4yh50FLDR+fIERfwY="
},
"org/apache/commons#commons-parent/51": {
"pom": "sha256-m3edGLItjeVZYFVY57sKCjGz8Awqu5yHgRfDmKrKvso="
},
"org/apache/commons#commons-parent/52": {
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
},
"org/apache/commons#commons-text/1.9": {
"jar": "sha256-CBLyhKxd0NYXRh2aKrasaBETfyUSLf/9R4ikhx5zLQA=",
"pom": "sha256-n5IWz8lE3KeC5jEdYnV/13Fk/mfaKbWPAVaH+gn0QFA="
},
"org/dom4j#dom4j/2.1.3": {
"jar": "sha256-VJ8wB8YpD2qQHlfR0zG07Q5r9zhPeL8QMW/87sqDTeY=",
"module": "sha256-3sfF/Y1SDa+1exXi87a+LxgFYTQqP0Ub7u6QVUO8FwM=",
"pom": "sha256-zcnEn1nSMNQnF3G7dkqnCX1qy83CUAFJ5NLJUd9crDA="
},
"org/junit#junit-bom/5.7.1": {
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
},
"org/ow2#ow2/1.5": {
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
},
"org/ow2/asm#asm-analysis/9.1": {
"jar": "sha256-gaiAQbG4vtpaiplkYJgEbEhwlTgnDEne9oq/8lrDvjQ=",
"pom": "sha256-rFRUwRsDQxypUd9x+06GyMTIDfaXn5W3V8rtOrD0cVY="
},
"org/ow2/asm#asm-commons/9.1": {
"jar": "sha256-r8sm3B/BLAxKma2mcJCN2C4Y38SIyvXuklRplrRwwAw=",
"pom": "sha256-oPZRsnuK/pwOYS16Ambqy197HHh7xLWsgkXz16EYG38="
},
"org/ow2/asm#asm-tree/9.1": {
"jar": "sha256-/QCvpJ6VlddkYgWwnOy0p3ao/wugby1ZuPe/nHBLSnM=",
"pom": "sha256-tqANkgfANUYPgcfXDtQSU/DSFmUr7UX6GjBS/81QuUw="
},
"org/ow2/asm#asm-util/9.1": {
"jar": "sha256-OA4uzRb3zA8adrqboEkXm1dgpXsoKoekxlPK7/LNW9Y=",
"pom": "sha256-jd108aHiuTxwnZdtAgXnT7850AVwPJYmpe1cxXTK+88="
},
"org/ow2/asm#asm/9.1": {
"jar": "sha256-zaTeRV+rSP8Ly3xItGOUR9TehZp6/DCglKmG8JNr66I=",
"pom": "sha256-xoOpDdaPKxeIy9/EZH6pQF71kls3HBmfj9OdRNPO3o0="
},
"org/slf4j#slf4j-api/1.8.0-beta4": {
"jar": "sha256-YCtxIynIS0qDxARk9P39D+QjjFPvOXE5qGcGRznb9OA=",
"pom": "sha256-+DFtKKzyUrIbHp6O7ZqEwq+9yOBA9p06ELq4E9PYWoU="
},
"org/slf4j#slf4j-parent/1.8.0-beta4": {
"pom": "sha256-uvujCoPVOpRVAZZEdWKqjNrRRWFcKJMsaku0QcNVMQE="
},
"org/slf4j#slf4j-simple/1.8.0-beta4": {
"jar": "sha256-usZqvFtEYt/2Lh4ZqzsKZcFg681WTPJZENsAOo5WnP0=",
"pom": "sha256-oXrS6OU00OgZ6o0UIT3nSNRlD/8qJX0+kqE9oxAoe/c="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
}
},
"https://plugins.gradle.org/m2": {
"com/formdev#flatlaf/1.0": {
"jar": "sha256-E12NWsOf7CnZs/9SyzBybT+XawaYYVvjJTT9eSTynsc=",
"module": "sha256-dStur7AL/wRCGXCYLcqvz1l7SajJE64M73XkKHYKC68=",
"pom": "sha256-ylkCGnUHptHH0ZM+DN+hxKlpqgTsaMYsMdYTMtMAlpo="
},
"com/github/spotbugs#com.github.spotbugs.gradle.plugin/4.7.1": {
"pom": "sha256-vzSvShy4wBuhRYlSW5K1KXuRB3UmfD4r86m9Y5WEIXc="
},
"com/thoughtworks/xstream#xstream-parent/1.4.15": {
"pom": "sha256-GDOZpW5OtAJkCjcZURmuZx61kW17OKX2PpTvGvkPuc4="
},
"com/thoughtworks/xstream#xstream/1.4.15": {
"jar": "sha256-MneEmWGqnrBV+HcYEEUAhtOMwuQH7rg0bQI56gIYpFM=",
"pom": "sha256-sX3W1xyyywYmTZ6q0a6Mgg5FdhTx1jRcdgmSB3Ei1EY="
},
"commons-beanutils#commons-beanutils/1.9.4": {
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
},
"commons-logging#commons-logging/1.2": {
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
},
"edu/sc/seis/launch4j#edu.sc.seis.launch4j.gradle.plugin/2.5.0": {
"pom": "sha256-n0puUetm4COQOF+0PkmHup+PCZ5QD8WCPwKh9ZFQ4Q4="
},
"edu/sc/seis/launch4j#launch4j/2.5.0": {
"jar": "sha256-UX6wYGabD7AySfEXvtG5UbckhI1XLhpeSgnHRWnC8CQ=",
"module": "sha256-ujuCeHwFd2TaKUOOoAxuVaD1xcppLb6Pm0zt1QZVSXs=",
"pom": "sha256-sadCLzKqOPcR43vhoilGBV2MJiby9Xy2LUHMWR6h4TI="
},
"gradle/plugin/com/github/spotbugs/snom#spotbugs-gradle-plugin/4.7.1": {
"jar": "sha256-4zxJQ+EOPtJ1mRoZMFagVtdXUYUcvWGqysipEXTm4Kc=",
"pom": "sha256-aBZTKWh+foW+JoNs7+nuoWT4xFhi+M70qkP9yr+P7T8="
},
"net/sf/launch4j#launch4j/3.14": {
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
},
"net/sf/launch4j#launch4j/3.14/core": {
"jar": "sha256-pGVAv4Nrz3s1AHM9n6f1muzYyDeUJz5zZlWrLKdXYjA="
},
"org/apache#apache/13": {
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
},
"org/apache#apache/19": {
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
},
"org/apache/commons#commons-parent/34": {
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
},
"org/apache/commons#commons-parent/47": {
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
},
"xmlpull#xmlpull/1.1.3.1": {
"jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=",
"pom": "sha256-jxD/2N8NPpgZyMyEAnCcaySLxTqVTvbkVHDZrjpXNfs="
},
"xpp3#xpp3_min/1.1.4c": {
"jar": "sha256-v8kOnjLQ6rHzl/uXS18VCoFRiDgqxB83KnFJ1bwXgAg=",
"pom": "sha256-tbRqwMCdpBsE28dTRWtIkShWp/+7FJBnaRC1EMRx0T8="
}
}
}
+38 -32
View File
@@ -1,56 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
gradle,
jre,
makeWrapper,
jdk,
git,
makeDesktopItem,
copyDesktopItems,
fetchzip,
fetchurl,
}:
let
icon = fetchurl {
url = "https://raw.githubusercontent.com/hrehfeld/QuakeInjector/b741bae9904acbf2e18cdb1ca8e71a12e7d416cf/src/main/resources/Inject2_256.png";
hash = "sha256-769YoSJ52+BTk7s+wh4oOyHwPPrR7AeOxCS58CdQ93s=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "quake-injector";
version = "06";
version = "07";
src = fetchFromGitHub {
owner = "hrehfeld";
repo = "QuakeInjector";
tag = "alpha${finalAttrs.version}";
hash = "sha256-bbvLp5/Grg+mXBuV5aJCMOSjFp1+ukZS+AivcbhBxHU=";
src = fetchzip {
url = "https://github.com/hrehfeld/QuakeInjector/releases/download/alpha${finalAttrs.version}/QuakeInjector-alpha${finalAttrs.version}.zip";
hash = "sha256-Lixac9K3+9j7QvprZGzhnYuvlJV9V+ja4EipygELkWA=";
};
nativeBuildInputs = [
gradle
makeWrapper
git
copyDesktopItems
];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
installPhase =
let
# Explicit needed JAR filenames
filenames = [
"QuakeInjector-alpha${finalAttrs.version}.jar"
"BrowserLauncher2-1.3.jar"
"jackson-annotations-2.13.3.jar"
"jackson-core-2.13.3.jar"
"jackson-databind-2.13.3.jar"
];
__darwinAllowLocalNetworking = true;
mkClasspath = prefix: lib.concatMapStringsSep ":" (filename: "${prefix}/${filename}") filenames;
classpath = mkClasspath "$out/share/quake-injector";
in
''
runHook preInstall
doCheck = true;
mkdir -p $out/{bin,share/quake-injector}
cp lib/*.jar $out/share/quake-injector
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons/hicolor/256x256/apps
cp ${icon} $out/share/icons/hicolor/256x256/apps/quake-injector.png
mkdir -p $out/{bin,share/quake-injector}
cp build/libs/QuakeInjector.jar $out/share/quake-injector
makeWrapper ${jre}/bin/java $out/bin/quake-injector \
--add-flags "-classpath ${classpath} de.haukerehfeld.quakeinjector.QuakeInjector"
mkdir -p $out/share/icons/hicolor/256x256/apps
cp src/main/resources/Inject2_256.png $out/share/icons/hicolor/256x256/apps/quake-injector.png
runHook postInstall
'';
makeWrapper ${jre}/bin/java $out/bin/quake-injector \
--add-flags "-jar $out/share/quake-injector/QuakeInjector.jar"
runHook postInstall
'';
# There are no tests.
doCheck = false;
desktopItems = [
(makeDesktopItem {
@@ -71,9 +80,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ theobori ];
mainProgram = "quake-injector";
platforms = jdk.meta.platforms;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # mitm cache
];
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
})
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "release-plz";
version = "0.3.140";
version = "0.3.142";
src = fetchFromGitHub {
owner = "MarcoIeni";
repo = "release-plz";
rev = "release-plz-v${version}";
hash = "sha256-pJHyf1aSn4YqzFYW6otuRY+gJ6TBCKFGQuH2Py5uWlE=";
hash = "sha256-e+EafNBXHUAE4UjJJ7ujfd4QVxQ6AAYTpH6TmNot6jk=";
};
cargoHash = "sha256-LfadgdrGD9g/PNeFs/XNUk2x0h1i3znzMhIV+w1DjMk=";
cargoHash = "sha256-TE2l9Mk41RBaHo/fRdXSLHc8UGiMDIY6LXc33iIDjvA=";
nativeBuildInputs = [
installShellFiles
+3 -3
View File
@@ -6,14 +6,14 @@
rustPlatform.buildRustPackage rec {
pname = "rsign2";
version = "0.6.3";
version = "0.6.4";
src = fetchCrate {
inherit pname version;
hash = "sha256-bJeM1HTzmC8QZ488PpqQ0qqdFg1/rjPWuTtqo1GXyHM=";
hash = "sha256-SmrTMMHnB5r0K6zL9B2qJwyywFxUTidQDejnFsOTT4E=";
};
cargoHash = "sha256-dCZcxtaqcRHhAmgGigBjN0jDfh1VjoosqTDTkqwlXp0=";
cargoHash = "sha256-eWPZROftFA0pTgFDl4AuUP5yO863ar+HAcjCRk5c+cA=";
meta = with lib; {
description = "Command-line tool to sign files and verify signatures";

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