diff --git a/doc/build-helpers.md b/doc/build-helpers.md index 8b38a79ceff4..8c201cbfb306 100644 --- a/doc/build-helpers.md +++ b/doc/build-helpers.md @@ -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 -``` diff --git a/doc/build-helpers/images.md b/doc/build-helpers/images.md index 033891fcef48..5e4248391a36 100644 --- a/doc/build-helpers/images.md +++ b/doc/build-helpers/images.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 -``` diff --git a/doc/build-helpers/special.md b/doc/build-helpers/special.md index 58ff18054c6e..0752ee249f48 100644 --- a/doc/build-helpers/special.md +++ b/doc/build-helpers/special.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 -``` diff --git a/doc/contributing.md b/doc/contributing.md index 3215dbe32bec..ce790760c3e7 100644 --- a/doc/contributing.md +++ b/doc/contributing.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 -``` diff --git a/doc/development.md b/doc/development.md index 651150420aee..19d10f728922 100644 --- a/doc/development.md +++ b/doc/development.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). - -```{=include=} chapters -development/opening-issues.chapter.md -``` diff --git a/doc/doc-support/include-to-nav.py b/doc/doc-support/include-to-nav.py new file mode 100755 index 000000000000..d78f61e2674e --- /dev/null +++ b/doc/doc-support/include-to-nav.py @@ -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.*)$") +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() diff --git a/doc/functions.md b/doc/functions.md index 5d4a58d50be2..9ea486eb2b30 100644 --- a/doc/functions.md +++ b/doc/functions.md @@ -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 -``` diff --git a/doc/getting-started/getting-started.part.md b/doc/getting-started/getting-started.part.md index 4fffd1033fd0..9b4512834e33 100644 --- a/doc/getting-started/getting-started.part.md +++ b/doc/getting-started/getting-started.part.md @@ -1,6 +1 @@ # Getting started {#getting-started} - -```{=include=} chapters -first-package.chapter.md -dev-environments.md -``` diff --git a/doc/hooks/index.md b/doc/hooks/index.md index 1b2459ad200e..8213f9efc568 100644 --- a/doc/hooks/index.md +++ b/doc/hooks/index.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 -``` diff --git a/doc/hooks/juce.section.md b/doc/hooks/juce.section.md index 770a20ae2df8..b7e9798e7444 100644 --- a/doc/hooks/juce.section.md +++ b/doc/hooks/juce.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` diff --git a/doc/interoperability.md b/doc/interoperability.md index 21a88116d307..ffa6a3479f25 100644 --- a/doc/interoperability.md +++ b/doc/interoperability.md @@ -1,5 +1 @@ # Interoperability Standards {#part-interoperability} - -```{=include=} chapters -interoperability/cyclonedx.md -``` diff --git a/doc/languages-frameworks/index.md b/doc/languages-frameworks/index.md index 8aef3ffd062f..8b1da9c0e3bf 100644 --- a/doc/languages-frameworks/index.md +++ b/doc/languages-frameworks/index.md @@ -53,56 +53,3 @@ Each supported language or software ecosystem has its own package set named ` 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" ) diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index f031fbdfcb0a..036ab4be6bb0 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -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; diff --git a/pkgs/applications/misc/electrum/grs.nix b/pkgs/applications/misc/electrum/grs.nix index 7a0ca956d6f5..61794174428f 100644 --- a/pkgs/applications/misc/electrum/grs.nix +++ b/pkgs/applications/misc/electrum/grs.nix @@ -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; diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix index 439b12f7555d..75cfb73d5d52 100644 --- a/pkgs/applications/misc/electrum/ltc.nix +++ b/pkgs/applications/misc/electrum/ltc.nix @@ -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" ]; diff --git a/pkgs/by-name/ad/adrs/package.nix b/pkgs/by-name/ad/adrs/package.nix index 5f016ba3afe7..cf7e30085fe3 100644 --- a/pkgs/by-name/ad/adrs/package.nix +++ b/pkgs/by-name/ad/adrs/package.nix @@ -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"; diff --git a/pkgs/by-name/bo/bookstack/package.nix b/pkgs/by-name/bo/bookstack/package.nix index 2e568b3d9529..67f9702d5222 100644 --- a/pkgs/by-name/bo/bookstack/package.nix +++ b/pkgs/by-name/bo/bookstack/package.nix @@ -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; diff --git a/pkgs/by-name/br/brise/fetchPackages.nix b/pkgs/by-name/br/brise/fetchPackages.nix deleted file mode 100644 index bcf7a5a94d65..000000000000 --- a/pkgs/by-name/br/brise/fetchPackages.nix +++ /dev/null @@ -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 -'' diff --git a/pkgs/by-name/br/brise/package.nix b/pkgs/by-name/br/brise/package.nix deleted file mode 100644 index 1d402e244731..000000000000 --- a/pkgs/by-name/br/brise/package.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/pkgs/by-name/ch/chhoto-url/package.nix b/pkgs/by-name/ch/chhoto-url/package.nix index f8b829821716..34215ca96f3f 100644 --- a/pkgs/by-name/ch/chhoto-url/package.nix +++ b/pkgs/by-name/ch/chhoto-url/package.nix @@ -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 diff --git a/pkgs/by-name/cr/cri-o-unwrapped/package.nix b/pkgs/by-name/cr/cri-o-unwrapped/package.nix index 8c2a434796fd..adea713439a9 100644 --- a/pkgs/by-name/cr/cri-o-unwrapped/package.nix +++ b/pkgs/by-name/cr/cri-o-unwrapped/package.nix @@ -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; diff --git a/pkgs/by-name/da/dayon/package.nix b/pkgs/by-name/da/dayon/package.nix index 6a9953c8804b..b7486299d7f5 100644 --- a/pkgs/by-name/da/dayon/package.nix +++ b/pkgs/by-name/da/dayon/package.nix @@ -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 = [ diff --git a/pkgs/by-name/dr/draupnir/package.nix b/pkgs/by-name/dr/draupnir/package.nix index 590a7a4e298f..83e8de422918 100644 --- a/pkgs/by-name/dr/draupnir/package.nix +++ b/pkgs/by-name/dr/draupnir/package.nix @@ -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" diff --git a/pkgs/by-name/ff/ffmpeg-normalize/package.nix b/pkgs/by-name/ff/ffmpeg-normalize/package.nix index 6cc041bf6f3b..12485b42398a 100644 --- a/pkgs/by-name/ff/ffmpeg-normalize/package.nix +++ b/pkgs/by-name/ff/ffmpeg-normalize/package.nix @@ -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 ]; diff --git a/pkgs/by-name/ga/gallery-dl/package.nix b/pkgs/by-name/ga/gallery-dl/package.nix index 22f8ee572779..6d1fb54ec554 100644 --- a/pkgs/by-name/ga/gallery-dl/package.nix +++ b/pkgs/by-name/ga/gallery-dl/package.nix @@ -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 ]; diff --git a/pkgs/by-name/ga/garmintools/package.nix b/pkgs/by-name/ga/garmintools/package.nix deleted file mode 100644 index 9ee07f8e51db..000000000000 --- a/pkgs/by-name/ga/garmintools/package.nix +++ /dev/null @@ -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; - }; -}) diff --git a/pkgs/by-name/gs/gshogi/package.nix b/pkgs/by-name/gs/gshogi/package.nix deleted file mode 100644 index 81c7d0f55490..000000000000 --- a/pkgs/by-name/gs/gshogi/package.nix +++ /dev/null @@ -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 = [ ]; - }; -}) diff --git a/pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch b/pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch deleted file mode 100644 index d841a3b2eb79..000000000000 --- a/pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch +++ /dev/null @@ -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 ", 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> { - 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> { - 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] [-m] [-l] [-p] [-r] [-s] [-u] [-v] ", env::args().next().unwrap()); -+ println!("{} [-h] [-a] [-f] [-k] [-m] [-l] [-r] [-s] [-u] [-v] ", env::args().next().unwrap()); - println!(); - println!("Options:"); - println!("-a Print information about the current active machine."); -@@ -205,7 +114,6 @@ - println!("-k Set, reset or delete the Hack The Box App Key."); - println!("-m Specify the machine name to play."); - println!("-l List free, retired or starting point machines."); -- println!("-p 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."); diff --git a/pkgs/by-name/ht/htb-toolkit/package.nix b/pkgs/by-name/ht/htb-toolkit/package.nix deleted file mode 100644 index c01c7499060c..000000000000 --- a/pkgs/by-name/ht/htb-toolkit/package.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/by-name/ja/jackett/package.nix b/pkgs/by-name/ja/jackett/package.nix index f26ddba96e85..0febf7f49fa2 100644 --- a/pkgs/by-name/ja/jackett/package.nix +++ b/pkgs/by-name/ja/jackett/package.nix @@ -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"; diff --git a/pkgs/by-name/ju/jujutsu/package.nix b/pkgs/by-name/ju/jujutsu/package.nix index 54880746b814..3799fbb1ae7a 100644 --- a/pkgs/by-name/ju/jujutsu/package.nix +++ b/pkgs/by-name/ju/jujutsu/package.nix @@ -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 diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix index b1e10843206c..7a4e931a3e76 100644 --- a/pkgs/by-name/mi/microsoft-edge/package.nix +++ b/pkgs/by-name/mi/microsoft-edge/package.nix @@ -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 diff --git a/pkgs/by-name/mk/mkosi/0001-Use-wrapped-binaries-instead-of-Python-interpreter.patch b/pkgs/by-name/mk/mkosi/0001-Use-wrapped-binaries-instead-of-Python-interpreter.patch index a7db324cb59f..35d5bfcedd96 100644 --- a/pkgs/by-name/mk/mkosi/0001-Use-wrapped-binaries-instead-of-Python-interpreter.patch +++ b/pkgs/by-name/mk/mkosi/0001-Use-wrapped-binaries-instead-of-Python-interpreter.patch @@ -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", "/", diff --git a/pkgs/by-name/mk/mkosi/0002-Fix-library-resolving.patch b/pkgs/by-name/mk/mkosi/0002-Fix-library-resolving.patch index 31b58b8c011d..ad326bf2d23c 100644 --- a/pkgs/by-name/mk/mkosi/0002-Fix-library-resolving.patch +++ b/pkgs/by-name/mk/mkosi/0002-Fix-library-resolving.patch @@ -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 diff --git a/pkgs/by-name/mk/mkosi/0003-Fix-QEMU-firmware-path.patch b/pkgs/by-name/mk/mkosi/0003-Fix-QEMU-firmware-path.patch index 92341d1caed2..e7357b03d9a1 100644 --- a/pkgs/by-name/mk/mkosi/0003-Fix-QEMU-firmware-path.patch +++ b/pkgs/by-name/mk/mkosi/0003-Fix-QEMU-firmware-path.patch @@ -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 diff --git a/pkgs/by-name/mk/mkosi/package.nix b/pkgs/by-name/mk/mkosi/package.nix index 11772d2d1914..a6be9cf6b042 100644 --- a/pkgs/by-name/mk/mkosi/package.nix +++ b/pkgs/by-name/mk/mkosi/package.nix @@ -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"; diff --git a/pkgs/by-name/ms/msedgedriver/package.nix b/pkgs/by-name/ms/msedgedriver/package.nix index 36674db8a9c1..64634339c68a 100644 --- a/pkgs/by-name/ms/msedgedriver/package.nix +++ b/pkgs/by-name/ms/msedgedriver/package.nix @@ -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; }; diff --git a/pkgs/by-name/mu/multica-cli/package.nix b/pkgs/by-name/mu/multica-cli/package.nix index 445b407a52fc..411e27b719a3 100644 --- a/pkgs/by-name/mu/multica-cli/package.nix +++ b/pkgs/by-name/mu/multica-cli/package.nix @@ -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" ]; diff --git a/pkgs/by-name/mv/mvapich/package.nix b/pkgs/by-name/mv/mvapich/package.nix index be7e3a61085a..cd180edb0808 100644 --- a/pkgs/by-name/mv/mvapich/package.nix +++ b/pkgs/by-name/mv/mvapich/package.nix @@ -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"; diff --git a/pkgs/by-name/na/nailgun/package.nix b/pkgs/by-name/na/nailgun/package.nix deleted file mode 100644 index ec5917aeae3d..000000000000 --- a/pkgs/by-name/na/nailgun/package.nix +++ /dev/null @@ -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"; - }; -} diff --git a/pkgs/by-name/ne/nextpnr/package.nix b/pkgs/by-name/ne/nextpnr/package.nix index bce95847cc2b..68258aeb0ad9 100644 --- a/pkgs/by-name/ne/nextpnr/package.nix +++ b/pkgs/by-name/ne/nextpnr/package.nix @@ -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 + ]; }; }) diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py index 2671d010268c..9b8d419f2920 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manual.py @@ -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: diff --git a/pkgs/by-name/nt/ntfy-sh/package.nix b/pkgs/by-name/nt/ntfy-sh/package.nix index 311877bc9ca8..2d08f2479cb9 100644 --- a/pkgs/by-name/nt/ntfy-sh/package.nix +++ b/pkgs/by-name/nt/ntfy-sh/package.nix @@ -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; diff --git a/pkgs/by-name/nu/numen/package.nix b/pkgs/by-name/nu/numen/package.nix index b6969afaf752..c9b17d5c1242 100644 --- a/pkgs/by-name/nu/numen/package.nix +++ b/pkgs/by-name/nu/numen/package.nix @@ -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; diff --git a/pkgs/by-name/nw/nwjs/package.nix b/pkgs/by-name/nw/nwjs/package.nix index 838488ee21c7..220af28a79d9 100644 --- a/pkgs/by-name/nw/nwjs/package.nix +++ b/pkgs/by-name/nw/nwjs/package.nix @@ -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." + ]; }; } diff --git a/pkgs/by-name/os/osmo-mgw/package.nix b/pkgs/by-name/os/osmo-mgw/package.nix index 0b92d0b0ba01..d90645b58e44 100644 --- a/pkgs/by-name/os/osmo-mgw/package.nix +++ b/pkgs/by-name/os/osmo-mgw/package.nix @@ -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 = '' diff --git a/pkgs/by-name/pr/prjoxide/fix-cargo-lock.patch b/pkgs/by-name/pr/prjoxide/fix-cargo-lock.patch new file mode 100644 index 000000000000..c165a6ad88a2 --- /dev/null +++ b/pkgs/by-name/pr/prjoxide/fix-cargo-lock.patch @@ -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" diff --git a/pkgs/by-name/pr/prjoxide/package.nix b/pkgs/by-name/pr/prjoxide/package.nix new file mode 100644 index 000000000000..007063309271 --- /dev/null +++ b/pkgs/by-name/pr/prjoxide/package.nix @@ -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; + }; +} diff --git a/pkgs/by-name/pr/prjpeppercorn/package.nix b/pkgs/by-name/pr/prjpeppercorn/package.nix new file mode 100644 index 000000000000..b11b6d3600c7 --- /dev/null +++ b/pkgs/by-name/pr/prjpeppercorn/package.nix @@ -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; + }; +}) diff --git a/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix b/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix deleted file mode 100644 index 41ca963090f1..000000000000 --- a/pkgs/by-name/pr/protoc-gen-twirp_swagger/package.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/pkgs/by-name/pr/prototool/package.nix b/pkgs/by-name/pr/prototool/package.nix deleted file mode 100644 index 3f997616d91b..000000000000 --- a/pkgs/by-name/pr/prototool/package.nix +++ /dev/null @@ -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; - }; -}) diff --git a/pkgs/by-name/r1/r128gain/ffmpeg-location.patch b/pkgs/by-name/r1/r128gain/ffmpeg-location.patch deleted file mode 100644 index 53d755cdae41..000000000000 --- a/pkgs/by-name/r1/r128gain/ffmpeg-location.patch +++ /dev/null @@ -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""", - ) diff --git a/pkgs/by-name/r1/r128gain/package.nix b/pkgs/by-name/r1/r128gain/package.nix deleted file mode 100644 index 52cae665e434..000000000000 --- a/pkgs/by-name/r1/r128gain/package.nix +++ /dev/null @@ -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; - }; -}) diff --git a/pkgs/by-name/ra/radicale/package.nix b/pkgs/by-name/ra/radicale/package.nix index ceb845363b49..3646eff73384 100644 --- a/pkgs/by-name/ra/radicale/package.nix +++ b/pkgs/by-name/ra/radicale/package.nix @@ -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; diff --git a/pkgs/by-name/re/renderizer/package.nix b/pkgs/by-name/re/renderizer/package.nix deleted file mode 100644 index 0ad83f61cca3..000000000000 --- a/pkgs/by-name/re/renderizer/package.nix +++ /dev/null @@ -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 = [ ]; - }; -}) diff --git a/pkgs/by-name/ro/rocketchat-desktop/package.nix b/pkgs/by-name/ro/rocketchat-desktop/package.nix index f7dc1a67df3b..254ce5c2830f 100644 --- a/pkgs/by-name/ro/rocketchat-desktop/package.nix +++ b/pkgs/by-name/ro/rocketchat-desktop/package.nix @@ -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 = [ diff --git a/pkgs/by-name/ro/rofi-pass/package.nix b/pkgs/by-name/ro/rofi-pass/package.nix deleted file mode 100644 index 029dfb9cf37c..000000000000 --- a/pkgs/by-name/ro/rofi-pass/package.nix +++ /dev/null @@ -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 = [ ]; - }; -} diff --git a/pkgs/by-name/rp/rpcs3/ffmpeg-9-pix-fmts.patch b/pkgs/by-name/rp/rpcs3/ffmpeg-9-pix-fmts.patch deleted file mode 100644 index 31fe8b265a45..000000000000 --- a/pkgs/by-name/rp/rpcs3/ffmpeg-9-pix-fmts.patch +++ /dev/null @@ -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 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; - diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix index 8c664c9e3778..897f24180728 100644 --- a/pkgs/by-name/rp/rpcs3/package.nix +++ b/pkgs/by-name/rp/rpcs3/package.nix @@ -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 <=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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/treescope/default.nix b/pkgs/development/python-modules/treescope/default.nix index 1fede7454d5b..ad077140ea48 100644 --- a/pkgs/development/python-modules/treescope/default.nix +++ b/pkgs/development/python-modules/treescope/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/ua-generator/default.nix b/pkgs/development/python-modules/ua-generator/default.nix index 4f07aa57f677..79df38a99e19 100644 --- a/pkgs/development/python-modules/ua-generator/default.nix +++ b/pkgs/development/python-modules/ua-generator/default.nix @@ -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 ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 82cf65aa5c34..a8744aaec129 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 582244e48d94..9d64ee24904a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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;