Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-05-12 18:38:34 +00:00
committed by GitHub
62 changed files with 704 additions and 1027 deletions
+14 -1
View File
@@ -2329,6 +2329,13 @@
githubId = 14922630;
name = "Richard Smith";
};
artifycz = {
email = "richard@tichy.io";
github = "ArtifyCZ";
githubId = 57506608;
matrix = "@artify:artify.zone";
name = "Richard Tichy";
};
artturin = {
email = "artturin@artturin.com";
matrix = "@artturin:matrix.org";
@@ -12604,7 +12611,7 @@
};
jfly = {
name = "Jeremy Fleischman";
email = "jeremyfleischman@gmail.com";
email = "me@jfly.fyi";
github = "jfly";
githubId = 277474;
keys = [ { fingerprint = "F1F1 3395 8E8E 9CC4 D9FC 9647 1931 9CD8 416A 642B"; } ];
@@ -24325,6 +24332,12 @@
githubId = 12882091;
name = "Sam L. Yes";
};
samooyo = {
email = "samidarnaud@gmail.com";
github = "samooyo";
githubId = 46531012;
name = "Sami Darnaud";
};
samrose = {
email = "samuel.rose@gmail.com";
github = "samrose";
+3
View File
@@ -152,6 +152,9 @@ in
theme_name = cfg.theme.name;
};
# Needed to fetch accounts
services.accounts-daemon.enable = true;
services.greetd = {
enable = lib.mkDefault true;
settings.default_session.command = lib.mkDefault "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${lib.getExe cfg.package}";
+78 -70
View File
@@ -54,6 +54,66 @@ let
};
users.groups.workload = { };
};
tpmAgent =
{ pkgs, lib, ... }:
{
imports = [ agent ];
virtualisation = {
useEFIBoot = true;
tpm = {
enable = true;
# Provision the swtpm with an EK certificate signed by testCA so that
# the SPIRE server can verify the agent's identity.
provisioning = ''
export PATH=${
lib.makeBinPath [
pkgs.openssl
pkgs.tpm2-tools
]
}:$PATH
tpm2_createek -G rsa -u ek.pub -c ek.ctx -f pem
openssl x509 \
-extfile ${ekSignConf} \
-new -days 365 \
-subj "/CN=swtpm-ekcert" \
-extensions tpm_policy \
-CA ${./tpm-ek/ca.crt} -CAkey ${./tpm-ek/ca.priv} \
-out ekcert.der -outform der \
-force_pubkey ek.pub
tpm2_nvdefine 0x01c00002 \
-C o \
-a "ownerread|policyread|policywrite|ownerwrite|authread|authwrite" \
-s "$(wc -c < ekcert.der)"
tpm2_nvwrite 0x01c00002 -C o -i ekcert.der
'';
};
};
environment.systemPackages = [ pkgs.spire-tpm-plugin ];
services.spire.agent = {
enable = true;
settings = {
agent = {
trust_domain = trustDomain;
server_address = "server.${trustDomain}";
trust_bundle_format = "pem";
trust_bundle_path = "$CREDENTIALS_DIRECTORY/spire.trust_bundle";
};
plugins = {
KeyManager.memory.plugin_data = { };
NodeAttestor.tpm.plugin_data = { };
WorkloadAttestor.systemd.plugin_data = { };
WorkloadAttestor.unix.plugin_data = { };
};
};
};
};
in
{
name = "spire";
@@ -108,65 +168,8 @@ in
};
};
tpmAgent =
{ pkgs, lib, ... }:
{
imports = [ agent ];
virtualisation = {
useEFIBoot = true;
tpm = {
enable = true;
# Provision the swtpm with an EK certificate signed by testCA so that
# the SPIRE server can verify the agent's identity.
provisioning = ''
export PATH=${
lib.makeBinPath [
pkgs.openssl
pkgs.tpm2-tools
]
}:$PATH
tpm2_createek -G rsa -u ek.pub -c ek.ctx -f pem
openssl x509 \
-extfile ${ekSignConf} \
-new -days 365 \
-subj "/CN=swtpm-ekcert" \
-extensions tpm_policy \
-CA ${./tpm-ek/ca.crt} -CAkey ${./tpm-ek/ca.priv} \
-out ekcert.der -outform der \
-force_pubkey ek.pub
tpm2_nvdefine 0x01c00002 \
-C o \
-a "ownerread|policyread|policywrite|ownerwrite|authread|authwrite" \
-s "$(wc -c < ekcert.der)"
tpm2_nvwrite 0x01c00002 -C o -i ekcert.der
'';
};
};
environment.systemPackages = [ pkgs.spire-tpm-plugin ];
services.spire.agent = {
enable = true;
settings = {
agent = {
trust_domain = trustDomain;
server_address = "server.${trustDomain}";
trust_bundle_format = "pem";
trust_bundle_path = "$CREDENTIALS_DIRECTORY/spire.trust_bundle";
};
plugins = {
KeyManager.memory.plugin_data = { };
NodeAttestor.tpm.plugin_data = { };
WorkloadAttestor.systemd.plugin_data = { };
WorkloadAttestor.unix.plugin_data = { };
};
};
};
};
tpmAgent = tpmAgent;
tpmSelectorAgent = tpmAgent;
};
testScript =
@@ -175,8 +178,6 @@ in
adminSocket = nodes.server.services.spire.server.settings.server.socket_path;
in
''
spiffe_id = "spiffe://${trustDomain}/service/backdoor"
def provision_trust_bundle(agent):
# TODO: instead of trust bundle to talk to the spire-server, use an upstream CA?
bundle = server.succeed("spire-server bundle show -socketPath ${adminSocket}")
@@ -197,28 +198,34 @@ in
return f"spiffe://${trustDomain}/spire/agent/tpm/{ek_hash}"
def provision_tpm_selector(agent):
agent.wait_for_unit("tpm2.target")
alias_id = "spiffe://${trustDomain}/aliased-agent/tpm-model"
register_entry("spiffe://${trustDomain}/spire/server", "tpm:model:ST33HTPHAHD4", alias_id)
return alias_id
def register_entry(parent_id, selector, spiffe_id):
server.succeed(f"spire-server entry create -socketPath ${adminSocket} -selector '{selector}' -parentID '{parent_id}' -spiffeID '{spiffe_id}'")
def test_agent(name, agent_node, provision_fn):
workload_spiffe_id = f"spiffe://${trustDomain}/{name}/workload"
with subtest(f"Setup SPIRE agent with {name} attestation"):
provision_trust_bundle(agent_node)
parent_id = provision_fn(agent_node)
register_entry(parent_id, "systemd:id:backdoor.service", spiffe_id)
register_entry(parent_id, "unix:user:workload", "spiffe://${trustDomain}/workload")
register_entry(parent_id, "unix:user:workload", workload_spiffe_id)
agent_node.wait_for_unit("spire-agent.service")
agent_node.wait_until_succeeds("spire-agent healthcheck -socketPath $SPIFFE_ENDPOINT_SOCKET", timeout=90)
with subtest(f"Test certificate authentication from {name} agent"):
agent_node.wait_until_succeeds("spire-agent api fetch x509 -socketPath $SPIFFE_ENDPOINT_SOCKET -write .")
with subtest(f"Workload running as non-root, non-spire-agent user can reach Workload API ({name})"):
# SPIRE's security model relies on workload attestation, not unix
# permissions on the socket. Verify an unrelated user can connect.
agent_node.wait_until_succeeds(
with subtest(f"Workload user receives the {name} workload SVID"):
# Each agent node is fresh, so fetch returns "no identity issued"
# (non-zero) until exactly this entry's SVID is cached content-aware
# retry isn't needed.
output = agent_node.wait_until_succeeds(
"su -s /bin/sh workload -c "
"'spire-agent api fetch x509 -socketPath \"$SPIFFE_ENDPOINT_SOCKET\"'"
)
# TODO: Add something to communicate with
t.assertIn(workload_spiffe_id, output)
with subtest("SPIRE server startup and health checks"):
@@ -228,6 +235,7 @@ in
test_agent("join_token", agent, provision_join_token)
test_agent("tpm", tpmAgent, provision_tpm)
test_agent("tpm-selector", tpmSelectorAgent, provision_tpm_selector)
'';
}
@@ -37,8 +37,8 @@ let
}
''
mkdir -p "$out/queries"
if [ -d "${super.nvim-treesitter.src}/runtime/queries/${language}" ]; then
ln -s "${super.nvim-treesitter.src}/runtime/queries/${language}" "$out/queries/${language}"
if [ -d "${self.nvim-treesitter}/runtime/queries/${language}" ]; then
ln -s "${self.nvim-treesitter}/runtime/queries/${language}" "$out/queries/${language}"
else
echo "Error: there are no queries for ${language}."
exit 1
@@ -2918,8 +2918,8 @@ let
mktplcRef = {
name = "marp-vscode";
publisher = "marp-team";
version = "3.5.0";
hash = "sha256-BH+9HK08+G2hZTanOuBplxl/cYpGrIqrapFGjNIX4QA=";
version = "3.5.1";
hash = "sha256-t8ozV99HBHLiVMYMxh8bJ2QzMd/2PEeEDpzvqHavwPw=";
};
meta = {
license = lib.licenses.mit;
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "github";
name = "copilot-chat";
version = "0.44.2";
hash = "sha256-kjLpbA6zUta4K86yEDiLNWvy3kJ3AvF2fncCO/JVl6I=";
version = "0.45.1";
hash = "sha256-xxJ+h0/XyT8otXUzIYW9/KMxKLk5zoEE/fiqj4SZK+A=";
};
meta = {
@@ -14,8 +14,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "gplane";
name = "wasm-language-tools";
version = "1.16.0";
hash = "sha256-H2exVPaF8tYdpXBcooFi5bysp85OLOwxbKrB3HJes0Y=";
version = "1.20.0";
hash = "sha256-AXLwEp6uospVZwd2NxLEfABsNQOt1uRJTQ4HMTXbrJc=";
};
buildPhase = ''
@@ -11,26 +11,26 @@ vscode-utils.buildVscodeMarketplaceExtension {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-xtbI0mqkjF21pL/0R0DReHVMlsf32ys2iprxp6AsTao=";
hash = "sha256-YHerrkqMlLLHvbuM1fT6g4nBgO1DIkRBC+5ncw9ZA+I=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-wpmx2RNAmGwwehBI/KpKNN3qxoWYFcESYKRRzc5pK/U=";
hash = "sha256-iXRw+07xkSi6Gxhx+iezBaGlAaZM2L0BmzZ5ZfFUEbc=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-zp3V8o9BDV29PA8xSlZ/RglnYkuc1rd+N5CuXIqd4ME=";
hash = "sha256-WkDu27TW1C+0UvNvNpWGKUhvqWo9rHMTWI9ro/gOYHs=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-7Scr8lumlZu5M1pGAWfQTMIpBXWU1/yp5kVE3LpFSVM=";
hash = "sha256-5RDH+TAfSkEYIleb2gb9vg+akWXp2JDcSUqyHZNJh/M=";
};
};
in
{
name = "visualjj";
publisher = "visualjj";
version = "0.28.1";
version = "0.28.3";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
@@ -73,8 +73,8 @@ rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "150.0.1";
sha512 = "bf3d33357965cd144decef7c8865b6c18043502aea8d090d93fe29555379b924e3925d58276411f38fdcdc87b54ab3ae7d6aa6619feec9b856f8f227225cb375";
version = "150.0.2";
sha512 = "3e52220ff34aa6cd1bf46a910dba1f30d0abf7d19ed7f501ffeeb8f5901b8d97fdc0adb0cceb434ef8e83c7f7b83f28024b872280237af72ff2da9d89fafe065";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
+3 -2
View File
@@ -17,6 +17,7 @@ let
last
optionalString
strings
toFunction
types
;
in
@@ -751,7 +752,7 @@ rec {
## `pkgs.writers.writeHaskell` usage example
```nix
writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
writeHaskell "missiles" { libraries = hpkgs: [ hpkgs.acme-missiles ]; } ''
import Acme.Missiles
main = launchMissiles
@@ -777,7 +778,7 @@ rec {
makeBinWriter {
compileScript = ''
cp $contentPath tmp.hs
${(ghc.withPackages (_: libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
${(ghc.withPackages (toFunction libraries))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
mv tmp $out
'';
inherit makeWrapperArgs strip;
@@ -11,13 +11,13 @@
stdenv.mkDerivation {
pname = "asha-pipewire-sink";
version = "0-unstable-2024-10-22";
version = "0-unstable-2025-05-20";
src = fetchFromGitHub {
owner = "thewierdnut";
repo = "asha_pipewire_sink";
rev = "bbf665b9a3b90fcdbaeb092799ea3c5ba4347e31";
hash = "sha256-PuJ6lBV7s5OqGe1X4wD7T+8LVMCFpgvM1pnMjXYr8gs=";
rev = "16a9c1cfba2d9aaa2cedbd86b4aa4f8e556736ae";
hash = "sha256-9nfcFB37rBvgu0usySxovbxwQLrGCKDg6dk5kBU50C4=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -14,16 +14,16 @@
}:
buildGoModule (finalAttrs: {
pname = "buildkite-agent";
version = "3.124.0";
version = "3.126.0";
src = fetchFromGitHub {
owner = "buildkite";
repo = "agent";
tag = "v${finalAttrs.version}";
hash = "sha256-HdTMsCBvd3vN/OkpBpiJ7dXq50PXx165NWmKGGpikUQ=";
hash = "sha256-JkXWd8I66iQVx/L+qHH0MGcJ/1AtPRZ7bL7+/pqCky0=";
};
vendorHash = "sha256-VE7YEBIrkDG1ERGXnib0LPjBWcrepGAqwY5yKzSQ6wg=";
vendorHash = "sha256-p8Xfm+jql2tFihiETlCjZBsx6o5S8DwpHkkjKk6yCV8=";
postPatch = ''
substituteInPlace clicommand/agent_start.go --replace /bin/bash ${bash}/bin/bash
+25 -9
View File
@@ -14,7 +14,6 @@
sqlite,
lld,
writableTmpDirAsHomeHook,
fetchpatch,
# Test deps
curl,
@@ -22,6 +21,9 @@
git,
python3,
esbuild,
# self for passthru
deno,
}:
let
@@ -90,13 +92,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
env.RUSTY_V8_ARCHIVE = librusty_v8;
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
# these four arch+platform combinations.
doCheck =
stdenv.hostPlatform.isDarwin
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
# Don't run checks on hydra as they've been observed to be flakey for us and
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
# We haven't reproduced it on local machines, could be related to doing other
# builds simultaneously.
# A build with tests (+ librusty_v8 tests) is included in `deno.passhtru.tests`
doCheck = false;
# check related config is left in the main package so if someone uses
# `overrideAttrs` to always build with tests, it'll all work.
preCheck =
# Provide esbuild binary at `./third_party/prebuilt/` just like upstream:
# https://github.com/denoland/deno_third_party/tree/master/prebuilt
@@ -243,7 +246,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru = {
updateScript = ./update.sh;
tests = callPackage ./tests { };
tests = (callPackage ./tests { }) // {
build-with-unit-tests = deno.overrideAttrs (fa: {
# The tools test suite requires building the test server
dontBuild = false;
# Many tests depend on prebuilt binaries being present at `./third_party/prebuilt`.
# We provide nixpkgs binaries for these for all platforms, but the test runner itself only handles
# these four arch+platform combinations.
doCheck =
stdenv.hostPlatform.isDarwin
|| (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isx86_64));
});
# Also include librusty_v8 tests
librusty_v8-tests = librusty_v8.passthru.tests;
};
inherit librusty_v8;
};
+16
View File
@@ -153,6 +153,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
"fortify3"
];
# Don't run checks on hydra as they've been observed to be flakey for us and
# other distros CI: https://gitlab.alpinelinux.org/alpine/aports/-/blob/bec8b026686323b496365b825ad14fdf4473adf2/community/deno/APKBUILD#L79
# We haven't reproduced it on local machines, could be related to doing other
# builds simultaneously.
# A build with tests is included as part of `deno.passhtru.tests` via `librusty_v8.passthru.tests`
doCheck = false;
# Check related config is left in the main package so if someone uses
# `overrideAttrs` to always build with tests, it'll all work.
checkFlags = [
# These tests probably fail due to a more recent rustc version (upstream: 1.89.0, here: 1.93.0)
"--skip=ui"
@@ -167,6 +175,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
runHook postInstall
'';
passthru = {
tests = {
build-with-unit-tests = deno.passthru.librusty_v8.overrideAttrs (fa: {
doCheck = true;
});
};
};
requiredSystemFeatures = [ "big-parallel" ];
meta = {
+186 -196
View File
@@ -1,13 +1,13 @@
[
{
"pname": "Acornima",
"version": "1.2.0",
"hash": "sha256-eDApwoJgsWOmCTGPn+o2xpfZEXupAw1+41nCBtAzTas="
"version": "1.4.0",
"hash": "sha256-7SCe3Bgcyzlv6nXQfTOy3UZLc7ilZ3YXxgl6mcTF82s="
},
{
"pname": "AdvancedStringBuilder",
"version": "0.1.1",
"hash": "sha256-pLixGUct2lQnSeckSHVnIEoGfsvz3gkA914QSHdaheE="
"version": "0.2.0",
"hash": "sha256-66bPgNGU/wLpGs9mydkBBlTEJRpvfHDwWEysUsufZJY="
},
{
"pname": "AngleSharp",
@@ -46,8 +46,8 @@
},
{
"pname": "BlazorSortable",
"version": "5.2.1",
"hash": "sha256-T+0zzQOq81NJUtER+9Ag5DQvn1v3+rbA5AOu/zqWFVg="
"version": "6.0.1",
"hash": "sha256-VrK9dW5ULwfTOwxKvZU+OiXLuFEldmOx2kju5OBxSu0="
},
{
"pname": "Blurhash.Core",
@@ -59,16 +59,6 @@
"version": "2.0.0",
"hash": "sha256-I22mdiA6Ltr0D2pyryUyS0z5YboBr5UY9LZFcer3FPs="
},
{
"pname": "Bugsnag",
"version": "4.1.0",
"hash": "sha256-o30fm7J9tZouVRf0oZNR2hTukc2V8HpdRK30Uu5dZcc="
},
{
"pname": "Bugsnag.AspNet.Core",
"version": "4.1.0",
"hash": "sha256-L/aMCcmE7xLEtap5/H56VwCsDI4N/m8jgoj6SkxM7x8="
},
{
"pname": "Chronic.Core",
"version": "0.4.0",
@@ -76,18 +66,18 @@
},
{
"pname": "CliWrap",
"version": "3.10.0",
"hash": "sha256-XMGTr0gkZxSOC72hrCjpIChpN0c0A19X3TqOAdBtgb4="
"version": "3.10.1",
"hash": "sha256-uH4SXiMkUIPw5RRyKtDTTCSkkr3BhBAPrxnC4O4ES4c="
},
{
"pname": "Dapper",
"version": "2.1.66",
"hash": "sha256-e5n/wnAFGPDSe30oQQ0fanXrvFZYYa+qCDSTHtfQmPw="
"version": "2.1.72",
"hash": "sha256-9CKyz72/Vp5/GIoxJzl7RAXTj4MvKTgFi/7fGyhRqf4="
},
{
"pname": "Destructurama.Attributed",
"version": "5.2.0",
"hash": "sha256-0WBuqkLizviaHA5xrbSbs8Z90MLy+fal+NPe4LyLP2k="
"version": "5.3.0",
"hash": "sha256-1hj6Y0MSgjNRCSP90fFoaC3md58pOO9VsZzTpXRWFy0="
},
{
"pname": "EFCore.BulkExtensions",
@@ -126,13 +116,18 @@
},
{
"pname": "Elastic.Clients.Elasticsearch",
"version": "9.3.0",
"hash": "sha256-h2ExrklcO6tVFV2ecxnGXA4uY9D1tiQ3sqmmN7wrRoM="
"version": "9.3.6",
"hash": "sha256-vRFjnDERVzH3uk9i2j0M8ygs9qzq9fL8jWxhnUX0ins="
},
{
"pname": "Elastic.Esql",
"version": "0.11.0",
"hash": "sha256-o4OYz2vJq5jOjuOzs6YVIwO5nIQYV5pDyVYwFzU2oDM="
},
{
"pname": "Elastic.Transport",
"version": "0.10.3",
"hash": "sha256-9AcJAN3uP3wywsm52caPg6Qgt4iZS0nhjIl2bb0hlx8="
"version": "0.17.0",
"hash": "sha256-XRz9obr31ShKHAmNM9vkh9UZ7+u8GfGFvtX/wOduINw="
},
{
"pname": "ExtendedNumerics.BigDecimal",
@@ -191,8 +186,8 @@
},
{
"pname": "Heron.MudCalendar",
"version": "3.4.0",
"hash": "sha256-QVrlIlO35o2LElr+Ac3F6UZHlI9fosIjheucWBF+QZU="
"version": "4.0.0",
"hash": "sha256-B0XLRt7/V3pHxOwNNwDpua/R53wS8hN6TrA+iHw03Nk="
},
{
"pname": "HtmlSanitizer",
@@ -206,8 +201,8 @@
},
{
"pname": "Humanizer.Core",
"version": "3.0.1",
"hash": "sha256-Wxqf1FRXtsQulLFtbfsfYu4oZmrCuOZAikMcY2i6Dww="
"version": "3.0.10",
"hash": "sha256-mflSENjDof1Av9M9RLGEQcl4V4keVfH3qIxy/uxJ6FE="
},
{
"pname": "J2N",
@@ -216,23 +211,23 @@
},
{
"pname": "Jint",
"version": "4.5.0",
"hash": "sha256-1+cTMz+HMVl+AVYRdpd77wblEF+aVRL+tTMoI46H52c="
"version": "4.8.0",
"hash": "sha256-+K8NGiJ1SChiyMrjn4dJOiBdnWXP6UOfXSsNsJ5//tI="
},
{
"pname": "Json.More.Net",
"version": "3.0.0",
"hash": "sha256-zlJb9Wi9ErFqN8FYphzog9paPxI3DBVnoTL0c12Bfks="
"version": "3.0.1",
"hash": "sha256-U4Ers0TkbNsrC8TBJsuQcm9IHirf2BRCOf+9uaOhQSs="
},
{
"pname": "JsonPointer.Net",
"version": "7.0.0",
"hash": "sha256-/1GemlLhmYnz/HDQTpEEaGxaofoFkFUMNNPInKhAvM4="
"version": "7.0.1",
"hash": "sha256-KCU4NBKrNAJysKlew0IHN5TD+Euo83wfG9Pi1koAWEk="
},
{
"pname": "JsonSchema.Net",
"version": "9.0.0",
"hash": "sha256-N5bp2OswdoQI5fe/ZaKmk7LwL9woJ5cV4D43IUeFJ3E="
"version": "9.2.0",
"hash": "sha256-vz2JWvZ7HM87NXgGc+MS2Nff2q4u+w1gns8GK41LOmw="
},
{
"pname": "LanguageExt.Core",
@@ -279,11 +274,6 @@
"version": "4.8.0-beta00017",
"hash": "sha256-hHL4liVC3k8+PZVIE8N8SdT8UQkEj55IocsY5QEX52s="
},
{
"pname": "Markdig",
"version": "0.44.0",
"hash": "sha256-EVuUTv5l68t7bP2vJ2njypxuRzH52AztXyBF9LUJrrI="
},
{
"pname": "MedallionTopologicalSort",
"version": "1.0.0",
@@ -316,33 +306,33 @@
},
{
"pname": "Microsoft.AspNetCore.Authentication.JwtBearer",
"version": "10.0.2",
"hash": "sha256-3M89gVZd6YdEKk+/VnNJoWgAkqPkFj8PC32ai3vwm+E="
"version": "10.0.7",
"hash": "sha256-Y1DM6+4ji/xoAxv9NLsJOj7YUkQA5ItrlTR3NL2XcrE="
},
{
"pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect",
"version": "10.0.2",
"hash": "sha256-Lkp2a7n4MSsk33irb5ByVQ/zFZS5WcoG6Q+rwV8B27Y="
"version": "10.0.7",
"hash": "sha256-hr1QgB9miQO2rXj5heibTX/fa3Tj/Nci8G/pDcrq11c="
},
{
"pname": "Microsoft.AspNetCore.JsonPatch",
"version": "10.0.2",
"hash": "sha256-b1IIM+6HOht8cQsi82KM2epHJ/CvRn16UK57tyWRiU0="
"version": "10.0.7",
"hash": "sha256-sbF5N0U+OXZKRUXXPppPrvJXevmUGnvDl6LqPtpEsBY="
},
{
"pname": "Microsoft.AspNetCore.Mvc.NewtonsoftJson",
"version": "10.0.2",
"hash": "sha256-KSRRa8gmn84qphEFNaLl0PwVmG/gQpgzMHc4FIct8E0="
"version": "10.0.7",
"hash": "sha256-nVAGFNglXbdJtuk099NVyC+qN/lgL3T0UdZ0GtJ1d1M="
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "10.0.2",
"hash": "sha256-FU57fPXL4NUDRqi+rLresi4yKttv1KcAnLuEdPCyTos="
"version": "10.0.7",
"hash": "sha256-WlAW49otxYzgrmuqHewUoBsjDcAZwhNz5WVbCT4EiIA="
},
{
"pname": "Microsoft.AspNetCore.SpaServices.Extensions",
"version": "10.0.2",
"hash": "sha256-ZY0Aj8amA9XLD/SWu7+kc/2ROq8lwHa5cK7k0ec4j9k="
"version": "10.0.7",
"hash": "sha256-xDbi4sbKmyrNYw+L1EIQx3RrVrezxPWICuz250dsEjA="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
@@ -421,8 +411,8 @@
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "9.0.12",
"hash": "sha256-rV9MvBeKDh3DBf9IqHTzCogLKHsAJ0TEfcfSboCI/o0="
"version": "9.0.15",
"hash": "sha256-4KjfN468fFj8sapfSv4FzYpuhTie89UJ5jg18Nm06zc="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
@@ -436,23 +426,23 @@
},
{
"pname": "Microsoft.EntityFrameworkCore",
"version": "9.0.12",
"hash": "sha256-TCGyEqqYfJ5nXiAi0xVZe8Bwx8TZ0xefLE7h87b40+Y="
"version": "9.0.15",
"hash": "sha256-Ou8paIss4D6SL2T4mUB3URVD9gkpK6YQ+mmvTuwmxzg="
},
{
"pname": "Microsoft.EntityFrameworkCore.Abstractions",
"version": "9.0.12",
"hash": "sha256-52OUOGyGUXiwdjWHm7bXbdTmJ1hyphBrrXfFQebptOU="
"version": "9.0.15",
"hash": "sha256-JISfrDTChiNqsXiwIh9hMOjLTUJcdkakFPjUqC3IXb4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Analyzers",
"version": "9.0.12",
"hash": "sha256-RNwUiYCSp/DxNEw+cNO51jFbN1H6jRtTs4XQAcc629E="
"version": "9.0.15",
"hash": "sha256-8/WBMCzYsfpJXLzH70Z1Yz4RUjHWf6vWBBMVb3VwEjM="
},
{
"pname": "Microsoft.EntityFrameworkCore.Design",
"version": "9.0.12",
"hash": "sha256-ulEXCCNkXc3tLSHKqd6tXhj5txfuRL1MTxZNS1tQHnc="
"version": "9.0.15",
"hash": "sha256-4SPaldOH+RASmKSfLGViFf9gzZ3OsAvpBrm5TReqcn4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
@@ -466,8 +456,8 @@
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
"version": "9.0.12",
"hash": "sha256-PNNKkfu7qB1oZDTI3QvT9TUk5EyR1YRriEznha4Q6+M="
"version": "9.0.15",
"hash": "sha256-Z/HgAgCHY2nWaOOWh5AYDTn1CpEZyNQJDOFv1GNlvp4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
@@ -476,13 +466,13 @@
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite",
"version": "9.0.12",
"hash": "sha256-CMrv+8yvKwUj3dHBkdARBfRAbk+lpngXaLeRKsT3Nck="
"version": "9.0.15",
"hash": "sha256-Ydym7NoDB8wADqoG5k5fTT81Dlcqe5yyfSCfknQxz1M="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite.Core",
"version": "9.0.12",
"hash": "sha256-XyBi4Sf3r9xzgbWWhSaxXMq9L9l7jhl0Uouql/yLnAQ="
"version": "9.0.15",
"hash": "sha256-j8y6Iy2M+56wWXdLBo6ZDWk6UlA128kdrsAh9VBDnRg="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite.Core",
@@ -506,28 +496,28 @@
},
{
"pname": "Microsoft.Extensions.ApiDescription.Server",
"version": "10.0.2",
"hash": "sha256-3xz0RLS2+2wI6MI58VLRC5/gnEI+WpTAvPA56AZlE4E="
"version": "10.0.7",
"hash": "sha256-tqh27mFfF2GzXLCSSeX0uEQ9yXVuhlOZDHo3rJVLwKw="
},
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
"version": "10.0.2",
"hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0="
"version": "10.0.7",
"hash": "sha256-u3pHlFaDPeY2v89jNYLiHUQ2aGMKpe5wpXZUt8hkgdE="
},
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
"version": "9.0.12",
"hash": "sha256-5InZVZkpQztuUmMWSFtzanp9zPKfN1gb8Id0kNuaops="
"version": "9.0.15",
"hash": "sha256-x10lmXDYMA3mUS71ujHYKvDJSToDGVp5ajvxV0QaHuE="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "10.0.2",
"hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0="
"version": "10.0.7",
"hash": "sha256-8qXL1F5gE9OZUEp/9pNVT33hjRMVAPt4eovT1NesKoQ="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "9.0.12",
"hash": "sha256-jRs6ObQ4MmhCt0JoCSqlMLLjmPPu1uKnUGUncTjfFvg="
"version": "9.0.15",
"hash": "sha256-nlXdfEfziMtU3cEyadBlwU2ev3d+KtKSt9Sskgejteg="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
@@ -541,13 +531,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.1",
"hash": "sha256-7xdHie4uHwoGZz5yUT4vWg2EWvkLvsSzItWCoqm4dTM="
"version": "10.0.2",
"hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
},
{
"pname": "Microsoft.Extensions.Configuration",
"version": "10.0.2",
"hash": "sha256-dBJAKDyp/sm+ZSMQfH0+4OH8Jnv1s20aHlWS6HNnH+c="
"version": "10.0.7",
"hash": "sha256-2RqDs7+dXtGY78E5jSd1qyKu+dMQkbzv+oMY09SEJm0="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -556,13 +546,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.1",
"hash": "sha256-s4PDp+vtzdxKIxnOT3+dDRoTDopyl8kqmmw4KDnkOtQ="
"version": "10.0.2",
"hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.2",
"hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
"version": "10.0.7",
"hash": "sha256-MnUJzZYnl089xuVi6kpt9kymBIvYun9U+Itd12dM5Co="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -571,8 +561,8 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "9.0.12",
"hash": "sha256-FYIGDiv0aVApHCpoVQs4o9sWeFZhXb3XfK/zWXYlH1g="
"version": "9.0.15",
"hash": "sha256-oiFKtv9fTTQrlk4C/fMY0Jp0ZcxlbvN2WEsMVfPw9J8="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
@@ -586,13 +576,13 @@
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "10.0.1",
"hash": "sha256-fiqTHE6EfaUXICaVrWzQEU/K6GjQNac6yRNErig6wRk="
"version": "10.0.2",
"hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
},
{
"pname": "Microsoft.Extensions.Configuration.Binder",
"version": "10.0.2",
"hash": "sha256-resI9gIxHh2cc+258/i+TjW8xxzKf4ZBTLIcWAMEYz0="
"version": "10.0.7",
"hash": "sha256-lU4G801+Cy3ua+S2slY5UVHOPXdF0I7r3lYX38mQSPw="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
@@ -601,24 +591,24 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.2",
"hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
"version": "10.0.7",
"hash": "sha256-dICogdaqa5mHqyvFA0lTomFa39Dqm4nn7Pit6qi6eQY="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "9.0.12",
"hash": "sha256-pNKpg5UELjrn4Tm9s0aJigCX7qJ/JeqboU7TY3k+jUo="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.1",
"hash": "sha256-zNUpau51ds7iQTaSUTFtyTHIUoinYc129W50CnufMdQ="
"version": "9.0.15",
"hash": "sha256-9GklcF6RO6QPZTSLzCe/Vy7mPLJIq4lbHhQ9xg+Nvlo="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.2",
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.7",
"hash": "sha256-uQmTQarMn0fuZV03MyCb78Ex+96cuqFHNO5SyFOPkJk="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "8.0.0",
@@ -631,8 +621,8 @@
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "9.0.12",
"hash": "sha256-EZt7Vjl0dll6GZOVCTfC2cYxAG5IWtJHeOGlDJ7rHTg="
"version": "9.0.15",
"hash": "sha256-hszOr6dqOMuiuWPlIbBvqtay42oZfeWtwqX92rvM2MI="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
@@ -641,23 +631,18 @@
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "9.0.12",
"hash": "sha256-CMh5AhCkjIzS0BP+GKael2eIoDSpyXsipWo/M7pcT8g="
"version": "9.0.15",
"hash": "sha256-g8Fe7eV3NX5av6rRA9nlvuf8Pc+0ht7eiVQ8YLG+T2o="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "9.0.9",
"hash": "sha256-0ygY8JLOIKuYFwwdVCtDl8/8fV5IC9JgivfzXsjXXsI="
},
{
"pname": "Microsoft.Extensions.DiagnosticAdapter",
"version": "3.1.32",
"hash": "sha256-moN7Vt47IZ0ZHRMjW+Y1Vbn/7ekvkj9GSm4yjIeAGnI="
},
{
"pname": "Microsoft.Extensions.Diagnostics",
"version": "10.0.2",
"hash": "sha256-Zb/qJA0cZYiPQO7I3AegZCcNT0aJlKTycUP11Mqbm6o="
"version": "10.0.7",
"hash": "sha256-Sd0ZsXgO7w/35vOKN1B0CZdcIcMJnf/Z/8POSikTyRk="
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
@@ -666,8 +651,8 @@
},
{
"pname": "Microsoft.Extensions.Diagnostics.Abstractions",
"version": "10.0.2",
"hash": "sha256-Aob6wq51LdquE7SkkxtCzcuHBKWrJcb3Ebi/dU3aqA4="
"version": "10.0.7",
"hash": "sha256-ocntk68Qa3ccHGEnzmZuKdBWdQEnp4PgwJk63bSRjDA="
},
{
"pname": "Microsoft.Extensions.FileProviders.Abstractions",
@@ -676,8 +661,8 @@
},
{
"pname": "Microsoft.Extensions.FileProviders.Abstractions",
"version": "10.0.2",
"hash": "sha256-tibCkkT9WliU2E/i0ufx7/Va6H6QZX4hR/1oUp8ecgQ="
"version": "10.0.7",
"hash": "sha256-ibxSdxibq1UKOo4Mz+zthbZd0UUFipnJNb0hPwvEXCA="
},
{
"pname": "Microsoft.Extensions.Hosting.Abstractions",
@@ -686,24 +671,19 @@
},
{
"pname": "Microsoft.Extensions.Hosting.Abstractions",
"version": "10.0.2",
"hash": "sha256-mkeKUXepn4bfEdZFXdURmNEFdGiHQdpcxnm6joG+pUA="
"version": "10.0.7",
"hash": "sha256-S1WAgBHPi7H71uQUGyl2aG/IITgYfVNznyXsFrRe/kE="
},
{
"pname": "Microsoft.Extensions.Http",
"version": "10.0.2",
"hash": "sha256-0q9E0HO4YIqUs9ceZpY+nMKtdqdtncTbOjyEOlYdWHs="
"version": "10.0.7",
"hash": "sha256-cbTDyODUPitTBOn88A5R5/QGPzOTCT7qeyP2gG6WOS0="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.0",
"hash": "sha256-P+zPAadLL63k/GqK34/qChqQjY9aIRxZfxlB9lqsSrs="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.1",
"hash": "sha256-zuLP3SIpCToMOlIPOEv3Kq8y/minecd8k8GSkxFo13E="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.2",
@@ -711,8 +691,13 @@
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "9.0.12",
"hash": "sha256-9QhfuxEeAiRoP6rYPs2TZY3N/BAd3AgHGwc1wEIcy6o="
"version": "10.0.7",
"hash": "sha256-AUOet0nWZHB132XCPuyUp5xTFNnWjHhoOtzooFcXHk4="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "9.0.15",
"hash": "sha256-V4ylLCMDJnQzmbR+20+NUlXXw6a3SpGn5VIZ1eCrjuU="
},
{
"pname": "Microsoft.Extensions.Logging",
@@ -726,13 +711,13 @@
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.1",
"hash": "sha256-NRk0feNE1fgi/hyO0AVDbSGJQRT+9yte6Lpm4Hz/2Bs="
"version": "10.0.2",
"hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.2",
"hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
"version": "10.0.7",
"hash": "sha256-/ITLUXgcs5tRDdeileNlmNB92V25CRd1FGBocChJj0g="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
@@ -746,34 +731,29 @@
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "9.0.12",
"hash": "sha256-pl+0ezSkx+GND5pH2gtvhdMiCPodD1YvNP7wl4gDQt4="
"version": "9.0.15",
"hash": "sha256-n8lNcXF+LGLOfYGn6eQ8iFO6eV+XyP2PjVknG73sQbM="
},
{
"pname": "Microsoft.Extensions.Logging.Configuration",
"version": "10.0.1",
"hash": "sha256-/7ywcFsEmmQzWEcIvxoGAYHF0oDSXV/LTDAiW/MNQtg="
"version": "10.0.2",
"hash": "sha256-eSfmagvrcdRVmTXEdzfvWEDNBewB/YClOGSDq4gThk0="
},
{
"pname": "Microsoft.Extensions.Logging.Console",
"version": "10.0.1",
"hash": "sha256-m/E02c5NSCYyH4THNKxpnsi3Kp8gqOi2aPrfXx7sQ9s="
"version": "10.0.2",
"hash": "sha256-mfaypUwMZxEIKBfnmzhnCScC/uPpZBRYN+/2SNcxcu4="
},
{
"pname": "Microsoft.Extensions.Logging.TraceSource",
"version": "10.0.1",
"hash": "sha256-NS7P5jo7dtiH7DmyyipTIfaRf4ZwEJLU2UVG+4hlFSE="
"version": "10.0.2",
"hash": "sha256-iD2epXLjKr41et5vJJTzLTxm+GzVxbAUMrwRm9jmH1c="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.0",
"hash": "sha256-j5MOqZSKeUtxxzmZjzZMGy0vELHdvPraqwTQQQNVsYA="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.1",
"hash": "sha256-vBiSS1vqAC7eDrpJNT4H3A9qLikCSAepnNRbry0mKnk="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.2",
@@ -781,19 +761,24 @@
},
{
"pname": "Microsoft.Extensions.Options",
"version": "9.0.12",
"hash": "sha256-WuEpn1zvPWdS+TTu30s1Z3KMUt+4GpdwRpzqrhtfd60="
"version": "10.0.7",
"hash": "sha256-XtyfdZ26kjnuCF/YHbdGdsIeR/nxSW7yyQZ04sOa9RU="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.1",
"hash": "sha256-1CNSVXZ3RAH4vzbYDqcQHl9c/YBhuSfrFUXCLIx5/rY="
"pname": "Microsoft.Extensions.Options",
"version": "9.0.15",
"hash": "sha256-p1ilUJEqSUSAx3mlTmMm6Jh3A9QvjL+L5D34wugbWIc="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.2",
"hash": "sha256-WJahsWyT5wYdLPEJufHKpb3l/dl7D2iw2SnMK0Jr53U="
},
{
"pname": "Microsoft.Extensions.Options.ConfigurationExtensions",
"version": "10.0.7",
"hash": "sha256-6UBnB1ouWwRkVEGt5xLfXZvpYsCQQJijKvBlBCJOmmM="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.0",
@@ -801,8 +786,8 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.2",
"hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
"version": "10.0.7",
"hash": "sha256-cQBhL1IkRl1lxaZImAZBVS39CfWkB+J6+hJVEVBE35I="
},
{
"pname": "Microsoft.Extensions.Primitives",
@@ -811,8 +796,8 @@
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "9.0.12",
"hash": "sha256-aJBpI8kad6jm0Pno4WQWJZnbM2E3zayjfa8gvoMXI7I="
"version": "9.0.15",
"hash": "sha256-t5zLMH4Vkmuufk53RX0K/sHo7Yy16TuUd8fUd6de0N8="
},
{
"pname": "Microsoft.Identity.Client",
@@ -921,8 +906,8 @@
},
{
"pname": "MudBlazor",
"version": "8.15.0",
"hash": "sha256-I6kJEvND0i3I/amZBhDF8LjYeGGWuMwoSLiev6BS3UM="
"version": "9.4.0",
"hash": "sha256-PsWZYhD35e+W0iBvRN0rv6PspDr615MNBrYGHNIfcNY="
},
{
"pname": "MySqlConnector",
@@ -936,13 +921,13 @@
},
{
"pname": "NCalc.Core",
"version": "5.11.0",
"hash": "sha256-THgAix81mZxztHNMf5JlTPUGbcs1ZuRS3EVM7eFHseg="
"version": "5.12.0",
"hash": "sha256-TxeBjIq33bNgHGWgJRjdKmhnxr3lscEFmL59bBNG0UU="
},
{
"pname": "NCalcSync",
"version": "5.11.0",
"hash": "sha256-Kui0K2WuLS0filTnpdcA3/H/XqqDOjtKms97WqbulEw="
"version": "5.12.0",
"hash": "sha256-Hraol6T5U8B8Z1DrincdjJZREjkt9ZbBPAH7wtZN4a4="
},
{
"pname": "NETStandard.Library",
@@ -1016,8 +1001,8 @@
},
{
"pname": "Parlot",
"version": "1.5.6",
"hash": "sha256-Ffbs7IpgN0aOKScBe64PGySnzWxapVSuM73fQmt+2nU="
"version": "1.5.7",
"hash": "sha256-mvAu74ty4uRP3f+Yy4R/HuhJKApOx/6ASl8nJ1mzvqM="
},
{
"pname": "Pomelo.EntityFrameworkCore.MySql",
@@ -1026,23 +1011,23 @@
},
{
"pname": "Refit",
"version": "9.0.2",
"hash": "sha256-FTq+jJLV9ow3hTrzTBEYwuAibxY6m0XgExNeIGoAAK4="
"version": "10.1.6",
"hash": "sha256-KC0PVsbqx5RHZxItYgJaBeUQBlPLQbTx643BzEhXIc0="
},
{
"pname": "Refit.HttpClientFactory",
"version": "9.0.2",
"hash": "sha256-qxUm0NlJqoOPFRTu7ArdcSR696t5zCB+BniJv1+Xdkc="
"version": "10.1.6",
"hash": "sha256-/fkHB7cFXIRVUDnznQVJBgpwLS8KdhtiASF78xp4C8Q="
},
{
"pname": "Refit.Newtonsoft.Json",
"version": "9.0.2",
"hash": "sha256-cxZtCv7gecMVIVzDrgjMBg81dEAq6DT9ccR10SKuFV4="
"version": "10.1.6",
"hash": "sha256-SJq065kLgo9cJn5sg64hK+7dMxezJbdQJdlp4U1M/1M="
},
{
"pname": "Refit.Xml",
"version": "9.0.2",
"hash": "sha256-FNP7WAnsjncwdSvj4j7mxP2I+O3TNiYzlaTYVBlMWEo="
"version": "10.1.6",
"hash": "sha256-VgPvKHxAB+X5hkD+eapzDcgB8Z+0ZIeX/D14vGRhrCU="
},
{
"pname": "RichTextKit.Stbear",
@@ -1051,13 +1036,13 @@
},
{
"pname": "Scalar.AspNetCore",
"version": "2.12.32",
"hash": "sha256-0EZAD43NpMpX3P8quuctTLSGBxwjxxbyfQodo0e+nII="
"version": "2.14.10",
"hash": "sha256-NojV2iMXKFbZTypeqLhgNdebb9hGLsFyDjkHrjSOryM="
},
{
"pname": "Scriban.Signed",
"version": "6.5.2",
"hash": "sha256-rnhmugQoX+lI0sO+V3KIAsQ9kWs0ow7EpEriQLCYAQw="
"version": "7.1.0",
"hash": "sha256-bUADaUvCUz4uOx/zpiG5IaQKHlWRLiUmCg+90CTuJgI="
},
{
"pname": "Serilog",
@@ -1069,6 +1054,11 @@
"version": "4.3.0",
"hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
},
{
"pname": "Serilog",
"version": "4.3.1",
"hash": "sha256-TY+GaQYnyDfOGl0gi67xDyUMOuV/mjz8BU66/UsmStI="
},
{
"pname": "Serilog.AspNetCore",
"version": "10.0.0",
@@ -1131,8 +1121,8 @@
},
{
"pname": "SkiaSharp",
"version": "3.119.1",
"hash": "sha256-TIVr52NpQ9cab5eJCcH/OYHjNOTKhwCqpClK2c8S4TM="
"version": "3.119.2",
"hash": "sha256-A9F397K5FfLeOsNZacKmUh4IU/WMK60B4Z6TEtS/oqo="
},
{
"pname": "SkiaSharp.HarfBuzz",
@@ -1146,18 +1136,18 @@
},
{
"pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
"version": "3.119.1",
"hash": "sha256-SprThyApThbDoeTn/JaaS7TKdm9SkMoVO8V8HuCyppI="
"version": "3.119.2",
"hash": "sha256-79BCLZAYjfHP1DZKgB+hsyyBlhnyZQPi+Swvs0RYnng="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "3.119.1",
"hash": "sha256-0QJGcO91MWLSeQpE4ZNn/KUVoHRcrPeDbKklxCVB00o="
"version": "3.119.2",
"hash": "sha256-KEeGqSiyAiMbzLgH/0JkwUz/pWcL49gYB1T1YLkMPaI="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "3.119.1",
"hash": "sha256-ySPkn8SrShOqhihC33EJ4HJt9desDISC4gAI4FQBi2U="
"version": "3.119.2",
"hash": "sha256-CI6dg+MlxX8t+vbnkxtd5QE3xalMKkA8LUSudxg7TNU="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
@@ -1196,8 +1186,8 @@
},
{
"pname": "System.CommandLine",
"version": "2.0.2",
"hash": "sha256-PK3wKHjY8FHkPV75Z4ouxKU67WcuVSiMFjAkBs+iSAo="
"version": "2.0.7",
"hash": "sha256-CGm46Hk7eZFvIySEynE+A0Hs5EXDs2FNKKhk/rU77jM="
},
{
"pname": "System.Composition",
@@ -1311,18 +1301,18 @@
},
{
"pname": "Testably.Abstractions",
"version": "10.0.0",
"hash": "sha256-2rixQaYGhCM+NjmkxgOBNjJMFcNHr+3TPP+vsRUMj4w="
"version": "10.2.0",
"hash": "sha256-5qGJPTlon9GBIpXa8vmZOjjPGMTnbXIDzORY10FEl1w="
},
{
"pname": "Testably.Abstractions.FileSystem.Interface",
"version": "10.0.0-pre.1",
"hash": "sha256-UO/Ly7Qd7AqYOIP52pS1YYoaQgOzzZ5745naHMqULZs="
"version": "10.2.0",
"hash": "sha256-4gUlDhO39+eBA/5xbraFpMztu4fcr0SzB+N4amLemQ4="
},
{
"pname": "Testably.Abstractions.Interface",
"version": "10.0.0-pre.1",
"hash": "sha256-Te2+jj1jSleYGEJHlrmj9GYTht62mY14E5WCKDHx4pQ="
"version": "10.2.0",
"hash": "sha256-dNazu3BDDWJp/4O7+Rx2MTPDGypQa8p7LJ3fTAWaP7M="
},
{
"pname": "TimeSpanParserUtil",
@@ -1341,8 +1331,8 @@
},
{
"pname": "WebMarkupMin.Core",
"version": "2.20.1",
"hash": "sha256-6ze4MOSfIKdvMJsroQRtESB8KG5XogO3xk4qOSkHpXQ="
"version": "2.21.0",
"hash": "sha256-k51tTFcdL9Bwsg3gA51ZswGxDtdBFb22BAj9wbyZu1E="
},
{
"pname": "Winista.MimeDetect",
@@ -1351,7 +1341,7 @@
},
{
"pname": "YamlDotNet",
"version": "16.3.0",
"hash": "sha256-4Gi8wSQ8Rsi/3+LyegJr//A83nxn2fN8LN1wvSSp39Q="
"version": "17.1.0",
"hash": "sha256-Zdlw62rVud2U94BQKqrp5OFQiDcQ9rRrKeaVnNxREjY="
}
]
+3 -3
View File
@@ -9,13 +9,13 @@
buildDotnetModule rec {
pname = "ersatztv";
version = "26.3.0";
version = "26.5.1";
src = fetchFromGitHub {
owner = "ErsatzTV";
repo = "ErsatzTV";
repo = "legacy";
rev = "v${version}";
sha256 = "sha256-yFGMkTI+IQs3WTOQzxhqj3ownENsIzLqrDr3nWurzfA=";
sha256 = "sha256-2w+4xppj3E8H6WXea/iuNfloUmBsFQKDBpTnUn3RWvE=";
};
postPatch = ''
# Remove config of development tools that don't end up in
+1 -1
View File
@@ -3,7 +3,7 @@
set -euo pipefail
latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/ersatztv/ersatztv/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/ersatztv/legacy/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; ersatztv.version or (lib.getVersion ersatztv)" | tr -d '"')
if [[ "$currentVersion" == "$latestVersion" ]]; then
+10 -1
View File
@@ -2,12 +2,14 @@
stdenv,
lib,
fetchFromGitHub,
buildPackages,
coreutils,
darwin,
glibcLocales,
gnused,
gnugrep,
gawk,
fish,
man-db,
ninja,
getent,
@@ -281,12 +283,19 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
rustc
rustPlatform.cargoSetupHook
(python3.withPackages (ps: [
(buildPackages.python3.withPackages (ps: [
ps.pexpect
ps.sphinx
]))
# Avoid warnings when building the manpages about HOME not being writable
writableTmpDirAsHomeHook
]
++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
# Building the docs ends up wanting to run fish_indent at build
# time, which obviously can't use a cross compiled fish_indent
# from this derivation. Pull in the build platform's fish to
# provide it.
fish
];
buildInputs = [
+2 -2
View File
@@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "flow";
version = "0.312.0";
version = "0.313.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
tag = "v${finalAttrs.version}";
hash = "sha256-dZJ/WjCmwNIbo/kgFTuaSBOtK/fOg69L5D5PFdvSn/w=";
hash = "sha256-U2TC9IV414X71zhrRb47kCvQkVqOSxzeNnfuoBSeJQE=";
};
patches = [
+4 -4
View File
@@ -1,8 +1,8 @@
import ./generic.nix {
version = "15.0.1";
hash = "sha256-40hyQ6MPskyty/LsMVczuDpbu2q3Syoj3c00HUS+pVE=";
npmDepsHash = "sha256-xWbnSX11RkLjtJ62qG6rD+xQAOnUuI99r9uEHakkZPY=";
vendorHash = "sha256-JUBAcRYgflrvoAK0OvaU/Xr6/BakgaUtYwtvBF9vyk0=";
version = "15.0.2";
hash = "sha256-ba5jog6eXY4TTmBblhfVa2LSLPGE1/HPfslIb30b3kk=";
npmDepsHash = "sha256-70w39jbMWpuAsbzBC9oFHaUMwshtFDeTSEOXDgFNPmE=";
vendorHash = "sha256-I6bGvXBP2K3+Xx9E9DS/AyG6Ilqf/s8VjfBnCmLUHsk=";
lts = true;
nixUpdateExtraArgs = [
"--override-filename"
+19 -3
View File
@@ -5,6 +5,7 @@
fetchFromGitHub,
libusb1,
nix-update-script,
perl,
pkg-config,
rustPlatform,
versionCheckHook,
@@ -12,18 +13,25 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "foundry";
version = "1.5.1";
version = "1.7.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "foundry-rs";
repo = "foundry";
tag = "v${finalAttrs.version}";
hash = "sha256-dMYuv5noIn86WuUJkUixnoNGLgByacung/TBU+EYhUw=";
hash = "sha256-UCaBo4hMStmh79UiyYu7vEO7UtrvwJshe4PTMkqZV0w=";
};
cargoHash = "sha256-+5RLCkAQR8UepdUIsq1FnQmjKMg7YNC1Sxu0CVpWcnc=";
cargoHash = "sha256-iAWUEVgOgn2Zw9fINxyH9Bynh+flzCY40YFGoVLgG8k=";
strictDeps = true;
nativeBuildInputs = [
# `sha3-asm`'s build script runs cryptogams perl scripts to generate
# Keccak assembly, so perl must be available at build time.
perl
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
@@ -43,6 +51,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru.updateScript = nix-update-script { };
env = {
# The build script in `crates/common/build.rs` uses vergen to embed
# `git describe` / SHA output, but the GitHub source tarball has no `.git`
# directory. Pre-set the values so vergen reuses them instead of shelling
# out to git.
VERGEN_GIT_SHA = finalAttrs.src.rev;
VERGEN_GIT_DESCRIBE = "v${finalAttrs.version}";
SVM_RELEASES_LIST_JSON =
if stdenv.hostPlatform.isDarwin then
# Confusingly, these are universal binaries, not amd64.
@@ -64,6 +79,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
beeb
mitchmindtree
msanft
samooyo
];
platforms = lib.platforms.unix;
};
+2 -2
View File
@@ -9,7 +9,7 @@
buildGoModule (finalAttrs: {
pname = "git-ls";
version = "6.0.0";
version = "6.1.0";
__structuredAttrs = true;
strictDeps = true;
@@ -18,7 +18,7 @@ buildGoModule (finalAttrs: {
owner = "llimllib";
repo = "git-ls";
tag = "v${finalAttrs.version}";
hash = "sha256-Is1bt1XLrzatxhMTrzClBeIWkTdepzDaDla1Ng+wrJ0=";
hash = "sha256-RSSddZRgYYQcHQA7ZVGLx/iZFx0crFiSY/EF2luWVjA=";
};
vendorHash = "sha256-Bk6IBG+BrqY4FNVIlbSSSnqqAeL+8SJUtRXuIp4e8f8=";
+5 -3
View File
@@ -4,6 +4,7 @@
fetchFromGitHub,
autoreconfHook,
pkg-config,
wrapGAppsHook3,
gtk3,
librsvg,
libusb1,
@@ -11,18 +12,19 @@
stdenv.mkDerivation {
pname = "inklingreader";
version = "unstable-2017-09-07";
version = "0.8-unstable-2026-05-06";
src = fetchFromGitHub {
owner = "roelj";
repo = "inklingreader";
rev = "90f9d0d7f5353657f4d25fd75635e29c10c08d2e";
sha256 = "sha256-852m8g61r+NQhCYz9ghSbCG0sjao2E8B9GS06NG4GyY=";
rev = "44026d82e494b8068ebd8be377516053487cc2c6";
hash = "sha256-NfjLzgFxo3h3gpPeQ+un5f8n1kIxUBQLLRV2CptuxzA=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
+17
View File
@@ -0,0 +1,17 @@
{
maxima,
ecl,
lisp-compiler ? ecl,
...
}@args:
maxima.override (
{
inherit lisp-compiler;
}
// removeAttrs args [
"maxima"
"ecl"
"lisp-compiler"
]
)
@@ -8,10 +8,11 @@
python3,
makeWrapper,
autoreconfHook,
sbcl,
rlwrap ? null,
tk ? null,
gnuplot ? null,
lisp-compiler,
lisp-compiler ? sbcl,
}:
let
+3 -3
View File
@@ -29,13 +29,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "melonds";
version = "1.1-unstable-2026-04-30";
version = "1.1-unstable-2026-05-11";
src = fetchFromGitHub {
owner = "melonDS-emu";
repo = "melonDS";
rev = "a4d41faae34da170a19aad859e748af0aafa2e6d";
hash = "sha256-dqtjgOMwDp90p4HytNYDTvCIWr2vrPWNqZBX3M9Wc4o=";
rev = "889e26e9490c828b039387e8a2ef04079b86801d";
hash = "sha256-mMeBDsZcljG4FAhkpYlQwfUjA0HMZKNlIx6ndkhn4C0=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -26,20 +26,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "2.19.5";
version = "2.20.6";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-BOxSiSDDMC1OX4Otbn6DiSG4ThIsiRssKwfXh9y9JSM=";
hash = "sha256-c0O6tC+QDhHN3nmzXqNwhAM4+NoFYVO1mtO3V348hDs=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-gDlTNwsLT4hW1+3agSS/eBAW/804c7ElXCEfs58gP8U=";
hash = "sha256-ft7n3J7L+u2hwEiR32Jw2k0ZsHCfI5yIB+IfmtB8xMY=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nedit";
version = "5.7";
version = "5.8";
src = fetchurl {
url = "mirror://sourceforge/nedit/nedit-source/nedit-${finalAttrs.version}-src.tar.gz";
sha256 = "0ym1zhjx9976rf2z5nr7dj4mjkxcicimhs686snjhdcpzxwsrndd";
sha256 = "sha256-WFGqclLa2VIIRSkXNkAjJWLexKfEQCCfGW1T1KWoB00=";
};
hardeningDisable = [ "format" ];
+2 -2
View File
@@ -25,13 +25,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "nixos-facter";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = "numtide";
repo = "nixos-facter";
tag = "v${finalAttrs.version}";
hash = "sha256-bbF16siqAqokXOHwLmBL61p/C7YiDGqBJhhJiF08pHk=";
hash = "sha256-w4tFIouJQLf/JeY7wvvSLbxQv73Bbs11a8EAu6iXwKU=";
};
vendorHash = "sha256-5duwAxAgbPZIbbgzZE2m574TF/0+jF/TvTKI4YBH6jM=";
+3 -2
View File
@@ -21,14 +21,14 @@ let
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "nominatim";
version = "5.2.0";
version = "5.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "osm-search";
repo = "Nominatim";
tag = "v${finalAttrs.version}";
hash = "sha256-ao4oEPz5rtRQtPC2UcIHH1M+o914JraASf+hcB2SDKA=";
hash = "sha256-jP/OkEuFdVdvA8Uztv/49FXm9dsExVDjw2l2gyMOSsg=";
};
postPatch = ''
@@ -57,6 +57,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pyicu
python-dotenv
pyyaml
mwparserfromhell
];
propagatedBuildInputs = [
+113 -7
View File
@@ -2,14 +2,20 @@
lib,
python3Packages,
fetchFromGitHub,
fetchurl,
frida-tools,
apktool,
aapt,
apksigner,
android-tools,
androidenv,
makeWrapper,
buildNpmPackage,
stdenv,
}:
python3Packages.buildPythonApplication rec {
pname = "objection";
let
androidComposition = androidenv.composeAndroidPackages { };
version = "1.12.4";
pyproject = true;
src = fetchFromGitHub {
owner = "sensepost";
repo = "objection";
@@ -17,16 +23,98 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-sXMhLwTsksLRFBGEsKSmDaD0+uDugz2U3yn50rHFbnQ=";
};
fridaVersion = "17.5.1";
supportedPlatforms = {
x86_64-linux = {
fridaArch = "linux-x64";
fridaHash = "sha256-g7uZs/fUwraIu6SZaU9kGGVuzD/nyqmXHVp0zL3jhdY=";
};
aarch64-linux = {
fridaArch = "linux-arm64";
fridaHash = "sha256-BsCgpHS3IFMPciu9hsdu9vWwKu+pon+EtqF10NO1EAc=";
};
armv7l-linux = {
fridaArch = "linux-armv7l";
fridaHash = "sha256-mNl+kP+9a4AC2Tf1SM7mYL5b+j4pPz+E9R88JjLgifE=";
};
i686-linux = {
fridaArch = "linux-ia32";
fridaHash = "sha256-vLwf+EwWNDLznda8J+xVqp8XmuivdZ0VKgISR9YoQR0=";
};
x86_64-darwin = {
fridaArch = "darwin-x64";
fridaHash = "sha256-raODa/EHRpMYNwFK9gxTXWrxnx1G1IbKTKV1343MTm8=";
};
aarch64-darwin = {
fridaArch = "darwin-arm64";
fridaHash = "sha256-mR6HM9rmRmXhWqXA0GC4Xkdj9KVSthhtvMAzijE+j5c=";
};
x86_64-freebsd = {
fridaArch = "freebsd-x64";
fridaHash = "sha256-ddvUtdZJdVH9O7np04ayB/Nebxq4Raw0eAQJpFAFl6Q=";
};
};
currentPlatform =
supportedPlatforms.${stdenv.hostPlatform.system}
or (throw "frida Node.js binding: unsupported system ${stdenv.hostPlatform.system}");
fridaNodeBinding = fetchurl {
url = "https://github.com/frida/frida/releases/download/${fridaVersion}/frida-v${fridaVersion}-napi-v8-${currentPlatform.fridaArch}.tar.gz";
hash = currentPlatform.fridaHash;
};
runtimeTools = [
apktool
aapt
apksigner
android-tools
];
agent = buildNpmPackage {
pname = "objection-agent";
inherit version src;
sourceRoot = "source/agent";
npmDepsHash = "sha256-oG0uMhy6Gv2lc1SNJwqnvYRdhhqWwPMY0MCDMt2hPf0=";
npmRebuildFlags = [ "--ignore-scripts" ];
postPatch = ''
substituteInPlace package.json \
--replace-fail '"frida-compile src/index.ts -o ../objection/agent.js -T none"' \
'"frida-compile src/index.ts -o ./agent.js -T none"'
'';
preBuild = ''
mkdir -p node_modules/frida
tar -xzf ${fridaNodeBinding} -C node_modules/frida
'';
installPhase = ''
runHook preInstall
install -Dm644 agent.js $out/agent.js
runHook postInstall
'';
};
in
python3Packages.buildPythonApplication {
pname = "objection";
inherit version src;
pyproject = true;
build-system = with python3Packages; [
setuptools
];
buildInputs = [
frida-tools
nativeBuildInputs = [
makeWrapper
];
dependencies = with python3Packages; [
frida-python
frida-tools
prompt-toolkit
click
tabulate
@@ -48,6 +136,23 @@ python3Packages.buildPythonApplication rec {
pythonRuntimeDepsCheck = true;
postUnpack = ''
cp ${agent}/agent.js $sourceRoot/objection/
'';
postFixup = ''
mkdir -p "$out/bin-wrapped"
ln -s "${aapt}/bin/aapt2" "$out/bin-wrapped/aapt"
BUILD_TOOLS_PATH="${androidComposition.androidsdk}/libexec/android-sdk/build-tools"
if [ -d "$BUILD_TOOLS_PATH" ]; then
LATEST_BUILD_TOOLS=$(ls -d "$BUILD_TOOLS_PATH"/* 2>/dev/null | sort -V | tail -1)
[ -n "$LATEST_BUILD_TOOLS" ] && ln -s "$LATEST_BUILD_TOOLS/zipalign" "$out/bin-wrapped/zipalign" 2>/dev/null || true
fi
wrapProgram $out/bin/objection \
--prefix PATH : "$out/bin-wrapped:${lib.makeBinPath runtimeTools}"
'';
meta = {
description = "Runtime mobile exploration toolkit, powered by Frida";
longDescription = ''
@@ -60,5 +165,6 @@ python3Packages.buildPythonApplication rec {
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nullstring1 ];
mainProgram = "objection";
platforms = builtins.attrNames supportedPlatforms;
};
}
+3 -3
View File
@@ -9,13 +9,13 @@
}:
let
pname = "open-webui";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
tag = "v${version}";
hash = "sha256-J0B/N4Bb7lRK4/BiILliy/Gw7FayM3liG+4NiskOq9U=";
hash = "sha256-RVmFRThK6dNJyqxKepk9WfxzXIwkRoYijZjR1HEhDm8=";
};
frontend = buildNpmPackage rec {
@@ -32,7 +32,7 @@ let
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
};
npmDepsHash = "sha256-jPGSJ+f5xuhnB4E9/FlgQkC37W6Yw2aGh8O8f8ajVC4=";
npmDepsHash = "sha256-kAUbFAFNo5RHMGqO7sPHSxSEZw9Ky6Pxp/vddDyw90E=";
# See https://github.com/open-webui/open-webui/issues/15880
npmFlags = [
+73 -37
View File
@@ -1,12 +1,15 @@
{
autoPatchelfHook,
bun,
copyDesktopItems,
electron_41,
lib,
makeBinaryWrapper,
makeDesktopItem,
models-dev,
nodejs,
opencode,
stdenv,
stdenvNoCC,
writableTmpDirAsHomeHook,
@@ -30,9 +33,20 @@ stdenvNoCC.mkDerivation (finalAttrs: {
nodejs # for patchShebangs node_modules
makeBinaryWrapper
writableTmpDirAsHomeHook
]
++ lib.optionals stdenvNoCC.hostPlatform.isLinux [
autoPatchelfHook
copyDesktopItems
];
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
(lib.getLib stdenv.cc.cc)
];
# The musl prebuilts ship libc.musl-*.so.1 SONAMEs that autoPatchelfHook can't
# resolve on glibc systems. They aren't loaded at runtime on the host libc anyway.
autoPatchelfIgnoreMissingDeps = [ "libc.musl-*.so.*" ];
strictDeps = true;
env = {
@@ -42,6 +56,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
OPENCODE_DISABLE_MODELS_FETCH = true;
};
postPatch = ''
# The auto-updater would try to download and run an upstream binary that
# isn't patched for Nix. Disable it at source.
substituteInPlace packages/desktop/src/main/constants.ts \
--replace-fail 'app.isPackaged && CHANNEL !== "dev"' 'false'
'';
configurePhase = ''
runHook preConfigure
@@ -69,10 +90,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Build with electron-vite
node_modules/.bin/electron-vite build
# Copy opencode CLI as sidecar
sidecar_name="opencode-cli"
install -D ${lib.getExe opencode} "resources/$sidecar_name"
# Package with electron-builder (unpacked directory mode)
cp -r "${electron.dist}" $HOME/.electron-dist
chmod -R u+w $HOME/.electron-dist
@@ -80,53 +97,72 @@ stdenvNoCC.mkDerivation (finalAttrs: {
node_modules/.bin/electron-builder --dir \
--config=electron-builder.config.ts \
--config.electronDist="$HOME/.electron-dist" \
--config.electronVersion=${electron.version}
--config.electronVersion=${electron.version} \
--config.asarUnpack='**/*.node'
cd ../..
runHook postBuild
'';
installPhase = ''
runHook preInstall
''
+ lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv packages/desktop/dist/mac-*/OpenCode.app "$out/Applications/OpenCode.app"
''
+ lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
mkdir -p $out/opt/opencode-desktop
${
if stdenvNoCC.hostPlatform.isAarch64 then
''
appDir="packages/desktop/dist/linux-arm64-unpacked"
''
else
''
appDir="packages/desktop/dist/linux-unpacked"
''
}
[ -d "$appDir" ] || { echo "no electron-builder output dir found: $appDir"; exit 1; }
cp -r "$appDir/resources" $out/opt/opencode-desktop/
desktopItems = lib.optional stdenvNoCC.hostPlatform.isLinux (makeDesktopItem {
name = "opencode-desktop";
desktopName = "OpenCode";
exec = "opencode-desktop %U";
icon = "opencode-desktop";
startupWMClass = "OpenCode";
categories = [ "Development" ];
mimeTypes = [ "x-scheme-handler/opencode" ];
});
install -Dm644 packages/desktop/resources/icons/icon.png $out/share/icons/opencode-desktop.png
installPhase =
let
appDir = if stdenvNoCC.hostPlatform.isAarch64 then "linux-arm64-unpacked" else "linux-unpacked";
in
lib.concatLines [
''
runHook preInstall
''
(lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
mkdir -p $out/Applications $out/bin
mv packages/desktop/dist/mac-*/OpenCode.app "$out/Applications/OpenCode.app"
ln -s "$out/Applications/OpenCode.app/Contents/MacOS/OpenCode" $out/bin/OpenCode
'')
(lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
mkdir -p $out/opt/opencode-desktop
appDir="packages/desktop/dist/${appDir}"
[ -d "$appDir" ] || { echo "no electron-builder output dir found: $appDir"; exit 1; }
cp -r "$appDir/resources" $out/opt/opencode-desktop/
makeWrapper ${lib.getExe electron} $out/bin/opencode-desktop \
--inherit-argv0 \
--add-flags $out/opt/opencode-desktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
''
+ ''
runHook postInstall
'';
for size in 32 64 128; do
install -Dm644 \
packages/desktop/resources/icons/''${size}x''${size}.png \
$out/share/icons/hicolor/''${size}x''${size}/apps/opencode-desktop.png
done
for size in 30 44 71 89 107 142 150 284 310; do
install -Dm644 \
packages/desktop/resources/icons/Square''${size}x''${size}Logo.png \
$out/share/icons/hicolor/''${size}x''${size}/apps/opencode-desktop.png
done
makeWrapper ${lib.getExe electron} $out/bin/opencode-desktop \
--inherit-argv0 \
--set ELECTRON_FORCE_IS_PACKAGED 1 \
--add-flags $out/opt/opencode-desktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
'')
''
runHook postInstall
''
];
meta = {
description = "AI coding agent desktop client";
homepage = "https://opencode.ai";
inherit (opencode.meta) platforms;
license = lib.licenses.mit;
mainProgram = "OpenCode";
mainProgram = if stdenvNoCC.hostPlatform.isDarwin then "OpenCode" else "opencode-desktop";
maintainers = with lib.maintainers; [ xiaoxiangmoe ];
};
})
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openscad-lsp";
version = "2.0.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "Leathong";
repo = "openscad-LSP";
tag = "v${finalAttrs.version}";
hash = "sha256-ACxsXGeVYmB13x/n+molCoScSOe6Zh2PYiaGGHnd4DQ=";
hash = "sha256-vzlwt1lTaZIqHS/+6bVPHjd+Ex3G/YDVNW0JKZ0arnk=";
};
cargoHash = "sha256-Q4NrRVSic7M1CFq24ffUv3d835PmaHus4Z0lLnUQ7Ts=";
cargoHash = "sha256-BU3gabsC/5lH59NSSBn2Zr5/egxcHAt7iCAftrOh1ak=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
+4 -2
View File
@@ -1,4 +1,5 @@
{
lib,
fetchFromGitHub,
openttd,
zstd,
@@ -6,13 +7,13 @@
openttd.overrideAttrs (oldAttrs: rec {
pname = "openttd-jgrpp";
version = "0.69.2";
version = "0.72.2";
src = fetchFromGitHub {
owner = "JGRennison";
repo = "OpenTTD-patches";
rev = "jgrpp-${version}";
hash = "sha256-D9Oh05Isf7Atsih6tZBA8xS04aCuE8VS5Ghf0FvrU5A=";
hash = "sha256-Ql3W+Xr5zXDW/IBY23X+RMSXieCqn35hYY3jfYGahgs=";
};
patches = [ ];
@@ -22,6 +23,7 @@ openttd.overrideAttrs (oldAttrs: rec {
homepage = "https://github.com/JGRennison/OpenTTD-patches";
changelog = "https://github.com/JGRennison/OpenTTD-patches/blob/jgrpp-${version}/jgrpp-changelog.md";
mainProgram = "openttd";
maintainers = with lib.maintainers; [ artifycz ];
};
})
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "pdftoipe";
version = "7.2.29.1";
version = "7.2.29.2";
src = fetchFromGitHub {
owner = "otfried";
repo = "ipe-tools";
rev = "v${version}";
hash = "sha256-6FI0ZLRrDmNFAKyht7hB94MsCy+TasD6Mb/rx6sdCdg=";
hash = "sha256-BLZKOq7/3QSuwR0yjrDiiIh9N93qk8ihbEPIQ2h+Ffc=";
};
sourceRoot = "${src.name}/pdftoipe";
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "reproxy";
version = "1.5.0";
version = "1.6.0";
src = fetchFromGitHub {
owner = "umputun";
repo = "reproxy";
tag = "v${finalAttrs.version}";
hash = "sha256-nJAE2oEoIzuRFRlgypRROXZYfQy3y2m14QbBUUGQBSg=";
hash = "sha256-eAxksLPCQrmKRKNlFhDb5dfXSaa9o/rexM1n+CiPZvw=";
};
vendorHash = null;
+2 -2
View File
@@ -43,11 +43,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "saga";
version = "9.12.2";
version = "9.12.3";
src = fetchurl {
url = "mirror://sourceforge/saga-gis/saga-${finalAttrs.version}.tar.gz";
hash = "sha256-1q7/dBhmXSaj0bEGU8EAOJesR2sfnQPVK6DVL9TD3V0=";
hash = "sha256-GLVFk3gaTJ6+AF3Vk201NwzetDI6VTA1Q7sE3KHyqDA=";
};
sourceRoot = "saga-${finalAttrs.version}/saga-gis";
+3 -3
View File
@@ -12,14 +12,14 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "seconlay";
version = "0-unstable-2026-04-13";
version = "0-unstable-2026-04-30";
src = fetchFromGitLab {
group = "alasca.cloud";
owner = "scl";
repo = "scl-management";
rev = "af2a66ba496a39246ff180ec85b638a24dc74be9";
hash = "sha256-T5j7tWcZsHG+LLJHxg+bhT+/8Nh1GznX3u3RLarT9J8=";
rev = "a2020efbbc950d037e17a3ae8d628e3205a80447";
hash = "sha256-/m2HUdyT/euFVvWPZAHjPGsBH9XeUMuNGlfJFfH/A8Y=";
};
cargoHash = "sha256-pb9xqdgWrf8Lc10jSkkDb/1n0e15fMQ3AcKNPw6/vi8=";
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "spire-tpm-plugin";
version = "1.11.1";
version = "1.11.3";
src = fetchFromGitHub {
owner = "spiffe";
repo = "spire-tpm-plugin";
tag = "v${finalAttrs.version}";
hash = "sha256-6hy1aQg0tS2wxOZRbZLv82HQEufVmW/a5L6Da+bNeHU=";
hash = "sha256-QHFLFotfMyUxKQHN1CcmNMvLvMEatltZPHiUA3G5QWo=";
};
proxyVendor = true;
@@ -20,7 +20,7 @@
let
pname = "synology-drive-client";
baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient";
version = "4.0.2-17889";
version = "4.0.3-17892";
buildNumberFn = ver: lib.last (lib.splitString "-" ver);
meta = {
description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server";
@@ -50,7 +50,7 @@ let
src = fetchurl {
url = "${baseUrl}/${finalAttrs.version}/Ubuntu/Installer/synology-drive-client-${buildNumberFn finalAttrs.version}.x86_64.deb";
sha256 = "sha256-refsAzqYmKAr107D4HiJViBQE1Qa6QoOECtX+TPjSwU=";
sha256 = "sha256-9q7FpZdNWZY+2DP98aDMe+vWEthpH0kcYsuncM3HjWc=";
};
nativeBuildInputs = [
@@ -138,7 +138,7 @@ let
src = fetchurl {
url = "${baseUrl}/${finalAttrs.version}/Mac/Installer/synology-drive-client-${buildNumberFn finalAttrs.version}.dmg";
sha256 = "sha256-KAoc31Y2RTHu7RWgC61brtoeFR1c+pNi4Odub2JHrfQ=";
sha256 = "sha256-+ZJA7r0xYhpu614I1mqILCfYN/8YddEwgWglmmpfB+o=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -14,13 +14,13 @@
buildGoModule (finalAttrs: {
pname = "tektoncd-cli";
version = "0.44.1";
version = "0.45.0";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
tag = "v${finalAttrs.version}";
sha256 = "sha256-99DqW4nZFTKuGOa7f/xU+5wyaIxx5yoGJMKgCbnWWLU=";
sha256 = "sha256-2n/RBMy3mkG9F9PtFaZ1TCyW9MYbGF1nr6GgL+ps7ok=";
};
vendorHash = null;
@@ -1,38 +0,0 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation {
pname = "typodermic-free-fonts";
version = "2024-12";
src = fetchzip {
url = "https://typodermicfonts.com/wp-content/uploads/2024/12/typodermic-free-fonts-2024d.zip";
hash = "sha256-tfv0PTu1gOWXxaoiQJNqnhJKGChGlGJqsqsb/xvBfGU=";
curlOptsList = [
"--user-agent"
"Mozilla/5.0"
]; # unbreak their wordpress
stripRoot = false;
};
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/opentype/
cp "$src/"*.otf $out/share/fonts/opentype/
runHook postInstall
'';
meta = {
homepage = "https://typodermicfonts.com/";
description = "Typodermic fonts";
license = lib.licenses.unfree // {
fullName = "Font Software for Desktop End User License Agreement";
url = "https://typodermicfonts.com/end-user-license-agreement/";
}; # Font is fine for use in printing and display but cannot be embbeded.
};
}
@@ -1,36 +0,0 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation {
pname = "typodermic-public-domain";
version = "2024-04";
src = fetchzip {
url = "https://typodermicfonts.com/wp-content/uploads/2024/04/typodermic-public-domain-2024-04.zip";
hash = "sha256-grAAU/yL/Q1EyZtrvcgrB6bcXMZoNs7suVYaKibqBOE=";
curlOptsList = [
"--user-agent"
"Mozilla/5.0"
]; # unbreak their wordpress
stripRoot = false;
};
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts
cp -a "$src/OpenType Fonts" "$out/share/fonts/opentype"
runHook postInstall
'';
meta = {
homepage = "https://typodermicfonts.com/";
description = "Vintage Typodermic fonts";
license = lib.licenses.cc0;
platforms = lib.platforms.all;
};
}
@@ -1,430 +0,0 @@
{ eggDerivation, fetchegg }:
rec {
blob-utils = eggDerivation {
name = "blob-utils-1.0.3";
src = fetchegg {
name = "blob-utils";
version = "1.0.3";
sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
};
buildInputs = [
setup-helper
string-utils
];
};
check-errors = eggDerivation {
name = "check-errors-1.13.0";
src = fetchegg {
name = "check-errors";
version = "1.13.0";
sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
};
buildInputs = [
setup-helper
];
};
crypto-tools = eggDerivation {
name = "crypto-tools-1.3";
src = fetchegg {
name = "crypto-tools";
version = "1.3";
sha256 = "0442wly63zis19vh8xc9nhxgp9sabaccxylpzmchd5f1d48iag65";
};
buildInputs = [
];
};
fnmatch = eggDerivation {
name = "fnmatch-1.0.1";
src = fetchegg {
name = "fnmatch";
version = "1.0.1";
sha256 = "1m3jmyhkyqmjr7v628g6w5n3cqihcfnryrxn91k4597q7vjhikqr";
};
buildInputs = [
];
};
foreigners = eggDerivation {
name = "foreigners-1.4.1";
src = fetchegg {
name = "foreigners";
version = "1.4.1";
sha256 = "07nvyadhkd52q0kkvch1a5d7ivpmrhmyg295s4mxb1nw4wz46gfz";
};
buildInputs = [
matchable
];
};
lookup-table = eggDerivation {
name = "lookup-table-1.13.5";
src = fetchegg {
name = "lookup-table";
version = "1.13.5";
sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
};
buildInputs = [
setup-helper
check-errors
miscmacros
record-variants
synch
];
};
lru-cache = eggDerivation {
name = "lru-cache-0.5.3";
src = fetchegg {
name = "lru-cache";
version = "0.5.3";
sha256 = "0z6g3106c4j21v968hfzy9nnbfq2d83y0nyd20aifpq4g55c0d40";
};
buildInputs = [
record-variants
];
};
matchable = eggDerivation {
name = "matchable-3.3";
src = fetchegg {
name = "matchable";
version = "3.3";
sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
};
buildInputs = [
];
};
message-digest = eggDerivation {
name = "message-digest-3.1.0";
src = fetchegg {
name = "message-digest";
version = "3.1.0";
sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
};
buildInputs = [
setup-helper
miscmacros
check-errors
variable-item
blob-utils
string-utils
];
};
miscmacros = eggDerivation {
name = "miscmacros-2.96";
src = fetchegg {
name = "miscmacros";
version = "2.96";
sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
};
buildInputs = [
];
};
numbers = eggDerivation {
name = "numbers-4.4";
src = fetchegg {
name = "numbers";
version = "4.4";
sha256 = "0bg5zs6jcr9arj4a7r2xqxf2n17bx93640jaivgchbdj1gixranm";
};
buildInputs = [
];
};
parley = eggDerivation {
name = "parley-0.9.2";
src = fetchegg {
name = "parley";
version = "0.9.2";
sha256 = "1vsbx4dk1240gzq02slzmavd1jrq04qj7ssnvg15h8xh81xwhbbz";
};
buildInputs = [
stty
srfi-71
miscmacros
];
};
pathname-expand = eggDerivation {
name = "pathname-expand-0.1";
src = fetchegg {
name = "pathname-expand";
version = "0.1";
sha256 = "14llya7l04z49xpi3iylk8aglrw968vy304ymavhhqlyzmzwkx3g";
};
buildInputs = [
];
};
posix-extras = eggDerivation {
name = "posix-extras-0.1.6";
src = fetchegg {
name = "posix-extras";
version = "0.1.6";
sha256 = "0gnmhn2l0161ham7f8i0lx1ay94ap8l8l7ga4nw9qs86lk024abi";
};
buildInputs = [
];
};
record-variants = eggDerivation {
name = "record-variants-0.5.1";
src = fetchegg {
name = "record-variants";
version = "0.5.1";
sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
};
buildInputs = [
];
};
regex = eggDerivation {
name = "regex-1.0";
src = fetchegg {
name = "regex";
version = "1.0";
sha256 = "1z9bh7xvab6h5cdlsz8jk02pv5py1i6ryqarbcs3wdgkkjgmmkif";
};
buildInputs = [
];
};
setup-helper = eggDerivation {
name = "setup-helper-1.5.5";
src = fetchegg {
name = "setup-helper";
version = "1.5.5";
sha256 = "1lpplp8f2wyc486dd98gs4wl1kkhh1cs6vdqkxrdk7f92ikmwbx3";
};
buildInputs = [
];
};
sql-de-lite = eggDerivation {
name = "sql-de-lite-0.6.6";
src = fetchegg {
name = "sql-de-lite";
version = "0.6.6";
sha256 = "1mh3hpsibq2gxcpjaycqa4ckznj268xpfzsa6pn0i6iac6my3qra";
};
buildInputs = [
lru-cache
foreigners
];
};
srfi-37 = eggDerivation {
name = "srfi-37-1.3.1";
src = fetchegg {
name = "srfi-37";
version = "1.3.1";
sha256 = "1a2zdkdzrv15fw9dfdy8067fsgh4kr8ppffm8mc3cmlczrrd58cb";
};
buildInputs = [
];
};
srfi-71 = eggDerivation {
name = "srfi-71-1.1";
src = fetchegg {
name = "srfi-71";
version = "1.1";
sha256 = "01mlaxw2lfczykmx69xki2s0f4ywlg794rl4kz07plvzn0s3fbqq";
};
buildInputs = [
];
};
ssql = eggDerivation {
name = "ssql-0.2.4";
src = fetchegg {
name = "ssql";
version = "0.2.4";
sha256 = "0qhnghhx1wrvav4s7l780mspwlh8s6kzq4bl0cslwp1km90fx9bk";
};
buildInputs = [
matchable
];
};
string-utils = eggDerivation {
name = "string-utils-1.2.4";
src = fetchegg {
name = "string-utils";
version = "1.2.4";
sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
};
buildInputs = [
setup-helper
miscmacros
lookup-table
check-errors
];
};
stty = eggDerivation {
name = "stty-0.2.6";
src = fetchegg {
name = "stty";
version = "0.2.6";
sha256 = "09jmjpdsd3yg6d0f0imcihmn49i28x09lgl60i2dllffs25k22s4";
};
buildInputs = [
setup-helper
foreigners
];
};
synch = eggDerivation {
name = "synch-2.1.2";
src = fetchegg {
name = "synch";
version = "2.1.2";
sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
};
buildInputs = [
setup-helper
check-errors
];
};
tiger-hash = eggDerivation {
name = "tiger-hash-3.1.0";
src = fetchegg {
name = "tiger-hash";
version = "3.1.0";
sha256 = "0j9dsbjp9cw0y4w4srg0qwgh53jw2v3mx4y4h040ds0fkxlzzknx";
};
buildInputs = [
message-digest
];
};
ugarit = eggDerivation {
name = "ugarit-2.0";
src = fetchegg {
name = "ugarit";
version = "2.0";
sha256 = "1l5zkr6b8l5dw9p5mimbva0ncqw1sbvp3d4cywm1hqx2m03a0f1n";
};
buildInputs = [
miscmacros
sql-de-lite
crypto-tools
srfi-37
stty
matchable
regex
tiger-hash
message-digest
posix-extras
parley
ssql
pathname-expand
];
};
ugarit-manifest-maker = eggDerivation {
name = "ugarit-manifest-maker-0.1";
src = fetchegg {
name = "ugarit-manifest-maker";
version = "0.1";
sha256 = "1jv8lhn4s5a3qphqd3zfwl1py0m5cmqj1h55ys0935m5f422547q";
};
buildInputs = [
matchable
srfi-37
fnmatch
miscmacros
ugarit
numbers
];
};
variable-item = eggDerivation {
name = "variable-item-1.3.1";
src = fetchegg {
name = "variable-item";
version = "1.3.1";
sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
};
buildInputs = [
setup-helper
check-errors
];
};
}
@@ -1,37 +0,0 @@
{
lib,
chickenPackages_4,
}:
let
eggs = import ./eggs.nix { inherit (chickenPackages_4) eggDerivation fetchegg; };
in
chickenPackages_4.eggDerivation rec {
pname = "ugarit-manifest-maker";
version = "0.1";
name = "${pname}-${version}";
src = chickenPackages_4.fetchegg {
inherit version;
name = pname;
sha256 = "1jv8lhn4s5a3qphqd3zfwl1py0m5cmqj1h55ys0935m5f422547q";
};
buildInputs = with eggs; [
matchable
srfi-37
fnmatch
miscmacros
ugarit
numbers
];
meta = {
homepage = "https://www.kitten-technologies.co.uk/project/ugarit-manifest-maker/";
description = "Tool for generating import manifests for Ugarit";
mainProgram = "ugarit-manifest-maker";
license = lib.licenses.bsd3;
platforms = lib.platforms.unix;
};
}
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasm-language-tools";
version = "0.10.4";
version = "0.10.7";
src = fetchFromGitHub {
owner = "g-plane";
repo = "wasm-language-tools";
tag = "v${finalAttrs.version}";
hash = "sha256-0E4bifmjx0sr9pp8vycqS0EcTI73A90hiyLTAlkw954=";
hash = "sha256-iPZAF4BJ+uVUADsltJpkjc1O1X4dJOIQB5V6Nv5L3TU=";
};
cargoHash = "sha256-nN07OSzq29Z08o0s5ozGQAI0Dh/125UmFO7G+28B8Qc=";
cargoHash = "sha256-KrKtTcQFVHaaxTxozszH7V3qkOK/EVrCk17OWGkJa3E=";
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/wat_server";
+9
View File
@@ -3,6 +3,7 @@
stdenv,
buildPackages,
fetchFromGitHub,
fetchpatch,
libbpf,
elfutils,
zlib,
@@ -26,6 +27,14 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-wLSLDgACl6a6gQLvRiRR9HQFRMrGWYZAa5CcdzECExE=";
};
patches = [
(fetchpatch {
name = "musl.patch";
url = "https://github.com/xdp-project/xdp-tools/commit/2ff228be7926ba01e13c8d328828a270af2e7e0d.patch";
hash = "sha256-jYdcC36nL4P4IadwGfva8nqMerd/2HHw2RYhc+wR9nk=";
})
];
outputs = [
"out"
"lib"
+3 -3
View File
@@ -58,13 +58,13 @@ assert (
);
rustPlatform.buildRustPackage (finalAttrs: {
pname = "xremap${variant.suffix or ""}";
version = "0.15.5";
version = "0.15.6";
src = fetchFromGitHub {
owner = "xremap";
repo = "xremap";
tag = "v${finalAttrs.version}";
hash = "sha256-DwI0y344MLsbz1V2yok2vrFF774xybUrD/g+euF13Nk=";
hash = "sha256-/Hd12d4F9Ocv7Rj1q+KsKdb2T3eq7odOhfZTMgKLZ5o=";
};
nativeBuildInputs = [ pkg-config ];
@@ -72,7 +72,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildNoDefaultFeatures = true;
buildFeatures = variant.features;
cargoHash = "sha256-Q+riJ7fbbSj0Dspm4cNp0uYlDa0bmj4wsYVm8uzWKu0=";
cargoHash = "sha256-Qsql2BJGM6Knvnm8NMtCMOvplHU04CxxwrzedSxUA1I=";
passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants;
+4 -3
View File
@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "zensical";
version = "0.0.39";
version = "0.0.41";
pyproject = true;
# We fetch from PyPi, because GitHub repo does not contain all sources.
@@ -16,12 +16,12 @@ python3Packages.buildPythonApplication (finalAttrs: {
# We could combine sources, but then nix-update won't work.
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-KocTxUNirbCIHpsFFLWtmmljJHVmmd7bVfocvzzMDto=";
hash = "sha256-bDyQMBEjdJ38JqIQ1sCA8GkSU8fHZa0wihC0UYNppv4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-dsmb65a/dDQJXxPqM2re1w9NkomuL4JtJm0c09rN4BI=";
hash = "sha256-pfDqqtD0kKGVKkv7DvEUKpdDYk9xvRs5gmLCafFHrhs=";
};
nativeBuildInputs = with rustPlatform; [
@@ -32,6 +32,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
dependencies = with python3Packages; [
click
deepmerge
jinja2
markdown
pygments
pymdown-extensions
@@ -107,64 +107,6 @@ optionals noSysDirs (
## 2. Patches relevant on specific platforms ####################################
### Musl+Go+gcc12
# backport fixes to build gccgo with musl libc
++ optionals (stdenv.hostPlatform.isMusl && langGo) [
# libgo: handle stat st_atim32 field and SYS_SECCOMP
# syscall: gofmt
# Add blank lines after //sys comments where needed, and then run gofmt
# on the syscall package with the new formatter.
# See https://go-review.googlesource.com/c/gofrontend/+/412074
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/cf79b1117bd177d3d4c6ed24b6fa243c3628ac2d.diff";
hash = "sha256-mS5ZiYi5D8CpGXrWg3tXlbhp4o86ew1imCTwaHLfl+I=";
})
# libgo: permit loff_t and off_t to be macros
# See https://go-review.googlesource.com/c/gofrontend/+/412075
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/7f195a2270910a6ed08bd76e3a16b0a6503f9faf.diff";
hash = "sha256-Ze/cFM0dQofKH00PWPDoklXUlwWhwA1nyTuiDAZ6FKo=";
})
# libgo: handle stat st_atim32 field and SYS_SECCOMP
# See https://go-review.googlesource.com/c/gofrontend/+/415294
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/762fd5e5547e464e25b4bee435db6df4eda0de90.diff";
hash = "sha256-o28upwTcHAnHG2Iq0OewzwSBEhHs+XpBGdIfZdT81pk=";
})
# runtime: portable access to sigev_notify_thread_id
# See https://sourceware.org/bugzilla/show_bug.cgi?id=27417
# See https://go-review.googlesource.com/c/gofrontend/+/434755
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/e73d9fcafbd07bc3714fbaf8a82db71d50015c92.diff";
hash = "sha256-1SjYCVHLEUihdON2TOC3Z2ufM+jf2vH0LvYtZL+c1Fo=";
})
# syscall, runtime: always call XSI strerror_r
# See https://go-review.googlesource.com/c/gofrontend/+/454176
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/b6c6a3d64f2e4e9347733290aca3c75898c44b2e.diff";
hash = "sha256-RycJ3YCHd3MXtYFjxP0zY2Wuw7/C4bWoBAQtTKJZPOQ=";
})
# libgo: check for makecontext in -lucontext
# See https://go-review.googlesource.com/c/gofrontend/+/458396
(fetchpatch {
excludes = [ "gcc/go/gofrontend/MERGE" ];
url = "https://github.com/gcc-mirror/gcc/commit/2b1a604a9b28fbf4f382060bebd04adb83acc2f9.diff";
hash = "sha256-WiBQG0Xbk75rHk+AMDvsbrm+dc7lDH0EONJXSdEeMGE=";
})
# x86: Fix -fsplit-stack feature detection via TARGET_CAN_SPLIT_STACK
# Fixes compiling for non-glibc target
(fetchpatch {
url = "https://github.com/gcc-mirror/gcc/commit/c86b726c048eddc1be320c0bf64a897658bee13d.diff";
hash = "sha256-QSIlqDB6JRQhbj/c3ejlmbfWz9l9FurdSWxpwDebnlI=";
})
]
## Darwin
# Fixes detection of Darwin on x86_64-darwin and aarch64-darwin. Otherwise, GCC uses a deployment target of 10.5, which crashes ld64.
@@ -0,0 +1,31 @@
From 1d4f6917c1e71c6f4716be844bc4ef99e07a64f1 Mon Sep 17 00:00:00 2001
From: Peder Bergebakken Sundt <pbsds@hotmail.com>
Date: Tue, 5 May 2026 20:58:35 +0200
Subject: [PATCH] Fix building with pybind11 v3.0.2
pyrealsense2 fails to build with pybind11 v3.0.2
Build error log: https://cache.nixos.org/log/kcry0khph8g0crka6zzkznn8izfvsrq1-librealsense-2.56.3.drv
Cause: https://github.com/pybind/pybind11/pull/5533
I based this fix on https://github.com/NGSolve/netgen/commit/ceacae3844ed2f0c48c8b6a3a82904b16c594f41
I'm not very familiar with pybind11, please double check whether this fix is correct.
---
wrappers/python/pyrs_frame.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wrappers/python/pyrs_frame.cpp b/wrappers/python/pyrs_frame.cpp
index c5e07bd17f..a2a974eb1b 100644
--- a/wrappers/python/pyrs_frame.cpp
+++ b/wrappers/python/pyrs_frame.cpp
@@ -144,7 +144,7 @@ void init_frame(py::module &m) {
.def_property_readonly("frame_number", &rs2::frame::get_frame_number, "The frame number. Identical to calling get_frame_number.")
.def("get_data_size", &rs2::frame::get_data_size, "Retrieve data size from frame handle.")
.def("get_data", get_frame_data, "Retrieve data from the frame handle.", py::keep_alive<0, 1>())
- .def_property_readonly("data", get_frame_data, "Data from the frame handle. Identical to calling get_data.", py::keep_alive<0, 1>())
+ .def_property_readonly("data", py::cpp_function(get_frame_data, "Data from the frame handle. Identical to calling get_data.", py::keep_alive<0, 1>()))
.def("get_profile", &rs2::frame::get_profile, "Retrieve stream profile from frame handle.")
.def_property_readonly("profile", &rs2::frame::get_profile, "Stream profile from frame handle. Identical to calling get_profile.")
.def("keep", &rs2::frame::keep, "Keep the frame, otherwise if no refernce to the frame, the frame will be released.")
@@ -78,6 +78,8 @@ stdenv'.mkDerivation rec {
patches = [
./py_pybind11_no_external_download.patch
./install-presets.patch
# upstream pr: https://github.com/realsenseai/librealsense/pull/15022
./0001-fix-pybind11.patch
];
postPatch = ''
@@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "niquests";
version = "3.18.7";
version = "3.18.8";
pyproject = true;
src = fetchFromGitHub {
owner = "jawah";
repo = "niquests";
tag = "v${version}";
hash = "sha256-ujqnb0B282MJi+2oy9AJfJY3KCE5JTjuJuyeeV0gZWA=";
hash = "sha256-yr0N+wkGyscCz34xtAU7qMQT+kN341AL/7PZwGwzhpo=";
};
build-system = [ hatchling ];
@@ -14,14 +14,14 @@
buildPythonPackage (finalAttrs: {
pname = "pysma";
version = "1.1.3";
version = "1.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "kellerza";
repo = "pysma";
tag = "v${finalAttrs.version}";
hash = "sha256-0+hnsHFTZHyhtLiYe7V2SjmS6powjgER4azcVTUV0+A=";
hash = "sha256-w+uOmFJkfT0speP5hCdWVwGUbyNlidwunsx3Z9O3X9Q=";
};
postPatch = ''
@@ -14,19 +14,19 @@
buildPythonPackage rec {
pname = "qh3";
version = "1.8.0";
version = "1.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "jawah";
repo = "qh3";
tag = "v${version}";
hash = "sha256-aXFevAz5B58ZnK/LImULpETQNNyRKH9vY1CoGh5mKxI=";
hash = "sha256-/N0cVm5IHijShv0/q83useJRP5/N3+9L1vtrm7Y9vp8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-+J2MDFbynUWgyLcGYRMIvo0PW6Hy8+ka2H6HMaBIOl8=";
hash = "sha256-7SbN8uj+TPoAhIwXqhqCGqWGpg9sYob95TYAHixIVkM=";
};
nativeBuildInputs = [
@@ -25,14 +25,14 @@
buildPythonPackage rec {
pname = "urllib3-future";
version = "2.19.913";
version = "2.20.902";
pyproject = true;
src = fetchFromGitHub {
owner = "jawah";
repo = "urllib3.future";
tag = version;
hash = "sha256-ReoVZb31M1N1oxSFYGd1x1P5/qBx/oFEjaxJEiMwbvM=";
hash = "sha256-81t6yGmfON73oGg4uZYmVqeUpXX/SmKU69y/PfEWA7s=";
};
postPatch = ''
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "wassima";
version = "2.0.6";
version = "2.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jawah";
repo = "wassima";
tag = version;
hash = "sha256-k7gLLSfVVCk2YO7WRof3s3L2DVgFitQl9KRq9Bc+fJ8=";
hash = "sha256-0YHj5cmGZlZqUow+xkpQKHe+KB4X/OklEs4u8z/uV18=";
};
build-system = [ hatchling ];
@@ -1,6 +1,6 @@
{ lib, fetchFromGitHub }:
let
version = "3.14.0";
version = "3.14.1";
vendorHash = "sha256-fibx+Ky2cfP71tPzeiDybx+0f/+XvZbDXC7PAWQMRIY=";
nodeModulesHash = "sha256-wQUOUB5uhWbdEP1nP02ihRZf3F1sEvQeZTDxOa5P1lQ=";
in
@@ -11,7 +11,7 @@ in
owner = "woodpecker-ci";
repo = "woodpecker";
tag = "v${version}";
hash = "sha256-FFGNjQa4W6T1BmbNh3rD1m7vtJFBWmgxocRV+OO5ZfA=";
hash = "sha256-D9AC9D8O3n420yvEzYhV7ev7dLZULAZ55iUWDmla4z0=";
};
postInstall = ''
+3
View File
@@ -2107,6 +2107,8 @@ mapAliases {
trust-dns = throw "'trust-dns' has been renamed to/replaced by 'hickory-dns'"; # Converted to throw 2025-10-27
tvbrowser-bin = throw "'tvbrowser-bin' has been renamed to/replaced by 'tvbrowser'"; # Converted to throw 2025-10-27
twitterBootstrap = warnAlias "'twitterBootstrap' has been renamed to 'twitter-bootstrap'"; # Added 2026-02-12
typodermic-free-fonts = throw "'typodermic-free-fonts' has been removed as it is unmaintained in nixpkgs, and the src is prone to breakage."; # Added 2026-05-07
typodermic-public-domain = throw "'typodermic-public-domain' has been removed as it is unmaintained in nixpkgs, and the src is prone to breakage."; # Added 2026-05-07
typst-fmt = throw "'typst-fmt' has been renamed to/replaced by 'typstfmt'"; # Converted to throw 2025-10-27
typstfmt = throw "'typstfmt' has been removed due to lack of upstream maintenance, consider using 'typstyle' instead"; # Added 2025-10-26
uade123 = throw "'uade123' has been renamed to/replaced by 'uade'"; # Converted to throw 2025-10-27
@@ -2114,6 +2116,7 @@ mapAliases {
ubuntu_font_family = throw "'ubuntu_font_family' has been renamed to/replaced by 'ubuntu-classic'"; # Converted to throw 2025-10-27
udisks2 = udisks; # Added 2025-10-30
ue4demos = throw "'ue4demos' has been removed because it is unmaintained"; # Added 2026-02-07
ugarit-manifest-maker = throw "'ugarit-manifest-maker' has been removed because it is unmaintained"; # Added 2026-05-07
unicap = throw "'unicap' has been removed because it is unmaintained"; # Added 2025-05-17
unifi-poller = throw "'unifi-poller' has been renamed to/replaced by 'unpoller'"; # Converted to throw 2025-10-27
unixODBC = warnAlias "'unixODBC' has been renamed to 'unixodbc'" unixodbc; # Added 2026-02-12
-7
View File
@@ -11579,13 +11579,6 @@ with pkgs;
gap-full = lowPrio (gap.override { packageSet = "full"; });
maxima = callPackage ../applications/science/math/maxima {
lisp-compiler = sbcl;
};
maxima-ecl = maxima.override {
lisp-compiler = ecl;
};
### SCIENCE / MISC
boinc-headless = boinc.override { headless = true; };