Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-09-04 12:14:03 +00:00
committed by GitHub
98 changed files with 2437 additions and 2239 deletions

View File

@@ -15,15 +15,3 @@ In addition, it offers various options to customize parts of the builds.
There is no uniform interface for build helpers.
[Trivial build helpers](#chap-trivial-builders) and [fetchers](#chap-pkgs-fetchers) have various input types for convenience.
[Language- or framework-specific build helpers](#chap-language-support) usually follow the style of `stdenv.mkDerivation`, which accepts an attribute set or a fixed-point function taking an attribute set.
```{=include=} chapters
build-helpers/fixed-point-arguments.chapter.md
build-helpers/fetchers.chapter.md
build-helpers/trivial-build-helpers.chapter.md
build-helpers/testers.chapter.md
build-helpers/dev-shell-tools.chapter.md
build-helpers/special.md
build-helpers/images.md
hooks/index.md
packages/index.md
```

View File

@@ -1,12 +1,3 @@
# Images {#chap-images}
This chapter describes tools for creating various types of images.
```{=include=} sections
images/appimagetools.section.md
images/dockertools.section.md
images/ocitools.section.md
images/portableservice.section.md
images/makediskimage.section.md
images/binarycache.section.md
```

View File

@@ -1,13 +1,3 @@
# Special build helpers {#chap-special}
This chapter describes several special build helpers.
```{=include=} sections
special/buildenv.section.md
special/fakenss.section.md
special/fhs-environments.section.md
special/makesetuphook.section.md
special/mkshell.section.md
special/vm-tools.section.md
special/checkpoint-build.section.md
```

View File

@@ -1,10 +1 @@
# Contributing to Nixpkgs {#part-contributing}
```{=include=} chapters
contributing/quick-start.chapter.md
contributing/coding-conventions.chapter.md
contributing/submitting-changes.chapter.md
contributing/vulnerability-roundup.chapter.md
contributing/reviewing-contributions.chapter.md
contributing/contributing-to-documentation.chapter.md
```

View File

@@ -4,7 +4,3 @@ This section shows you how Nixpkgs is developed and how you can interact with th
If you are interested in contributing yourself, see [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!-- In the future this section should also include: How to test pull requests, how to know if pull requests are available in channels, etc. -->
```{=include=} chapters
development/opening-issues.chapter.md
```

204
doc/doc-support/include-to-nav.py Executable file
View File

@@ -0,0 +1,204 @@
import json
import re
import sys
from pathlib import Path
from typing import TypedDict
# Coupled to where this file lives!
# Needed to resolve the relative includes file paths
DOC_ROOT = Path(__file__).resolve().parent.parent
ROOT_FILE = DOC_ROOT / "manual.md.in"
INCLUDE_RE = re.compile(r"^```\{=include=\}(?P<rest>.*)$")
FENCE_RE = re.compile(r"^(```|~~~)")
HEADING_RE = re.compile(r"^(#{1,6})\s+(.*?)\s*(?:\{#([^}]+)\})?\s*$")
class TokenIncludeBlock:
"""Represents a complete include block like:
```{=include=} sections
special/buildenv.section.md
```
As
typ = "sections"
files = [ "special/buildenv.section.md" ]
"""
kind = "include"
def __repr__(self):
# For debugging
return f"```{{=include=}} {self.typ}\n" "\n".join(self.files) + "\n```"
def __init__(self, typ, args, files, start, end):
self.typ: str = typ
self.args: list[str] = args
self.files: list[str] = files
self.start: int = start
self.end: int = end
def is_option_block(self) -> bool:
# option blocks have some special syntax which is part of another migration
# 8 coccurrences, seperate migration
return self.typ == "options"
def into_file(self) -> bool:
# into-file is trivial after the nav migration
# 2 coccurrences, can be migrated by hand
return any("html:into-file=" in arg for arg in self.args)
def keep(self) -> bool:
# Keep the include blocks that require seperate migration
return self.is_option_block() or self.into_file()
class TokenHeading:
kind = "heading"
def __init__(self, level, title, anchor):
self.level: int = level
self.title: str = title
self.anchor: str = anchor
def tokenize(src: str) -> list[TokenIncludeBlock|TokenHeading]:
"""Finds all Includes and Headings"""
lines = src.splitlines()
items = []
fenced = False
i = 0
while i < len(lines):
line = lines[i]
m = INCLUDE_RE.match(line)
if m and not fenced:
typ, *args = m.group("rest").split()
end = i + 1
while end < len(lines) and not lines[end].startswith("```"):
end += 1
if end == len(lines):
sys.exit(f"unterminated include block at line {i + 1}")
files = [f.strip() for f in lines[i + 1 : end] if f.strip()]
items.append(TokenIncludeBlock(typ, args, files, i, end))
i = end + 1
continue
if FENCE_RE.match(line):
fenced = not fenced
i += 1
continue
if not fenced:
m = HEADING_RE.match(line)
if m:
items.append(TokenHeading(len(m.group(1)), m.group(2), m.group(3)))
i += 1
return items
def read_source(source: Path) -> None | tuple[str, Path]:
"""Read a return [content,Path]
library.md is called .md.in; provided at build time via nixdoc
So the filename might differ
"""
if source.exists():
return source.read_text(), source
in_file = Path(str(source) + ".in")
if in_file.exists():
return in_file.read_text(), in_file
return None
# Make sure we process every file only once
visited = set()
# Map from filename -> line_nrs
# These lines will be deleted from the file
rewrites: dict[str, tuple[int,int]] = {}
group_ids: set[str] = set()
class Green(TypedDict):
label: str
id: str
children: list["Green"]
file: str | None
def convert_md_in(md_in: Path) -> Green:
"""Build up items for the nav.json as we recurse.
Collecting line-areas and group_ids
"""
if md_in in visited:
sys.exit(f"{md_in}: reached twice")
visited.add(md_in)
res = read_source(md_in)
rel_file = md_in.relative_to(DOC_ROOT).as_posix()
if not res:
return {"file": rel_file}
text, actual = res
token: list[TokenHeading|TokenIncludeBlock] = tokenize(text)
# Collect a list of actual files to be processed
# Recurse for files
# Do not recurse for "options", "into-file"
all_file_includes: list[TokenIncludeBlock] = [it for it in token if it.kind == "include" and not (it.is_option_block() or it.into_file())]
children = [convert_md_in((md_in.parent / f).resolve()) for b in all_file_includes for f in b.files]
# Lines to rewrite
include_blocks_to_rewrite: list[TokenIncludeBlock] = [it for it in all_file_includes if not it.keep()]
rewrites[actual] = [(b.start, b.end) for b in include_blocks_to_rewrite]
if not children:
return {"file": rel_file}
title = next((it for it in token if it.kind == "heading" and it.level == 1), None)
if title is None:
sys.exit(f"{md_in}: no level-1 heading to label its group")
if not title.anchor:
sys.exit(f"{md_in}: level-1 heading has no id")
if title.anchor in group_ids:
sys.exit(f"{md_in}: duplicate group id {title.anchor}")
group_ids.add(title.anchor)
return Green({
"label": title.title.replace("`", ""),
"id": title.anchor,
"children": [{"file": rel_file}] + children,
})
def remove_includes(path: Path, drop_lines: tuple[int,int]):
if not drop_lines:
return
lines = path.read_text().splitlines()
for start, end in sorted(drop_lines, reverse=True):
del lines[start : end + 1]
if 0 < start < len(lines) and not lines[start - 1].strip() and not lines[start].strip():
del lines[start]
while lines and not lines[-1].strip():
lines.pop()
path.write_text("\n".join(lines) + "\n")
def main():
nav = DOC_ROOT / "nav.json"
if json.loads(nav.read_text())["items"]:
sys.exit("nav.json already has items; This tool can only run once")
root = convert_md_in(ROOT_FILE)
items = root["children"][1:]
nav.write_text(json.dumps({"open": [], "items": items}, indent=2) + "\n")
for path, lines in rewrites.items():
remove_includes(path, lines)
if __name__ == "__main__":
main()

View File

@@ -1,11 +1,3 @@
# Functions reference {#chap-functions}
The Nixpkgs repository has several utility functions to manipulate Nix expressions.
```{=include=} sections
functions/library.md
functions/generators.section.md
functions/debug.section.md
functions/prefer-remote-fetch.section.md
functions/nix-gitignore.section.md
```

View File

@@ -1,6 +1 @@
# Getting started {#getting-started}
```{=include=} chapters
first-package.chapter.md
dev-environments.md
```

View File

@@ -4,53 +4,3 @@ Nixpkgs has several hook packages that augment the stdenv phases.
The stdenv built-in hooks are documented in [](#ssec-setup-hooks).
```{=include=} sections
autoconf.section.md
automake.section.md
autopatchcil.section.md
autopatchelf.section.md
aws-c-common.section.md
bmake.section.md
breakpoint.section.md
cernlib.section.md
check-phase-thread-limit-hook.section.md
cmake.section.md
desktop-file-utils.section.md
gdk-pixbuf.section.md
gnome.section.md
haredo.section.md
installShellFiles.section.md
installFonts.section.md
julec.section.md
just.section.md
libglycin.section.md
libiconv.section.md
libxml2.section.md
meson.section.md
mpi-check-hook.section.md
ninja.section.md
nodejs-install-executables.section.md
nodejs-install-manuals.section.md
npm-build-hook.section.md
npm-config-hook.section.md
npm-install-hook.section.md
patch-rc-path-hooks.section.md
perl.section.md
pkg-config.section.md
pnpm.section.md
postgresql-test-hook.section.md
premake.section.md
python.section.md
scons.section.md
tauri.section.md
tetex-tex-live.section.md
udevCheckHook.section.md
unzip.section.md
validatePkgConfig.section.md
versionCheckHook.section.md
waf.section.md
writable-tmpdir-as-home-hook.section.md
zig.section.md
xcbuild.section.md
xfce4-dev-tools.section.md
```

View File

@@ -24,10 +24,10 @@ stdenv.mkDerivation {
## Variables controlling `juce.projucerHook` {#juce-projucer-hook-variables}
### `dontUseProjucerConfigure`
### `dontUseProjucerConfigure` {#juce-dontuseprojucerconfigure}
Disables `projucerConfigurePhase`
### `dontUseProjucerInstall`
### `dontUseProjucerInstall` {#juce-dontuseprojucerinstall}
Disables `projucerInstallPhase`

View File

@@ -1,5 +1 @@
# Interoperability Standards {#part-interoperability}
```{=include=} chapters
interoperability/cyclonedx.md
```

View File

@@ -53,56 +53,3 @@ Each supported language or software ecosystem has its own package set named `<la
…
```
:::
```{=include=} sections
agda.section.md
android.section.md
astal.section.md
beam.section.md
chicken.section.md
cosmic.section.md
crystal.section.md
cuda.section.md
cuelang.section.md
dart.section.md
dhall.section.md
dlang.section.md
dotnet.section.md
emscripten.section.md
factor.section.md
gnome.section.md
go.section.md
gradle.section.md
hare.section.md
haskell.section.md
hy.section.md
idris.section.md
idris2.section.md
ios.section.md
java.section.md
javascript.section.md
julia.section.md
lean4.section.md
lisp.section.md
lua.section.md
maven.section.md
nim.section.md
ocaml.section.md
octave.section.md
perl.section.md
php.section.md
pkg-config.section.md
python.section.md
qt.section.md
r.section.md
rocq.section.md
ruby.section.md
rust.section.md
scheme.section.md
swift.section.md
tcl.section.md
texlive.section.md
typst.section.md
vim.section.md
neovim.section.md
```

View File

@@ -1,6 +1 @@
# Nixpkgs `lib` {#id-1.4}
```{=include=} chapters
functions.md
module-system/module-system.chapter.md
```

View File

@@ -1,27 +1,6 @@
# Nixpkgs Manual {#nixpkgs-manual}
## Version @MANUAL_VERSION@
```{=include=} chapters
preface.chapter.md
```
```{=include=} parts
getting-started/getting-started.part.md
using-nixpkgs.md
lib.md
stdenv.md
toolchains.md
build-helpers.md
modules/index.md
development.md
contributing.md
interoperability.md
```
```{=include=} chapters
languages-frameworks/index.md
```
```{=include=} appendix html:into-file=//release-notes.html
release-notes/release-notes.md
```

View File

@@ -4,9 +4,5 @@ The Nixpkgs repository provides [Module System] modules for various purposes.
The following sections are organized by [module class].
```{=include=} chapters
generic.chapter.md
```
[Module System]: https://nixos.org/manual/nixpkgs/unstable/#module-system
[module class]: https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalModules-param-class

View File

@@ -1,4 +1,706 @@
{
"open": [],
"items": []
"items": [
{
"file": "preface.chapter.md"
},
{
"label": "Getting started",
"id": "getting-started",
"children": [
{
"file": "getting-started/getting-started.part.md"
},
{
"file": "getting-started/first-package.chapter.md"
},
{
"file": "getting-started/dev-environments.md"
}
]
},
{
"label": "Using Nixpkgs",
"id": "part-using",
"children": [
{
"file": "using-nixpkgs.md"
},
{
"file": "channels.chapter.md"
},
{
"file": "using/platform-support.chapter.md"
},
{
"file": "using/configuration.chapter.md"
},
{
"file": "using/overlays.chapter.md"
},
{
"file": "using/overrides.chapter.md"
}
]
},
{
"label": "Nixpkgs lib",
"id": "id-1.4",
"children": [
{
"file": "lib.md"
},
{
"label": "Functions reference",
"id": "chap-functions",
"children": [
{
"file": "functions.md"
},
{
"id-prefix": "auto-generated",
"file": "functions/library.md"
},
{
"file": "functions/generators.section.md"
},
{
"file": "functions/debug.section.md"
},
{
"file": "functions/prefer-remote-fetch.section.md"
},
{
"file": "functions/nix-gitignore.section.md"
}
]
},
{
"file": "module-system/module-system.chapter.md"
}
]
},
{
"label": "Standard environment",
"id": "part-stdenv",
"children": [
{
"file": "stdenv.md"
},
{
"file": "stdenv/stdenv.chapter.md"
},
{
"file": "stdenv/meta.chapter.md"
},
{
"file": "stdenv/passthru.chapter.md"
},
{
"file": "stdenv/multiple-output.chapter.md"
},
{
"file": "stdenv/cross-compilation.chapter.md"
},
{
"file": "stdenv/platform-notes.chapter.md"
}
]
},
{
"label": "Toolchains",
"id": "part-toolchains",
"children": [
{
"file": "toolchains.md"
},
{
"file": "toolchains/llvm.chapter.md"
}
]
},
{
"label": "Build helpers",
"id": "part-builders",
"children": [
{
"file": "build-helpers.md"
},
{
"file": "build-helpers/fixed-point-arguments.chapter.md"
},
{
"file": "build-helpers/fetchers.chapter.md"
},
{
"file": "build-helpers/trivial-build-helpers.chapter.md"
},
{
"file": "build-helpers/testers.chapter.md"
},
{
"file": "build-helpers/dev-shell-tools.chapter.md"
},
{
"label": "Special build helpers",
"id": "chap-special",
"children": [
{
"file": "build-helpers/special.md"
},
{
"file": "build-helpers/special/buildenv.section.md"
},
{
"file": "build-helpers/special/fakenss.section.md"
},
{
"file": "build-helpers/special/fhs-environments.section.md"
},
{
"file": "build-helpers/special/makesetuphook.section.md"
},
{
"file": "build-helpers/special/mkshell.section.md"
},
{
"file": "build-helpers/special/vm-tools.section.md"
},
{
"file": "build-helpers/special/checkpoint-build.section.md"
}
]
},
{
"label": "Images",
"id": "chap-images",
"children": [
{
"file": "build-helpers/images.md"
},
{
"file": "build-helpers/images/appimagetools.section.md"
},
{
"file": "build-helpers/images/dockertools.section.md"
},
{
"file": "build-helpers/images/ocitools.section.md"
},
{
"file": "build-helpers/images/portableservice.section.md"
},
{
"file": "build-helpers/images/makediskimage.section.md"
},
{
"file": "build-helpers/images/binarycache.section.md"
}
]
},
{
"label": "Hooks reference",
"id": "chap-hooks",
"children": [
{
"file": "hooks/index.md"
},
{
"file": "hooks/autoconf.section.md"
},
{
"file": "hooks/automake.section.md"
},
{
"file": "hooks/autopatchcil.section.md"
},
{
"file": "hooks/autopatchelf.section.md"
},
{
"file": "hooks/aws-c-common.section.md"
},
{
"file": "hooks/bmake.section.md"
},
{
"file": "hooks/breakpoint.section.md"
},
{
"file": "hooks/cernlib.section.md"
},
{
"file": "hooks/check-phase-thread-limit-hook.section.md"
},
{
"file": "hooks/cmake.section.md"
},
{
"file": "hooks/desktop-file-utils.section.md"
},
{
"file": "hooks/gdk-pixbuf.section.md"
},
{
"file": "hooks/gnome.section.md"
},
{
"file": "hooks/haredo.section.md"
},
{
"file": "hooks/installShellFiles.section.md"
},
{
"file": "hooks/installFonts.section.md"
},
{
"file": "hooks/juce.section.md"
},
{
"file": "hooks/julec.section.md"
},
{
"file": "hooks/just.section.md"
},
{
"file": "hooks/libglycin.section.md"
},
{
"file": "hooks/libiconv.section.md"
},
{
"file": "hooks/libxml2.section.md"
},
{
"file": "hooks/memcached-test-hook.section.md"
},
{
"file": "hooks/meson.section.md"
},
{
"file": "hooks/mpi-check-hook.section.md"
},
{
"file": "hooks/ninja.section.md"
},
{
"file": "hooks/nodejs-install-executables.section.md"
},
{
"file": "hooks/nodejs-install-manuals.section.md"
},
{
"file": "hooks/npm-build-hook.section.md"
},
{
"file": "hooks/npm-config-hook.section.md"
},
{
"file": "hooks/npm-install-hook.section.md"
},
{
"file": "hooks/patch-rc-path-hooks.section.md"
},
{
"file": "hooks/perl.section.md"
},
{
"file": "hooks/pkg-config.section.md"
},
{
"file": "hooks/pnpm.section.md"
},
{
"file": "hooks/postgresql-test-hook.section.md"
},
{
"file": "hooks/premake.section.md"
},
{
"file": "hooks/python.section.md"
},
{
"file": "hooks/redis-test-hook.section.md"
},
{
"file": "hooks/scons.section.md"
},
{
"file": "hooks/tauri.section.md"
},
{
"file": "hooks/tetex-tex-live.section.md"
},
{
"file": "hooks/udevCheckHook.section.md"
},
{
"file": "hooks/unzip.section.md"
},
{
"file": "hooks/validatePkgConfig.section.md"
},
{
"file": "hooks/versionCheckHook.section.md"
},
{
"file": "hooks/waf.section.md"
},
{
"file": "hooks/writable-tmpdir-as-home-hook.section.md"
},
{
"file": "hooks/zig.section.md"
},
{
"file": "hooks/xcbuild.section.md"
},
{
"file": "hooks/xfce4-dev-tools.section.md"
}
]
},
{
"label": "Packages",
"id": "chap-packages",
"children": [
{
"file": "packages/index.md"
},
{
"file": "packages/citrix.section.md"
},
{
"file": "packages/darwin-builder.section.md"
},
{
"file": "packages/dlib.section.md"
},
{
"file": "packages/eclipse.section.md"
},
{
"file": "packages/elm.section.md"
},
{
"file": "packages/emacs.section.md"
},
{
"file": "packages/firefox.section.md"
},
{
"file": "packages/friction-graphics.section.md"
},
{
"file": "packages/fish.section.md"
},
{
"file": "packages/fuse.section.md"
},
{
"file": "packages/geant4.section.md"
},
{
"file": "packages/ibus.section.md"
},
{
"file": "packages/inkscape.section.md"
},
{
"file": "packages/kakoune.section.md"
},
{
"file": "packages/krita.section.md"
},
{
"file": "packages/linux.section.md"
},
{
"file": "packages/lhapdf.section.md"
},
{
"file": "packages/locales.section.md"
},
{
"file": "packages/etc-files.section.md"
},
{
"file": "packages/nginx.section.md"
},
{
"file": "packages/nrfutil.section.md"
},
{
"file": "packages/opengl.section.md"
},
{
"file": "packages/packer.section.md"
},
{
"file": "packages/shell-helpers.section.md"
},
{
"file": "packages/python-tree-sitter.section.md"
},
{
"label": "treefmt",
"id": "treefmt",
"children": [
{
"file": "packages/treefmt.section.md"
},
{
"id-prefix": "auto-generated-treefmt-functions",
"file": "packages/treefmt-functions.section.md"
}
]
},
{
"file": "packages/steam.section.md"
},
{
"file": "packages/cataclysm-dda.section.md"
},
{
"file": "packages/urxvt.section.md"
},
{
"file": "packages/vcpkg.section.md"
},
{
"file": "packages/weechat.section.md"
},
{
"file": "packages/uv.section.md"
},
{
"file": "packages/build-support.md"
}
]
}
]
},
{
"label": "Modules",
"id": "modules",
"children": [
{
"file": "modules/index.md"
},
{
"file": "modules/generic.chapter.md"
}
]
},
{
"label": "Development of Nixpkgs",
"id": "part-development",
"children": [
{
"file": "development.md"
},
{
"file": "development/opening-issues.chapter.md"
}
]
},
{
"label": "Contributing to Nixpkgs",
"id": "part-contributing",
"children": [
{
"file": "contributing.md"
},
{
"file": "contributing/quick-start.chapter.md"
},
{
"file": "contributing/coding-conventions.chapter.md"
},
{
"file": "contributing/submitting-changes.chapter.md"
},
{
"file": "contributing/vulnerability-roundup.chapter.md"
},
{
"file": "contributing/reviewing-contributions.chapter.md"
},
{
"file": "contributing/contributing-to-documentation.chapter.md"
}
]
},
{
"label": "Interoperability Standards",
"id": "part-interoperability",
"children": [
{
"file": "interoperability.md"
},
{
"file": "interoperability/cyclonedx.md"
}
]
},
{
"label": "Languages and frameworks",
"id": "chap-language-support",
"children": [
{
"file": "languages-frameworks/index.md"
},
{
"file": "languages-frameworks/agda.section.md"
},
{
"file": "languages-frameworks/android.section.md"
},
{
"file": "languages-frameworks/astal.section.md"
},
{
"file": "languages-frameworks/beam.section.md"
},
{
"file": "languages-frameworks/chicken.section.md"
},
{
"file": "languages-frameworks/cosmic.section.md"
},
{
"file": "languages-frameworks/crystal.section.md"
},
{
"file": "languages-frameworks/cuda.section.md"
},
{
"file": "languages-frameworks/cuelang.section.md"
},
{
"file": "languages-frameworks/dart.section.md"
},
{
"file": "languages-frameworks/dhall.section.md"
},
{
"file": "languages-frameworks/dlang.section.md"
},
{
"file": "languages-frameworks/dotnet.section.md"
},
{
"file": "languages-frameworks/emscripten.section.md"
},
{
"file": "languages-frameworks/factor.section.md"
},
{
"file": "languages-frameworks/gnome.section.md"
},
{
"file": "languages-frameworks/go.section.md"
},
{
"file": "languages-frameworks/gradle.section.md"
},
{
"file": "languages-frameworks/hare.section.md"
},
{
"file": "languages-frameworks/haskell.section.md"
},
{
"file": "languages-frameworks/hy.section.md"
},
{
"file": "languages-frameworks/idris.section.md"
},
{
"file": "languages-frameworks/idris2.section.md"
},
{
"file": "languages-frameworks/ios.section.md"
},
{
"file": "languages-frameworks/java.section.md"
},
{
"file": "languages-frameworks/javascript.section.md"
},
{
"file": "languages-frameworks/julia.section.md"
},
{
"file": "languages-frameworks/lean4.section.md"
},
{
"file": "languages-frameworks/lisp.section.md"
},
{
"file": "languages-frameworks/lua.section.md"
},
{
"file": "languages-frameworks/maven.section.md"
},
{
"file": "languages-frameworks/nim.section.md"
},
{
"file": "languages-frameworks/ocaml.section.md"
},
{
"file": "languages-frameworks/octave.section.md"
},
{
"file": "languages-frameworks/perl.section.md"
},
{
"file": "languages-frameworks/php.section.md"
},
{
"file": "languages-frameworks/pkg-config.section.md"
},
{
"file": "languages-frameworks/python.section.md"
},
{
"file": "languages-frameworks/qt.section.md"
},
{
"file": "languages-frameworks/r.section.md"
},
{
"file": "languages-frameworks/rocq.section.md"
},
{
"file": "languages-frameworks/ruby.section.md"
},
{
"file": "languages-frameworks/rust.section.md"
},
{
"file": "languages-frameworks/scheme.section.md"
},
{
"file": "languages-frameworks/swift.section.md"
},
{
"file": "languages-frameworks/tcl.section.md"
},
{
"file": "languages-frameworks/texlive.section.md"
},
{
"file": "languages-frameworks/typst.section.md"
},
{
"file": "languages-frameworks/vim.section.md"
},
{
"file": "languages-frameworks/neovim.section.md"
}
]
}
]
}

View File

@@ -1,39 +1,3 @@
# Packages {#chap-packages}
This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
```{=include=} sections
citrix.section.md
darwin-builder.section.md
dlib.section.md
eclipse.section.md
elm.section.md
emacs.section.md
firefox.section.md
friction-graphics.section.md
fish.section.md
fuse.section.md
geant4.section.md
ibus.section.md
inkscape.section.md
kakoune.section.md
krita.section.md
linux.section.md
lhapdf.section.md
locales.section.md
etc-files.section.md
nginx.section.md
nrfutil.section.md
opengl.section.md
packer.section.md
shell-helpers.section.md
python-tree-sitter.section.md
treefmt.section.md
steam.section.md
cataclysm-dda.section.md
urxvt.section.md
vcpkg.section.md
weechat.section.md
uv.section.md
build-support.md
```

View File

@@ -7,10 +7,6 @@ provides functions for configuring treefmt using the module system, which are [d
Alternatively, treefmt can be configured using [treefmt-nix](https://github.com/numtide/treefmt-nix).
```{=include=} sections auto-id-prefix=auto-generated-treefmt-functions
treefmt-functions.section.md
```
## Options Reference {#sec-treefmt-options-reference}
The following attributes can be passed to [`withConfig`](#pkgs.treefmt.withConfig) or [`evalConfig`](#pkgs.treefmt.evalConfig):
@@ -20,4 +16,3 @@ id-prefix: opt-treefmt-
list-id: configuration-variable-list
source: ../treefmt-options.json
```

View File

@@ -218,6 +218,21 @@
"julec-hook-variables": [
"index.html#julec-hook-variables"
],
"juce-projucer-hook": [
"index.html#juce-projucer-hook"
],
"juce-projucer-hook-example": [
"index.html#juce-projucer-hook-example"
],
"juce-projucer-hook-variables": [
"index.html#juce-projucer-hook-variables"
],
"juce-dontuseprojucerconfigure": [
"index.html#juce-dontuseprojucerconfigure"
],
"juce-dontuseprojucerinstall": [
"index.html#juce-dontuseprojucerinstall"
],
"libcxxhardeningextensive": [
"index.html#libcxxhardeningextensive"
],
@@ -2450,6 +2465,18 @@
"sec-checkpoint-build-example": [
"index.html#sec-checkpoint-build-example"
],
"sec-redisTestHook": [
"index.html#sec-redisTestHook"
],
"sec-redisTestHook-variables": [
"index.html#sec-redisTestHook-variables"
],
"sec-memcachedTestHook": [
"index.html#sec-memcachedTestHook"
],
"sec-memcachedTestHook-variables": [
"index.html#sec-memcachedTestHook-variables"
],
"chap-images": [
"index.html#chap-images"
],

View File

@@ -209,6 +209,8 @@
- `homebox` v0.26.0 introduced a new, required value to be set, `HBOX_AUTH_API_KEY_PEPPER`. If one is not provided the module will create one, it is recommended that you back this up as it is part of API Key generation and validation.
- `nextpnr` introduced support for the nexus and gatemate architectures. Building support for each individual architecture can be configured using the package parameters.
- Emacs loads the `early-default` library after `early-init.el`.
Users can add `early-init.el` via `emacs.pkgs.withPackages`
by packaging `early-init.el` into a library named `early-default`.

View File

@@ -1,10 +1 @@
# Standard environment {#part-stdenv}
```{=include=} chapters
stdenv/stdenv.chapter.md
stdenv/meta.chapter.md
stdenv/passthru.chapter.md
stdenv/multiple-output.chapter.md
stdenv/cross-compilation.chapter.md
stdenv/platform-notes.chapter.md
```

View File

@@ -1,5 +1 @@
# Toolchains {#part-toolchains}
```{=include=} chapters
toolchains/llvm.chapter.md
```

View File

@@ -1,9 +1 @@
# Using Nixpkgs {#part-using}
```{=include=} chapters
channels.chapter.md
using/platform-support.chapter.md
using/configuration.chapter.md
using/overlays.chapter.md
using/overrides.chapter.md
```

View File

@@ -10478,6 +10478,11 @@
githubId = 19275558;
name = "Julien Girard-Satabin";
};
gitRaiku = {
github = "gitRaiku";
githubId = 59704655;
name = "Pintilie Sebastian";
};
GKasparov = {
email = "mizozahr@gmail.com";
github = "GKasparov";
@@ -20863,6 +20868,12 @@
github = "nipeharefa";
githubId = 12620257;
};
nirvdrum = {
name = "Kevin Menard";
email = "kevin@nirvdrum.com";
github = "nirvdrum";
githubId = 12584;
};
NIS = {
name = "NSC IT Solutions";
github = "dev-nis";

View File

@@ -70,6 +70,7 @@
}
''
import asyncio
import time
from nio import AsyncClient, MatrixRoom, RoomMemberEvent, RoomMessageNotice
@@ -78,6 +79,13 @@
async def member_callback(room: MatrixRoom, event: RoomMemberEvent) -> None:
if event.membership == "join" and event.sender == "@draupnir:homeserver":
print("Got draupnir join event!")
async def message_callback(room: MatrixRoom, event: RoomMessageNotice) -> None:
print(f"{event.sender}:\n{event.body}" if "\n" in event.body else f"{event.sender}: {event.body}")
if event.sender == "@draupnir:homeserver" and "Startup complete." in event.body:
print("Draupnir reported ready, sending '!draupnir status'")
await client.room_send(
room_id=room.room_id,
message_type="m.room.message",
@@ -87,9 +95,53 @@
}
)
async def message_callback(room: MatrixRoom, event: RoomMessageNotice) -> None:
print(f"{event.sender}: {event.body}")
if event.sender == "@draupnir:homeserver":
if event.sender == "@draupnir:homeserver" and "Repository: " in event.body and "Version: " in event.body:
print("Got status reply, creating policy list")
await client.room_send(
room_id=room.room_id,
message_type="m.room.message",
content={
"msgtype": "m.text",
"body": "!draupnir list create test test"
}
)
time.sleep(3)
print("Surely it's done by now (couldnt find a good way to trigger the next step), protecting a room")
await client.room_send(
room_id=room.room_id,
message_type="m.room.message",
content={
"msgtype": "m.text",
"body": "!draupnir rooms add #protected:homeserver"
}
)
time.sleep(3)
print("Surely it's done by now (there's no text reply), sending a ban command")
await client.room_send(
room_id=room.room_id,
message_type="m.room.message",
content={
"msgtype": "m.text",
"body": "!draupnir ban @bad:homeserver test spam"
}
)
time.sleep(3)
print("Surely it's done by now (there's no text reply), sending a server ban command")
await client.room_send(
room_id=room.room_id,
message_type="m.room.message",
content={
"msgtype": "m.text",
"body": "!draupnir ban meow test spam"
}
)
time.sleep(3)
print("Surely it's done by now (there's no text reply), assuming all is good")
await client.close()
exit(0)
@@ -111,6 +163,19 @@
)
print(room)
protectedRoom = await client.room_create(
name="Protected",
alias="protected",
invite=["@draupnir:homeserver"],
power_level_override={
"users": {
"@draupnir:homeserver": 100,
"@moderator:homeserver": 100,
}
}
)
print(protectedRoom)
print(await client.join(room.room_id))
await client.sync_forever(timeout=30000)
@@ -135,9 +200,9 @@
homeserver.succeed("matrix-synapse-register_new_matrix_user -u moderator -p password --no-admin")
# get draupnir access token
payload = json.dumps({ "type": "m.login.password", "user": "draupnir", "password": "password" })
draupnir_login_payload = json.dumps({ "type": "m.login.password", "user": "draupnir", "password": "password" })
homeserver.succeed(
f"curl --fail --json '{payload}' http://localhost:8008/_matrix/client/v3/login"
f"curl --fail --json '{draupnir_login_payload}' http://localhost:8008/_matrix/client/v3/login"
+ " | jq -r .access_token"
+ " | tee /tmp/draupnir-access-token"
)

View File

@@ -2,13 +2,12 @@
lib,
stdenv,
fetchurl,
wrapQtAppsHook,
python3,
zbar,
enableQt ? true,
qt5,
enablePythonEcdsa ? false,
callPackage,
qtwayland,
writableTmpDirAsHomeHook,
}:
@@ -38,9 +37,9 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
python3.pkgs.pythonRelaxDepsHook
]
++ lib.optionals enableQt [
wrapQtAppsHook
qt5.wrapQtAppsHook
];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qt5.qtwayland;
dependencies =
with python3.pkgs;

View File

@@ -2,12 +2,11 @@
lib,
stdenv,
fetchFromGitHub,
wrapQtAppsHook,
python3,
zbar,
secp256k1,
enableQt ? true,
qtwayland,
qt5,
}:
let
@@ -43,8 +42,8 @@ python3.pkgs.buildPythonApplication {
sha256 = "1k078jg3bw4n3kcxy917m30x1skxm679w8hcw8mlxb94ikrjc66h";
};
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
nativeBuildInputs = lib.optionals enableQt [ qt5.wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qt5.qtwayland;
propagatedBuildInputs =
with python3.pkgs;

View File

@@ -3,12 +3,11 @@
stdenv,
fetchurl,
fetchFromGitHub,
wrapQtAppsHook,
python3,
zbar,
secp256k1,
enableQt ? true,
qtwayland,
qt5,
}:
let
@@ -60,7 +59,7 @@ python3.pkgs.buildPythonApplication {
cp -ar ${tests} $sourceRoot/electrum_ltc/tests
'';
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
nativeBuildInputs = lib.optionals enableQt [ qt5.wrapQtAppsHook ];
propagatedBuildInputs =
with python3.pkgs;
@@ -156,7 +155,7 @@ python3.pkgs.buildPythonApplication {
pyaes
pycryptodomex
];
buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland;
buildInputs = lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
enabledTestPaths = [ "electrum_ltc/tests" ];

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "adrs";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "joshrotenberg";
repo = "adrs";
tag = "v${finalAttrs.version}";
hash = "sha256-enM3r3tJHbcvl6Xf4uyKJm1rCGt3J+0Ruxg4KgP0s0I=";
hash = "sha256-9FWBfOwePl4ML7OIyhbiZAiXVoyEwtyJCxcPsO/tW3E=";
};
cargoHash = "sha256-JCwJtqphGxaTY9doDcDy0nSVYwV40Ve032Mowfbcq20=";
cargoHash = "sha256-hN7saY0W2dov1cR0VRab7K/wqCnYMCkOpR5ayAY34+Q=";
meta = {
description = "Command-line tool for managing Architectural Decision Records";

View File

@@ -8,16 +8,16 @@
php83.buildComposerProject2 (finalAttrs: {
pname = "bookstack";
version = "26.05.3";
version = "26.05.4";
src = fetchFromGitHub {
owner = "bookstackapp";
repo = "bookstack";
tag = "v${finalAttrs.version}";
hash = "sha256-IRJGgK1MEptQJlnvHVXINSnhr8TVp6S8fZRBi+4VGig=";
hash = "sha256-DDjJZehRUf1GP19S+RqhqZSSGOMF/SzItt2GFXi4+1U=";
};
vendorHash = "sha256-1x0czjCCD9Jf9TMhmkSpUt33q5+E1bw2l0SNP9VPRCE=";
vendorHash = "sha256-Ioth8Kp5fx4iwfy0p7N8xE0L41oWcp+ATfhmq3PUYyY=";
passthru = {
phpPackage = php83;

View File

@@ -1,172 +0,0 @@
fetchFromGitHub:
# generated using https://gist.github.com/sifmelcara/895c71f99500b9d56d68e9a866b58821
''
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-array";
rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a";
sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI=";
}
} array
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-bopomofo";
rev = "7046ffe42b46915947117f80d901fb9a6e19c1a7";
sha256 = "09w8jl2dlgp72k49x0l2jiaqb359v576kai4xww6cljgr24ng8pl";
}
} bopomofo
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-cangjie";
rev = "64242be99c1e6793c9f40fef296a81d07a84e976";
sha256 = "0v5sk8zrm5p5gg8lszqm0imj9jswjlnfq87nw6m9pg5h5al230ja";
}
} cangjie
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-combo-pinyin";
rev = "97a7dc4670e0f90ad28e7d67c1543f4f0adc531d";
sha256 = "0y8iyvq7z6xj3lk2ppk4ggz297wn1r2xxbv53f2710jc7gyzf04q";
}
} combo-pinyin
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-double-pinyin";
rev = "1b75af4239897fd1e4c99d625b62093e66baff14";
sha256 = "0p54qx5a6rr55hl997kdcfxjczd9lcddrc5xsy7nhlfyc6108s2v";
}
} double-pinyin
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-emoji";
rev = "7e527056fe055237fee59463e0d445f3909aaf0c";
sha256 = "04d35n254viw29yyjf3ml7xljmi63sqgg870swlbi5bikcx7n9jf";
}
} emoji
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-essay";
rev = "595e35756d16d57d09405e243302b65b4384b5b4";
sha256 = "10kqhvrz8x17b2pf6x2x2znz5y6cj05c4rgwi1f0xhxiyrgjw9gm";
}
} essay
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-ipa";
rev = "9e02f8a02e9febb7b2df25f6906881a1df934811";
sha256 = "1g4v4j1gnv1qspfz88liwj1aa4gaa3aax0x2cif4vxicsm7w372m";
}
} ipa
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-jyutping";
rev = "3cc76e6e15cc05f1f94b89e750c21f87ce8fc0e4";
sha256 = "1yggz0yb84z8810s2gmsxkm9lh57fdzddx5v2rb5mqcwnimsd6ap";
}
} jyutping
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-luna-pinyin";
rev = "da00c3a6f932f094666e98a09f6ce9c7d74c334c";
sha256 = "0q3g1hj9bay5865h3pz7gv46d7wfka1jdxnddxcbp4zn7gjpsd48";
}
} luna-pinyin
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-middle-chinese";
rev = "6f9731bac8f289f77d35f1090159f1937e38c1f7";
sha256 = "0xd9iwk4j5043gfmp7rb57hbarfm6sxr32wiasi6p3c5g355zn89";
}
} middle-chinese
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-pinyin-simp";
rev = "38c08403c22845f7e2965c1d7a1514b41755d7dc";
sha256 = "1c0cqljx3d93w27y2flxyqcfd3rd9fvixbw6mxgfjzdb3s42bn8h";
}
} pinyin-simp
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-prelude";
rev = "120c2aa73b1b5e1bce904901bf13f506295004a5";
sha256 = "1aah9z58gkqrc18zadsq598ybj8ra22bgka3gma2jmi3rls2znq4";
}
} prelude
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-quick";
rev = "638abf270e121bc2bfc6029a14ee85a3f4c2188b";
sha256 = "0l1pma0yxrypnb5cq7jiczy0wa42kdqsc1brqkkccdnp08pa1p1m";
}
} quick
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-scj";
rev = "6b74ce14be0464bf076d7adc40aea4b120f233ec";
sha256 = "0lr92knr41mlqd1s0g2lh2h2qr8xka1s46x7iv4d6ghjf0id4gz6";
}
} scj
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-soutzoe";
rev = "3ab93d1b9ca9ca7cf17ff32bb4418b7a095afc3c";
sha256 = "1glbvgzx4psasq23511k8ymd7mf1pqvm3z18nzszhs00iif66s3m";
}
} soutzoe
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-stenotype";
rev = "766f22565f83f5c63c0ea195c936779ec6ae824d";
sha256 = "0jsvfq7xim99zs5imyk7rpknlaimk6nlxy38fmfxa1r843781mfd";
}
} stenotype
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-stroke";
rev = "e048967a4c1b956575828f1a20e565efed4b1137";
sha256 = "10asdz5bj12pnji7afzls6jd9dn2v90l2dgdjf0jfp2kfzd6pxnl";
}
} stroke
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-terra-pinyin";
rev = "e303507e728def38739f5761c50722eae1f06dd5";
sha256 = "1krbmx2iq3zw4q1x4aa9c72b9xgrnjrhyxa4h5hnq5l29p9qms4d";
}
} terra-pinyin
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-wubi";
rev = "97b7d9f93378e98fd11167bd80d54c40e67076aa";
sha256 = "1cdpbqqkqjbizja0w3f7a826a5bxb39nlf9qf2130x9havmkc89z";
}
} wubi
ln -sv ${
fetchFromGitHub {
owner = "rime";
repo = "rime-wugniu";
rev = "de40b29f8218cc852bf82b315c7070f1d50bda02";
sha256 = "1m7miwsqpy49cgqd1bl7z5lkkirj3lc2bdwd1zqfg5zbgfwn0rp8";
}
} wugniu
''

View File

@@ -1,51 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
librime,
}:
stdenv.mkDerivation {
# TODO deprecate in favor of "plum" (https://github.com/rime/plum)
pname = "brise";
version = "0-unstable-2016-12-02";
src = fetchFromGitHub {
owner = "rime";
repo = "brise";
rev = "1cfb0fe1d3a4190ce5d034f141941156dd271e80";
sha256 = "1l13j3cfwida0ycl874fizz2jwjvlxid589a1iciqa9y25k21ql7";
};
buildInputs = [ librime ];
postPatch = ''
patchShebangs scripts/*
'';
# we need to use fetchFromGitHub to fetch sub-packages before we 'make',
# since nix won't allow networking during 'make'
preBuild = import ./fetchPackages.nix fetchFromGitHub;
makeFlags = [
"BRISE_BUILD_BINARIES=yes"
"PREFIX=$(out)"
];
enableParallelBuilding = true;
meta = {
description = "Rime Schema Repository";
longDescription = ''
This software is a collection of data packages used by Rime
to support various Chinese input methods, including those based on
modern dialects or historical diasystems of the Chinese language.
'';
homepage = "https://rime.im";
# Note that individual packages in this collection
# may be released under different licenses
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.sifmelcara ];
};
}

View File

@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chhoto-url";
version = "7.5.0";
version = "7.5.1";
src = fetchFromGitHub {
owner = "SinTan1729";
repo = "chhoto-url";
tag = finalAttrs.version;
hash = "sha256-lyrTuZxsVui25JIfxDoezNcMTZDKgYOPJ9+VMOfhHjg=";
hash = "sha256-FAYbqNZVPUpfBKOn+cXvk5d8o29M9+d8t5ecihCQ4aY=";
fetchLFS = true;
};
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail 'rust-version = "1.96"' 'rust-version = "1.95"'
'';
cargoHash = "sha256-y1MIiJ7NAP1F1c0IkrrVn1Wd2K+mrQD1RhqiumcPq1o=";
cargoHash = "sha256-C+eH6lrFSpE7zuR3fyyP44KG/rV0N2Uh4E7She0HuEA=";
postInstall = ''
mkdir -p $out/share/chhoto-url

View File

@@ -17,13 +17,13 @@
buildGoModule (finalAttrs: {
pname = "cri-o";
version = "1.36.4";
version = "1.36.5";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
tag = "v${finalAttrs.version}";
hash = "sha256-GgjOY+TE9RcLjy9aSu8Um0Zdzd0juxbTaoT8ljThqws=";
hash = "sha256-J6mTZw4R2gqVlv07jqS8LoEMRLGrMSP3oE79lp+yLJ0=";
};
vendorHash = null;

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dayon";
version = "17.0.0";
version = "18.0.0";
src = fetchFromGitHub {
owner = "RetGal";
repo = "dayon";
rev = "v${finalAttrs.version}";
hash = "sha256-YGp27LYtiEHUkkHvAxm6M9ORPqOdpPcyDoRMqKGS8To=";
hash = "sha256-ZjmPM0epVlkarUCQxdiaP5kghqJZ1J3QuP8nHzK3+xE=";
};
nativeBuildInputs = [

View File

@@ -2,7 +2,7 @@
lib,
fetchFromGitHub,
makeBinaryWrapper,
nodejs_24,
nodejs_26,
matrix-sdk-crypto-nodejs,
python3,
sqlite,
@@ -16,7 +16,7 @@
fetchpatch2,
}:
let
nodeSources = srcOnly nodejs_24;
nodeSources = srcOnly nodejs_26;
in
buildNpmPackage (finalAttrs: {
@@ -76,12 +76,12 @@ buildNpmPackage (finalAttrs: {
mkdir -p $out/lib/node_modules/draupnir
mkdir $out/bin
# Install outputs
mv ./node_modules ./packages ./apps/draupnir/dist ./apps/draupnir/version.txt ./apps/draupnir/package.json $out/lib/node_modules/draupnir
mv ./node_modules ./packages ./apps/draupnir/dist ./apps/draupnir/version.txt ./apps/draupnir/branch.txt ./apps/draupnir/package.json $out/lib/node_modules/draupnir
# Fix dangling symlink pointing to relative path ../apps/draupnir
rm $out/lib/node_modules/draupnir/node_modules/draupnir
# Create wrapper executable
makeWrapper ${lib.getExe nodejs_24} $out/bin/draupnir \
makeWrapper ${lib.getExe nodejs_26} $out/bin/draupnir \
--add-flags "--enable-source-maps" \
--add-flags "$out/lib/node_modules/draupnir/dist/index.js"

View File

@@ -7,13 +7,13 @@
python3Packages.buildPythonApplication rec {
pname = "ffmpeg-normalize";
version = "1.41.1";
version = "1.42.0";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "ffmpeg_normalize";
hash = "sha256-v5icrioELMBi2uJSdoojgY4EMnwHGxncanrT6GpSpSc=";
hash = "sha256-cCqqpunF7zn4QHoS3QTAtyeTX/+AKIxFVMl6FOWYjWw=";
};
build-system = with python3Packages; [ uv-build ];

View File

@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "gallery-dl";
version = "1.32.9";
version = "1.32.10";
pyproject = true;
src = fetchFromCodeberg {
owner = "mikf";
repo = "gallery-dl";
tag = "v${finalAttrs.version}";
hash = "sha256-3Bva0VQ75mA6B8HsW7zieeXRgRw5DJ6wuASiV3/UiFY=";
hash = "sha256-va081Uqrtj6INE3YOa07jXcdvg5VyePYQ7E26tc+Fgk=";
};
build-system = [ python3Packages.setuptools ];

View File

@@ -1,25 +0,0 @@
{
lib,
stdenv,
fetchurl,
libusb-compat-0_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "garmintools";
version = "0.10";
src = fetchurl {
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/garmintools/garmintools-${finalAttrs.version}.tar.gz";
sha256 = "1vjc8h0z4kx2h52yc3chxn3wh1krn234fg12sggbia9zjrzhpmgz";
};
buildInputs = [ libusb-compat-0_1 ];
meta = {
description = "Provides the ability to communicate with the Garmin Forerunner 305 via the USB interface";
homepage = "https://code.google.com/archive/p/garmintools/"; # community clone at https://github.com/ianmartin/garmintools
license = lib.licenses.gpl2;
maintainers = [ ];
platforms = lib.platforms.unix;
# never built on aarch64-darwin since first introduction in nixpkgs
# The last successful Darwin Hydra build was in 2024
broken = stdenv.hostPlatform.isDarwin;
};
})

View File

@@ -1,56 +0,0 @@
{
lib,
fetchFromGitHub,
gobject-introspection,
gtk3,
python3,
wrapGAppsHook3,
}:
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "gshogi";
version = "0.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "johncheetham";
repo = "gshogi";
rev = "v${finalAttrs.version}";
hash = "sha256-EPOIYPSFAhilxuZeYfuZ4Cd29ReJs/E4KNF5/lyzbxs=";
};
doCheck = false; # no tests available
buildInputs = [
gtk3
];
nativeBuildInputs = [
wrapGAppsHook3
gobject-introspection
];
build-system = with python3.pkgs; [
setuptools
];
dependencies = with python3.pkgs; [
pygobject3
pycairo
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
homepage = "http://johncheetham.com/projects/gshogi/";
description = "Graphical implementation of the Shogi board game, also known as Japanese Chess";
mainProgram = "gshogi";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = [ ];
};
})

View File

@@ -1,315 +0,0 @@
--- a/src/main.rs 2025-08-25 13:02:46.484172665 +0200
+++ b/src/main.rs 2025-08-25 13:04:40.721403934 +0200
@@ -15,7 +15,6 @@
use crate::utils::*;
use crate::vpn::*;
use std::fs;
-use std::path::Path;
use std::process::Command;
#[tokio::main]
@@ -47,16 +46,6 @@
eprintln!("Error creating folder: {err}");
}
}
-
- // Create HTB config file if not existing
- let htb_config = format!("{home}/.htb.conf");
-
- let file = Path::new(&htb_config);
- if !file.exists() {
- let lines = ["# HTB configuration file.\n\n", "# Enable/Disable shell prompt change\n", "prompt_change=true\n"];
- fs::write(&htb_config, lines.join(""))
- .expect("Failed to create HTB config file");
- }
// Initialize Xorg in WSL for secret-tool popup window
if is_wsl() && is_display_zero() {
@@ -107,13 +96,6 @@
let _ = play_machine(&args[2]).await;
}
}
- "-p" => {
- if args.len() < 3 || (args[2] != "true" && args[2] != "false") {
- println!("Usage: {} -p <true|false>", args[0]);
- } else {
- prompt_setting(&args[2]);
- }
- }
"-r" => {
reset_machine().await;
}
--- a/src/manage.rs 2025-08-25 13:03:00.835291752 +0200
+++ b/src/manage.rs 2025-08-25 13:18:21.770141852 +0200
@@ -12,7 +12,6 @@
use std::fs;
use std::io::{self,Write};
use std::path::PathBuf;
-use regex::Regex;
use tokio::spawn;
pub async fn get_active_machine_info() {
@@ -78,19 +77,14 @@
if machine_info.ip.is_empty() { //Starting Point case because SP IP address is assigned only after spawn of the machine
machine_info.ip = active_machine.ip;
}
- let mut user_info = PlayingUser::get_playinguser(&appkey).await;
// SP Machines change IP address when reset, so need to ask to write /etc/hosts
if machine_info.sp_flag {
let _ = add_hosts(&machine_info);
}
-
- change_shell(&mut machine_info, &mut user_info);
}
pub async fn stop_machine() {
- let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap());
- let htbconfig = HTBConfig::get_current_config(&htb_path);
let appkey = get_appkey();
let active_machine = ActiveMachine::get_active(&appkey).await;
@@ -130,31 +124,9 @@
// Await the result of the blocking task
blocking_task.await.expect("Blocking task failed");
-
- if htbconfig.promptchange { //If the prompt is set to change during the playing, when you stop the machine, it should restore the original shell
- restore_shell();
- }
}
}
-pub fn prompt_setting(option: &str) {
- let home = env::var("HOME").unwrap_or_default();
- let htb_config = format!("{home}/.htb.conf");
-
- let content = fs::read_to_string(&htb_config)
- .expect("Failed to read HTB config file");
-
- let re = Regex::new(r"prompt_change=\w+")
- .expect("Failed to create regular expression");
-
- let new_content = re.replace(&content, format!("prompt_change={option}"));
-
- fs::write(&htb_config, new_content.to_string())
- .expect("Failed to write updated content to HTB config file");
-
- println!("Prompt setting updated to: {option}");
-}
-
fn find_menu_children_mut<'a>(value: &'a mut Value, name: &str) -> Option<&'a mut Vec<Value>> {
let obj = value.as_object_mut()?;
--- a/src/play.rs 2025-08-25 13:03:09.912367073 +0200
+++ b/src/play.rs 2025-08-25 13:06:49.170236608 +0200
@@ -4,7 +4,6 @@
use crate::types::*;
use crate::utils::*;
use crate::vpn::*;
-use std::env;
use std::io::{self,Write};
use reqwest::Client;
use serde::Serialize;
@@ -29,8 +28,6 @@
pub async fn play_machine(machine_name: &str) -> Result<(), Box<dyn std::error::Error>> {
let appkey = get_appkey();
let appkey_clone = appkey.clone(); // Clone the necessary data to avoid borrowed value error
- let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap());
- let htbconfig = HTBConfig::get_current_config(&htb_path);
let mut machine_info = PlayingMachine::get_machine(machine_name, &appkey).await;
@@ -107,7 +104,7 @@
machine_info.ip = get_ip(&appkey_clone).await; // For Starting Point machines and VIP and VIP+ VPNs, if I call the play API two times on the same machine, the old IP address associated to the machine can still live for some seconds providing a wrong IP related to the new same machine. For this reason, it is better to compute always the IP address (no problems for free VPNs because they associate always the same IP address to the same machine)
- let mut user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address
+ let user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address
let _ = print_banner();
@@ -119,10 +116,6 @@
println!("{BGREEN}Hey! You have already found the Root Flag! Keep it up!{RESET}");
}
- if htbconfig.promptchange { //If the prompt is set to change during the playing...
- change_shell(&mut machine_info, &mut user_info);
- }
-
// Writing /etc/hosts
let _ = add_hosts(&machine_info);
--- a/src/types.rs 2025-08-25 13:03:30.716513609 +0200
+++ b/src/types.rs 2025-08-25 13:07:49.414296572 +0200
@@ -2,7 +2,6 @@
use crate::colors::*;
use crate::utils::get_interface_ip;
use core::time::Duration;
-use std::fs;
use std::process;
use std::thread::sleep;
@@ -475,37 +474,4 @@
ip: userip,
}
}
-}
-
-pub struct HTBConfig {
- pub promptchange: bool,
-}
-
-impl HTBConfig {
-
- pub fn get_current_config(htb_config: &str) -> Self {
- HTBConfig {
- promptchange: Self::get_prompt_change(htb_config),
- }
- }
-
- fn get_prompt_change(htb_config: &str) -> bool {
- let prompt_change = fs::read_to_string(htb_config).expect("Failed to read htconfig.");
-
- let change_prompt = prompt_change.lines()
- .find(|line| line.starts_with("prompt_change="))
- .map(|line| line.split('=').nth(1).unwrap_or_default())
- .unwrap_or_default();
-
- // Convert the change_prompt string to a bool
-
- match change_prompt {
- "true" => true,
- "false" => false,
- _ => {
- // Handle other cases if needed, e.g., return a default value
- false
- }
- }
- }
}
\ No newline at end of file
--- a/src/utils.rs 2025-08-25 13:03:34.500525470 +0200
+++ b/src/utils.rs 2025-08-25 13:09:31.055654489 +0200
@@ -7,7 +7,6 @@
use crate::types::*;
use crate::vpn::*;
use pnet::datalink;
-use regex::Regex;
use reqwest::Client;
use std::fs;
use std::net::IpAddr;
@@ -25,96 +24,6 @@
}
}
-pub fn change_shell(machine_info: &mut PlayingMachine, user_info: &mut PlayingUser) {
- let result = std::env::var("SHELL").unwrap_or_default();
- let mut file_bak = String::new();
- let mut file = String::new();
- let mut prompt = String::new();
- let mut prompt_field = "";
-
- if result.contains("bash") {
- file_bak = format!("{}/.bashrc.htb.bak", std::env::var("HOME").unwrap_or_default());
- file = format!("{}/.bashrc", std::env::var("HOME").unwrap_or_default());
- prompt = format!(
- "PS1=\"\\e[32m\\]┌──[Target:{}🚀🌐IP:{}🔥\\e[34m\\]Attacker:{}📡IP:{}\\e[32m\\]🏅Prize:{} points]\\n└──╼[👾]\\\\[\\e[36m\\]\\$(pwd) $ \\[\\e[0m\\]\"",
- machine_info.machine.name,
- machine_info.ip,
- user_info.user.name,
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
- machine_info.machine.points
- );
- prompt_field = "PS1=.*";
- } else if result.contains("fish") {
- file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", std::env::var("HOME").unwrap_or_default());
- file = format!("{}/.config/fish/functions/fish_prompt.fish", std::env::var("HOME").unwrap_or_default());
- prompt = format!(
- r#"function fish_prompt
- set_color 00ff00
- echo -n "┌──[Target:{}🚀🌐IP:{}"
- set_color ff00d7
- echo -n "🔥Attacker:{}📡IP:{}"
- set_color 00ff00
- echo "🏅Prize:{} points]"
- set_color 00ff00
- echo -n "└──╼[👾]"
- set_color 00ffff
- echo (pwd) '$' (set_color normal)
-end"#,
- machine_info.machine.name,
- machine_info.ip,
- user_info.user.name,
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
- machine_info.machine.points
- );
- } else if result.contains("zsh") {
- file_bak = format!("{}/.zshrc.htb.bak", std::env::var("HOME").unwrap_or_default());
- file = format!("{}/.zshrc", std::env::var("HOME").unwrap_or_default());
- prompt = format!(
- "PROMPT=\"%F{{46}}┌──[Target:{}🚀🌐IP:{}🔥%F{{201}}Attacker:{}📡IP:{}%F{{46}}🏅Prize:{} points]\"$'\\n'\"└──╼[👾]%F{{44}}%~ $%f \"" ,
- machine_info.machine.name,
- machine_info.ip,
- user_info.user.name,
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
- machine_info.machine.points
- );
- prompt_field = "PROMPT=.*";
- }
-
- if !std::path::Path::new(&file_bak).exists() {
- std::fs::copy(&file, &file_bak).unwrap_or_default();
- }
-
- if result.contains("bash") || result.contains("zsh") {
- let file_content = std::fs::read_to_string(&file).unwrap_or_default();
- let regex = Regex::new(prompt_field).unwrap();
- let new_file_content = regex.replace_all(&file_content, prompt);
- std::fs::write(&file, new_file_content.as_ref()).unwrap_or_default();
- } else if result.contains("fish") {
- std::fs::write(&file, &prompt).unwrap_or_default();
- }
-}
-
-pub fn restore_shell() {
- let result = env::var("SHELL").unwrap_or_default();
- let mut file_bak = String::new();
- let mut file = String::new();
-
- if result.contains("bash") {
- file_bak = format!("{}/.bashrc.htb.bak", env::var("HOME").unwrap());
- file = format!("{}/.bashrc", env::var("HOME").unwrap());
- } else if result.contains("fish") {
- file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", env::var("HOME").unwrap());
- file = format!("{}/.config/fish/functions/fish_prompt.fish", env::var("HOME").unwrap());
- } else if result.contains("zsh") {
- file_bak = format!("{}/.zshrc.htb.bak", env::var("HOME").unwrap());
- file = format!("{}/.zshrc", env::var("HOME").unwrap());
- }
- if fs::metadata(&file).is_ok() && std::path::Path::new(&file_bak).exists() {
- //Restore the prompt file from the backup
- fs::copy(&file_bak, &file).expect("Failed to copy file");
- }
-}
-
pub fn display_target_info(machine_info: &PlayingMachine, user_info: &PlayingUser) {
println!();
println!("{BYELLOW}Our secret agent gathered some information about the target:{RESET}");
@@ -196,7 +105,7 @@
println!("Play Hack The Box machines directly on your system.");
println!();
std::thread::sleep(std::time::Duration::from_secs(2)); //Showing the description for some secs before showing the help message
- println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-p] <true|false> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap());
+ println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap());
println!();
println!("Options:");
println!("-a Print information about the current active machine.");
@@ -205,7 +114,6 @@
println!("-k <set|reset|delete> Set, reset or delete the Hack The Box App Key.");
println!("-m <machine-name> Specify the machine name to play.");
println!("-l <free|retired|starting> List free, retired or starting point machines.");
- println!("-p <true|false> Set if the shell prompt should be changed.");
println!("-r Reset the playing machine.");
println!("-s Stop the playing machine.");
println!("-u Update free machines in the Red Team menu.");

View File

@@ -1,68 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
unstableGitUpdater,
pkg-config,
openssl,
stdenv,
coreutils,
gnome-keyring,
libsecret,
openvpn,
gzip,
killall,
}:
rustPlatform.buildRustPackage {
pname = "htb-toolkit";
version = "0-unstable-2025-12-19";
src = fetchFromGitHub {
owner = "D3vil0p3r";
repo = "htb-toolkit";
# https://github.com/D3vil0p3r/htb-toolkit/issues/3
rev = "4f1c6bded11d8c907c951fcbe63f1fc44568a9f9";
hash = "sha256-pkZ5KVSgtrWfXhJ3knmyOIArIjyAjMmm5WcrrB2pCKY=";
};
cargoHash = "sha256-ReEe8pyW66GXIPwAy6IKsFEAUjxHmzw5mj21i/h4quQ=";
# Patch to disable prompt change of the shell when a target machine is run. Needed due to Nix declarative nature
patches = [
./disable-shell-prompt-change.patch
];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
]
++ lib.optionals stdenv.hostPlatform.isLinux [
gnome-keyring
];
postPatch = ''
substituteInPlace src/utils.rs \
--replace-fail "\"base64\"" "\"${coreutils}/bin/base64\"" \
--replace-fail "\"gunzip\"" "\"${gzip}/bin/gunzip\""
substituteInPlace src/appkey.rs \
--replace-fail secret-tool ${lib.getExe libsecret}
substituteInPlace src/vpn.rs \
--replace-fail "arg(\"openvpn\")" "arg(\"${openvpn}/bin/openvpn\")" \
--replace-fail "arg(\"killall\")" "arg(\"${killall}/bin/killall\")"
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Play Hack The Box directly on your system";
mainProgram = "htb-toolkit";
homepage = "https://github.com/D3vil0p3r/htb-toolkit";
maintainers = [ ];
platforms = lib.platforms.unix;
license = lib.licenses.gpl3Plus;
};
}

View File

@@ -12,13 +12,13 @@
buildDotnetModule (finalAttrs: {
pname = "jackett";
version = "0.24.2457";
version = "0.24.2527";
src = fetchFromGitHub {
owner = "jackett";
repo = "jackett";
tag = "v${finalAttrs.version}";
hash = "sha256-oLKej0+Loiwn2yEAOHMeCqv1fU4d0vd7nzX/uTl3dFU=";
hash = "sha256-IbSXGddfsD9r0ElsSToQ+n75F09WUnF2jHirFOAiu+Q=";
};
projectFile = "src/Jackett.Server/Jackett.Server.csproj";

View File

@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "jujutsu";
version = "0.44.0";
version = "0.45.1";
src = fetchFromGitHub {
owner = "jj-vcs";
repo = "jj";
tag = "v${finalAttrs.version}";
hash = "sha256-ojhsg083nb/GWzNIaLzCg0/9hdCHkb3xdrvGqxhNDmY=";
hash = "sha256-nqMd9kj6TH/6kTZ8a9XDPBESwCIOMa7c/0TgbEXoo3o=";
};
cargoHash = "sha256-RrIZS8BjG4a4sKgXdYF/kgq2saRMXjr8Ao6lOCJMmtU=";
cargoHash = "sha256-rt3mq7+Z+7Z1Y+XUWva+UsrDcVeZs6VjXnhAL0iyP20=";
nativeBuildInputs = [
installShellFiles

View File

@@ -164,11 +164,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "152.0.4191.53";
version = "152.0.4191.62";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-szIkRfvmzh4Lz/hOu+Dt6jZeDq9Jix72E23aUt6m46c=";
hash = "sha256-SzUssNgbFRwQcZUZoUFe/ZJXChydV/BV5eXYD2yZug0=";
};
# With strictDeps on, some shebangs were not being patched correctly

View File

@@ -16,7 +16,7 @@ diff --git a/mkosi/__init__.py b/mkosi/__init__.py
index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c219890572652e3f350 100644
--- a/mkosi/__init__.py
+++ b/mkosi/__init__.py
@@ -613,7 +613,7 @@ def finalize_host_scripts(
@@ -639,7 +639,7 @@ def finalize_host_scripts(
if context.config.find_binary(binary):
scripts[binary] = (binary, "--root", "/buildroot")
if ukify := context.config.find_binary("ukify"):
@@ -25,7 +25,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
return finalize_scripts(context.config, scripts | dict(helpers))
@@ -755,7 +755,11 @@ def script_maybe_chroot_sandbox(
@@ -788,7 +788,11 @@ def script_maybe_chroot_sandbox(
helpers = {
"mkosi-chroot": [
@@ -38,7 +38,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
"--bind", "/buildroot", "/",
"--bind", "/var/tmp", "/var/tmp",
*apivfs_options(root=Path("/")),
@@ -1587,7 +1591,7 @@ def run_ukify(
@@ -1610,7 +1614,7 @@ def run_ukify(
sign: bool = True,
json_out: bool = False,
) -> dict[str, Any]:
@@ -47,7 +47,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
if not ukify:
die("Could not find ukify")
@@ -1599,7 +1603,6 @@ def run_ukify(
@@ -1622,7 +1626,6 @@ def run_ukify(
(context.workspace / "cmdline").write_text(f"{' '.join(cmdline)}\x00")
cmd = [
@@ -55,7 +55,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
ukify,
"build",
*arguments,
@@ -1694,7 +1697,7 @@ def build_uki(
@@ -1717,7 +1720,7 @@ def build_uki(
profiles: Sequence[Path],
output: Path,
) -> dict[str, Any]:
@@ -64,15 +64,16 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
die("Could not find ukify")
json_out = False
@@ -1755,7 +1758,6 @@ def build_uki(
@@ -1776,7 +1779,7 @@ def build_uki(
"--pcr-banks", "sha256",
] # fmt: skip
if (
systemd_tool_version(
- python_binary(context.config),
ukify,
sandbox=context.sandbox,
)
@@ -1815,7 +1817,6 @@ def build_uki(
- ukify_version = systemd_tool_version(python_binary(context.config), ukify, sandbox=context.sandbox)
+ ukify_version = systemd_tool_version(ukify, sandbox=context.sandbox)
if ukify_version >= "258":
cert_parameter = "--pcr-certificate"
@@ -1838,7 +1841,6 @@ def build_uki(
# new .ucode section support?
if (
systemd_tool_version(
@@ -80,7 +81,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
ukify,
sandbox=context.sandbox,
)
@@ -1883,7 +1884,7 @@ def want_uki(context: Context) -> bool:
@@ -1906,7 +1908,7 @@ def want_uki(context: Context) -> bool:
or (
context.config.unified_kernel_images == UnifiedKernelImage.auto
and systemd_stub_binary(context).exists()
@@ -89,7 +90,7 @@ index f4766ae71244a21caa5bcbf5b5376f617c706b33..e022c2e2e3ea267a78c69c2198905726
)
)
@@ -2799,9 +2800,9 @@ def check_ukify(
@@ -2844,9 +2846,9 @@ def check_ukify(
reason: str,
hint: Optional[str] = None,
) -> None:
@@ -105,7 +106,7 @@ diff --git a/mkosi/bootloader.py b/mkosi/bootloader.py
index 7d434bb4776980c6fa58ae8f7795f3ffc319baeb..8960a6d17d153b06b029f9072a464a12f5cafe65 100644
--- a/mkosi/bootloader.py
+++ b/mkosi/bootloader.py
@@ -316,8 +316,7 @@ def find_signed_grub_image(context: Context) -> Optional[Path]:
@@ -315,8 +315,7 @@ def find_signed_grub_image(context: Context) -> Optional[Path]:
def python_binary(config: Config) -> PathString:
# If there's no tools tree, prefer the interpreter from MKOSI_INTERPRETER. If there is a tools
# tree, just use the default python3 interpreter.
@@ -119,7 +120,7 @@ diff --git a/mkosi/run.py b/mkosi/run.py
index 159b75c1af1b5d84e409426e566e098571086c8e..68572039cbeddcb1c32ffc1e2ba34c91dede52b0 100644
--- a/mkosi/run.py
+++ b/mkosi/run.py
@@ -238,7 +238,11 @@ def spawn(
@@ -352,7 +352,11 @@ def spawn(
module = stack.enter_context(resource_path(sys.modules[__package__ or __name__]))
prefix = [
*(["strace", "--detach-on=execve", "--string-limit=256"] if ARG_DEBUG_SANDBOX.get() else []),
@@ -132,16 +133,7 @@ index 159b75c1af1b5d84e409426e566e098571086c8e..68572039cbeddcb1c32ffc1e2ba34c91
*sbx,
] # fmt: skip
@@ -321,7 +325,7 @@ def finalize_path(
# Make sure that /usr/bin and /usr/sbin are always in $PATH.
path += [s for s in ("/usr/bin", "/usr/sbin") if s not in path]
else:
- path += ["/usr/bin", "/usr/sbin"]
+ path += ["/usr/bin", "/usr/sbin", "@NIX_PATH@"]
if prefix_usr:
path = [os.fspath(root / s.lstrip("/")) if s in ("/usr/bin", "/usr/sbin") else s for s in path]
@@ -690,7 +694,7 @@ def chroot_options() -> list[PathString]:
@@ -805,7 +809,7 @@ def chroot_options() -> list[PathString]:
"--unshare-ipc",
"--setenv", "container", "mkosi",
"--setenv", "HOME", "/",

View File

@@ -14,7 +14,7 @@ diff --git a/mkosi/sandbox.py b/mkosi/sandbox.py
index 4a41f333a764bc41abbd36302bd9fe86baa45a3f..1f7f133912c022a9fb3258437f4ed09872d79dd4 100755
--- a/mkosi/sandbox.py
+++ b/mkosi/sandbox.py
@@ -124,7 +124,7 @@ class cap_user_data_t(ctypes.Structure):
@@ -158,7 +158,7 @@ class cap_user_data_t(ctypes.Structure):
]
@@ -23,7 +23,7 @@ index 4a41f333a764bc41abbd36302bd9fe86baa45a3f..1f7f133912c022a9fb3258437f4ed098
libc.syscall.restype = ctypes.c_long
libc.unshare.argtypes = (ctypes.c_int,)
@@ -291,7 +291,7 @@ def seccomp_suppress(*, chown: bool = False, sync: bool = False) -> None:
@@ -370,7 +370,7 @@ def seccomp_suppress(*, chown: bool = False, sync: bool = False) -> None:
if not chown and not sync:
return

View File

@@ -12,7 +12,7 @@ diff --git a/mkosi/qemu.py b/mkosi/qemu.py
index 4d1bec15605ca36d66a05add0744afdfbdc4853d..d10007ed58ebc16271b313b1a846ca2c24d8ae81 100644
--- a/mkosi/qemu.py
+++ b/mkosi/qemu.py
@@ -189,7 +189,7 @@ def find_ovmf_firmware(config: Config, firmware: Firmware) -> Optional[OvmfConfi
@@ -192,7 +192,7 @@ def find_ovmf_firmware(config: Config, firmware: Firmware) -> Optional[OvmfConfi
if not firmware.is_uefi():
return None

View File

@@ -19,25 +19,33 @@
# Optional dependencies
withQemu ? false,
qemu,
# Workaround for supporting providing additional package manager
# dependencies in the recursive use in the binary path.
# This can / should be removed once the `finalAttrs` pattern is
# available for Python packages.
extraDeps ? [ ],
}:
let
# For systemd features used by mkosi, see
# https://github.com/systemd/mkosi/blob/19bb5e274d9a9c23891905c4bcbb8f68955a701d/action.yaml#L64-L72
systemdForMkosi = systemd.override {
withRepart = true;
withBootloader = true;
withSysusers = true;
withFirstboot = true;
withEfi = true;
withUkify = true;
withKernelInstall = true;
};
systemdForMkosi =
(systemd.override {
withRepart = true;
withBootloader = true;
withSysusers = true;
withFirstboot = true;
withEfi = true;
withUkify = true;
withKernelInstall = true;
}).overrideAttrs
(prevAttrs: {
# Use the default PATH instead of the nix store path
postPatch = (prevAttrs.postPatch or "") + ''
substituteInPlace src/basic/path-util.h \
--replace-fail "\"$out/bin/\"" \
'"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"'
'';
# Use the FHS nologin path, not the nix store path
mesonFlags = (prevAttrs.mesonFlags or [ ]) ++ [
(lib.mesonOption "nologin-path" "/usr/sbin/nologin")
];
});
pythonWithPefile = python3Packages.python.withPackages (ps: [ ps.pefile ]);
@@ -51,14 +59,13 @@ let
systemdForMkosi
util-linux
]
++ extraDeps
++ lib.optionals withQemu [
qemu
];
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "mkosi";
version = "26";
version = "27";
pyproject = true;
outputs = [
@@ -70,7 +77,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "systemd";
repo = "mkosi";
tag = "v${finalAttrs.version}";
hash = "sha256-6DVIyFsEV2VkQ/kesn6cN+iH9MW+mmAZw5i0R5C4xaU=";
hash = "sha256-uUNPGFXrwTiSC6/EcYIxbAizjcS3Hqe1LABa5BmWGgw=";
};
patches = [
@@ -120,6 +127,15 @@ python3Packages.buildPythonApplication (finalAttrs: {
mv mkosi/resources/man/mkosi.1 $out/share/man/man1/
'';
# Workaround for https://github.com/NixOS/nixpkgs/issues/510068
postFixup = ''
rm -f "$out/bin/mkosi-sandbox" "$out/bin/.mkosi-sandbox-wrapped"
sed "1i#!${python3Packages.python.interpreter} -SI" \
"$out/${python3Packages.python.sitePackages}/mkosi/sandbox.py" \
> "$out/bin/mkosi-sandbox"
chmod +x "$out/bin/mkosi-sandbox"
'';
meta = {
description = "Build legacy-free OS images";
homepage = "https://github.com/systemd/mkosi";

View File

@@ -12,11 +12,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
version = "152.0.4191.53";
version = "152.0.4191.62";
src = fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
hash = "sha256-3akRs0D76LAJ8Lgr3P7X+cDrMNXiEC+LWNH8lUdBM9k=";
hash = "sha256-dhUC+/XWACG/4In4xP0wOBjb6EIYlBnP9JT7j/xxBJk=";
stripRoot = false;
};

View File

@@ -9,18 +9,18 @@ buildGoModule rec {
__structuredAttrs = true;
pname = "multica-cli";
version = "0.4.26";
version = "0.4.39";
src = fetchFromGitHub {
owner = "multica-ai";
repo = "multica";
rev = "v${version}";
hash = "sha256-D3v9eBbfbtnNMt7F9wiz9WpV1NK6VsgGF1UnBRgb+5E=";
hash = "sha256-xcj0Jl/+7eiVIVLhEM2lH88SH6PTYniwep4mXa4nhk4=";
};
sourceRoot = "${src.name}/server";
vendorHash = "sha256-SL//NLuzLV+faAjD7SR9f9j0AaDHel2haZajLJpsj5s=";
vendorHash = "sha256-QwVYfMtRL4eSRvQ9TuuVQyRXUHWPQXoAzdd9KX+D8lQ=";
subPackages = [ "cmd/multica" ];

View File

@@ -15,10 +15,18 @@
zlib,
makeWrapper,
python3,
config,
autoAddDriverRunpath,
# InfiniBand dependencies
ucx,
# OmniPath dependencies
libfabric,
# CUDA support
cudaSupport ? config.cudaSupport,
cudaPackages,
# ROCm support
rocmSupport ? config.rocmSupport,
rocmPackages,
# Compile with slurm as a process manager
useSlurm ? false,
# Network backend for MVAPICH2
@@ -29,6 +37,7 @@ assert builtins.elem network [
"ucx"
"ofi"
];
assert cudaSupport -> !rocmSupport;
stdenv.mkDerivation (finalAttrs: {
pname = "mvapich";
@@ -52,6 +61,10 @@ stdenv.mkDerivation (finalAttrs: {
gfortran
python3
removeReferencesTo
]
++ lib.optionals cudaSupport [
cudaPackages.cuda_nvcc
autoAddDriverRunpath
];
buildInputs = [
@@ -68,7 +81,17 @@ stdenv.mkDerivation (finalAttrs: {
rdma-core
libfabric
]
++ lib.optional useSlurm slurm;
++ lib.optional useSlurm slurm
++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]
++ lib.optionals rocmSupport (
with rocmPackages;
[
rocm-core
rocm-runtime
rocm-device-libs
clr
]
);
configureFlags = [
"--with-pm=hydra"
@@ -83,8 +106,19 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals (network == "ofi") [
"--with-device=ch4:ofi"
]
++ lib.optionals cudaSupport [
"--with-cuda=${lib.getBin cudaPackages.cuda_nvcc}"
"--with-cuda-include=${lib.getDev cudaPackages.cuda_cudart}/include"
"--with-cuda-lib=${lib.getLib cudaPackages.cuda_cudart}/lib"
]
++ lib.optionals rocmSupport [
"--with-hip=${rocmPackages.clr}"
];
# Fake libcuda.so (the real one is deployed impurely)
env.LDFLAGS = lib.optionalString cudaSupport "-L${lib.getOutput "stubs" cudaPackages.cuda_cudart}/lib/stubs";
doCheck = false; # requires bindir/bin/mpicc before install is run
postInstall = ''
@@ -116,6 +150,10 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
passthru = {
inherit cudaSupport rocmSupport;
};
meta = {
description = "MPI-3.1 implementation optimized for Infiband and OmniPath transport";
homepage = "https://mvapich.cse.ohio-state.edu";

View File

@@ -1,80 +0,0 @@
{
lib,
stdenv,
stdenvNoCC,
fetchMavenArtifact,
fetchFromGitHub,
jre,
makeWrapper,
symlinkJoin,
}:
let
version = "1.0.0";
nailgun-server = fetchMavenArtifact {
groupId = "com.facebook";
artifactId = "nailgun-server";
inherit version;
sha256 = "1mk8pv0g2xg9m0gsb96plbh6mc24xrlyrmnqac5mlbl4637l4q95";
};
commonMeta = {
license = lib.licenses.asl20;
homepage = "https://www.martiansoftware.com/nailgun/";
platforms = lib.platforms.linux;
maintainers = [ ];
};
server = stdenvNoCC.mkDerivation {
pname = "nailgun-server";
inherit version;
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
installPhase = ''
runHook preInstall
makeWrapper ${jre}/bin/java $out/bin/ng-server \
--add-flags '-classpath ${nailgun-server.jar}:$CLASSPATH com.facebook.nailgun.NGServer'
runHook postInstall
'';
meta = commonMeta // {
description = "Server for running Java programs from the command line without incurring the JVM startup overhead";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
};
};
client = stdenv.mkDerivation {
pname = "nailgun-client";
inherit version;
src = fetchFromGitHub {
owner = "facebook";
repo = "nailgun";
rev = "nailgun-all-v${version}";
sha256 = "1syyk4ss5vq1zf0ma00svn56lal53ffpikgqgzngzbwyksnfdlh6";
};
makeFlags = [ "PREFIX=$(out)" ];
meta = commonMeta // {
description = "Client for running Java programs from the command line without incurring the JVM startup overhead";
};
};
in
symlinkJoin rec {
pname = "nailgun";
inherit client server version;
paths = [
client
server
];
meta = commonMeta // {
description = "Client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead";
};
}

View File

@@ -10,10 +10,26 @@
icestorm,
trellis,
llvmPackages,
prjoxide,
qt6,
enableGui ? false,
wrapQtAppsHook ? null,
qtbase ? null,
# Notes:
# The mistral architecture is excluded as it no longer compiles with the most recent nextpnr
# The xilinx uarchitecture is packaged separately due to needing vivado see: nextpnr-xilinx
architectures ? [
"ice40"
"ecp5"
"nexus"
"generic"
# The following uarchitectures are under the himbaechel architecture
"gowin"
"ng-ultra"
"gatemate"
"example"
],
}:
let
@@ -28,33 +44,68 @@ let
rev = "f49f66be674d9857c657930353b867ba94bcbdd7";
hash = "sha256-B/VmKgMu6f2Y8umE+NgGD5W0FYBIfDcMVwgHocFzreA=";
};
prjpeppercorn_src = fetchFromGitHub {
owner = "YosysHQ";
repo = "prjpeppercorn";
tag = "v1.13";
hash = "sha256-vlwb/lWVUUdI95GPE887jque7WmNWtBSxSIRcK6k7cU=";
};
uArches = [
"gowin"
"ng-ultra"
"gatemate"
"example"
];
selectedUArches = lib.intersectLists uArches architectures;
majorArches = [
"ice40"
"ecp5"
"nexus"
"generic"
"himbaechel"
];
selectedArches = lib.intersectLists majorArches (
architectures ++ lib.optional (selectedUArches != [ ]) "himbaechel"
);
hasArch = arch: output: lib.optionals (lib.elem arch selectedArches) output;
hasUArch = arch: output: lib.optionals (lib.elem arch selectedUArches) output;
in
stdenv.mkDerivation (finalAttrs: {
pname = "nextpnr";
version = "0.10";
version = "0.11.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "nextpnr";
tag = "nextpnr-${finalAttrs.version}";
hash = "sha256-Lh4ByqfFKNK641tT33OWaAqjlbBDvtE1AUCQ4mRiWiU=";
fetchSubmodules = true;
hash = "sha256-goHHEvkBw+9s3RHGfQtRaueXRBnoI14TmfGmb+1WPAY=";
leaveDotGit = true;
postFetch = "rm -rf $out/.git";
};
# Don't use #embed macro for chipdb binary embeddings - otherwise getting spurious type narrowing errors.
# Maybe related to: https://github.com/llvm/llvm-project/issues/119256
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "check_cxx_compiler_hash_embed(HAS_HASH_EMBED CXX_FLAGS_HASH_EMBED)" ""
'';
checkValidArch =
if selectedArches == [ ] then
lib.throw ''
No valid architecture selected! Please enable at least one of the following
[ ice40 ecp5 nexus generic gowin ng-ultra gatemate example ]
''
else
"";
nativeBuildInputs = [
cmake
python3
]
++ lib.optionals enableGui [
wrapQtAppsHook
qt6.wrapQtAppsHook
qt6.qtbase.dev
];
buildInputs = [
@@ -63,44 +114,44 @@ stdenv.mkDerivation (finalAttrs: {
python3Packages.apycula
]
++ lib.optionals enableGui [
qtbase
qt6.qtbase
qt6.qtwayland
]
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp
];
++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
cmakeFlags = [
(lib.cmakeFeature "CURRENT_GIT_VERSION" finalAttrs.src.tag)
(lib.cmakeFeature "ARCH" "generic;ice40;ecp5;himbaechel")
(lib.cmakeFeature "CURRENT_GIT_VERSION" finalAttrs.version)
(lib.cmakeFeature "ARCH" (lib.strings.concatStringsSep ";" selectedArches))
(lib.cmakeBool "BUILD_TESTS" true)
(lib.cmakeFeature "ICESTORM_INSTALL_PREFIX" icestorm.outPath)
(lib.cmakeFeature "TRELLIS_INSTALL_PREFIX" trellis.outPath)
(lib.cmakeFeature "TRELLIS_LIBDIR" "${lib.getLib trellis}/lib/trellis")
(lib.cmakeFeature "GOWIN_BBA_EXECUTABLE" (lib.getExe' python3Packages.apycula "gowin_bba"))
(lib.cmakeBool "USE_OPENMP" true)
# gatemate excluded due to non-reproducible build https://github.com/YosysHQ/prjpeppercorn/issues/9
# xilinx excluded due to needing vivado https://github.com/f4pga/prjxray?tab=readme-ov-file#step-1
(lib.cmakeFeature "HIMBAECHEL_UARCH" "example;gowin;ng-ultra")
(lib.cmakeFeature "HIMBAECHEL_GOWIN_DEVICES" "all")
(lib.cmakeFeature "HIMBAECHEL_PRJBEYOND_DB" prjbeyond_src.outPath)
# https://github.com/YosysHQ/nextpnr/issues/1578
# `Compatibility with CMake < 3.5 has been removed from CMake.`
# "CMAKE_POLICY_VERSION_MINIMUM=3.5"
(lib.cmakeBool "BUILD_GUI" enableGui)
]
++ hasArch "ice40" [
(lib.cmakeFeature "ICESTORM_INSTALL_PREFIX" icestorm.outPath)
]
++ hasArch "ecp5" [
(lib.cmakeFeature "TRELLIS_INSTALL_PREFIX" trellis.outPath)
(lib.cmakeFeature "TRELLIS_LIBDIR" "${lib.getLib trellis}/lib/trellis")
]
++ hasArch "nexus" [
(lib.cmakeFeature "OXIDE_INSTALL_PREFIX" prjoxide.outPath)
]
++ hasArch "himbaechel" [
(lib.cmakeFeature "HIMBAECHEL_UARCH" (lib.strings.concatStringsSep ";" selectedUArches))
]
++ hasUArch "gowin" [
(lib.cmakeFeature "HIMBAECHEL_GOWIN_DEVICES" "all")
]
++ hasUArch "ng-ultra" [
(lib.cmakeFeature "HIMBAECHEL_PRJBEYOND_DB" prjbeyond_src.outPath)
]
++ hasUArch "gatemate" [
(lib.cmakeFeature "HIMBAECHEL_PEPPERCORN_PATH" prjpeppercorn_src.outPath)
];
doCheck = true;
postFixup = lib.optionalString enableGui ''
wrapQtApp $out/bin/nextpnr-generic
wrapQtApp $out/bin/nextpnr-ice40
wrapQtApp $out/bin/nextpnr-ecp5
wrapQtApp $out/bin/nextpnr-himbaechel
'';
strictDeps = true;
meta = {
@@ -109,6 +160,9 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/YosysHQ/nextpnr/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.isc;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ thoughtpolice ];
maintainers = with lib.maintainers; [
thoughtpolice
gitRaiku
];
};
})

View File

@@ -626,6 +626,7 @@ def _id_segment(fname: str) -> str:
class ConfigLeaf:
file: str
label: str | None = None
id_prefix: str | None = None
@dataclass
class ConfigGroup:
@@ -716,6 +717,9 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
label = item.get('label')
if label is not None and (not isinstance(label, str) or not label):
raise SrcError(src=src, description=f"{where}: 'label' must be a non-empty string")
id_prefix = item.get('id-prefix')
if id_prefix is not None and (not isinstance(id_prefix, str)):
raise SrcError(src=src, description=f"{where}: 'id-prefix' must be a string when being set")
has_file, has_children = 'file' in item, 'children' in item
if has_file == has_children:
raise SrcError(
@@ -724,7 +728,7 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
if has_file:
if not isinstance(item['file'], str):
raise SrcError(src=src, description=f"{where}: 'file' must be a string")
return ConfigLeaf(file=item['file'], label=label)
return ConfigLeaf(file=item['file'], label=label, id_prefix=id_prefix)
children = item['children']
if not isinstance(children, list) or not children:
raise SrcError(src=src, description=f"{where}: 'children' must be a non-empty array")
@@ -733,9 +737,6 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
gid = item.get('id')
if gid is not None and (not isinstance(gid, str) or not gid):
raise SrcError(src=src, description=f"{where}: 'id' must be a non-empty string")
id_prefix = item.get('id-prefix')
if id_prefix is not None and (not isinstance(id_prefix, str)):
raise SrcError(src=src, description=f"{where}: 'id-prefix' must be a string when being set")
return ConfigGroup(label=label, children=self._parse_config_nodes(children, where, src), id=gid, id_prefix=id_prefix)
def _prepend_config(self, infile: Path, tokens: list[Token]) -> None:
@@ -759,7 +760,9 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
if isinstance(node, ConfigLeaf):
path = (config_file.parent / node.file).resolve()
leaf_src = path.read_text()
prefix = f"{id_prefix}-{_id_segment(node.file)}" if id_prefix is not None else None
# Take the id_prefix from leaf > node
resolved = node.id_prefix or id_prefix
prefix = f"{resolved}-{_id_segment(node.file)}" if resolved is not None else None
self._base_paths.append(path)
self._current_type.append('page')
try:

View File

@@ -18,7 +18,7 @@ buildGoModule (
ui = buildNpmPackage {
inherit (finalAttrs) src version;
pname = "ntfy-sh-ui";
npmDepsHash = "sha256-zxI7ATaO8e7/eqoKpYXY2bCLG/gn5b7Md7m7d39zAvk=";
npmDepsHash = "sha256-zRlNgBXtOXoXF7URoDQlKWNMwqeGhW9hx/EcKRKBD/0=";
prePatch = ''
cd web/
@@ -38,16 +38,16 @@ buildGoModule (
in
{
pname = "ntfy-sh";
version = "2.27.0";
version = "2.28.0";
src = fetchFromGitHub {
owner = "binwiederhier";
repo = "ntfy";
tag = "v${finalAttrs.version}";
hash = "sha256-kopG3lPhu1j5AGyNp35iKBZkNlDCTyNP+8XeRmbor/k=";
hash = "sha256-Xlo0iuVd122kPpxK7aL4RBnR9gHLIpGj2nQSlBmMjYc=";
};
vendorHash = "sha256-0kHWTvj+B4ZQuwayNG7Yw4HAS19RPgeo2vUPi2kzkRo=";
vendorHash = "sha256-+o1H3ok2B3zB0MxB5Vc7t69j2LOccyBHLVJSLcR9qFM=";
doCheck = false;

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "numen";
version = "0.5.1";
version = "0.6.1";
src = fetchFromGitHub {
owner = "vicinaehq";
repo = "numen";
tag = "v${finalAttrs.version}";
hash = "sha256-cUly+bzaPwj9fiUmC+Gh7gwKAZjINCKZKGf/gPMhJJg=";
hash = "sha256-kjnCgTn45XzFmoiHZYFZsToyc+TXHQ43Nk0UkEbhw68=";
};
__structuredAttrs = true;

View File

@@ -175,5 +175,8 @@ stdenv.mkDerivation {
maintainers = [ lib.maintainers.mikaelfangel ];
mainProgram = "nw";
license = lib.licenses.mit;
knownVulnerabilities = [
"Uses Chrome 139.0.7258.128, known to have many vulnerabilities."
];
};
}

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "osmo-mgw";
version = "1.16.0";
version = "1.16.1";
src = fetchFromGitHub {
owner = "osmocom";
repo = "osmo-mgw";
rev = finalAttrs.version;
hash = "sha256-d5VCayqkInmGzUVl4nSm/QPsI6Bhr4xUse3xGD9YlPM=";
hash = "sha256-leH9mBxskjTjVlZVPbp2Tvb43GeWJX3hmmVj5JcnVo0=";
};
postPatch = ''

View File

@@ -0,0 +1,812 @@
diff --git a/libprjoxide/Cargo.lock b/libprjoxide/Cargo.lock
new file mode 100644
index 0000000..a90a653
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,806 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "adler2"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.104"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
+
+[[package]]
+name = "base64"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "capnp"
+version = "0.14.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dca085c2c7d9d65ad749d450b19b551efaa8e3476a439bdca07aca8533097f3"
+
+[[package]]
+name = "capnpc"
+version = "0.14.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdc9f1dc84666d4ff007b1a16c8f97db80764a624625979be05d869bcff43aaa"
+dependencies = [
+ "capnp",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+
+[[package]]
+name = "clap"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+dependencies = [
+ "atty",
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+ "indexmap",
+ "once_cell",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_derive"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "ctor"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "either"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d"
+
+[[package]]
+name = "flate2"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "ghost"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7fd7247b1c72af85f623505f1fc97aec79c383632e0d830f5196045e40f1a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 3.0.3",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "include_dir"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b56e147e6187d61e9d0f039f10e070d0c0a887e24fe0bb9ca3f29bfde62cab"
+dependencies = [
+ "glob",
+ "include_dir_impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "include_dir_impl"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a0c890c85da4bab7bce4204c707396bbd3c6c8a681716a51c8814cfc2b682df"
+dependencies = [
+ "anyhow",
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "indoc"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
+dependencies = [
+ "indoc-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "unindent",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "inventory"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"
+dependencies = [
+ "ctor",
+ "ghost",
+ "inventory-impl",
+]
+
+[[package]]
+name = "inventory-impl"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "itertools"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "libc"
+version = "0.2.189"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
+
+[[package]]
+name = "lock_api"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
+dependencies = [
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
+
+[[package]]
+name = "memchr"
+version = "2.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.8.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
+dependencies = [
+ "adler2",
+ "simd-adler32",
+]
+
+[[package]]
+name = "multimap"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367"
+dependencies = [
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.21.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "paste"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
+dependencies = [
+ "paste-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "paste-impl"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
+dependencies = [
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "prjoxide"
+version = "0.1.0"
+dependencies = [
+ "capnp",
+ "capnpc",
+ "clap",
+ "flate2",
+ "include_dir",
+ "itertools",
+ "lazy_static",
+ "log",
+ "multimap",
+ "num-bigint",
+ "pulldown-cmark",
+ "regex",
+ "ron",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.20+deprecated"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pulldown-cmark"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c205cc82214f3594e2d50686730314f817c67ffa80fe800cf0db78c3c2b9d9e"
+dependencies = [
+ "bitflags",
+ "getopts",
+ "memchr",
+ "unicase",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3"
+dependencies = [
+ "cfg-if",
+ "ctor",
+ "indoc",
+ "inventory",
+ "libc",
+ "parking_lot",
+ "paste",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb"
+dependencies = [
+ "pyo3-macros-backend",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyprjoxide"
+version = "0.1.0"
+dependencies = [
+ "prjoxide",
+ "pyo3",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
+
+[[package]]
+name = "ron"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5"
+dependencies = [
+ "base64",
+ "bitflags",
+ "serde",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 3.0.3",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
+dependencies = [
+ "itoa",
+ "memchr",
+ "serde",
+ "serde_core",
+ "zmij",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
+
+[[package]]
+name = "smallvec"
+version = "1.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
+
+[[package]]
+name = "unicase"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
+
+[[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-link"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
+
+[[package]]
+name = "windows-sys"
+version = "0.61.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+dependencies = [
+ "windows-link",
+]
+
+[[package]]
+name = "zmij"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"

View File

@@ -0,0 +1,53 @@
{
lib,
fetchFromGitHub,
rustPlatform,
python3,
}:
rustPlatform.buildRustPackage rec {
pname = "prjoxide";
version = "0.1-unstable-2026-07-19";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "gatecat";
repo = "prjoxide";
rev = "ea3fe12094dec200afcecdf9ed3306f82e6e3eb2";
hash = "sha256-qnfjiN+gd2zc/7uuySc8KlLnp/vmTbiF0s379GH7g4M=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = "rm -rf $out/.git";
};
sourceRoot = "${src.name}/libprjoxide";
cargoPatches = [ ./fix-cargo-lock.patch ];
cargoHash = "sha256-+KCoH1ibHAGdD66r/kbLK1HCkKot1VmxNnbcpR8QRbA=";
# The cargo build fails during the check phase due to not
# Being able to find python symbols. This fixes it
env.RUSTFLAGS = "-l python${python3.pythonVersion}";
nativeBuildInputs = [ python3 ];
buildInputs = [ python3 ];
doCheck = true;
strictDeps = true;
meta = {
description = "Documentation and tools for Lattice 28nm FPGA parts";
longDescription = ''
Project Oxide aims at creating a framework to place
parse and fuzz bitstreams for Lattice 28nm FPGA parts.
'';
homepage = "https://github.com/gatecat/prjoxide";
license = lib.licenses.isc;
mainProgram = "prjoxide";
maintainers = with lib.maintainers; [ gitRaiku ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
fetchFromGitHub,
stdenv,
boost,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "prjpeppercorn";
version = "1.13";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "prjpeppercorn";
tag = "v${finalAttrs.version}";
hash = "sha256-vlwb/lWVUUdI95GPE887jque7WmNWtBSxSIRcK6k7cU=";
};
sourceRoot = "${finalAttrs.src.name}/libgm";
nativeBuildInputs = [ cmake ];
buildInputs = [ boost ];
cmakeFlags = [
(lib.cmakeBool "STATIC_BUILD" false)
];
doCheck = true;
strictDeps = true;
meta = {
description = "Documentation and tools for Gatemate FPGA parts";
longDescription = ''
Project Peppercorn aims to integrate Gatemate FPGA parts into
the nextpnr workflow.
'';
homepage = "https://github.com/YosysHQ/prjpeppercorn";
license = lib.licenses.isc;
mainProgram = "gmpack";
platforms = lib.platforms.all;
};
})

View File

@@ -1,29 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule {
pname = "protoc-gen-twirp_swagger";
version = "0-unstable-2021-03-29";
src = fetchFromGitHub {
owner = "elliots";
repo = "protoc-gen-twirp_swagger";
rev = "f21ef47d69e37c1602a7fb26146de05c092d30b6";
sha256 = "sha256-uHU15NbHK7SYgNS3VK21H/OqDo/JyyTZdXw3i9lsgLY=";
};
vendorHash = "sha256-g0+9l83Fc0XPzsZAKjLBrjD+tv2+Fot57hcilqAhOZk=";
subPackages = [ "." ];
meta = {
description = "Swagger generator for twirp";
mainProgram = "protoc-gen-twirp_swagger";
homepage = "https://github.com/elliots/protoc-gen-twirp_swagger";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jojosch ];
};
}

View File

@@ -1,41 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
makeWrapper,
protobuf,
}:
buildGoModule (finalAttrs: {
pname = "prototool";
version = "1.10.0";
src = fetchFromGitHub {
owner = "uber";
repo = "prototool";
rev = "v${finalAttrs.version}";
hash = "sha256-T6SjjyHC4j5du2P4Emcfq/ZFbuCpMPPJFJTHb/FNMAo=";
};
vendorHash = "sha256-W924cy6bd3V/ep3JmzUCV7iuYNukEetr90SKmLMH0j8=";
nativeBuildInputs = [ makeWrapper ];
doCheck = false;
postInstall = ''
wrapProgram "$out/bin/prototool" \
--prefix PROTOTOOL_PROTOC_BIN_PATH : "${protobuf}/bin/protoc" \
--prefix PROTOTOOL_PROTOC_WKT_PATH : "${protobuf}/include"
'';
subPackages = [ "cmd/prototool" ];
meta = {
homepage = "https://github.com/uber/prototool";
description = "Your Swiss Army Knife for Protocol Buffers";
mainProgram = "prototool";
maintainers = [ ];
license = lib.licenses.mit;
};
})

View File

@@ -1,31 +0,0 @@
diff --git a/r128gain/__init__.py b/r128gain/__init__.py
index 79a5cbd..d8f13ba 100755
--- a/r128gain/__init__.py
+++ b/r128gain/__init__.py
@@ -86,7 +86,7 @@ def get_ffmpeg_lib_versions(ffmpeg_path: Optional[str] = None) -> Dict[str, int]
Example: 0x3040100 for FFmpeg 3.4.1
"""
r = collections.OrderedDict()
- cmd = (ffmpeg_path or "ffmpeg", "-version")
+ cmd = (ffmpeg_path or "@ffmpeg@/bin/ffmpeg", "-version")
output_str = subprocess.run(cmd, check=True, stdout=subprocess.PIPE, universal_newlines=True).stdout
output_lines = output_str.splitlines()
lib_version_regex = re.compile(r"^\s*(lib[a-z]+)\s+([0-9]+).\s*([0-9]+).\s*([0-9]+)\s+")
@@ -194,7 +194,7 @@ def get_r128_loudness( # noqa: C901
ffmpeg.output(*output_streams, os.devnull, **additional_ffmpeg_args, f="null").global_args(
"-hide_banner", "-nostats"
),
- cmd=ffmpeg_path or "ffmpeg",
+ cmd=ffmpeg_path or "@ffmpeg@/bin/ffmpeg",
)
# run
@@ -885,7 +885,7 @@ def cl_main() -> None:
arg_parser.add_argument(
"-f",
"--ffmpeg-path",
- default=shutil.which("ffmpeg"),
+ default="@ffmpeg@/bin/ffmpeg",
help="""Full file path of ffmpeg executable (only needed if not in PATH).
If not specified, autodetect""",
)

View File

@@ -1,59 +0,0 @@
{
lib,
fetchFromGitHub,
gitUpdater,
replaceVars,
ffmpeg,
python3Packages,
sox,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "r128gain";
version = "1.0.7";
pyproject = true;
src = fetchFromGitHub {
owner = "desbma";
repo = "r128gain";
rev = finalAttrs.version;
sha256 = "sha256-JyKacDqjIKTNl2GjbJPkgbakF8HR4Jd4czAtOaemDH8=";
};
patches = [
(replaceVars ./ffmpeg-location.patch {
inherit ffmpeg;
})
];
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
crcmod
ffmpeg-python
mutagen
tqdm
];
nativeCheckInputs = with python3Packages; [
requests
sox
];
# Testing downloads media files for testing, which requires the
# sandbox to be disabled.
doCheck = false;
pythonImportsCheck = [ "r128gain" ];
passthru.updateScript = gitUpdater { };
meta = {
description = "Fast audio loudness scanner & tagger (ReplayGain v2 / R128)";
mainProgram = "r128gain";
homepage = "https://github.com/desbma/r128gain";
license = lib.licenses.lgpl2Plus;
maintainers = [ ];
platforms = lib.platforms.all;
};
})

View File

@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "radicale";
version = "3.7.8";
version = "3.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Kozea";
repo = "Radicale";
tag = "v${finalAttrs.version}";
hash = "sha256-yANC2XD1DXjjb/FTl8zgdd0XnINkcokIo6dVcrDWGEw=";
hash = "sha256-xeNiLbh2/OsivbQ9RKGCqqs/VPpBtEjj4sqXcQ9p9pw=";
};
build-system = with python3.pkgs; [
@@ -30,6 +30,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
pika
requests
ldap3
python-pam
]
++ libpass.optional-dependencies.argon2
++ libpass.optional-dependencies.bcrypt;

View File

@@ -1,35 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule (finalAttrs: {
pname = "renderizer";
version = "2.0.13";
src = fetchFromGitHub {
owner = "gomatic";
repo = "renderizer";
rev = "v${finalAttrs.version}";
sha256 = "sha256-jl98LuEsGN40L9IfybJhLnbzoYP/XpwFVQnjrlmDL9A=";
};
ldflags = [
"-s"
"-w"
"-X main.version=${finalAttrs.version}"
"-X main.commitHash=${finalAttrs.src.rev}"
"-X main.date=19700101T000000"
];
vendorHash = null;
meta = {
description = "CLI to render Go template text files";
mainProgram = "renderizer";
inherit (finalAttrs.src.meta) homepage;
license = lib.licenses.gpl3;
maintainers = [ ];
};
})

View File

@@ -21,13 +21,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "rocketchat-desktop";
version = "4.16.0";
version = "4.17.0";
src = fetchFromGitHub {
owner = "RocketChat";
repo = "Rocket.Chat.Electron";
tag = finalAttrs.version;
hash = "sha256-6yFfSZSHWD/RDk2dD1aUWzNM8KOJmmfiz0GWKrTL7mY=";
hash = "sha256-ToAez48+TBcPJUjrh8xYC84HLwbU+rCxGoor5o4gGgo=";
};
patches = [

View File

@@ -1,109 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
makeBinaryWrapper,
unstableGitUpdater,
coreutils,
util-linuxMinimal,
gnugrep,
libnotify,
pwgen,
findutils,
gawk,
gnused,
rofi,
# wayland-only deps
pass-wayland,
wl-clipboard,
wtype,
# x11-only deps
pass,
xclip,
xdotool,
# backend selector
backend ? "x11",
}:
assert lib.assertOneOf "backend" backend [
"x11"
"wayland"
];
stdenv.mkDerivation {
pname = "rofi-pass";
version = "2.0.2-unstable-2024-06-16";
src = fetchFromGitHub {
owner = "carnager";
repo = "rofi-pass";
rev = "37c4c862deb133a85b7d72989acfdbd2ef16b8ad";
hash = "sha256-1lPNj47vTPLBK7mVm+PngV8C/ZsjJ2EN4ffXGU2TlQo=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -a rofi-pass $out/bin/rofi-pass
mkdir -p $out/share/doc/rofi-pass/
cp -a config.example $out/share/doc/rofi-pass/config.example
runHook postInstall
'';
wrapperPath = lib.makeBinPath (
[
coreutils
findutils
gawk
gnugrep
gnused
libnotify
pwgen
rofi
util-linuxMinimal
]
++ lib.optionals (backend == "x11") [
(pass.withExtensions (ext: [ ext.pass-otp ]))
xclip
xdotool
]
++ lib.optionals (backend == "wayland") [
(pass-wayland.withExtensions (ext: [ ext.pass-otp ]))
wl-clipboard
wtype
]
);
fixupPhase = ''
runHook preFixup
patchShebangs $out/bin
wrapProgram $out/bin/rofi-pass \
--prefix PATH : "$wrapperPath" \
--set-default ROFI_PASS_BACKEND ${if backend == "wayland" then "wtype" else "xdotool"} \
--set-default ROFI_PASS_CLIPBOARD_BACKEND ${
if backend == "wayland" then "wl-clipboard" else "xclip"
}
runHook postFixup
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Script to make rofi work with password-store";
mainProgram = "rofi-pass";
homepage = "https://github.com/carnager/rofi-pass";
license = lib.licenses.gpl3;
platforms = with lib.platforms; linux;
maintainers = [ ];
};
}

View File

@@ -1,13 +0,0 @@
diff --git a/rpcs3/rpcs3qt/recording_settings_dialog.cpp b/rpcs3/rpcs3qt/recording_settings_dialog.cpp
--- a/rpcs3/rpcs3qt/recording_settings_dialog.cpp
+++ b/rpcs3/rpcs3qt/recording_settings_dialog.cpp
@@ -31,9 +31,6 @@ static std::vector<const AVCodec*> get_video_codecs(const AVOutputFormat* fmt)
void* opaque = nullptr;
while (const AVCodec* codec = av_codec_iterate(&opaque))
{
- if (!codec->pix_fmts)
- continue;
-
if (codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL)
continue;

View File

@@ -49,19 +49,19 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "rpcs3";
version = "0.0.40-unstable-2026-04-25";
version = "0.0.42-unstable-2026-08-15";
src = fetchFromGitHub {
owner = "RPCS3";
repo = "rpcs3";
rev = "96f73f4497fd6fdafd40dc50f24c95c90cd4acc9";
rev = "fc93d932c8560f763f5223c0a4165cc53bceeb3f";
postCheckout = ''
cd $out/3rdparty
git submodule update --init \
fusion/fusion asmjit/asmjit yaml-cpp/yaml-cpp SoundTouch/soundtouch stblib/stb \
feralinteractive/feralinteractive wolfssl/wolfssl
'';
hash = "sha256-KTF2Oj1p+EplRgWQ/We8mqu60h161/1gniKWjVAvAso=";
hash = "sha256-3sGcpYfaxZNa6/CIRxylSf/EL+ievwIeQzEKYDOUNy8=";
};
passthru.updateScript = nix-update-script {
@@ -71,11 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
];
};
patches = [
# FFmpeg 9 removed AVCodec.pix_fmts; drop the check (RPCS3/rpcs3@a8dd0535935a).
./ffmpeg-9-pix-fmts.patch
];
preConfigure = ''
cat > ./rpcs3/git-version.h <<EOF
#define RPCS3_GIT_VERSION "nixpkgs-${lib.sources.shortRev finalAttrs.src.rev}"

View File

@@ -11,7 +11,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rumdl";
version = "0.2.60";
version = "0.2.64";
__structuredAttrs = true;
@@ -19,10 +19,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "rvben";
repo = "rumdl";
tag = "v${finalAttrs.version}";
hash = "sha256-YKQFH0F/fZr6zeVDPAkF1nDXyg3Xk7Oi4vyJ2Jz+CM0=";
hash = "sha256-Y/G50woA477wh7pUVuCrcm9h4JEufT6bI3x5uRwupzw=";
};
cargoHash = "sha256-far2A4aCTlGmvsaAf9/i0osmAYECkdTvgVorf1umxKo=";
cargoHash = "sha256-cKBBhhz0mqaSXy57CKhYQ9tWzRPUs05HpxdvqZ676eA=";
cargoBuildFlags = [
"--bin=rumdl"

View File

@@ -229,13 +229,13 @@
"androidx/compose/runtime/runtime-saveable-iossimulatorarm64/1.12.0-rc01/runtime-saveable-iossimulatorarm64-1.12.0-rc01": {
"klib": "sha256-s5oiyq7N7z52bqSWq4nawo1LB5XxcJpLMYP6FlYN0q0="
},
"androidx/databinding#databinding-common/9.3.1": {
"androidx/databinding#databinding-common/9.3.2": {
"jar": "sha256-goFjgqKp3sTwqxfHnO8IqeT+S5fYlqwg1/IVtt14ixg=",
"pom": "sha256-qdQ1bgKqKskFwFQOT1EHUDY/Ah4EN6QVTDO2ox5sXis="
"pom": "sha256-kCnahq4ft2D7Q910zOJDJRCU+n0ARl3M46VOjpySYR0="
},
"androidx/databinding#databinding-compiler-common/9.3.1": {
"jar": "sha256-j0LeOrbWyuH7U6FNM5bEmwHWpEkhznDP0WQXe65e07g=",
"pom": "sha256-ceJN+kTdsGtpuytUGR9PNm8VmfmJVnDcgseNisQcbnU="
"androidx/databinding#databinding-compiler-common/9.3.2": {
"jar": "sha256-RXaRdwc1H151FTgsB4BlH++TusFT9PZBadbPd6VMCYE=",
"pom": "sha256-ubXITiLuVrbwPCITqKR3ySdIHEjAE99TOUspxrz3bdY="
},
"androidx/datastore#datastore-core-iosarm64/1.2.1": {
"module": "sha256-l2ux5x5HqiUTO/KbcOtuFUcfb8Puhyj1O6bm8DVC2EE=",
@@ -671,97 +671,97 @@
"androidx/navigationevent/navigationevent-iossimulatorarm64/1.1.1/navigationevent-iossimulatorarm64-1.1.1": {
"klib": "sha256-lVmW9YFQ+wFkrYQeQdQYHzQtPdfq+3ED36YK/Lca/X4="
},
"androidx/room3#androidx.room3.gradle.plugin/3.0.1": {
"pom": "sha256-T2y6kkt/t20aOnFgSgFd0PCaGdN3tx8LvQHR+XfKWss="
"androidx/room3#androidx.room3.gradle.plugin/3.0.2": {
"pom": "sha256-6xc4UPo9yKhtHi1twCOUZ/3+npxkzb5m0PVKOUvMkK0="
},
"androidx/room3#room3-common-iosarm64/3.0.1": {
"module": "sha256-RfgMkREF3F6KciLv/w/w5SLZSvg0Rss8S0aGqOq3Nu8=",
"pom": "sha256-nSlp8Pt5ddDOQ4s5hoYU741aNm6yPEjq4bcU7UMzrs4="
"androidx/room3#room3-common-iosarm64/3.0.2": {
"module": "sha256-Wnj9GGmOJs8MMP1GZnyKBYdhi454lnWeTtmp4Ec+YrE=",
"pom": "sha256-EkP2Yn1lXYpsue7b9w/LjHWp8ZmYmcNRVATZdh7K9pE="
},
"androidx/room3#room3-common-iosarm64/3.0.1/metadata": {
"androidx/room3#room3-common-iosarm64/3.0.2/metadata": {
"jar": "sha256-Z+30gdaixFEM7Xrf4+Qk5Nj2OIRRsSPicDwTxRJDRoM="
},
"androidx/room3#room3-common-iossimulatorarm64/3.0.1": {
"module": "sha256-0CbUi+VLati+wl3HSALEPHVp3B9WKl16lF+bYJmAAbU=",
"pom": "sha256-bqJHyEWHzdalVu8DDgDXWUq/kZnL94xNVsi1XJKsFYQ="
"androidx/room3#room3-common-iossimulatorarm64/3.0.2": {
"module": "sha256-ufSt2P2pwh4oRK/mOhzWab0rEMLXtYPpJHxgsJA20fc=",
"pom": "sha256-PLO+gUW1o5rdLIM/6sF78ym7lGxdLpToGWLRODsE31M="
},
"androidx/room3#room3-common-iossimulatorarm64/3.0.1/metadata": {
"androidx/room3#room3-common-iossimulatorarm64/3.0.2/metadata": {
"jar": "sha256-Z+30gdaixFEM7Xrf4+Qk5Nj2OIRRsSPicDwTxRJDRoM="
},
"androidx/room3#room3-common-jvm/3.0.1": {
"androidx/room3#room3-common-jvm/3.0.2": {
"jar": "sha256-i77GUB/cRNxD4B1KpDsrUJwVfDPqG9IROZyk+CMlLcs=",
"module": "sha256-cq8kSf4uzS0BQqCQms2LOovpgPVtfMZjXAH1CelAPIA=",
"pom": "sha256-8zpU+QDTg6X9y1s3mKHvdl98bMD5QY7SDa2x8lWrFkc="
"module": "sha256-QZXCPj9hFhUCyochQgO1N12fpzzDRq3x91aI7f4WHB0=",
"pom": "sha256-g5sTSQAVWvt36h9LoPYaZV5wddlm4+RD5ntgeVL7jZg="
},
"androidx/room3#room3-common/3.0.1": {
"androidx/room3#room3-common/3.0.2": {
"jar": "sha256-CCM2YSe8+A/jBgWS5wKleltuKHIdHN0+RshwvwR2dyw=",
"module": "sha256-gwijWdK6mmYwiokvi9a+rYf8AQ2cXzYbGYXCU1miOy8=",
"pom": "sha256-1VFBtUVxGG32KlPabrrwU8k5srtg7+S8lyrGJmh4IMY="
"module": "sha256-T6y6EMoFMyKLpdqX9/FYsHj7KD5TkppFSQixD/cKVko=",
"pom": "sha256-uyekltUzzwcQPwvDtXQjq+HW7CWFdkGs0HWSnvLwLOY="
},
"androidx/room3#room3-compiler-processing/3.0.1": {
"androidx/room3#room3-compiler-processing/3.0.2": {
"jar": "sha256-1hIpDl3hvtwdSUmW36Cs4qcrVHXhOccjG+0j+7BO9S8=",
"module": "sha256-PL4c7PdAjSEu6Om1+m2iXmVyyr1xQIb1M+h4HtF0HCc=",
"pom": "sha256-Hj3hMkxBuSLtZC39YqRNX0Th5eZs1UeQZaB1lbC+h2U="
"module": "sha256-605KShA2CbxmII9htMDjB25vlsXzPd8UeorC5xCipwA=",
"pom": "sha256-uoq514AKf/M4PHWxBgu5elAxtgCnKP2FmxsmqqUZ0rg="
},
"androidx/room3#room3-compiler/3.0.1": {
"androidx/room3#room3-compiler/3.0.2": {
"jar": "sha256-VHWKrt4GARus8AuXV9AJqvxtBB/q1Cc8UFzDEzwpsRE=",
"module": "sha256-KK5w+zsQYjtq9GTvpQfDj2skrwL1Y0euFRjqq+SGqKU=",
"pom": "sha256-R4DpFVB90dFpR5jaNbj0a5w6p9wZaGqop2FWt3xgeqo="
"module": "sha256-qi5qFI88zicbuzZ+QGF6k1Kc2ZOCrb9hkT/bm2Qyq8w=",
"pom": "sha256-0uvUxbDYHN8MpzxRrOQlUTMFHPg6KbEcjfHsOVE3kjY="
},
"androidx/room3#room3-external-antlr/3.0.1": {
"androidx/room3#room3-external-antlr/3.0.2": {
"jar": "sha256-P7Ur3wf1JpltqNVOR4alda6OUweJV5K1O4muA/jbhbI=",
"module": "sha256-L9YhOHQK7t/BzfSjqPJCvSH992T0neb1HQ3V7Q6skIU=",
"pom": "sha256-0Dmtq26pVnJTYAO9fPo2lEedmJoOYcVgLmoB4gAEGxg="
"module": "sha256-F1Jhc2nmB4E0H4TGqub5Z1xYduQCP1UxQ+ufiByA7Go=",
"pom": "sha256-/yr6XFa0L83g2RjbsziUTF0eceaLsTqO+QJrD0wQNM0="
},
"androidx/room3#room3-gradle-plugin/3.0.1": {
"androidx/room3#room3-gradle-plugin/3.0.2": {
"jar": "sha256-HlhgO219cXPO+Pj0Cb1034Lwf6fJNp8mi3KYPJHW7fQ=",
"module": "sha256-pOEviyTkOqGMF8d9rZZwvBrThgcIK5gZBTkutyfzRqg=",
"pom": "sha256-pYIs7NbiyoenOzgJLcKqqp0AGcgTQKHqP4tMPsqRv/U="
"module": "sha256-1J5rM7brfnxa1R5JDBAGehDwXHUec/J8D7UpnFZO2bE=",
"pom": "sha256-zNeJvYcKegH6hZfWzaiyq92mPdfTzUQvoG8QHO5eFIQ="
},
"androidx/room3#room3-migration-jvm/3.0.1": {
"androidx/room3#room3-migration-jvm/3.0.2": {
"jar": "sha256-mqoCKcvKbOxLmeu8R8YcjxEx+NwTjeWLlrKAtLrXAG8=",
"module": "sha256-Qj1Qz6U8i6lJab9Ju3tstR5E9iwLk5mg62tVo7xW3GI=",
"pom": "sha256-ngfT8ljUGG8kiF7Y7pmwfZEhBS/C3ku/f6+83x1TS+M="
"module": "sha256-8SqH+4zSbA0KjfwLihlQ+6Pjaud9hMoE+juI2l9W7So=",
"pom": "sha256-jO5f7NG3L8EWxkjQGzyOY2bplthYwtG1W33ebJzVJrk="
},
"androidx/room3#room3-migration/3.0.1": {
"module": "sha256-B77Omvzx7ZpZJBOD4MtoVcMgk1VbPs5WyMkJUATiMvA=",
"pom": "sha256-gIAiju09BWSb9RgjVo/UP+12VD7wFcIBKGK+hx7eAVY="
"androidx/room3#room3-migration/3.0.2": {
"module": "sha256-oho1xUmwwcNdpsP2kFfMboQcEyY0tPXYt2h6f9FFP6w=",
"pom": "sha256-mOko+1EGe5FJku4750ofLDqc3o3PQzetCF1KLygjLJs="
},
"androidx/room3#room3-runtime-iosarm64/3.0.1": {
"module": "sha256-ylAI1y3mivLoS9m6CQTS8XLlhLkaGI5Zf+Nr0Shb+6k=",
"pom": "sha256-WwbW1Su6OLzEC2bP62imBvssvPmDoIYc0/0U+ktcfVo="
"androidx/room3#room3-runtime-iosarm64/3.0.2": {
"module": "sha256-GN4q2fEpgNqelUNn4GNqgpZx4vCefBeO4cWbzMYhiA4=",
"pom": "sha256-czmjy7RAsBOBZ6vxaiMgwdUZyuP34RzhcW1KGqYIYpk="
},
"androidx/room3#room3-runtime-iosarm64/3.0.1/metadata": {
"androidx/room3#room3-runtime-iosarm64/3.0.2/metadata": {
"jar": "sha256-r8JojbcTOYZxoJBVDMjrbo4dC0SYqErLgqjieFNfkOg="
},
"androidx/room3#room3-runtime-iossimulatorarm64/3.0.1": {
"module": "sha256-XS6wAQVNUQJEv5jgeTYOfBM01ePmPJ29xZzFd8MEFMI=",
"pom": "sha256-trKrD7VevVS2oHRrdRaUER2FTgcpy20fX5GV9zOU1VY="
"androidx/room3#room3-runtime-iossimulatorarm64/3.0.2": {
"module": "sha256-6/kwWTOOc8QR9nVCfMnLRaaYSsN06bMzCk8/S+lu6QA=",
"pom": "sha256-i37iGpeewKKlszwYpB0EexJ+vUco6ndVqHUTr9ChT7Y="
},
"androidx/room3#room3-runtime-iossimulatorarm64/3.0.1/metadata": {
"androidx/room3#room3-runtime-iossimulatorarm64/3.0.2/metadata": {
"jar": "sha256-r8JojbcTOYZxoJBVDMjrbo4dC0SYqErLgqjieFNfkOg="
},
"androidx/room3#room3-runtime-jvm/3.0.1": {
"jar": "sha256-fXJGUUpoX7a3UeblLZkglmACRGL6sdIW/YCBmpOWDB4=",
"module": "sha256-oCgbrxXDGJfhUiOaLulWUcaQg2ei2Wu8z6GlOklFWSM=",
"pom": "sha256-aVKLPkINC1yPbkf2IIyzvXTk/u+kdxvzAIMbHKpFeFk="
"androidx/room3#room3-runtime-jvm/3.0.2": {
"jar": "sha256-0y7P9LmY5nTd7BCms8rOwQddaBbmZjS+DpvE7dIrOAc=",
"module": "sha256-9xnxhmsuRwYF4jjkHaDIMq3NYOpFfAqCtEHNRTK5Jjk=",
"pom": "sha256-YQnYwHxSLeBlh389iKf6BlHGjpWzZZ7J+wEDfzbti/4="
},
"androidx/room3#room3-runtime/3.0.1": {
"jar": "sha256-uJF4arO1+UDNMk2RswDIF24gLvc9J0WUMe5TOaWYCj0=",
"module": "sha256-Up8taG/1Bh4UgIAXfkeW6GFnET0NcJUBWBt1uV5UgJc=",
"pom": "sha256-yL1NDdUOMOPkhQZmJzGniwiYxdwIrrNUMkWw1N+5HmE="
"androidx/room3#room3-runtime/3.0.2": {
"jar": "sha256-Hs41B8xWrXJXdGPfY9FHuGP9lJOYQyDS87brHlpL6zI=",
"module": "sha256-PcbK2Ts11f78fYaldRmOwz03ego5x6JscYCBiXqF1LE=",
"pom": "sha256-tl+DqtF6Uaw6pZjjhLO4MCS8CJxqNDpntr03eL5bfII="
},
"androidx/room3/room3-common-iosarm64/3.0.1/room3-common-iosarm64-3.0.1": {
"androidx/room3/room3-common-iosarm64/3.0.2/room3-common-iosarm64-3.0.2": {
"klib": "sha256-JRVC4HDPcHvVklH4qNAYjVLIAEBtbIk1zwSw0IN3vH4="
},
"androidx/room3/room3-common-iossimulatorarm64/3.0.1/room3-common-iossimulatorarm64-3.0.1": {
"androidx/room3/room3-common-iossimulatorarm64/3.0.2/room3-common-iossimulatorarm64-3.0.2": {
"klib": "sha256-vZJVv4wCx6Fq/S8imguZw60VW0Yic4v/ljWuBtdNxIg="
},
"androidx/room3/room3-runtime-iosarm64/3.0.1/room3-runtime-iosarm64-3.0.1": {
"klib": "sha256-T9rd6hMNcCVHbdfxve5p2JzzEGofdEV5HOZtEpXth3w="
"androidx/room3/room3-runtime-iosarm64/3.0.2/room3-runtime-iosarm64-3.0.2": {
"klib": "sha256-yrW/iM4o0yF9xLkbn8wDBROM81sReVmlAXtkYAeiJ3Y="
},
"androidx/room3/room3-runtime-iossimulatorarm64/3.0.1/room3-runtime-iossimulatorarm64-3.0.1": {
"klib": "sha256-i+nV/ixAWn8O4U4KHoxLo3mN7xE3iKMYfMdoOPwgKNw="
"androidx/room3/room3-runtime-iossimulatorarm64/3.0.2/room3-runtime-iossimulatorarm64-3.0.2": {
"klib": "sha256-WS+ZkTrqNYGJI0X0p0Yon97dA64ekh52dQke1L2U3Sc="
},
"androidx/savedstate#savedstate-compose-desktop/1.4.0": {
"jar": "sha256-wCqYsMKzXN3iRcC/5uf/RTx7bQal64aB0lt/VLh06kg=",
@@ -950,128 +950,128 @@
"androidx/sqlite/sqlite-iossimulatorarm64/2.7.0/sqlite-iossimulatorarm64-2.7.0": {
"klib": "sha256-Xtm7uPfcM0uYNte8uY4dn2UtXwOGlAZPrp230r9JW0o="
},
"com/android#signflinger/9.3.1": {
"com/android#signflinger/9.3.2": {
"jar": "sha256-fYISbJSDtUAXOmWwNU/ifwZ+yFyOZGdnlYc2QKBrKI0=",
"pom": "sha256-CSYW0eNrT/5fw1klNlR7erkRpgSIpDlbLmZuVVQNUqk="
"pom": "sha256-A+WKoTitDW6sefNGzf7bJchECkFxQ+/y2fOR4Zinpvo="
},
"com/android#zipflinger/9.3.1": {
"com/android#zipflinger/9.3.2": {
"jar": "sha256-ChmE0UzIBw9zTdzFqUfxIt/uNkzb4YWVr7aRqoA4kOA=",
"pom": "sha256-FGbpNWjSTGsySL/b5Mg7D1XgW2G5WAyJRYKf3kZgCr4="
"pom": "sha256-Bew9Gs7dMsajgmhHcbwU6/313PsnraObceyvdiqmTks="
},
"com/android/application#com.android.application.gradle.plugin/9.3.1": {
"pom": "sha256-lnT8wnuCmLIRWufuJYNtv1yZyKHcRzVhtRZ6GsK2a3o="
"com/android/application#com.android.application.gradle.plugin/9.3.2": {
"pom": "sha256-rmYSda9VfBcLaMIqraLd6u9HM6YeJzyscHAFGaykFAU="
},
"com/android/databinding#baseLibrary/9.3.1": {
"com/android/databinding#baseLibrary/9.3.2": {
"jar": "sha256-lroqXwAIRtMXrN2Q3mp0KXAaxWVz3izMhCPSukBEb9k=",
"pom": "sha256-EokmuyH/5wL4nsO8+Eplulg0dJDNWCUHLjyS+G+Od/8="
"pom": "sha256-tD9wOMwREzFAmAkJziQ2S8o4JLCfBAlZfxaJPbiQ6gU="
},
"com/android/kotlin/multiplatform/library#com.android.kotlin.multiplatform.library.gradle.plugin/9.3.1": {
"pom": "sha256-zA0uAddI+V0od8ZzLSzk/Rl2SGQbe6dj7KMVoy1rnRc="
"com/android/kotlin/multiplatform/library#com.android.kotlin.multiplatform.library.gradle.plugin/9.3.2": {
"pom": "sha256-I6gGtFhwCbS4YTi3hpgExzSkagS6Fo8ITerOoiOdxyA="
},
"com/android/library#com.android.library.gradle.plugin/9.3.1": {
"pom": "sha256-kKf14FXa2ErEOLBYmbxfHgRCQUkIm/HhrG+aS1ClTA4="
"com/android/library#com.android.library.gradle.plugin/9.3.2": {
"pom": "sha256-O/9gdXL1spseaXLlwCxE84Sw5xJaLV/hnSnKb/CMM0Y="
},
"com/android/tools#annotations/32.3.1": {
"com/android/tools#annotations/32.3.2": {
"jar": "sha256-MukCJq5Me1ntYbBmia6DVrqwgM159laUVf2SklQ5ozk=",
"pom": "sha256-Su4/tPXrrJ20JGWiIHfsHmz7J5jZopeZljsgwkLyel4="
"pom": "sha256-K37dh44fDY900TdBW4QM8SvhLEG3cOn9/JxzJIsyG7E="
},
"com/android/tools#common/32.3.1": {
"jar": "sha256-LLXftf/xRAiPGIh8Y8jnNoA07eMedBNAWsMlHR65oUc=",
"pom": "sha256-JrqSM5TvGcvT4qUxqIwBjR96hz7mG64YeAtccaqSmQM="
"com/android/tools#common/32.3.2": {
"jar": "sha256-zbbe5XThrkH0B7bF/kwXWq7yJrQXKuUu6yb1toMS2xA=",
"pom": "sha256-LPgABrTM39/kdw7fcrJqNXatMNd8kfNQdJRd7oXvlgE="
},
"com/android/tools#dvlib/32.3.1": {
"com/android/tools#dvlib/32.3.2": {
"jar": "sha256-UuJ/E2TNtdT1MfUuTuxa5I2gQNqpQX1PBt32oXmaBl4=",
"pom": "sha256-oWwMX99GotcWPF8MylNb/9VtxfLw4H5nTiPBmWUaqAY="
"pom": "sha256-fqHHJjCv94rs2g1unoxMUQ/7azH6XT7ur0Ax53qKj8w="
},
"com/android/tools#repository/32.3.1": {
"com/android/tools#repository/32.3.2": {
"jar": "sha256-uUcLsB+9j8rUhH4dEJZ7IPqTJVNhwNKyED/G3P8TsXc=",
"pom": "sha256-I5WOK1KCf4u6/ffnRX9RHq6GqstfaXJXXWxKCCGf3wA="
"pom": "sha256-h3a3Bh2eLWfpn1Ilk79Z9LSmDE8wLx3K4L4IJpLLsQQ="
},
"com/android/tools#sdk-common/32.3.1": {
"com/android/tools#sdk-common/32.3.2": {
"jar": "sha256-fTQwgkEHHkgvR8y3xbpT6DhYNmkFBhl5rk7UYjxtzdY=",
"pom": "sha256-p9Lii7VvfZWScm63lumPFicwRmxupyLM7Bi+19bC5n4="
"pom": "sha256-n52kfH5IOfkK7QjXfK56GRUlfit6c/95NTu4Nhqp8Yg="
},
"com/android/tools#sdklib/32.3.1": {
"com/android/tools#sdklib/32.3.2": {
"jar": "sha256-RDPKN52wqfe9Cl1bkxsKxnF0exB5FwbcDUKjSNrLt4I=",
"pom": "sha256-6w/o5i36EakHdlmM57bxHj8XNRq3X0IgonHTVWbF+eg="
"pom": "sha256-nvRYlErLfGHpYQ3ZdCDcgNHEnRk8t1mZDRdFgEfK+zg="
},
"com/android/tools/analytics-library#crash/32.3.1": {
"com/android/tools/analytics-library#crash/32.3.2": {
"jar": "sha256-ieM7Pq8F53V2yIyhSkWMR9/gc177+kjuGOX6hflfbyo=",
"pom": "sha256-MXeJhfsOZK1mEGb0Ai0mtp7crCH9KBbr7b0zm2RCSAg="
"pom": "sha256-W32ipPWHMaR99HeB35I9ohWYWuUzJcNrUn8a4s2L/ms="
},
"com/android/tools/analytics-library#protos/32.3.1": {
"com/android/tools/analytics-library#protos/32.3.2": {
"jar": "sha256-6eP1AhuOxkFpsumkkjK76LKiPi3PMSI/mCFjIWsy0w8=",
"pom": "sha256-CKnyxaNvGJFOcpQYt6kZyhorqg3aN+JkLikHkE7NINs="
"pom": "sha256-4c9FvBWJOVij8C2qeJAIVmzbLZXNbiXeao0pTrmOkN4="
},
"com/android/tools/analytics-library#shared/32.3.1": {
"com/android/tools/analytics-library#shared/32.3.2": {
"jar": "sha256-FyoDexHa4PLLa1xHoAHJAa/PNjHGN1JvVF5FF7lztos=",
"pom": "sha256-lY0cItqasU4SOGkObKuhWOZqBRgKStJnL+1BOvcv6cw="
"pom": "sha256-IFKVZM/QsAnmAoDJb4GCMuHw1umpK+yDMBla2/P2r7o="
},
"com/android/tools/analytics-library#tracker/32.3.1": {
"com/android/tools/analytics-library#tracker/32.3.2": {
"jar": "sha256-8IPoJieYHb4TErXoBelHDSa0/1bQmuj93M6Phi0ugHo=",
"pom": "sha256-g48pgttR8kzTCJXEeBJCjwxYT83evL0G/1oSeDHktnE="
"pom": "sha256-+TXq1rPLCIykP9oqnhp5UOnrevhbHPUq2di3ZLeTyqk="
},
"com/android/tools/build#aapt2-proto/9.3.1-15703166": {
"com/android/tools/build#aapt2-proto/9.3.2-15703166": {
"jar": "sha256-W83XH954Y8aMZ+5Kac+GIG+9Oi3mb1o+RiXOX7Tq0rU=",
"module": "sha256-o8WXbWWnh4IrQn0RQRDG5qt/qvuAcQeMM4BLskYDh4I=",
"pom": "sha256-+Baxu8UUqqY1UYZbNQQSs1OZRiYowdwLE4DsghYlKzI="
"module": "sha256-K9hUCIt3I/vpNRQ3GZtjNp/cutsolhSnnul/E9axh04=",
"pom": "sha256-dqkYT2XUBVUXxFjIAodV5uwnX/pmULnc6It7MgnBv+U="
},
"com/android/tools/build#aaptcompiler/9.3.1": {
"com/android/tools/build#aaptcompiler/9.3.2": {
"jar": "sha256-qqPajpWKyUwzUihCJMgsDxU9y8k3bZ3cDY6TUIeEkwI=",
"module": "sha256-BxWgM637xsA0NJ5Fh/wSYy8vo/76hZF041CTnOko4DE=",
"pom": "sha256-kHDXzZm0mqeu4/3jogAZPEXCvdRkhaX5/p3/Og4OOJQ="
"module": "sha256-iMQbrUZ8Yc5to6ci3LSi5Zi/kNMiNF9D9PG5zxvYeCQ=",
"pom": "sha256-MN/yvAgbpjcVomid63l/NbiZJfpacM5WCHxMUEC9Ack="
},
"com/android/tools/build#apksig/9.3.1": {
"com/android/tools/build#apksig/9.3.2": {
"jar": "sha256-VizQqIiQlg0uzkjhFsYfEociIvHcwwaJB5k4K8AZsgE=",
"pom": "sha256-d++GaP+QFATu4vPowhI1D24yHu/ZCHVtJr+qVuPwNO4="
"pom": "sha256-Fu1El8G49jV9Eg4Jg1FIpB7R2EPc0tQiKt+NrvdCLII="
},
"com/android/tools/build#apkzlib/9.3.1": {
"com/android/tools/build#apkzlib/9.3.2": {
"jar": "sha256-pxRphRErupEYwEsOl0W6tzamZzqBQ/FGfC8+TCYr3iQ=",
"pom": "sha256-dGpOQfFztE+vSoFe+lD+ZtD3zCdiZjknZUsxBEc14FQ="
"pom": "sha256-Iafgq5+4oagiLcZ5GzbhQpPs7c/JGt9JnWLTVpayLd4="
},
"com/android/tools/build#builder-model/9.3.1": {
"jar": "sha256-8do5jdQNKJrlZgIrBXx8572Ttg0NdH+ZONtkXwyHK/w=",
"module": "sha256-FWVoWoCVsXD8jYu7nBGX3U9L3FUuVBrwbzySiIFSoOg=",
"pom": "sha256-rgtHtqCsI1SLoJaomFEKEVUAlK/+YJPVE1I1BDYV1R8="
"com/android/tools/build#builder-model/9.3.2": {
"jar": "sha256-nLuZCC88Q7HMZSZ2Jxv7ZCqJ1yDszedyxqS7BDmPVJ8=",
"module": "sha256-e6DlAOiHmH3bNvS36o/N4NwZ+fRjwPGD0xX1v8TYzqg=",
"pom": "sha256-0iejMWZwix5BrBgjbJ+LZ5l9ILQdwB3y5FlWAm4KEa8="
},
"com/android/tools/build#builder-test-api/9.3.1": {
"com/android/tools/build#builder-test-api/9.3.2": {
"jar": "sha256-PN8Mr4sqEE62I51Oo+labCC6Lnb6CtETTI6T53V71DI=",
"module": "sha256-IhOs5hBmNc8XDhw/aSznBT56oLJCBJDZgRfag7Evg8A=",
"pom": "sha256-yQNOMW1P+N79xh8dOgJB/SK01Wc5h/Qe+BooSWl/Vd8="
"module": "sha256-c+YSohpB8BQilnrDWLAGzqDOYfPjGVzhEhl7cwAcCgA=",
"pom": "sha256-ASmqA6HfvzCjNGXO3WbpRMwFdJ3qnhU7t+Yh0HoTxe0="
},
"com/android/tools/build#builder/9.3.1": {
"jar": "sha256-hz4On+2odi6tD/HOYMMMwr8cCFnhOSRacjJI2ZiwCfo=",
"module": "sha256-LmEbS3sL6/33lJfM+JnnL2BThTcCVjcqSiLM6bTKUoU=",
"pom": "sha256-1uwopMlNEWJ/flwz53SGhZXqb3/dNUtrKYeptc6HUdA="
"com/android/tools/build#builder/9.3.2": {
"jar": "sha256-IN0WaIm4EIJDsBl3m9/s96CCCK5BZfiKKjQi80rp4oI=",
"module": "sha256-/aoGrSlU0WkMX2nBS0F9NegOHq91WAMBZ4Glik7yp04=",
"pom": "sha256-JBh58PiDTWosVtEldnioaEcYfq6ifeOGVR+3a4XUQIw="
},
"com/android/tools/build#bundletool/1.18.3": {
"jar": "sha256-zK0YUU/ZfbAQhWsrvtQPSB+LqTSTaMl65U1y41Z9AXE=",
"pom": "sha256-+mdLOblsrpgBXzhQ82bP6wD+bHrqLZCyDAF7kOCZba4="
},
"com/android/tools/build#gradle-api/9.3.1": {
"jar": "sha256-Iv4StzDJElqDSo0Ax4RTzh+UtTiDMePTHXhAnXKYgS0=",
"module": "sha256-GrsKs4U3FN4h1YnUp6jXwB8siLenDnYE+WLwuCzfomg=",
"pom": "sha256-lpwraf+XSG7BGtcEbZxC01yRNTkZsLrtozxz/XdpuQY="
"com/android/tools/build#gradle-api/9.3.2": {
"jar": "sha256-CQYmayNwOSQekFyWiA/rtXhLuR5X7w75HeCOq4oymyE=",
"module": "sha256-dFt2z16uFynUEMWAF1Obvq32Xz+Nhzp9MesogNitdto=",
"pom": "sha256-kxsuQQlsAMGdaMkZkw61yQo1ha5PbdO5CYjDHp7OIHQ="
},
"com/android/tools/build#gradle-common-api/9.3.1": {
"com/android/tools/build#gradle-common-api/9.3.2": {
"jar": "sha256-X4zrFzgDdwfRZvebE73gUgJKY/xSuK0RrSy8eA77uNI=",
"module": "sha256-ZUQS6Y5s7ZQNPTCGKGYvwf7Heql5C6wpHEHQm+pqHB8=",
"pom": "sha256-npZjthy8rwlAJ7txjESy5pQsOdIsvAPH2kuqyxmKj7Q="
"module": "sha256-fVC0rXrO2H358Il/R3gHdjw1q2v2x0z4YsaAK7GLJIw=",
"pom": "sha256-70AHww2/Sa68mo+/W6xfWu6LXRLowTABz8NWIF1jW0A="
},
"com/android/tools/build#gradle-settings-api/9.3.1": {
"com/android/tools/build#gradle-settings-api/9.3.2": {
"jar": "sha256-IoR+ifElKUwwHVHuW2Ab9UGk4MU4MM3P6oMARs3GImc=",
"module": "sha256-BKJlGiunlPSerC40HDCN2fTROJ9Hw1JiDaM7+DSHIm0=",
"pom": "sha256-f7G2OJ3uoHXqlVnJ33QSpALlobqp5iKE6fu5PzrEqUw="
"module": "sha256-cSI5cpSnboVK9ibqcj2BoYnvMQlrkmF7Ctwp3on97y8=",
"pom": "sha256-hK6jjfrjT7czywXDTLf59kmOiaU39BgeGcVsvUvi1jo="
},
"com/android/tools/build#gradle/9.3.1": {
"jar": "sha256-Sun1XO8RWXjef1AuSeoWPonHioq0CUNQSjfJSLlOrbU=",
"module": "sha256-YjfuJG0h/lxjeMsGGindxEJqTw3PG8ZuckVqSFvTIYI=",
"pom": "sha256-MQuHrVDZMsfOiKQk6YKNRgU2pSSi+RwrFlaRUYPEJt0="
"com/android/tools/build#gradle/9.3.2": {
"jar": "sha256-86EARQja6wDEU1vVYgfH7C+VikDXVDRmN55N5ruUeHM=",
"module": "sha256-bwWx7jixdXUIy0+z8h+KjQStwpG4MykUtRx017s5hdk=",
"pom": "sha256-2or37NsjZdmRDPvZFu+VcYNkjf/lGWgRvjYuo0MDHKQ="
},
"com/android/tools/build#manifest-merger/32.3.1": {
"com/android/tools/build#manifest-merger/32.3.2": {
"jar": "sha256-41/3qgpLKWYNWLCmZ997VDqoX38d1GKh3SsCGjoXWjA=",
"module": "sha256-iyvToBePbjJfO5v36oe2kmVos49K0v9SXbWLvV7ZMS0=",
"pom": "sha256-bhBSu+KElFzeDHjodFct7+pNmXgkXMAMd0pqwO7zH/0="
"module": "sha256-cYPAkwo8n5xVd6cnJsrC2d85PxqjgXQ/l+uQDWddAOs=",
"pom": "sha256-/lcetRGj+PrTVUruUwFC/rxSWx2wV2YWwyKkUk1vHzo="
},
"com/android/tools/build/jetifier#jetifier-core/1.0.0-beta10": {
"jar": "sha256-Jqu0oTkn2QYhacUEyelP6A6a46T3tauIdasAdTapH14=",
@@ -1083,26 +1083,26 @@
"module": "sha256-NsJVdrGZk982AXBSjMYrckbDd3bWFYFUpnzfj8LVjhM=",
"pom": "sha256-M7F/OWmJQEpJF0dIVpvI7fTjmmKkKjXOk9ylwOS6CEI="
},
"com/android/tools/ddms#ddmlib/32.3.1": {
"com/android/tools/ddms#ddmlib/32.3.2": {
"jar": "sha256-i8jt8GN6m1IP6/g7ELV/MSDeX18ylcsjLJBGT2XUQxg=",
"pom": "sha256-GTO4SU/N5LCx730I57Is53Nisx4w/lIq1AogfBWuZqQ="
"pom": "sha256-V6kVScb6q63OuGz9GF65vhIc88dK7BFMLedL/57YKUQ="
},
"com/android/tools/layoutlib#layoutlib-api/32.3.1": {
"com/android/tools/layoutlib#layoutlib-api/32.3.2": {
"jar": "sha256-Ek8E66gAM+UIB0igV5cAOoHJBt61t2Zjq8KJ0AmUPoI=",
"pom": "sha256-dN3bgr+mYYG1jkynMoj3y5wnY3ADpb3sjEW2hZLZR8k="
"pom": "sha256-VquDjzEX5MwDIMf7Xg76ZvhjAz8eJk/1+fRGEEIUmFI="
},
"com/android/tools/lint#lint-model/32.3.1": {
"com/android/tools/lint#lint-model/32.3.2": {
"jar": "sha256-26dxnsK6n36AAUfdIftXvmXg7zFaNzVvaHjYEiLoL8Y=",
"pom": "sha256-6oSnaf3jICQmmMjqtQtM7TLKLgLLnpLu6pRvkBrlCKE="
"pom": "sha256-lg5/SNjzW9vQX+d8MbQSkQn4O5dN3tci+jQf5sqNEW4="
},
"com/android/tools/lint#lint-typedef-remover/32.3.1": {
"com/android/tools/lint#lint-typedef-remover/32.3.2": {
"jar": "sha256-4oHpCm/8gxgA5kUXvo8bIwpjZ77CJvGwzhqA1Fc96t4=",
"pom": "sha256-UGyBfXGfsH0N8TXhiIjexXF8HJtwGlq5Eb2Ja1fLmEI="
"pom": "sha256-ebfIweYFYKoTyMExsZ1UI+roIMN5NEUqBSIWb3UXvNE="
},
"com/android/tools/utp#gradle-work-action-api/32.3.1": {
"com/android/tools/utp#gradle-work-action-api/32.3.2": {
"jar": "sha256-3od3Omd+h/YZx1HDBq9u5zoEp7JuXyBf/yh3KNivSs4=",
"module": "sha256-Qz18BGs0B5EMKIPki6SUUekol8IDHavU34U+xalcGoA=",
"pom": "sha256-VzjG3Xe21wuEoO2Piowmweb/UbeLhq3my8Z75uTF6y4="
"module": "sha256-9MRgBQahVm02+xqdJ8GH9JI2nArmcTUjq/9mcVuh1xw=",
"pom": "sha256-HYB2KVCfK27TrEFkWvCxkEPIsmJY0Q3FYJUVzf0rhLc="
}
},
"https://plugins.gradle.org/m2": {
@@ -5099,9 +5099,9 @@
"jar": "sha256-cU30voGVRf9N4fNqohg+DeqUtMjN98op6ciZGbrzY2I=",
"pom": "sha256-89F2jvL7UxBIPb6R4w6fo2x7Pi/e5pRaCLujEBQtKcE="
},
"org/jetbrains/kotlin#kotlin-reflect/2.3.20": {
"jar": "sha256-40b6PD/0RR9fcHoxKIf9TIVV2kjMFfqdsrqTwz+J+BM=",
"pom": "sha256-iwC9L+srtVON85aVQXTZ3cDsVA00ElhjA1ObHpZVwzM="
"org/jetbrains/kotlin#kotlin-reflect/2.4.0": {
"jar": "sha256-8NjokIYk60R4uxMen4hzZmgNLiOXQRleVI+lyQaWO5A=",
"pom": "sha256-nhge5PIdScXIVQw8/KcZnBdZCo3z0eopPjlnmOTxCEI="
},
"org/jetbrains/kotlin#kotlin-script-runtime/2.4.0": {
"jar": "sha256-GW6Oy/Y9r0d+NOZ8L4ce4jKue/izd0Mth20bv50nPeM=",
@@ -5138,9 +5138,9 @@
"org/jetbrains/kotlin#kotlin-serialization/2.4.10/gradle813": {
"jar": "sha256-4OaeExlPOkj+csXh0MGHTQbWmjtLmmHwqSubufRQAVc="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/2.3.20": {
"module": "sha256-fV4z3nFM3ddQeGQgmMvL7pfBg5jQNLd9MrSwdLlQOTk=",
"pom": "sha256-/Xtj7fb31urrwWoYVgu7koszQlYepcnR92kZiw/puYg="
"org/jetbrains/kotlin#kotlin-stdlib-common/2.4.0": {
"module": "sha256-sDh/gRgDrxUU8aojhbRgw7gTxvQ861bPreavqiBpedg=",
"pom": "sha256-/RpljtvteICsPgoNvSCuGkbJh+QK9UTjprEQglu+/PU="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/2.4.10": {
"module": "sha256-Xa9+3NbWMF0LASG+WXqdUElrq/0pkL32sI/XACWpTdE=",

View File

@@ -34,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
pname = "rush-lyrics";
version = "6.6.0";
version = "6.6.1";
src = fetchFromGitHub {
owner = "shub39";
repo = "Rush";
tag = finalAttrs.version;
hash = "sha256-8BdlNUQvPm8bk9X0JG00NYy/EANSHvh9TfqMIK1jJhk=";
hash = "sha256-bUsr2JKAXZPNfRoAnbo433ojfioQ6v6IzNCzUaYMqAA=";
};
patches = [

View File

@@ -20,7 +20,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sdl3-image";
version = "3.4.4";
version = "3.4.6";
outputs = [
"lib"
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "libsdl-org";
repo = "SDL_image";
tag = "release-${finalAttrs.version}";
hash = "sha256-ttnoe9bTtA8+eUMOs55v58xb+cWpNEiiTDEeX9GBxaw=";
hash = "sha256-J2rg2DBcZt47lgivPhRJzeKgrYF6gOCZ0Ep2C9GndGg=";
};
strictDeps = true;

View File

@@ -42,7 +42,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "slurm";
version = "26-05-3-1";
version = "26-05-4-1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "slurm";
# The release tags use - instead of .
tag = "slurm-${builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version}";
hash = "sha256-pyzESnZoFxy3A2p3b23SimTUurMlB63VV7dqcXZ43Hw=";
hash = "sha256-R3kHM9CohiJljffYKEe4CdNltKNQkcRuPFqOT0y+3n0=";
};
outputs = [

View File

@@ -14,13 +14,13 @@ let
in
buildNpmPackage (finalAttrs: {
pname = "sub-store-frontend";
version = "2.29.10";
version = "2.31.1";
src = fetchFromGitHub {
owner = "sub-store-org";
repo = "Sub-Store-Front-End";
tag = finalAttrs.version;
hash = "sha256-jQXIwdt9+yndTFBCrs6bZ7dCZ2fmjti0xQAgAGZbC1M=";
hash = "sha256-eqaS5bPHBx92C6gv2iE9MYtBpI0UsvM0ptG97lPt8HE=";
};
nativeBuildInputs = [

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "treemd";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "Epistates";
repo = "treemd";
tag = "v${finalAttrs.version}";
hash = "sha256-KQN0EGlAn1fA5K9v7NC/c3sAJ4whaJpk+yxkZ6tpr70=";
hash = "sha256-PnW3lZT45xtvxrFaWaZk/6+sqRD9dFNq9mhux7BxjIk=";
};
cargoHash = "sha256-kT54zKtj2e9/KVuDB9kXenApRiELuNYRILIoOq9aWvk=";
cargoHash = "sha256-F5Q+uIQ7meHXdq5jwgo8QUBmCbBpq6177Ps2qbqTrZg=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];

View File

@@ -6,16 +6,16 @@
}:
buildGoModule (finalAttrs: {
pname = "tsidp";
version = "0.0.14";
version = "0.0.15";
src = fetchFromGitHub {
owner = "tailscale";
repo = "tsidp";
tag = "v${finalAttrs.version}";
hash = "sha256-AZ0fAQag+pY5uYq2loQClkk0BqvC7e5C+KcI6J9g8Pw=";
hash = "sha256-2D8bUcoP+rEtFgZZkJHVVyDRElsgPgZygObxjQ32h5I=";
};
vendorHash = "sha256-sycTIr6cRY2BLve23vvpk7mhiV/jrP26SoLHxY7tznw=";
vendorHash = "sha256-/7L5Be2H3XHHgC5So/cTYekb1sxil8iwDB+9nlPP56A=";
passthru.updateScript = nix-update-script { };

View File

@@ -25,13 +25,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vicinae";
version = "0.27.4";
version = "0.28.0";
src = fetchFromGitHub {
owner = "vicinaehq";
repo = "vicinae";
tag = "v${finalAttrs.version}";
hash = "sha256-SCFAyDbNIXcFRGw0nx2yVY47hMSHzMFAQOsUXdJJ6sc=";
hash = "sha256-buyBu6ZTwHmQRExsvVW7NbIxSqLGp4Zi/gPixFG2l6s=";
};
apiDeps = fetchNpmDeps {

View File

@@ -8,20 +8,20 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasm-tools";
version = "1.256.0";
version = "1.258.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wasm-tools";
tag = "v${finalAttrs.version}";
hash = "sha256-brrFvL5EJF7jwhenUjpboE37MHCAarfsu1/7jgtvjXI=";
hash = "sha256-zb7togDfA+XvaPJqYKaekP7bGrsJ7A0zA2opGw556bM=";
fetchSubmodules = true;
};
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
auditable = false;
cargoHash = "sha256-tyOPnVV+4AwW+TTyAluXZxilDoVrba9Ht8o1UQ83EXU=";
cargoHash = "sha256-EKLABuh+94F8x/igXt5pBJoetGH9MIetjZlPmTlPZvg=";
cargoBuildFlags = [
"--package"
"wasm-tools"

View File

@@ -1,421 +0,0 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "ahash"
version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
"zerocopy",
]
[[package]]
name = "arbitrary"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
dependencies = [
"derive_arbitrary",
]
[[package]]
name = "autocfg"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "cc"
version = "1.2.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc"
dependencies = [
"jobserver",
"libc",
"shlex",
]
[[package]]
name = "cfg-if"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
[[package]]
name = "codegen-luajit"
version = "0.12.0"
dependencies = [
"wasm-ast",
"wasmparser 0.107.0",
]
[[package]]
name = "codegen-luau"
version = "0.12.0"
dependencies = [
"wasm-ast",
"wasmparser 0.107.0",
]
[[package]]
name = "derive_arbitrary"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
dependencies = [
"proc-macro2 1.0.101",
"quote 1.0.40",
"syn 2.0.106",
]
[[package]]
name = "dev-test"
version = "0.12.0"
dependencies = [
"codegen-luajit",
"codegen-luau",
"libfuzzer-sys",
"test-generator",
"wasm-ast",
"wasm-smith",
"wast",
]
[[package]]
name = "equivalent"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "flagset"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe"
[[package]]
name = "getrandom"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi",
]
[[package]]
name = "glob"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
[[package]]
name = "hashbrown"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "hashbrown"
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
"ahash",
]
[[package]]
name = "hashbrown"
version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
[[package]]
name = "indexmap"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [
"autocfg",
"hashbrown 0.12.3",
]
[[package]]
name = "indexmap"
version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
dependencies = [
"equivalent",
"hashbrown 0.15.5",
]
[[package]]
name = "jobserver"
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
"getrandom",
"libc",
]
[[package]]
name = "leb128"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
[[package]]
name = "libc"
version = "0.2.175"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
[[package]]
name = "libfuzzer-sys"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404"
dependencies = [
"arbitrary",
"cc",
]
[[package]]
name = "memchr"
version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]]
name = "once_cell"
version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "proc-macro2"
version = "0.4.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
dependencies = [
"unicode-xid",
]
[[package]]
name = "proc-macro2"
version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
dependencies = [
"proc-macro2 0.4.30",
]
[[package]]
name = "quote"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [
"proc-macro2 1.0.101",
]
[[package]]
name = "r-efi"
version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "semver"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
[[package]]
name = "shlex"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "syn"
version = "0.15.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
dependencies = [
"proc-macro2 0.4.30",
"quote 0.6.13",
"unicode-xid",
]
[[package]]
name = "syn"
version = "2.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
dependencies = [
"proc-macro2 1.0.101",
"quote 1.0.40",
"unicode-ident",
]
[[package]]
name = "test-generator"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b23be2add79223226e1cb6446cb3e37506a5927089870687a0f1149bb7a073a"
dependencies = [
"glob",
"proc-macro2 0.4.30",
"quote 0.6.13",
"syn 0.15.44",
]
[[package]]
name = "unicode-ident"
version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
[[package]]
name = "unicode-width"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
[[package]]
name = "unicode-xid"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
[[package]]
name = "version_check"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "wasi"
version = "0.14.3+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95"
dependencies = [
"wit-bindgen",
]
[[package]]
name = "wasm-ast"
version = "0.12.0"
dependencies = [
"wasmparser 0.107.0",
]
[[package]]
name = "wasm-encoder"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881"
dependencies = [
"leb128",
]
[[package]]
name = "wasm-encoder"
version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d135e8940b69dbee0f5b0a0be9c1cd6fa8b71d774904c13a3fcfc5dc265e43d"
dependencies = [
"leb128",
]
[[package]]
name = "wasm-smith"
version = "0.12.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d9a642a2aa8a998228a247036d0f34470a07afc146231bd5c22cc61b8b51e73"
dependencies = [
"arbitrary",
"flagset",
"indexmap 2.11.0",
"leb128",
"wasm-encoder 0.37.0",
"wasmparser 0.117.0",
]
[[package]]
name = "wasmparser"
version = "0.107.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb"
dependencies = [
"indexmap 1.9.3",
"semver",
]
[[package]]
name = "wasmparser"
version = "0.117.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b206de0c992af9f0b51ef2fb9455623e0a19eb68f172cd8ba9cd0e46637f5ab"
dependencies = [
"hashbrown 0.14.5",
"indexmap 2.11.0",
"semver",
]
[[package]]
name = "wast"
version = "60.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd06cc744b536e30387e72a48fdd492105b9c938bb4f415c39c616a7a0a697ad"
dependencies = [
"leb128",
"memchr",
"unicode-width",
"wasm-encoder 0.29.0",
]
[[package]]
name = "wit-bindgen"
version = "0.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814"
[[package]]
name = "zerocopy"
version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
dependencies = [
"proc-macro2 1.0.101",
"quote 1.0.40",
"syn 2.0.106",
]

View File

@@ -1,48 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasynth";
version = "0.13.0";
src = fetchFromGitHub {
owner = "SovereignSatellite";
repo = "Wasynth";
tag = "v${finalAttrs.version}";
hash = "sha256-0Gtqet6KKLtooh9cU2R/top142AeT+uIxFwe1dPTvAU=";
};
# A lock file isn't provided, so it must be added manually.
cargoLock.lockFile = ./Cargo.lock;
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
'';
# Not all of the tests pass.
doCheck = false;
# These binaries are tests and should be removed.
postInstall = ''
rm $out/bin/{luajit,luau}_translate
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];
};
meta = {
description = "WebAssembly translation tools for various languages";
longDescription = ''
Wasynth provides the following WebAssembly translation tools:
* wasm2luajit: translate WebAssembly to LuaJIT source code
* wasm2luau: translate WebAssembly Luau source code
'';
homepage = "https://github.com/SovereignSatellite/Wasynth";
license = lib.licenses.gpl3Only;
maintainers = [ ];
};
})

View File

@@ -7,11 +7,11 @@
stdenvNoCC.mkDerivation rec {
pname = "wireless-regdb";
version = "2026.05.30";
version = "2026.09.03";
src = fetchurl {
url = "https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-${version}.tar.xz";
hash = "sha256-iie/wIG6/tjCTdcPqw2W8JjloL/NCNPaZyWV8iWriZM=";
hash = "sha256-si4JASJ7ggzRwoCr5oGhW3c6UQOl4Q3EQulOuzTL9Y0=";
};
dontBuild = true;

View File

@@ -1,50 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
testers,
zed,
}:
buildGoModule (finalAttrs: {
pname = "zed";
version = "1.18.0";
src = fetchFromGitHub {
owner = "brimdata";
repo = "zed-archive";
rev = "v${finalAttrs.version}";
sha256 = "sha256-NCoeTeOkxkCsj/nRBhMJeEshFuwozOXNJvgp8vyCQDk=";
};
vendorHash = "sha256-E9CXS3BQAglJV36BPgwhkb9SswxAj/yBcGqJ+XXwTmE=";
subPackages = [
"cmd/zed"
"cmd/zq"
];
ldflags = [
"-s"
"-w"
"-X=github.com/brimdata/zed/cli.version=${finalAttrs.version}"
];
passthru.tests = {
zed-version = testers.testVersion {
package = zed;
};
zq-version = testers.testVersion {
package = zed;
command = "zq --version";
};
};
meta = {
description = "Novel data lake based on super-structured data";
homepage = "https://zed.brimdata.io";
changelog = "https://github.com/brimdata/zed/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.bsd3;
maintainers = [ ];
};
})

View File

@@ -25,11 +25,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.27.0";
version = "1.27.1";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-cAJAPXzERSnvbSb2mkSBgmM5Xq18FsBaWAiuBH6+sOU=";
hash = "sha256-TkCKuuEm2Ra2FkYnGT8sVPDjyhMS1pO4bbRfhiqyOLE=";
};
strictDeps = true;

View File

@@ -38,4 +38,19 @@ graalvmPackages.buildGraalvmProduct {
''
}
'';
meta = {
description = "High-performance implementation of Ruby built on GraalVM";
homepage = "https://truffleruby.dev/";
mainProgram = "ruby";
maintainers = with lib.maintainers; [ nirvdrum ];
license =
with lib.licenses;
OR [
epl20
gpl2Only
lgpl21Only
];
};
}

View File

@@ -26,16 +26,16 @@
uvloop,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aiogram";
version = "3.30.0";
version = "3.31.0";
pyproject = true;
src = fetchFromGitHub {
owner = "aiogram";
repo = "aiogram";
tag = "v${version}";
hash = "sha256-Htj38Qw2G0GR2+pPCrlUgbywRJvYg1wQyNFdxY9SJQI=";
tag = "v${finalAttrs.version}";
hash = "sha256-bW21mt1Vs4nDHopvd/fW7okRVI124CntXOxv1QCFWaY=";
};
build-system = [ hatchling ];
@@ -74,7 +74,7 @@ buildPythonPackage rec {
pytestCheckHook
pytz
]
++ lib.concatAttrValues optional-dependencies;
++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
pytestFlags = [
# DeprecationWarning: 'asyncio.get_event_loop_policy' is deprecated and slate...
@@ -93,8 +93,8 @@ buildPythonPackage rec {
meta = {
description = "Modern and fully asynchronous framework for Telegram Bot API";
homepage = "https://github.com/aiogram/aiogram";
changelog = "https://github.com/aiogram/aiogram/releases/tag/${src.tag}";
changelog = "https://github.com/aiogram/aiogram/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sikmir ];
};
}
})

View File

@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "coinmetrics-api-client";
version = "2026.8.13.18";
version = "2026.9.2.14";
pyproject = true;
__darwinAllowLocalNetworking = true;
@@ -29,7 +29,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit version;
pname = "coinmetrics_api_client";
hash = "sha256-pvT+teZY5G2zkpHU+tRxjv/HBYBrMnNeqVR4E1A4i9I=";
hash = "sha256-01qVVuV+Cc17ooGe51+367gFOTSxYhWDm9xnOKkMeho=";
};
pythonRelaxDeps = [

View File

@@ -16,14 +16,14 @@
buildPythonPackage (finalAttrs: {
pname = "msgraph-sdk";
version = "1.61.0";
version = "1.62.0";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoftgraph";
repo = "msgraph-sdk-python";
tag = "v${finalAttrs.version}";
hash = "sha256-bjXbFa76quD5J7uPRHu15juxulHUh4U/7e12yPvS5SU=";
hash = "sha256-3ADJLslpAnm44j3tACoX2jB9I9SLBWlTzTxX327d+LI=";
};
build-system = [ flit-core ];

View File

@@ -25,7 +25,7 @@
buildPythonPackage (finalAttrs: {
pname = "pydocket";
version = "0.24.1";
version = "0.25.0";
pyproject = true;
__structuredAttrs = true;
@@ -33,7 +33,7 @@ buildPythonPackage (finalAttrs: {
owner = "chrisguidry";
repo = "docket";
tag = finalAttrs.version;
hash = "sha256-Z/cmxHLOjZmgugSNo/XzBa/62wmAVpYQYs0Xwtly+OI=";
hash = "sha256-yVXWOoTGwIBeBmYZ6xW5SuQYzLXVNPPXZ/E2VBncivg=";
};
build-system = [

View File

@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pyhomee";
version = "1.4.3";
version = "1.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "Taraman17";
repo = "pyHomee";
tag = "v${version}";
hash = "sha256-wNVZySZMrA+doA3mYF+3Ydqf0nUAmnkfLYg0EEmmukA=";
hash = "sha256-wHLMifPDZxwZA9d3QQG89JYqzc8AevqMd5SEJFpur70=";
};
build-system = [ setuptools ];

View File

@@ -3,32 +3,41 @@
buildPythonPackage,
fetchFromGitHub,
flit-core,
moreorless,
unittestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "stdlibs";
version = "2026.2.26";
version = "2026.9.3";
pyproject = true;
src = fetchFromGitHub {
owner = "omnilib";
repo = "stdlibs";
tag = "v${version}";
hash = "sha256-5Brb214tglEEjsJXOvEhlaJgSYCUpOGPbHkmI9AWPoM=";
tag = "v${finalAttrs.version}";
hash = "sha256-W2fj+hGZ5UA/XNO0CUyTbz/Wwhh3pr/2qB8Su5TdKPM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "flit_core >=4,<5" "flit_core"
'';
build-system = [ flit-core ];
# Module has no tests
doCheck = false;
nativeCheckInputs = [
moreorless
unittestCheckHook
];
pythonImportsCheck = [ "stdlibs" ];
meta = {
description = "Overview of the Python stdlib";
homepage = "https://github.com/omnilib/stdlibs";
changelog = "https://github.com/omnilib/stdlibs/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/omnilib/stdlibs/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})

View File

@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
# build-system
flit-core,
@@ -23,18 +24,29 @@
torch,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "treescope";
version = "0.1.10";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "treescope";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-SfycwuI/B7S/rKkaqxtnJI26q89313pvj/Xsomg6qyA=";
};
patches = [
# Handle PyTorch versions without named tensor support (removed in torch 2.13):
# https://github.com/google-deepmind/treescope/pull/72
(fetchpatch {
name = "torch-without-named-tensors.patch";
url = "https://github.com/google-deepmind/treescope/commit/20a94822d0c4c0a55c10eaa8fed96a77757f4068.patch";
hash = "sha256-amv4AG2G7TXnzGYBE14mARQh8IYuH3RswtbywTmi4b4=";
})
];
build-system = [ flit-core ];
dependencies = [ numpy ];
@@ -62,8 +74,8 @@ buildPythonPackage rec {
meta = {
description = "Interactive HTML pretty-printer for machine learning research in IPython notebooks";
homepage = "https://github.com/google-deepmind/treescope";
changelog = "https://github.com/google-deepmind/treescope/releases/tag/v${version}";
changelog = "https://github.com/google-deepmind/treescope/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})

View File

@@ -13,7 +13,7 @@
buildPythonPackage (finalAttrs: {
pname = "ua-generator";
version = "2.1.3";
version = "2.1.4";
pyproject = true;
__structuredAttrs = true;
@@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: {
owner = "iamdual";
repo = "ua-generator";
tag = finalAttrs.version;
hash = "sha256-Vs4aD+XPek3ZmmSohsZNuEnWkonfSPtWsF+tXBJ3bQo=";
hash = "sha256-TD2JD6+ZQKE6pd9f+EXK/yHteQuiZ1puoH6wBnzFxD0=";
};
build-system = [ setuptools ];

View File

@@ -442,6 +442,7 @@ mapAliases {
breads-ad = throw "'breads-ad' has been removed because its source is no longer available"; # Added 2025-12-20
break-time = throw "'break-time' has been removed because it is not maintained upstream and has insecure dependencies."; # Added 2025-12-01
breath-theme = throw "'breath-theme' has been removed, as it is only compatible with Plasma 5, which is EOL"; # Added 2025-08-20
brise = throw "'brise' has been removed. Use 'rime-data' instead."; # Added 2026-09-04
brogue = warnAlias "Use 'brogue-ce' instead of 'brogue' for updated releases" brogue-ce; # Added 2025-10-04
btanks = throw "'btanks' has been removed as it's been unmaintained since 2010 and fails to build"; # Added 2025-11-29
buck = throw "'buck' has been removed has it was deprecated and archived upstream. Consider moving to buck2"; # Added 2026-01-16
@@ -2094,6 +2095,7 @@ mapAliases {
protonvpn-cli = throw "protonvpn-cli source code was removed from upstream. Use proton-vpn-cli instead."; # Added 2025-10-16
protonvpn-cli_2 = throw "protonvpn-cli_2 has been removed due to being deprecated. Use proton-vpn-cli instead."; # Added 2025-10-16
protonvpn-gui = warnAlias "'protonvpn-gui' has been renamed to/replaced by 'proton-vpn'" proton-vpn; # Added 2026-02-23
prototool = throw "'prototool' has been removed. Use 'buf' instead."; # Added 2026-09-04
proxmark3-rrg = throw "'proxmark3-rrg' has been renamed to/replaced by 'proxmark3'"; # Converted to throw 2025-10-27
pscid = throw "'pscid' has been removed because it was unmaintained upstream"; # Added 2025-12-12
psi = throw "'psi' has been removed as it depended on EOL qt5 webengine. Consider moving to psi-plus, a somewhat more maintained fork."; # Added 2026-04-15
@@ -2165,6 +2167,7 @@ mapAliases {
qutebrowser-qt5 = lib.warnOnInstantiate "'qutebrowser-qt5' has been removed as it depended on vulnerable and outdated qt5 webengine" qutebrowser; # Added 2026-01-14
qv2ray = throw "'qv2ray' has been removed as it was unmaintained"; # Added 2025-06-03
r0vm = throw "'r0vm' has been removed as the binary is provided by 'cargo-risczero'"; # Added 2026-03-25
r128gain = throw "'r128gain' has been removed. Use 'rsgain' instead."; # Added 2026-09-04
ra-multiplex = lib.warnOnInstantiate "'ra-multiplex' has been renamed to/replaced by 'lspmux'" lspmux; # Added 2025-10-27
rabbit = throw "'rabbit' has been renamed to/replaced by 'rabbit-ng'"; # Added 2026-02-18
radiance = throw "'radiance' has been removed as it was broken for a long time"; # Added 2026-01-02
@@ -3064,6 +3067,7 @@ mapAliases {
zdoom = throw "'zdoom' has been removed as it was broken and unmaintained upstream. Consider using UZDoom instead."; # Added 2026-04-04
zeal-qt5 = warnAlias "'zeal-qt5' has been removed from nixpkgs. Please use 'zeal' instead" zeal; # Added 2025-08-31
zeal-qt6 = warnAlias "'zeal-qt6' has been renamed to 'zeal'" zeal; # Added 2025-08-31
zed = throw "'zed' has been removed. Use 'super' instead."; # Added 2026-09-04
zeroadPackages.zeroad = throw "'zeroadPackages.zeroad' has been renamed to/replaced by 'zeroad'"; # Converted to throw 2025-10-27
zeroadPackages.zeroad-data = throw "'zeroadPackages.zeroad-data' has been renamed to/replaced by 'zeroad-data'"; # Converted to throw 2025-10-27
zeroadPackages.zeroad-unwrapped = throw "'zeroadPackages.zeroad-unwrapped' has been renamed to/replaced by 'zeroad-unwrapped'"; # Converted to throw 2025-10-27
@@ -3083,7 +3087,7 @@ mapAliases {
zotero-beta = throw "'zotero-beta' has been removed. Use 'zotero' instead."; # Added 2026-03-05
zotero_7 = throw "'zotero_7' has been renamed to/replaced by 'zotero'"; # Added 2025-12-09
zotify = throw "zotify has been removed due to lack of upstream maintenance"; # Added 2025-09-26
zq = throw "zq has been replaced by zed"; # Converted to throw 2025-10-26
zq = throw "zq has been replaced by super"; # Converted to throw 2025-10-26
zscroll = throw "zscroll has been removed due to lack of maintenance."; # Added 2026-05-29
zsh-git-prompt = throw "zsh-git-prompt was removed as it is unmaintained upstream"; # Added 2025-08-28
zuki-themes = throw "'zuki-themes' has been removed because it depended on 'gtk-engine-murrine', which was removed because it was unmaintained upstream and depended on GTK 2."; # Added 2026-07-22

View File

@@ -3941,7 +3941,7 @@ with pkgs;
buildNimSbom = callPackage ../build-support/build-nim-sbom.nix { };
nimOverrides = callPackage ./nim-overrides.nix { };
nextpnrWithGui = libsForQt5.callPackage ../by-name/ne/nextpnr/package.nix {
nextpnrWithGui = callPackage ../by-name/ne/nextpnr/package.nix {
enableGui = true;
};
@@ -8399,11 +8399,11 @@ with pkgs;
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { });
electrum = libsForQt5.callPackage ../applications/misc/electrum { };
electrum = callPackage ../applications/misc/electrum { };
electrum-grs = libsForQt5.callPackage ../applications/misc/electrum/grs.nix { };
electrum-grs = callPackage ../applications/misc/electrum/grs.nix { };
electrum-ltc = libsForQt5.callPackage ../applications/misc/electrum/ltc.nix { };
electrum-ltc = callPackage ../applications/misc/electrum/ltc.nix { };
inherit (recurseIntoAttrs (callPackage ../applications/editors/emacs { }))
emacs31
@@ -8458,7 +8458,7 @@ with pkgs;
gauche = callPackage ../development/interpreters/gauche { };
gimagereader-qt = qt6Packages.callPackage ../by-name/gi/gimagereader/package.nix {
gimagereader-qt = gimagereader.override {
withQt6 = true;
};
@@ -9107,10 +9107,6 @@ with pkgs;
;
rke2 = rke2_stable;
rofi-pass-wayland = rofi-pass.override {
backend = "wayland";
};
rstudio-server = rstudio.override { server = true; };
foks-server = foks.server;