Merge branch 'staging-next' into staging

This commit is contained in:
Jan Tojnar
2025-05-07 02:00:46 +02:00
108 changed files with 3132 additions and 12778 deletions
+6 -2
View File
@@ -35,8 +35,12 @@ indent_size = 1
[*.{json,lock,md,nix,rb}]
indent_size = 2
# Match perl/python/shell scripts, set indent width of four
[*.{bash,pl,pm,py,sh}]
# Match all the Bash code in Nix files, set indent width of two
[*.{bash,sh}]
indent_size = 2
# Match Perl and Python scripts, set indent width of four
[*.{pl,pm,py}]
indent_size = 4
# Match gemfiles, set indent to spaces with width of two
@@ -1,28 +0,0 @@
name: "Check that maintainer list is sorted"
on:
pull_request_target:
paths:
- 'maintainers/maintainer-list.nix'
permissions: {}
jobs:
nixos:
name: maintainer-list-check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
# Only these directories to perform the check
sparse-checkout: |
lib
maintainers
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
with:
extra_nix_config: sandbox = true
- name: Check that maintainer-list.nix is sorted
run: nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
+153
View File
@@ -0,0 +1,153 @@
import json
import os
from scipy.stats import ttest_rel
import pandas as pd
import numpy as np
from pathlib import Path
# Define metrics of interest (can be expanded as needed)
METRIC_PREFIXES = ("nr", "gc")
def flatten_data(json_data: dict) -> dict:
"""
Extracts and flattens metrics from JSON data.
This is needed because the JSON data can be nested.
For example, the JSON data entry might look like this:
"gc":{"cycles":13,"heapSize":5404549120,"totalBytes":9545876464}
Flattened:
"gc.cycles": 13
"gc.heapSize": 5404549120
...
Args:
json_data (dict): JSON data containing metrics.
Returns:
dict: Flattened metrics with keys as metric names.
"""
flat_metrics = {}
for k, v in json_data.items():
if isinstance(v, (int, float)):
flat_metrics[k] = v
elif isinstance(v, dict):
for sub_k, sub_v in v.items():
flat_metrics[f"{k}.{sub_k}"] = sub_v
return flat_metrics
def load_all_metrics(directory: Path) -> dict:
"""
Loads all stats JSON files in the specified directory and extracts metrics.
Args:
directory (Path): Directory containing JSON files.
Returns:
dict: Dictionary with filenames as keys and extracted metrics as values.
"""
metrics = {}
for system_dir in directory.iterdir():
assert system_dir.is_dir()
for chunk_output in system_dir.iterdir():
with chunk_output.open() as f:
data = json.load(f)
metrics[f"{system_dir.name}/${chunk_output.name}"] = flatten_data(data)
return metrics
def dataframe_to_markdown(df: pd.DataFrame) -> str:
markdown_lines = []
# Header (get column names and format them)
header = '\n| ' + ' | '.join(df.columns) + ' |'
markdown_lines.append(header)
markdown_lines.append("| - " * (len(df.columns)) + "|") # Separator line
# Iterate over rows to build Markdown rows
for _, row in df.iterrows():
# TODO: define threshold for highlighting
highlight = False
fmt = lambda x: f"**{x}**" if highlight else f"{x}"
# Check for no change and NaN in p_value/t_stat
row_values = []
for val in row:
if isinstance(val, float) and np.isnan(val): # For NaN values in p-value or t-stat
row_values.append("-") # Custom symbol for NaN
elif isinstance(val, float) and val == 0: # For no change (mean_diff == 0)
row_values.append("-") # Custom symbol for no change
else:
row_values.append(fmt(f"{val:.4f}" if isinstance(val, float) else str(val)))
markdown_lines.append('| ' + ' | '.join(row_values) + ' |')
return '\n'.join(markdown_lines)
def perform_pairwise_tests(before_metrics: dict, after_metrics: dict) -> pd.DataFrame:
common_files = sorted(set(before_metrics) & set(after_metrics))
all_keys = sorted({ metric_keys for file_metrics in before_metrics.values() for metric_keys in file_metrics.keys() })
results = []
for key in all_keys:
before_vals, after_vals = [], []
for fname in common_files:
if key in before_metrics[fname] and key in after_metrics[fname]:
before_vals.append(before_metrics[fname][key])
after_vals.append(after_metrics[fname][key])
if len(before_vals) >= 2:
before_arr = np.array(before_vals)
after_arr = np.array(after_vals)
diff = after_arr - before_arr
pct_change = 100 * diff / before_arr
t_stat, p_val = ttest_rel(after_arr, before_arr)
results.append({
"metric": key,
"mean_before": np.mean(before_arr),
"mean_after": np.mean(after_arr),
"mean_diff": np.mean(diff),
"mean_%_change": np.mean(pct_change),
"p_value": p_val,
"t_stat": t_stat
})
df = pd.DataFrame(results).sort_values("p_value")
return df
if __name__ == "__main__":
before_dir = os.environ.get("BEFORE_DIR")
after_dir = os.environ.get("AFTER_DIR")
if not before_dir or not after_dir:
print("Error: Environment variables 'BEFORE_DIR' and 'AFTER_DIR' must be set.")
exit(1)
before_stats = Path(before_dir) / "stats"
after_stats = Path(after_dir) / "stats"
# This may happen if the pull request target does not include PR#399720 yet.
if not before_stats.exists():
print("⚠️ Skipping comparison: stats directory is missing in the target commit.")
exit(0)
# This should never happen, but we're exiting gracefully anyways
if not after_stats.exists():
print("⚠️ Skipping comparison: stats directory missing in current PR evaluation.")
exit(0)
before_metrics = load_all_metrics(before_stats)
after_metrics = load_all_metrics(after_stats)
df1 = perform_pairwise_tests(before_metrics, after_metrics)
markdown_table = dataframe_to_markdown(df1)
print(markdown_table)
+46 -4
View File
@@ -3,6 +3,7 @@
jq,
runCommand,
writeText,
python3,
...
}:
{
@@ -125,18 +126,59 @@ let
in
runCommand "compare"
{
nativeBuildInputs = [ jq ];
nativeBuildInputs = [
jq
(python3.withPackages (
ps: with ps; [
numpy
pandas
scipy
]
))
];
maintainers = builtins.toJSON maintainers;
passAsFile = [ "maintainers" ];
env = {
BEFORE_DIR = "${beforeResultDir}";
AFTER_DIR = "${afterResultDir}";
};
}
''
mkdir $out
cp ${changed-paths} $out/changed-paths.json
jq -r -f ${./generate-step-summary.jq} < ${changed-paths} > $out/step-summary.md
if jq -e '(.attrdiff.added | length == 0) and (.attrdiff.removed | length == 0)' "${changed-paths}" > /dev/null; then
# Chunks have changed between revisions
# We cannot generate a performance comparison
{
echo
echo "# Performance comparison"
echo
echo "This compares the performance of this branch against its pull request base branch (e.g., 'master')"
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
echo
} >> $out/step-summary.md
python3 ${./cmp-stats.py} >> $out/step-summary.md
else
# Package chunks are the same in both revisions
# We can use the to generate a performance comparison
{
echo
echo "# Performance Comparison"
echo
echo "Performance stats were skipped because the package sets differ between the two revisions."
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
} >> $out/step-summary.md
fi
jq -r -f ${./generate-step-summary.jq} < ${changed-paths} >> $out/step-summary.md
cp "$maintainersPath" "$out/maintainers.json"
# TODO: Compare eval stats
''
+2
View File
@@ -9,6 +9,7 @@
nixVersions,
jq,
sta,
python3,
}:
let
@@ -270,6 +271,7 @@ let
runCommand
writeText
supportedSystems
python3
;
};
File diff suppressed because it is too large Load Diff
@@ -1,87 +0,0 @@
let
lib = import ../../lib;
inherit (lib)
add
attrNames
elemAt
foldl'
genList
length
replaceStrings
sort
toLower
trace
;
maintainers = import ../maintainer-list.nix;
simplify = replaceStrings [ "-" "_" ] [ "" "" ];
compare = a: b: simplify (toLower a) < simplify (toLower b);
namesSorted = sort (a: b: a.key < b.key) (
map (
n:
let
pos = builtins.unsafeGetAttrPos n maintainers;
in
assert pos == null -> throw "maintainers entry ${n} is malformed";
{
name = n;
line = pos.line;
key = toLower (simplify n);
}
) (attrNames maintainers)
);
before =
{
name,
line,
key,
}:
foldl' (
acc: n: if n.key < key && (acc == null || n.key > acc.key) then n else acc
) null namesSorted;
errors = foldl' add 0 (
map (
i:
let
a = elemAt namesSorted i;
b = elemAt namesSorted (i + 1);
lim =
let
t = before a;
in
if t == null then "the initial {" else t.name;
in
if a.line >= b.line then
trace (
"maintainer ${a.name} (line ${toString a.line}) should be listed "
+ "after ${lim}, not after ${b.name} (line ${toString b.line})"
) 1
else
0
) (genList (i: i) (length namesSorted - 1))
);
in
assert errors == 0;
"all good!"
# generate edit commands to sort the list.
# may everything following the last current entry (closing } ff) in the wrong place
# with lib;
# concatStringsSep
# "\n"
# (let first = foldl' (acc: n: if n.line < acc then n.line else acc) 999999999 namesSorted;
# commands = map
# (i: let e = elemAt namesSorted i;
# begin = foldl'
# (acc: n: if n.line < e.line && n.line > acc then n.line else acc)
# 1
# namesSorted;
# end =
# foldl' (acc: n: if n.line > e.line && n.line < acc then n.line else acc)
# 999999999
# namesSorted;
# in "${toString e.line},${toString (end - 1)} p")
# (genList (i: i) (length namesSorted));
# in map
# (c: "sed -ne '${c}' maintainers/maintainer-list.nix")
# ([ "1,${toString (first - 1)} p" ] ++ commands))
+12 -1
View File
@@ -1,6 +1,6 @@
from graphlib import TopologicalSorter
from pathlib import Path
from typing import Any, Generator, Literal
from typing import Any, Final, Generator, Literal
import argparse
import asyncio
import contextlib
@@ -15,6 +15,11 @@ import tempfile
Order = Literal["arbitrary", "reverse-topological", "topological"]
FAKE_DEPENDENCY_FOR_INDEPENDENT_PACKAGES: Final[str] = (
"::fake_dependency_for_independent_packages"
)
class CalledProcessError(Exception):
process: asyncio.subprocess.Process
stderr: bytes | None
@@ -116,10 +121,14 @@ def requisites_to_attrs(
def reverse_edges(graph: dict[str, set[str]]) -> dict[str, set[str]]:
"""
Flips the edges of a directed graph.
Packages without any dependency relation in the updated set
will be added to `FAKE_DEPENDENCY_FOR_INDEPENDENT_PACKAGES` node.
"""
reversed_graph: dict[str, set[str]] = {}
for dependent, dependencies in graph.items():
dependencies = dependencies or {FAKE_DEPENDENCY_FOR_INDEPENDENT_PACKAGES}
for dependency in dependencies:
reversed_graph.setdefault(dependency, set()).add(dependent)
@@ -413,6 +422,8 @@ async def populate_queue(
ready_packages = list(sorter.get_ready())
eprint(f"Enqueuing group of {len(ready_packages)} packages")
for package in ready_packages:
if package == FAKE_DEPENDENCY_FOR_INDEPENDENT_PACKAGES:
continue
await packages_to_update.put(attr_packages[package])
await packages_to_update.join()
sorter.done(*ready_packages)
+3 -3
View File
@@ -15,14 +15,14 @@ in
{
options.services.eintopf = {
enable = mkEnableOption "Eintopf community event calendar web app";
enable = mkEnableOption "Lauti (Eintopf) community event calendar web app";
settings = mkOption {
type = types.attrsOf types.str;
default = { };
description = ''
Settings to configure web service. See
<https://codeberg.org/Klasse-Methode/eintopf/src/branch/main/DEPLOYMENT.md>
<https://codeberg.org/Klasse-Methode/lauti/src/branch/main/DEPLOYMENT.md>
for available options.
'';
example = literalExpression ''
@@ -54,7 +54,7 @@ in
wants = [ "network-online.target" ];
environment = cfg.settings;
serviceConfig = {
ExecStart = "${pkgs.eintopf}/bin/eintopf";
ExecStart = lib.getExe pkgs.lauti;
WorkingDirectory = "/var/lib/eintopf";
StateDirectory = "eintopf";
EnvironmentFile = [ cfg.secrets ];
+1 -1
View File
@@ -421,7 +421,7 @@ in
ecryptfs = handleTest ./ecryptfs.nix { };
fscrypt = handleTest ./fscrypt.nix { };
fastnetmon-advanced = runTest ./fastnetmon-advanced.nix;
eintopf = handleTest ./eintopf.nix { };
eintopf = runTest ./eintopf.nix;
ejabberd = handleTest ./xmpp/ejabberd.nix { };
elk = handleTestOn [ "x86_64-linux" ] ./elk.nix { };
emacs-daemon = runTest ./emacs-daemon.nix;
+22 -24
View File
@@ -1,26 +1,24 @@
import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "eintopf";
meta = with pkgs.lib.maintainers; {
maintainers = [ onny ];
};
{
lib,
pkgs,
...
}:
nodes = {
eintopf =
{ config, pkgs, ... }:
{
services.eintopf = {
enable = true;
};
};
};
{
name = "eintopf";
meta.maintainers = with lib.maintainers; [ onny ];
testScript = ''
eintopf.start
eintopf.wait_for_unit("eintopf.service")
eintopf.wait_for_open_port(3333)
eintopf.succeed("curl -sSfL http://eintopf:3333 | grep 'Es sind keine Veranstaltungen eingetragen'")
'';
}
)
nodes = {
eintopf = {
services.eintopf.enable = true;
};
};
testScript = ''
eintopf.start
eintopf.wait_for_unit("eintopf.service")
eintopf.wait_for_open_port(3333)
eintopf.succeed("curl -sSfL http://eintopf:3333 | grep 'No events available'")
'';
}
@@ -6092,12 +6092,12 @@ final: prev: {
idris2-nvim = buildVimPlugin {
pname = "idris2-nvim";
version = "2024-11-28";
version = "2025-05-04";
src = fetchFromGitHub {
owner = "idris-community";
repo = "idris2-nvim";
rev = "fd051fa8dde6541a6d345e020a05d2cc8f7a3f8d";
sha256 = "0pqrnwa3685p9lbfmy09c72nq6d3l54qbi4r9xpk43vl4b6q6j83";
rev = "bd282b74068e53e94d0c40ccc52f59eed3be909a";
sha256 = "0z4airqw1cdnrhd0gdgpym981dyjrj40b3ah15wwmnmbgyvmgqjl";
};
meta.homepage = "https://github.com/idris-community/idris2-nvim/";
meta.hydraPlatforms = [ ];
@@ -7419,6 +7419,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
luau-lsp-nvim = buildVimPlugin {
pname = "luau-lsp.nvim";
version = "2025-02-01";
src = fetchFromGitHub {
owner = "lopi-py";
repo = "luau-lsp.nvim";
rev = "f81c6c713e4598abc484cbeabca918475d176c54";
sha256 = "15w51wnyvq8n0xar9az5bxdma0mjcq8lfk4bllarxapzpk84qiz8";
};
meta.homepage = "https://github.com/lopi-py/luau-lsp.nvim/";
meta.hydraPlatforms = [ ];
};
lushtags = buildVimPlugin {
pname = "lushtags";
version = "2017-04-19";
@@ -1688,6 +1688,13 @@ in
checkInputs = [ self.luasnip ];
};
luau-lsp-nvim = super.luau-lsp-nvim.overrideAttrs {
dependencies = [ self.plenary-nvim ];
# TODO: add luau-lsp to nixpkgs (#395892)
# runtimeDeps = [ luau-lsp ];
};
magma-nvim = super.magma-nvim.overrideAttrs {
passthru.python3Dependencies =
ps: with ps; [
@@ -569,6 +569,7 @@ https://github.com/nvim-java/lua-async/,HEAD,
https://github.com/arkav/lualine-lsp-progress/,,
https://github.com/evesdropper/luasnip-latex-snippets.nvim/,HEAD,
https://github.com/alvarosevilla95/luatab.nvim/,,
https://github.com/lopi-py/luau-lsp.nvim/,HEAD,
https://github.com/mkasa/lushtags/,,
https://github.com/Bilal2453/luvit-meta/,HEAD,
https://github.com/dccsillag/magma-nvim/,HEAD,
@@ -1,27 +1,36 @@
{
lib,
clojure-lsp,
jq,
lib,
moreutils,
vscode-utils,
vscode-extension-update-script,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "calva";
publisher = "betterthantomorrow";
version = "2.0.502";
hash = "sha256-TEU1+8IUz0GqWoB2DSE+TzyHFLL0nMSMiZyzWD6IoEA=";
version = "2.0.508";
hash = "sha256-9iR42yQAW9wXcTkKeF7TuWFjm/D85V3+CbaZ8LxEu8k=";
};
nativeBuildInputs = [
jq
moreutils
];
postInstall = ''
cd "$out/$installPrefix"
jq '.contributes.configuration[0].properties."calva.clojureLspPath".default = "${clojure-lsp}/bin/clojure-lsp"' package.json | sponge package.json
'';
meta = {
license = lib.licenses.mit;
passthru.updateScript = vscode-extension-update-script {
extraArgs = [
"--override-filename"
"pkgs/applications/editors/vscode/extensions/betterthantomorrow.calva/default.nix"
];
};
meta.license = lib.licenses.mit;
}
@@ -4,8 +4,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "mongodb-vscode";
publisher = "mongodb";
version = "1.13.0";
hash = "sha256-xOwffd2//P7wS+uuUmuIU0ITOH1pj35h53F1HhvGNMo=";
version = "1.13.1";
hash = "sha256-dcOf103uZ5KyCfhzj19G1DpRL/OUYVHcPWVsk65ae1o=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "snes9x";
version = "0-unstable-2025-04-06";
version = "0-unstable-2025-05-03";
src = fetchFromGitHub {
owner = "snes9xgit";
repo = "snes9x";
rev = "2c78e77617c65025342e1c4da8187ef5ee2cbad4";
hash = "sha256-95ScIvZeBNrf6hvGWf7XI95pyPzGzlBgfd+CDllcIUQ=";
rev = "97bc6b08b1da511fa449ecb412ca74fa54f4a3fb";
hash = "sha256-BZTpQACkjFxk9QsDievu8NHYkJiRAQ0jAuD4LlkrZ7A=";
};
makefile = "Makefile";
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -15,7 +15,7 @@ rec {
extraPostPatch = ''
while read patch_name; do
if [ "$patch_name" -neq "patches/macos-import-vector.patch"]; then
if [ "$patch_name" != "patches/macos-import-vector.patch" ]; then
echo "applying LibreWolf patch: $patch_name"
patch -p1 < ${source}/$patch_name
else
@@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "25.4.4";
sha256 = "1zdi6ziz8ys231xszzildi1rk0pz15cp27xf7zpy6hl0n2b1vbij";
vendorHash = "sha256-xr/RMfVYYXtfWpnPmm3tG/TwJITIyRRFzoZwbBQwSc8=";
version = "25.5.1";
sha256 = "0wnj2v08j71aq8p3qx3k71xkbnr84vxgd3cidka7lxrj21hcbk0q";
vendorHash = "sha256-dxTTxTwDWvcDJiwMtqg814oUx0TsUcon7Wx0sVIq26A=";
}
@@ -669,11 +669,11 @@
"vendorHash": "sha256-HcKNrvDNthxPjg3qmUoRa0Ecj0dNJ5okf5wKT5SWGhU="
},
"infoblox": {
"hash": "sha256-iz/Khne3wggjkZFWZOK9DVZsB8HW6nsNBCfEbsBdhzk=",
"hash": "sha256-uxzWgxetwgzj9L5+yxw2EoMzdx6NbR2kEb4fGw3Wxn0=",
"homepage": "https://registry.terraform.io/providers/infobloxopen/infoblox",
"owner": "infobloxopen",
"repo": "terraform-provider-infoblox",
"rev": "v2.9.0",
"rev": "v2.10.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -1093,13 +1093,13 @@
"vendorHash": "sha256-jyfzk3vbgZwHlyiFFw1mhD+us/7WNatUQTGN4WsrfgE="
},
"remote": {
"hash": "sha256-zuKtkJLTMsrGgk7OIY+K/HhEddgFuEfzK7DcwPnUX6k=",
"hash": "sha256-3wzvhGLYAIlDSqNg4K/j8KHOsXKZv8u4ssrm+aC0dus=",
"homepage": "https://registry.terraform.io/providers/tenstad/remote",
"owner": "tenstad",
"repo": "terraform-provider-remote",
"rev": "v0.1.3",
"rev": "v0.2.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-lkooWo0DbpL4zjNQ20TRw+hsHXWZP9u7u95n1WyzTQk="
"vendorHash": "sha256-xo0alLK3fccbKRG5bN1G7orDsP47I3ySAzpZ9O0f2Fg="
},
"rootly": {
"hash": "sha256-HvUvRDoRalOzHHnCM0uBR+xc0i0ItfglgoJ0H1QLovg=",
@@ -1174,13 +1174,13 @@
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
},
"signalfx": {
"hash": "sha256-niwn969Bpw4NqNUCLf665b4W+NBKLwwwZWYWLA/4KXQ=",
"hash": "sha256-wln6AmT09F4VIFoZJe3hQaB2OJ8KoJMF9QFVoh4yn2A=",
"homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
"owner": "splunk-terraform",
"repo": "terraform-provider-signalfx",
"rev": "v9.9.0",
"rev": "v9.13.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-UCElzCPBGdl5IWCuN8g6BAzZnGfdVKSllH6pbVe1Aw8="
"vendorHash": "sha256-/Lu1J/ZT5eq07quvqcm2N1dZPaWF23C5L5CVaUX7HaE="
},
"skytap": {
"hash": "sha256-JII4czazo6Di2sad1uFHMKDO2gWgZlQE8l/+IRYHQHU=",
@@ -7,7 +7,7 @@
}:
python3Packages.buildPythonApplication rec {
pname = "ansible-navigator";
version = "25.4.0";
version = "25.4.1";
pyproject = true;
disabled = python3Packages.pythonOlder "3.10";
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit version;
pname = "ansible_navigator";
hash = "sha256-nZmL7AExd7lkg6U3XNZxF5lbP2GMxNhbKf3zuU3kkgc=";
hash = "sha256-ygX7rPqd63PpLHm0XqOh5vvwN9h6KivMZQco9XdyUog=";
};
build-system = with python3Packages; [
+3 -3
View File
@@ -17,13 +17,13 @@
rustPlatform.buildRustPackage {
pname = "anyrun";
version = "0-unstable-2025-04-04";
version = "0-unstable-2025-04-29";
src = fetchFromGitHub {
owner = "kirottu";
repo = "anyrun";
rev = "786f539d69d5abcefa68978dbaa964ac14536a00";
hash = "sha256-f+oXT9b3xuBDmm4v4nDqJvlHabxxZRB6+pay4Ub/NvA=";
rev = "005333a60c03cf58e0a59b03e76989441276e88b";
hash = "sha256-0zJs4J4w1jG83hByNJ+WxANHW7sLzMdvA408LDCCnTY=";
};
useFetchCargoVendor = true;
+2 -2
View File
@@ -34,14 +34,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "apt";
version = "3.0.0";
version = "3.0.1";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "apt-team";
repo = "apt";
rev = finalAttrs.version;
hash = "sha256-0jtJ/y8TK/mJeTM5n1WblT9i5OtRg6r5C7kvB+ioMz0=";
hash = "sha256-pWOXwcZBhr2kOZuP0IEg/PazF8bIN0qvsHOz8SY+Xr8=";
};
# cycle detection; lib can't be split
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "bird";
version = "2.17";
version = "2.17.1";
src = fetchurl {
url = "https://bird.network.cz/download/bird-${version}.tar.gz";
hash = "sha256-ebvMd8Y+nht6EKSDichvT3WwU/097Ejjxsvg3xuoHrM=";
hash = "sha256-v9cY36WWgZs4AWiHgyElFLRnFjMprsm7zQ+j3uA+EOk=";
};
nativeBuildInputs = [
+5
View File
@@ -12,6 +12,7 @@
gmp,
cadical,
cryptominisat,
kissat,
zlib,
pkg-config,
cmake,
@@ -37,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
ninja
cmake
];
buildInputs = [
cadical
cryptominisat
@@ -44,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
symfpu
gmp
zlib
kissat
];
mesonFlags = [
@@ -51,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
# but setting it to shared works even in pkgsStatic
"-Ddefault_library=shared"
"-Dcryptominisat=true"
"-Dkissat=true"
(lib.strings.mesonEnable "testing" finalAttrs.finalPackage.doCheck)
];
@@ -77,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
set -euxo pipefail;
$out/bin/bitwuzla -S cms -j 3 -m file.smt2 | tee /dev/stderr | grep $needle;
$out/bin/bitwuzla -S cadical -m file.smt2 | tee /dev/stderr | grep $needle;
$out/bin/bitwuzla -S kissat -m file.smt2 | tee /dev/stderr | grep $needle;
)
runHook postInstallCheck
+2 -2
View File
@@ -15,7 +15,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "capypdf";
version = "0.15.0";
version = "0.16.0";
outputs = [
"out"
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "jpakkane";
repo = "capypdf";
rev = finalAttrs.version;
hash = "sha256-aaZHIBXOdKysxAk/011b9Di/QHH5vgF+/g3tWPn6d/k=";
hash = "sha256-FqXb0e16sADJVdXCbWJcAs/5+xpGAXIwXR0bgGEuHRE=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -18,18 +18,18 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cartero";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "danirod";
repo = "cartero";
tag = "v${finalAttrs.version}";
hash = "sha256-EJhp/UQmD5Otf3n7wpd3s4oKt9g02q29tZA6bGKMQc8=";
hash = "sha256-WQ1pGAIFOwXZ+cokHTBPkFrTGikqpEYxK7J5LFqoeH0=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-szzQNFF+jMn7YLMjbmpM624T+qK0I++dNnZnJcPKZrw=";
hash = "sha256-vmpBZqRo3Wc7E1d/UzZWDfV96cI9WaSykdxEOTN9KvU=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "cirrus-cli";
version = "0.143.3";
version = "0.144.0";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = "cirrus-cli";
rev = "v${version}";
hash = "sha256-9qseKtcb/CcpGo1w6V05nGD4P7JrVjpfKbuZRFIKKq8=";
hash = "sha256-pbfLEoc9MF9Zo9P5D8R0WM/ZbzwhdIZhtcWR9tSKzX8=";
};
vendorHash = "sha256-4Oy1bf2X3XvlFRaqLIksBinmgwUWrwqmCHX3eTq5j44=";
vendorHash = "sha256-PH28ZIubrJWk4qTrL9OSx/ylW1iEP0j0iq4uNg9d9ko=";
ldflags = [
"-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
+3 -3
View File
@@ -8,7 +8,7 @@
buildGoModule rec {
pname = "consul";
version = "1.20.6";
version = "1.21.0";
# Note: Currently only release tags are supported, because they have the Consul UI
# vendored. See
@@ -22,7 +22,7 @@ buildGoModule rec {
owner = "hashicorp";
repo = pname;
tag = "v${version}";
hash = "sha256-R7Bf3hmkn+b6SOxAhy4pFUuyDbywBcOdEB+/M2IeFA8=";
hash = "sha256-KNBsOKd+GzxhmvM2aItnoYpob8cZ7Wzjp1fi7IRlLnk=";
};
# This corresponds to paths with package main - normally unneeded but consul
@@ -32,7 +32,7 @@ buildGoModule rec {
"connect/certgen"
];
vendorHash = "sha256-SHTwfwMHQOnqr0LOb2xxS261qZVVpUnxgl/Tdb0Rmv4=";
vendorHash = "sha256-l0fhZVsaoQnKVN2/3ioS/T7YSNTarOy84PxZ9Xx40t4=";
doCheck = false;
+3 -3
View File
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "cyberpunk-neon";
version = "0-unstable-2025-04-17";
version = "0-unstable-2025-05-05";
src = fetchFromGitHub {
owner = "Roboron3042";
repo = "Cyberpunk-Neon";
rev = "84f4817bf6e84fc24c3a93371f8de36613d76fa1";
hash = "sha256-aCQ0BfDrKUH+ati9oiLh4iGc0eoyt2d7Zyg5yXwZe30=";
rev = "e74c25c8507bbbb23d81d075402bd983a61ebe07";
hash = "sha256-LzoSC9O6173YcKvMWkSKkxsUVCZYMA844FnDfdr1gVc=";
};
outputs = [
+2 -2
View File
@@ -9,7 +9,7 @@
buildGoModule rec {
pname = "doctl";
version = "1.125.0";
version = "1.125.1";
vendorHash = null;
@@ -42,7 +42,7 @@ buildGoModule rec {
owner = "digitalocean";
repo = "doctl";
rev = "v${version}";
sha256 = "sha256-9Kwkwtwo9PB2XU3zP+ZGe1/qrPmkTPW7cRNOviwh8mM=";
sha256 = "sha256-9i8XtxCHnK+81JrjElv7lfS43vmzGBKoGAhsC/RHrz4=";
};
meta = with lib; {
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.183";
version = "1.4.185";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
tag = "v${version}";
hash = "sha256-40HOm7T8jwNuEdU+vCfg2eQUh72B67fQaHNLzT6QAN0=";
hash = "sha256-8MevZi8vvoFfJTvv/qREOtsYkUccz0nWVaq+1fHtSwY=";
};
vendorHash = "sha256-ZrIzCKhEa00KOS8tauYEGLR4o7gGVVZ9pdfEQbAGDkI=";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "gat";
version = "0.23.0";
version = "0.23.1";
src = fetchFromGitHub {
owner = "koki-develop";
repo = "gat";
tag = "v${version}";
hash = "sha256-NZ2pa2jewYmEGkRITfOfXeVWhfkfU0TQFKbkwkTsHNs=";
hash = "sha256-qodrMfAmrsreqBxzOp1ih41LiYqu9YEkIs75dYqgJug=";
};
vendorHash = "sha256-Fcj0APGk1C4leZoUphrj0Vi7XWClMfQsOb9wDoMfQrU=";
vendorHash = "sha256-x8vQsCGcVQdlASiPTnImJMAa7pG473Cjs8SVAgaE7S0=";
env.CGO_ENABLED = 0;
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "gittuf";
version = "0.9.0";
version = "0.10.0";
src = fetchFromGitHub {
owner = "gittuf";
repo = pname;
rev = "v${version}";
hash = "sha256-gvRr+Q5XCfhtIOdxQdDwLXvo/+GHDuxaEcEpctevWew=";
hash = "sha256-519m73RjtEFjEZGholZ8zsjHZkJBEu2pyQqWOV0wrSc=";
};
vendorHash = "sha256-zGzcEaAQGwLz4JQnaOVO/b47mWFWs2JyrShAJqp2Rc4=";
vendorHash = "sha256-TFkHbIRuFPfpIE/2ALjlJX/lHcp1xYyszUiSj6CQ/U4=";
ldflags = [ "-X github.com/gittuf/gittuf/internal/version.gitVersion=${version}" ];
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "httm";
version = "0.46.10";
version = "0.47.0";
src = fetchFromGitHub {
owner = "kimono-koans";
repo = "httm";
rev = version;
hash = "sha256-O1WIoHN0R78lJaPFCEYm4NTNTKwfNGdwi0POQRiuGKk=";
hash = "sha256-vB0gdIDa5E9K5/IPPq+XVPzHHLXSMOJqVFUgYf+qdt8=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-uOT8naOnimA9Xt2uA8aCAy0w/5WXZajacN1d5Q27uSY=";
cargoHash = "sha256-BTKXhDwJkAXpqVYECr1640mgsr08E7H6Ap6qOrXdyYU=";
nativeBuildInputs = [ installShellFiles ];
@@ -1,27 +1,20 @@
From e9dfca73e6fb80faf6fc106e7aee6b93c0908525 Mon Sep 17 00:00:00 2001
From: oddlama <oddlama@oddlama.org>
Date: Fri, 1 Nov 2024 12:26:17 +0100
From cf50a972b446b0ae051cfa4b01d82a4f8077386e Mon Sep 17 00:00:00 2001
From: Benjamin Bädorf <hello@benjaminbaedorf.eu>
Date: Fri, 28 Mar 2025 19:27:42 +0100
Subject: [PATCH 1/2] oauth2 basic secret modify
---
server/core/src/actors/v1_write.rs | 42 ++++++++++++++++++++++++++++++
server/core/src/https/v1.rs | 6 ++++-
server/core/src/https/v1_oauth2.rs | 29 +++++++++++++++++++++
server/lib/src/constants/acp.rs | 6 +++++
4 files changed, 82 insertions(+), 1 deletion(-)
server/lib/src/constants/acp.rs | 8 ++++++
4 files changed, 84 insertions(+), 1 deletion(-)
diff --git a/server/core/src/actors/v1_write.rs b/server/core/src/actors/v1_write.rs
index 732e826c8..0fe66503f 100644
index 732e826c8..a2b8e503f 100644
--- a/server/core/src/actors/v1_write.rs
+++ b/server/core/src/actors/v1_write.rs
@@ -317,20 +317,62 @@ impl QueryServerWriteV1 {
};
trace!(?del, "Begin delete event");
idms_prox_write
.qs_write
.delete(&del)
@@ -324,6 +324,48 @@ impl QueryServerWriteV1 {
.and_then(|_| idms_prox_write.commit().map(|_| ()))
}
@@ -70,21 +63,11 @@ index 732e826c8..0fe66503f 100644
#[instrument(
level = "info",
skip_all,
fields(uuid = ?eventid)
)]
pub async fn handle_reviverecycled(
&self,
client_auth_info: ClientAuthInfo,
filter: Filter<FilterInvalid>,
eventid: Uuid,
diff --git a/server/core/src/https/v1.rs b/server/core/src/https/v1.rs
index c410a4b5d..cc67cac6c 100644
--- a/server/core/src/https/v1.rs
+++ b/server/core/src/https/v1.rs
@@ -1,17 +1,17 @@
//! The V1 API things!
use axum::extract::{Path, State};
@@ -4,7 +4,7 @@ use axum::extract::{Path, State};
use axum::http::{HeaderMap, HeaderValue};
use axum::middleware::from_fn;
use axum::response::{IntoResponse, Response};
@@ -93,21 +76,7 @@ index c410a4b5d..cc67cac6c 100644
use axum::{Extension, Json, Router};
use axum_extra::extract::cookie::{Cookie, CookieJar, SameSite};
use compact_jwt::{Jwk, Jws, JwsSigner};
use kanidm_proto::constants::uri::V1_AUTH_VALID;
use std::net::IpAddr;
use uuid::Uuid;
use kanidm_proto::internal::{
ApiToken, AppLink, CUIntentToken, CURequest, CUSessionToken, CUStatus, CreateRequest,
CredentialStatus, DeleteRequest, IdentifyUserRequest, IdentifyUserResponse, ModifyRequest,
@@ -3120,20 +3120,24 @@ pub(crate) fn route_setup(state: ServerState) -> Router<ServerState> {
)
.route(
"/v1/oauth2/:rs_name/_image",
post(super::v1_oauth2::oauth2_id_image_post)
.delete(super::v1_oauth2::oauth2_id_image_delete),
)
.route(
@@ -3127,6 +3127,10 @@ pub(crate) fn route_setup(state: ServerState) -> Router<ServerState> {
"/v1/oauth2/:rs_name/_basic_secret",
get(super::v1_oauth2::oauth2_id_get_basic_secret),
)
@@ -118,25 +87,11 @@ index c410a4b5d..cc67cac6c 100644
.route(
"/v1/oauth2/:rs_name/_scopemap/:group",
post(super::v1_oauth2::oauth2_id_scopemap_post)
.delete(super::v1_oauth2::oauth2_id_scopemap_delete),
)
.route(
"/v1/oauth2/:rs_name/_sup_scopemap/:group",
post(super::v1_oauth2::oauth2_id_sup_scopemap_post)
.delete(super::v1_oauth2::oauth2_id_sup_scopemap_delete),
)
diff --git a/server/core/src/https/v1_oauth2.rs b/server/core/src/https/v1_oauth2.rs
index d3966a7ad..f89c02c69 100644
index f399539bc..ffad9921e 100644
--- a/server/core/src/https/v1_oauth2.rs
+++ b/server/core/src/https/v1_oauth2.rs
@@ -144,20 +144,49 @@ pub(crate) async fn oauth2_id_get_basic_secret(
) -> Result<Json<Option<String>>, WebError> {
let filter = oauth2_id(&rs_name);
state
.qe_r_ref
.handle_oauth2_basic_secret_read(client_auth_info, filter, kopid.eventid)
.await
.map(Json::from)
@@ -151,6 +151,35 @@ pub(crate) async fn oauth2_id_get_basic_secret(
.map_err(WebError::from)
}
@@ -172,25 +127,11 @@ index d3966a7ad..f89c02c69 100644
#[utoipa::path(
patch,
path = "/v1/oauth2/{rs_name}",
request_body=ProtoEntry,
responses(
DefaultApiResponse,
),
security(("token_jwt" = [])),
tag = "v1/oauth2",
operation_id = "oauth2_id_patch"
diff --git a/server/lib/src/constants/acp.rs b/server/lib/src/constants/acp.rs
index be1836345..ebf4445be 100644
index 7c0487745..3cd83ad52 100644
--- a/server/lib/src/constants/acp.rs
+++ b/server/lib/src/constants/acp.rs
@@ -658,36 +658,38 @@ lazy_static! {
Attribute::Image,
],
modify_present_attrs: vec![
Attribute::Description,
Attribute::DisplayName,
Attribute::OAuth2RsName,
Attribute::OAuth2RsOrigin,
@@ -665,6 +665,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -198,16 +139,7 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
],
create_attrs: vec![
Attribute::Class,
Attribute::Description,
Attribute::DisplayName,
Attribute::OAuth2RsName,
Attribute::OAuth2RsOrigin,
@@ -681,6 +682,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -215,21 +147,7 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
],
create_classes: vec![
EntryClass::Object,
EntryClass::OAuth2ResourceServer,
@@ -759,37 +761,39 @@ lazy_static! {
Attribute::Image,
],
modify_present_attrs: vec![
Attribute::Description,
Attribute::DisplayName,
Attribute::Name,
Attribute::OAuth2RsOrigin,
@@ -766,6 +768,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -237,17 +155,7 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
],
create_attrs: vec![
Attribute::Class,
Attribute::Description,
Attribute::Name,
Attribute::DisplayName,
Attribute::OAuth2RsName,
Attribute::OAuth2RsOrigin,
@@ -783,6 +786,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -255,21 +163,7 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
],
create_classes: vec![
EntryClass::Object,
EntryClass::Account,
@@ -864,38 +868,40 @@ lazy_static! {
Attribute::OAuth2StrictRedirectUri,
],
modify_present_attrs: vec![
Attribute::Description,
Attribute::DisplayName,
Attribute::Name,
Attribute::OAuth2RsOrigin,
@@ -871,6 +875,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -277,18 +171,23 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
Attribute::OAuth2StrictRedirectUri,
],
create_attrs: vec![
Attribute::Class,
Attribute::Description,
Attribute::Name,
Attribute::DisplayName,
Attribute::OAuth2RsName,
Attribute::OAuth2RsOrigin,
@@ -889,6 +894,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
+ Attribute::OAuth2RsBasicSecret,
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
@@ -980,6 +986,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
+ Attribute::OAuth2RsBasicSecret,
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
@@ -999,6 +1006,7 @@ lazy_static! {
Attribute::OAuth2RsOriginLanding,
Attribute::OAuth2RsSupScopeMap,
Attribute::OAuth2RsScopeMap,
@@ -296,13 +195,5 @@ index be1836345..ebf4445be 100644
Attribute::OAuth2AllowInsecureClientDisablePkce,
Attribute::OAuth2JwtLegacyCryptoEnable,
Attribute::OAuth2PreferShortUsername,
Attribute::OAuth2AllowLocalhostRedirect,
Attribute::OAuth2RsClaimMap,
Attribute::Image,
Attribute::OAuth2StrictRedirectUri,
],
create_classes: vec![
EntryClass::Object,
--
2.46.1
2.47.2
+2 -2
View File
@@ -20,13 +20,13 @@
flutter329.buildFlutterApplication rec {
pname = "kazumi";
version = "1.6.8";
version = "1.6.9";
src = fetchFromGitHub {
owner = "Predidit";
repo = "Kazumi";
tag = version;
hash = "sha256-/FaGK1CHo1KUo8gJ0t4lNFdkG7slpskPD/kHhbavi3o=";
hash = "sha256-mqsXbMde6MYNWrtO6lZ/xP54I+4pwZwuqo9ODHKyiog=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
+45 -13
View File
@@ -4,8 +4,25 @@
fetchFromGitHub,
drat-trim,
p7zip,
pkg-config,
}:
let
# Early meta to reference in pkgconfig generation
meta = with lib; {
description = "'keep it simple and clean bare metal SAT solver' written in C";
mainProgram = "kissat";
longDescription = ''
Kissat is a "keep it simple and clean bare metal SAT solver" written in C.
It is a port of CaDiCaL back to C with improved data structures,
better scheduling of inprocessing and optimized algorithms and implementation.
'';
maintainers = with maintainers; [ shnarazk ];
platforms = platforms.unix;
license = licenses.mit;
homepage = "https://fmv.jku.at/kissat";
};
in
stdenv.mkDerivation rec {
pname = "kissat";
version = "4.0.2";
@@ -23,6 +40,10 @@ stdenv.mkDerivation rec {
"lib"
];
nativeBuildInputs = [
pkg-config
];
nativeCheckInputs = [
drat-trim
p7zip
@@ -37,6 +58,14 @@ stdenv.mkDerivation rec {
dontAddPrefix = true;
setOutputFlags = false;
configurePhase = ''
./configure
'';
buildPhase = ''
make -j$NIX_BUILD_CORES
'';
installPhase = ''
runHook preInstall
@@ -46,20 +75,23 @@ stdenv.mkDerivation rec {
mkdir -p "$out/share/doc/kissat/"
install -Dm0644 {LICEN?E,README*,VERSION} "$out/share/doc/kissat/"
# Create pkgconfig
mkdir -p $dev/lib/pkgconfig
cat > $dev/lib/pkgconfig/kissat.pc <<EOF
prefix=${placeholder "dev"}
exec_prefix=\''${prefix}
libdir=${placeholder "lib"}/lib
includedir=\''${prefix}/include
Name: ${pname}
Description: ${meta.description}
Version: ${version}
Libs: -L\''${libdir} -lkissat
Cflags: -I\''${includedir}
EOF
runHook postInstall
'';
meta = with lib; {
description = "'keep it simple and clean bare metal SAT solver' written in C";
mainProgram = "kissat";
longDescription = ''
Kissat is a "keep it simple and clean bare metal SAT solver" written in C.
It is a port of CaDiCaL back to C with improved data structures,
better scheduling of inprocessing and optimized algorithms and implementation.
'';
maintainers = with maintainers; [ shnarazk ];
platforms = platforms.unix;
license = licenses.mit;
homepage = "https://fmv.jku.at/kissat";
};
inherit meta;
}
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "kubectl-rook-ceph";
version = "0.9.3";
version = "0.9.4";
src = fetchFromGitHub {
owner = "rook";
repo = "kubectl-rook-ceph";
tag = "v${finalAttrs.version}";
hash = "sha256-stWuRej3ogGETLzVabMRfakoK358lJbK56/hjBh2k2M=";
hash = "sha256-t63m5cUIApAOBF1Nb8u2/Xkyi1OAGnaLSVWFyLec8AA=";
};
vendorHash = "sha256-fB3S946nv1uH9blek6w2EmmYYcdnBcEbmYELfPH9A04=";
vendorHash = "sha256-8KrTfryEiTqF13NQ5xS1d9mIZI3ranA8+EkKUHu2mVE=";
postInstall = ''
mv $out/bin/cmd $out/bin/kubectl-rook-ceph
@@ -4,20 +4,18 @@
src,
version,
nodejs,
eintopf,
lauti,
yarnConfigHook,
yarnBuildHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eintopf";
pname = "lauti";
inherit version src;
sourceRoot = "${finalAttrs.src.name}/backstage";
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/backstage/yarn.lock";
hash = "sha256-3TPBrQxvTfmBfhAavHy8eDcZwRZMwu0dCovnE1fcuTE=";
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-uIDBE4ewdzrtJqOjFQTAei1TpAjQMRqls7CtG1h8KnA=";
};
nativeBuildInputs = [
@@ -27,6 +25,10 @@ stdenv.mkDerivation (finalAttrs: {
nodejs
];
preBuild = ''
cd backstage
'';
installPhase = ''
runHook preInstall
@@ -39,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
meta = {
inherit (eintopf.meta)
inherit (lauti.meta)
homepage
description
license
@@ -7,22 +7,22 @@
}:
let
version = "0.14.3";
version = "1.0.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "Klasse-Methode";
repo = "eintopf";
rev = "v${version}";
hash = "sha256-cWHWRxZFoArBB5PiuY6EQubKJKm3/79fwNhnABOtBrM=";
repo = "lauti";
tag = "v${version}";
hash = "sha256-cO9rK7GAVRlv5x4WI/xbXNJ594QqB+KIPUteB3TifKM=";
};
frontend = callPackage ./frontend.nix { inherit src version; };
in
buildGoModule rec {
pname = "eintopf";
pname = "lauti";
inherit version src;
vendorHash = "sha256-ysAgyaewREI8TaMnKH+kh33QT6AN1eLhog35lv7CbVU=";
vendorHash = "sha256-ushTvIpvRLZP3q6tLN6BA4tl2Xp/UImWugm2ZgTAm8k=";
ldflags = [
"-s"
@@ -37,19 +37,20 @@ buildGoModule rec {
preCheck = ''
# Disable test, requires running Docker daemon
rm cmd/eintopf/main_test.go
rm cmd/lauti/main_test.go
rm service/email/email_test.go
'';
passthru.tests = {
inherit (nixosTests) eintopf;
inherit (nixosTests) lauti;
};
meta = {
description = "A calendar for Stuttgart, showing events, groups and places";
homepage = "https://codeberg.org/Klasse-Methode/eintopf";
description = "An open source calendar for events, groups and places";
homepage = "https://lauti.org";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ onny ];
platforms = lib.platforms.unix;
mainProgram = "lauti";
};
}
@@ -37,7 +37,7 @@ let
pname = "librewolf-bin-unwrapped";
version = "137.0.2-1";
version = "138.0.1-2";
in
stdenv.mkDerivation {
@@ -47,9 +47,9 @@ stdenv.mkDerivation {
url = "https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/${version}/librewolf-${version}-${arch}-package.tar.xz";
hash =
{
i686-linux = "sha256-IhMtmemkgAGZgIn+KbETv4KYFETCkloM4VjTrBSqvLk=";
x86_64-linux = "sha256-Y11p3GMwxw8eJzH7uYjMQ7inmfiXPiQZcq/QfJtU/1g=";
aarch64-linux = "sha256-nQqYlZ8WeLYVmFx36uzhuXkqUUSDDCD9nHVICwA2/+g=";
i686-linux = "sha256-sr4qnFpWubAsdBr18xLSMwBCkCX6JB0VnwiJxu4b+Dc=";
x86_64-linux = "sha256-BW8CirLL8YJl+aXwGWo3n3RN04LWs3ca4Isy5Krrjpg=";
aarch64-linux = "sha256-LLUQ87HcsnxYfTvniKIHVY+pqTWpdqN1a7gRQn3Ll7Y=";
}
.${stdenv.hostPlatform.system} or throwSystem;
};
+105
View File
@@ -0,0 +1,105 @@
{
gnupg,
gpgme,
installShellFiles,
lib,
libgit2,
libgpg-error,
lua51Packages,
lua52Packages,
lua53Packages,
lua54Packages,
luajit,
makeWrapper,
nix,
openssl,
pkg-config,
rustPlatform,
symlinkJoin,
versionCheckHook,
}:
let
lux-lua-bundle = symlinkJoin {
name = "lux-lua-bundle";
paths = [
lua51Packages.lux-lua
lua52Packages.lux-lua
lua53Packages.lux-lua
lua54Packages.lux-lua
];
};
in
rustPlatform.buildRustPackage rec {
pname = "lux-cli";
version = "0.3.14";
src = lua52Packages.lux-lua.src;
buildAndTestSubdir = "lux-cli";
useFetchCargoVendor = true;
cargoHash = lua52Packages.lux-lua.cargoHash;
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/${meta.mainProgram}";
versionCheckProgramArg = "--version";
doInstallCheck = true;
nativeBuildInputs = [
installShellFiles
makeWrapper
pkg-config
];
buildInputs = [
gnupg
gpgme
libgit2
libgpg-error
luajit
openssl
];
env = {
LIBGIT2_NO_VENDOR = 1;
LIBSSH2_SYS_USE_PKG_CONFIG = 1;
LUX_SKIP_IMPURE_TESTS = 1; # Disable impure unit tests
};
cargoTestFlags = "--lib"; # Disable impure integration tests
nativeCheckInputs = [
luajit
nix
];
postBuild = ''
cargo xtask dist-man
cargo xtask dist-completions
'';
postFixup = ''
# Instruct Lux to search for the lux-specific shared libraries in the lux-lua bundle
# (temporary solution, until https://github.com/nvim-neorocks/lux/issues/655 is implemented)
wrapProgram $out/bin/lx --set LUX_LIB_DIR "${lux-lua-bundle}"
'';
meta = {
description = "Luxurious package manager for Lua";
longDescription = ''
A modern package manager for Lua.
compatible with luarocks.org and the Rockspec specification,
with first-class support for Nix and Neovim.
'';
homepage = "https://nvim-neorocks.github.io/";
changelog = "https://github.com/nvim-neorocks/lux/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
mrcjkb
];
platforms = lib.platforms.all;
mainProgram = "lx";
};
}
+2 -2
View File
@@ -25,13 +25,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mangojuice";
version = "0.8.3";
version = "0.8.4";
src = fetchFromGitHub {
owner = "radiolamp";
repo = "mangojuice";
tag = finalAttrs.version;
hash = "sha256-373Ws+U7fuwWLrKOnj1dD9gIJPKOd1b6I78VWOtOjTM=";
hash = "sha256-LsXTzPSDELw1SKTDtgOMQe1FOPwdVft7VFacE4WezNQ=";
};
patches = [
+3 -3
View File
@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mdq";
version = "0.6.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "yshavit";
repo = "mdq";
tag = "v${finalAttrs.version}";
hash = "sha256-izjWFnu2plm6nE1ZhjHLi9lURoHMp+K2kDXu8WonuLE=";
hash = "sha256-QGva+yuiNwez8z9j4SL8vpcHdUm8nxRFn+6WiZgdWjQ=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-QNtIG27vRtLcUTyCoDyxVNaQbxhANUZDPAEcEK8Uztk=";
cargoHash = "sha256-k+St07jA+F+c4md9OzFiDp9idie6zoNI65HEQ2JqynM=";
passthru.updateScript = nix-update-script { };
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "mud";
version = "1.0.13";
version = "1.0.14";
pyproject = true;
src = fetchFromGitHub {
owner = "jasursadikov";
repo = "mud";
tag = "v${version}";
hash = "sha256-DRkr4SYXzYZg7IvPwKGeqcJVDyJr4TdJ4TKuBu7iHEc=";
hash = "sha256-nYmMz91ElYZDelyHGAF6FlEhXqORODRgdLbxha4sUb8=";
};
build-system = with python3Packages; [
+3 -2
View File
@@ -31,13 +31,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "netbird";
version = "0.43.1";
version = "0.43.2";
src = fetchFromGitHub {
owner = "netbirdio";
repo = "netbird";
tag = "v${finalAttrs.version}";
hash = "sha256-otjdzt+RLjic3VyoRh/uneP6qChy8QaxkIQT9YFS1pY=";
hash = "sha256-VZWd7KXMfh/OOnvprF5S69ztDK3N5w3lmfO2OGUC+FQ=";
};
vendorHash = "sha256-/STnSegRtpdMhh9RaCqwc6dSXvt7UO5GVz7/M9JzamM=";
@@ -119,6 +119,7 @@ buildGoModule (finalAttrs: {
maintainers = with lib.maintainers; [
vrifox
saturn745
loc
];
mainProgram = if ui then "netbird-ui" else "netbird";
};
@@ -0,0 +1,54 @@
{
lib,
cmake,
kdePackages,
fetchFromGitHub,
libre-graph-api-cpp-qt-client,
kdsingleapplication,
nix-update-script,
qt6,
versionCheckHook,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "opencloud-desktop";
version = "1.0.0";
src = fetchFromGitHub {
owner = "opencloud-eu";
repo = "desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-sGbjFPidPncCu9LqaeClrXoKQUzhbR1XbX8RoLuz+N8=";
};
buildInputs = [
kdePackages.extra-cmake-modules
qt6.qtbase
qt6.qtdeclarative
qt6.qttools
kdePackages.qtkeychain
libre-graph-api-cpp-qt-client
kdsingleapplication
];
nativeBuildInputs = [
cmake
qt6.wrapQtAppsHook
];
strictDeps = true;
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/opencloudcmd";
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/opencloud-eu/desktop/releases/tag/v${finalAttrs.version}";
description = "Desktop Application for OpenCloud";
downloadPage = "https://github.com/opencloud-eu/desktop";
homepage = "https://opencloud.eu/en";
license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.FKouhai ];
};
})
+15 -4
View File
@@ -1,5 +1,5 @@
{
abseil-cpp,
abseil-cpp_202407,
bzip2,
cbc,
cmake,
@@ -11,7 +11,7 @@
highs,
lib,
pkg-config,
protobuf,
protobuf_29,
python3,
re2,
stdenv,
@@ -20,6 +20,17 @@
zlib,
}:
let
# OR-Tools strictly requires specific versions of abseil-cpp and
# protobuf. Do not un-pin these, even if you're upgrading them to
# what might happen to be the latest version at the current moment;
# future upgrades *will* break the build.
abseil-cpp = abseil-cpp_202407;
protobuf = protobuf_29.override { inherit abseil-cpp; };
python-protobuf = python3.pkgs.protobuf5.override { inherit protobuf; };
pybind11-protobuf = python3.pkgs.pybind11-protobuf.override { inherit protobuf; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "or-tools";
version = "9.12";
@@ -104,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
python3.pkgs.absl-py
python3.pkgs.pybind11
python3.pkgs.pybind11-abseil
python3.pkgs.pybind11-protobuf
pybind11-protobuf
python3.pkgs.pytest
python3.pkgs.scipy
python3.pkgs.setuptools
@@ -116,7 +127,7 @@ stdenv.mkDerivation (finalAttrs: {
abseil-cpp
highs
protobuf
python3.pkgs.protobuf
python-protobuf
python3.pkgs.immutabledict
python3.pkgs.numpy
python3.pkgs.pandas
+2 -2
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "pgbackrest";
version = "2.55.0";
version = "2.55.1";
src = fetchFromGitHub {
owner = "pgbackrest";
repo = "pgbackrest";
rev = "release/${version}";
sha256 = "sha256-w4jgIyZPglmI0yj8eyoIvFgNX7izpo3lBixuv7qSAxM=";
sha256 = "sha256-A1dTywcCHBu7Ml0Q9k//VVPFN1C3kmmMkq4ok9T4g94=";
};
strictDeps = true;
+2 -2
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "pgmoneta";
version = "0.16.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "pgmoneta";
repo = "pgmoneta";
rev = version;
hash = "sha256-mbS+bh+fSap64Y3QIe54j9PD8CjCtcljT1UreCT5reM=";
hash = "sha256-NsbCgXruRIyzEdJjzImJJeTjDhMQwmo7bCTg9LTND+Y=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "pspg";
version = "5.8.9";
version = "5.8.10";
src = fetchFromGitHub {
owner = "okbob";
repo = "pspg";
rev = version;
sha256 = "sha256-DxeAu8Ik3srQhQ4L+9p+brnnJoJnoYWYjBo2AiJN2ZA=";
sha256 = "sha256-kkynCpnwdoAwWEs+gXO0ZPkPk+U4Phl0iL/s3CnL0zA=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -34,13 +34,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rerun";
version = "0.23.1";
version = "0.23.2";
src = fetchFromGitHub {
owner = "rerun-io";
repo = "rerun";
tag = finalAttrs.version;
hash = "sha256-P4PNGguBlHlVRlABNDZGxdAKL0NkoROrcR+7+q7Ln4Q=";
hash = "sha256-l3p9yicA7SNKURemxGq2j0iXeyE4jEsqQ9VdGZPuN/E=";
};
# The path in `build.rs` is wrong for some reason, so we patch it to make the passthru tests work
@@ -50,7 +50,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-1DNrgptSeggyxS/JFaFinS2RqpKVJ8SoGgLtffaS9HU=";
cargoHash = "sha256-zF3mzv7FOrr1qGG6N6u4c0OKc39klkBfQIqF0fmX5GU=";
cargoBuildFlags = [ "--package rerun-cli" ];
cargoTestFlags = [ "--package rerun-cli" ];
+2 -2
View File
@@ -10,12 +10,12 @@
stdenv.mkDerivation rec {
pname = "rgbds";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "gbdev";
repo = "rgbds";
rev = "v${version}";
hash = "sha256-Rv2ylZavLy+G4XFLBdNGjk78hSb8cDoX9lW1l2TRmtk=";
hash = "sha256-Ho9aSpENukNutb5VscopY2p6RGXbRgvtIcRgxTtZews=";
};
nativeBuildInputs = [
bison
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "rtrtr";
version = "0.3.1";
version = "0.3.2";
src = fetchFromGitHub {
owner = "NLnetLabs";
repo = pname;
rev = "v${version}";
hash = "sha256-c1jzUP7cYjqn49gbjXLWTge8ywHBI29gSnhzWDzNCV8=";
hash = "sha256-1TmzC/d/odfYdo1CiCsFW3U7OCpTF4Gkw2w4c2yaxxw=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-RPCT2mmzuvDYSTTDM7S1yRcmCe8RlkA1i80dW7OPVO4=";
cargoHash = "sha256-SeQ2zRBbETabAhOItu3C6PUjL7vUsVDzWGbYcUIslF4=";
nativeBuildInputs = [ pkg-config ];
buildNoDefaultFeatures = true;
@@ -12,15 +12,15 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2025-04-28";
version = "2025-05-05";
useFetchCargoVendor = true;
cargoHash = "sha256-fPp8aBPSTpWIGLMYFawEDTB5aSdglJtK7ez8RWsP6Hg=";
cargoHash = "sha256-Y6/1xr08KXj+KQVJgLO7LhwsNGE2ooFdTR9GoAgAwKk=";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = version;
hash = "sha256-fxvRYH/tS7hGQeg9zCVh5RBcSWT+JGJet7RA8Ss+rC0=";
hash = "sha256-d4/WBcspAR38AMsZysrQsenF1NmZ0/9GhjD4hxvPygo=";
};
cargoBuildFlags = [
+2 -2
View File
@@ -9,7 +9,7 @@
let
baseName = "scalafmt";
version = "3.9.4";
version = "3.9.6";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@@ -19,7 +19,7 @@ let
cp $(< deps) $out/share/java/
'';
outputHashMode = "recursive";
outputHash = "sha256-F2906HrBEiCnv+7OfoFbLsIK1lJiE0cQCyjJ0EivSI0=";
outputHash = "sha256-qn3by++aYx/azaoDJFQfo8PHyjd3w4qI7g6NMIzLiPE=";
};
in
stdenv.mkDerivation {
@@ -5,7 +5,7 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
commonmarker (0.23.11)
concurrent-ruby (1.3.5)
csv (3.3.2)
csv (3.3.4)
daemons (1.4.1)
em-websocket (0.3.8)
addressable (>= 2.1.1)
@@ -20,17 +20,17 @@ GEM
concurrent-ruby (~> 1.0)
iso-639 (0.3.8)
csv
json (2.10.2)
json (2.11.3)
mini_portile2 (2.8.8)
mustermann (2.0.2)
ruby2_keywords (~> 0.0.1)
nokogiri (1.18.5)
nokogiri (1.18.8)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
ostruct (0.6.1)
parslet (2.0.0)
pdfkit (0.8.7.3)
public_suffix (6.0.1)
public_suffix (6.0.2)
racc (1.8.1)
rack (2.2.13)
rack-contrib (2.5.0)
@@ -80,4 +80,4 @@ DEPENDENCIES
showoff
BUNDLED WITH
2.6.2
2.6.6
@@ -35,10 +35,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kmx36jjh2sahd989vcvw74lrlv07dqc3rnxchc5sj2ywqsw3w3g";
sha256 = "1kfqg0m6vqs6c67296f10cr07im5mffj90k2b5dsm51liidcsvp9";
type = "gem";
};
version = "3.3.2";
version = "3.3.4";
};
daemons = {
groups = [ "default" ];
@@ -133,10 +133,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l";
sha256 = "1hfcz73wszgqprg2pr83qjbyfb0k93frbdvyhgmw0ryyl9cgc44s";
type = "gem";
};
version = "2.10.2";
version = "2.11.3";
};
mini_portile2 = {
groups = [ "default" ];
@@ -168,10 +168,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1p1nl5gqs56wlv2gwzdj0px3dw018ywpkg14a4s23b0qjkdgi9n8";
sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c";
type = "gem";
};
version = "1.18.5";
version = "1.18.8";
};
ostruct = {
groups = [ "default" ];
@@ -208,10 +208,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.1";
version = "6.0.2";
};
racc = {
groups = [ "default" ];
+3 -3
View File
@@ -12,7 +12,7 @@
rustPlatform.buildRustPackage rec {
pname = "skim";
version = "0.16.2";
version = "0.17.2";
outputs = [
"out"
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
owner = "skim-rs";
repo = "skim";
tag = "v${version}";
hash = "sha256-b0omzuBPBDHCyUqC8xy8IPOqhFfm3ufeutxheZS7U+E=";
hash = "sha256-S9gHrGbEDRwMSsQWzPSIrYJaLhnCvfLtsS2eI3rPwdg=";
};
postPatch = ''
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-wtZeXaBV9bLj7MiXJnJT7AjH2jq9crifTxeCWEtJY2o=";
cargoHash = "sha256-IsPcVNwRx0ZDWATtbxmjuRERrhu8DpHh9v6Svj1dHzc=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "tfupdate";
version = "0.8.5";
version = "0.9.0";
src = fetchFromGitHub {
owner = "minamijoyo";
repo = "tfupdate";
rev = "v${version}";
sha256 = "sha256-iWiY1IuNZCqHpnAoib0SkWwAg1Mnuqr2QjKI3KZGYs0=";
sha256 = "sha256-wn73AMoIEH8lt9ZmQFv2y3tqXRyiv4yK/rdst7UVHN4=";
};
vendorHash = "sha256-/ZNWVuGInZY/t0s317FQstEPeJpTKWMXUVo8cE44GkI=";
vendorHash = "sha256-e4ZDE25tCLNAaAJNz8fBOr+ankMNCtDvbd9L11DSWBY=";
# Tests start http servers which need to bind to local addresses:
# panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "tlrc";
version = "1.11.0";
version = "1.11.1";
src = fetchFromGitHub {
owner = "tldr-pages";
repo = "tlrc";
rev = "v${version}";
hash = "sha256-LXuURq+MSSkd8+VzhltX2VqKsU3PWcQLMQTqqS5oLMg=";
hash = "sha256-SPYLQ7o3sbrjy3MmBAB0YoVJI1rSmePbrZY0yb2SnFE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-nA24qjxo1C0t4twTv2/Uu05ELiSzYLrnsRgAIFKsIxg=";
cargoHash = "sha256-i2nSwsQnwhiMhG8QJb0z0zPuNxTLwuO1dgJxI4e4FqY=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -8,13 +8,13 @@
}:
buildGoModule rec {
pname = "turso-cli";
version = "1.0.7";
version = "1.0.9";
src = fetchFromGitHub {
owner = "tursodatabase";
repo = "turso-cli";
rev = "v${version}";
hash = "sha256-WmGNVo6rnoHysEFBNFWRem91Ua0Cv8hPYSGWzuCKVZo=";
hash = "sha256-4n/GKnuibVsWxGy10XuRx2oN/Ub94TBqGZEeqfXEvgY=";
};
vendorHash = "sha256-tBO21IgUczwMgrEyV7scV3YTY898lYHASaLeXqvBopU=";
+13
View File
@@ -0,0 +1,13 @@
diff --git a/src/error.rs b/src/error.rs
index 4563e1e..050610d 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -34,7 +34,7 @@ impl fmt::Display for Error {
}
impl error::Error for Error {
- fn source<'a>(&'a self) -> Option<&(dyn error::Error + 'static)> {
+ fn source(&self) -> Option<&(dyn error::Error + 'static)> {
self.reason.as_deref()
}
}
+6
View File
@@ -28,6 +28,12 @@ rustPlatform.buildRustPackage rec {
export NO_COLOR=true
'';
patches = [
# Related to https://github.com/stepchowfun/typical/pull/501
# Commiting a slightly different patch because the upstream one doesn't apply cleanly
./lifetime.patch
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd typical \
--bash <($out/bin/typical shell-completion bash) \
+2 -2
View File
@@ -38,13 +38,13 @@ let
in
stdenv'.mkDerivation rec {
pname = "ucx";
version = "1.18.0";
version = "1.18.1";
src = fetchFromGitHub {
owner = "openucx";
repo = "ucx";
rev = "v${version}";
sha256 = "sha256-ve9/h8DntyEClZA0P/iIg8WAuWOwYD7yzfKeN779eIo=";
sha256 = "sha256-LW57wbQFwW14Z86p9jo1ervkCafVy+pnIQQ9t0i8enY=";
};
outputs = [
+1
View File
@@ -81,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
--prefix PATH : "$out/bin:${
lib.makeBinPath [
nbdkit
ocamlPackages.nbd
qemu
]
}"
+3 -3
View File
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "whistle";
version = "2.9.97";
version = "2.9.98";
src = fetchFromGitHub {
owner = "avwo";
repo = "whistle";
rev = "v${version}";
hash = "sha256-V6LnwhWTgkEBph/DkENhiUwoetEV8Wj6iGNbRWGWITU=";
hash = "sha256-G19vNz9tn21HETkExiYR77CjwMkBdvRPWLPwc422M7E=";
};
npmDepsHash = "sha256-td6Nl0ntFzztvE/TIFnYrgy5ny1N9ZCHMMiJpBYnAzA=";
npmDepsHash = "sha256-c5WNiUza6r++j+JhCkTOfGE/cUAYpYVDVsJhPu1Jpy8=";
dontNpmBuild = true;
+3 -3
View File
@@ -16,18 +16,18 @@
rustPlatform.buildRustPackage rec {
pname = "windsend-rs";
version = "1.5.3";
version = "1.5.4";
src = fetchFromGitHub {
owner = "doraemonkeys";
repo = "WindSend";
tag = "v${version}";
hash = "sha256-E7UiSmAPo1A1g7KpCMNJtfK8e/Tw8ScW4kn4eglq5rA=";
hash = "sha256-A0cmjllyhKkYsMyjeuuMCax0uVnaDp9OwJPY7peDjPM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-3cTzrKkGjV2cWtgR0xE6UiTjGU9LF4iVJulAB4Hz6qc=";
cargoHash = "sha256-9zuD3korJGIcarBV0bSSV/g/Q0niWAMqgRfwpPXCuBU=";
sourceRoot = "${src.name}/windSend-rs";
+2 -2
View File
@@ -31,13 +31,13 @@ in
stdenv.mkDerivation rec {
pname = "wl-mirror";
version = "0.18.1";
version = "0.18.2";
src = fetchFromGitHub {
owner = "Ferdi265";
repo = "wl-mirror";
rev = "v${version}";
hash = "sha256-kaWzcXXXHNCOHJvb2wpil+Jcqm/cF5JV3IhvDC67YeU=";
hash = "sha256-1R8jMDPprTeLt98iALC5l1mdW1U2yKGVtncXGatM8Vg=";
};
strictDeps = true;
+3 -3
View File
@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.184.8";
version = "0.184.10";
outputs =
[ "out" ]
@@ -111,7 +111,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-YqLvq08P/DoRDhmx4n1JY+gwdPr8ZzMH2KU/V9J0E68=";
hash = "sha256-AtccwZueh4kJZNWR+wUkPx5pe4izyTrm4LJYe99OyaM=";
};
patches = [
@@ -129,7 +129,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-cD5iqsnP6ZGCL02WLREkMsvDsjwmFENzez4hyscTvEU=";
cargoHash = "sha256-Kd6z3oUuiqLpOC6J2GZTTQd+1bKCnJNtfBgaWJkN0ho=";
nativeBuildInputs =
[
+3 -3
View File
@@ -8,13 +8,13 @@
buildGoModule {
pname = "zoekt";
version = "3.7.2-2-unstable-2025-04-22";
version = "3.7.2-2-unstable-2025-05-06";
src = fetchFromGitHub {
owner = "sourcegraph";
repo = "zoekt";
rev = "45c1f08d3942c955f2ef0934518aafca5238df28";
hash = "sha256-Iy+5Of6Y4phATJrb3Hd8m9N9iDPkOA8Hgkyrir5x+Hg=";
rev = "490422d1adb4b84f023ac1381aa534a7bbdccddc";
hash = "sha256-TOJjxp8TcST0M0j6fOKox/mfWylg8fgQ7vR362zcZ4w=";
};
vendorHash = "sha256-B45Q9G+p/idqqz45lLQQuDGLwAzhKuo9Ev+cISGbKUo=";
+103 -44
View File
@@ -2,6 +2,9 @@
stdenv,
lib,
fetchurl,
makeWrapper,
xar,
cpio,
pulseaudioSupport ? true,
xdgDesktopPortalSupport ? true,
callPackage,
@@ -9,39 +12,90 @@
}:
let
unpacked = stdenv.mkDerivation (finalAttrs: {
pname = "zoom";
version = "6.4.6.1370";
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
src = fetchurl {
url = "https://zoom.us/client/${finalAttrs.version}/zoom_x86_64.pkg.tar.xz";
# Zoom versions are released at different times for each platform
# and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can
# find where to edit them.
versions.aarch64-darwin = "6.4.6.53970";
versions.x86_64-darwin = "6.4.6.53970";
versions.x86_64-linux = "6.4.6.1370";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
hash = "sha256-yNsiFZNte4432d8DUyDhPUOVbLul7gUdvr+3qK/Y+tk=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
hash = "sha256-Ut93qQFFN0d58wXD5r8u0B17HbihFg3FgY3a1L8nsIA=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
hash = "sha256-Y+8garSqDcKLCVv1cTiqGEfrGKpK3UoXIq8X4E8CF+8=";
};
};
dontUnpack = true;
unpacked = stdenv.mkDerivation {
pname = "zoom";
version = versions.${system} or throwSystem;
# Note: In order to uncover missing libraries,
# add "pkgs" to this file's arguments
src = srcs.${system} or throwSystem;
dontUnpack = stdenv.hostPlatform.isLinux;
unpackPhase = lib.optionalString stdenv.hostPlatform.isDarwin ''
xar -xf $src
zcat < zoomus.pkg/Payload | cpio -i
'';
# Note: In order to uncover missing libraries
# on x86_64-linux, add "pkgs" to this file's arguments
# (at the top of this file), then add these attributes here:
# > buildInputs = linuxGetDependencies pkgs;
# > dontAutoPatchelf = true;
# > dontWrapQtApps = true;
# > nativeBuildInputs = [ pkgs.autoPatchelfHook ];
# > preFixup = ''
# > addAutoPatchelfSearchPath $out/opt/zoom
# > autoPatchelf $out/opt/zoom/{cef,Qt,*.so*,aomhost,zoom,zopen,ZoomLauncher,ZoomWebviewHost}
# > '';
# ...and finally "pkgs.autoPatchelfHook"
# to `nativeBuildInputs` right below.
# Then build `zoom-us.unpacked`:
# `autoPatchelfHook` will report missing library files.
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
makeWrapper
xar
cpio
];
installPhase = ''
runHook preInstall
mkdir $out
tar -C $out -xf $src
mv $out/usr/* $out/
${
rec {
aarch64-darwin = ''
mkdir -p $out/Applications
cp -R zoom.us.app $out/Applications/
'';
# darwin steps same on both architectures
x86_64-darwin = aarch64-darwin;
x86_64-linux = ''
mkdir $out
tar -C $out -xf $src
mv $out/usr/* $out/
'';
}
.${system} or throwSystem
}
runHook postInstall
'';
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom
'';
dontPatchELF = true;
passthru.updateScript = ./update.sh;
@@ -53,13 +107,18 @@ let
description = "zoom.us video conferencing application";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
platforms = builtins.attrNames srcs;
maintainers = with lib.maintainers; [
danbst
tadfisher
];
mainProgram = "zoom";
};
});
};
packages.aarch64-darwin = unpacked;
packages.x86_64-darwin = unpacked;
# linux definitions
linuxGetDependencies =
pkgs:
@@ -132,35 +191,35 @@ let
pkgs.xdg-desktop-portal-xapp
];
# We add the `unpacked` zoom archive to the FHS env
# and also bind-mount its `/opt` directory.
# This should assist Zoom in finding all its
# files in the places where it expects them to be.
packages.x86_64-linux = buildFHSEnv {
pname = "zoom"; # Will also be the program's name!
version = versions.${system} or throwSystem;
targetPkgs = pkgs: (linuxGetDependencies pkgs) ++ [ unpacked ];
extraPreBwrapCmds = "unset QT_PLUGIN_PATH";
extraBwrapArgs = [ "--ro-bind ${unpacked}/opt /opt" ];
runScript = "/opt/zoom/ZoomLauncher";
extraInstallCommands = ''
cp -Rt $out/ ${unpacked}/share
substituteInPlace \
$out/share/applications/Zoom.desktop \
--replace-fail Exec={/usr/bin/,}zoom
# Backwards compatibility: we used to call it zoom-us
ln -s $out/bin/{zoom,zoom-us}
'';
passthru = unpacked.passthru // {
inherit unpacked;
};
inherit (unpacked) meta;
};
in
# We add the `unpacked` zoom archive to the FHS env
# and also bind-mount its `/opt` directory.
# This should assist Zoom in finding all its
# files in the places where it expects them to be.
buildFHSEnv rec {
pname = "zoom"; # Will also be the program's name!
inherit (unpacked) version;
targetPkgs = pkgs: (linuxGetDependencies pkgs) ++ [ unpacked ];
extraPreBwrapCmds = "unset QT_PLUGIN_PATH";
extraBwrapArgs = [ "--ro-bind ${unpacked}/opt /opt" ];
runScript = "/opt/zoom/ZoomLauncher";
extraInstallCommands = ''
cp -Rt $out/ ${unpacked}/share
substituteInPlace \
$out/share/applications/Zoom.desktop \
--replace-fail Exec={/usr/bin/,}zoom
# Backwards compatibility: we used to call it zoom-us
ln -s $out/bin/{zoom,zoom-us}
'';
passthru = unpacked.passthru // {
inherit unpacked;
};
meta = unpacked.meta // {
mainProgram = pname;
};
}
packages.${system} or throwSystem
+29 -1
View File
@@ -3,4 +3,32 @@
set -eu -o pipefail
update-source-version zoom-us $(curl -Ls 'https://zoom.us/rest/download?os=linux' | jq -r .result.downloadVO.zoom.version) --source-key=unpacked.src
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
nixpkgs=$(realpath "$scriptDir"/../../../..)
echo >&2 "=== Obtaining version data from https://zoom.us/rest/download ..."
linux_data=$(curl -Ls 'https://zoom.us/rest/download?os=linux' | jq .result.downloadVO)
mac_data=$(curl -Ls 'https://zoom.us/rest/download?os=mac' | jq .result.downloadVO)
version_aarch64_darwin=$(jq -r .zoomArm64.version <<<"$mac_data")
version_x86_64_darwin=$(jq -r .zoom.version <<<"$mac_data")
version_x86_64_linux=$(jq -r .zoom.version <<<"$linux_data")
echo >&2 "=== Downloading packages and computing hashes..."
# We precalculate the hashes before calling update-source-version
# because it attempts to calculate each architecture's package's hash
# by running `nix-build --system <architecture> -A zoom-us.src` which
# causes cross compiling headaches; using nix-prefetch-url with
# hard-coded URLs is simpler. Keep these URLs in sync with the ones
# in package.nix where `srcs` is defined.
hash_aarch64_darwin=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_aarch64_darwin}/zoomusInstallerFull.pkg?archType=arm64"))
hash_x86_64_darwin=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_darwin}/zoomusInstallerFull.pkg"))
hash_x86_64_linux=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "https://zoom.us/client/${version_x86_64_linux}/zoom_x86_64.pkg.tar.xz"))
echo >&2 "=== Updating package.nix ..."
# update-source-version expects to be at the root of nixpkgs
(cd "$nixpkgs" && update-source-version zoom-us "$version_aarch64_darwin" $hash_aarch64_darwin --system=aarch64-darwin --version-key=versions.aarch64-darwin)
(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_darwin" $hash_x86_64_darwin --system=x86_64-darwin --version-key=versions.x86_64-darwin)
(cd "$nixpkgs" && update-source-version zoom-us "$version_x86_64_linux" $hash_x86_64_linux --system=x86_64-linux --version-key=versions.x86_64-linux --source-key=unpacked.src)
echo >&2 "=== Done!"
@@ -11,6 +11,7 @@
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
url ? null,
@@ -25,6 +26,7 @@ genericUpdater {
allowedVersions
ignoredVersions
rev-prefix
rev-suffix
odd-unstable
patchlevel-unstable
;
+10 -2
View File
@@ -18,6 +18,7 @@
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
}:
@@ -43,8 +44,9 @@ let
allowed_versions="$6"
ignored_versions="$7"
rev_prefix="$8"
odd_unstable="$9"
patchlevel_unstable="''${10}"
rev_suffix="$9"
odd_unstable="''${10}"
patchlevel_unstable="''${11}"
[[ -n "$name" ]] || name="$UPDATE_NIX_NAME"
[[ -n "$pname" ]] || pname="$UPDATE_NIX_PNAME"
@@ -89,6 +91,11 @@ let
tags=$(echo "$tags" | ${grep} "^$rev_prefix")
tags=$(echo "$tags" | ${sed} -e "s,^$rev_prefix,,")
fi
# cut any revision suffix not used in the NixOS package version
if [ -n "$rev_suffix" ]; then
tags=$(echo "$tags" | ${grep} -- "$rev_suffix$")
tags=$(echo "$tags" | ${sed} -e "s,$rev_suffix\$,,")
fi
tags=$(echo "$tags" | ${grep} "^[0-9]")
if [ -n "$allowed_versions" ]; then
tags=$(echo "$tags" | ${grep} -E -e "$allowed_versions")
@@ -145,6 +152,7 @@ in
allowedVersions
ignoredVersions
rev-prefix
rev-suffix
odd-unstable
patchlevel-unstable
];
+2
View File
@@ -11,6 +11,7 @@
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
# an explicit url is needed when src.meta.homepage or src.url don't
@@ -26,6 +27,7 @@ genericUpdater {
allowedVersions
ignoredVersions
rev-prefix
rev-suffix
odd-unstable
patchlevel-unstable
;
@@ -11,6 +11,7 @@
allowedVersions ? "",
ignoredVersions ? "",
rev-prefix ? "",
rev-suffix ? "",
odd-unstable ? false,
patchlevel-unstable ? false,
url ? null,
@@ -24,6 +25,7 @@ genericUpdater {
allowedVersions
ignoredVersions
rev-prefix
rev-suffix
odd-unstable
patchlevel-unstable
;
@@ -20,11 +20,11 @@
}:
stdenv.mkDerivation (final: {
pname = "quarto";
version = "1.7.29";
version = "1.7.30";
src = fetchurl {
url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${final.version}/quarto-${final.version}-linux-amd64.tar.gz";
hash = "sha256-UFXNyovsvRmLTAHQ3P/XYZwL4su9xwmrTQCFy3VXkak=";
hash = "sha256-JcDeZGexvVxCLf1Vcgs59IslLYACs0bgIaGMIphiw/k=";
};
patches = [
+90
View File
@@ -0,0 +1,90 @@
{
fetchFromGitHub,
gnupg,
gpgme,
isLuaJIT,
lib,
libgit2,
libgpg-error,
lua,
nix,
openssl,
pkg-config,
rustPlatform,
stdenv,
}:
let
luaMajorMinor = lib.take 2 (lib.splitVersion lua.version);
luaVersionDir = if isLuaJIT then "jit" else lib.concatStringsSep "." luaMajorMinor;
luaFeature = if isLuaJIT then "luajit" else "lua${lib.concatStringsSep "" luaMajorMinor}";
in
rustPlatform.buildRustPackage rec {
pname = "lux-lua";
version = "0.1.0";
src = fetchFromGitHub {
owner = "nvim-neorocks";
repo = "lux";
# NOTE: Lux's tags represent the lux-cli version, which may differ from the lux-lua version
tag = "v0.3.14";
hash = "sha256-gkUj3eeN0GnHM5sN4SKM/nHeBKe9ifrkg8TZRvA7FlM=";
};
buildAndTestSubdir = "lux-lua";
buildNoDefaultFeatures = true;
buildFeatures = [ luaFeature ];
useFetchCargoVendor = true;
cargoHash = "sha256-2bFVF4X4OpWwbxAjTr0orCLQNHKSO/koyeTXtD6d76M=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
gnupg
gpgme
libgit2
libgpg-error
lua
openssl
];
# lux-lua checks are broken right now (https://github.com/nvim-neorocks/lux/pull/616)
doCheck = false;
useNextest = true;
nativeCheckInputs = [
lua
nix
];
env = {
LIBGIT2_NO_VENDOR = 1;
LIBSSH2_SYS_USE_PKG_CONFIG = 1;
LUX_SKIP_IMPURE_TESTS = 1; # Disable impure unit tests
};
installPhase =
let
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
mkdir -p $out/${luaVersionDir}
ls target/release
install -T -v target/*/release/liblux_lua${libExt} $out/${luaVersionDir}/lux.so
'';
cargoTestFlags = "--lib"; # Disable impure integration tests
meta = {
description = "Lua API for the Lux package manager";
homepage = "https://nvim-neorocks.github.io/";
changelog = "https://github.com/nvim-neorocks/lux/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
mrcjkb
];
platforms = lib.platforms.all;
};
}
@@ -709,6 +709,8 @@ in
};
});
lux-lua = final.callPackage ./lux-lua.nix { inherit lua; };
lz-n = prev.lz-n.overrideAttrs (oa: {
doCheck = lua.luaversion == "5.1";
nativeCheckInputs = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "ailment";
version = "9.2.152";
version = "9.2.153";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "ailment";
tag = "v${version}";
hash = "sha256-nqMDsqmh0kzdUuSprDExSMpzzE8uwSs1cA/awflGB4o=";
hash = "sha256-CigfIFKoZu/mggPMLr5FTRvWqZ6ikP8701hDgck2I3o=";
};
build-system = [ setuptools ];
@@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "aiohomeconnect";
version = "0.16.3";
version = "0.17.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "MartinHjelmare";
repo = "aiohomeconnect";
tag = "v${version}";
hash = "sha256-BwLbShldDhd5jqes4WvzP/+c7vjrY83KWLbYs0ON3K4=";
hash = "sha256-cHY+e4g5DeMUChXOFDexY0PViiMpT6gYPxPTkfBcssk=";
};
build-system = [ setuptools ];
@@ -60,7 +60,7 @@ buildPythonPackage rec {
meta = {
description = "An asyncio client for the Home Connect API";
homepage = "https://github.com/MartinHjelmare/aiohomeconnect";
changelog = "https://github.com/MartinHjelmare/aiohomeconnect/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/MartinHjelmare/aiohomeconnect/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
@@ -38,7 +38,7 @@
buildPythonPackage rec {
pname = "angr";
version = "9.2.152";
version = "9.2.153";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -47,7 +47,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "angr";
tag = "v${version}";
hash = "sha256-WeYLSN3DMZZOvzuLyRAkES5wjjmnJTQWhtJDCLMlbW0=";
hash = "sha256-j/VcfsRrw8Et92olT5aKkpkaEZ7YksBCokQBziAKLvI=";
};
pythonRelaxDeps = [ "capstone" ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.2.152";
version = "9.2.153";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "archinfo";
tag = "v${version}";
hash = "sha256-SvtkEiBnqANcH2uHfVkYCNmXrJeOenbpQ+AfuOi7ZQ0=";
hash = "sha256-FIr/A8dihHa2T+SQ4b+8Yk9h8ToCEkGGEMbzS/re5ao=";
};
build-system = [ setuptools ];
@@ -15,12 +15,13 @@
c-blosc2,
# dependencies
httpx,
msgpack,
ndindex,
numexpr,
numpy,
platformdirs,
py-cpuinfo,
requests,
# tests
psutil,
@@ -31,18 +32,16 @@
buildPythonPackage rec {
pname = "blosc2";
version = "3.0.0";
version = "3.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "Blosc";
repo = "python-blosc2";
tag = "v${version}";
hash = "sha256-em03vwTPURkyZfGdlgpoy8QUzbib9SlcR73vYznlsYA=";
hash = "sha256-0DSHXUuIqFP/k0oIibgMKxDsXyOSvGZllql9MfrkisM=";
};
pythonRelaxDeps = [ "numpy" ];
nativeBuildInputs = [
cmake
ninja
@@ -54,18 +53,20 @@ buildPythonPackage rec {
build-system = [
cython
numpy
scikit-build-core
];
buildInputs = [ c-blosc2 ];
dependencies = [
httpx
msgpack
ndindex
numexpr
numpy
platformdirs
py-cpuinfo
requests
];
nativeCheckInputs = [
@@ -73,14 +74,6 @@ buildPythonPackage rec {
pytestCheckHook
] ++ lib.optionals runTorchTests [ torch ];
disabledTests = [
# RuntimeError: Error while getting the slice
"test_lazyexpr"
"test_eval_item"
# RuntimeError: Error while creating the NDArray
"test_lossy"
];
passthru.c-blosc2 = c-blosc2;
meta = with lib; {
@@ -359,7 +359,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.38.8";
version = "1.38.9";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-qtucGw6afFwE0tAkOwiwI2OrhAXcApR2MiNIa2l4+pE=";
hash = "sha256-TNnEl09LymxJYq7y5kWjFiwyx9eGnJR9BCsFQ436qAQ=";
};
build-system = [ setuptools ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "botocore-stubs";
version = "1.38.8";
version = "1.38.9";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
hash = "sha256-1/N4O2ZAKaf52hQFMLghk8yyrQ8qnhN0j7NaeAPD/8A=";
hash = "sha256-qfpLd669RjpuBRiWHcZi8OabuOtP4DWIj+mh278XmyE=";
};
nativeBuildInputs = [ setuptools ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.2.152";
version = "9.2.153";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "claripy";
tag = "v${version}";
hash = "sha256-t2zqZ1yqa/CJDnOLcEXtrk3HR5QVol3FQZZAbC4gBHA=";
hash = "sha256-M3rUBZBA8WbvLU0VJb9H2pQU2PePBhqkpM6OsS20Uj4=";
};
# z3 does not provide a dist-info, so python-runtime-deps-check will fail
@@ -17,14 +17,14 @@
let
# The binaries are following the argr projects release cycle
version = "9.2.152";
version = "9.2.153";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
owner = "angr";
repo = "binaries";
rev = "refs/tags/v${version}";
hash = "sha256-HN7k68IkfHt/qlzbGoXvvl2nHnVEmsXkpM9tKVZs0UI=";
hash = "sha256-KvCYnvyFjQdGeNe89ylTDkYrs7RhSeT5RcTRvg9BsQE=";
};
in
buildPythonPackage rec {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
owner = "angr";
repo = "cle";
rev = "refs/tags/v${version}";
hash = "sha256-sYVzlmnsXHTJlIu5W1sFBNnER/lwf/MtfRmyA/XEJWg=";
hash = "sha256-MHQZfRmtq3kueJWOGX06B7W3LLyLReuUcb0D1dy7DMQ=";
};
build-system = [ setuptools ];
@@ -86,6 +86,9 @@ buildPythonPackage rec {
# Checks magic values and this fails on Python 3.13
"test_raw_base64_autodetect_jpeg"
"test_raw_base64_autodetect_png"
# Performance benchmarks that sometimes fail when running many parallel builds
"test_extract_system_messages_benchmark"
];
disabledTestPaths = [
@@ -394,8 +394,8 @@ rec {
"sha256-vkRJVKcgvG0sZBoRAuHfSB3XiOAi5yNqLH0FRRjTRhg=";
mypy-boto3-devicefarm =
buildMypyBoto3Package "devicefarm" "1.38.0"
"sha256-ym1xyz+EPxEK/U8/90CU107Y+cGqI90pgcLXU4GJdco=";
buildMypyBoto3Package "devicefarm" "1.38.9"
"sha256-nb+AiG24s1vyTXwf2wwJlusMd1qvilQOd1mKY2tO0Lk=";
mypy-boto3-devops-guru =
buildMypyBoto3Package "devops-guru" "1.38.0"
@@ -446,8 +446,8 @@ rec {
"sha256-RQh46jrXqj4bXTRJ+tPR9sql7yUn7Ek9u4p0OU0A7b0=";
mypy-boto3-ec2 =
buildMypyBoto3Package "ec2" "1.38.6"
"sha256-jkfIR/cdjFrsW05jU8Vmc4HZIO0AmD9TVhZH17B/q6c=";
buildMypyBoto3Package "ec2" "1.38.9"
"sha256-3/V/xDCP9ZGqU8sUapGPrJWpwRhj1qFw2hICNTHC/fQ=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.38.0"
@@ -462,8 +462,8 @@ rec {
"sha256-aSZu8mxsTho4pvWWbNwlJf0IROjqjTlIUEE5DJkAje4=";
mypy-boto3-ecs =
buildMypyBoto3Package "ecs" "1.38.3"
"sha256-Jzft9wDE6k5v0nCCtVg48eyg545/+kRWwSl44GdwtLE=";
buildMypyBoto3Package "ecs" "1.38.9"
"sha256-LxgLG+uNpChV9MZ/9xsF5RayVU5i2qjYp73jAQFBA6s=";
mypy-boto3-efs =
buildMypyBoto3Package "efs" "1.38.0"
@@ -862,8 +862,8 @@ rec {
"sha256-F6Yv7tgHnzgsekH7HJ8s7/Kpq1JiZkHs+qZEez5snUI=";
mypy-boto3-mediaconvert =
buildMypyBoto3Package "mediaconvert" "1.38.0"
"sha256-b3Qjbd4tarXBC5HwA6BjnJy5ClnBnaO4xOqBnOUG3w8=";
buildMypyBoto3Package "mediaconvert" "1.38.9"
"sha256-n6yMEzEVwlorfkyPVf3wYsNjbTVvujEd6GR/SRPTCOk=";
mypy-boto3-medialive =
buildMypyBoto3Package "medialive" "1.38.0"
@@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pyinstaller-hooks-contrib";
version = "2025.2";
version = "2025.4";
pyproject = true;
src = fetchPypi {
pname = "pyinstaller_hooks_contrib";
inherit version;
hash = "sha256-zN1BvDApD3JfPkj0o5mF0RhVr4HWFNFn4wIeMDrLkQI=";
hash = "sha256-XOGv0Zl7A+cPVGIHAxz98nggMKq6zBAhkGdwWeKFZEY=";
};
build-system = [ setuptools ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "pyvex";
version = "9.2.152";
version = "9.2.153";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchPypi {
inherit pname version;
hash = "sha256-9OoJkScsHpC5AsVlTkjQ9O8Qizfnbn/ol6b3i/jB2Io=";
hash = "sha256-K0m8FFWIQP9qoKX6a5Wr+ZAB6+M8DDlEtPRJBHhS24M=";
};
build-system = [ setuptools ];
@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "twilio";
version = "9.5.2";
version = "9.6.0";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "twilio";
repo = "twilio-python";
tag = version;
hash = "sha256-zHy/EqoWuQ3fZuA8wqatmcg+YwQB7w+kAGTWY453PnY=";
hash = "sha256-C9Pbun+2en9OATPZLOco66auYzo1UZK05lPd8PvKX38=";
};
build-system = [ setuptools ];
+3 -3
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "apko";
version = "0.27.1";
version = "0.27.2";
src = fetchFromGitHub {
owner = "chainguard-dev";
repo = pname;
tag = "v${version}";
hash = "sha256-p3Wu3kOCTcIOR/4N3dZNfBxpcqcu4rob9kA9vawZNbc=";
hash = "sha256-OcEDXbAiBN8x0XilkkAfCxIb5PksPxZ00xlfmF829EY=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-9JhbKfoqySB4nsCI1dCpOed9CnQJWwUPkpL/DXGnV3E=";
vendorHash = "sha256-dc2keDzWeyyNOAxYehTAGXacP+U0wD68PqzXij8sh2I=";
nativeBuildInputs = [ installShellFiles ];

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