Merge branch 'master' into staging-next
This commit is contained in:
+6
-2
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
''
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
nixVersions,
|
||||
jq,
|
||||
sta,
|
||||
python3,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -270,6 +271,7 @@ let
|
||||
runCommand
|
||||
writeText
|
||||
supportedSystems
|
||||
python3
|
||||
;
|
||||
};
|
||||
|
||||
|
||||
+469
-469
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))
|
||||
@@ -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)
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
@@ -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; [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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}" ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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" ];
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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) \
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -81,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
--prefix PATH : "$out/bin:${
|
||||
lib.makeBinPath [
|
||||
nbdkit
|
||||
ocamlPackages.nbd
|
||||
qemu
|
||||
]
|
||||
}"
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 =
|
||||
[
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
;
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -711,6 +711,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 ];
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user