Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
@@ -305,7 +305,7 @@ This package puts the corepack wrappers for pnpm and yarn in your PATH, and they
|
||||
|
||||
### pnpm {#javascript-pnpm}
|
||||
|
||||
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9` and `pnpm_10`, which support different sets of lock file versions.
|
||||
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9`, `pnpm_10`, `pnpm_10_29_2` and `pnpm_11`, which support different sets of lock file versions.
|
||||
|
||||
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above:
|
||||
|
||||
@@ -313,11 +313,18 @@ When packaging an application that includes a `pnpm-lock.yaml`, you need to fetc
|
||||
{
|
||||
fetchPnpmDeps,
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_11,
|
||||
pnpmConfigHook,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
let
|
||||
# It is recommended to pin pnpm to a major version, due to regular breaking changes in the store format
|
||||
# The latest major version is always available under `pkgs.pnpm`
|
||||
# Optionally override pnpm to use a custom nodejs version
|
||||
# Make sure that the same nodejs version is referenced in nativeBuildInputs
|
||||
# pnpm = pnpm_11.override { nodejs = nodejs_24; };
|
||||
pnpm = pnpm_11;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "foo";
|
||||
version = "0-unstable-1980-01-01";
|
||||
@@ -334,6 +341,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "...";
|
||||
};
|
||||
|
||||
@@ -290,6 +290,8 @@
|
||||
|
||||
- `spacefm` was removed because it appeared to be unmaintained upstream.
|
||||
|
||||
- `neofetch` has been removed because it was unmaintained upstream. Consider using the updated fork `neowofetch` provided by the `hyfetch` package or the alternative `fastfetch` instead.
|
||||
|
||||
- `vimPlugins.nvim-treesitter` has been updated to `main` branch, which is a full and incompatible rewrite. If you can't or don't want to update, you should use `vimPlugins.nvim-treesitter-legacy`.
|
||||
|
||||
- `services.taskchampion-sync-server` module have been added an option `services.taskchampion-sync-server.dynamicUser` to use systemd's DynamicUser feature. This is enabled by default when stateVersion is at least 26.05, and disabled otherwise. If you need this feature, you need to set `services.taskchampion-sync-server.dynamicUser` to `true` and migrate `/var/lib/taskchampion-sync-server` to `/var/lib/private/taskchampion-sync-server`.
|
||||
|
||||
@@ -2336,6 +2336,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";
|
||||
@@ -12611,7 +12618,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"; } ];
|
||||
@@ -24332,6 +24339,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";
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -116,7 +116,7 @@ in
|
||||
# config file. starship appears to use a hardcoded config location
|
||||
# rather than one inside an XDG folder:
|
||||
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
|
||||
if [[ ! -f "$HOME/.config/starship.toml" ]]; then
|
||||
if [[ ! -f "$${STARSHIP_CONFIG:-$HOME/.config/starship.toml}" ]]; then
|
||||
export STARSHIP_CONFIG=${settingsFile}
|
||||
fi
|
||||
eval "$(${cfg.package}/bin/starship init bash --print-full-init)"
|
||||
@@ -129,7 +129,8 @@ in
|
||||
# config file. starship appears to use a hardcoded config location
|
||||
# rather than one inside an XDG folder:
|
||||
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
|
||||
if not test -f "$HOME/.config/starship.toml";
|
||||
set -q STARSHIP_CONFIG; or set STARSHIP_CONFIG "$HOME/.config/starship.toml"
|
||||
if not test -f "$STARSHIP_CONFIG"
|
||||
set -x STARSHIP_CONFIG ${settingsFile}
|
||||
end
|
||||
${lib.optionalString (!isNull cfg.transientPrompt.left) ''
|
||||
@@ -153,7 +154,7 @@ in
|
||||
# config file. starship appears to use a hardcoded config location
|
||||
# rather than one inside an XDG folder:
|
||||
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
|
||||
if [[ ! -f "$HOME/.config/starship.toml" ]]; then
|
||||
if [[ ! -f "$${STARSHIP_CONFIG:-$HOME/.config/starship.toml}" ]]; then
|
||||
export STARSHIP_CONFIG=${settingsFile}
|
||||
fi
|
||||
eval "$(${cfg.package}/bin/starship init zsh)"
|
||||
@@ -167,8 +168,11 @@ in
|
||||
# config file. starship appears to use a hardcoded config location
|
||||
# rather than one inside an XDG folder:
|
||||
# https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
|
||||
if not `$HOME/.config/starship.toml`:
|
||||
import os as _os
|
||||
_sc = _os.environ.get('STARSHIP_CONFIG', _os.path.join(_os.environ['HOME'], '.config/starship.toml'))
|
||||
if not _os.path.isfile(_sc):
|
||||
$STARSHIP_CONFIG = ('${settingsFile}')
|
||||
del _os, _sc
|
||||
execx($(${cfg.package}/bin/starship init xonsh))
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
specialisation.with-plugins.configuration = {
|
||||
services.caddy = {
|
||||
package = pkgs.caddy.withPlugins {
|
||||
plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20241211194404-3865845790a7" ];
|
||||
hash = "sha256-Quib7+jFf2ElS4yvrJhuLiedX3lBNwxpEDskxxyVu+8=";
|
||||
plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20250618171559-80962887e4c6" ];
|
||||
hash = "sha256-kKWXpxEAn23yud8tcgw7FFOaxLjoodZ/cuM1239TRoY=";
|
||||
};
|
||||
configFile = pkgs.writeText "Caddyfile" ''
|
||||
{
|
||||
|
||||
+78
-70
@@ -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;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
pkgs,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
nodejs,
|
||||
@@ -12,6 +12,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
vsix = stdenv.mkDerivation (finalAttrs: {
|
||||
name = "gitlens-${finalAttrs.version}.vsix";
|
||||
pname = "gitlens-vsix";
|
||||
@@ -26,6 +28,7 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-Yuxuqr1BiviSw+dGNHLs2jAy8ADlBvRks6Kmy7FmCMw=";
|
||||
};
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
nodejs,
|
||||
@@ -11,6 +11,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
vsix = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
name = "roo-code-${finalAttrs.version}.vsix";
|
||||
pname = "roo-code-vsix";
|
||||
@@ -25,6 +27,7 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-t2sPuhn8xdk6hGfmViPGG+5TAhtBBOMYNoOb6DlPzws=";
|
||||
};
|
||||
|
||||
@@ -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}");
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "fceumm";
|
||||
version = "0-unstable-2026-04-20";
|
||||
version = "0-unstable-2026-05-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-fceumm";
|
||||
rev = "448a231618186b2af0bb9d6e37aeca05467e112f";
|
||||
hash = "sha256-Kr3DEAk8dsFnUT73pOp5qwkCbcDItQwrRMI8hobrCuI=";
|
||||
rev = "3a84a6fd0ba20dd4877c06b1d58741172148395f";
|
||||
hash = "sha256-4+kEoN0+SWl284n7tIR76aysf0GlLdxELDXfpEK6mi8=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "genesis-plus-gx";
|
||||
version = "0-unstable-2026-05-01";
|
||||
version = "0-unstable-2026-05-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "Genesis-Plus-GX";
|
||||
rev = "252694adb9ebf2abcc7a1340d4078dce53d8954f";
|
||||
hash = "sha256-mFij3fLDMvyby3ata47YJN7YuBKGv4/xphFQDiFKY3A=";
|
||||
rev = "fa993f040d7150bda672b3e3ebe36c9bd2ea8904";
|
||||
hash = "sha256-4igo4uwpDwbP6oTtlF6pwDF7+WZ0FgeFCtmPVNpULBo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -9,10 +9,10 @@
|
||||
|
||||
buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "150.0.2";
|
||||
version = "150.0.3";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "e22fc66f7faeb9bef4036d0a90af4c27dabc45a3dc59c7290536bfe46c7624d73388d29b36a8999e364065fa31a5fa167596632229b0af9bc1baf4135fa29a4d";
|
||||
sha512 = "8452da61200f8ee66790d3fff230ca84b2ac9291af2b57e018486c50f938c53c6fb4943fe6cfe1e99b9783466fb00bf707fa006293753ac698618fc1e3b70a4a";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"aiven_aiven": {
|
||||
"hash": "sha256-0f+ZxjMoPyOL4qatcRVk8jjn9TAZkinUX7eYQ1hv+FQ=",
|
||||
"hash": "sha256-ni4Y5MRnu6AL491wRD8UoQ4MJmnopumYoq59wGujSUQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/aiven/aiven",
|
||||
"owner": "aiven",
|
||||
"repo": "terraform-provider-aiven",
|
||||
"rev": "v4.55.2",
|
||||
"rev": "v4.56.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-toCbbqzi0h6hUeyKMClUBcWsh8+H00K0IjdkgZ5HmOs="
|
||||
"vendorHash": "sha256-vSSgABGm1aHGVPIsNXylpan8E07eOQ/Nc8Lf1N3+P5c="
|
||||
},
|
||||
"akamai_akamai": {
|
||||
"hash": "sha256-/+IE06obx4Rxzz3uh5QbeS/FhGlK2qTJJFWGAlDWJaw=",
|
||||
@@ -580,13 +580,13 @@
|
||||
"vendorHash": "sha256-UoS4iIVHhCQ+Zk+SJmsMHJgJBKLMbfMVmtm4MDmzT68="
|
||||
},
|
||||
"hashicorp_google-beta": {
|
||||
"hash": "sha256-ltqZ6nyl/leYsV2pBJVgOtcOYIyfDmDLsZLfHTPOyew=",
|
||||
"hash": "sha256-/HxUOhDATteiUDIeA8zvGI9xQ5rOWJAhLN9PLHiBFfI=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-google-beta",
|
||||
"rev": "v7.30.0",
|
||||
"rev": "v7.31.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-WMfT/gtjRDACXWDf1w3cUiEUdeFrGAnYvDQcuXiQNkk="
|
||||
"vendorHash": "sha256-5PnJ87cGMCwEl7zEwjbzgU5kZO9IC4Ls47HX2SZ2h2w="
|
||||
},
|
||||
"hashicorp_helm": {
|
||||
"hash": "sha256-S4Fe65f+gEWWxRMC+/i93dwwe7QigPccx4wiqNBpcL8=",
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
cacert,
|
||||
makeSetupHook,
|
||||
pnpm,
|
||||
pnpm-fixup-state-db,
|
||||
writableTmpDirAsHomeHook,
|
||||
yq,
|
||||
zstd,
|
||||
@@ -47,6 +48,14 @@ in
|
||||
};
|
||||
|
||||
filterFlags = lib.map (package: "--filter=${package}") pnpmWorkspaces;
|
||||
|
||||
pnpm-fixup-state-db' =
|
||||
if pnpm.nodejs or null != null then
|
||||
pnpm-fixup-state-db.override {
|
||||
inherit (pnpm) nodejs;
|
||||
}
|
||||
else
|
||||
pnpm-fixup-state-db;
|
||||
in
|
||||
# pnpmWorkspace was deprecated, so throw if it's used.
|
||||
assert (lib.throwIf (args ? pnpmWorkspace)
|
||||
@@ -77,6 +86,8 @@ in
|
||||
jq
|
||||
moreutils
|
||||
pnpm # from args
|
||||
pnpm-fixup-state-db'
|
||||
writableTmpDirAsHomeHook
|
||||
yq
|
||||
zstd
|
||||
]
|
||||
@@ -88,14 +99,17 @@ in
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
versionAtLeast () {
|
||||
local cur_version=$1 min_version=$2
|
||||
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
|
||||
}
|
||||
|
||||
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
|
||||
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
|
||||
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
# For fetcherVersion < 3, the pnpm store files are placed directly into $out.
|
||||
# For fetcherVersion >= 3, it is bundled into a compressed tarball within $out,
|
||||
# without distributing the uncompressed store files.
|
||||
@@ -106,19 +120,29 @@ in
|
||||
storePath=$out
|
||||
fi
|
||||
|
||||
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
|
||||
# any pnpm command would fail in that directory, the following disables this
|
||||
pushd ..
|
||||
pnpm config set manage-package-manager-versions false
|
||||
pushd "$HOME"
|
||||
pnpmVersion=$(pnpm --version)
|
||||
|
||||
if versionAtLeast "$pnpmVersion" "11"; then
|
||||
# pnpm 11 uses a different mechanism to manage package manager versions
|
||||
export pnpm_config_pm_on_fail=ignore
|
||||
|
||||
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
|
||||
export pnpm_config_side_effects_cache false
|
||||
|
||||
export pnpm_config_update_notifier false
|
||||
else
|
||||
pnpm config set manage-package-manager-versions false
|
||||
pnpm config set side-effects-cache false
|
||||
pnpm config set update-notifier false
|
||||
fi
|
||||
popd
|
||||
|
||||
pnpm config set store-dir $storePath
|
||||
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
|
||||
pnpm config set side-effects-cache false
|
||||
# As we pin pnpm versions, we don't really care about updates
|
||||
pnpm config set update-notifier false
|
||||
|
||||
# Run any additional pnpm configuration commands that users provide.
|
||||
${prePnpmInstall}
|
||||
|
||||
# pnpm is going to warn us about using --force
|
||||
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
|
||||
pnpm install \
|
||||
@@ -141,14 +165,18 @@ in
|
||||
runHook preFixup
|
||||
|
||||
# Remove timestamp and sort the json files
|
||||
rm -rf $storePath/{v3,v10}/tmp
|
||||
rm -rf $storePath/{v3,v10,v11}/tmp
|
||||
for f in $(find $storePath -name "*.json"); do
|
||||
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
|
||||
done
|
||||
|
||||
if [ -f "$storePath/v11/index.db" ]; then
|
||||
pnpm-fixup-state-db "$storePath/v11";
|
||||
fi
|
||||
|
||||
# This folder contains symlinks to /build/source which we don't need
|
||||
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
|
||||
rm -rf $storePath/{v3,v10}/projects
|
||||
rm -rf $storePath/{v3,v10,v11}/projects
|
||||
|
||||
# Ensure consistent permissions
|
||||
# NOTE: For reasons not yet fully understood, pnpm might create files with
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
versionAtLeast () {
|
||||
local cur_version=$1 min_version=$2
|
||||
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
|
||||
}
|
||||
|
||||
pnpmConfigHook() {
|
||||
echo "Executing pnpmConfigHook"
|
||||
|
||||
@@ -17,13 +22,18 @@ pnpmConfigHook() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If the packageManager field in package.json is set to a different pnpm version than what is in nixpkgs,
|
||||
# any pnpm command would fail in that directory, the following disables this
|
||||
pushd $HOME
|
||||
pnpm config set manage-package-manager-versions false
|
||||
pushd "$HOME"
|
||||
pnpmVersion=$(pnpm --version)
|
||||
|
||||
if versionAtLeast "$pnpmVersion" "11"; then
|
||||
# pnpm 11 uses a different mechanism to manage package manager versions
|
||||
export pnpm_config_pm_on_fail=ignore
|
||||
else
|
||||
pnpm config set manage-package-manager-versions false
|
||||
fi
|
||||
popd
|
||||
|
||||
echo "Found 'pnpm' with version '$(pnpm --version)'"
|
||||
echo "Found 'pnpm' with version '$pnpmVersion'"
|
||||
|
||||
fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1)
|
||||
|
||||
@@ -33,7 +43,9 @@ pnpmConfigHook() {
|
||||
|
||||
export STORE_PATH=$(mktemp -d)
|
||||
export npm_config_arch="@npmArch@"
|
||||
export pnpm_config_arch="@npmArch@"
|
||||
export npm_config_platform="@npmPlatform@"
|
||||
export pnpm_config_platform="@npmPlatform@"
|
||||
|
||||
if [[ $fetcherVersion -ge 3 ]]; then
|
||||
tar --zstd -xf "$pnpmDeps/pnpm-store.tar.zst" -C "$STORE_PATH"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
pnpm,
|
||||
pnpmDeps,
|
||||
zstd,
|
||||
lib,
|
||||
}:
|
||||
|
||||
writeShellApplication {
|
||||
@@ -41,4 +42,8 @@ writeShellApplication {
|
||||
pnpm server start \
|
||||
--store-dir "$storePath"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
broken = lib.versionAtLeast pnpm.version "11";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
fetchPnpmDeps,
|
||||
rustPlatform,
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
geist-font,
|
||||
nix-update-script,
|
||||
@@ -14,6 +14,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
version = "0.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -39,7 +41,7 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
pname = "agent-browser-dashboard";
|
||||
inherit version src;
|
||||
inherit version src pnpm;
|
||||
pnpmWorkspaces = [ "dashboard" ];
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-ldxmXpejqVN/xuWcdLYMwNPc1VZ1rdNwRrumy8Is3N4=";
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# javascript
|
||||
fetchPnpmDeps,
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
|
||||
# python
|
||||
@@ -97,6 +97,8 @@ let
|
||||
hash = "sha256-jwWxH9fTTCFdLAaAN18/FUAbN0cTCPkkk9+0ZMYNXek=";
|
||||
};
|
||||
|
||||
pnpm = pnpm_10;
|
||||
|
||||
airflowUi = stdenv.mkDerivation rec {
|
||||
pname = "airflow-ui-assets";
|
||||
inherit src version;
|
||||
@@ -110,7 +112,12 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
pname = "airflow-ui";
|
||||
inherit sourceRoot src version;
|
||||
inherit
|
||||
sourceRoot
|
||||
src
|
||||
version
|
||||
pnpm
|
||||
;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-OkSDQoWsHQ6w1vIoX5W9zXHghV0obvL6Wji0HYN6CSs=";
|
||||
};
|
||||
|
||||
@@ -4,11 +4,13 @@
|
||||
fetchFromGitHub,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
nodejs,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "apache-answer";
|
||||
version = "1.7.1";
|
||||
@@ -28,6 +30,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) src version pname;
|
||||
inherit pnpm;
|
||||
sourceRoot = "${finalAttrs.src.name}/ui";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-0Jqe0wig28Vb9y0/tZHDfE49MehNR7kJTpChz616tzU=";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchFromGitHub,
|
||||
buildGo125Module,
|
||||
installShellFiles,
|
||||
@@ -15,13 +15,15 @@
|
||||
nodejs
|
||||
fetchPnpmDeps
|
||||
pnpmConfigHook
|
||||
pnpm
|
||||
pnpm_10
|
||||
fetchFromGitHub
|
||||
;
|
||||
},
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
buildGoModule = buildGo125Module;
|
||||
|
||||
inherit (import ./sources.nix { inherit fetchFromGitHub; })
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
inherit (import ./sources.nix { inherit fetchFromGitHub; })
|
||||
pname
|
||||
version
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
nix-update-script,
|
||||
stdenvNoCC,
|
||||
telegram-desktop,
|
||||
withWebkit ? true,
|
||||
}:
|
||||
@@ -22,6 +24,13 @@ telegram-desktop.override {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches =
|
||||
(previousAttrs.patches or [ ])
|
||||
++ (lib.optional stdenvNoCC.hostPlatform.isDarwin (fetchpatch2 {
|
||||
url = "https://github.com/telegramdesktop/tdesktop/commit/923efd9e7ef8ff72d9b83973502e587682119e54.patch?full_index=1";
|
||||
hash = "sha256-XcmH9SSI3K2SsFjHDEMnKA6YOyWF1kRVJJAWP2/vdf8=";
|
||||
}));
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = previousAttrs.meta // {
|
||||
|
||||
@@ -50,7 +50,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-97O4DrnjZO2mhSrCQz9xbcRCSaxMNNa4NaLNPlmecJg=";
|
||||
outputHash =
|
||||
{
|
||||
x86_64-linux = "sha256-97O4DrnjZO2mhSrCQz9xbcRCSaxMNNa4NaLNPlmecJg=";
|
||||
aarch64-linux = "sha256-0H14Be8jhBwOBG2Ui8gYrnAcTtatLVsBxFVfTyzmutw=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
cargoHash = "sha256-TPZf4jtv/3mIpe6ASzPkIusQC/iPFpYN51XiiH6pkZc=";
|
||||
@@ -92,13 +97,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
# Rollup for ARM64 is broken with Node modules
|
||||
broken = stdenv.hostPlatform.isAarch64;
|
||||
description = "A mod manager for the game Balatro";
|
||||
homepage = "https://balatro-mod-manager.dasguney.com/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ mhdask ];
|
||||
platforms = lib.intersectLists lib.platforms.linux (lib.platforms.x86_64 ++ lib.platforms.aarch64);
|
||||
maintainers = with lib.maintainers; [
|
||||
mhdask
|
||||
ryand56
|
||||
];
|
||||
mainProgram = "BMM";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,11 +5,14 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
npmHooks,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bumpp";
|
||||
version = "11.0.1";
|
||||
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-nIj4S5BWTaw3RVNIxbla8Q31wvK67Of6psx5wX9ID+E=";
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
versionCheckHook,
|
||||
}:
|
||||
let
|
||||
version = "2.11.2";
|
||||
version = "2.11.3";
|
||||
dist = fetchFromGitHub {
|
||||
owner = "caddyserver";
|
||||
repo = "dist";
|
||||
@@ -27,10 +27,10 @@ buildGoModule (finalAttrs: {
|
||||
owner = "caddyserver";
|
||||
repo = "caddy";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-QoGq8+lhaSQuC1VwIYE8h8N/ZC1ozfmIwmsIPk29Jos=";
|
||||
hash = "sha256-7Hgmo7ldDtbwl/acEY/4RNhSGnK/NNcXn+eIm1I8HKg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zlwVgSEr01bbgV7N9szwqa9cPjBU34Cu7vqj4/MoSuU=";
|
||||
vendorHash = "sha256-QiZZxYsYFUneZ52TfFKQWJ42lmBofvUTZrHmDBuN2O4=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -5,10 +5,13 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
npmHooks,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "changelogen";
|
||||
version = "0.6.2";
|
||||
@@ -22,6 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-S+GxeljcPj/MzBkleVNgaRa8D4kmHrKwwVqakmB5sAw=";
|
||||
};
|
||||
|
||||
@@ -35,14 +35,14 @@ let
|
||||
in
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "checkov";
|
||||
version = "3.2.527";
|
||||
version = "3.2.528";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = "checkov";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-PKG4WzXtocfE9rwg3E77BkWREs7RhAzmdv9mz5VsbLA=";
|
||||
hash = "sha256-bbGB6h9jhd3laeOTaSwZ2o3yu62vLMuCmYhS/qQBkeA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
lib,
|
||||
makeBinaryWrapper,
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code-router";
|
||||
version = "2.0.0";
|
||||
|
||||
@@ -7,12 +7,14 @@
|
||||
versionCheckHook,
|
||||
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
fetchPnpmDeps,
|
||||
}:
|
||||
let
|
||||
tag-prefix = "@upstash/context7-mcp";
|
||||
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "context7-mcp";
|
||||
@@ -34,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-f3PXpCdmKh2LPD5VyFsRdLR7CEvh+GozkQFSeeNuj2c=";
|
||||
};
|
||||
|
||||
@@ -5,12 +5,14 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
makeBinaryWrapper,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "conventional-changelog-cli";
|
||||
version = "7.2.0";
|
||||
@@ -24,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-O91ypnycBwkfLSruezx9E5CrytguBdtmvgVhKFjUzvM=";
|
||||
};
|
||||
|
||||
@@ -7,10 +7,13 @@
|
||||
versionCheckHook,
|
||||
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
fetchPnpmDeps,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ctx7";
|
||||
version = "0.3.9";
|
||||
@@ -31,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-8RRHfCTZVC91T1Qx+ACCo2oG4ZwMNy5WYakCjmBhe3Q=";
|
||||
};
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
SDL2,
|
||||
gtkmm3,
|
||||
faad2,
|
||||
pcre,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -32,7 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mpg123
|
||||
SDL2
|
||||
gtkmm3
|
||||
pcre
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
commandLineArgs ? "",
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
asar,
|
||||
copyDesktopItems,
|
||||
darwin,
|
||||
@@ -23,6 +23,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
electron = electron_41;
|
||||
seshat = callPackage ./seshat { };
|
||||
in
|
||||
@@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
version
|
||||
src
|
||||
;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-0yqWObZtRntsH7gk+OB8pMuWsrvCQ4L9173Qv0o5abk=";
|
||||
};
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
nodejs,
|
||||
jitsi-meet,
|
||||
fetchPnpmDeps,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
faketty,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
noPhoningHome = {
|
||||
disable_guests = true; # disable automatic guest account registration at matrix.org
|
||||
};
|
||||
@@ -36,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
pname = "element";
|
||||
inherit (finalAttrs) version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-0yqWObZtRntsH7gk+OB8pMuWsrvCQ4L9173Qv0o5abk=";
|
||||
};
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -8,13 +8,14 @@
|
||||
geos,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
nodejs,
|
||||
postgresql,
|
||||
postgresqlTestHook,
|
||||
playwright-driver,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
python = python3Packages.python.override {
|
||||
packageOverrides = self: super: {
|
||||
@@ -120,7 +121,12 @@ python.pkgs.buildPythonApplication rec {
|
||||
];
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit pname version src;
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
pnpm
|
||||
;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-NbfCVD+gmtoxuYUCumTKj9P72utK787VdlnuU4lMMGc=";
|
||||
};
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
pkg-config,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
rust,
|
||||
rustPlatform,
|
||||
turbo,
|
||||
@@ -27,7 +27,9 @@
|
||||
wrapGAppsHook4,
|
||||
dart-sass,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "gitbutler";
|
||||
version = "0.19.7";
|
||||
@@ -58,6 +60,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-eRiFA5lXpPHQwlyFmKMx1zmHH2zLCHB+3s708g6srg4=";
|
||||
};
|
||||
|
||||
@@ -13,19 +13,22 @@
|
||||
openssh,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
stdenv,
|
||||
sqliteSupport ? true,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
frontend = stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gitea-frontend";
|
||||
inherit (gitea) src version;
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-dewYYPO2wmNyYiQadoEKWJ10cghm6Lv7UE1iVlyNiEY=";
|
||||
};
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
makeWrapper,
|
||||
net-tools,
|
||||
nodejs,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
pnpmConfigHook,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
version = "0.63.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -27,6 +29,7 @@ let
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
sourceRoot = "${finalAttrs.src.name}/client";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-GM86Os1OQaagD61BEIIsqhWJNVPFA9Z5RiYWyHlQlwY=";
|
||||
|
||||
@@ -80,6 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
hash = pnpmDepsHash;
|
||||
fetcherVersion = 3;
|
||||
};
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "iina";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/iina/iina/releases/download/v${finalAttrs.version}/IINA.v${finalAttrs.version}.dmg";
|
||||
hash = "sha256-F3rUaeoSm+2VqCrFm1+1jQoGw1NC/KejfbohSogh+Eg=";
|
||||
hash = "sha256-Lg/Yn7uhySpsEVFx5bUZBIg7tJf75ROmlh0ID7qwj/Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -28,7 +28,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [ "--version-regex=^v(\\d+\\.\\d+\\.\\d+)$" ];
|
||||
};
|
||||
tests.simple =
|
||||
runCommand "jaq-test"
|
||||
{
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "k6";
|
||||
version = "1.7.1";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "k6";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-vULff8EVWns2N7QRK/dt90Jq10W3UFGXcIe3IXqJ+yA=";
|
||||
hash = "sha256-dtP2G0rk8f3TEPTf5fu/1BEH4nLzboTyE/vveVhlcqo=";
|
||||
};
|
||||
|
||||
subPackages = [ "./" ];
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
nodejs,
|
||||
writableTmpDirAsHomeHook,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
unzip,
|
||||
patchelf,
|
||||
autoPatchelfHook,
|
||||
@@ -16,6 +16,9 @@
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "kilocode-cli";
|
||||
version = "0.25.1";
|
||||
@@ -29,6 +32,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-Q/LamZwVaIQVILtXRi1RQrYtpxYJWEKPAt3knwm47S0=";
|
||||
};
|
||||
|
||||
@@ -92,6 +92,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/mailutils/-/raw/87c3614083260f52dd1222e872a1836f0ff9abe1/fix-build.patch";
|
||||
hash = "sha256-RN62l5mYqtViEjXpAlQKWhFez1TPynRMj/1nvZkq5Gs=";
|
||||
})
|
||||
# Fix for non-portable assumptions causing test failures on musl
|
||||
(fetchpatch {
|
||||
name = "portability.patch";
|
||||
url = "https://cgit.git.savannah.gnu.org/cgit/mailutils.git/patch/?id=6e038f04d575731cf90a44cf0114e485a9827a26";
|
||||
hash = "sha256-kamIiQty+/PEB9gC4tPsEMzz1GMGuZAe+DXqjdTeg70=";
|
||||
})
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
maxima,
|
||||
ecl,
|
||||
lisp-compiler ? ecl,
|
||||
...
|
||||
}@args:
|
||||
|
||||
maxima.override (
|
||||
{
|
||||
inherit lisp-compiler;
|
||||
}
|
||||
// removeAttrs args [
|
||||
"maxima"
|
||||
"ecl"
|
||||
"lisp-compiler"
|
||||
]
|
||||
)
|
||||
+2
-1
@@ -8,10 +8,11 @@
|
||||
python3,
|
||||
makeWrapper,
|
||||
autoreconfHook,
|
||||
sbcl,
|
||||
rlwrap ? null,
|
||||
tk ? null,
|
||||
gnuplot ? null,
|
||||
lisp-compiler,
|
||||
lisp-compiler ? sbcl,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -5,12 +5,14 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
npmHooks,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mcporter";
|
||||
version = "0.10.2";
|
||||
@@ -24,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-TZfEoUSjba8cRz6L9uY2PGskYsR7S/xAahiKLd8dhFM=";
|
||||
};
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -7,9 +7,11 @@
|
||||
lib,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
version = "0.25.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "usememos";
|
||||
@@ -23,6 +25,7 @@ let
|
||||
inherit version src;
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
sourceRoot = "${finalAttrs.src.name}/web";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-xEOnxCgBD4uLypcZzCO+31S4r0sSfz8PpgEmZASeRZ4=";
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
{
|
||||
lib,
|
||||
pnpm_10,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
npmHooks,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mgrep";
|
||||
version = "0.1.10";
|
||||
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-T1mbRDBLU4SjZSgqyKgusZe5UV9hI+/bAmBYoAWcWtQ=";
|
||||
};
|
||||
|
||||
@@ -170,11 +170,11 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "microsoft-edge";
|
||||
version = "147.0.3912.98";
|
||||
version = "148.0.3967.54";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-GD5bXeEWVQHr+u+B3SUjoNCJIp9hwyCW6sYMDbGUBls=";
|
||||
hash = "sha256-ccMYxwaQ70p+za3LoM0vT+lXiRIlYmoldVDqsHT7I9o=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
nodejs,
|
||||
@@ -12,6 +12,9 @@
|
||||
discord-canary,
|
||||
discord-development,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "moonlight";
|
||||
version = "2026.5.0";
|
||||
@@ -31,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-veZx/b+cvpcRh1xXO8Y34dJtY2cgncqVSYYywb85Geo=";
|
||||
};
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "msedgedriver";
|
||||
version = "147.0.3912.98";
|
||||
version = "148.0.3967.54";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
|
||||
hash = "sha256-w9ekySBlqy0ev3OE/G05UJ6tz8EGC2Pc3fMNpmvmKMU=";
|
||||
hash = "sha256-woGkky1i9so+1D61irtJYjDQ0xoHUeGQsJi/eQ4VGhU=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mycelium";
|
||||
version = "0.7.6";
|
||||
version = "0.7.7";
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/myceliumd";
|
||||
|
||||
@@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "threefoldtech";
|
||||
repo = "mycelium";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-6A93ySGmnkqu+TrPsIZJNl4iw26yrUW89TkkfouArn0=";
|
||||
hash = "sha256-amw0DkPT7As7L9Zhts+s4g3N67uu/BDZmbJXapr89XQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Firp6R8JZXTzJhV2Psve0kmxP6bT74xHjNq8/q0/pOc=";
|
||||
cargoHash = "sha256-Shi7AbyuvWwWOm9RuUYYLS/wEqZ7/YiOo+8m2XDFAnM=";
|
||||
|
||||
nativeBuildInputs = [ versionCheckHook ];
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "nexttrace";
|
||||
version = "1.6.4";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nxtrace";
|
||||
repo = "NTrace-core";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-atouv41R49HVJui60ivh1OPIDFwtILdu4BU+x0cLVQ4=";
|
||||
sha256 = "sha256-PpCWTak14Y2zZBYOtCHEjNtvrXo6JOAo/ddYrJZMou8=";
|
||||
};
|
||||
vendorHash = "sha256-U0OXsZ9eME2paV8+DuPGYuNdaPnfmc4AdaT6cri3Nlw=";
|
||||
vendorHash = "sha256-8evslWY5EgZT5ah63t6UmREUgkuY8aYwdsox4xxyKiA=";
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
|
||||
|
||||
@@ -5,11 +5,14 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
npmHooks,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ni";
|
||||
version = "30.1.0";
|
||||
@@ -23,6 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-I/jf6nlsKQFrYLO15f+CWdPPdEpVDDMBQodLsbG4sqw=";
|
||||
};
|
||||
|
||||
@@ -101,6 +101,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
installShellCompletion --cmd $pname \
|
||||
--bash <($out/bin/niri completions bash) \
|
||||
--fish <($out/bin/niri completions fish) \
|
||||
--nushell <($out/bin/niri completions nushell) \
|
||||
--zsh <($out/bin/niri completions zsh)
|
||||
'';
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
liburing,
|
||||
numactl,
|
||||
taskflow,
|
||||
tomlplusplus,
|
||||
ucx,
|
||||
|
||||
# passthru
|
||||
@@ -35,7 +36,7 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nixl";
|
||||
version = "1.0.1";
|
||||
version = "1.1.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -44,7 +45,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
owner = "ai-dynamo";
|
||||
repo = "nixl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-mDpDqwUwI0baIDDpt9/wgIP3saBWY8yWKgwzHgrzJiU=";
|
||||
hash = "sha256-lzR+haBtRPUJ9VE1AcPndp3CPtW7KCI3nNPeVIGyR0U=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
@@ -103,6 +104,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
liburing
|
||||
numactl
|
||||
taskflow
|
||||
tomlplusplus
|
||||
ucx
|
||||
|
||||
python3Packages.python
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
nodejs,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
makeBinaryWrapper,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nrm";
|
||||
version = "2.1.0";
|
||||
@@ -30,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-DvhUXkh9Ijuik9uWzPOtM1idSNSaJxDiRHWpUMepf3U=";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
tesseract5,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
poppler-utils,
|
||||
liberation_ttf,
|
||||
xcbuild,
|
||||
@@ -29,6 +29,8 @@
|
||||
lndir,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
|
||||
version = "2.20.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -27,13 +27,13 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "pawn-appetit";
|
||||
version = "0.11.0";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Pawn-Appetit";
|
||||
repo = "pawn-appetit";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-WJ/tFOizESDqdLy4maMKUZ79mgyyxqLuwCxWZ0+NVX4=";
|
||||
hash = "sha256-9D8zeo62+xb5EsVQ39nPcwCx1w/47oY0NNFQyrSpFGQ=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-amXrz/ZzvjvNYlqxzTtQXiZw/NnUVJ7PhqG8oHsEe88=";
|
||||
hash = "sha256-c4ckvmzosWrB5eXG/xpOH8mYgNNMgqBZ9q8yU7Pjve4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoRoot = "src-tauri";
|
||||
|
||||
cargoHash = "sha256-UKaW+NiNA398nyGs9+SjY+tUvLjCPrSxX6bZLSl7/EQ=";
|
||||
cargoHash = "sha256-bglNpRsHUZoHE7/KGAc9UHWI6Dtg7foA7/8NZ7qtfqw=";
|
||||
|
||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
nodejs_22,
|
||||
pnpm,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
electron_40,
|
||||
@@ -13,7 +13,9 @@
|
||||
writableTmpDirAsHomeHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "picgo";
|
||||
version = "2.5.3";
|
||||
@@ -27,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) version src;
|
||||
inherit pnpm;
|
||||
pname = "picgo";
|
||||
hash = "sha256-tILvWDoHAN5XT1F/cJYgfeMzowuO/fhiughI+0FvHzc=";
|
||||
fetcherVersion = 3; # lockfileVersion 9.0 corresponds to fetcherVersion 3
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
buildNpmPackage,
|
||||
lib,
|
||||
nodejs,
|
||||
pnpm,
|
||||
tests,
|
||||
}:
|
||||
buildNpmPackage {
|
||||
pname = "pnpm-fixup-state-db";
|
||||
version = "1.0.0";
|
||||
|
||||
src = ./src;
|
||||
|
||||
inherit nodejs;
|
||||
|
||||
npmDepsHash = "sha256-um6a4pEtPtdxHBRq9g5ZW20wIQAMjWJ3qF96XuxJg8o=";
|
||||
|
||||
postInstall = ''
|
||||
makeWrapper ${lib.getExe nodejs} $out/bin/pnpm-fixup-state-db \
|
||||
--add-flags "$out/lib/node_modules/pnpm-fixup-state-db"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (tests) pnpm;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "pnpm-fixup-state-db";
|
||||
inherit (pnpm.meta) maintainers;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
*.js
|
||||
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env node
|
||||
import { packForStorage, StoreIndex } from '@pnpm/store.index';
|
||||
|
||||
interface FileMetadata {
|
||||
checkedAt: number;
|
||||
}
|
||||
|
||||
interface Metadata {
|
||||
files: Map<string, FileMetadata>;
|
||||
}
|
||||
|
||||
function validateMetadata(data: unknown): data is Metadata {
|
||||
return (data as Metadata).files instanceof Map;
|
||||
}
|
||||
|
||||
// from https://github.com/pnpm/pnpm/blob/52ee08aad4fcc0dfb92bc35cc5aaf3d07f8f3246/worker/src/start.ts#L235
|
||||
function packToShared (data: unknown): Uint8Array {
|
||||
const packed = packForStorage(data)
|
||||
const shared = new SharedArrayBuffer(packed.byteLength)
|
||||
const view = new Uint8Array(shared)
|
||||
view.set(packed)
|
||||
return view
|
||||
}
|
||||
|
||||
const main = () => {
|
||||
const storePath = process.argv[2];
|
||||
const index = new StoreIndex(storePath);
|
||||
|
||||
const newEntries = [] as Parameters<StoreIndex["setRawMany"]>[0]
|
||||
|
||||
for (const [key, data] of index.entries()) {
|
||||
console.debug(`Mapping ${key}...`);
|
||||
if (!validateMetadata(data)) {
|
||||
console.debug(`Data of ${key}:`, data);
|
||||
throw new Error(`Failed to read data for ${key}`);
|
||||
}
|
||||
const newFiles = new Map<string, FileMetadata>();
|
||||
for (const [path, metadata] of data.files.entries()) {
|
||||
newFiles.set(path, {
|
||||
...metadata,
|
||||
checkedAt: 0,
|
||||
});
|
||||
}
|
||||
newEntries.push({
|
||||
key,
|
||||
buffer: packToShared({
|
||||
...data,
|
||||
files: newFiles,
|
||||
} as Metadata)
|
||||
});
|
||||
}
|
||||
|
||||
// As pnpm is highly parallelized, the order of the data in the database is random. Therefore, we need to sort our changed data and replace all data in the database
|
||||
const sortedEntries = newEntries.sort((a, b) => a.key > b.key ? 1 : -1);
|
||||
|
||||
// Delete all entries and add them in a deterministic order
|
||||
index.deleteMany(sortedEntries.map(m => m.key));
|
||||
index.setRawMany(sortedEntries);
|
||||
};
|
||||
|
||||
main();
|
||||
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"name": "pnpm-fixup-state-db",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "pnpm-fixup-state-db",
|
||||
"version": "0.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pnpm/store.index": "^1100.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^25.6.0",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
|
||||
"integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
|
||||
"integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
|
||||
"integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
|
||||
"integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
|
||||
"integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
|
||||
"integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@pnpm/store.index": {
|
||||
"version": "1100.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@pnpm/store.index/-/store.index-1100.0.0.tgz",
|
||||
"integrity": "sha512-eVd5DHiD6hyr2hrkIlh3z07SOiVqoGvFnPAb+rL6piXd9889trSyUjDXBlkJj7gyipAQoo8xMHHixoPp/sHnFA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"msgpackr": "1.11.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.13"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://opencollective.com/pnpm"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "25.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
|
||||
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~7.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/msgpackr": {
|
||||
"version": "1.11.8",
|
||||
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz",
|
||||
"integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==",
|
||||
"license": "MIT",
|
||||
"optionalDependencies": {
|
||||
"msgpackr-extract": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/msgpackr-extract": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
|
||||
"integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"node-gyp-build-optional-packages": "5.2.2"
|
||||
},
|
||||
"bin": {
|
||||
"download-msgpackr-prebuilds": "bin/download-prebuilds.js"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
|
||||
"@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
|
||||
"@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
|
||||
"@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
|
||||
"@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
|
||||
"@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/node-gyp-build-optional-packages": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
|
||||
"integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"detect-libc": "^2.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"node-gyp-build-optional-packages": "bin.js",
|
||||
"node-gyp-build-optional-packages-optional": "optional.js",
|
||||
"node-gyp-build-optional-packages-test": "build-test.js"
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
|
||||
"integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "7.19.2",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
|
||||
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "pnpm-fixup-state-db",
|
||||
"version": "0.0.0",
|
||||
"description": "Fixup pnpm v11-store index.db to remove impurities",
|
||||
"license": "MIT",
|
||||
"author": "Sefa Eyeoglu <contact@scrumplex.net>",
|
||||
"type": "module",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@pnpm/store.index": "^1100.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^25.6.0",
|
||||
"typescript": "^6.0.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "nodenext",
|
||||
"target": "esnext",
|
||||
"lib": ["esnext"],
|
||||
"types": ["node"],
|
||||
"strict": true
|
||||
},
|
||||
"include": ["index.ts"]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user