Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-06-29 12:06:31 +00:00
committed by GitHub
65 changed files with 1060 additions and 426 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ For example, to experiment with the Rust grammar, you can create a shell environ
```nix
{
pkgs ? <nixpkgs> { },
pkgs ? import <nixpkgs> { },
}:
pkgs.mkShell {
+7
View File
@@ -16210,6 +16210,13 @@
githubId = 20536514;
name = "Magdalena Haselsteiner";
};
mhemeryck = {
email = "martijn.hemeryck@gmail.com";
github = "mhemeryck";
githubId = 5445250;
name = "Martijn Hemeryck";
keys = [ { fingerprint = "1B47 7ADA 04B4 7A5C E61A EDE0 1AA3 6833 BC86 F0F1"; } ];
};
mi-ael = {
email = "miael.oss.1970@gmail.com";
name = "mi-ael";
-1
View File
@@ -693,7 +693,6 @@ with lib.maintainers;
kazenyuk
minijackson
peterhoeg
sephalon
];
scope = "Maintain Kodi and related packages.";
shortName = "Kodi";
@@ -26,11 +26,11 @@ let
hash =
{
x86_64-linux = "sha256-8ICeLN4KZo3kg0QSGgDqwnulMf4wligZZTeXQ+dC61U=";
x86_64-darwin = "sha256-4UDb678hbstvnkySzwI8uhgoR4pmL7KXv9gYLdhigkg=";
aarch64-linux = "sha256-dMsyOV4HFF4xZuUzOBOhVru1XfNu14Ga/2iX2ux07qY=";
aarch64-darwin = "sha256-lcX3562Aj994+vWQNcDTOVkSJ/zhH0GRjlNlNxoZUXg=";
armv7l-linux = "sha256-iSqVoTppc5WDBLRCFhy1hNtovCxeN2bpcvBW4Gqu2+U=";
x86_64-linux = "sha256-IDLwjwstwKc2xSWvY499+Hf6cLORnhD9H3OGPH0XEUo=";
x86_64-darwin = "sha256-HyFWmLw6OWZoCYKTBIljbUPB9hpr+RDK7wHp6kwinmY=";
aarch64-linux = "sha256-Ys336a/YSMniPLmPXKxCShDRutYvwIIHTG4iENsAIcc=";
aarch64-darwin = "sha256-exhkzEmBU5gZkBxwh2FOaNzTQweP/sKA4WjZHyiAk9M=";
armv7l-linux = "sha256-PqgCe76dyBijYN3xM8UyBqFyDZdqP/+JdE8Zisnpao4=";
}
.${system} or throwSystem;
@@ -41,7 +41,7 @@ callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.101.14098";
version = "1.101.24242";
pname = "vscodium";
executableName = "codium";
@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-06-19";
version = "0-unstable-2025-06-28";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "b0df912935040b572aaa08d6a8d99f8b45e3da80";
hash = "sha256-qsCUZgaGy79wd1MRz5gVQmHyyVM1wDRlwZj8Qh3j7yU=";
rev = "1f2b4de6c148cfd4514f415dbf40cd684840be70";
hash = "sha256-QWy3PKnPj5ol52KOV/SMpNuiERnmmBHs+087qKCvM3M=";
fetchSubmodules = true;
};
@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "vice-${type}";
version = "0-unstable-2025-05-24";
version = "0-unstable-2025-06-29";
src = fetchFromGitHub {
owner = "libretro";
repo = "vice-libretro";
rev = "f27798806c60f024ce25dc9b8478f12b4d1aa0b6";
hash = "sha256-CVDdMtw/25fCR2atJjTbejrvQcmtVwkQb+Lxj8l581c=";
rev = "4f53f97418f72bbefefff8d5746aa49942fc9848";
hash = "sha256-P8UN3r7clkwY7OD5iQKjLys55q+tfpAVl8abhKj3ZOc=";
};
makefile = "Makefile";
+5 -5
View File
@@ -2,7 +2,7 @@
lib,
buildGoModule,
fetchFromGitHub,
protobuf_26,
protobuf,
git,
testers,
buf,
@@ -11,16 +11,16 @@
buildGoModule rec {
pname = "buf";
version = "1.52.1";
version = "1.55.1";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "buf";
rev = "v${version}";
hash = "sha256-oHmTOQBvuJWQdmC/LL72r+n2uwaQC8z3/1BRM0NzMbI=";
hash = "sha256-41IY2P2s9kCV6aQh5vg7xVmu4Ovl9gakGmgcI/QSwfw=";
};
vendorHash = "sha256-+zJ2pCLyXnqFOIWWfnhAzSnUOjQSDo4AqCxBNNZED7E=";
vendorHash = "sha256-2kg7VXIFKXXY1uDUSV3+4vo6GYwnxyvJIZ/a8j99lhk=";
patches = [
# Skip a test that requires networking to be available to work.
@@ -36,7 +36,7 @@ buildGoModule rec {
nativeCheckInputs = [
git # Required for TestGitCloner
protobuf_26 # Required for buftesting.GetProtocFilePaths
protobuf # Required for buftesting.GetProtocFilePaths
];
checkFlags = [
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-careful";
version = "0.4.7";
version = "0.4.8";
src = fetchFromGitHub {
owner = "RalfJung";
repo = "cargo-careful";
rev = "v${version}";
hash = "sha256-aMQrPJp0AVEYfMlWZBy9IMvQQxlkW7KWuxqLn1Ds2ck=";
hash = "sha256-KT0sYftintyaFKr+thnK+SV36Gt9BQZL/9j+u9DtzRM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-5uMz1j0ZnA4wPMfC2SeY33zsiTt2NNZnWh9th2UJiNI=";
cargoHash = "sha256-oLMUGbhN9/6U6mcjxJTLxqogwDaXWhf/gW10l37wNdY=";
meta = with lib; {
description = "Tool to execute Rust code carefully, with extra checking along the way";
+4 -4
View File
@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "glab";
version = "1.60.2";
version = "1.61.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-uZHQ11tnxyccolFm5NcHuGMRZqS2Xqaq/GhU7glOjGk=";
tag = "v${finalAttrs.version}";
hash = "sha256-pouFnmHCfRFDy+MMbRI82o73jO8hRewHeXgGnJ4hnww=";
};
vendorHash = "sha256-9iBH13P8QTRPlD5UlTbdRH3wht/UNrCwhRC9HwzQ+I8=";
vendorHash = "sha256-COp4RebkU36OChbZFeLALUppXqHLRbrm3D64Hb5RmI4=";
ldflags = [
"-s"
@@ -1,12 +1,14 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
fetchpatch2,
atk,
cairo,
dcompiler,
dcompiler ? ldc,
gdk-pixbuf,
gst_all_1,
ldc,
librsvg,
glib,
gtk3,
@@ -21,14 +23,15 @@
let
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gtkd";
version = "3.10.0";
version = "3.11.0";
src = fetchzip {
url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
sha256 = "DEKVDexGyg/T3SdnnvRjaHq1LbDo8ekNslxKROpMCCE=";
stripRoot = false;
src = fetchFromGitHub {
owner = "gtkd-developers";
repo = "GtkD";
tag = "v${finalAttrs.version}";
hash = "sha256-UpPoskHtnI4nUOKdLorK89grgUUPrCvO4zrAl9LfjHA=";
};
nativeBuildInputs = [
@@ -51,6 +54,13 @@ stdenv.mkDerivation rec {
vte
];
patches = [
(fetchpatch2 {
url = "https://github.com/gtkd-developers/GtkD/commit/1e41b2da35c7dc2d18b118c632cb07137d048c2b.patch?full_index=1";
hash = "sha256-8vQntjVrQH1+qHBBkB5PxcgLvucosEEPi43uqlnHe4g=";
})
];
postPatch = ''
substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
@@ -140,6 +150,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"prefix=${placeholder "out"}"
"PKG_CONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"
"GTKD_VERSION=${finalAttrs.version}"
];
# The .pc files does not declare an `includedir=`, so the multiple
@@ -155,10 +166,10 @@ stdenv.mkDerivation rec {
inherit dcompiler;
};
meta = with lib; {
meta = {
description = "D binding and OO wrapper for GTK";
homepage = "https://gtkd.org";
license = licenses.lgpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
license = lib.licenses.lgpl3Plus;
platforms = with lib.platforms; linux ++ darwin;
};
}
})
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "kubexporter";
version = "0.6.4";
version = "0.6.5";
src = fetchFromGitHub {
owner = "bakito";
repo = "kubexporter";
tag = "v${version}";
hash = "sha256-J79AsxkR7Dm4SwnUmYli0H9jUit13RZ2BvLLhlTG5HU=";
hash = "sha256-lMXs19E52LHDtVytgP/qgkKGeiz3/5KvoYeY0wlkgT8=";
};
vendorHash = "sha256-D3N0Trq0Izm6at5ikUOJSlHpD2qWmoKwu0ZYcm9l12o=";
vendorHash = "sha256-b4bqAhgcVgLhdLX6isRM9bbnFLfmVb4O2hhJUGqWgb0=";
ldflags = [
"-s"
+2 -2
View File
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "ldeep";
version = "1.0.86";
version = "1.0.87";
pyproject = true;
src = fetchFromGitHub {
owner = "franc-pentest";
repo = "ldeep";
tag = version;
hash = "sha256-LTtoLy2Bf9qhCjTUx73cGSfDkI8onZ3zqkecBfduz8Y=";
hash = "sha256-ym26uCWJU5fEbOyPxI8qUvorWj3HzCcHSmBk8kXPQUQ=";
};
pythonRelaxDeps = [
+11 -7
View File
@@ -15,14 +15,14 @@
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libetonyek";
version = "0.1.12";
src = fetchFromGitHub {
owner = "LibreOffice";
repo = "libetonyek";
rev = "libetonyek-${version}";
rev = "libetonyek-${finalAttrs.version}";
hash = "sha256-dvYbV+7IakgOkGsZ+zaW+qgn/QoD6Jwq/juaE+7iYug=";
};
@@ -45,12 +45,16 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-mdds=2.1" ];
meta = with lib; {
strictDeps = true;
enableParallelBuilding = true;
meta = {
description = "Library and a set of tools for reading and converting Apple iWork documents (Keynote, Pages and Numbers)";
homepage = "https://github.com/LibreOffice/libetonyek";
changelog = "https://github.com/LibreOffice/libetonyek/blob/${src.rev}/NEWS";
license = licenses.mpl20;
changelog = "https://github.com/LibreOffice/libetonyek/blob/${finalAttrs.src.rev}/NEWS";
license = lib.licenses.mpl20;
maintainers = [ ];
platforms = platforms.all;
platforms = lib.platforms.all;
};
}
})
+4 -4
View File
@@ -7,10 +7,10 @@
let
pname = "lmstudio";
version_aarch64-darwin = "0.3.16-8";
hash_aarch64-darwin = "sha256-iuC43czK26Yf4DM9BhUUBjgDilQeURq+ZdeN2BHPeVo=";
version_x86_64-linux = "0.3.16-8";
hash_x86_64-linux = "sha256-vouDzaSgkYN++FKz0tLn9ItHg0tQmnFk2U7RlQyAUWg=";
version_aarch64-darwin = "0.3.17-11";
hash_aarch64-darwin = "sha256-z3QkWwzYrHw3l8Qm+FfnrfdtfhdpkLo67XTE/t2ji5Y=";
version_x86_64-linux = "0.3.17-11";
hash_x86_64-linux = "sha256-CCsGkhh5OSAhyt2CHKIEIh5OzllRWxm6ERuGqQW/0JE=";
meta = {
description = "LM Studio is an easy to use desktop app for experimenting with local and open-source Large Language Models (LLMs)";
+2 -2
View File
@@ -11,8 +11,8 @@ mattermost.override {
# and make sure the version regex is up to date here.
# Ensure you also check ../mattermost/package.nix for ESR releases.
regex = "^v(10\\.[0-9]+\\.[0-9]+)$";
version = "10.9.1";
srcHash = "sha256-U9PbI2rzoMW48cDFJuhHrL7BWFrqTN7lgTbeL1N0dpQ=";
version = "10.9.2";
srcHash = "sha256-0el9PROsErFFnOIhv+TdFAXaXRECEeBqaiaPGMt5M5E=";
vendorHash = "sha256-+wmemZZyuz90VCXjO0ekplxdkv2p0s5h4qUObAA0XwU=";
npmDepsHash = "sha256-uAB599r3ZWjnt+jwk7sjSiPsc/tUyiBZzGqLZxuU3xE=";
lockfileOverlay = ''
+3 -3
View File
@@ -15,13 +15,13 @@
}:
let
version = "5.7.24";
version = "5.8.4";
src = fetchFromGitHub {
owner = "d99kris";
repo = "nchat";
tag = "v${version}";
hash = "sha256-qyx4LOhCFcwg2ou4QgiiolGgLs2fxfQu6gwDIeMUcb4=";
hash = "sha256-PfiTIq8xomqp4ewawbX56hFgA4x5z8SI2w9husMtZPc=";
};
libcgowm = buildGoModule {
@@ -29,7 +29,7 @@ let
inherit version src;
sourceRoot = "${src.name}/lib/wmchat/go";
vendorHash = "sha256-LPcIfXOlkejyLlYtew26FTOl7eBGhuNxjAVrmUItkxY=";
vendorHash = "sha256-HC7tJRk7Pqw3AUDEP2fGqYQLjIGf0CgB36K3PBYsBMM=";
buildPhase = ''
runHook preBuild
+2 -2
View File
@@ -8,13 +8,13 @@
}:
buildGoModule (finalAttrs: {
pname = "nezha-agent";
version = "1.12.3";
version = "1.13.0";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "agent";
tag = "v${finalAttrs.version}";
hash = "sha256-LhSuKbvTHO+bCCtxKENS7wbScDHE57Uf3nFrMDt2wOE=";
hash = "sha256-CFwHMO78v/A5hjNypFo9Fp0gdkrKgNvPRGz3RfMRRAU=";
};
vendorHash = "sha256-5g2AgkqaelCD10dxwcEmBLYy5nrd4IALiss0dTrTTno=";
+2 -1
View File
@@ -133,7 +133,8 @@ python3Packages.buildPythonApplication rec {
};
inherit (nixosTests)
nixos-rebuild-install-bootloader-ng
# FIXME: this test is disabled since it times out in @ofborg
# nixos-rebuild-install-bootloader-ng
nixos-rebuild-specialisations-ng
nixos-rebuild-target-host-ng
;
@@ -1,17 +1,15 @@
import argparse
import json
import logging
import os
import sys
from subprocess import CalledProcessError, run
from typing import Final, assert_never
from . import nix
from . import nix, services
from .constants import EXECUTABLE, WITH_NIX_2_18, WITH_REEXEC, WITH_SHELL_FILES
from .models import Action, BuildAttr, Flake, Profile
from .process import Remote
from .services import build_and_activate_system, reexec
from .utils import LogFormatter, tabulate
from .utils import LogFormatter
logger: Final = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
@@ -301,7 +299,7 @@ def execute(argv: list[str]) -> None:
and not args.no_reexec
and not os.environ.get("_NIXOS_REBUILD_REEXEC")
):
reexec(argv, args, build_flags, flake_build_flags)
services.reexec(argv, args, build_flags, flake_build_flags)
profile = Profile.from_arg(args.profile_name)
target_host = Remote.from_arg(args.target_host, args.ask_sudo_password)
@@ -310,10 +308,7 @@ def execute(argv: list[str]) -> None:
flake = Flake.from_arg(args.flake, target_host)
if can_run and not flake:
nixpkgs_path = nix.find_file("nixpkgs", build_flags)
rev = nix.get_nixpkgs_rev(nixpkgs_path)
if nixpkgs_path and rev:
(nixpkgs_path / ".version-suffix").write_text(rev)
services.write_version_suffix(build_flags)
match action:
case (
@@ -327,7 +322,7 @@ def execute(argv: list[str]) -> None:
| Action.BUILD_VM
| Action.BUILD_VM_WITH_BOOTLOADER
):
build_and_activate_system(
services.build_and_activate_system(
action=action,
args=args,
build_host=build_host,
@@ -343,32 +338,21 @@ def execute(argv: list[str]) -> None:
)
case Action.EDIT:
nix.edit(flake, flake_build_flags)
services.edit(flake=flake, flake_build_flags=flake_build_flags)
case Action.DRY_RUN:
raise AssertionError("DRY_RUN should be a DRY_BUILD alias")
case Action.LIST_GENERATIONS:
generations = nix.list_generations(profile)
if args.json:
print(json.dumps(generations, indent=2))
else:
headers = {
"generation": "Generation",
"date": "Build-date",
"nixosVersion": "NixOS version",
"kernelVersion": "Kernel",
"configurationRevision": "Configuration Revision",
"specialisations": "Specialisation",
"current": "Current",
}
print(tabulate(generations, headers=headers))
services.list_generations(args=args, profile=profile)
case Action.REPL:
if flake:
nix.repl_flake(flake, flake_build_flags)
else:
nix.repl(build_attr, build_flags)
services.repl(
flake=flake,
build_attr=build_attr,
flake_build_flags=flake_build_flags,
build_flags=build_flags,
)
case _:
assert_never(action)
@@ -242,33 +242,33 @@ def copy_closure(
nix_copy_closure(to_host, to=True)
def edit(flake: Flake | None, flake_flags: Args | None = None) -> None:
def edit() -> None:
"Try to find and open NixOS configuration file in editor."
if flake:
run_wrapper(
[
"nix",
*FLAKE_FLAGS,
"edit",
*dict_to_flags(flake_flags),
"--",
str(flake),
],
check=False,
)
else:
if flake_flags:
raise NixOSRebuildError("'edit' does not support extra Nix flags")
nixos_config = Path(
os.getenv("NIXOS_CONFIG") or find_file("nixos-config") or "/etc/nixos"
)
if nixos_config.is_dir():
nixos_config /= "default.nix"
nixos_config = Path(
os.getenv("NIXOS_CONFIG") or find_file("nixos-config") or "/etc/nixos"
)
if nixos_config.is_dir():
nixos_config /= "default.nix"
if nixos_config.exists():
run_wrapper([os.getenv("EDITOR", "nano"), nixos_config], check=False)
else:
raise NixOSRebuildError("cannot find NixOS config file")
if nixos_config.exists():
run_wrapper([os.getenv("EDITOR", "nano"), nixos_config], check=False)
else:
raise NixOSRebuildError("cannot find NixOS config file")
def edit_flake(flake: Flake | None, flake_flags: Args | None = None) -> None:
"Try to find and open NixOS configuration file in editor for Flake config."
run_wrapper(
[
"nix",
*FLAKE_FLAGS,
"edit",
*dict_to_flags(flake_flags),
"--",
str(flake),
],
check=False,
)
def find_file(file: str, nix_flags: Args | None = None) -> Path | None:
@@ -1,4 +1,5 @@
import argparse
import json
import logging
import os
import sys
@@ -10,7 +11,7 @@ from . import nix, tmpdir
from .constants import EXECUTABLE
from .models import Action, BuildAttr, Flake, ImageVariants, NixOSRebuildError, Profile
from .process import Remote, cleanup_ssh
from .utils import Args
from .utils import Args, tabulate
NIXOS_REBUILD_ATTR: Final = "config.system.build.nixos-rebuild"
@@ -315,3 +316,49 @@ def build_and_activate_system(
common_flags=common_flags,
flake_common_flags=flake_common_flags,
)
def edit(flake: Flake | None, flake_build_flags: Args | None = None) -> None:
if flake:
nix.edit_flake(flake, flake_build_flags)
else:
nix.edit()
def list_generations(
args: argparse.Namespace,
profile: Profile,
) -> None:
generations = nix.list_generations(profile)
if args.json:
print(json.dumps(generations, indent=2))
else:
headers = {
"generation": "Generation",
"date": "Build-date",
"nixosVersion": "NixOS version",
"kernelVersion": "Kernel",
"configurationRevision": "Configuration Revision",
"specialisations": "Specialisation",
"current": "Current",
}
print(tabulate(generations, headers=headers))
def repl(
flake: Flake | None,
build_attr: BuildAttr,
flake_build_flags: Args,
build_flags: Args,
) -> None:
if flake:
nix.repl_flake(flake, flake_build_flags)
else:
nix.repl(build_attr, build_flags)
def write_version_suffix(build_flags: Args) -> None:
nixpkgs_path = nix.find_file("nixpkgs", build_flags)
rev = nix.get_nixpkgs_rev(nixpkgs_path)
if nixpkgs_path and rev:
(nixpkgs_path / ".version-suffix").write_text(rev)
@@ -8,7 +8,6 @@ from typing import Any
from unittest.mock import ANY, Mock, call, patch
import pytest
from pytest import MonkeyPatch
import nixos_rebuild as nr
from nixos_rebuild.constants import WITH_NIX_2_18
@@ -128,92 +127,6 @@ def test_parse_args() -> None:
]
@patch.dict(os.environ, {}, clear=True)
@patch("os.execve", autospec=True)
@patch(get_qualified_name(nr.nix.build), autospec=True)
def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) -> None:
monkeypatch.setattr(nr.services, "EXECUTABLE", "nixos-rebuild-ng")
argv = ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"]
args, _ = nr.parse_args(argv)
mock_build.return_value = Path("/path")
nr.reexec(argv, args, {"build": True}, {"flake": True})
mock_build.assert_has_calls(
[
call(
nr.services.NIXOS_REBUILD_ATTR,
nr.models.BuildAttr(ANY, ANY),
{"build": True, "no_out_link": True},
)
]
)
# do not exec if there is no new version
mock_execve.assert_not_called()
mock_build.return_value = Path("/path/new")
nr.reexec(argv, args, {}, {})
# exec in the new version successfully
mock_execve.assert_called_once_with(
Path("/path/new/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
mock_execve.reset_mock()
mock_execve.side_effect = [OSError("BOOM"), None]
nr.reexec(argv, args, {}, {})
# exec in the previous version if the new version fails
mock_execve.assert_any_call(
Path("/path/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
@patch.dict(os.environ, {}, clear=True)
@patch("os.execve", autospec=True)
@patch(get_qualified_name(nr.nix.build_flake), autospec=True)
def test_reexec_flake(
mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch
) -> None:
monkeypatch.setattr(nr.services, "EXECUTABLE", "nixos-rebuild-ng")
argv = ["/path/bin/nixos-rebuild-ng", "switch", "--flake"]
args, _ = nr.parse_args(argv)
mock_build.return_value = Path("/path")
nr.reexec(argv, args, {"build": True}, {"flake": True})
mock_build.assert_called_once_with(
nr.services.NIXOS_REBUILD_ATTR,
nr.models.Flake(ANY, ANY),
{"flake": True, "no_link": True},
)
# do not exec if there is no new version
mock_execve.assert_not_called()
mock_build.return_value = Path("/path/new")
nr.reexec(argv, args, {}, {})
# exec in the new version successfully
mock_execve.assert_called_once_with(
Path("/path/new/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
mock_execve.reset_mock()
mock_execve.side_effect = [OSError("BOOM"), None]
nr.reexec(argv, args, {}, {})
# exec in the previous version if the new version fails
mock_execve.assert_any_call(
Path("/path/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
@patch.dict(
os.environ,
{"NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM": "1"},
@@ -295,9 +295,21 @@ def test_copy_closure(monkeypatch: MonkeyPatch) -> None:
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
# Flake
with monkeypatch.context() as mp:
default_nix = tmpdir / "default.nix"
default_nix.write_text("{}", encoding="utf-8")
mp.setenv("NIXOS_CONFIG", str(tmpdir))
mp.setenv("EDITOR", "editor")
n.edit()
mock_run.assert_called_with(["editor", default_nix], check=False)
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
def test_editd_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
flake = m.Flake.parse(f"{tmpdir}#attr")
n.edit(flake, {"commit_lock_file": True})
n.edit_flake(flake, {"commit_lock_file": True})
mock_run.assert_called_with(
[
"nix",
@@ -311,17 +323,6 @@ def test_edit(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> None:
check=False,
)
# Classic
with monkeypatch.context() as mp:
default_nix = tmpdir / "default.nix"
default_nix.write_text("{}", encoding="utf-8")
mp.setenv("NIXOS_CONFIG", str(tmpdir))
mp.setenv("EDITOR", "editor")
n.edit(None)
mock_run.assert_called_with(["editor", default_nix], check=False)
@patch(
get_qualified_name(n.run_wrapper, n),
@@ -0,0 +1,96 @@
import os
from pathlib import Path
from unittest.mock import ANY, Mock, call, patch
from pytest import MonkeyPatch
import nixos_rebuild as n
import nixos_rebuild.services as s
from .helpers import get_qualified_name
@patch.dict(os.environ, {}, clear=True)
@patch("os.execve", autospec=True)
@patch(get_qualified_name(s.nix.build), autospec=True)
def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) -> None:
monkeypatch.setattr(s, "EXECUTABLE", "nixos-rebuild-ng")
argv = ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"]
args, _ = n.parse_args(argv)
mock_build.return_value = Path("/path")
s.reexec(argv, args, {"build": True}, {"flake": True})
mock_build.assert_has_calls(
[
call(
s.NIXOS_REBUILD_ATTR,
n.models.BuildAttr(ANY, ANY),
{"build": True, "no_out_link": True},
)
]
)
# do not exec if there is no new version
mock_execve.assert_not_called()
mock_build.return_value = Path("/path/new")
s.reexec(argv, args, {}, {})
# exec in the new version successfully
mock_execve.assert_called_once_with(
Path("/path/new/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
mock_execve.reset_mock()
mock_execve.side_effect = [OSError("BOOM"), None]
s.reexec(argv, args, {}, {})
# exec in the previous version if the new version fails
mock_execve.assert_any_call(
Path("/path/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
@patch.dict(os.environ, {}, clear=True)
@patch("os.execve", autospec=True)
@patch(get_qualified_name(s.nix.build_flake), autospec=True)
def test_reexec_flake(
mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch
) -> None:
monkeypatch.setattr(s, "EXECUTABLE", "nixos-rebuild-ng")
argv = ["/path/bin/nixos-rebuild-ng", "switch", "--flake"]
args, _ = n.parse_args(argv)
mock_build.return_value = Path("/path")
s.reexec(argv, args, {"build": True}, {"flake": True})
mock_build.assert_called_once_with(
s.NIXOS_REBUILD_ATTR,
n.models.Flake(ANY, ANY),
{"flake": True, "no_link": True},
)
# do not exec if there is no new version
mock_execve.assert_not_called()
mock_build.return_value = Path("/path/new")
s.reexec(argv, args, {}, {})
# exec in the new version successfully
mock_execve.assert_called_once_with(
Path("/path/new/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
mock_execve.reset_mock()
mock_execve.side_effect = [OSError("BOOM"), None]
s.reexec(argv, args, {}, {})
# exec in the previous version if the new version fails
mock_execve.assert_any_call(
Path("/path/bin/nixos-rebuild-ng"),
["/path/bin/nixos-rebuild-ng", "switch", "--flake"],
{"_NIXOS_REBUILD_REEXEC": "1"},
)
+3 -3
View File
@@ -34,13 +34,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rerun";
version = "0.23.3";
version = "0.23.4";
src = fetchFromGitHub {
owner = "rerun-io";
repo = "rerun";
tag = finalAttrs.version;
hash = "sha256-XVrhVUP7AIywIq357HoSP/ZCmYTnLiX/tgaOzhh6PHo=";
hash = "sha256-4+vx4BMGJpdN6k+UxAx2unO4maxoUd9uP9Q3mYjpyF4=";
};
# The path in `build.rs` is wrong for some reason, so we patch it to make the passthru tests work
@@ -50,7 +50,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-tj9+dvXF3iDbUoxk7Hdz+PTuyDpCgdRE6ZqHBLTZuMU=";
cargoHash = "sha256-lmIe/QH8+/2LgaObbEvRgThP82AAnmGzf2SPfHExHks=";
cargoBuildFlags = [ "--package rerun-cli" ];
cargoTestFlags = [ "--package rerun-cli" ];
+2 -2
View File
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sarasa-gothic";
version = "1.0.30";
version = "1.0.31";
src = fetchurl {
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip";
hash = "sha256-or/XzPJhWe7F2sMsWxaIynXALnMhzKQeezTt16tzqoY=";
hash = "sha256-6jVbe37lbpPmNzyiBb6fUfru3EZ71Eco9BuXNzgdQD8=";
};
sourceRoot = ".";
+3 -3
View File
@@ -38,13 +38,13 @@ in
python.pkgs.toPythonModule (
python.pkgs.buildPythonApplication rec {
pname = "searxng";
version = "0-unstable-2025-06-14";
version = "0-unstable-2025-06-28";
src = fetchFromGitHub {
owner = "searxng";
repo = "searxng";
rev = "e52e9bb4b699e39d9ce51874ea339d4773717389";
hash = "sha256-azSFD1Uxa8RTbX3xllxkZuLCahpQdh/8F1TiUx2irhA=";
rev = "df76647c52b56101f152c5dec7c1d08f1732ceb7";
hash = "sha256-8Rh42DFLyQz+4cWA8x5wpFO41DusMuTo8NAloprw5w0=";
};
postPatch = ''
@@ -1,7 +1,7 @@
{ callPackage, commandLineArgs }:
callPackage ./generic.nix { inherit commandLineArgs; } {
pname = "signal-desktop-bin";
version = "7.58.0";
version = "7.59.0";
libdir = "usr/lib64/signal-desktop";
bindir = "usr/bin";
@@ -10,6 +10,6 @@ callPackage ./generic.nix { inherit commandLineArgs; } {
bsdtar -xf $downloadedFile -C "$out"
'';
url = "https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-42-aarch64/09183198-signal-desktop/signal-desktop-7.58.0-1.fc42.aarch64.rpm";
hash = "sha256-0Ix+1SdvmKLVbtGzbjUupvVzdWAJFNQ6sSAIt+T9fHo=";
url = "https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-42-aarch64/09213968-signal-desktop/signal-desktop-7.59.0-1.fc42.aarch64.rpm";
hash = "sha256-nGpSWlTJ1M6UL7V3o57KByfh55LL/p3I9h+XmoJhuec=";
}
@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "signal-desktop-bin";
version = "7.58.0";
version = "7.59.0";
src = fetchurl {
url = "https://updates.signal.org/desktop/signal-desktop-mac-universal-${finalAttrs.version}.dmg";
hash = "sha256-yOPYG9bCSCIE1L8RgEXCy6pJUHONBh9SpPY4WDfZEho=";
hash = "sha256-maBZqSklxa1Vg3U6xbQxYx+McPTWa4WdBCKh4tq6W4g=";
};
sourceRoot = ".";
@@ -1,12 +1,12 @@
{ callPackage, commandLineArgs }:
callPackage ./generic.nix { inherit commandLineArgs; } rec {
pname = "signal-desktop-bin";
version = "7.58.0";
version = "7.59.0";
libdir = "opt/Signal";
bindir = libdir;
extractPkg = "dpkg-deb -x $downloadedFile $out";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
hash = "sha256-zZ63AE+qb0lrGtGUtU4FV6pHDO2DUV2vknz3a4+f4aA=";
hash = "sha256-SgTbV7KrGVdN87hgfjxamKikBxVHPIiaXAV2K3kljsU=";
}
+24 -39
View File
@@ -2,29 +2,23 @@
stdenv,
lib,
rustPlatform,
fetchFromGitHub,
fetchCrate,
pkg-config,
alsa-lib,
rust,
udevCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
rustPlatform.buildRustPackage rec {
pname = "speakersafetyd";
version = "1.1.2";
version = "1.0.2";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "speakersafetyd";
tag = finalAttrs.version;
hash = "sha256-sSGoF2c5HfPM2FBrBJwJ9NvExYijGx6JH1bJp3epfe0=";
src = fetchCrate {
inherit pname version;
hash = "sha256-3DzBNebg1y/+psD2zOpDsnRJmabQLeO1UMxPq9M0CsU=";
};
cargoHash = "sha256-9XbrIY1VwnHtqi/ZfS952SyjNjA/TJRdOqCsPReZI8o=";
patches = [
./remove-install-paths.patch
];
useFetchCargoVendor = true;
cargoHash = "sha256-DnOnqi60JsRX8yqEM/5zZ3yX/rk85/ruwL3aW1FRXKg=";
nativeBuildInputs = [
pkg-config
@@ -33,41 +27,32 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildInputs = [ alsa-lib ];
postPatch = ''
substituteInPlace speakersafetyd.service \
--replace-fail "/usr" \
"$out"
substituteInPlace Makefile \
--replace-fail "target/release" \
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/$cargoBuildType" \
substituteInPlace speakersafetyd.service --replace "/usr" "$out"
substituteInPlace Makefile --replace "target/release" "target/${stdenv.hostPlatform.rust.cargoShortTarget}/$cargoBuildType"
# creating files in /var does not make sense in a nix package
substituteInPlace Makefile --replace 'install -dDm0755 $(DESTDIR)/$(VARDIR)/lib/speakersafetyd/blackbox' ""
'';
installFlags = [
"DESTDIR=$(out)"
"BINDIR=bin"
"UNITDIR=lib/systemd/system"
"UDEVDIR=lib/udev/rules.d"
"SHAREDIR=share"
"TMPFILESDIR=lib/tmpfiles.d"
"BINDIR=$(out)/bin"
"UNITDIR=$(out)/lib/systemd/system"
"UDEVDIR=$(out)/lib/udev/rules.d"
"SHAREDIR=$(out)/share"
"TMPFILESDIR=$(out)/lib/tmpfiles.d"
];
dontCargoInstall = true;
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Userspace daemon that implements the Smart Amp protection model";
meta = with lib; {
description = "Userspace daemon written in Rust that implements an analogue of the Texas Instruments Smart Amp speaker protection model";
mainProgram = "speakersafetyd";
homepage = "https://github.com/AsahiLinux/speakersafetyd";
maintainers = with lib.maintainers; [
normalcea
maintainers = with maintainers; [
flokli
yuka
];
license = lib.licenses.mit;
platforms = lib.platforms.linux;
license = licenses.mit;
platforms = platforms.linux;
};
})
}
@@ -1,16 +0,0 @@
diff --git a/Makefile b/Makefile
index 41bf7b4..ca14be7 100644
--- a/Makefile
+++ b/Makefile
@@ -24,11 +24,8 @@ install-data:
install -pm0644 95-speakersafetyd.rules $(DESTDIR)/$(UDEVDIR)/95-speakersafetyd.rules
install -dDm0755 $(DESTDIR)/$(SHAREDIR)/speakersafetyd/apple
install -pm0644 -t $(DESTDIR)/$(SHAREDIR)/speakersafetyd/apple $(wildcard conf/apple/*)
- install -dDm0755 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/$(VARDIR)/lib/speakersafetyd
- install -dDm0700 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/$(VARDIR)/lib/speakersafetyd/blackbox
install -dDm0755 $(DESTDIR)/$(TMPFILESDIR)
install -pm0644 speakersafetyd.tmpfiles $(DESTDIR)/$(TMPFILESDIR)/speakersafetyd.conf
- install -dDm0755 -o $(SPEAKERSAFETYD_USER) -g $(SPEAKERSAFETYD_GROUP) $(DESTDIR)/run/speakersafetyd
uninstall:
rm -f $(DESTDIR)/$(BINDIR)/speakersafetyd $(DESTDIR)/$(UNITDIR)/speakersafetyd.service $(DESTDIR)/$(UDEVDIR)/95-speakersafetyd.rules $(DESTDIR)/$(TMPFILESDIR)/speakersafetyd.conf
+413
View File
@@ -0,0 +1,413 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://repo.maven.apache.org/maven2": {
"com/fasterxml#oss-parent/58": {
"pom": "sha256-VnDmrBxN3MnUE8+HmXpdou+qTSq+Q5Njr57xAqCgnkA="
},
"com/fasterxml#oss-parent/61": {
"pom": "sha256-NklRPPWX6RhtoIVZhqjFQ+Er29gF7e75wSTbVt0DZUQ="
},
"com/fasterxml/jackson#jackson-base/2.18.3": {
"pom": "sha256-1bv9PIRFIw5Ji2CS3oCa/WXPUE0BOTLat7Pf1unzpP0="
},
"com/fasterxml/jackson#jackson-bom/2.17.2": {
"pom": "sha256-H0crC8IATVz0IaxIhxQX+EGJ5481wElxg4f9i0T7nzI="
},
"com/fasterxml/jackson#jackson-bom/2.18.3": {
"pom": "sha256-8dTGrrMhGGUMgF/pu8XulA+o8s19DwT6Q2BVHponspA="
},
"com/fasterxml/jackson#jackson-parent/2.17": {
"pom": "sha256-rubeSpcoOwQOQ/Ta1XXnt0eWzZhNiSdvfsdWc4DIop0="
},
"com/fasterxml/jackson#jackson-parent/2.18.1": {
"pom": "sha256-0IIvrBoCJoRLitRFySDEmk9hkWnQmxAQp9/u0ZkQmYw="
},
"com/fasterxml/jackson/core#jackson-annotations/2.18.3": {
"jar": "sha256-iqV0DYC1pQJVCLQbutuqH7N3ImfGKLLjBoGk9F+LiTE=",
"module": "sha256-RkWF2yH0irFZ6O9XnNfo5tMHoEdhGZZRw+zBf05ydF0=",
"pom": "sha256-ucmLqeKephtpPUyMgBlo/qriILKyACNkp7zsUkmYOEs="
},
"com/fasterxml/jackson/core#jackson-core/2.18.3": {
"jar": "sha256-BWvE0+XlPOghRQ+pez+eD43eElz22miENTux8JWC4dk=",
"module": "sha256-mDbVp/Iba8VNfybeh8izBd3g5PGEsqyJUOmhsd9Hw0A=",
"pom": "sha256-N9xrj2ORpHCawhXKmPojQcbdZWE8InfZak/YKi9Q48k="
},
"com/fasterxml/jackson/core#jackson-databind/2.18.3": {
"jar": "sha256-UQvdp1p6YYbFvzO4USOUiKFFCQauV1cSHy4cxIp+EI8=",
"module": "sha256-ZCqggPhbIAV3ifrPKsaibhR4NbUDPidSDstpe8RD/Lo=",
"pom": "sha256-5Y9IrBTk29SFldaeILrTUBnsEoFRTvfvFV4YByraYX8="
},
"com/github/javaparser#javaparser-core/3.26.2": {
"jar": "sha256-Pj4MZdV9Enl9vq098euyjnWDc30M0fKomNum/r1Qq4g=",
"pom": "sha256-8xK6gXB9VttEhsH5rRpuA8Nqmazx4Imhhup0eKcTRLg="
},
"com/github/javaparser#javaparser-parent/3.26.2": {
"pom": "sha256-nsnC41jTpp/cpT1S61iqrCnpC+D1ANEMme0rlbkQUDQ="
},
"com/github/javaparser#javaparser-symbol-solver-core/3.26.2": {
"jar": "sha256-NMfuXkuGDrzJzPgo6aUhe71quUC0v4l+xlrrxAVuBEo=",
"pom": "sha256-2cOb2u9IZA49AKfSioH6tEtJGei4mMUOPQ4j24c4V3M="
},
"com/google/code/findbugs#jsr305/3.0.2": {
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
},
"com/google/errorprone#error_prone_annotations/2.28.0": {
"jar": "sha256-8/yKOgpAIHBqNzsA5/V8JRLdJtH4PSjH04do+GgrIx4=",
"pom": "sha256-DOkJ8TpWgUhHbl7iAPOA+Yx1ugiXGq8V2ylet3WY7zo="
},
"com/google/errorprone#error_prone_parent/2.28.0": {
"pom": "sha256-rM79u1QWzvX80t3DfbTx/LNKIZPMGlXf5ZcKExs+doM="
},
"com/google/guava#failureaccess/1.0.2": {
"jar": "sha256-io+Bz5s1nj9t+mkaHndphcBh7y8iPJssgHU+G0WOgGQ=",
"pom": "sha256-GevG9L207bs9B7bumU+Ea1TvKVWCqbVjRxn/qfMdA7I="
},
"com/google/guava#guava-parent/26.0-android": {
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
},
"com/google/guava#guava-parent/33.3.0-jre": {
"pom": "sha256-tGueFpaKrkokgTgA9nduyJEYjXvQCXpIqfSgyW1oUQg="
},
"com/google/guava#guava/33.3.0-jre": {
"jar": "sha256-363DvOMQHv8UUqrkfXyDP+5EO0e9+e8TMRtsfKtmPd8=",
"module": "sha256-1WIerA4Z7qfdIY6zVMRyY+fuaT6d47rSUFS3BGSd6xw=",
"pom": "sha256-08vQUY6vq2qXi7bKP/mDM93+c2eEtr/cSZVD8MlyP4Q="
},
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
},
"com/structurizr#structurizr-autolayout/4.1.0": {
"jar": "sha256-r0BiwjS669PDhdZ53LLWGkHcRHFOVKcqXEPfjW0R+jI=",
"module": "sha256-Mqs3nVgTsNWNCwk+iG4JJbKcevsre6CRf7O8EBAztHI=",
"pom": "sha256-n5SINihQCw10snN0SaK1yax5Lf4PtzOSXqO531QexiA="
},
"com/structurizr#structurizr-client/4.1.0": {
"jar": "sha256-l+jFssoHkejojhy7Ok+bynVfYG9icw2pVkTpSTeyjOg=",
"module": "sha256-q790VUnia8RYC5HnMX8vggBFxbSRDIctGKTwYyMD2IY=",
"pom": "sha256-5irzYR1rBgWVq75zEXcnn2V0k7ZgmNFc6NTzN9pVRc8="
},
"com/structurizr#structurizr-component/4.1.0": {
"jar": "sha256-WNkUCiEeRCYfWGRtiyFVoA/GtOd1hf9GDDexWtuyGdI=",
"module": "sha256-MynZsFCQaftFkK3JCExycV2Ud88y/lp+tWrciCIgczs=",
"pom": "sha256-ij/N22WNtcppgWNia2fk/l6jTbGiDEb/wbUlg4Mzdno="
},
"com/structurizr#structurizr-core/4.1.0": {
"jar": "sha256-hz6hp9DL8FgmWsot+X8j7sjDkAGF/ZlifPT7PI8qwN4=",
"module": "sha256-Zq97Xe5aEHLgFwwKsFQOxTAPH+CyY/KOAwOJUlPj8nA=",
"pom": "sha256-bfTSvnq0O/TFTAMtNBLJp40PIbfKUQmsMuQPpmFLc4I="
},
"com/structurizr#structurizr-dsl/4.1.0": {
"jar": "sha256-UykNgYUkSmb+euGwpArCO9jbmkZoluFQtPGMKZbaJVY=",
"module": "sha256-ryqDaM1SVewPm7zXRbUSsANlgHhG9WjTgCz63+Km9ME=",
"pom": "sha256-XhWQv0L6xVzPw6Md31vQ5i3QCY4FDd5AhBHb0lFKcng="
},
"com/structurizr#structurizr-export/4.1.0": {
"jar": "sha256-66+x6RiMLA9stXOSsdmhUHHBBLMKXExPApMMGa1laAo=",
"module": "sha256-Yepxprk8nhfHQWXNVGeAaIOXMVfzToCAmKIeS5e0c9U=",
"pom": "sha256-iU6SEq6BC7kv0Q8JIfz+LeD1KYWyV7vJfbRsaLW8jRI="
},
"com/structurizr#structurizr-import/4.1.0": {
"jar": "sha256-+6e+jrhT33eT+9ZwyiI7rUT9OI9gVbTbaln7NLpalmg=",
"module": "sha256-Dg/Nkz77gM/k5Vs39C8/UtJff11i8Hp+5nLEE2jChsc=",
"pom": "sha256-DpCl5VUNhxOvAoA6UQ2jqj7hoCFOJbprwN5JowyM46Y="
},
"com/structurizr#structurizr-inspection/4.1.0": {
"jar": "sha256-Ypoq4TAuUF/vXBJ/xPcr4Ps5TvSzJro3EmqwE58Keic=",
"module": "sha256-cKWA1u+5gtnYBj+vyiTp/UEWQ3st3NJ2MbVg7bEo1cQ=",
"pom": "sha256-lOeeFUapBhKHNT5g/lERktzrlnRWIU0g9r006fud2H8="
},
"com/sun/activation#all/1.2.0": {
"pom": "sha256-HYUY46x1MqEE5Pe+d97zfJguUwcjxr2z1ncIzOKwwsQ="
},
"commons-cli#commons-cli/1.9.0": {
"jar": "sha256-09Uw0PKP0Pu//isLM49w6MuW8WBVeeLjq9TbKcrCTmk=",
"pom": "sha256-PMh7avgVCPVYnmsgWRve5eYqt1AovaYEKvymdpwNN48="
},
"commons-logging#commons-logging/1.3.4": {
"pom": "sha256-1L2jSJKqzL9PrTP8MjqKqQfvnXmYRlnaJJRMCoa/CGU="
},
"commons-logging#commons-logging/1.3.5": {
"jar": "sha256-bXp0TkAnZJ+7UIld+Ul9EJ+Yx2amNwYv6NLqu7MUC6Q=",
"pom": "sha256-zPSjA0b1AnuUlqvVYpCsJtFZq/K+ZN8SZWEdyUALnWg="
},
"io/github/goto1134#structurizr-d2-exporter/1.5.3": {
"jar": "sha256-DMU4Ga2M/jNxBrnymchXujeSYRM5dzH9y6P3VEe9qFE=",
"module": "sha256-j9tpvQdBUFewtD50qMXYe3yQy5ILk0HHYGNhfphjlwk=",
"pom": "sha256-sW/4Bti0+CP0QumZCpjarT4OSvYNnEm8ZPBNCL0VBsE="
},
"jakarta/platform#jakarta.jakartaee-bom/9.1.0": {
"pom": "sha256-35jgJmIZ/buCVigm15o6IHdqi6Aqp4fw8HZaU4ZUyKQ="
},
"jakarta/platform#jakartaee-api-parent/9.1.0": {
"pom": "sha256-p3AsSHAmgCeEtXl7YjMKi41lkr8PRzeyXGel6sgmWcA="
},
"javax/activation#javax.activation-api/1.2.0": {
"jar": "sha256-Q/3vC1ts6zGwQksgi5MMdKtY+sLO63s/b9OuuLXKQ5M=",
"pom": "sha256-2ikm88i+iYZDzBCs3sbeCwNRpX+yc1dw+gF3sGrecbk="
},
"javax/xml/bind#jaxb-api-parent/2.4.0-b180830.0359": {
"pom": "sha256-ctEy4shY0iMPFdBI8ek6J5xAxOnshLxW+fLz61r0tLg="
},
"javax/xml/bind#jaxb-api/2.4.0-b180830.0359": {
"jar": "sha256-VrnpcCdTdjAHQ1Fi6niAVe/P78hquSDwMsBBHcVHuDY=",
"pom": "sha256-sck/wwHX9f5M3hPRlTKZJR2jfv/8kfUjg1UEw/+HNwc="
},
"net/java#jvnet-parent/1": {
"pom": "sha256-KBRAgRJo5l2eJms8yJgpfiFOBPCXQNA4bO60qJI9Y78="
},
"net/java#jvnet-parent/5": {
"pom": "sha256-GvaZ+Nndq2f5oNIC+9eRXrA2Klpt/V/8VMr6NGXJywo="
},
"org/apache#apache/27": {
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
},
"org/apache#apache/30": {
"pom": "sha256-Y91KOTqcDfyzFO/oOHGkHSQ7yNIAy8fy0ZfzDaeCOdg="
},
"org/apache#apache/32": {
"pom": "sha256-z9hywOwn9Trmj0PbwP7N7YrddzB5pTr705DkB7Qs5y8="
},
"org/apache#apache/33": {
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
},
"org/apache/bcel#bcel/6.10.0": {
"jar": "sha256-r9JteOkh1fhD9XRcRKbt7eWx9gcXnYrHZ5ele8vUMOI=",
"pom": "sha256-iObx2/dfb1Ub4fuGM9kWtJzTEm/QeDONtILddRnFMNg="
},
"org/apache/commons#commons-lang3/3.14.0": {
"jar": "sha256-e5a/PuaJSau1vEZVWawnDgVRWW+jRSP934kOxBjd4Tw=",
"pom": "sha256-EQQ4hjutN8KPkGv4cBbjjHqMdYujIeCdEdxaI2Oo554="
},
"org/apache/commons#commons-parent/64": {
"pom": "sha256-bxljiZToNXtO1zRpb5kgV++q+hI1ZzmYEzKZeY4szds="
},
"org/apache/commons#commons-parent/71": {
"pom": "sha256-lbe+cPMWrkyiL2+90I3iGC6HzYdKZQ3nw9M4anR6gqM="
},
"org/apache/commons#commons-parent/72": {
"pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA="
},
"org/apache/commons#commons-parent/81": {
"pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ="
},
"org/apache/groovy#groovy-bom/4.0.22": {
"module": "sha256-Ul0/SGvArfFvN+YAL9RlqygCpb2l9MZWf778copo5mY=",
"pom": "sha256-Hh9rQiKue/1jMgA+33AgGDWZDb1GEGsWzduopT4832U="
},
"org/apache/httpcomponents#httpcomponents-parent/13": {
"pom": "sha256-5Ch4ZwNYVsc3QgNo3VhuXlfnAgmBNYQM89c+nINj17M="
},
"org/apache/httpcomponents/client5#httpclient5-parent/5.4.3": {
"pom": "sha256-5jResynLh+7FgrEPKWsZh5O9FrW1QfTHsf/tnF8UDdg="
},
"org/apache/httpcomponents/client5#httpclient5/5.4.3": {
"jar": "sha256-c54DVnnGjhXvqTtEyAikU7yY6qwXIuWoDKsVwCYiMCI=",
"pom": "sha256-mVG7RlyhWOb6UEtR4GGe2JTMjQwjL0YKftYVBiiY4S0="
},
"org/apache/httpcomponents/core5#httpcore5-h2/5.3.4": {
"jar": "sha256-H7TzTkthLnwSetaTM1WDWHhQsXzpscNm+d4cpJ/ix4E=",
"pom": "sha256-zsGQjdjoavkI22E/I6CTt1lgvEpcaI5X9u9BmYtsUos="
},
"org/apache/httpcomponents/core5#httpcore5-parent/5.3.4": {
"pom": "sha256-Iyuj6AizQJPByLh2XNvqSQ4FrLfK9KQTbh9HDIykrOw="
},
"org/apache/httpcomponents/core5#httpcore5/5.3.4": {
"jar": "sha256-8rL9egFk6MMSDNhDe8n+pDkjnhZcFyYrPpB9qn6Xn4A=",
"pom": "sha256-NMsQqf+CzT+yBfasdsfpHrazHyL4wnSJUtvbm2ZXpbc="
},
"org/apache/logging#logging-parent/11.3.0": {
"pom": "sha256-pcmFtW/hxYQzOTtQkabznlufeFGN2PySE0aQWZtk19A="
},
"org/apache/logging/log4j#log4j-api/2.24.3": {
"jar": "sha256-W0oKDNDnUd7UMcFiRCvb3VMyjR+Lsrrl/Bu+7g9m2A8=",
"pom": "sha256-vAXeM1M6Elmtusv8yCbNZjdqLZxO5T+4NgCfRKRbgjk="
},
"org/apache/logging/log4j#log4j-bom/2.24.3": {
"pom": "sha256-sXq38yj0WGt+cfjJT8NaXaK86AcFpdYwBAIsGSiDNVg="
},
"org/apache/logging/log4j#log4j-core/2.24.3": {
"jar": "sha256-frQIRZauJb08YWmOSOjQq2WpJgdYiE7Vy7nG5VxEpWo=",
"pom": "sha256-v9XAxKrGECQsy2H/ABCK1zeA2iCi9ym+Bjg2qXZXf1c="
},
"org/apache/logging/log4j#log4j-jcl/2.24.3": {
"jar": "sha256-XYI1997Wa7CVg5+OEx2stQyzuJ+kAaXxfcVXTKaGft4=",
"pom": "sha256-8VD2jFJbVc59PiRj9SG9maGSXxJGABF5lNlCzqN3k18="
},
"org/apache/logging/log4j#log4j-slf4j-impl/2.24.3": {
"jar": "sha256-QN7CURZNFXbgAJaM0C5WoRJfRrkftpSgbfoWjxM12kg=",
"pom": "sha256-9RtE6DBed7KsYRtN0vNyT1EqYH2krBAib8WJjb4n9ZM="
},
"org/apache/logging/log4j#log4j/2.24.3": {
"pom": "sha256-wUG0hj/AzqtYOJShPh+eUsAfwtdYcn1nR/a5nVBA87E="
},
"org/apiguardian#apiguardian-api/1.1.2": {
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
},
"org/checkerframework#checker-qual/3.43.0": {
"jar": "sha256-P7wumPBYVMPfFt+auqlVuRsVs+ysM2IyCO1kJGQO8PY=",
"module": "sha256-+BYzJyRauGJVMpSMcqkwVIzZfzTWw/6GD6auxaNNebQ=",
"pom": "sha256-kxO/U7Pv2KrKJm7qi5bjB5drZcCxZRDMbwIxn7rr7UM="
},
"org/codehaus/groovy#groovy-jsr223/3.0.25": {
"jar": "sha256-fXA6HUhKwRNbeLJKSID1ZTFhzag0VMD0hPoJ4pMR070=",
"pom": "sha256-5VhE8bCM5YYkePSfu0Lw3LWCJZtWXSJWUUGuDl4hnk8="
},
"org/codehaus/groovy#groovy/3.0.25": {
"jar": "sha256-rQCemF3YTk9ST07RdRhm2lvvgWtpGFG/vO+kigEYCgc=",
"pom": "sha256-aHNM5SMmVAYVMV7XSdWlDHEwsEez/K7zmrgilnVgbhM="
},
"org/eclipse/ee4j#project/1.0.7": {
"pom": "sha256-IFwDmkLLrjVW776wSkg+s6PPlVC9db+EJg3I8oIY8QU="
},
"org/javassist#javassist/3.30.2-GA": {
"jar": "sha256-66NykJlLXkho86+Y/xE/YkSmsJk4XZrUaIEwfTywGq8=",
"pom": "sha256-QieFHLcOQ/c6zti//mkt465EEsSmLc3/BV5RPuPYAaM="
},
"org/jetbrains#annotations/13.0": {
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
},
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
},
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.25": {
"jar": "sha256-457gti8K15/UXoQzTzSq7pnHKR9ZHd9o4s3N0JtzpHI=",
"pom": "sha256-JyUPHquQreVLpvPBBPcy+8Ll0+Y4nD52uurEoobJT6U="
},
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.9.25": {
"jar": "sha256-bnFrcsSj0pK//wDisNEml1GL+Zy6tzqVK4dXYVNxJEo=",
"pom": "sha256-GK7jbrdxFQlExyUTpFvh7jV9bB7SRmwyGT7zqUXFavs="
},
"org/jetbrains/kotlin#kotlin-reflect/1.6.10": {
"jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
"pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
},
"org/jetbrains/kotlin#kotlin-script-runtime/1.9.25": {
"jar": "sha256-mTPt1md7aqxG0bXv/aGt7pBj+7BMdG54tAM5gVirr0c=",
"pom": "sha256-5C4NOvWI1dAbhPbJmXQAnV5i1Ni5OS+lay7BD4U1IJs="
},
"org/jetbrains/kotlin#kotlin-scripting-common/1.9.25": {
"jar": "sha256-I53rNUBvOWyvhNNNetAAURsLKfwvzT38v0VA8OqKgZ0=",
"pom": "sha256-DbLiJ8H0gWEg2hiE2CzKdZT9jef+dObHRLF3ZYJhoYw="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.9.25": {
"jar": "sha256-St/efrGWxVhp8cWla5xVfKY+2p0cvwrdeq0MuZpJXsM=",
"pom": "sha256-BPqVk4/XrMqTU9uFlv3IwYcgbxcgX6d1XEOzbPbZBW8="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.9.25": {
"jar": "sha256-smxe2F9Uho1L7tEN91Vj3AC0tDF4Mvx+En+wUZagWSo=",
"pom": "sha256-GBIjsvoeLaglLryF1qMQ1sHAvStrcF22VVpGRUgqYao="
},
"org/jetbrains/kotlin#kotlin-scripting-jsr223/1.9.25": {
"jar": "sha256-tNJhpyw/JAaZOyT3BV1uwiypMuT+lsn6ruQmPO+WhFg=",
"pom": "sha256-H0btr0BrmzItayMGjuc3KbFy5dhct2fhN1SLJivfHUg="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm-host/1.9.25": {
"jar": "sha256-5g2KuHub89VSnKBuEkbtvyuN75PjaQR5t1L+5cmzmP4=",
"pom": "sha256-ttPWUCAspYnQoSVcyLFz5M9JSTOaDZRIQX4HwkiR5Hk="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.9.25": {
"jar": "sha256-AN2ark7Gui5tUn5MkcAL23gUIGuGKVjeovl0WJs5hzo=",
"pom": "sha256-J6/IA62/RLTtB+n6/rIdwTmA83hVgS1jcLRV8MD2hzQ="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.22": {
"jar": "sha256-+R8kz606dWaIo1Ep5fM1SA0OtAjxVooX9wfCifh2m90=",
"pom": "sha256-SHnKgQKDPIraP0bHep/6+uGXDK/AvGIfUSAbatl0zp0="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.22": {
"jar": "sha256-RwRsPtwy/g2xo2v+PTgilYu1vkQRxbqA866JWj7CcpE=",
"pom": "sha256-yUBIJZxtAAdXi6r+tx74/3ut6wjy1ZQ3/DllHg+396s="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.9.25": {
"jar": "sha256-+c3Nv/H13oU4CuUml35oNybCqkLbHtbm5Qronklulf0=",
"module": "sha256-Q+BqZsO3XKPkxcswSWjqg1ImJHuj9WExK9Gepi3oRqc=",
"pom": "sha256-fcMxikdte5AtDSevm1b2Y+jMQmOi0zrQUMertlpbZ6E="
},
"org/jruby#jruby-core/9.4.12.1": {
"jar": "sha256-MWQgYXLS3bYENJlRUm6LWxJ68d3nCId7cA5JotVZNwY=",
"pom": "sha256-uaFkukwPxdzMsaK1XzfTcO85rwrVtVvsSxmcaAs55b8="
},
"org/jruby#jruby-parent/9.4.12.1": {
"pom": "sha256-FWJMORFqYySBK1g1qcQySyIgtiH/AB0Rnr47hjN1o+M="
},
"org/junit#junit-bom/5.10.0": {
"module": "sha256-6z7mEnYIAQaUqJgFbnQH0RcpYAOrpfXbgB30MLmIf88=",
"pom": "sha256-4AbdiJT5/Ht1/DK7Ev5e2L5lZn1bRU+Z4uC4xbuNMLM="
},
"org/junit#junit-bom/5.10.2": {
"module": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo=",
"pom": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg="
},
"org/junit#junit-bom/5.10.3": {
"module": "sha256-qnlAydaDEuOdiaZShaqa9F8U2PQ02FDujZPbalbRZ7s=",
"pom": "sha256-EJN9RMQlmEy4c5Il00cS4aMUVkHKk6w/fvGG+iX2urw="
},
"org/junit#junit-bom/5.11.0": {
"module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=",
"pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0="
},
"org/junit#junit-bom/5.11.0-M2": {
"module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=",
"pom": "sha256-Sj/8Sk7c/sLLXWGZInBqlAcWF5hXGTn4VN/ac+ThfMg="
},
"org/junit#junit-bom/5.11.3": {
"module": "sha256-S/D1PO6nx5D9+9JNujyeBM3FGGQnnuv8V6qkc+vKA4A=",
"pom": "sha256-8T3y5Mrx/rzlZ2Z+fDeBAaAzHVPRMk1uLf467Psfd3Q="
},
"org/junit#junit-bom/5.11.4": {
"module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=",
"pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU="
},
"org/junit/jupiter#junit-jupiter-api/5.11.3": {
"jar": "sha256-XYFHpg9JRTlz4lDtaHAbf/BVlk/iRi/Cyx7B1tRIibo=",
"module": "sha256-zC4yvwDuZDSpoZ3P2fJ6z2ZaPdYy03fkdhgNies+8n0=",
"pom": "sha256-8Zr+CSOwGTXEDy5+ltZgN+IAi3AXkXzHBRM4N3hJYY4="
},
"org/junit/jupiter#junit-jupiter-engine/5.11.3": {
"jar": "sha256-5iQgyZ98DVmiFZou9j5hh36cgL1yLAPKi/O9zqBQpYk=",
"module": "sha256-s3w9vEFSbrpeVMz/ROxUf0hVYstDyj0J2p+n2hmjBl4=",
"pom": "sha256-eJ43jTfEndhlTWbjrTreQY5YhK5vSHI5Ad0758nsngM="
},
"org/junit/platform#junit-platform-commons/1.11.3": {
"jar": "sha256-viYpZLC2tI3pd8YdT5Md+M9h6A51DMPzoKOc3SHBAIw=",
"module": "sha256-l531zqTESC/fxZCK3ItGq2q/ADbpmk0CzBjAdDyLggc=",
"pom": "sha256-gW69MkSncNkV2cHUDTtGUf40j0L4m3y369De4gnFIEA="
},
"org/junit/platform#junit-platform-engine/1.11.3": {
"jar": "sha256-AEP3L2EWZHNdqNyaMIvxLs0iNrBTOTUcR0HttNj6sNo=",
"module": "sha256-K5UnTIxw3eS9vEmQnxxY61qSLlQcXdO+qpx68rv6Qaw=",
"pom": "sha256-/ibcXakRuUtowSsiQSV6IIE1u7m4yRzBoTQzqAp6eR4="
},
"org/mockito#mockito-bom/4.11.0": {
"pom": "sha256-2FMadGyYj39o7V8YjN6pRQBq6pk+xd+eUk4NJ9YUkdo="
},
"org/opentest4j#opentest4j/1.3.0": {
"jar": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=",
"module": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=",
"pom": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U="
},
"org/slf4j#slf4j-api/1.7.36": {
"jar": "sha256-0+9XXj5JeWeNwBvx3M5RAhSTtNEft/G+itmCh3wWocA=",
"pom": "sha256-+wRqnCKUN5KLsRwtJ8i113PriiXmDL0lPZhSEN7cJoQ="
},
"org/slf4j#slf4j-parent/1.7.36": {
"pom": "sha256-uziNN/vN083mTDzt4hg4aTIY3EUfBAQMXfNgp47X6BI="
},
"org/sonatype/oss#oss-parent/7": {
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
},
"org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
},
"org/springframework#spring-framework-bom/5.3.39": {
"module": "sha256-+ItA4qUDM7QLQvGB7uJyt17HXdhmbLFFvZCxW5fhg+M=",
"pom": "sha256-9tSBCT51dny6Gsfh2zj49pLL4+OHRGkzcada6yHGFIs="
}
}
}
+124
View File
@@ -0,0 +1,124 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
coreutils,
findutils,
gnused,
jre,
gradle,
makeBinaryWrapper,
gitMinimal,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "structurizr-cli";
version = "2025.05.28";
src = fetchFromGitHub {
owner = "structurizr";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-bypCW7fEfSzVQHhb7wzxQUkXnoDb8QHUsPCpHV7pW/w=";
};
strictDeps = true;
patches =
let
# Use `gradle-application-plugin` to generate scripts and dist zip instead of in-house launch script
# PR at https://github.com/structurizr/cli/pull/175
commits = [
# Use `gradle-application-plugin`
{
rev = "eb1657c2be62fb493adde954330a70eebd72026a";
hash = "sha256-B1vqQNHHSOgiRysc5ZkcBB/8YZ1dMjJuFu5uwGRQKWs=";
}
# Set JDK target correctly
{
rev = "24be5eeec893df5261100913c4e51ca0bd100689";
hash = "sha256-tj7fNOqKLPvgTYKCRIJlGg1OGyGOmmx0Pj4H8oDPVdU=";
}
# Remove unused `git.commit` property
{
rev = "2cb1d86c59f210ce32211395570e8dccf138df16";
hash = "sha256-wswvXJujyPpbvXvL2SOFC4zZLnfskYFdHvzry66vukQ=";
}
# Set build data correctly
{
rev = "3260d8622a9cf6197d6ab5d9440087dcaac3fbb9";
hash = "sha256-0zUmg+smxQLZm9wWu3JL1pIXQJcQ1uyQ433C1pDLatQ=";
}
# Wrap compatibility into java block
{
rev = "1a11940d089a8d70d6e298660c6f5db638cc8d00";
hash = "sha256-Myj3s7Kc+bQS3iJIZoEyc39pn3DkBOHFu/B9UUPKXf8=";
}
];
in
builtins.map (
entry:
fetchpatch {
url = "https://github.com/structurizr/cli/commit/${entry.rev}.patch";
hash = entry.hash;
}
) commits;
postPatch = ''
substituteInPlace src/main/resources/build.properties \
--subst-var-by BUILD_NUMBER "${finalAttrs.version}" \
--subst-var-by BUILD_DATE "1970-01-01T00:00:00Z"
'';
nativeBuildInputs = [
gradle
makeBinaryWrapper
gitMinimal
];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
__darwinAllowLocalNetworking = true;
gradleBuildTask = "installDist";
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
cp -r build/install/structurizr-cli $out/lib/structurizr-cli
makeBinaryWrapper $out/lib/structurizr-cli/bin/structurizr-cli $out/bin/structurizr-cli \
--prefix PATH : "${
lib.makeBinPath [
coreutils
findutils
gnused
jre
]
}"
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "version";
meta = {
description = "Structurizr CLI for publishing C4 architecture diagrams and models";
homepage = "https://github.com/structurizr/cli";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ mhemeryck ];
platforms = lib.platforms.all;
mainProgram = "structurizr-cli";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
};
})
+3
View File
@@ -60,6 +60,9 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=tilix
substituteInPlace source/gx/tilix/{prefeditor/prefdialog.d,terminal/terminal.d} \
--replace-fail "(Align." "(GtkAlign."
'';
passthru.tests.test = nixosTests.terminal-emulators.tilix;
+3 -3
View File
@@ -6,17 +6,17 @@
buildGo124Module rec {
pname = "vuls";
version = "0.32.0";
version = "0.33.1";
src = fetchFromGitHub {
owner = "future-architect";
repo = "vuls";
tag = "v${version}";
hash = "sha256-XFaKgCThZ7nE5JY11uq0A4kPMazPUINjo4el8IFRGNI=";
hash = "sha256-djs4bhdicZFDETw3tLoks7KKjLh/o6Z6Ivzw0I/VxH8=";
fetchSubmodules = true;
};
vendorHash = "sha256-95j7C0VOJadcv1/SAwEc/2HmeV1vOAh6vdrElRx+M60=";
vendorHash = "sha256-1W6xI6rRyaSfryNZSGhgHULotZ42lPsDt27KVzFEhog=";
ldflags = [
"-s"
+3 -3
View File
@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.192.6";
version = "0.192.7";
outputs =
[ "out" ]
@@ -111,7 +111,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-XLAzY9pXEfynyNkdnEJ0E/E6jLphirLgjBuXQpeK8yc=";
hash = "sha256-OjqJAb7IlFpSd7+i5QAkpsBDAbM6tZ8x/Y1HWiyDkPI=";
};
patches = [
@@ -138,7 +138,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-4kVfJmW36Q3Nb8AOmfNDmZLoZ9UZfj0MmznnIKdr+lU=";
cargoHash = "sha256-qi3V6qGbb6kKecSTCbDMqfUKdgIliBJG1RaI5v+W9yY=";
nativeBuildInputs =
[
@@ -1,9 +0,0 @@
{ callPackage, ... }@args:
callPackage ./generic.nix (
{
version = "26.1";
hash = "sha256-9sA+MYeDqRZl1v6HV4mpy60vqTbVTtinp9er6zkg/Ng=";
}
// args
)
@@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "anyascii";
version = "0.3.2";
version = "0.3.3";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-nV0y74RP4iW4vHy6f5UFNPrk2iepvzpr6iyw6kbORzA=";
hash = "sha256-yU6d2dR7PZSU7KMF/vlEfQC0vxoyr/hap0b6Psf7lcM=";
};
nativeCheckInputs = [ pytestCheckHook ];
@@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pylatexenc,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "bibtexparser";
version = "2.0.0b8";
pyproject = true;
src = fetchFromGitHub {
owner = "sciunto-org";
repo = "python-bibtexparser";
tag = "v${version}";
hash = "sha256-531Mh/5DUYayXm1H0v4dPX0P9mRcqcQcU/A+f4wwqxg=";
};
build-system = [ setuptools ];
dependencies = [ pylatexenc ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "bibtexparser" ];
meta = {
description = "Bibtex parser for Python";
homepage = "https://github.com/sciunto-org/python-bibtexparser";
changelog = "https://github.com/sciunto-org/python-bibtexparser/blob/${src.tag}/CHANGELOG";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.amadejkastelic ];
};
}
@@ -359,7 +359,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.38.44";
version = "1.38.46";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-8ru3v7vaf3tpXoOB2CiDTEzVR8OLCNX0SRpHZPJSy7Q=";
hash = "sha256-UmeJ/B9Kb4nzckJNyaQQkpb2vRivqxq/XSgalPXPt3A=";
};
build-system = [ setuptools ];
@@ -35,14 +35,14 @@
buildPythonPackage rec {
pname = "celery";
version = "5.5.2";
version = "5.5.3";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-TWkw81T50pKVQl16NyYSRcdKMoB8Rddkvtwoav0Ock4=";
hash = "sha256-bJcq55aMK1KBIn8Bw6P5hAN9IcUSnQe/NVDMKvxrEKU=";
};
build-system = [ setuptools ];
@@ -4,11 +4,11 @@
buildPythonPackage,
colorlog,
fetchFromGitHub,
bibtexparser_2,
git,
lxml,
markdown,
markupsafe,
mock,
postgresql,
pylatexenc,
pytest-cov-stub,
@@ -22,21 +22,21 @@
buildPythonPackage rec {
pname = "clldutils";
version = "3.21.0";
version = "3.24.2";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "clld";
repo = "clldutils";
rev = "v${version}";
hash = "sha256-OD+WJ9JuYZb/oXDgVqL4i5YlcVEt0+swq0SB3cutyRo=";
tag = "v${version}";
hash = "sha256-xIs6Lq9iDdcM3j51F27x408oUldvy5nlvVdbrAS5Jz0=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
attrs
bibtexparser_2
colorlog
lxml
markdown
@@ -47,7 +47,6 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
mock
postgresql
pytest-cov-stub
pytest-mock
@@ -55,11 +54,11 @@ buildPythonPackage rec {
git
];
meta = with lib; {
changelog = "https://github.com/clld/clldutils/blob/${src.rev}/CHANGES.md";
meta = {
changelog = "https://github.com/clld/clldutils/blob/${src.tag}/CHANGES.md";
description = "Utilities for clld apps without the overhead of requiring pyramid, rdflib et al";
homepage = "https://github.com/clld/clldutils";
license = licenses.asl20;
maintainers = with maintainers; [ melling ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ melling ];
};
}
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "deap";
version = "1.4.2";
version = "1.4.3";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-1nm+M3Pbi6kStGZCYMopx6yhA3L/WpaCMQR7Se/CKsU=";
hash = "sha256-fJcIj7BYNb3CVb7EdcsOd43itD5Ey++/K81lWu7IZf0=";
};
propagatedBuildInputs = [
@@ -0,0 +1,47 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
libclang,
sphinx,
clang,
pytestCheckHook,
strictyaml,
}:
buildPythonPackage rec {
pname = "hawkmoth";
version = "0.21.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jnikula";
repo = "hawkmoth";
tag = "v${version}";
hash = "sha256-ePi7whsibStYwG75Eso7A0GkSbn8JesacaDU5IRF9iE=";
};
build-system = [ hatchling ];
dependencies = [
libclang
sphinx
];
propagatedBuildInputs = [ clang ];
nativeCheckInputs = [
clang
pytestCheckHook
strictyaml
];
pythonImportsCheck = [ "hawkmoth" ];
meta = {
description = "Sphinx Autodoc for C";
homepage = "https://jnikula.github.io/hawkmoth/";
changelog = "https://github.com/jnikula/hawkmoth/blob/v${version}/CHANGELOG.rst";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.cynerd ];
};
}
@@ -2,39 +2,30 @@
lib,
buildPythonPackage,
fetchPypi,
future,
mock,
pytestCheckHook,
python-dateutil,
pythonOlder,
requests,
setuptools,
}:
buildPythonPackage rec {
pname = "hcloud";
version = "2.5.2";
version = "2.5.3";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-v1vnII5q1bOf/neiNOJPa+t03ma/cjLbxbabo2jQptQ=";
hash = "sha256-+9unvxFjf/ryqN6g4IKWX1viwgSfkgrX1prjXvBnbWs=";
};
build-system = [ setuptools ];
dependencies = [
future
requests
python-dateutil
];
nativeCheckInputs = [
mock
pytestCheckHook
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "hcloud" ];
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "monotonic-alignment-search";
version = "0.1.1";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "eginhard";
repo = "monotonic_alignment_search";
tag = "v${version}";
hash = "sha256-qBkJKED0KVArhzmhZo8UuWQ55XMMBgvKM3xOwiPVwKU=";
hash = "sha256-N714DfLyrdhhm2yWlMzUVZkQ5Ys2aOmtEcxACGM665Y=";
};
build-system = [
@@ -41,7 +41,7 @@ buildPythonPackage rec {
meta = {
homepage = "https://github.com/eginhard/monotonic_alignment_search";
description = "Monotonically align text and speech";
changelog = "https://github.com/eginhard/monotonic_alignment_search/releases/tag/v${version}";
changelog = "https://github.com/eginhard/monotonic_alignment_search/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jbgi ];
};
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "mscerts";
version = "2025.5.28";
version = "2025.6.27";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "ralphje";
repo = "mscerts";
tag = version;
hash = "sha256-FdREuLoUNL0uJczX5IDOFEWSo4YoYV7n0PnD+TJKcYY=";
hash = "sha256-By0gVlsVjgBREBGUOZjnKE9HTHC+zLZ4kUKIcN7/eKY=";
};
build-system = [ setuptools ];
@@ -334,12 +334,12 @@ rec {
"sha256-ItKYimrEeI5dR8fF76gJ7VQ6Ws/WQNU0srmtQyHFylo=";
mypy-boto3-config =
buildMypyBoto3Package "config" "1.38.0"
"sha256-GaC5ClnSfg8/8jCv2ropPoUS7YOIhKkyicDhsYUUPwk=";
buildMypyBoto3Package "config" "1.38.46"
"sha256-aCDGSPV7f+gzkwKZD+UGiqcj/Cw6Ydkl1nBeVK7Pt+0=";
mypy-boto3-connect =
buildMypyBoto3Package "connect" "1.38.26"
"sha256-6Gaap6zNuKaibd/8iM9uSgryw69A0abbb8cUXtjRQ6Q=";
buildMypyBoto3Package "connect" "1.38.46"
"sha256-7kofmt1mCU/s+hZMVG0+nVAEMUgAwptQFcO8XhuaSus=";
mypy-boto3-connect-contact-lens =
buildMypyBoto3Package "connect-contact-lens" "1.38.0"
@@ -446,8 +446,8 @@ rec {
"sha256-RQh46jrXqj4bXTRJ+tPR9sql7yUn7Ek9u4p0OU0A7b0=";
mypy-boto3-ec2 =
buildMypyBoto3Package "ec2" "1.38.43"
"sha256-YBHcKICX+02kqhy/opsl2orgOPrTx0zZ+BgtynLhREA=";
buildMypyBoto3Package "ec2" "1.38.45"
"sha256-6nu0/LdOYNi8PkLKEH+DtuIiHzNNKeVmIM0FSblHE2I=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.38.0"
@@ -574,8 +574,8 @@ rec {
"sha256-abALPaOoxM8dvwqd8j41mTT1Zmcn/sEVzlopSMc+fYM=";
mypy-boto3-glue =
buildMypyBoto3Package "glue" "1.38.42"
"sha256-w0lnzVTd1djYr8FGTqqEe2Qwwyt0JFWRmcWvPZAGtPE=";
buildMypyBoto3Package "glue" "1.38.46"
"sha256-8PxTydQM0s17Bf8hE+nDVC5da7S+Fc727d6rsWW5Fa8=";
mypy-boto3-grafana =
buildMypyBoto3Package "grafana" "1.38.0"
@@ -594,8 +594,8 @@ rec {
"sha256-GkC4iF96d4nQMNZZx2JHBvgdFvzqujmH2YLzEuiM1n8=";
mypy-boto3-guardduty =
buildMypyBoto3Package "guardduty" "1.38.38"
"sha256-Nt2mw3WSX3C0M+ZFbC67uXFtbDZW5zfKBq6sij2sY8Q=";
buildMypyBoto3Package "guardduty" "1.38.46"
"sha256-4YHcCAE48VWGdyoMeWkJ0GFKxINGl/wCaHYB8u7P89E=";
mypy-boto3-health =
buildMypyBoto3Package "health" "1.38.0"
@@ -726,8 +726,8 @@ rec {
"sha256-BbUpFRwYYBkHUBPC8Q6zltxzSDEBnB9LaQxDeiMOFZA=";
mypy-boto3-keyspaces =
buildMypyBoto3Package "keyspaces" "1.38.0"
"sha256-/p6IadhTa59EpFXgN3GexAL+qLJzkedRFHfMOteVIeY=";
buildMypyBoto3Package "keyspaces" "1.38.45"
"sha256-7BmPM2RSDyk8UYZsiYR4Zn1Xw13kdGNfCi/Fy0teWTk=";
mypy-boto3-kinesis =
buildMypyBoto3Package "kinesis" "1.38.8"
@@ -762,8 +762,8 @@ rec {
"sha256-PKOF/jd1Wjz8lCwbCd4cfHeStkvcDhQu7a7bpHaizgU=";
mypy-boto3-kms =
buildMypyBoto3Package "kms" "1.38.36"
"sha256-pHVOYKF9OtQOzQcx5UfpViQGgsMnp+JqdbFQ0cutnpA=";
buildMypyBoto3Package "kms" "1.38.45"
"sha256-v7ODnXedN/CEa6TbWm0j5+GJXtG5RUqXD2hTgq2OMAM=";
mypy-boto3-lakeformation =
buildMypyBoto3Package "lakeformation" "1.38.0"
@@ -1086,8 +1086,8 @@ rec {
"sha256-ZgecmO3dz66i2COSXzBjyUCtTkGGi9gnvb/HNNEq1AE=";
mypy-boto3-rds =
buildMypyBoto3Package "rds" "1.38.43"
"sha256-Dgmsl3yNadHpju27PUl3EdXEc4kDew08X8A6eGoTE6U=";
buildMypyBoto3Package "rds" "1.38.46"
"sha256-whlDNePhHOovmCOB7PN2/WbzzvrgQ0zvQWbscEkcALk=";
mypy-boto3-rds-data =
buildMypyBoto3Package "rds-data" "1.38.0"
@@ -1254,8 +1254,8 @@ rec {
"sha256-F0Hjy6zoRUsSHZPSLUnII4vpVeudtgL2Vh1CIqbj3zA=";
mypy-boto3-sesv2 =
buildMypyBoto3Package "sesv2" "1.38.0"
"sha256-ESw92+4DpLC7+72sHQb+kHGHx6htQ+CmSnd6DaLSzME=";
buildMypyBoto3Package "sesv2" "1.38.46"
"sha256-7+u35klbbDjPFUmDO0+PiJsSuDEgYBPZ0R9Bqh1JWkU=";
mypy-boto3-shield =
buildMypyBoto3Package "shield" "1.38.0"
@@ -1426,8 +1426,8 @@ rec {
"sha256-naClNCiAqHalhT/+8cI510kBzYxpY3Z+wppDpQbZtdg=";
mypy-boto3-workspaces =
buildMypyBoto3Package "workspaces" "1.38.17"
"sha256-vS6+uLpngMP/U2zM207LPzdzVl2DpB36/zyuM625r3o=";
buildMypyBoto3Package "workspaces" "1.38.45"
"sha256-gXdxhks4bCT7KuXFQvJsSfe6y4aMe77ljOaluLe/n9Y=";
mypy-boto3-workspaces-web =
buildMypyBoto3Package "workspaces-web" "1.38.0"
@@ -2,24 +2,22 @@
lib,
buildPythonPackage,
fetchPypi,
isPy27,
pythonOlder,
future,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "parsedatetime";
version = "2.6";
format = "setuptools";
disabled = isPy27; # no longer compatible with icu package
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "4cb368fbb18a0b7231f4d76119165451c8d2e35951455dfee97c62a87b04d455";
hash = "sha256-TLNo+7GKC3Ix9NdhGRZUUcjS41lRRV3+6XxiqHsE1FU=";
};
propagatedBuildInputs = lib.optional (pythonOlder "3.13") future;
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
future,
jsonschema,
pytestCheckHook,
python-dateutil,
@@ -27,12 +26,9 @@ buildPythonPackage rec {
hash = "sha256-+oKhKn+wUnvKlNymY/vtXn0cHBMyawBNhOQRu0tYC/M=";
};
pythonRelaxDeps = [ "future" ];
build-system = [ setuptools ];
dependencies = [
future
jsonschema
python-dateutil
requests
@@ -4,7 +4,6 @@
fetchPypi,
setuptools,
requests,
six,
pytestCheckHook,
requests-toolbelt,
responses,
@@ -12,20 +11,19 @@
buildPythonPackage rec {
pname = "pushover-complete";
version = "1.2.0";
version = "2.0.0";
pyproject = true;
src = fetchPypi {
pname = "pushover_complete";
inherit version;
hash = "sha256-v0+JgShJMEdVXJ1xZD4UCKZzgV+uOuOstPn3nWtHDJw=";
hash = "sha256-JPx9hNc0JoQOdnj+6A029A3wEUyzA1K6T5mrOELtIac=";
};
build-system = [ setuptools ];
dependencies = [
requests
six
];
nativeCheckInputs = [
@@ -3,7 +3,6 @@
buildPythonPackage,
fetchFromGitHub,
setuptools,
future,
pyusb,
}:
@@ -27,31 +26,22 @@ buildPythonPackage rec {
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
'';
build-system = [
setuptools
];
pythonRemoveDeps = [ "backports.functools_lru_cache" ];
pythonRemoveDeps = [
"backports.functools_lru_cache"
];
build-system = [ setuptools ];
dependencies = [
future
pyusb
];
dependencies = [ pyusb ];
# has no tests
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"pygreat"
];
pythonImportsCheck = [ "pygreat" ];
meta = {
changelog = "https://github.com/greatscottgadgets/libgreat/releases/tag/${src.tag}";
description = "Python library for talking with libGreat devices";
homepage = "https://github.com/greatscottgadgets/libgreat/";
license = with lib.licenses; [ bsd3 ];
changelog = "https://github.com/greatscottgadgets/libgreat/releases/tag/${src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ carlossless ];
};
}
@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "python-engineio";
version = "4.12.1";
version = "4.12.2";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "miguelgrinberg";
repo = "python-engineio";
tag = "v${version}";
hash = "sha256-slSLTcnrDGCI2hUbttp14qbNhiVFJ+PMZlhAq4ISDBs=";
hash = "sha256-VgdqVzO3UToXpD9pMEDqAH2DfdBwaWUfulALAEG2DNs=";
};
build-system = [ setuptools ];
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "rich-argparse";
version = "1.7.0";
version = "1.7.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "hamdanal";
repo = "rich-argparse";
tag = "v${version}";
hash = "sha256-XuRQeE9JrF4ym2H1ky1yH0fENnsWbL90vboQzTo23w0=";
hash = "sha256-gLXFiWgGMDOUbTyoSgTr0XfotVfDxwMqPdsfE4KHzXM=";
};
build-system = [ hatchling ];
@@ -51,5 +51,6 @@ buildPythonPackage rec {
homepage = "https://github.com/rsteca/sklearn-deap";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
broken = true; # incompatible with scikit-learn >= 1.6
};
}
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "superqt";
version = "0.7.3";
version = "0.7.5";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "pyapp-kit";
repo = "superqt";
tag = "v${version}";
hash = "sha256-u9HnuqPcHb0Sk+UtgrCt9oziW1hCA6aQsieRO/ZG9fU=";
hash = "sha256-fLlItQRCxam7wlQZKKY+9/qAm8IFsVQZzyz3Ro5tDuU=";
};
build-system = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
version = "3.0.1409";
version = "3.0.1410";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = version;
hash = "sha256-JbPC6pAtK5NSRcnE0qzhWN+MZ3ddmUhVA7oKEdLxEQQ=";
hash = "sha256-egpsFSYD5S+a3BcJ/4MElyJYyB5ziNY2CxvzbWGL7PM=";
};
build-system = [ setuptools ];
@@ -1,7 +1,7 @@
{
lib,
stdenv,
buildPythonPackage,
setuptools,
pytestCheckHook,
tree-sitter,
symlinkJoin,
@@ -27,16 +27,34 @@ in
buildPythonPackage {
inherit version;
pname = drvPrefix;
pyproject = true;
build-system = [ setuptools ];
src = symlinkJoin {
name = "${drvPrefix}-source";
paths = [
(writeTextDir "${snakeCaseName}/__init__.py" ''
from ._binding import language
# AUTO-GENERATED DO NOT EDIT
# preload the parser object before importing c binding
# this way we can avoid dynamic linker kicking in when
# downstream code imports this python module
import ctypes
import sys
import os
parser = "${grammarDrv}/parser"
try:
ctypes.CDLL(parser, mode=ctypes.RTLD_GLOBAL) # cached
except OSError as e:
raise ImportError(f"cannot load tree-sitter parser object from {parser}: {e}")
# expose binding
from ._binding import language
__all__ = ["language"]
'')
(writeTextDir "${snakeCaseName}/binding.c" ''
// AUTO-GENERATED DO NOT EDIT
#include <Python.h>
typedef struct TSLanguage TSLanguage;
@@ -66,6 +84,8 @@ buildPythonPackage {
}
'')
(writeTextDir "setup.py" ''
# AUTO-GENERATED DO NOT EDIT
from platform import system
from setuptools import Extension, setup
@@ -86,6 +106,8 @@ buildPythonPackage {
)
'')
(writeTextDir "pyproject.toml" ''
# AUTO-GENERATED DO NOT EDIT
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
@@ -98,13 +120,12 @@ buildPythonPackage {
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Topic :: Software Development :: Compilers",
"Topic :: Text Processing :: Linguistic",
]
requires-python = ">=3.8"
license.text = "MIT"
license = "MIT"
readme = "README.md"
[project.optional-dependencies]
@@ -115,6 +136,8 @@ buildPythonPackage {
build-frontend = "build"
'')
(writeTextDir "tests/test_language.py" ''
# AUTO-GENERATED DO NOT EDIT
from ${snakeCaseName} import language
from tree_sitter import Language, Parser
@@ -125,18 +148,13 @@ buildPythonPackage {
def test_language():
lang = Language(language())
assert lang is not None
parser = Parser()
parser.language = lang
parser = Parser(lang)
tree = parser.parse(bytes("", "utf-8"))
assert tree is not None
'')
];
};
preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
export DYLD_LIBRARY_PATH="${grammarDrv}"
'';
preCheck = ''
# https://github.com/NixOS/nixpkgs/issues/255262
rm -r ${snakeCaseName}
@@ -148,6 +166,7 @@ buildPythonPackage {
tree-sitter
pytestCheckHook
];
pythonImportsCheck = [ snakeCaseName ];
meta = {
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "youtokentome";
version = "1.0.6";
version = "1.0.7";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "VKCOM";
repo = "YouTokenToMe";
tag = "v${version}";
hash = "sha256-IFZS4jSi4yMzI7VbOPHI3KFZu5tjPjfQDPY7e1qbKAM=";
hash = "sha256-+GI752Ih7Ou1wyChR2y80BJmeTYdHWLPX6A1lvMyLGU=";
};
nativeBuildInputs = [
@@ -1,19 +1,19 @@
{
lib,
argparse-dataclass,
buildPythonPackage,
dpath,
fetchFromGitHub,
numpy,
plac,
poetry-core,
pytestCheckHook,
pythonOlder,
pyyaml,
uv-build,
}:
buildPythonPackage rec {
pname = "yte";
version = "1.8.1";
version = "1.9.0";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -22,14 +22,14 @@ buildPythonPackage rec {
owner = "koesterlab";
repo = "yte";
tag = "v${version}";
hash = "sha256-0YIZd0qgtriyD+xCxJZENY7Z1fART3MS8pubnpysGRc=";
hash = "sha256-kA4fQg2vpgDuW0OZOqzA6lggJLtSiQo+3SCOp7hnt8M=";
};
build-system = [ poetry-core ];
build-system = [ uv-build ];
dependencies = [
dpath
plac
argparse-dataclass
pyyaml
];
@@ -40,8 +40,6 @@ buildPythonPackage rec {
pythonImportsCheck = [ "yte" ];
pytestFlagsArray = [ "tests.py" ];
preCheck = ''
# The CLI test need yte on the PATH
export PATH=$out/bin:$PATH
+1
View File
@@ -1639,6 +1639,7 @@ mapAliases {
prometheus-minio-exporter = throw "'prometheus-minio-exporter' has been removed from nixpkgs, use Minio's built-in Prometheus integration instead"; # Added 2024-06-10
prometheus-tor-exporter = throw "'prometheus-tor-exporter' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-10-30
protobuf_23 = throw "'protobuf_23' has been removed from nixpkgs. Consider using a more recent version of the protobuf library"; # Added 2025-04-20
protobuf_26 = throw "'protobuf_26' has been removed from nixpkgs. Consider using a more recent version of the protobuf library"; # Added 2025-06-29
protobuf_28 = throw "'protobuf_28' has been removed from nixpkgs. Consider using a more recent version of the protobuf library"; # Added 2025-06-14
protobuf3_24 = protobuf_24;
protobuf3_23 = protobuf_23;
-8
View File
@@ -340,10 +340,6 @@ with pkgs;
];
} ../build-support/setup-hooks/gog-unpack.sh;
buf = callPackage ../by-name/bu/buf/package.nix {
buildGoModule = buildGo123Module;
};
buildEnv = callPackage ../build-support/buildenv { }; # not actually a package
buildFHSEnv = buildFHSEnvBubblewrap;
@@ -3208,8 +3204,6 @@ with pkgs;
gssdp-tools = callPackage ../development/libraries/gssdp/tools.nix { };
gtkd = callPackage ../development/libraries/gtkd { dcompiler = ldc; };
gup = callPackage ../development/tools/build-managers/gup { };
gupnp = callPackage ../development/libraries/gupnp { };
@@ -9242,7 +9236,6 @@ with pkgs;
protobuf_30 = callPackage ../development/libraries/protobuf/30.nix { };
protobuf_29 = callPackage ../development/libraries/protobuf/29.nix { };
protobuf_27 = callPackage ../development/libraries/protobuf/27.nix { };
protobuf_26 = callPackage ../development/libraries/protobuf/26.nix { };
protobuf_25 = callPackage ../development/libraries/protobuf/25.nix { };
protobuf_24 = callPackage ../development/libraries/protobuf/24.nix { };
protobuf_21 = callPackage ../development/libraries/protobuf/21.nix {
@@ -9253,7 +9246,6 @@ with pkgs;
protobuf_30
protobuf_29
protobuf_27
protobuf_26
protobuf_25
protobuf_24
protobuf_21
+4
View File
@@ -1817,6 +1817,8 @@ self: super: with self; {
bibtexparser = callPackage ../development/python-modules/bibtexparser { };
bibtexparser_2 = callPackage ../development/python-modules/bibtexparser/2.nix { };
bidict = callPackage ../development/python-modules/bidict { };
bids-validator = callPackage ../development/python-modules/bids-validator { };
@@ -6373,6 +6375,8 @@ self: super: with self; {
hawkauthlib = callPackage ../development/python-modules/hawkauthlib { };
hawkmoth = callPackage ../development/python-modules/hawkmoth { };
haystack-ai = callPackage ../development/python-modules/haystack-ai { };
hcloud = callPackage ../development/python-modules/hcloud { };