Merge master into staging-next
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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.
|
||||
'')
|
||||
];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
Generated
+20
@@ -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=";
|
||||
};
|
||||
}
|
||||
]
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 =
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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") (
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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}'"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user