mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 13:00:23 +00:00
Merge staging-next into staging
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
204
doc/doc-support/include-to-nav.py
Executable 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()
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -1,6 +1 @@
|
||||
# Getting started {#getting-started}
|
||||
|
||||
```{=include=} chapters
|
||||
first-package.chapter.md
|
||||
dev-environments.md
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -1,5 +1 @@
|
||||
# Interoperability Standards {#part-interoperability}
|
||||
|
||||
```{=include=} chapters
|
||||
interoperability/cyclonedx.md
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -1,6 +1 @@
|
||||
# Nixpkgs `lib` {#id-1.4}
|
||||
|
||||
```{=include=} chapters
|
||||
functions.md
|
||||
module-system/module-system.chapter.md
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
|
||||
704
doc/nav.json
704
doc/nav.json
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -1,5 +1 @@
|
||||
# Toolchains {#part-toolchains}
|
||||
|
||||
```{=include=} chapters
|
||||
toolchains/llvm.chapter.md
|
||||
```
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
''
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
})
|
||||
@@ -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.");
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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", "/",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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."
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
812
pkgs/by-name/pr/prjoxide/fix-cargo-lock.patch
Normal file
812
pkgs/by-name/pr/prjoxide/fix-cargo-lock.patch
Normal 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"
|
||||
53
pkgs/by-name/pr/prjoxide/package.nix
Normal file
53
pkgs/by-name/pr/prjoxide/package.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
46
pkgs/by-name/pr/prjpeppercorn/package.nix
Normal file
46
pkgs/by-name/pr/prjpeppercorn/package.nix
Normal 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;
|
||||
};
|
||||
})
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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""",
|
||||
)
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
})
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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"
|
||||
|
||||
298
pkgs/by-name/ru/rush-lyrics/deps.json
generated
298
pkgs/by-name/ru/rush-lyrics/deps.json
generated
@@ -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=",
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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"
|
||||
|
||||
421
pkgs/by-name/wa/wasynth/Cargo.lock
generated
421
pkgs/by-name/wa/wasynth/Cargo.lock
generated
@@ -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",
|
||||
]
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [ ];
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user