Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2026-10-14 15:35:44 +03:00
477 changed files with 2647 additions and 2918 deletions

View File

@@ -54,6 +54,7 @@ sets are
* `pkgs.python313Packages`
* `pkgs.python314Packages`
* `pkgs.python315Packages`
* `pkgs.python316Packages`
* `pkgs.pypy27Packages`
* `pkgs.pypy310Packages`

View File

@@ -152,7 +152,6 @@ in
plasma-browser-integration
plasma-workspace-wallpapers
konsole
kwin-x11
(lib.getBin qttools) # Expose qdbus in PATH
ark
elisa
@@ -223,7 +222,6 @@ in
++ lib.optional config.services.colord.enable colord-kde
++ lib.optional config.services.hardware.bolt.enable plasma-thunderbolt
++ lib.optional config.services.samba.enable kdenetwork-filesharing
++ lib.optional config.services.xserver.wacom.enable wacomtablet
++ lib.optional config.services.flatpak.enable flatpak-kcm;
environment.pathsToLink = [

View File

@@ -1502,6 +1502,10 @@ in
inherit runTest;
php = pkgs.php85;
};
php86 = import ./php/default.nix {
inherit runTest;
php = pkgs.php86;
};
phylactery = runTest ./web-apps/phylactery.nix;
pict-rs = runTest ./pict-rs.nix;
pihole-ftl = import ./pihole-ftl { inherit runTest; };

View File

@@ -13,8 +13,6 @@
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.displayManager.plasma-login-manager.enable = true;
# FIXME: this should be testing Wayland
services.displayManager.defaultSession = "plasmax11";
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = [ pkgs.kdePackages.elisa ];
services.displayManager.autoLogin = {
@@ -27,19 +25,13 @@
{ nodes, ... }:
let
user = nodes.machine.users.users.alice;
xdo = "${pkgs.xdotool}/bin/xdotool";
in
''
with subtest("Wait for login"):
start_all()
machine.wait_for_file("/run/user/1000/xauth_*")
machine.wait_until_succeeds("test -s /run/user/1000/xauth_*")
machine.succeed("xauth merge /run/user/1000/xauth_*")
machine.succeed("su - ${user.name} -c 'xauth merge /run/user/1000/xauth_*'")
with subtest("Check plasmashell started"):
machine.wait_until_succeeds("pgrep plasmashell")
machine.wait_for_window("^Desktop ")
with subtest("Check that KDED is running"):
machine.succeed("pgrep kded6")
@@ -48,21 +40,15 @@
machine.fail("which elisa")
with subtest("Run Dolphin"):
machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin >&2 &'")
machine.wait_for_window(" Dolphin")
machine.execute("su - ${user.name} -c 'WAYLAND_DISPLAY=/run/user/1000/wayland-0 dolphin >&2 &'")
with subtest("Run Konsole"):
machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole >&2 &'")
machine.wait_for_window("Konsole")
machine.execute("su - ${user.name} -c 'WAYLAND_DISPLAY=/run/user/1000/wayland-0 konsole >&2 &'")
with subtest("Run systemsettings"):
machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings >&2 &'")
machine.wait_for_window("Settings")
machine.execute("su - ${user.name} -c 'WAYLAND_DISPLAY=/run/user/1000/wayland-0 systemsettings >&2 &'")
with subtest("Wait to get a screenshot"):
machine.execute(
"${xdo} key Alt+F1 sleep 10"
)
machine.screenshot("screen")
'';
}

View File

@@ -14,17 +14,17 @@
}:
buildGoModule (finalAttrs: {
pname = "avalanche-cli";
version = "1.9.6";
version = "1.9.7";
src = fetchFromGitHub {
owner = "ava-labs";
repo = "avalanche-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-bAZJRFlry7vYTTf95kTOJwcjYelN40n264oeykx7nxc=";
hash = "sha256-7ZNYO3SU+s6+VAq0h3EJHgUxAZ4BScbSlQwswKYQzqQ=";
};
proxyVendor = true;
vendorHash = "sha256-0+YwlCHjiU46y333RSuaha4pLKFTYlj+M9+TFAALamY=";
vendorHash = "sha256-BNb3zifYaCkxiEoGnG8p0Z5gYtsdYIm22quvweFo0Jk=";
env = {
# Fix error: 'Caught SIGILL in blst_cgo_init'

View File

@@ -74,10 +74,6 @@ let
};
in
assert lib.assertMsg (
hashes ? ${system}.hash.${phpMajor}
) "blackfire does not support PHP version ${phpMajor} on ${system}.";
stdenv.mkDerivation (finalAttrs: {
pname = "php-blackfire";
extensionName = "blackfire";
@@ -152,12 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://blackfire.io/";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ spk ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"i686-linux"
"aarch64-darwin"
];
platforms = lib.attrNames (lib.filterAttrs (_: v: v.hash ? ${phpMajor}) hashes);
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tauri";
version = "2.11.4";
version = "2.12.2";
src = fetchFromGitHub {
owner = "tauri-apps";
repo = "tauri";
tag = "tauri-cli-v${finalAttrs.version}";
hash = "sha256-bYkooyO8msGlewK4zU8NSgGQwAKzc5xfboMakugukBc=";
hash = "sha256-GSxBnwMnsBrYxEbUs11MlQP/3/0F0QwOOnvCuz7B3+o=";
};
cargoHash = "sha256-S1t4GsBQ4/ktSvLitb8FufnXwZfwVc9r8z9tCLRDy8Y=";
cargoHash = "sha256-qFJ0mA+kmhvXcjPaYnSr7gR2GZ2rfqcS1t2HMtAaFcc=";
nativeBuildInputs = lib.optionals (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isLinux) [
pkg-config

View File

@@ -26,6 +26,11 @@ stdenv.mkDerivation (finalAttrs: {
};
patches = [
# fix build w/ gcc 16
(fetchpatch {
url = "https://github.com/chaos/diod/commit/a8c55f0dd3ad9debc0e77b29ebde6e991d99d55d.patch";
hash = "sha256-Ws8DFGle9q/WMO5FJXm0WW3t1QL03Nbc/jfIsMUEx38=";
})
# fix build w/ glibc-2.44
(fetchpatch {
url = "https://github.com/chaos/diod/commit/d56db0c55012c8a9ea2d3c72749022292c0f65b8.patch";
@@ -58,6 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "I/O forwarding server that implements a variant of the 9P protocol";
homepage = "https://github.com/chaos/diod";
changelog = "https://github.com/chaos/diod/releases/tag/v${finalAttrs.version}";
maintainers = with lib.maintainers; [ rnhmjoj ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;

View File

@@ -63,7 +63,7 @@ let
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "frigate";
version = "0.18.0";
version = "0.18.1";
pyproject = false;
src = fetchFromGitHub {
@@ -71,7 +71,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "blakeblackshear";
repo = "frigate";
tag = "v${finalAttrs.version}";
hash = "sha256-2FJG7tEZCuCQ6VJga9BMiuLTeswmlG8oN1MO6t0eroM=";
hash = "sha256-CLl55iXxt/lE0GE/OO2vXXMvNb+g6Hc9lZYyjkV/Bjk=";
};
patches = [

View File

@@ -1,4 +1,4 @@
From e4bba6f9c03af6fe20c8bd090bb1bc94cbd9ef1f Mon Sep 17 00:00:00 2001
From 5a7ee128bdf4af1a6db04f37db50a5061abe724e Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 6 Jul 2026 13:14:54 +0200
Subject: [PATCH 1/5] Migrate to fastapi lifespan for startup events
@@ -11,7 +11,7 @@ https://fastapi.tiangolo.com/advanced/events/
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/frigate/api/fastapi_app.py b/frigate/api/fastapi_app.py
index 387f0473fc..86058bfdaa 100644
index 387f0473f..86058bfda 100644
--- a/frigate/api/fastapi_app.py
+++ b/frigate/api/fastapi_app.py
@@ -1,6 +1,7 @@
@@ -43,7 +43,7 @@ index 387f0473fc..86058bfdaa 100644
swagger_ui_parameters={"apisSorter": "alpha", "operationsSorter": "alpha"},
dependencies=[Depends(require_admin_by_default())]
if enforce_default_admin
@@ -115,15 +127,6 @@ async def frigate_middleware(request: Request, call_next):
@@ -115,15 +127,6 @@ def create_fastapi_app(
database.close()
return response
@@ -59,8 +59,10 @@ index 387f0473fc..86058bfdaa 100644
# Rate limiter (used for login endpoint)
if frigate_config.auth.failed_login_rate_limit is None:
limiter.enabled = False
--
2.55.0
From ef8fcf2328bd59b6d30c7ca523e39909a8b8c01e Mon Sep 17 00:00:00 2001
From 46cdd45c957d5d5c5a864d99ecb4e52586218f85 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 6 Jul 2026 13:16:58 +0200
Subject: [PATCH 2/5] Migrate to pydantic TypeAdapter
@@ -71,10 +73,10 @@ https://pydantic.dev/docs/validation/2.12/get-started/migration/#introduction-of
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/frigate/test/test_object_detector.py b/frigate/test/test_object_detector.py
index dc15b23516..33748c2807 100644
index dc15b2351..33748c280 100644
--- a/frigate/test/test_object_detector.py
+++ b/frigate/test/test_object_detector.py
@@ -2,7 +2,7 @@
@@ -2,7 +2,7 @@ import unittest
from unittest.mock import Mock, patch
import numpy as np
@@ -83,7 +85,7 @@ index dc15b23516..33748c2807 100644
import frigate.detectors as detectors
import frigate.object_detection.base
@@ -19,8 +19,8 @@ def test_localdetectorprocess_should_only_create_specified_detector_type(self):
@@ -19,8 +19,8 @@ class TestLocalObjectDetector(unittest.TestCase):
"frigate.detectors.api_types",
{det_type: Mock() for det_type in DetectorTypeEnum},
):
@@ -94,7 +96,7 @@ index dc15b23516..33748c2807 100644
)
test_cfg.model.path = "/test/modelpath"
test_obj = frigate.object_detection.base.LocalObjectDetector(
@@ -44,7 +44,9 @@ def test_detect_raw_given_tensor_input_should_return_api_detect_raw_result(self)
@@ -44,7 +44,9 @@ class TestLocalObjectDetector(unittest.TestCase):
TEST_DATA = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TEST_DETECT_RESULT = np.ndarray([1, 2, 4, 8, 16, 32])
test_obj_detect = frigate.object_detection.base.LocalObjectDetector(
@@ -105,7 +107,7 @@ index dc15b23516..33748c2807 100644
)
mock_det_api = mock_cputfl.return_value
@@ -67,7 +69,9 @@ def test_detect_raw_given_tensor_input_should_call_api_detect_raw_with_transpose
@@ -67,7 +69,9 @@ class TestLocalObjectDetector(unittest.TestCase):
TEST_DATA = np.zeros((1, 32, 32, 3), np.uint8)
TEST_DETECT_RESULT = np.ndarray([1, 2, 4, 8, 16, 32])
@@ -116,7 +118,7 @@ index dc15b23516..33748c2807 100644
test_cfg.model.input_tensor = InputTensorEnum.nchw
test_obj_detect = frigate.object_detection.base.LocalObjectDetector(
@@ -116,7 +120,9 @@ def test_detect_given_tensor_input_should_return_lfiltered_detections(
@@ -116,7 +120,9 @@ class TestLocalObjectDetector(unittest.TestCase):
"label-5",
]
@@ -127,8 +129,10 @@ index dc15b23516..33748c2807 100644
test_cfg.model = ModelConfig()
test_obj_detect = frigate.object_detection.base.LocalObjectDetector(
detector_config=test_cfg,
--
2.55.0
From e9f1435eeb337bf7e269af1b09a0b1b87de719d5 Mon Sep 17 00:00:00 2001
From 2e774cd1c3cadc10c10eaa5cfebd2f17b8abb6b1 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 6 Jul 2026 13:17:16 +0200
Subject: [PATCH 3/5] Replace pytz with native tz-aware objects and zoneinfo
@@ -153,7 +157,7 @@ https://blog.ganssle.io/articles/2019/11/utcnow.html.
13 files changed, 50 insertions(+), 55 deletions(-)
diff --git a/docker/main/requirements-wheels.txt b/docker/main/requirements-wheels.txt
index 5ed9664fc2..164ab3b853 100644
index 5ed9664fc..164ab3b85 100644
--- a/docker/main/requirements-wheels.txt
+++ b/docker/main/requirements-wheels.txt
@@ -25,7 +25,6 @@ peewee_migrate == 1.14.*
@@ -165,7 +169,7 @@ index 5ed9664fc2..164ab3b853 100644
ruamel.yaml == 0.18.*
tzlocal == 5.2
diff --git a/docs/static/frigate-api.yaml b/docs/static/frigate-api.yaml
index fe467e0c62..3ce79e4ae6 100644
index 7753ed7af..0c331c9e2 100644
--- a/docs/static/frigate-api.yaml
+++ b/docs/static/frigate-api.yaml
@@ -2087,7 +2087,7 @@ paths:
@@ -186,7 +190,7 @@ index fe467e0c62..3ce79e4ae6 100644
title: Timezone
responses:
'200':
@@ -4227,7 +4227,7 @@ paths:
@@ -4237,7 +4237,7 @@ paths:
anyOf:
- type: string
- type: 'null'
@@ -195,7 +199,7 @@ index fe467e0c62..3ce79e4ae6 100644
title: Timezone
responses:
'200':
@@ -4479,7 +4479,7 @@ paths:
@@ -4499,7 +4499,7 @@ paths:
anyOf:
- type: string
- type: 'null'
@@ -204,7 +208,7 @@ index fe467e0c62..3ce79e4ae6 100644
title: Timezone
- name: min_score
in: query
@@ -4559,7 +4559,7 @@ paths:
@@ -4579,7 +4579,7 @@ paths:
anyOf:
- type: string
- type: 'null'
@@ -213,7 +217,7 @@ index fe467e0c62..3ce79e4ae6 100644
title: Timezone
- name: has_clip
in: query
@@ -6854,7 +6854,7 @@ paths:
@@ -6875,7 +6875,7 @@ paths:
required: false
schema:
type: string
@@ -222,7 +226,7 @@ index fe467e0c62..3ce79e4ae6 100644
title: Timezone
- name: cameras
in: query
@@ -6904,7 +6904,7 @@ paths:
@@ -6925,7 +6925,7 @@ paths:
required: false
schema:
type: string
@@ -232,7 +236,7 @@ index fe467e0c62..3ce79e4ae6 100644
responses:
'200':
diff --git a/frigate/api/defs/query/app_query_parameters.py b/frigate/api/defs/query/app_query_parameters.py
index 626d39679b..26974d59b9 100644
index 626d39679..26974d59b 100644
--- a/frigate/api/defs/query/app_query_parameters.py
+++ b/frigate/api/defs/query/app_query_parameters.py
@@ -7,4 +7,4 @@ class AppTimelineHourlyQueryParameters(BaseModel):
@@ -242,10 +246,10 @@ index 626d39679b..26974d59b9 100644
- timezone: str | None = "utc"
+ timezone: str | None = "UTC"
diff --git a/frigate/api/defs/query/events_query_parameters.py b/frigate/api/defs/query/events_query_parameters.py
index 06d0dfc3af..30d0fcac50 100644
index 80cc77c72..1cbc2d80a 100644
--- a/frigate/api/defs/query/events_query_parameters.py
+++ b/frigate/api/defs/query/events_query_parameters.py
@@ -39,7 +39,7 @@ class EventsQueryParams(BaseModel):
@@ -40,7 +40,7 @@ class EventsQueryParams(BaseModel):
max_length: float | None = None
event_id: str | None = None
sort: str | None = None
@@ -254,7 +258,7 @@ index 06d0dfc3af..30d0fcac50 100644
class EventsSearchQueryParams(BaseModel):
@@ -66,7 +66,7 @@ class EventsSearchQueryParams(BaseModel):
@@ -68,7 +68,7 @@ class EventsSearchQueryParams(BaseModel):
has_clip: bool | None = None
has_snapshot: bool | None = None
is_submitted: bool | None = None
@@ -263,7 +267,7 @@ index 06d0dfc3af..30d0fcac50 100644
min_score: float | None = None
max_score: float | None = None
min_speed: float | None = None
@@ -76,6 +76,6 @@ class EventsSearchQueryParams(BaseModel):
@@ -78,6 +78,6 @@ class EventsSearchQueryParams(BaseModel):
class EventsSummaryQueryParams(BaseModel):
@@ -272,10 +276,10 @@ index 06d0dfc3af..30d0fcac50 100644
has_clip: int | None = None
has_snapshot: int | None = None
diff --git a/frigate/api/defs/query/recordings_query_parameters.py b/frigate/api/defs/query/recordings_query_parameters.py
index 770da96bb8..cd7b4221c2 100644
index 770da96bb..cd7b4221c 100644
--- a/frigate/api/defs/query/recordings_query_parameters.py
+++ b/frigate/api/defs/query/recordings_query_parameters.py
@@ -3,7 +3,7 @@
@@ -3,7 +3,7 @@ from pydantic.json_schema import SkipJsonSchema
class MediaRecordingsSummaryQueryParams(BaseModel):
@@ -285,7 +289,7 @@ index 770da96bb8..cd7b4221c2 100644
diff --git a/frigate/api/defs/query/review_query_parameters.py b/frigate/api/defs/query/review_query_parameters.py
index b16146a9bc..16f759f42a 100644
index b16146a9b..16f759f42 100644
--- a/frigate/api/defs/query/review_query_parameters.py
+++ b/frigate/api/defs/query/review_query_parameters.py
@@ -19,7 +19,7 @@ class ReviewSummaryQueryParams(BaseModel):
@@ -298,10 +302,10 @@ index b16146a9bc..16f759f42a 100644
class ReviewActivityMotionQueryParams(BaseModel):
diff --git a/frigate/api/media.py b/frigate/api/media.py
index c6fa90c068..a5f5e1bab8 100644
index d6e2a7f83..632d81554 100644
--- a/frigate/api/media.py
+++ b/frigate/api/media.py
@@ -11,10 +11,10 @@
@@ -11,10 +11,10 @@ from datetime import UTC, datetime, timedelta
from pathlib import Path as FilePath
from typing import Any
from urllib.parse import unquote
@@ -313,7 +317,7 @@ index c6fa90c068..a5f5e1bab8 100644
from fastapi import APIRouter, Depends, Path, Query, Request, Response
from fastapi.responses import FileResponse, JSONResponse, StreamingResponse
from pathvalidate import sanitize_filename
@@ -714,7 +714,7 @@ async def vod_hour(
@@ -723,7 +723,7 @@ async def vod_hour(
parts = year_month.split("-")
start_date = (
datetime(int(parts[0]), int(parts[1]), day, hour, tzinfo=UTC)
@@ -323,10 +327,10 @@ index c6fa90c068..a5f5e1bab8 100644
end_date = start_date + timedelta(hours=1) - timedelta(milliseconds=1)
start_ts = start_date.timestamp()
diff --git a/frigate/api/preview.py b/frigate/api/preview.py
index 1047591434..af84117fd6 100644
index 104759143..af84117fd 100644
--- a/frigate/api/preview.py
+++ b/frigate/api/preview.py
@@ -5,8 +5,8 @@
@@ -5,8 +5,8 @@ import logging
import os
import threading
from datetime import UTC, datetime, timedelta
@@ -346,7 +350,7 @@ index 1047591434..af84117fd6 100644
end_date = start_date + timedelta(hours=1) - timedelta(milliseconds=1)
start_ts = start_date.timestamp()
diff --git a/frigate/api/record.py b/frigate/api/record.py
index 5db257f482..3352ec039b 100644
index 5db257f48..3352ec039 100644
--- a/frigate/api/record.py
+++ b/frigate/api/record.py
@@ -120,7 +120,7 @@ def all_recordings_summary(
@@ -359,10 +363,10 @@ index 5db257f482..3352ec039b 100644
time_range_query = (
diff --git a/frigate/record/export.py b/frigate/record/export.py
index 5d307077c9..0564dee04b 100644
index 00addda12..79f2fb9a6 100644
--- a/frigate/record/export.py
+++ b/frigate/record/export.py
@@ -12,8 +12,8 @@
@@ -12,8 +12,8 @@ import threading
from collections.abc import Callable
from enum import Enum
from pathlib import Path
@@ -372,7 +376,7 @@ index 5d307077c9..0564dee04b 100644
from peewee import DoesNotExist
from frigate.config import FfmpegConfig, FrigateConfig
@@ -371,8 +371,8 @@ def get_datetime_from_timestamp(self, timestamp: int) -> str:
@@ -372,8 +372,8 @@ class RecordingExporter(threading.Thread):
tz_name = self.config.ui.timezone
if tz_name:
try:
@@ -383,7 +387,7 @@ index 5d307077c9..0564dee04b 100644
tz = None
if tz is not None:
return datetime.datetime.fromtimestamp(timestamp, tz=tz).strftime(
@@ -533,8 +533,8 @@ def _build_recording_segment_chapter_metadata_file(
@@ -534,8 +534,8 @@ class RecordingExporter(threading.Thread):
tz: datetime.tzinfo | None = None
if tz_name:
try:
@@ -395,20 +399,20 @@ index 5d307077c9..0564dee04b 100644
if tz is None:
tz = datetime.UTC
diff --git a/frigate/test/http_api/test_http_media.py b/frigate/test/http_api/test_http_media.py
index b2d83cbc8a..8a3835c324 100644
index 252d8a0af..a693d9f67 100644
--- a/frigate/test/http_api/test_http_media.py
+++ b/frigate/test/http_api/test_http_media.py
@@ -1,8 +1,8 @@
"""Unit tests for recordings/media API endpoints."""
@@ -4,8 +4,8 @@ import threading
from concurrent.futures import ThreadPoolExecutor
from datetime import UTC, datetime
from unittest.mock import patch
+from zoneinfo import ZoneInfo
-import pytz
from fastapi import Request
from frigate.api.auth import get_allowed_cameras_for_filter, get_current_user
@@ -51,16 +51,16 @@ def test_recordings_summary_across_dst_spring_forward(self):
@@ -54,16 +54,16 @@ class TestHttpMedia(BaseTestHttp):
In 2024, DST in America/New_York transitions on March 10, 2024 at 2:00 AM
Clocks spring forward from 2:00 AM to 3:00 AM (EST to EDT)
"""
@@ -429,7 +433,7 @@ index b2d83cbc8a..8a3835c324 100644
with AuthTestClient(self.app) as client:
# Insert recordings for each day
@@ -124,19 +124,16 @@ def test_recordings_summary_across_dst_fall_back(self):
@@ -127,19 +127,16 @@ class TestHttpMedia(BaseTestHttp):
In 2024, DST in America/New_York transitions on November 3, 2024 at 2:00 AM
Clocks fall back from 2:00 AM to 1:00 AM (EDT to EST)
"""
@@ -453,7 +457,7 @@ index b2d83cbc8a..8a3835c324 100644
with AuthTestClient(self.app) as client:
# Insert recordings for each day
@@ -197,13 +194,13 @@ def test_recordings_summary_multiple_cameras_across_dst(self):
@@ -200,13 +197,13 @@ class TestHttpMedia(BaseTestHttp):
"""
Test recordings summary with multiple cameras across DST boundary.
"""
@@ -470,7 +474,7 @@ index b2d83cbc8a..8a3835c324 100644
with AuthTestClient(self.app) as client:
# Override allowed cameras for this test to include both
@@ -266,15 +263,15 @@ def test_recordings_summary_at_dst_transition_time(self):
@@ -269,15 +266,15 @@ class TestHttpMedia(BaseTestHttp):
"""
Test recordings that span the exact DST transition time.
"""
@@ -489,7 +493,7 @@ index b2d83cbc8a..8a3835c324 100644
with AuthTestClient(self.app) as client:
Recordings.insert(
@@ -334,7 +331,7 @@ def test_recordings_summary_utc_timezone(self):
@@ -337,7 +334,7 @@ class TestHttpMedia(BaseTestHttp):
# Test with UTC timezone
response = client.get(
@@ -498,7 +502,7 @@ index b2d83cbc8a..8a3835c324 100644
)
assert response.status_code == 200
@@ -365,8 +362,8 @@ def test_recordings_summary_single_camera_filter(self):
@@ -368,8 +365,8 @@ class TestHttpMedia(BaseTestHttp):
"""
Test recordings summary filtered to a single camera.
"""
@@ -510,10 +514,10 @@ index b2d83cbc8a..8a3835c324 100644
with AuthTestClient(self.app) as client:
# Insert recordings for both cameras
diff --git a/frigate/test/http_api/test_http_review.py b/frigate/test/http_api/test_http_review.py
index d13a7bd273..62d4f1608d 100644
index e2312e771..3dd319b6c 100644
--- a/frigate/test/http_api/test_http_review.py
+++ b/frigate/test/http_api/test_http_review.py
@@ -250,7 +250,7 @@ def test_get_review_summary_all_filters(self):
@@ -342,7 +342,7 @@ class TestHttpReview(BaseTestHttp):
"cameras": "front_door",
"labels": "all",
"zones": "all",
@@ -523,7 +527,7 @@ index d13a7bd273..62d4f1608d 100644
response = client.get("/review/summary", params=params)
assert response.status_code == 200
diff --git a/frigate/util/time.py b/frigate/util/time.py
index 861bec17f6..777ae9cc11 100644
index 861bec17f..777ae9cc1 100644
--- a/frigate/util/time.py
+++ b/frigate/util/time.py
@@ -2,9 +2,8 @@
@@ -537,7 +541,7 @@ index 861bec17f6..777ae9cc11 100644
from tzlocal import get_localzone
logger = logging.getLogger(__name__)
@@ -12,7 +11,7 @@
@@ -12,7 +11,7 @@ logger = logging.getLogger(__name__)
def get_tz_modifiers(tz_name: str) -> tuple[str, str, float]:
seconds_offset = (
@@ -592,8 +596,10 @@ index 861bec17f6..777ae9cc11 100644
local_dt = dt.astimezone(tz)
current_offset = local_dt.utcoffset().total_seconds()
--
2.55.0
From af86312f3dd57c068c3f6b3ae68d8fa6f77c6e30 Mon Sep 17 00:00:00 2001
From b62ef0459bbe096631da95a4e6d94cf8177eef01 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 6 Jul 2026 16:21:01 +0200
Subject: [PATCH 4/5] Provide lookup for normalized timezone names
@@ -608,10 +614,10 @@ of the casing of the given timezone name.
4 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/frigate/api/media.py b/frigate/api/media.py
index a5f5e1bab8..14ae263053 100644
index 632d81554..af8998b8c 100644
--- a/frigate/api/media.py
+++ b/frigate/api/media.py
@@ -54,6 +54,7 @@
@@ -54,6 +54,7 @@ from frigate.util.file import (
from frigate.util.image import get_image_from_recording, get_image_quality_params
from frigate.util.media import get_keyframe_before
from frigate.util.object import create_empty_regions_grid
@@ -619,7 +625,7 @@ index a5f5e1bab8..14ae263053 100644
logger = logging.getLogger(__name__)
@@ -714,7 +715,9 @@ async def vod_hour(
@@ -723,7 +724,9 @@ async def vod_hour(
parts = year_month.split("-")
start_date = (
datetime(int(parts[0]), int(parts[1]), day, hour, tzinfo=UTC)
@@ -631,10 +637,10 @@ index a5f5e1bab8..14ae263053 100644
end_date = start_date + timedelta(hours=1) - timedelta(milliseconds=1)
start_ts = start_date.timestamp()
diff --git a/frigate/api/preview.py b/frigate/api/preview.py
index af84117fd6..81de23d003 100644
index af84117fd..81de23d00 100644
--- a/frigate/api/preview.py
+++ b/frigate/api/preview.py
@@ -22,6 +22,7 @@
@@ -22,6 +22,7 @@ from frigate.api.defs.response.preview_response import (
from frigate.api.defs.tags import Tags
from frigate.const import BASE_DIR, CACHE_DIR, PREVIEW_FRAME_TYPE
from frigate.models import Previews
@@ -654,10 +660,10 @@ index af84117fd6..81de23d003 100644
end_date = start_date + timedelta(hours=1) - timedelta(milliseconds=1)
start_ts = start_date.timestamp()
diff --git a/frigate/record/export.py b/frigate/record/export.py
index 0564dee04b..ff33063bc3 100644
index 79f2fb9a6..f5bd1cd31 100644
--- a/frigate/record/export.py
+++ b/frigate/record/export.py
@@ -31,7 +31,7 @@
@@ -31,7 +31,7 @@ from frigate.ffmpeg_presets import (
)
from frigate.models import Export, Previews, Recordings, ReviewSegment
from frigate.util.ffmpeg import run_ffmpeg_with_progress
@@ -666,7 +672,7 @@ index 0564dee04b..ff33063bc3 100644
logger = logging.getLogger(__name__)
@@ -371,7 +371,7 @@ def get_datetime_from_timestamp(self, timestamp: int) -> str:
@@ -372,7 +372,7 @@ class RecordingExporter(threading.Thread):
tz_name = self.config.ui.timezone
if tz_name:
try:
@@ -675,7 +681,7 @@ index 0564dee04b..ff33063bc3 100644
except (ValueError, ZoneInfoNotFoundError):
tz = None
if tz is not None:
@@ -533,7 +533,7 @@ def _build_recording_segment_chapter_metadata_file(
@@ -534,7 +534,7 @@ class RecordingExporter(threading.Thread):
tz: datetime.tzinfo | None = None
if tz_name:
try:
@@ -685,7 +691,7 @@ index 0564dee04b..ff33063bc3 100644
tz = None
if tz is None:
diff --git a/frigate/util/time.py b/frigate/util/time.py
index 777ae9cc11..a4395c5d5d 100644
index 777ae9cc1..a4395c5d5 100644
--- a/frigate/util/time.py
+++ b/frigate/util/time.py
@@ -2,16 +2,32 @@
@@ -732,8 +738,10 @@ index 777ae9cc11..a4395c5d5d 100644
except (ValueError, ZoneInfoNotFoundError):
# If timezone is invalid, return single period with no offset
return [(start_time, end_time, 0)]
--
2.55.0
From 490f1b93f8cc2aa450e74e882aa31516d6c1078c Mon Sep 17 00:00:00 2001
From f5609f623c12cce7bc7e19bf6f2e276c436772d6 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 6 Jul 2026 18:12:37 +0200
Subject: [PATCH 5/5] Test timezone naming normalization and error handling
@@ -745,7 +753,7 @@ Subject: [PATCH 5/5] Test timezone naming normalization and error handling
diff --git a/frigate/test/test_tz.py b/frigate/test/test_tz.py
new file mode 100644
index 0000000000..5be8010dda
index 000000000..5be8010dd
--- /dev/null
+++ b/frigate/test/test_tz.py
@@ -0,0 +1,19 @@
@@ -768,3 +776,6 @@ index 0000000000..5be8010dda
+ def test_invalid(self):
+ with self.assertRaisesRegex(ValueError, r"Unknown timezone: foo/bar"):
+ get_normalized_tz_name("foo/bar")
--
2.55.0

View File

@@ -10,15 +10,15 @@ let
in
buildGoModule (finalAttrs: {
pname = "frp";
version = "0.71.0";
version = "0.71.1";
src = fetchFromGitHub {
owner = "fatedier";
repo = "frp";
tag = "v${finalAttrs.version}";
hash = "sha256-q6E77uwV28CUR9LXPDp4DXuBiIvfonybyKIi+aZQvEE=";
hash = "sha256-s+D8CL0wGfnl9xPHFQ0poIHaV55hpKHKOt/be27YJvA=";
};
vendorHash = "sha256-TrO0ZVLazqtUpGREb6kjGiTZhGo3R1QK5iHFlojE7po=";
vendorHash = "sha256-2JLUcSfvZjwTWPbvdJbhgi6eE9m4ep+75vLpF7ILrRQ=";
doCheck = false;

View File

@@ -56,19 +56,19 @@
let
pname = "gitkraken";
version = "12.4.1";
version = "12.6.0";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchzip {
url = "https://api.gitkraken.dev/releases/production/linux/x64/${version}/gitkraken-amd64.tar.gz";
hash = "sha256-vudaXmTqCdRzkVzw3MyzfGSGGM9xfDO0Wims0vxM4yw=";
hash = "sha256-6KCgoCq95IhK6xA0WQ13+0sYgdxbq4UCECvtJgGgbrQ=";
};
aarch64-darwin = fetchzip {
url = "https://api.gitkraken.dev/releases/production/darwin/arm64/${version}/GitKraken-v${version}.zip";
hash = "sha256-T2AlXHW1eQvlJ7zFndg0sy4X4fITdPhTePk27utYAe0=";
hash = "sha256-UlbbaNBD9DYhCNheadg4mGcWtcrwBp9VIsAMuP86HzQ=";
};
};

View File

@@ -63,19 +63,6 @@ index af622be19cb..40e4eba171e 100644
project(KrnToHex_IGA)
diff --git a/cmrtlib/linux/CMakeLists.txt b/cmrtlib/linux/CMakeLists.txt
index b066138d9df..df02bab2a69 100644
--- a/cmrtlib/linux/CMakeLists.txt
+++ b/cmrtlib/linux/CMakeLists.txt
@@ -18,7 +18,7 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
include (${CMAKE_CURRENT_LIST_DIR}/cmrt_utils.cmake)
diff --git a/media_driver/linux/ult/CMakeLists.txt b/media_driver/linux/ult/CMakeLists.txt
index 9fb5b39ee42..f06b490110b 100644
--- a/media_driver/linux/ult/CMakeLists.txt

View File

@@ -17,7 +17,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "intel-media-driver";
version = "26.2.4";
version = "26.3.5";
outputs = [
"out"
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "intel";
repo = "media-driver";
tag = "intel-media-${finalAttrs.version}";
hash = "sha256-dgdqezwnwY5FCaDhov0ft4gnhRdCDyD2DFJ17sF2d4o=";
hash = "sha256-DSyF3CLNdj4pi2DHOduNc0pZ70qVmMoKu0ReQyqprFk=";
};
patches = [

View File

@@ -19,6 +19,9 @@ stdenv.mkDerivation (finalAttrs: {
pname = "kagen";
version = "1.2.1";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "KarlsruheGraphGeneration";
repo = "kagen";
@@ -30,11 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
mpi
pkg-config
];
buildInputs = [
imagemagick
gtest
];
propagatedBuildInputs = [

View File

@@ -35,8 +35,8 @@ rec {
patch -p1 < ${source}/$patch_name
done <${source}/assets/patches.txt
sed -i 's/5bc8c9bbe8c0eabe408d9a7cd7a8e6e09eee0ead817607643882b38a36d07c91/bddacbe056ce7458663a39dc99d5bb3434099aa69cae793cf0c57d4e54f5a6a4/g' third_party/rust/glean-core/.cargo-checksum.json
sed -i 's/c20989b1aa336b0849e96ec1b2beea1eab825ffd192c2c3a636e20f830b811d0/0b43fbc5f86c6c247c5189af58be425a829c3b09018c6b26589661eec9a5ad24/g' third_party/rust/glean-core/.cargo-checksum.json
sed -i 's/ada8f059f0fa8a3a82315606318429d3a70200bbb2886d1a1bcaad2856a6303b/70a4a176b6494fce419e590180bc9c631945282ded0ab05bc1591bdd37b65093/g' third_party/rust/glean-core/.cargo-checksum.json
sed -i 's/1753c69b71ae24a9b339d98e9b71166740a15506cfc46245251eb63c0222568f/af3ae3d026bd2e26fd9cc7c710847ac4f853b0c899412ddc9ee7e0ef1027de87/g' third_party/rust/glean-core/.cargo-checksum.json
rm toolkit/components/ml/content/backends/OpenAIPipeline.mjs
rm -rf toolkit/components/ml/vendor/openai

View File

@@ -1,11 +1,11 @@
{
"packageVersion": "157.0.1-1",
"packageVersion": "158.0-1",
"source": {
"rev": "157.0.1-1",
"hash": "sha256-4jzQrMj6yJ85jxp430QS/Z6l3vRyLrJWdnPYGF4K9mQ="
"rev": "158.0-1",
"hash": "sha256-mms+zReSvmzzqhkiL9HrnaS5ZUPoNVB++2WT8/ppYNQ="
},
"firefox": {
"version": "157.0.1",
"hash": "sha512-wBkgKy+H0ls2Bbv3Jm87tNWXReSFNvKX0/AMw1JKHNLrpBalo80Ozuawdi0PNb88X8zihuvHvHQSY769DxAoWA=="
"version": "158.0",
"hash": "sha512-FLj/3DJaI0Bh2xTeqb0UR4bcLIRGil3+K7cLuVWPY/c0J88kTq9GEBDuAd/fBPLK5ouunwe0ggYDpLzURi95YA=="
}
}

View File

@@ -159,8 +159,14 @@ rustPlatform.buildRustPackage rec {
preFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
gappsWrapperArgs+=(
# WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
# WEBKIT_DISABLE_COMPOSITING_MODE=1 is commonly exported session-wide on
# NVIDIA (see NixOS/nixpkgs#212064). Inherited into WebKit's UI process it
# makes AcceleratedBackingStore::create() return null, yet the web process
# still enters accelerated compositing mode, so the UI process segfaults
# in AcceleratedBackingStore::update(). Force compositing back on and use
# the shared-memory transport so no GBM buffers are allocated either.
--set WEBKIT_DISABLE_COMPOSITING_MODE 0
--set WEBKIT_DMABUF_RENDERER_FORCE_SHM 1
)
'';

View File

@@ -7,13 +7,13 @@
}:
buildGoModule (finalAttrs: {
pname = "mimir";
version = "3.2.1";
version = "3.2.2";
src = fetchFromGitHub {
rev = "mimir-${finalAttrs.version}";
owner = "grafana";
repo = "mimir";
hash = "sha256-/i4nF4YGKvNRt/JkB4pOIIrXvZhPTvM8GEePEGP7hY8=";
hash = "sha256-Sz6q7Py3iJv8i1Xt9j71uSKztXLR1wwx/MbKXrpQ3AY=";
};
vendorHash = null;

View File

@@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "mongodb-atlas-cli";
version = "1.59.0";
version = "1.59.1";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongodb-atlas-cli";
tag = "atlascli/v${finalAttrs.version}";
hash = "sha256-5VX6lIZdLc+FCOtP+PFBRHcXJSReu2scMYfGEh3kKQs=";
hash = "sha256-q7bXQWkpOLZxDCzYTd71YAvi4F1OrPi0M/Wz0Rr1Uq0=";
};
vendorHash = "sha256-h330R4hbRyDnMMpgYIw8JxF1/q8rOMyDK0dkIZSdGM4=";
vendorHash = "sha256-Vzx0uwKLpn0nXIHDrftNs2hu4FkpjmvdfUHriaShJaQ=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -126,7 +126,7 @@ stdenv.mkDerivation (finalAttrs: {
(cmakeBool "ENABLE_INTEL_GPU" true)
(cmakeBool "ENABLE_INTEL_NPU" stdenv.hostPlatform.isx86_64)
(cmakeBool "ENABLE_JS" false)
(cmakeBool "ENABLE_LTO" true)
(cmakeBool "ENABLE_LTO" (!stdenv.hostPlatform.isAarch64)) # LTO leaks SVE into generic code on ARM (SIGILL); upstream defaults it off there.
(cmakeBool "ENABLE_ONEDNN_FOR_GPU" false)
(cmakeBool "ENABLE_OPENCV" true)
(cmakeBool "ENABLE_OV_JAX_FRONTEND" false) # auto-patchelf could not satisfy dependency libopenvino_jax_frontend.so.2450

View File

@@ -28,25 +28,25 @@ in
# runs without an external linter, which leaves `jsPlugins` configs inert.
stdenv.mkDerivation (finalAttrs: {
pname = "oxlint";
version = "1.86.0";
version = "1.88.0";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "oxc";
tag = "oxlint_v${finalAttrs.version}";
hash = "sha256-B/L7rXj9Bjp7RJgLYNRGGyC01jmYle/0c4htmHXcN04=";
hash = "sha256-snIIcDk8o8pisV8piEGgrLCsmLa7HJPrmwwGoeThppk=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-Uz8Lau2kGdIJI2q1JoZ/dgYa+mHO6VdKxP9NAEIzfI0=";
hash = "sha256-RVXdem6nT71khAB62G4MSJyBxhyOq30NcSsLMambK34=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-WuoVYuc9q8hUs3H6REYBFFRLfy8fgOdxHZ76diPh0kI=";
hash = "sha256-sruMkQeoBKuUtce4aHwJX1C6hfrh2jzfLyGuIcwLmZ4=";
};
dontUseCmakeConfigure = true;

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,8 @@
diff --git i/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt w/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
index df88c423..ae1db500 100644
--- i/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
+++ w/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
@@ -1497,6 +1497,7 @@ result = someLib.x
assertThat(output).isEqualTo("result = 1\n")
diff --git a/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt b/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
--- a/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
+++ b/pkl-cli/src/test/kotlin/org/pkl/cli/CliEvaluatorTest.kt
@@ -1632,6 +1632,7 @@
verify(getRequestedFor(urlEqualTo("/foo.pkl")).withHeader("X-Foo", equalTo("Foo")))
}
+ @Disabled

View File

@@ -1,8 +1,7 @@
diff --git a/pkl-gradle/src/test/kotlin/org/pkl/gradle/JavaCodeGeneratorsTest.kt b/pkl-gradle/src/test/kotlin/org/pkl/gradle/JavaCodeGeneratorsTest.kt
index 68a5b533..84fe66df 100644
--- a/pkl-gradle/src/test/kotlin/org/pkl/gradle/JavaCodeGeneratorsTest.kt
+++ b/pkl-gradle/src/test/kotlin/org/pkl/gradle/JavaCodeGeneratorsTest.kt
@@ -18,9 +18,11 @@ package org.pkl.gradle
@@ -18,9 +18,11 @@
import kotlin.io.path.listDirectoryEntries
import kotlin.io.path.readText
import org.assertj.core.api.Assertions.assertThat
@@ -14,7 +13,7 @@ index 68a5b533..84fe66df 100644
@Test
fun `generate code`() {
writeBuildFile()
@@ -68,6 +70,7 @@ class JavaCodeGeneratorsTest : AbstractTest() {
@@ -68,6 +70,7 @@
)
}
@@ -22,19 +21,34 @@ index 68a5b533..84fe66df 100644
@Test
fun `compile generated code`() {
writeBuildFile()
@@ -84,6 +87,7 @@ class JavaCodeGeneratorsTest : AbstractTest() {
@@ -84,6 +87,7 @@
assertThat(addressClassFile).exists()
}
+ @Disabled("runTask doesn't use the MITM cache")
@Test
fun `is configuration cache compatible`() {
writeBuildFile()
@@ -106,6 +110,7 @@
)
}
+ @Disabled("runTask doesn't use the MITM cache")
@Test
fun `no source modules`() {
writeFile(
@@ -129,6 +134,7 @@
assertThat(result.output).contains("No source modules specified.")
}
+ @Disabled("runTask doesn't use the MITM cache")
@Test
fun `source set configured after pkl block`() {
writeFile(
diff --git a/pkl-gradle/src/test/kotlin/org/pkl/gradle/KotlinCodeGeneratorsTest.kt b/pkl-gradle/src/test/kotlin/org/pkl/gradle/KotlinCodeGeneratorsTest.kt
index 2b9ffc88..99b91893 100644
--- a/pkl-gradle/src/test/kotlin/org/pkl/gradle/KotlinCodeGeneratorsTest.kt
+++ b/pkl-gradle/src/test/kotlin/org/pkl/gradle/KotlinCodeGeneratorsTest.kt
@@ -18,9 +18,11 @@ package org.pkl.gradle
@@ -18,9 +18,11 @@
import kotlin.io.path.listDirectoryEntries
import kotlin.io.path.readText
import org.assertj.core.api.Assertions.assertThat
@@ -46,7 +60,7 @@ index 2b9ffc88..99b91893 100644
@Test
fun `generate code`() {
writeBuildFile()
@@ -69,6 +71,7 @@ class KotlinCodeGeneratorsTest : AbstractTest() {
@@ -69,6 +71,7 @@
)
}
@@ -54,12 +68,19 @@ index 2b9ffc88..99b91893 100644
@Test
fun `compile generated code`() {
writeBuildFile()
@@ -84,6 +87,7 @@ class KotlinCodeGeneratorsTest : AbstractTest() {
@@ -84,6 +87,7 @@
assertThat(addressClassFile).exists()
}
+ @Disabled("runTask doesn't use the MITM cache")
@Test
fun `is configuration cache compatible`() {
writeBuildFile()
@@ -95,6 +99,7 @@
assertThat(secondRun.output).contains(CONFIG_CACHE_REUSED)
}
+ @Disabled("runTask doesn't use the MITM cache")
@Test
fun `no source modules`() {
writeFile(

View File

@@ -3,7 +3,7 @@
lib,
fetchFromGitHub,
gradle_9,
temurin-bin-21,
temurin-bin-25,
kotlin,
nix-update-script,
replaceVars,
@@ -11,20 +11,20 @@
installShellFiles,
}:
let
jdk = temurin-bin-21;
jdk = temurin-bin-25;
gradle = gradle_9;
gradleOverlay = gradle.override { java = jdk; };
kotlinOverlay = kotlin.override { jre = jdk; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "pkl";
version = "0.31.1";
version = "0.32.1";
src = fetchFromGitHub {
owner = "apple";
repo = "pkl";
tag = finalAttrs.version;
hash = "sha256-6oY1F1I6xDq8TzYCOGi2Mc+nm/mxc13G/rvjJx4twLQ=";
hash = "sha256-jO18ugPyHv7NsaZyJYHFusoYRqR6SJm2JgPvVZkF/Nw=";
leaveDotGit = true;
postFetch = ''
pushd $out
@@ -38,9 +38,13 @@ stdenv.mkDerivation (finalAttrs: {
(replaceVars ./fix_kotlin_classpath.patch { gradle = gradle.unwrapped; })
./disable_gradle_codegen_tests.patch
./disable_bad_tests.patch
./repair_org.msgpack-msgpack-core_lockfiles.patch
];
postPatch = ''
substituteInPlace pkl-core/pkl-core.gradle.kts \
--replace-fail '#!/usr/bin/env bash' '#!${stdenv.shell}'
'';
nativeBuildInputs = [
gradleOverlay
jdk
@@ -80,7 +84,18 @@ stdenv.mkDerivation (finalAttrs: {
gradleFlagsArray+=(-DcommitId=$(cat .commit-hash))
'';
env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=utf-8";
# The dependency collector also resolves Kotlin's Bouncy Castle configuration,
# which uses version ranges. The fetched artifacts are pinned in deps.json.
preGradleUpdate = ''
substituteInPlace build-logic/src/main/kotlin/pklAllProjects.gradle.kts \
--replace-fail 'failOnDynamicVersions()' ""
'';
env.JAVA_TOOL_OPTIONS =
"-Dfile.encoding=utf-8"
# Java's dual-stack sockets prevent Gradle from connecting to its daemon
# inside the Darwin sandbox.
+ lib.optionalString stdenv.hostPlatform.isDarwin " -Djava.net.preferIPv4Stack=true";
__darwinAllowLocalNetworking = true;
preCheck = ''

View File

@@ -1,52 +0,0 @@
From daede858a1568224b06033b256300c8f86db973e Mon Sep 17 00:00:00 2001
From: Matei Dibu <contact@mateidibu.dev>
Date: Fri, 27 Feb 2026 14:13:40 +0200
Subject: [PATCH] fix: repair org.msgpack:msgpack-core lockfiles
---
pkl-commons-test/gradle.lockfile | 2 +-
pkl-config-java/gradle.lockfile | 2 +-
pkl-config-kotlin/gradle.lockfile | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/pkl-commons-test/gradle.lockfile b/pkl-commons-test/gradle.lockfile
index a1c9514e..a9021ca2 100644
--- a/pkl-commons-test/gradle.lockfile
+++ b/pkl-commons-test/gradle.lockfile
@@ -47,6 +47,6 @@ org.junit.platform:junit-platform-commons:1.14.0=apiDependenciesMetadata,compile
org.junit.platform:junit-platform-engine:1.14.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.platform:junit-platform-launcher:1.14.0=testRuntimeClasspath
org.junit:junit-bom:5.14.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
-org.msgpack:msgpack-core:0.9.8=compileClasspath
+org.msgpack:msgpack-core:0.9.8=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
empty=annotationProcessor,compileOnlyDependenciesMetadata,intransitiveDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,sourcesJar,testAnnotationProcessor,testApiDependenciesMetadata,testCompileOnlyDependenciesMetadata,testIntransitiveDependenciesMetadata,testKotlinScriptDefExtensions
diff --git a/pkl-config-java/gradle.lockfile b/pkl-config-java/gradle.lockfile
index fa2fbd37..ebf64def 100644
--- a/pkl-config-java/gradle.lockfile
+++ b/pkl-config-java/gradle.lockfile
@@ -79,7 +79,7 @@ org.junit.platform:junit-platform-commons:1.14.0=testCompileClasspath,testImplem
org.junit.platform:junit-platform-engine:1.14.0=testRuntimeClasspath
org.junit.platform:junit-platform-launcher:1.14.0=testRuntimeClasspath
org.junit:junit-bom:5.14.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
-org.msgpack:msgpack-core:0.9.8=compileClasspath,pklCodegenJava,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.msgpack:msgpack-core:0.9.8=compileClasspath,implementationDependenciesMetadata,pklCodegenJava,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.organicdesign:Paguro:3.10.3=pklCodegenJava,runtimeClasspath,testRuntimeClasspath
org.snakeyaml:snakeyaml-engine:2.10=pklCodegenJava,runtimeClasspath,testRuntimeClasspath
diff --git a/pkl-config-kotlin/gradle.lockfile b/pkl-config-kotlin/gradle.lockfile
index 2bdeb136..0fd4d516 100644
--- a/pkl-config-kotlin/gradle.lockfile
+++ b/pkl-config-kotlin/gradle.lockfile
@@ -78,7 +78,7 @@ org.junit.platform:junit-platform-commons:1.14.0=testCompileClasspath,testImplem
org.junit.platform:junit-platform-engine:1.14.0=testRuntimeClasspath
org.junit.platform:junit-platform-launcher:1.14.0=testRuntimeClasspath
org.junit:junit-bom:5.14.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
-org.msgpack:msgpack-core:0.9.8=compileClasspath,pklCodegenKotlin,pklConfigJava,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.msgpack:msgpack-core:0.9.8=compileClasspath,implementationDependenciesMetadata,pklCodegenKotlin,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.organicdesign:Paguro:3.10.3=pklCodegenKotlin,testRuntimeClasspath
org.snakeyaml:snakeyaml-engine:2.10=pklCodegenKotlin,testRuntimeClasspath
--
2.53.0

View File

@@ -7,14 +7,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rahasher";
version = "1.8.3";
version = "1.8.4";
src = fetchFromGitHub {
owner = "LeXofLeviafan";
repo = "RAHasher";
rev = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-PitP2MUNwkcCwNJTet3D+A4/RTWp7Xl5Fpc63o5KRFc=";
hash = "sha256-3nFp9z55juPOteZ2wtb4+Ut/mCm93c/2G3Bgf6f3h8U=";
};
# The upstream Makefile derives src/RA_BuildVer.h from `.git/HEAD` by

View File

@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "silverbullet";
version = "2.11.1";
version = "2.12.1";
src = fetchFromGitHub {
owner = "silverbulletmd";
repo = "silverbullet";
rev = finalAttrs.version;
hash = "sha256-+8q0gQ4pRdGHPE7woH/+cteLoUQ5qhEIGI+AhwkXN5E=";
hash = "sha256-tXzfqelNwlG3iVIkhVDmXjDR6iKaUbVH5NQicDyHsDQ=";
};
cargoHash = "sha256-t2RDrdZsCMReDGUUu3r59OAosZNY3TMlvjo/uM2xL8g=";
cargoHash = "sha256-v0CJqq3Rz2dMyl8mA1hj1brnvbRc8rVo8UhOIQnNWFo=";
cargoBuildFlags = [
"-p"
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "silverbullet-frontend";
inherit (finalAttrs) version src;
npmDepsHash = "sha256-IALStufO5TwhQbkIgSqwTYcQAL7Q+vmLDjlVYzMTyCA=";
npmDepsHash = "sha256-1bzN7tsERaRUc9J3Yr23mj6kP/eZ9pW771ODUEW75lo=";
patches = [
(replaceVars ./override-version.patch { inherit (finalAttrs) version; })

View File

@@ -45,7 +45,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "slurm";
version = "26-05-4-1";
version = "26-05-5-1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "slurm";
# The release tags use - instead of .
tag = "slurm-${builtins.replaceStrings [ "." ] [ "-" ] finalAttrs.version}";
hash = "sha256-R3kHM9CohiJljffYKEe4CdNltKNQkcRuPFqOT0y+3n0=";
hash = "sha256-CI5xO7BYu2m+bFuveskvu+h1BL+LoP+pgSG3slRy1h0=";
};
outputs = [

View File

@@ -8,20 +8,20 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wasm-tools";
version = "1.260.0";
version = "1.261.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wasm-tools";
tag = "v${finalAttrs.version}";
hash = "sha256-yn8YTJXhpdzxPKv8ZELosky1BHzPjSxXd+jcxkJ3MEU=";
hash = "sha256-scSPUam/rtEwPNec2JSJbQkmAnlJ2VC7ouXV6rpUxuc=";
fetchSubmodules = true;
};
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
auditable = false;
cargoHash = "sha256-IJtoerutDHew59XR4XHv2Vxfrbvj9wdd/DNx5yp4Vo8=";
cargoHash = "sha256-PZQcFflja6EK9VxR7eD1qzwl3+jbfF5kVE3yuvESk+I=";
cargoBuildFlags = [
"--package"
"wasm-tools"

View File

@@ -1,6 +1,6 @@
{
lib,
flutter341,
flutter344,
fetchFromGitHub,
cmake,
copyDesktopItems,
@@ -13,17 +13,18 @@
libxrandr,
libxtst,
sqlite,
wayland-scanner,
}:
flutter341.buildFlutterApplication (finalAttrs: {
flutter344.buildFlutterApplication (finalAttrs: {
pname = "windsend";
version = "1.7.1";
version = "1.7.4";
src = fetchFromGitHub {
owner = "doraemonkeys";
repo = "WindSend";
tag = "v${finalAttrs.version}";
hash = "sha256-r3D6Uj8buMceqXov6An+OxgOTcNFrX5PwxhphtbeUv0=";
hash = "sha256-nsiCPaJlB6APxnmNMLaognwSrAyaDxPVa4L5Fwr2sKA=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
@@ -35,6 +36,7 @@ flutter341.buildFlutterApplication (finalAttrs: {
nativeBuildInputs = [
cmake
copyDesktopItems
wayland-scanner
];
buildInputs = [

File diff suppressed because it is too large Load Diff

View File

@@ -7,15 +7,15 @@
buildNpmPackage rec {
pname = "zwave-js-ui";
version = "11.24.2";
version = "11.24.3";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
hash = "sha256-DRjos1Ay1UylUvJJojDAFB8+B5gW9DgjKSfAUp1WamY=";
hash = "sha256-Td93QUARvZHK1FZEB4ard6Lo43TgMKpz129/Knu4OQI=";
};
npmDepsHash = "sha256-vFRRZxzKWoqNvrvXD1LKGs5oBqsF12yB4YoxdjPZQoI=";
npmDepsHash = "sha256-VS//DmkU/wP595PMslQIioAoOnW52kl8m5VX2qd+Geo=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;

View File

@@ -28,6 +28,8 @@ let
_3_7_0-x86_64-linux = "sha256-ncTXhpLnz7shUSvmBkmLknrRpxPAexho/wMEp1Sja3I=";
_3_5_0-aarch64-linux = "sha256-m2Op1KowdxErQ9nFa1+0TIshwjBSdXdrnlsyO4mULos=";
_3_5_0-x86_64-linux = "sha256-GH+3MhYXTwWD7WmEHzc8wecYcaOcCXsy93UWiEjh6Eo=";
_3_5_2-aarch64-linux = "sha256-LMKxM9hJXdCGytVuYSro3iYbMuDwDk6fcqvzVYHD7s0=";
_3_5_2-x86_64-linux = "sha256-RdsYQ+ujyR16Ip72A7u2o7uavqtDC72V26pAJAxxOAk=";
}
.${"_" + (lib.replaceStrings [ "." ] [ "_" ] version) + "-" + stdenv.hostPlatform.system}
or (throw ''

View File

@@ -1,4 +1,5 @@
{
lib,
stdenv,
}:
@@ -9,7 +10,7 @@ stdenv.mkDerivation {
inherit version src;
inherit (src) passthru;
postPatch = ''
postPatch = lib.optionalString (lib.versionOlder version "0.6.0") ''
cp ${./CMakeLists.txt} linux/CMakeLists.txt
'';

View File

@@ -1,6 +1,7 @@
{
lib,
callPackage,
fetchurl,
stdenv,
llvmPackages,
pcre2,
@@ -8,11 +9,15 @@
let
mkPhp =
{ version, hash }:
{
version,
hash ? null,
phpSrc ? null,
}:
let
base = callPackage ./generic.nix {
stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
inherit version hash;
inherit version hash phpSrc;
};
in
base.withExtensions (
@@ -81,4 +86,11 @@ in
version = "8.5.11";
hash = "sha256-3JQHFqjHPlMcAHjuy5VdWV0yHsLMnUcUnPAInqbhj2Q=";
};
php86 = mkPhp rec {
version = "8.6.0RC3";
phpSrc = fetchurl {
url = "https://downloads.php.net/~svpernova09/php-${version}.tar.xz";
hash = "sha256-Ex+Hoga92QwXjY5E6AJDrgwzPEzuhTH2PRyqms3YaWo=";
};
};
}

View File

@@ -0,0 +1,28 @@
diff --git a/ext/gettext/config.m4 b/ext/gettext/config.m4
index 6235658..93a8b96 100644
--- a/ext/gettext/config.m4
+++ b/ext/gettext/config.m4
@@ -4,9 +4,7 @@ PHP_ARG_WITH([gettext],
[Include GNU gettext support])])
if test "$PHP_GETTEXT" != "no"; then
- for i in $PHP_GETTEXT /usr/local /usr; do
- AS_IF([test -r $i/include/libintl.h], [GETTEXT_DIR=$i; break;])
- done
+ GETTEXT_DIR=$PHP_GETTEXT
AS_VAR_IF([GETTEXT_DIR],,
[AC_MSG_ERROR([Cannot locate header file libintl.h])])
diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
index 3001a4d..7e1e6c3 100644
--- a/sapi/apache2handler/config.m4
+++ b/sapi/apache2handler/config.m4
@@ -77,7 +77,7 @@ if test "$PHP_APXS2" != "no"; then
AS_VERSION_COMPARE([$APACHE_VERSION], [2.4.0],
[AC_MSG_ERROR([Please note that Apache version >= 2.4 is required])])
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'$($APXS -q LIBEXECDIR)
+ APXS_LIBEXECDIR="$prefix/modules"
if test -z $($APXS -q SYSCONFDIR) || test "$PHP_APACHE2_CONF" = "no"; then
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \

View File

@@ -360,9 +360,12 @@ let
lib.optionals (lib.versionOlder version "8.4") [
./fix-paths-php7.patch
]
++ lib.optionals (lib.versionAtLeast version "8.4") [
++ lib.optionals (lib.versionAtLeast version "8.4" && lib.versionOlder version "8.6") [
./fix-paths-php84.patch
]
++ lib.optionals (lib.versionAtLeast version "8.6") [
./fix-paths-php86.patch
]
++ extraPatches;
separateDebugInfo = true;

View File

@@ -0,0 +1,40 @@
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
index f4fb05c29b4..c6a119e8e72 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -352,34 +352,7 @@ def find_library(name, is64 = False):
else:
def _findSoname_ldconfig(name):
- import struct
- if struct.calcsize('l') == 4:
- machine = os.uname().machine + '-32'
- else:
- machine = os.uname().machine + '-64'
- mach_map = {
- 'x86_64-64': 'libc6,x86-64',
- 'ppc64-64': 'libc6,64bit',
- 'sparc64-64': 'libc6,64bit',
- 's390x-64': 'libc6,64bit',
- 'ia64-64': 'libc6,IA-64',
- }
- abi_type = mach_map.get(machine, 'libc6')
-
- # XXX assuming GLIBC's ldconfig (with option -p)
- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
- regex = os.fsencode(regex % (re.escape(name), abi_type))
- try:
- with subprocess.Popen(['/sbin/ldconfig', '-p'],
- stdin=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL,
- stdout=subprocess.PIPE,
- env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
- res = re.search(regex, p.stdout.read())
- if res:
- return os.fsdecode(res.group(1))
- except OSError:
- pass
+ return None
def _findLib_ld(name):
# See issue #9998 for why this is needed

View File

@@ -589,7 +589,7 @@ stdenv.mkDerivation (finalAttrs: {
# Ensure that modern platform features are enabled on Darwin in spite of having no version suffix.
sed -E -i -e 's|Darwin/\[12\]\[0-9\]\.\*|Darwin/*|' configure
''
+ optionalString (pythonAtLeast "3.11") ''
+ optionalString (pythonAtLeast "3.11" && pythonOlder "3.16") ''
# Also override the auto-detection in `configure`.
substituteInPlace configure \
--replace-fail 'libmpdec_machine=universal' 'libmpdec_machine=${

View File

@@ -86,6 +86,18 @@
inherit passthruFun;
};
python316 = callPackage ./cpython {
self = __splicedPackages.python315;
sourceVersion = {
major = "3";
minor = "16";
patch = "0";
suffix = "a1";
};
hash = "sha256-3KqQKUNrcj4zQSxoyhfwEwvnMFjkejp8BJy4zfYDTuk=";
inherit passthruFun;
};
# Minimal versions of Python (built without optional dependencies)
python3Minimal =
(callPackage ./cpython (

View File

@@ -6,19 +6,20 @@
kdePackages,
qtbase,
qtdeclarative,
libhwy,
opencv,
}:
stdenv.mkDerivation rec {
pname = "kquickimageeditor";
version = "0.6.1";
version = "0.7.0.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "libraries";
repo = "kquickimageeditor";
rev = "v${version}";
sha256 = "sha256-MluY8nkMtg1uLAStDZFDxyJoeDrcp3smZ4U5IG5sXMk=";
sha256 = "sha256-xNMXEVU/fflaHbDSgTwsj1QcH77CUFCgPJI5f60TEEg=";
};
nativeBuildInputs = [
@@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
kdePackages.kirigami
qtbase
qtdeclarative
libhwy
(opencv.override {
enableCuda = false; # fails to compile, disabled in case someone sets config.cudaSupport
enabledModules = [

View File

@@ -431,9 +431,6 @@ in
else
./3.5/use-etc-ssl-certs.patch
)
]
++ lib.optionals stdenv.hostPlatform.isMinGW [
./3.5/fix-mingw-linking.patch
];
withDocs = true;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
rabbitmq-c,
fetchFromGitHub,
}:
@@ -24,6 +25,7 @@ buildPecl {
env.AMQP_DIR = rabbitmq-c;
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/php-amqp/php-amqp/releases/tag/v${version}";
description = "PHP extension to communicate with any AMQP compliant server";
license = lib.licenses.php301;

View File

@@ -3,6 +3,7 @@
lib,
pcre2,
fetchFromGitHub,
fetchpatch,
}:
let
@@ -19,6 +20,26 @@ buildPecl {
sha256 = "sha256-L8bGSPUuBsZXsJdeY6cVA0DvI2+0wEbNHH6IcfT+cFU=";
};
# PHP 8.6 compatibility, backported from upstream master
patches = [
(fetchpatch {
name = "php86-empty-switch-default-case.patch";
url = "https://github.com/krakjoe/apcu/commit/d29e907791502af89a7996930f8dce5fd8efe4a1.patch";
excludes = [ ".github/*" ];
hash = "sha256-Xd6v7MZ9/Ur2lQHS2xCjcgskenNCWmXhoH+2v/7O1bw=";
})
(fetchpatch {
name = "php86-xtoffsetof.patch";
url = "https://github.com/krakjoe/apcu/commit/95f9ab828f95c6ca5877e584ead109189d0cec61.patch";
hash = "sha256-hED/qZayZJ3NVM5e/eDtrKtykMEhxjmWgI++T+oTL1c=";
})
(fetchpatch {
name = "php86-php-verror.patch";
url = "https://github.com/krakjoe/apcu/commit/90899684be91c4f750512c2f840f487286ecb807.patch";
hash = "sha256-uSOZP6Qlw3WylqJI34yFP3l8z0nsIL1bHhfEyJmIimw=";
})
];
buildInputs = [ pcre2 ];
doCheck = true;
makeFlags = [ "phpincludedir=$(dev)/include" ];
@@ -27,6 +48,9 @@ buildPecl {
"dev"
];
# Tests launch the builtin webserver.
__darwinAllowLocalNetworking = true;
meta = {
changelog = "https://github.com/krakjoe/apcu/releases/tag/v${version}";
description = "Userland cache for PHP";

View File

@@ -2,6 +2,7 @@
buildPecl,
lib,
fetchFromGitHub,
fetchpatch,
}:
let
@@ -18,6 +19,19 @@ buildPecl {
sha256 = "sha256-TGMZA3Qe+/TwG+FIevrcQzy/ufCyN8sXKjsPrnz3K1Q=";
};
patches = [
# Support PHP 8.6, backported from upstream master
(fetchpatch {
name = "php86-support.patch";
url = "https://github.com/nikic/php-ast/commit/64ea7276bcd9cf8e503b719aafbec4d802c9eacc.patch";
excludes = [
".github/*"
"ci/*"
];
hash = "sha256-fCZk4cGrJIG66MO7CKb9aJzpvpCSskcc2ZdlFEMtb5U=";
})
];
meta = {
changelog = "https://github.com/nikic/php-ast/releases/tag/v${version}";
description = "Exposes the abstract syntax tree generated by PHP";

View File

@@ -1,5 +1,6 @@
{
lib,
php,
stdenv,
buildPecl,
cargo,
@@ -57,6 +58,7 @@ buildPecl rec {
];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/DataDog/dd-trace-php/blob/${src.rev}/CHANGELOG.md";
description = "Datadog Tracing PHP Client";
homepage = "https://github.com/DataDog/dd-trace-php";

View File

@@ -17,6 +17,7 @@ buildPecl {
configureFlags = [ "--with-libmpdec-path=${mpdecimal}" ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Arbitrary-precision decimal arithmetic for PHP";
homepage = "https://php-decimal.github.io";
changelog = "https://pecl.php.net/package-changelog.php?package=decimal&release=${version}";

View File

@@ -23,6 +23,7 @@ buildPecl {
buildInputs = [ pcre2 ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/php-ds/ext-ds/releases/tag/v${version}";
description = "Extension providing efficient data structures for PHP";
license = lib.licenses.mit;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
fetchFromGitHub,
}:
@@ -19,6 +20,7 @@ buildPecl {
};
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://pecl.php.net/package-changelog.php?package=excimer&release=${version}";
description = "PHP extension that provides an interrupting timer and a low-overhead sampling profiler";
license = lib.licenses.asl20;

View File

@@ -66,7 +66,7 @@ buildPecl {
meta = {
changelog = "https://github.com/php-gnupg/php-gnupg/releases/tag/gnupg-${version}";
broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1.
broken = lib.versionAtLeast php.version "8.6";
description = "PHP wrapper for GpgME library that provides access to GnuPG";
license = lib.licenses.bsd3;
homepage = "https://pecl.php.net/package/gnupg";

View File

@@ -23,6 +23,7 @@ buildPecl {
doCheck = true;
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "High performance, open source, general RPC framework that puts mobile and HTTP/2 first";
homepage = "https://github.com/grpc/grpc/tree/master/src/php/ext/grpc";
license = lib.licenses.asl20;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
fetchpatch,
imagemagick,
pkg-config,
pcre2,
@@ -12,6 +13,15 @@ buildPecl {
version = "3.8.1";
hash = "sha256-OjWHwKUkwX0NrZZzoWC5DNd26DaDhHThc7VJ7YZDUu4=";
patches = [
# Support PHP 8.6, backported from upstream master
(fetchpatch {
name = "php86-offsetof.patch";
url = "https://github.com/Imagick/imagick/commit/b580a705e2c879924bfaee2e1ed3a93c9cb3fcfb.patch";
hash = "sha256-DOW/HuYJmXrkwHolvIPk3M1ikrCHKhHMeP9gJqanv+s=";
})
];
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
depsBuildBuild = [ pkg-config ];

View File

@@ -3,6 +3,7 @@
fetchFromGitHub,
fetchpatch,
lib,
php,
libkrb5,
openssl,
pam,
@@ -44,6 +45,7 @@ buildPecl {
doCheck = true;
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension for checking the spelling of a word";
homepage = "https://pecl.php.net/package/imap";
license = lib.licenses.php301;

View File

@@ -52,6 +52,7 @@ stdenv.mkDerivation {
homepage = "https://www.ioncube.com";
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
license = lib.licenses.unfree;
broken = lib.versionAtLeast php.version "8.6";
maintainers = with lib.maintainers; [ neverbehave ];
platforms = [
"x86_64-linux"

View File

@@ -1,5 +1,6 @@
{
lib,
php,
buildPecl,
fetchFromGitHub,
pkg-config,
@@ -21,6 +22,7 @@ buildPecl rec {
buildInputs = [ lua51Packages.lua ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Extension for PHP 7 and PHP 8 to allow safely running untrusted Lua 5.1 code from within PHP";
license = lib.licenses.mit;
homepage = "https://www.mediawiki.org/wiki/LuaSandbox";

View File

@@ -34,6 +34,7 @@ buildPecl rec {
];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension for interfacing with memcached via libmemcached library";
license = lib.licenses.php301;
homepage = "https://github.com/php-memcached-dev/php-memcached";

View File

@@ -1,4 +1,8 @@
{ buildPecl, lib }:
{
buildPecl,
lib,
php,
}:
buildPecl rec {
version = "3.0.0";
@@ -7,6 +11,7 @@ buildPecl rec {
sha256 = "sha256-VTBqhHl9OZxrJpGB7EhGNPGL6hMwu9nXQFBDxZfeac0=";
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://pecl.php.net/package-info.php?package=msgpack&version=${version}";
description = "PHP extension for interfacing with MessagePack";
homepage = "https://github.com/msgpack/msgpack-php";

View File

@@ -35,6 +35,6 @@ buildPecl {
You can use the sync or async, Coroutine API to write whole applications or create thousands of light weight Coroutines within one Linux process.
'';
teams = [ lib.teams.php ];
broken = lib.versionOlder php.version "8.3";
broken = lib.versionOlder php.version "8.3" || lib.versionAtLeast php.version "8.6";
};
}

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
pcre2,
fetchFromGitHub,
fetchpatch,
@@ -23,6 +24,7 @@ buildPecl {
buildInputs = [ pcre2 ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/krakjoe/pcov/releases/tag/v${version}";
description = "Self contained php-code-coverage compatible driver for PHP";
license = lib.licenses.php301;

View File

@@ -2,6 +2,7 @@
buildPecl,
fetchFromGitHub,
lib,
php,
pkg-config,
dlib,
}:
@@ -23,6 +24,7 @@ buildPecl {
buildInputs = [ (dlib.override { guiSupport = true; }) ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension for Dlib";
license = lib.licenses.mit;
homepage = "https://github.com/goodspb/pdlib";

View File

@@ -20,6 +20,7 @@ buildPecl {
'';
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://pecl.php.net/package-changelog.php?package=PDO_OCI";
description = "PHP PDO_OCI extension lets you access Oracle Database";
license = lib.licenses.php301;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
fetchFromGitHub,
}:
@@ -20,6 +21,7 @@ buildPecl rec {
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension for Pinba";
longDescription = ''
Pinba is a MySQL storage engine that acts as a realtime monitoring and

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
pcre2,
}:
@@ -13,6 +14,7 @@ buildPecl {
buildInputs = [ pcre2 ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data";
license = lib.licenses.bsd3;
homepage = "https://developers.google.com/protocol-buffers/";

View File

@@ -37,6 +37,7 @@ php.buildComposerProject2 (finalAttrs: {
nativeInstallCheckInputs = [ versionCheckHook ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/vimeo/psalm/releases/tag/${finalAttrs.version}";
description = "Static analysis tool for finding errors in PHP applications";
homepage = "https://github.com/vimeo/psalm";

View File

@@ -3,6 +3,7 @@
buildPecl,
fetchFromGitHub,
lib,
php,
}:
let
@@ -24,6 +25,7 @@ buildPecl {
doCheck = true;
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension for checking the spelling of a word";
homepage = "https://pecl.php.net/package/pspell";
license = lib.licenses.php301;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
rdkafka,
pcre2,
}:
@@ -21,6 +22,7 @@ buildPecl {
'';
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Kafka client based on librdkafka";
license = lib.licenses.mit;
homepage = "https://github.com/arnaud-lb/php-rdkafka";

View File

@@ -22,6 +22,7 @@ buildPecl {
internalDeps = with php.extensions; [ session ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/phpredis/phpredis/releases/tag/${version}";
description = "PHP extension for interfacing with Redis";
license = lib.licenses.php301;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
pkg-config,
rrdtool,
fetchpatch,
@@ -33,6 +34,7 @@ buildPecl {
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP bindings to RRD tool system";
license = lib.licenses.bsd0;
homepage = "https://github.com/php/pecl-processing-rrd";

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
samba,
pkg-config,
}:
@@ -16,6 +17,7 @@ buildPecl {
buildInputs = [ samba ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP wrapper for libsmbclient";
license = lib.licenses.bsd2;
homepage = "https://github.com/eduardok/libsmbclient-php";

View File

@@ -37,6 +37,7 @@ buildPecl rec {
'';
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Security module for php7 and php8 - Killing bugclasses and virtual-patching the rest";
homepage = "https://github.com/jvoisin/snuffleupagus";
license = lib.licenses.lgpl3Only;

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
fetchFromGitHub,
zlib,
}:
@@ -25,6 +26,7 @@ buildPecl {
];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/NoiseByNorthwest/php-spx/releases/tag/v${version}";
description = "Simple & straight-to-the-point PHP profiling extension with its built-in web UI";
homepage = "https://github.com/NoiseByNorthwest/php-spx";

View File

@@ -2,6 +2,7 @@
stdenv,
buildPecl,
lib,
php,
unixodbc,
libiconv,
}:
@@ -14,6 +15,7 @@ buildPecl {
buildInputs = [ unixodbc ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "Microsoft Drivers for PHP for SQL Server";
license = lib.licenses.mit;
homepage = "https://github.com/Microsoft/msphpsql";

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
libssh2,
}:
@@ -14,6 +15,7 @@ buildPecl rec {
configureFlags = [ "--with-ssh2=${libssh2.dev}" ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://pecl.php.net/package-info.php?package=ssh2&version=${version}";
description = "PHP bindings for the libssh2 library";
license = lib.licenses.php301;

View File

@@ -1,5 +1,6 @@
{
lib,
php,
buildPecl,
fetchFromGitHub,
pkg-config,
@@ -21,6 +22,7 @@ buildPecl rec {
buildInputs = [ libthai ];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "PHP extension which formats changes between two input texts, producing HTML or JSON";
license = lib.licenses.gpl2;
homepage = "https://www.mediawiki.org/wiki/Wikidiff2";

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
fetchFromGitHub,
}:
@@ -24,6 +25,7 @@ buildPecl {
zendExtension = true;
meta = {
broken = lib.versionAtLeast php.version "8.6";
changelog = "https://github.com/xdebug/xdebug/releases/tag/${version}";
description = "Provides functions for function traces and profiling";
homepage = "https://xdebug.org/";

View File

@@ -1,6 +1,7 @@
{
buildPecl,
lib,
php,
libyaml,
}:
@@ -17,6 +18,7 @@ buildPecl {
];
meta = {
broken = lib.versionAtLeast php.version "8.6";
description = "YAML-1.1 parser and emitter";
license = lib.licenses.mit;
homepage = "https://github.com/php/pecl-file_formats-yaml";

View File

@@ -13,7 +13,7 @@ buildPythonPackage (finalAttrs: {
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494";
hash = "sha256-s7IhDg4GeigfVkbIxduS6ZtyMeqLDrX3Tb354lnU5JQ=";
};
build-system = [ setuptools ];

View File

@@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "2eacc52692495f331437e8c8e9782ca71f4617ec84f174ca17acdd77631efc47";
hash = "sha256-LqzFJpJJXzMUN+jI6Xgspx9GF+yE8XTKF6zdd2Me/Ec=";
};
propagatedBuildInputs = [ uvloop ];

View File

@@ -12,7 +12,7 @@ buildPythonPackage (finalAttrs: {
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "173wm207zyi86m2ms7vscakdi4mmjqfxqsdx1gn0j9nn0gsf241h";
hash = "sha256-MBDh9APWJgnsC71p3B2WtZLYpmJ6H11FNSj6f4CofJw=";
};
build-system = [ setuptools ];

View File

@@ -11,7 +11,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814";
hash = "sha256-p4W42DdiXpthw5EIUy2VuFJ0rNZ5aTtx67UVaEj8+BQ=";
};
meta = {

View File

@@ -13,7 +13,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872";
hash = "sha256-Wtk6hFbw0ITDRW0Fn9mpLM5meWMjLL92Pqw7xbeUCHI=";
};
build-system = [ setuptools ];

View File

@@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "1b3zsy7p84gag6q8ai2ylyrhx213qdk2h2zb6im3xn0m5n264y62";
hash = "sha256-wnhihC0V2D5qNOsLKGbDI4gOs6deRIWweeoRdI/Xf6w=";
};
postPatch = ''

View File

@@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "6f5447395503b2318f451d24f8021ee08db1cac44f1c3337ea690700419626b6";
hash = "sha256-b1RHOVUDsjGPRR0k+AIe4I2xysRPHDM36mkHAEGWJrY=";
};
build-system = [ setuptools ];

View File

@@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "c93b7550e64b6734bf23ce57ca974a3ea929b734c58d1fe3669728c4fd2d2eb3";
hash = "sha256-yTt1UOZLZzS/I85XypdKPqkptzTFjR/jZpcoxP0tLrM=";
};
build-system = [ setuptools ];

View File

@@ -12,7 +12,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e";
hash = "sha256-XL2/J75efPrbRIuvCqlVCPkfK7xsZDfNnNBuKkwhXh4=";
};
nativeCheckInputs = [ pytest ];

View File

@@ -10,7 +10,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "2fe02c9305f53168441948f4a03dfbfa2eacc73db30db4a93309083cb0e250a5";
hash = "sha256-L+AskwX1MWhEGUj0oD37+i6sxz2zDbSpMwkIPLDiUKU=";
};
# no tests

View File

@@ -12,7 +12,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "51682acefda6f29eaaf9f37815edbfdd48ef0e9f1509419eceafe7b440eddc6e";
hash = "sha256-UWgqzv2m8p6q+fN4Fe2/3UjvDp8VCUGezq/ntEDt3G4=";
};
propagatedBuildInputs = [ spidev ];

View File

@@ -13,7 +13,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit version pname;
sha256 = "01gpcnksnqv6np28i4x8s3wkngawzgs99zvjfia57spa42ykkrg6";
hash = "sha256-5uU5vSDq6lNUdHL/lPT7XD07+dCok4jEtWZjq6dl9wU=";
};
build-system = [ setuptools ];

View File

@@ -94,7 +94,8 @@ buildPythonPackage rec {
'';
postInstall = ''
wrapProgram $out/bin/brz --prefix PYTHONPATH : "$PYTHONPATH"
buildPythonPath "$out ${toString dependencies}"
wrapProgram $out/bin/brz --prefix PYTHONPATH : "$program_PYTHONPATH"
# symlink for bazaar compatibility
ln -s "$out/bin/brz" "$out/bin/bzr"

View File

@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "090qwx3vl729zn3a7sksbviyg04kc71gpbm3nd8dalqp673x1npw";
hash = "sha256-/NrQxzEXU9VQs6Ou+8Jhk4Dn41566qOG/UkcukfnGCQ=";
};
postPatch = ''
# replace bundled bwa

View File

@@ -13,7 +13,7 @@ buildPythonPackage (finalAttrs: {
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "10pw2sjy648pvp42lbbdmkkx79bqlkq1xcbzp1frraj9g66azljl";
hash = "sha256-VNKvjHlJqpxduH+xHvCkeKXT56xtLSrI3RcR46UW/II=";
};
build-system = [ setuptools ];

View File

@@ -12,7 +12,7 @@ buildPythonPackage (finalAttrs: {
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "1dmv163cnslyqccrybkxn0c9s1jk1mmafmgxv75iamnz5lk5l8hk";
hash = "sha256-EyJaJi3fVhXL2f1Vp2oNUwadGLB9Lp8Zw55qy4YJu7Y=";
};
build-system = [ setuptools ];

View File

@@ -11,7 +11,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9";
hash = "sha256-5CqqSz4vZhAqEb/VYwaXBL+/2E/ctRe1ZO/9c2v1PNk=";
};
# Requires tox

View File

@@ -13,7 +13,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44";
hash = "sha256-CGlfXLftbgUxogVyaXKXJzxHuMrlpj/8bW7VwgG+bkQ=";
};
nativeBuildInputs = [ hatchling ];

View File

@@ -11,7 +11,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "6d4fe287766166a98ca7bc6f6312daf04a0481b1eda43e7173484051c0ab4366";
hash = "sha256-bU/ih3ZhZqmMp7xvYxLa8EoEgbHtpD5xc0hAUcCrQ2Y=";
};
# No tests in archive

View File

@@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx";
hash = "sha256-fadEWvLOFbkKrV7EeS+FfO9XhtcfFDd+nrmU2Lgzfy8=";
};
postPatch = ''

View File

@@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "cx_Oracle";
inherit version;
sha256 = "3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9";
hash = "sha256-Oy0hWvREFGPJfqRpucwwdGBzn4n9+o6iIuo1GPGkJNk=";
};
preConfigure = ''

View File

@@ -12,7 +12,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "7df6464ba5e8efbf0d8974c0b2c78b32546676f06059a83515dbdfa559b34214";
hash = "sha256-ffZGS6Xo778NiXTAsseLMlRmdvBgWag1FdvfpVmzQhQ=";
};
postPatch =

Some files were not shown because too many files have changed in this diff Show More