Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-02-07 12:05:52 +00:00
committed by GitHub
64 changed files with 851 additions and 239 deletions
+37 -10
View File
@@ -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";
+1 -1
View File
@@ -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.
'')
];
+7 -6
View File
@@ -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())}] <url>")
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)
@@ -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 = [ ];
};
@@ -2866,9 +2866,6 @@ in
luaAttr = luaPackages.rocks-config-nvim;
};
roslyn-nvim = super.roslyn-nvim.overrideAttrs {
};
rtp-nvim = neovimUtils.buildNeovimPlugin {
luaAttr = luaPackages.rtp-nvim;
};
@@ -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/,,
@@ -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 ];
+20
View File
@@ -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=";
};
}
]
+47
View File
@@ -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";
};
})
+3 -3
View File
@@ -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 = [
+2 -2
View File
@@ -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=";
@@ -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 = {
@@ -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
@@ -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
@@ -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()
):
@@ -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,
@@ -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)
@@ -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]
@@ -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})
@@ -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
+6 -6
View File
@@ -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=="
}
}
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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 {
+45
View File
@@ -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";
};
})
+3 -3
View File
@@ -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}";
@@ -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 {
@@ -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";
};
}
+62
View File
@@ -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";
};
}
+3 -3
View File
@@ -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 =
+7 -5
View File
@@ -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 = [
+3 -3
View File
@@ -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 =
[
@@ -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
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -1,6 +1,6 @@
{ mkDerivation }:
mkDerivation {
version = "27.2.1";
sha256 = "sha256-39X4aGuYe7aJaQiRBjla7GInKoTHXmRIeRq8Ejqk6jM=";
version = "27.2.2";
sha256 = "sha256-U/mBMMAkVJ6M4b26sTECBCPLJgX3HiFFPPwDuvY7SHg=";
}
@@ -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";
@@ -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 ];
};
}
@@ -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";
};
+8 -13
View File
@@ -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;
@@ -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 = [
@@ -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 ];
};
@@ -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";
@@ -91,6 +91,7 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"pillow"
"typer"
];
optional-dependencies = {
@@ -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";
};
}
@@ -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 ];
};
}
@@ -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;
};
@@ -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]
@@ -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"
@@ -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
@@ -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 ];
};
}
@@ -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 = [
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
+2 -2
View File
@@ -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=";
};
};
+12 -8
View File
@@ -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"
@@ -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
+2 -2
View File
@@ -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;
};
+12 -8
View File
@@ -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") (
{
+4 -4
View File
@@ -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;
}
+4 -4
View File
@@ -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;
};
+65 -6
View File
@@ -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 <atomic> 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;
};
+3 -3
View File
@@ -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}'"
+2 -2
View File
@@ -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 = [
+8
View File
@@ -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 { };