diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix index 4b7f9dc4e022..9c975336315a 100644 --- a/nixos/modules/services/misc/weechat.nix +++ b/nixos/modules/services/misc/weechat.nix @@ -4,29 +4,43 @@ pkgs, ... }: + let cfg = config.services.weechat; in - { options.services.weechat = { enable = lib.mkEnableOption "weechat"; + + package = lib.mkPackageOption pkgs "weechat" { }; + root = lib.mkOption { description = "Weechat state directory."; - type = lib.types.str; + type = lib.types.path; default = "/var/lib/weechat"; }; + sessionName = lib.mkOption { description = "Name of the `screen` session for weechat."; default = "weechat-screen"; type = lib.types.str; }; + binary = lib.mkOption { type = lib.types.path; description = "Binary to execute."; - default = "${pkgs.weechat}/bin/weechat"; - defaultText = lib.literalExpression ''"''${pkgs.weechat}/bin/weechat"''; - example = lib.literalExpression ''"''${pkgs.weechat}/bin/weechat-headless"''; + default = + if (!cfg.headless) then "${cfg.package}/bin/weechat" else "${cfg.package}/bin/weechat-headless"; + defaultText = lib.literalExpression ''"''${cfg.package}/bin/weechat"''; + example = lib.literalExpression ''"''${cfg.package}/bin/weechat-headless"''; + }; + + headless = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Allows specifying if weechat should run in TUI or headless mode. + ''; }; }; @@ -34,26 +48,39 @@ in users = { groups.weechat = { }; users.weechat = { - createHome = true; group = "weechat"; - home = cfg.root; isSystemUser = true; }; }; + systemd.tmpfiles.settings."weechat" = { + "${cfg.root}" = lib.mkIf (cfg.root != "/var/lib/weechat") { + d = { + user = "weechat"; + group = "weechat"; + mode = "750"; + }; + }; + }; + systemd.services.weechat = { - environment.WEECHAT_HOME = cfg.root; serviceConfig = { + Type = "simple"; User = "weechat"; Group = "weechat"; + ExecStart = lib.mkIf (cfg.headless) "${cfg.binary} --dir ${cfg.root} --stdout"; + StateDirectory = lib.mkIf (cfg.root == "/var/lib/weechat") "weechat"; + StateDirectoryMode = 750; RemainAfterExit = "yes"; }; - script = "exec ${config.security.wrapperDir}/screen -Dm -S ${cfg.sessionName} ${cfg.binary}"; + script = + lib.mkIf (!cfg.headless) + "exec ${config.security.wrapperDir}/screen -Dm -S ${cfg.sessionName} ${cfg.binary} --dir ${cfg.root}"; wantedBy = [ "multi-user.target" ]; wants = [ "network.target" ]; }; - security.wrappers.screen = { + security.wrappers.screen = lib.mkIf (!cfg.headless) { setuid = true; owner = "root"; group = "root"; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 66241b6382bc..7ae06b509a50 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -716,7 +716,7 @@ in (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.") (mkRemovedOptionModule ["systemd" "enableUnifiedCgroupHierarchy"] '' In 256 support for cgroup v1 ('legacy' and 'hybrid' hierarchies) is now considered obsolete and systemd by default will refuse to boot under it. - To forcibly reenable cgroup v1 support, you can set boot.kernelParams = [ "systemd.unified_cgroup_hierachy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]. + To forcibly reenable cgroup v1 support, you can set boot.kernelParams = [ "systemd.unified_cgroup_hierarchy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]. NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own. '') ]; diff --git a/nixos/tests/playwright-python.nix b/nixos/tests/playwright-python.nix index 0a5deecbb508..02d7b1cc5b9d 100644 --- a/nixos/tests/playwright-python.nix +++ b/nixos/tests/playwright-python.nix @@ -25,19 +25,20 @@ import ./make-test-python.nix ( from playwright.sync_api import expect browsers = { - "chromium": ["--headless", "--disable-gpu"], - "firefox": [], - "webkit": [] + "chromium": {'args': ["--headless", "--disable-gpu"], 'channel': 'chromium'}, + "firefox": {}, + "webkit": {} } if len(sys.argv) != 3 or sys.argv[1] not in browsers.keys(): print(f"usage: {sys.argv[0]} [{'|'.join(browsers.keys())}] ") sys.exit(1) browser_name = sys.argv[1] url = sys.argv[2] - browser_args = browsers.get(browser_name) - print(f"Running test on {browser_name} {' '.join(browser_args)}") + browser_kwargs = browsers.get(browser_name) + args = ' '.join(browser_kwargs.get('args', [])) + print(f"Running test on {browser_name} {args}") with sync_playwright() as p: - browser = getattr(p, browser_name).launch(args=browser_args) + browser = getattr(p, browser_name).launch(**browser_kwargs) context = browser.new_context() page = context.new_page() page.goto(url) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index b9536010ad43..0e31f9a0c11e 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -12401,14 +12401,14 @@ final: prev: roslyn-nvim = buildVimPlugin { pname = "roslyn.nvim"; - version = "2025-01-27"; + version = "2025-02-05"; src = fetchFromGitHub { - owner = "seblj"; + owner = "seblyng"; repo = "roslyn.nvim"; - rev = "490fd2d0f76249032ef6ce503e43ccdaeed9616e"; - sha256 = "15jqg907fnnxh3415yls90cwly75im1awi4bqs2jf94ssirnn4fc"; + rev = "4c55dedb5e47ba551c8c1ef9acd4896cdc29158c"; + sha256 = "0ga08bny1vi6h9cki6cmr84qzl7rdc4yglp8i4lcqvxxjys0qg19"; }; - meta.homepage = "https://github.com/seblj/roslyn.nvim/"; + meta.homepage = "https://github.com/seblyng/roslyn.nvim/"; meta.hydraPlatforms = [ ]; }; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 192fb659fdb7..e363c65a7abc 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -2866,9 +2866,6 @@ in luaAttr = luaPackages.rocks-config-nvim; }; - roslyn-nvim = super.roslyn-nvim.overrideAttrs { - }; - rtp-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rtp-nvim; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 5754bac3d653..b4786584c4aa 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -948,7 +948,7 @@ https://github.com/kevinhwang91/rnvimr/,, https://github.com/mfukar/robotframework-vim/,, https://github.com/ron-rs/ron.vim/,, https://github.com/rose-pine/neovim/,main,rose-pine -https://github.com/seblj/roslyn.nvim/,HEAD, +https://github.com/seblyng/roslyn.nvim/,HEAD, https://github.com/keith/rspec.vim/,, https://github.com/ccarpita/rtorrent-syntax-file/,, https://github.com/simrat39/rust-tools.nvim/,, diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix index 6adf0b337a01..2a63cbbda1c9 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix @@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-pylance"; publisher = "MS-python"; - version = "2024.12.1"; - hash = "sha256-LpHbXthVHvrVZ1xqBTDfF1RjzgEilQVVHfy0tlum/BU="; + version = "2025.2.1"; + hash = "sha256-8aqua60QeKue8DUpRQynUQRm2tZNt8qq/OS8VdWTDas="; }; buildInputs = [ pyright ]; diff --git a/pkgs/by-name/bo/bold/deps.nix b/pkgs/by-name/bo/bold/deps.nix new file mode 100644 index 000000000000..3c6362a0207b --- /dev/null +++ b/pkgs/by-name/bo/bold/deps.nix @@ -0,0 +1,20 @@ +# generated by zon2nix (https://github.com/nix-community/zon2nix) + +{ linkFarm, fetchzip }: + +linkFarm "zig-packages" [ + { + name = "12207252f0592e53e8794d5a41409791d5c8c70e0de67bfba48844406619847cc971"; + path = fetchzip { + url = "https://github.com/kubkon/zig-dis-x86_64/archive/5203b9affc5045e000ae7963d988e155e98e396d.tar.gz"; + hash = "sha256-JmrutmOUQ+UEs9CDSM46AFQMcmBNzj/n1c1lzQBuAbA="; + }; + } + { + name = "1220e8870ca83e47b98807e89b5b636072413f6c09f9b26037e4c98c55e4960ac55a"; + path = fetchzip { + url = "https://github.com/kubkon/zig-yaml/archive/325dbdd276604dccf184c32fef9600b0ac48343d.tar.gz"; + hash = "sha256-09r+LTrYHExHo1OtAMKIPTF9cj5GsDEd0FKCj++vwaw="; + }; + } +] diff --git a/pkgs/by-name/bo/bold/package.nix b/pkgs/by-name/bo/bold/package.nix new file mode 100644 index 000000000000..05e3324e6be4 --- /dev/null +++ b/pkgs/by-name/bo/bold/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + callPackage, + zig_0_13, + versionCheckHook, + gitUpdater, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "bold"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "kubkon"; + repo = "bold"; + tag = "v${finalAttrs.version}"; + hash = "sha256-7sn/8SIoT/JGdza8SpX+8usiVhqugVVMaLU1a1oMdj8="; + }; + + postPatch = '' + ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p + ''; + + nativeBuildInputs = [ + zig_0_13.hook + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = [ "-v" ]; + + passthru = { + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + meta = { + description = "Drop-in replacement for Apple system linker ld"; + homepage = "https://github.com/kubkon/bold"; + changelog = "https://github.com/kubkon/bold/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ DimitarNestorov ]; + platforms = lib.platforms.darwin; + mainProgram = "bold"; + }; +}) diff --git a/pkgs/by-name/ch/chirp/package.nix b/pkgs/by-name/ch/chirp/package.nix index 5d4fa5cd1766..9852c7bb525d 100644 --- a/pkgs/by-name/ch/chirp/package.nix +++ b/pkgs/by-name/ch/chirp/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication { pname = "chirp"; - version = "0.4.0-unstable-2025-01-22"; + version = "0.4.0-unstable-2025-02-05"; pyproject = true; src = fetchFromGitHub { owner = "kk7ds"; repo = "chirp"; - rev = "470a8a0a5c5a878a72233339998f2e527dd32ff2"; - hash = "sha256-H5N4YahSoMeKC+j6D6xj0MrZFUqcupvuqnahKhrq+sU="; + rev = "3082a03e3eb41a77a4763c75bc6f87dec3209555"; + hash = "sha256-/aOmed/1Po+RIjDHubZwtPTWJbxP6IU6IVOwOPDdthU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ha/hacompanion/package.nix b/pkgs/by-name/ha/hacompanion/package.nix index 5e0529074157..327d54960ba0 100644 --- a/pkgs/by-name/ha/hacompanion/package.nix +++ b/pkgs/by-name/ha/hacompanion/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "hacompanion"; - version = "1.0.17"; + version = "1.0.21"; src = fetchFromGitHub { owner = "tobias-kuendig"; repo = "hacompanion"; rev = "v${version}"; - hash = "sha256-TGYBNsHM92B65LsBwVp9mZgdYkJAvQFyIqknRFqXFaQ="; + hash = "sha256-6fj9Gs/ezISx5Llele5mrTFR0IiQzzm1wWcAywTaFPk="; }; vendorHash = "sha256-y2eSuMCDZTGdCs70zYdA8NKbuPPN5xmnRfMNK+AE/q8="; diff --git a/pkgs/by-name/ne/neovim-node-client/package.nix b/pkgs/by-name/ne/neovim-node-client/package.nix index 0e717493a958..d4113c263141 100644 --- a/pkgs/by-name/ne/neovim-node-client/package.nix +++ b/pkgs/by-name/ne/neovim-node-client/package.nix @@ -20,12 +20,11 @@ buildNpmPackage rec { inherit src; hash = "sha256-VYoJAi1RzVf5ObjuGmnuiA/1WYBWC+qYPdfWF98+oGw="; }; - npmWorkspace = "packages/neovim"; - postInstall = '' - mkdir -p $out/bin - # Overwrite the unwanted wrapper created by buildNpmPackage - ln -sf $out/lib/node_modules/neovim/bin/cli.js $out/bin/neovim-node-host + buildPhase = '' + runHook preBuild + npm run build + runHook postBuild ''; meta = { diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py index b02d918ab3b4..f879130f0336 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py @@ -2,7 +2,7 @@ # Use strings to avoid breaking standalone (e.g.: `python -m nixos_rebuild`) # usage EXECUTABLE = "@executable@" -# Use either `== "true"` if the default (e.g.: `python -m nixos_rebuld`) is +# Use either `== "true"` if the default (e.g.: `python -m nixos_rebuild`) is # `False` or `!= "false"` if the default is `True` WITH_NIX_2_18 = "@withNix218@" != "false" # type: ignore WITH_REEXEC = "@withReexec@" == "true" # type: ignore diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py index 90ab6d27f41b..7f0183d7c381 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py @@ -14,7 +14,7 @@ type ImageVariants = dict[str, str] class NRError(Exception): "nixos-rebuild general error." - def __init__(self, message: str): + def __init__(self, message: str) -> None: self.message = message @override diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index 66f561ac4fef..79048f83e7fd 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -433,14 +433,14 @@ def list_generations(profile: Profile) -> list[GenerationJson]: ) try: nixos_version = (generation_path / "nixos-version").read_text().strip() - except IOError as ex: + except OSError as ex: logger.debug("could not get nixos-version: %s", ex) nixos_version = "Unknown" try: kernel_version = next( (generation_path / "kernel-modules/lib/modules").iterdir() ).name - except IOError as ex: + except OSError as ex: logger.debug("could not get kernel version: %s", ex) kernel_version = "Unknown" specialisations = [ @@ -451,7 +451,7 @@ def list_generations(profile: Profile) -> list[GenerationJson]: [generation_path / "sw/bin/nixos-version", "--configuration-revision"], capture_output=True, ).stdout.strip() - except (CalledProcessError, IOError) as ex: + except (OSError, CalledProcessError) as ex: logger.debug("could not get configuration revision: %s", ex) configuration_revision = "Unknown" @@ -583,7 +583,7 @@ def switch_to_configuration( ) -def upgrade_channels(all: bool = False) -> None: +def upgrade_channels(all_channels: bool = False) -> None: """Upgrade channels for classic Nix. It will either upgrade just the `nixos` channel (including any channel @@ -591,7 +591,7 @@ def upgrade_channels(all: bool = False) -> None: """ for channel_path in Path("/nix/var/nix/profiles/per-user/root/channels/").glob("*"): if channel_path.is_dir() and ( - all + all_channels or channel_path.name == "nixos" or (channel_path / ".update-on-nixos-rebuild").exists() ): diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py index 8905ab274508..de37bd615512 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py @@ -3,9 +3,10 @@ import logging import os import shlex import subprocess +from collections.abc import Sequence from dataclasses import dataclass from getpass import getpass -from typing import Final, Self, Sequence, TypedDict, Unpack +from typing import Final, Self, TypedDict, Unpack from . import tmpdir @@ -91,7 +92,7 @@ def run_wrapper( ) -> subprocess.CompletedProcess[str]: "Wrapper around `subprocess.run` that supports extra functionality." env = None - input = None + process_input = None if remote: if extra_env: extra_env_args = [f"{env}={value}" for env, value in extra_env.items()] @@ -99,7 +100,7 @@ def run_wrapper( if sudo: if remote.sudo_password: args = ["sudo", "--prompt=", "--stdin", *args] - input = remote.sudo_password + "\n" + process_input = remote.sudo_password + "\n" else: args = ["sudo", *args] args = [ @@ -132,7 +133,7 @@ def run_wrapper( args, check=check, env=env, - input=input, + input=process_input, # Hope nobody is using NixOS with non-UTF8 encodings, but "surrogateescape" # should still work in those systems. text=True, diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py index 5a53d2d7ef37..b5057e0cc255 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py @@ -1,13 +1,13 @@ import logging from collections.abc import Mapping, Sequence -from typing import Any, assert_never, override +from typing import Any, ClassVar, assert_never, override type Arg = bool | str | list[str] | list[list[str]] | int | None type Args = dict[str, Arg] class LogFormatter(logging.Formatter): - formatters = { + formatters: ClassVar = { logging.INFO: logging.Formatter("%(message)s"), logging.DEBUG: logging.Formatter("%(levelname)s: %(name)s: %(message)s"), "DEFAULT": logging.Formatter("%(levelname)s: %(message)s"), @@ -37,7 +37,7 @@ def dict_to_flags(d: Args | None) -> list[str]: case int() if len(key) == 1: flags.append(f"-{key * value}") case int(): - for i in range(value): + for _ in range(value): flags.append(flag) case str(): flags.append(flag) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml index 018d156fd381..7874c217468d 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml @@ -39,12 +39,32 @@ ignore_missing_imports = true [tool.ruff.lint] extend-select = [ + # Enforce type annotations + "ANN", + # don't shadow built-in names + "A", + # Better list/set/dict comprehensions + "C4", + # Check for debugger statements + "T10", # ensure imports are sorted "I", + # Automatically upgrade syntax for newer versions + "UP", + # detect common sources of bugs + "B", + # Ruff specific rules + "RUF", # require `check` argument for `subprocess.run` "PLW1510", # check for needless exception names in raise statements "TRY201", + # Pythonic naming conventions + "N", +] +ignore = [ + # allow Any type + "ANN401" ] [tool.ruff.lint.per-file-ignores] diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index bfd8dba0a58c..a2bf189ad716 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -132,7 +132,7 @@ def test_build_remote(mock_uuid4: Any, mock_run: Any, monkeypatch: MonkeyPatch) Path("/path/to/file"), ], extra_env={ - "NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS + ["--ssh opts"]) + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"]) }, ), call( @@ -206,7 +206,7 @@ def test_build_remote_flake( Path("/path/to/file"), ], extra_env={ - "NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS + ["--ssh opts"]) + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh opts"]) }, ), call( @@ -247,14 +247,14 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None: mock_run.assert_called_with( ["nix-copy-closure", "--copy-flag", "--from", "user@build.host", closure], extra_env={ - "NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS + ["--ssh build-opt"]) + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh build-opt"]) }, ) monkeypatch.setenv("NIX_SSHOPTS", "--ssh build-target-opt") monkeypatch.setattr(n, "WITH_NIX_2_18", True) extra_env = { - "NIX_SSHOPTS": " ".join(p.SSH_DEFAULT_OPTS + ["--ssh build-target-opt"]) + "NIX_SSHOPTS": " ".join([*p.SSH_DEFAULT_OPTS, "--ssh build-target-opt"]) } with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: n.copy_closure(closure, target_host, build_host, {"copy_flag": True}) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix index c92b7c6fff7f..1853a65bab86 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix @@ -28,7 +28,7 @@ let # In case we want/need to evaluate packages or the assertions or whatever, # we want to have a linux system. - # TODO: make the non-flake test use thise. + # TODO: make the non-flake test use this. linuxSystem = lib.replaceStrings [ "darwin" ] [ "linux" ] stdenv.hostPlatform.system; in diff --git a/pkgs/by-name/no/notion-app/info.json b/pkgs/by-name/no/notion-app/info.json index 9b8664d7a88c..54d8c053f82b 100644 --- a/pkgs/by-name/no/notion-app/info.json +++ b/pkgs/by-name/no/notion-app/info.json @@ -1,12 +1,12 @@ { "x86_64-darwin": { - "version": "4.3.0", - "url": "https://desktop-release.notion-static.com/Notion-4.3.0.zip", - "hash": "sha512-shh85dNtzDrUGXbjODdtxpDlgQlF76a/PWDiuLrbx/GUn5xTVZkCCfTGEkSBInfjzJ0Z4iNJ/WlAXPvTGFJLiw==" + "version": "4.5.0", + "url": "https://desktop-release.notion-static.com/Notion-4.5.0.zip", + "hash": "sha512-Baznq09QdCRsIpZFU7ySDHFNCiZD1v6st4HykBRhObXWY3xG2Hkwy9K+UD2ud0tyXesyMSqpnuO/4OTKNUeyAg==" }, "aarch64-darwin": { - "version": "4.3.0", - "url": "https://desktop-release.notion-static.com/Notion-arm64-4.3.0.zip", - "hash": "sha512-LcHKB1nVc2VnfrtLKlkBfxlFvTTIlACIazNOMr4ZjHj8N7Trg1oai5wdH/sA+mKFhHiWH5fzHk8QIuCLwjMK4A==" + "version": "4.5.0", + "url": "https://desktop-release.notion-static.com/Notion-arm64-4.5.0.zip", + "hash": "sha512-2DgGe4G0N4dXCeu1H/FIv1Vi3aY27G5QYyv5pGa0g8p8OvMSIwN5vjKEAmD98q3prPM7rMiTgnPyjO7qpSLfzw==" } } diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix index ef336615cc06..459e833cbf2e 100644 --- a/pkgs/by-name/pi/pixi/package.nix +++ b/pkgs/by-name/pi/pixi/package.nix @@ -14,17 +14,17 @@ rustPlatform.buildRustPackage rec { pname = "pixi"; - version = "0.40.2"; + version = "0.40.3"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "pixi"; tag = "v${version}"; - hash = "sha256-FR1eqWFCrDtfJld1vlt3KB1X2cORRXl9NF0cex18UKE="; + hash = "sha256-PxG5bbHcpPOc4wAqxsiGkw1NeS3ya4/cZcDSg4LgX6Q="; }; useFetchCargoVendor = true; - cargoHash = "sha256-8S2UInDpcxA3BdKnxZLrfrUN6v2MSmvBrVHJyTBAEqQ="; + cargoHash = "sha256-0jWtbCcj4BTCBuW+KenBG/MCcRWWn8WHrTEJdkIyMes="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ro/rocksndiamonds/package.nix b/pkgs/by-name/ro/rocksndiamonds/package.nix index ac232630776c..388c2f5ac0f8 100644 --- a/pkgs/by-name/ro/rocksndiamonds/package.nix +++ b/pkgs/by-name/ro/rocksndiamonds/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "rocksndiamonds"; - version = "4.4.0.2"; + version = "4.4.0.3"; src = fetchurl { url = "https://www.artsoft.org/RELEASES/linux/${pname}/${pname}-${version}-linux.tar.gz"; - hash = "sha256-qE78cJIEwWN6b54VhJwqFKLXvTgHdL1+Upy1DJnfWD8="; + hash = "sha256-fFzN4UEI4b2yGyda5FJ+l/9D88wikYjugtx8/9IKptk="; }; desktopItem = makeDesktopItem { diff --git a/pkgs/by-name/sh/shtris/package.nix b/pkgs/by-name/sh/shtris/package.nix new file mode 100644 index 000000000000..36dc8a144883 --- /dev/null +++ b/pkgs/by-name/sh/shtris/package.nix @@ -0,0 +1,45 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "shtris"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "ContentsViewer"; + repo = "shtris"; + tag = "v${finalAttrs.version}"; + hash = "sha256-lAuDM6461fR+i3KkgcCcytRT6llSj0kEoqK6N8Q3kVI="; + }; + + dontConfigure = true; + + installPhase = '' + runHook preInstall + + install --mode=555 -D --target-directory=$out/bin shtris + + runHook postInstall + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Pure shell script (sh) that implements the Tetris game following the Tetris Guideline (2009)"; + homepage = "https://github.com/ContentsViewer/shtris"; + changelog = "https://github.com/ContentsViewer/shtris/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ xiaoxiangmoe ]; + mainProgram = "shtris"; + }; +}) diff --git a/pkgs/by-name/sk/skypeforlinux/package.nix b/pkgs/by-name/sk/skypeforlinux/package.nix index 40d68b0bbe95..730fc685cfed 100644 --- a/pkgs/by-name/sk/skypeforlinux/package.nix +++ b/pkgs/by-name/sk/skypeforlinux/package.nix @@ -42,8 +42,8 @@ let # Please keep the version x.y.0.z and do not update to x.y.76.z because the # source of the latter disappears much faster. - version = "8.134.0.202"; - revision = "378"; + version = "8.136.0.202"; + revision = "380"; rpath = lib.makeLibraryPath [ @@ -103,7 +103,7 @@ let fetchurl { name = "skypeforlinux-${version}-${revision}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${revision}.snap"; - hash = "sha512-AJ2kPitiDcnpJwJtRO0Yc8ypFdrVEFACwCt2hJM163oKKsQEqdyhUdEBigT43HrFPW74T8kRcoTbRuPLOGw0FQ=="; + hash = "sha512-dpPpA9/EeBKf2J48aKoDhYJlDdULirp17WI199MN38ceb/KhCUuen8KslH70cJpAlMgAPMYC7sRlgMKdS8wTdQ=="; } else throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/by-name/sp/spatialite_tools/package.nix b/pkgs/by-name/sp/spatialite_tools/package.nix index ab23d29b8416..03deae8f639c 100644 --- a/pkgs/by-name/sp/spatialite_tools/package.nix +++ b/pkgs/by-name/sp/spatialite_tools/package.nix @@ -43,6 +43,13 @@ stdenv.mkDerivation rec { sqlite ]; + env = { + NIX_LDFLAGS = toString [ + "-lxml2" + (lib.optionalString stdenv.hostPlatform.isDarwin "-liconv") + ]; + }; + enableParallelBuilding = true; passthru.tests.version = testers.testVersion { diff --git a/pkgs/by-name/to/tooling-language-server/package.nix b/pkgs/by-name/to/tooling-language-server/package.nix new file mode 100644 index 000000000000..3a90b7ea2433 --- /dev/null +++ b/pkgs/by-name/to/tooling-language-server/package.nix @@ -0,0 +1,37 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +rustPlatform.buildRustPackage rec { + pname = "tooling-language-server"; + version = "0.4.2"; + + src = fetchFromGitHub { + owner = "filiptibell"; + repo = "tooling-language-server"; + tag = "v${version}"; + hash = "sha256-4jwL2XD4bK3QnsQ/nOLySjp6e5nGB8jUOf6reYzNrAc="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-L7LfnF9C6JNjY9pGJb0uuj38H9KI3vkkvtx7QCB1GO0="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Language server for tools and package managers"; + homepage = "https://github.com/filiptibell/tooling-language-server"; + changelog = "https://github.com/filiptibell/tooling-language-server/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mpl20; + maintainers = with lib.maintainers; [ niklaskorz ]; + mainProgram = "tooling-language-server"; + }; +} diff --git a/pkgs/by-name/tr/trdsql/package.nix b/pkgs/by-name/tr/trdsql/package.nix new file mode 100644 index 000000000000..f65507440646 --- /dev/null +++ b/pkgs/by-name/tr/trdsql/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +buildGoModule rec { + pname = "trdsql"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "noborus"; + repo = "trdsql"; + tag = "v${version}"; + hash = "sha256-MkjQAOIXnydEmOFnnYrvE2TF2I0GqSrSRUAjd+/hHwc="; + }; + + vendorHash = "sha256-PoIa58vdDPYGL9mjEeudRYqPfvvr3W+fX5c+NgRIoLg="; + + ldflags = [ + "-s" + "-w" + "-X github.com/noborus/trdsql.Version=${version}" + ]; + + # macOS panic: open /etc/protocols: operation not permitted + # vendor/modernc.org/libc/libc_darwin.go import vendor/modernc.org/libc/honnef.co/go/netdb + # https://gitlab.com/cznic/libc/-/blob/v1.61.6/honnef.co/go/netdb/netdb.go#L697 + # https://gitlab.com/cznic/libc/-/blob/v1.61.6/honnef.co/go/netdb/netdb.go#L733 + # this two line read /etc/protocols and /etc/services, which is blocked by darwin sandbox + doCheck = !stdenv.hostPlatform.isDarwin; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "-version"; + installCheckPhase = '' + runHook preInstallCheck + + expected="1,(NULL),v" + result=$(echo "1,,v" | $out/bin/trdsql -inull "" -onull "(NULL)" "SELECT * FROM -") + if [[ "$result" != "$expected" ]]; then + echo "Test gave '$result'. Expected: '$expected'" + exit 1 + fi + + runHook postInstallCheck + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI tool for execute SQL queries on CSV, LTSV, JSON, YAML and TBLN with various output formats"; + homepage = "https://github.com/noborus/trdsql"; + changelog = "https://github.com/noborus/trdsql/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ xiaoxiangmoe ]; + mainProgram = "trdsql"; + }; +} diff --git a/pkgs/by-name/vi/virtiofsd/package.nix b/pkgs/by-name/vi/virtiofsd/package.nix index 84dfc2e9237a..700ab7efd4f1 100644 --- a/pkgs/by-name/vi/virtiofsd/package.nix +++ b/pkgs/by-name/vi/virtiofsd/package.nix @@ -2,19 +2,19 @@ rustPlatform.buildRustPackage rec { pname = "virtiofsd"; - version = "1.13.0"; + version = "1.13.1"; src = fetchFromGitLab { owner = "virtio-fs"; repo = "virtiofsd"; rev = "v${version}"; - hash = "sha256-IM1xdwiP2NhWpxnyHzwXhsSL4bw2jH0IZLcVhY+Gr50="; + hash = "sha256-QT0GfE0AOrNuL7ppiKNs6IKbCtdkfAnAT3PCGujMIUQ="; }; separateDebugInfo = true; useFetchCargoVendor = true; - cargoHash = "sha256-skGU3eA4nN55+EUBlB/C5kHP/RmQBexw3Cf0e4TzSyA="; + cargoHash = "sha256-Gbnve7YjFvGCvDjlZ7HuvvIIAgJjHulN/Qwyf48lr0Y="; LIBCAPNG_LIB_PATH = "${lib.getLib libcap_ng}/lib"; LIBCAPNG_LINK_TYPE = diff --git a/pkgs/by-name/ws/wstunnel/package.nix b/pkgs/by-name/ws/wstunnel/package.nix index 316e88117602..d2862dcb1984 100644 --- a/pkgs/by-name/ws/wstunnel/package.nix +++ b/pkgs/by-name/ws/wstunnel/package.nix @@ -8,7 +8,7 @@ }: let - version = "10.1.8"; + version = "10.1.9"; in rustPlatform.buildRustPackage { @@ -18,15 +18,17 @@ rustPlatform.buildRustPackage { src = fetchFromGitHub { owner = "erebe"; repo = "wstunnel"; - rev = "v${version}"; - hash = "sha256-A2c4DAHne0N96bJnjvpaI6vd2pAb4Edi45vbDWayZpo="; + tag = "v${version}"; + hash = "sha256-39VPPPBKUhl17PJBa7wJi0H4jghTRjy9cFgihgK+mFE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-iKGt+CjshkUE5w68ZJ9x2+3mAYQJO/oDMs/M8ARL5Po="; + cargoHash = "sha256-3+vq/IJ526t7UQ6FcrTKOD1umUD07amCa3b0myfbxrI="; + + cargoBuildFlags = [ "--package wstunnel-cli" ]; nativeBuildInputs = [ versionCheckHook ]; - + versionCheckProgramArg = "--version"; doInstallCheck = true; checkFlags = [ diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index b948fcf5f51f..6ebb25b2e56f 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -96,7 +96,7 @@ let in rustPlatform.buildRustPackage rec { pname = "zed-editor"; - version = "0.172.8"; + version = "0.172.9"; outputs = [ "out" ] ++ lib.optional buildRemoteServer "remote_server"; @@ -104,7 +104,7 @@ rustPlatform.buildRustPackage rec { owner = "zed-industries"; repo = "zed"; tag = "v${version}"; - hash = "sha256-QHwMmngcUPBU+OE2/2+I4IaNvWCW25CxUtmYPzR6Tg8="; + hash = "sha256-mS2LyeqaFRL0M+6ZkmBowOOK0AJJIKiLpLjAvO7nqX0="; }; patches = [ @@ -124,7 +124,7 @@ rustPlatform.buildRustPackage rec { ''; useFetchCargoVendor = true; - cargoHash = "sha256-8+ylH8WmOLcT6nENQdtGPp5NG6NPoSBeV7XRX3CHIuw="; + cargoHash = "sha256-G+/dAVlh+uHsQx7Lymi8tkKclwPjgtuKBX2d9KUc/IU="; nativeBuildInputs = [ diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index d07614b9ac16..99e9b85d39d6 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -11,12 +11,12 @@ let pname = "elixir-ls"; - version = "0.26.2"; + version = "0.26.4"; src = fetchFromGitHub { owner = "elixir-lsp"; repo = "elixir-ls"; rev = "v${version}"; - hash = "sha256-ELjZFGzUQ14iUj2/WD55a6Yf8EMOEjb7MnCx0Nyg/vQ="; + hash = "sha256-wS1pquRe+VyCSbsnKjjdvm/59TCrbQjBJJrlHUd+xiE="; }; in mixRelease { @@ -32,7 +32,7 @@ mixRelease { mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version elixir; - hash = "sha256-I0u3eovTYNm0ncBCTEztg5fhLiLk+WNqcKfj3Za12zc="; + hash = "sha256-2P4CDy8W0Rbfm2/PpoZIaOe6eEZG7XKyCeybbX+dVZ4="; }; # elixir-ls is an umbrella app diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index 5023504d6d15..7c3c7a0fdb38 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { pname = "ispc"; - version = "1.26.0"; + version = "1.25.3"; dontFixCmake = true; # https://github.com/NixOS/nixpkgs/pull/232522#issuecomment-2133803566 @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-PjETaRBrg3d86y6fguePTovq+3GaYw6eLqcY59+vIr8="; + sha256 = "sha256-baTJNfhOSYfJJnrutkW06AIMXpVP3eBpEes0GSI1yGY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/interpreters/erlang/27.nix b/pkgs/development/interpreters/erlang/27.nix index 132c3fd2712f..0c4d0eef9745 100644 --- a/pkgs/development/interpreters/erlang/27.nix +++ b/pkgs/development/interpreters/erlang/27.nix @@ -1,6 +1,6 @@ { mkDerivation }: mkDerivation { - version = "27.2.1"; - sha256 = "sha256-39X4aGuYe7aJaQiRBjla7GInKoTHXmRIeRq8Ejqk6jM="; + version = "27.2.2"; + sha256 = "sha256-U/mBMMAkVJ6M4b26sTECBCPLJgX3HiFFPPwDuvY7SHg="; } diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 778ef56a9779..4dfca48839bd 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -2565,14 +2565,14 @@ buildLuarocksPackage { lze = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }: buildLuarocksPackage { pname = "lze"; - version = "0.7.0-1"; + version = "0.7.5-1"; knownRockspec = (fetchurl { - url = "mirror://luarocks/lze-0.7.0-1.rockspec"; - sha256 = "1qrrn96v13paw57vm783yvgzbfr3pj5j8qfi6qf0b72f27b8sxlh"; + url = "mirror://luarocks/lze-0.7.5-1.rockspec"; + sha256 = "1j5f2hs6pvlgpp9r42qlp6b1cbm4sagv373bf40xjgshzxhjf48j"; }).outPath; src = fetchzip { - url = "https://github.com/BirdeeHub/lze/archive/v0.7.0.zip"; - sha256 = "1r44fxgl4327l0czq6rp80hf6hy7vp3qfqcamx59hw5zgi5hymv1"; + url = "https://github.com/BirdeeHub/lze/archive/v0.7.5.zip"; + sha256 = "1f1vmv2j3g1f54071yzgxk3np5zxsm9hmckimfs348x873bbr967"; }; disabled = luaOlder "5.1"; diff --git a/pkgs/development/ocaml-modules/curses/default.nix b/pkgs/development/ocaml-modules/curses/default.nix index 7825a51b92b1..dea0a2f0d985 100644 --- a/pkgs/development/ocaml-modules/curses/default.nix +++ b/pkgs/development/ocaml-modules/curses/default.nix @@ -1,49 +1,35 @@ { lib, - stdenv, + buildDunePackage, fetchFromGitHub, - ocaml, - findlib, ncurses, + dune-configurator, + pkg-config, }: -stdenv.mkDerivation rec { - pname = "ocaml-curses"; - version = "1.0.8"; +buildDunePackage rec { + pname = "curses"; + version = "1.0.11"; + + minimalOCamlVersion = "4.06"; src = fetchFromGitHub { owner = "mbacarella"; repo = "curses"; rev = version; - sha256 = "0yy3wf8i7jgvzdc40bni7mvpkvclq97cgb5fw265mrjj0iqpkqpd"; + hash = "sha256-tjBOv7RARDzBShToNLL9LEaU/Syo95MfwZunFsyN4/Q="; }; - strictDeps = true; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ ncurses ]; - nativeBuildInputs = [ - ocaml - findlib - ]; - - # Fix build for recent ncurses versions - env.NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS=1"; - - createFindlibDestdir = true; - - postPatch = '' - substituteInPlace curses.ml --replace "pp gcc" "pp $CC" - ''; - - buildPhase = "make all opt"; - - meta = with lib; { + meta = { description = "OCaml Bindings to curses/ncurses"; homepage = "https://github.com/mbacarella/curses"; - license = licenses.lgpl21Plus; + license = lib.licenses.lgpl21Plus; changelog = "https://github.com/mbacarella/curses/raw/${version}/CHANGES"; - maintainers = [ ]; - inherit (ocaml.meta) platforms; + maintainers = [ lib.maintainers.vbgl ]; }; } diff --git a/pkgs/development/ocaml-modules/postgresql/default.nix b/pkgs/development/ocaml-modules/postgresql/default.nix index ab78b3f524a6..817bffd50b59 100644 --- a/pkgs/development/ocaml-modules/postgresql/default.nix +++ b/pkgs/development/ocaml-modules/postgresql/default.nix @@ -1,26 +1,24 @@ -{ lib, fetchFromGitHub, buildDunePackage, dune-configurator, libpq }: +{ lib, fetchurl, buildDunePackage, pkg-config, dune-configurator, libpq }: buildDunePackage rec { pname = "postgresql"; - version = "5.0.0"; + version = "5.1.3"; - useDune2 = true; + minimalOCamlVersion = "4.12"; - minimalOCamlVersion = "4.08"; - - src = fetchFromGitHub { - owner = "mmottl"; - repo = "postgresql-ocaml"; - rev = version; - sha256 = "1i4pnh2v00i0s7s9pcwz1x6s4xcd77d08gjjkvy0fmda6mqq6ghn"; + src = fetchurl { + url = "https://github.com/mmottl/postgresql-ocaml/releases/download/${version}/postgresql-${version}.tbz"; + hash = "sha256-RipVP8mj+tYwO8LrVASvVc36ZAJYjMI4x6Uj5J50Eww="; }; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ libpq ]; meta = { description = "Bindings to the PostgreSQL library"; license = lib.licenses.lgpl21Plus; + changelog = "https://raw.githubusercontent.com/mmottl/postgresql-ocaml/refs/tags/${version}/CHANGES.md"; maintainers = with lib.maintainers; [ bcc32 ]; homepage = "https://mmottl.github.io/postgresql-ocaml"; }; diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix index 2fb3c2857816..8efb022958c4 100644 --- a/pkgs/development/ocaml-modules/vg/default.nix +++ b/pkgs/development/ocaml-modules/vg/default.nix @@ -9,23 +9,21 @@ uchar, result, gg, - uutf, otfm, - js_of_ocaml, - js_of_ocaml-ppx, - pdfBackend ? true, # depends on uutf and otfm - htmlcBackend ? true, # depends on js_of_ocaml + brr, + pdfBackend ? true, # depends on otfm + htmlcBackend ? true, # depends on brr }: let inherit (lib) optionals versionOlder; pname = "vg"; - version = "0.9.4"; + version = "0.9.5"; webpage = "https://erratique.ch/software/${pname}"; in -if versionOlder ocaml.version "4.03" then +if versionOlder ocaml.version "4.14" then throw "vg is not available for OCaml ${ocaml.version}" else @@ -35,7 +33,7 @@ else src = fetchurl { url = "${webpage}/releases/${pname}-${version}.tbz"; - sha256 = "181sz6l5xrj5jvwg4m2yqsjzwp2s5h8v0mwhjcwbam90kdfx2nak"; + hash = "sha256-qcTtvIfSUwzpUZDspL+54UTNvWY6u3BTvfGWF6c0Jvw="; }; nativeBuildInputs = [ @@ -52,21 +50,18 @@ else gg ] ++ optionals pdfBackend [ - uutf otfm ] ++ optionals htmlcBackend [ - js_of_ocaml - js_of_ocaml-ppx + brr ]; strictDeps = true; buildPhase = topkg.buildPhase - + " --with-uutf ${lib.boolToString pdfBackend}" + " --with-otfm ${lib.boolToString pdfBackend}" - + " --with-js_of_ocaml ${lib.boolToString htmlcBackend}" + + " --with-brr ${lib.boolToString htmlcBackend}" + " --with-cairo2 false"; inherit (topkg) installPhase; diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix index 30f6c81c851d..e196257a8377 100644 --- a/pkgs/development/python-modules/behave/default.nix +++ b/pkgs/development/python-modules/behave/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, buildPythonPackage, python, pythonOlder, @@ -31,6 +32,14 @@ buildPythonPackage rec { hash = "sha256-G1o0a57MRczwjGLl/tEYC+yx3nxpk6+E58RvR9kVJpA="; }; + patches = [ + # fix tests: https://github.com/behave/behave/pull/1214 + (fetchpatch2 { + url = "https://github.com/behave/behave/pull/1214/commits/98b63a2524eff50ce1dc7360a46462a6f673c5ea.patch?full_index=1"; + hash = "sha256-MwODEm6vhg/H8ksp5XBBP5Uhu2dhB5B1T6Owkxpy3v0="; + }) + ]; + build-system = [ setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/dnachisel/default.nix b/pkgs/development/python-modules/dnachisel/default.nix index e9e2dfe8fb64..e2e7de4adb18 100644 --- a/pkgs/development/python-modules/dnachisel/default.nix +++ b/pkgs/development/python-modules/dnachisel/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "dnachisel"; - version = "3.2.12"; + version = "3.2.13"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "Edinburgh-Genome-Foundry"; repo = "DnaChisel"; tag = "v${version}"; - hash = "sha256-zoKaeK0b4EoxEQMODfrzDpI7xIKQ/w6Dmot+dw92fuw="; + hash = "sha256-XmaUkmRGD1py5+8gfRe/6WegX1bOQtbTDDUT6RO2rBk="; }; propagatedBuildInputs = [ @@ -62,7 +62,7 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/Edinburgh-Genome-Foundry/DnaChisel"; description = "Optimize DNA sequences under constraints"; - changelog = "https://github.com/Edinburgh-Genome-Foundry/DnaChisel/releases/tag/v${version}"; + changelog = "https://github.com/Edinburgh-Genome-Foundry/DnaChisel/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ prusnak ]; }; diff --git a/pkgs/development/python-modules/docling-core/default.nix b/pkgs/development/python-modules/docling-core/default.nix index 0a29b1402a78..89ca308e3299 100644 --- a/pkgs/development/python-modules/docling-core/default.nix +++ b/pkgs/development/python-modules/docling-core/default.nix @@ -11,6 +11,7 @@ pydantic, tabulate, pyyaml, + semchunk, typing-extensions, transformers, typer, @@ -46,27 +47,31 @@ buildPythonPackage rec { pyyaml typing-extensions transformers - # semchunk + semchunk typer latex2mathml ]; pythonRelaxDeps = [ "pillow" + "typer" ]; pythonImportsCheck = [ "docling_core" ]; - doCheck = false; - nativeCheckInputs = [ jsondiff pytestCheckHook requests ]; + disabledTestPaths = [ + # attempts to download models + "test/test_hybrid_chunker.py" + ]; + meta = { changelog = "https://github.com/DS4SD/docling-core/blob/${src.tag}/CHANGELOG.md"; description = "Python library to define and validate data types in Docling"; diff --git a/pkgs/development/python-modules/docling/default.nix b/pkgs/development/python-modules/docling/default.nix index 2b4da1b58523..fee19768aedf 100644 --- a/pkgs/development/python-modules/docling/default.nix +++ b/pkgs/development/python-modules/docling/default.nix @@ -91,6 +91,7 @@ buildPythonPackage rec { pythonRelaxDeps = [ "pillow" + "typer" ]; optional-dependencies = { diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix index 9bc1934d25ed..21ea714eb967 100644 --- a/pkgs/development/python-modules/dvc-data/default.nix +++ b/pkgs/development/python-modules/dvc-data/default.nix @@ -1,16 +1,18 @@ { lib, + attrs, buildPythonPackage, dictdiffer, diskcache, dvc-objects, fetchFromGitHub, - funcy, + fsspec, + orjson, pygtrie, pythonOlder, setuptools-scm, - shortuuid, sqltrie, + tqdm, }: buildPythonPackage rec { @@ -18,7 +20,7 @@ buildPythonPackage rec { version = "3.16.9"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "iterative"; @@ -30,13 +32,15 @@ buildPythonPackage rec { build-system = [ setuptools-scm ]; dependencies = [ + attrs dictdiffer diskcache dvc-objects - funcy + fsspec + orjson pygtrie - shortuuid sqltrie + tqdm ]; # Tests depend on upath which is unmaintained and only available as wheel @@ -46,10 +50,10 @@ buildPythonPackage rec { meta = with lib; { description = "DVC's data management subsystem"; - mainProgram = "dvc-data"; homepage = "https://github.com/iterative/dvc-data"; changelog = "https://github.com/iterative/dvc-data/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "dvc-data"; }; } diff --git a/pkgs/development/python-modules/mpire/default.nix b/pkgs/development/python-modules/mpire/default.nix new file mode 100644 index 000000000000..d54eda65ea78 --- /dev/null +++ b/pkgs/development/python-modules/mpire/default.nix @@ -0,0 +1,84 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + wheel, + importlib-resources, + pygments, + tqdm, + flask, + multiprocess, + docutils, + sphinx, + sphinx-autodoc-typehints, + sphinx-rtd-theme, + sphinx-versions, + sphinxcontrib-images, + ipywidgets, + numpy, + rich, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "mpire"; + version = "2.10.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sybrenjansen"; + repo = "mpire"; + tag = "v${version}"; + hash = "sha256-6O+k8gSMCu4zhj7KzbsC5UUCU/TG/g3dYsGVuvcy25E="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + importlib-resources + pygments + tqdm + ]; + + optional-dependencies = { + dashboard = [ + flask + ]; + dill = [ + multiprocess + ]; + docs = [ + docutils + sphinx + sphinx-autodoc-typehints + sphinx-rtd-theme + sphinx-versions + sphinxcontrib-images + ]; + testing = [ + ipywidgets + multiprocess + numpy + rich + ]; + }; + + pythonImportsCheck = [ + "mpire" + ]; + + nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.testing; + + pytestFlagsArray = [ "tests" ]; + + meta = { + description = "A Python package for easy multiprocessing, but faster than multiprocessing"; + homepage = "https://pypi.org/project/mpire/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ booxter ]; + }; +} diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix index 0937fc0269c5..610e9c58b5ce 100644 --- a/pkgs/development/python-modules/playwright/default.nix +++ b/pkgs/development/python-modules/playwright/default.nix @@ -22,15 +22,15 @@ in buildPythonPackage rec { pname = "playwright"; # run ./pkgs/development/python-modules/playwright/update.sh to update - version = "1.49.1"; + version = "1.50.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "microsoft"; repo = "playwright-python"; tag = "v${version}"; - hash = "sha256-RwUjFofC/scwVClKncYWp3RbIUeKsWokVjcGibdrrtc="; + hash = "sha256-g32QwEA4Ofzh7gVEsC++uA/XqT1eIrUH+fQi15SRxko="; }; patches = [ @@ -52,13 +52,12 @@ buildPythonPackage rec { git commit -m "workaround setuptools-scm" substituteInPlace pyproject.toml \ - --replace 'requires = ["setuptools==75.5.0", "setuptools-scm==8.1.0", "wheel==0.45.0", "auditwheel==6.1.0"]' \ - 'requires = ["setuptools", "setuptools-scm", "wheel"]' + --replace-fail 'requires = ["setuptools==75.6.0", "setuptools-scm==8.1.0", "wheel==0.45.1", "auditwheel==6.2.0"]' \ + 'requires = ["setuptools", "setuptools-scm", "wheel"]' - # Skip trying to download and extract the driver. + # setup.py downloads and extracts the driver. # This is done manually in postInstall instead. - substituteInPlace setup.py \ - --replace "self._download_and_extract_local_driver(base_wheel_bundles)" "" + rm setup.py # Set the correct driver path with the help of a patch in patches substituteInPlace playwright/_impl/_driver.py \ @@ -101,6 +100,9 @@ buildPythonPackage rec { // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit (nixosTests) playwright-python; }; + # Package and playwright driver versions are tightly coupled. + # Use the update script to ensure synchronized updates. + skipBulkUpdate = true; updateScript = ./update.sh; }; diff --git a/pkgs/development/python-modules/playwright/driver-location.patch b/pkgs/development/python-modules/playwright/driver-location.patch index 096b9f5ba6e7..66a574e2f9fd 100644 --- a/pkgs/development/python-modules/playwright/driver-location.patch +++ b/pkgs/development/python-modules/playwright/driver-location.patch @@ -18,23 +18,3 @@ index 22b53b8..2d86626 100644 def get_driver_env() -> dict: -diff --git a/setup.py b/setup.py -index f4c93dc..15c2d06 100644 ---- a/setup.py -+++ b/setup.py -@@ -113,7 +113,6 @@ class PlaywrightBDistWheelCommand(BDistWheelCommand): - super().run() - os.makedirs("driver", exist_ok=True) - os.makedirs("playwright/driver", exist_ok=True) -- self._download_and_extract_local_driver() - - wheel = None - if os.getenv("PLAYWRIGHT_TARGET_WHEEL", None): -@@ -139,6 +138,7 @@ class PlaywrightBDistWheelCommand(BDistWheelCommand): - self, - wheel_bundle: Dict[str, str], - ) -> None: -+ return - assert self.dist_dir - base_wheel_location: str = glob.glob(os.path.join(self.dist_dir, "*.whl"))[0] - without_platform = base_wheel_location[:-7] diff --git a/pkgs/development/python-modules/playwright/update.sh b/pkgs/development/python-modules/playwright/update.sh index a8dfacdafac2..db0086b6ed46 100755 --- a/pkgs/development/python-modules/playwright/update.sh +++ b/pkgs/development/python-modules/playwright/update.sh @@ -46,7 +46,7 @@ update_browser() { suffix="mac" fi else - if [ "$name" = "ffmpeg" ]; then + if [ "$name" = "ffmpeg" ] || [ "$name" = "chromium-headless-shell" ]; then suffix="linux" elif [ "$name" = "firefox" ]; then stripRoot="true" @@ -56,12 +56,17 @@ update_browser() { fi fi aarch64_suffix="$suffix-arm64" + if [ "$name" = "chromium-headless-shell" ]; then + buildname="chromium"; + else + buildname="$name" + fi - revision="$(jq -r ".browsers.$name.revision" "$playwright_dir/browsers.json")" + revision="$(jq -r ".browsers[\"$buildname\"].revision" "$playwright_dir/browsers.json")" replace_sha "$playwright_dir/$name.nix" "x86_64-$platform" \ - "$(prefetch_browser "https://playwright.azureedge.net/builds/$name/$revision/$name-$suffix.zip" $stripRoot)" + "$(prefetch_browser "https://playwright.azureedge.net/builds/$buildname/$revision/$name-$suffix.zip" $stripRoot)" replace_sha "$playwright_dir/$name.nix" "aarch64-$platform" \ - "$(prefetch_browser "https://playwright.azureedge.net/builds/$name/$revision/$name-$aarch64_suffix.zip" $stripRoot)" + "$(prefetch_browser "https://playwright.azureedge.net/builds/$buildname/$revision/$name-$aarch64_suffix.zip" $stripRoot)" } curl -fsSl \ @@ -77,12 +82,13 @@ curl -fsSl \ ' > "$playwright_dir/browsers.json" # We currently use Chromium from nixpkgs, so we don't need to download it here -# Likewise, darwin can be ignored here atm as we are using an impure install anyway. +update_browser "chromium-headless-shell" "linux" update_browser "firefox" "linux" update_browser "webkit" "linux" update_browser "ffmpeg" "linux" update_browser "chromium" "darwin" +update_browser "chromium-headless-shell" "darwin" update_browser "firefox" "darwin" update_browser "webkit" "darwin" update_browser "ffmpeg" "darwin" diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix index c7964b4e0c50..2a7bdf7e8863 100644 --- a/pkgs/development/python-modules/scmrepo/default.nix +++ b/pkgs/development/python-modules/scmrepo/default.nix @@ -1,10 +1,9 @@ { lib, + aiohttp-retry, asyncssh, buildPythonPackage, dulwich, - dvc-http, - dvc-objects, fetchFromGitHub, fsspec, funcy, @@ -15,7 +14,7 @@ pythonOlder, setuptools, setuptools-scm, - shortuuid, + tqdm, }: buildPythonPackage rec { @@ -38,17 +37,16 @@ buildPythonPackage rec { ]; dependencies = [ + aiohttp-retry asyncssh dulwich - dvc-http - dvc-objects fsspec funcy gitpython pathspec pygit2 pygtrie - shortuuid + tqdm ]; # Requires a running Docker instance diff --git a/pkgs/development/python-modules/semchunk/default.nix b/pkgs/development/python-modules/semchunk/default.nix new file mode 100644 index 000000000000..7d82a6b0fda4 --- /dev/null +++ b/pkgs/development/python-modules/semchunk/default.nix @@ -0,0 +1,39 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + hatchling, + mpire, + tqdm, +}: + +buildPythonPackage rec { + pname = "semchunk"; + version = "3.0.1"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-UP9nHLHGYNZm5eXHfNufDYhd9pPvrmp3HcVUFAjcAZw="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + mpire + tqdm + ]; + + pythonImportsCheck = [ + "semchunk" + ]; + + meta = { + description = "A fast, lightweight and easy-to-use Python library for splitting text into semantically meaningful chunks"; + homepage = "https://pypi.org/project/semchunk/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ booxter ]; + }; +} diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix index 10cac80341fa..3df54d42eaa8 100644 --- a/pkgs/development/python-modules/snowflake-connector-python/default.nix +++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "snowflake-connector-python"; - version = "3.12.4"; + version = "3.13.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -39,7 +39,7 @@ buildPythonPackage rec { owner = "snowflakedb"; repo = "snowflake-connector-python"; tag = "v${version}"; - hash = "sha256-6poMWKQB/NR40W39KDJwBgYGeAHsr4f1GJhPxYiTc1k="; + hash = "sha256-cBfiUaUaK7rWMD5vHC9DbedaopkGB443gOm/N9XbXYo="; }; build-system = [ diff --git a/pkgs/development/python-modules/sphinx-versions/default.nix b/pkgs/development/python-modules/sphinx-versions/default.nix new file mode 100644 index 000000000000..0a92136a0b80 --- /dev/null +++ b/pkgs/development/python-modules/sphinx-versions/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + wheel, + click, + colorclass, + sphinx, +}: + +buildPythonPackage rec { + pname = "sphinx-versions"; + version = "1.1.3"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-9ROFEjET+d2Dfg4DHx0IqUN34oGwY4AGbi7teK4YmR8="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + click + colorclass + sphinx + ]; + + pythonImportsCheck = [ + "sphinxcontrib.versioning" + ]; + + meta = { + description = "Sphinx extension that allows building versioned docs for self-hosting"; + homepage = "https://pypi.org/project/sphinx-versions/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ booxter ]; + }; +} diff --git a/pkgs/development/python-modules/sphinxcontrib-images/default.nix b/pkgs/development/python-modules/sphinxcontrib-images/default.nix new file mode 100644 index 000000000000..d4c230949184 --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-images/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + wheel, + requests, + sphinx, +}: + +buildPythonPackage rec { + pname = "sphinxcontrib-images"; + version = "0.9.4"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-9sI30EMHk+ZdkdvdsTsfsmos+DgECp3utSESlp+8Sks="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + requests + sphinx + ]; + + pythonImportsCheck = [ + "sphinxcontrib.images" + ]; + + meta = { + description = "Sphinx extension for thumbnails"; + homepage = "https://pypi.org/project/sphinxcontrib-images/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ booxter ]; + }; +} diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix index 059b35d7f3f0..0bb2324fb010 100644 --- a/pkgs/development/python-modules/yte/default.nix +++ b/pkgs/development/python-modules/yte/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "yte"; - version = "1.5.6"; + version = "1.5.7"; pyproject = true; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "koesterlab"; repo = "yte"; tag = "v${version}"; - hash = "sha256-1HiAtyVT/ihr/CdZUtgN1WA+3cLHXLcSbwN/JXP/FgQ="; + hash = "sha256-mcg002lMUjrU/AAhioSBiB+vBIU9fAUBIKLoLS/9OVI="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/tools/pnpm/default.nix b/pkgs/development/tools/pnpm/default.nix index d5cd625fb298..86d73f8db0b4 100644 --- a/pkgs/development/tools/pnpm/default.nix +++ b/pkgs/development/tools/pnpm/default.nix @@ -16,8 +16,8 @@ let hash = "sha256-hHIWjD4f0L/yh+aUsFP8y78gV5o/+VJrYzO+q432Wo0="; }; "10" = { - version = "10.2.0"; - hash = "sha256-cvFjCBIQfIcj61vkUXcl8+E/Cc/Y9xVxzynyPOMYvbc="; + version = "10.2.1"; + hash = "sha256-+Yjw2TuH4dotjN9qx/RaAcb4Q642BrTKDy/9cTuF+XU="; }; }; diff --git a/pkgs/development/web/playwright/browsers.json b/pkgs/development/web/playwright/browsers.json index 28c44ae7bfa1..c4d69d02b7e4 100644 --- a/pkgs/development/web/playwright/browsers.json +++ b/pkgs/development/web/playwright/browsers.json @@ -2,27 +2,31 @@ "comment": "This file is kept up to date via update.sh", "browsers": { "chromium": { - "revision": "1140", - "browserVersion": "130.0.6723.31" + "revision": "1155", + "browserVersion": "133.0.6943.16" }, "firefox": { - "revision": "1465", - "browserVersion": "131.0" + "revision": "1471", + "browserVersion": "134.0" }, "webkit": { - "revision": "2083", + "revision": "2123", "revisionOverrides": { + "debian11-x64": "2105", + "debian11-arm64": "2105", "mac10.14": "1446", "mac10.15": "1616", "mac11": "1816", "mac11-arm64": "1816", "mac12": "2009", - "mac12-arm64": "2009" + "mac12-arm64": "2009", + "ubuntu20.04-x64": "2092", + "ubuntu20.04-arm64": "2092" }, - "browserVersion": "18.0" + "browserVersion": "18.2" }, "ffmpeg": { - "revision": "1010", + "revision": "1011", "revisionOverrides": { "mac12": "1010", "mac12-arm64": "1010" diff --git a/pkgs/development/web/playwright/chromium-headless-shell.nix b/pkgs/development/web/playwright/chromium-headless-shell.nix new file mode 100644 index 000000000000..6ed61534688d --- /dev/null +++ b/pkgs/development/web/playwright/chromium-headless-shell.nix @@ -0,0 +1,81 @@ +{ + fetchzip, + revision, + suffix, + system, + throwSystem, + stdenv, + autoPatchelfHook, + patchelfUnstable, + + alsa-lib, + at-spi2-atk, + glib, + libXcomposite, + libXdamage, + libXfixes, + libXrandr, + libgbm, + libgcc, + libxkbcommon, + nspr, + nss, + ... +}: +let + linux = stdenv.mkDerivation { + name = "playwright-chromium-headless-shell"; + src = fetchzip { + url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-headless-shell-${suffix}.zip"; + stripRoot = false; + hash = + { + x86_64-linux = "sha256-UNLSiI9jWLev2YwqiXuoHwJfdB4teNhEfQjQRBEo8uY="; + aarch64-linux = "sha256-aVGLcJHFER09frJdKsGW/pKPl5MXoXef2hy5WTA8rS4="; + } + .${system} or throwSystem; + }; + + nativeBuildInputs = [ + autoPatchelfHook + patchelfUnstable + ]; + + buildInputs = [ + alsa-lib + at-spi2-atk + glib + libXcomposite + libXdamage + libXfixes + libXrandr + libgbm + libgcc.lib + libxkbcommon + nspr + nss + ]; + + buildPhase = '' + cp -R . $out + ''; + }; + + darwin = fetchzip { + url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-headless-shell-${suffix}.zip"; + stripRoot = false; + hash = + { + x86_64-darwin = "sha256-c26ubAgM9gQPaYqobQyS3Y7wvMUmmdpDlrYmZJrUgho="; + aarch64-darwin = "sha256-XRFqlhVx+GuDxz/kDP8TtyPQfR0JbFD0qu5OSywGTX8="; + } + .${system} or throwSystem; + }; +in +{ + x86_64-linux = linux; + aarch64-linux = linux; + x86_64-darwin = darwin; + aarch64-darwin = darwin; +} +.${system} or throwSystem diff --git a/pkgs/development/web/playwright/chromium.nix b/pkgs/development/web/playwright/chromium.nix index da0235272cca..2c355272b0fe 100644 --- a/pkgs/development/web/playwright/chromium.nix +++ b/pkgs/development/web/playwright/chromium.nix @@ -34,8 +34,8 @@ let stripRoot = false; hash = { - x86_64-darwin = "sha256-N/uh3Q2ivqeraAqRt80deVz1XEPyLTYI8L3DBfNQGWg="; - aarch64-darwin = "sha256-tR9PwGanPcsDQwi1BijeYJd9LhNIWgEoXs5u3gZpghU="; + x86_64-darwin = "sha256-seMHD+TmxrfgsN6sLN2Bp3WgAooDnlSxGN6CPw1Q790="; + aarch64-darwin = "sha256-SsIRzxTIuf/mwsYvRM2mv8PzWQAAflxOyoK5TuyhMAU="; } .${system} or throwSystem; }; diff --git a/pkgs/development/web/playwright/driver.nix b/pkgs/development/web/playwright/driver.nix index e63f9fcf349b..ab0638768a08 100644 --- a/pkgs/development/web/playwright/driver.nix +++ b/pkgs/development/web/playwright/driver.nix @@ -27,20 +27,20 @@ let } .${system} or throwSystem; - version = "1.48.1"; + version = "1.50.1"; src = fetchFromGitHub { owner = "Microsoft"; repo = "playwright"; rev = "v${version}"; - hash = "sha256-VMp/Tjd5w2v+IHD+CMaR/XdMJHkS/u7wFe0hNxa1TbE="; + hash = "sha256-s4lJRdsA4H+Uf9LjriZ6OimBl5A9Pf4fvhWDw2kOMkg="; }; babel-bundle = buildNpmPackage { pname = "babel-bundle"; inherit version src; sourceRoot = "${src.name}/packages/playwright/bundles/babel"; - npmDepsHash = "sha256-kHuNFgxmyIoxTmvT+cyzDRfKNy18zzeUH3T+gJopWeA="; + npmDepsHash = "sha256-HrDTkP2lHl2XKD8aGpmnf6YtSe/w9UePH5W9QfbaoMg="; dontNpmBuild = true; installPhase = '' cp -r . "$out" @@ -60,7 +60,7 @@ let pname = "utils-bundle"; inherit version src; sourceRoot = "${src.name}/packages/playwright/bundles/utils"; - npmDepsHash = "sha256-d+nE11x/493BexI70mVbnZFLQClU88sscbNwruXjx1M="; + npmDepsHash = "sha256-tyk9bv1ethQSm8PKDpLthwsmqJugLIpsUOf9G8TOKRc="; dontNpmBuild = true; installPhase = '' cp -r . "$out" @@ -70,7 +70,7 @@ let pname = "utils-bundle-core"; inherit version src; sourceRoot = "${src.name}/packages/playwright-core/bundles/utils"; - npmDepsHash = "sha256-aktxEDQKxsDcInyjDKDuIu4zwtrAH0lRda/mP1IayPA="; + npmDepsHash = "sha256-TarWFVp5JFCKZIvBUTohzzsFaLZHV79lN5+G9+rCP8Y="; dontNpmBuild = true; installPhase = '' cp -r . "$out" @@ -92,7 +92,7 @@ let inherit version src; sourceRoot = "${src.name}"; # update.sh depends on sourceRoot presence - npmDepsHash = "sha256-cmUmYuUL7zfB7WEBKft43r69f7vaZDEjku8uwR3RZ1A="; + npmDepsHash = "sha256-RoKw3Ie41/4DsjCeqkMhKFyjDPuvMgxajZYZhRdiTuY="; nativeBuildInputs = [ cacert ]; @@ -163,6 +163,7 @@ let browsers-chromium = browsers { withFirefox = false; withWebkit = false; + withChromiumHeadlessShell = false; }; }; }); @@ -198,6 +199,7 @@ let withFirefox ? true, withWebkit ? true, withFfmpeg ? true, + withChromiumHeadlessShell ? true, fontconfig_file ? makeFontsConf { fontDirectories = [ ]; }, @@ -205,6 +207,7 @@ let let browsers = lib.optionals withChromium [ "chromium" ] + ++ lib.optionals withChromiumHeadlessShell [ "chromium-headless-shell" ] ++ lib.optionals withFirefox [ "firefox" ] ++ lib.optionals withWebkit [ "webkit" ] ++ lib.optionals withFfmpeg [ "ffmpeg" ]; @@ -214,11 +217,12 @@ let map ( name: let - value = playwright-core.passthru.browsersJSON.${name}; + revName = if name == "chromium-headless-shell" then "chromium" else name; + value = playwright-core.passthru.browsersJSON.${revName}; in lib.nameValuePair # TODO check platform for revisionOverrides - "${name}-${value.revision}" + "${lib.replaceStrings [ "-" ] [ "_" ] name}-${value.revision}" ( callPackage (./. + "/${name}.nix") ( { diff --git a/pkgs/development/web/playwright/ffmpeg.nix b/pkgs/development/web/playwright/ffmpeg.nix index 108b19a29214..331541e1e405 100644 --- a/pkgs/development/web/playwright/ffmpeg.nix +++ b/pkgs/development/web/playwright/ffmpeg.nix @@ -10,10 +10,10 @@ fetchzip { stripRoot = false; hash = { - x86_64-linux = "sha256-FEm62UvMv0h6Sav93WmbPLw3CW1L1xg4nD26ca5ol38="; - aarch64-linux = "sha256-jtQ+NS++VHRiKoIV++PIxEnyVnYtVwUyNlSILKSH4A4="; - x86_64-darwin = "sha256-ED6noxSDeEUt2DkIQ4gNe/kL+zHVeb2AD5klBk93F88="; - aarch64-darwin = "sha256-3Adnvb7zvMXKFOhb8uuj5kx0wEIFicmckYx9WLlNNf0="; + x86_64-linux = "sha256-AWTiui+ccKHxsIaQSgc5gWCJT5gYwIWzAEqSuKgVqZU="; + aarch64-linux = "sha256-1mOKO2lcnlwLsC6ob//xKnKrCOp94pw8X14uBxCdj0Q="; + x86_64-darwin = "sha256-zJ8BMzdneV6LlEt4I034l5u86dwW4UmO/UazWikpKV4="; + aarch64-darwin = "sha256-ky10UQj+XPVGpaWAPvKd51C5brml0y9xQ6iKcrxAMRc="; } .${system} or throwSystem; } diff --git a/pkgs/development/web/playwright/firefox.nix b/pkgs/development/web/playwright/firefox.nix index cb23a5a48262..24da9720baa4 100644 --- a/pkgs/development/web/playwright/firefox.nix +++ b/pkgs/development/web/playwright/firefox.nix @@ -17,8 +17,8 @@ let }.zip"; hash = { - x86_64-linux = "sha256-L/CJVtj9bVXKuKSLWw0wAdNICiRTg5ek+fw4togBoSI="; - aarch64-linux = "sha256-DgCuX+6KSnoHNFoFUli6S20GGHOExARasiJY9fy3CCE="; + x86_64-linux = "sha256-53DXgD/OzGo7fEp/DBX1TiBBpFSHwiluqBji6rFKTtE="; + aarch64-linux = "sha256-CBg2PgAXU1ZWUob73riEkQmn/EmIqhvOgBPSAphkAyM="; } .${system} or throwSystem; }; @@ -41,8 +41,8 @@ let stripRoot = false; hash = { - x86_64-darwin = "sha256-HJ0jBmTW/Zz2fkmSo1gEv5P58PGyhXKnJVxJ12Q4IiM="; - aarch64-darwin = "sha256-YnnG8BX06vQlJmzZGaCKq1wKGp3yRaUQ4RF+tEWoK6U="; + x86_64-darwin = "sha256-GbrbNMFv1dT8Duo2otoZvmZk4Sgj81aRNwPAGKkRlnI="; + aarch64-darwin = "sha256-/e51eJTCqr8zEeWWJNS2UgPT9Y+a33Dj619JkCVVeRs="; } .${system} or throwSystem; }; diff --git a/pkgs/development/web/playwright/webkit.nix b/pkgs/development/web/playwright/webkit.nix index 5433a4baf821..dda53162cc59 100644 --- a/pkgs/development/web/playwright/webkit.nix +++ b/pkgs/development/web/playwright/webkit.nix @@ -6,7 +6,9 @@ makeWrapper, autoPatchelfHook, patchelfUnstable, - + fetchpatch, + libjxl, + brotli, at-spi2-atk, cairo, flite, @@ -19,6 +21,7 @@ harfbuzzFull, icu70, lcms, + libavif, libdrm, libepoxy, libevent, @@ -67,6 +70,54 @@ let }; } ); + libavif' = libavif.overrideAttrs ( + finalAttrs: previousAttrs: { + version = "0.9.3"; + src = fetchFromGitHub { + owner = "AOMediaCodec"; + repo = finalAttrs.pname; + rev = "v${finalAttrs.version}"; + hash = "sha256-ME/mkaHhFeHajTbc7zhg9vtf/8XgkgSRu9I/mlQXnds="; + }; + postPatch = ""; + } + ); + + libjxl' = libjxl.overrideAttrs ( + finalAttrs: previousAttrs: { + version = "0.8.2"; + src = fetchFromGitHub { + owner = "libjxl"; + repo = "libjxl"; + rev = "v${finalAttrs.version}"; + hash = "sha256-I3PGgh0XqRkCFz7lUZ3Q4eU0+0GwaQcVb6t4Pru1kKo="; + fetchSubmodules = true; + }; + patches = [ + # Add missing content to fix gcc compilation for RISCV architecture + # https://github.com/libjxl/libjxl/pull/2211 + (fetchpatch { + url = "https://github.com/libjxl/libjxl/commit/22d12d74e7bc56b09cfb1973aa89ec8d714fa3fc.patch"; + hash = "sha256-X4fbYTMS+kHfZRbeGzSdBW5jQKw8UN44FEyFRUtw0qo="; + }) + ]; + postPatch = ""; + postInstall = ""; + + cmakeFlags = + [ + "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON" + "-DJPEGXL_FORCE_SYSTEM_HWY=ON" + "-DJPEGXL_FORCE_SYSTEM_GTEST=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isStatic [ + "-DJPEGXL_STATIC=ON" + ] + ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DJPEGXL_FORCE_NEON=ON" + ]; + } + ); webkit-linux = stdenv.mkDerivation { name = "playwright-webkit"; src = fetchzip { @@ -74,8 +125,8 @@ let stripRoot = false; hash = { - x86_64-linux = "sha256-vz/c2Bzr1NWRZZL5hIRwnor2Wte61gS++8rRfmy9T+0="; - aarch64-linux = "sha256-dS4Hsy/lGZWgznviwkslSk5oBYdUIBxeQPfaEyLNXyc="; + x86_64-linux = "sha256-jw/wQ2Ql7KNpquz5CK+Mo6nPcCbMf8jeSQT64Vt/sLs="; + aarch64-linux = "sha256-vKAvl1kMxTE4CsDryseWF5lxf2iYOYkHHXAdPCnfnHk="; } .${system} or throwSystem; }; @@ -92,6 +143,8 @@ let fontconfig.lib freetype glib + brotli + libjxl' gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base gst_all_1.gstreamer @@ -99,6 +152,7 @@ let harfbuzzFull icu70 lcms + libavif' libdrm libepoxy libevent @@ -131,9 +185,14 @@ let # remove unused gtk browser rm -rf $out/minibrowser-gtk + # remove bundled libs + rm -rf $out/minibrowser-wpe/sys + # TODO: still fails on ubuntu trying to find libEGL_mesa.so.0 wrapProgram $out/minibrowser-wpe/bin/MiniBrowser \ - --prefix GIO_EXTRA_MODULES ":" "${glib-networking}/lib/gio/modules/" + --prefix GIO_EXTRA_MODULES ":" "${glib-networking}/lib/gio/modules/" \ + --prefix LD_LIBRARY_PATH ":" $out/minibrowser-wpe/lib + ''; }; webkit-darwin = fetchzip { @@ -141,8 +200,8 @@ let stripRoot = false; hash = { - x86_64-darwin = "sha256-lOAHJaDXtt80RhqFNaO1JhaJH5WAu6+rpoR+IsfzGeM="; - aarch64-darwin = "sha256-GrjTnMGTPBdRI3xE5t9HbXLrvgOjCdqbJGElTKhUoA4="; + x86_64-darwin = "sha256-6GpzcA77TthcZEtAC7s3dVpnLk31atw7EPxKUZeC5i4="; + aarch64-darwin = "sha256-lDyeehVveciOsm4JZvz7CPphkl/ryRK1rz7DOcEDzYc="; } .${system} or throwSystem; }; diff --git a/pkgs/servers/spicedb/zed.nix b/pkgs/servers/spicedb/zed.nix index 290bf13f1ccf..fb4deee13ea0 100644 --- a/pkgs/servers/spicedb/zed.nix +++ b/pkgs/servers/spicedb/zed.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "zed"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "authzed"; repo = "zed"; rev = "v${version}"; - hash = "sha256-6VBiMCfkmLdPx0TW8RgZDwLXZvYRZcu6zJ+/ZINo6oQ="; + hash = "sha256-MvqhYRI9FNdgSZTuISisZl+rvQIxoycHsxKPPI0/moo="; }; - vendorHash = "sha256-7Lg2IV7xY0qGHqwEg6h9Su0rSt2oLZzjyGGpbKwgnmU="; + vendorHash = "sha256-6QZYdWj3ZD6RG3zyPf1AGiBqLVbkXq4NAvR8n3EcYTc="; ldflags = [ "-X 'github.com/jzelinskie/cobrautil/v2.Version=${src.rev}'" diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix index 33c02241a4ad..dec3ed188802 100644 --- a/pkgs/tools/misc/qt5ct/default.nix +++ b/pkgs/tools/misc/qt5ct/default.nix @@ -14,11 +14,11 @@ in mkDerivation rec { pname = "qt5ct"; - version = "1.8"; + version = "1.9"; src = fetchurl { url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2"; - sha256 = "sha256-I7dAVEFepBJDKHcu+ab5UIOpuGVp4SgDSj/3XfrYCOk="; + sha256 = "sha256-3BDmk51CO5JZgc5n/rsaAVtvYcAiqcx+bIte/qRYi/8="; }; nativeBuildInputs = [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 77f785dbc475..7c3c4089b8c3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8556,6 +8556,8 @@ self: super: with self; { mpi4py = callPackage ../development/python-modules/mpi4py { }; + mpire = callPackage ../development/python-modules/mpire { }; + mpldatacursor = callPackage ../development/python-modules/mpldatacursor { }; mplcursors = callPackage ../development/python-modules/mplcursors { }; @@ -14763,6 +14765,8 @@ self: super: with self; { semantic-version = callPackage ../development/python-modules/semantic-version { }; + semchunk = callPackage ../development/python-modules/semchunk { }; + semgrep = callPackage ../development/python-modules/semgrep { semgrep-core = callPackage ../development/python-modules/semgrep/semgrep-core.nix { }; }; @@ -15375,6 +15379,8 @@ self: super: with self; { sphinx-comments = callPackage ../development/python-modules/sphinx-comments { }; + sphinxcontrib-images = callPackage ../development/python-modules/sphinxcontrib-images { }; + sphinx-design = callPackage ../development/python-modules/sphinx-design { }; sphinx-external-toc = callPackage ../development/python-modules/sphinx-external-toc { }; @@ -15407,6 +15413,8 @@ self: super: with self; { sphinx-togglebutton = callPackage ../development/python-modules/sphinx-togglebutton { }; + sphinx-versions = callPackage ../development/python-modules/sphinx-versions { }; + sphinxawesome-theme = callPackage ../development/python-modules/sphinxawesome-theme { }; sphinxcontrib-actdiag = callPackage ../development/python-modules/sphinxcontrib-actdiag { };