Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-04-24 18:16:27 +00:00
committed by GitHub
90 changed files with 2417 additions and 348 deletions
+3 -3
View File
@@ -920,14 +920,14 @@ respectively. Otherwise, the fetcher uses `fetchzip`.
This is used with Radicle repositories. The arguments expected are similar to `fetchgit`.
Requires a `seed` argument (e.g. `seed.radicle.xyz` or `rosa.radicle.xyz`) and a `repo` argument
Requires a `seed` argument (e.g. `seed.radicle.dev` or `rosa.radicle.network`) and a `repo` argument
(the repository id *without* the `rad:` prefix). Also accepts an optional `node` argument which
contains the id of the node from which to fetch the specified ref. If `node` is `null` (the
default), a canonical ref is fetched instead.
```nix
fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z3gqcJUoA1n9HaHKufZs5FCSGazv5"; # heartwood
tag = "releases/1.3.0";
hash = "sha256-4o88BWKGGOjCIQy7anvzbA/kPOO+ZsLMzXJhE61odjw=";
@@ -942,7 +942,7 @@ contains the full revision id of the Radicle patch to fetch.
```nix
fetchRadiclePatch {
seed = "rosa.radicle.xyz";
seed = "rosa.radicle.network";
repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; # radicle-explorer
revision = "d97d872386c70607beda2fb3fc2e60449e0f4ce4"; # patch: d77e064
hash = "sha256-ttnNqj0lhlSP6BGzEhhUOejKkkPruM9yMwA5p9Di4bk=";
@@ -139,7 +139,7 @@
- [`pay-respects`](https://codeberg.org/iff/pay-respects), a terminal command correction program, alternative to `thefuck`, written in Rust. Available as [programs.pay-respects](options.html#opt-programs.pay-respects).
- [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable).
- [Radicle](https://radicle.dev), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable).
- [Ordinal](https://github.com/snu-sf/Ordinal), A library for ordinal numbers in the Coq proof assistant.
@@ -149,9 +149,9 @@
- [qBittorrent](https://www.qbittorrent.org/), a bittorrent client programmed in C++ / Qt that uses libtorrent by Arvid Norberg. Available as [services.qbittorrent](#opt-services.qbittorrent.enable).
- [radicle-ci-broker](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8), a tool for running CI for repositories in the local [Radicle](https://radicle.xyz/) node. Available as [services.radicle.ci.broker.enable](#opt-services.radicle.ci.broker.enable).
- [radicle-ci-broker](https://radicle.network/nodes/seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8), a tool for running CI for repositories in the local [Radicle](https://radicle.dev/) node. Available as [services.radicle.ci.broker.enable](#opt-services.radicle.ci.broker.enable).
- [radicle-native-ci](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE), an adapter for the [Radicle CI broker](https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8), for performing CI runs locally. Available as [services.radicle.ci.adapters.native](#opt-services.radicle.ci.adapters.native.instances).
- [radicle-native-ci](https://radicle.network/nodes/seed.radicle.dev/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE), an adapter for the [Radicle CI broker](https://radicle.network/nodes/seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8), for performing CI runs locally. Available as [services.radicle.ci.adapters.native](#opt-services.radicle.ci.adapters.native.instances).
- [rauc](https://rauc.io/) (the Robust Auto-Update Controller), a daemon that allows reliable and secure software updates in embedded Linux systems. Available at [services.rauc](#opt-services.rauc.enable).
+14 -5
View File
@@ -6,11 +6,10 @@
}:
let
cfg = config.hardware.openrazer;
kernelPackages = config.boot.kernelPackages;
toPyBoolStr = b: if b then "True" else "False";
daemonExe = "${pkgs.openrazer-daemon}/bin/openrazer-daemon --config ${daemonConfFile}";
daemonExe = "${cfg.packages.daemon}/bin/openrazer-daemon --config ${daemonConfFile}";
daemonConfFile = pkgs.writeTextFile {
name = "razer.conf";
@@ -132,6 +131,14 @@ in
can start and interact with the OpenRazer userspace daemon.
'';
};
packages = {
kernel = lib.mkPackageOption pkgs "openrazer kernel" { } // {
default = config.boot.kernelPackages.openrazer;
defaultText = lib.literalExpression "config.boot.kernelPackages.openrazer";
};
daemon = lib.mkPackageOption pkgs [ "python3Packages" "openrazer-daemon" ] { };
};
};
};
@@ -143,14 +150,16 @@ in
];
config = lib.mkIf cfg.enable {
boot.extraModulePackages = [ kernelPackages.openrazer ];
boot.extraModulePackages = [ cfg.packages.kernel ];
boot.kernelModules = drivers;
# Makes the man pages available so you can successfully run
# > systemctl --user help openrazer-daemon
environment.systemPackages = [ pkgs.python3Packages.openrazer-daemon.man ];
environment.systemPackages = lib.mkIf (cfg.packages.daemon ? man) [
cfg.packages.daemon.man
];
services.udev.packages = [ kernelPackages.openrazer ];
services.udev.packages = [ cfg.packages.kernel ];
services.dbus.packages = [ dbusServiceFile ];
# A user must be a member of the openrazer group in order to start
+1
View File
@@ -692,6 +692,7 @@
./services/hardware/nvidia-optimus.nix
./services/hardware/openrgb.nix
./services/hardware/pcscd.nix
./services/hardware/pdudaemon.nix
./services/hardware/pid-fan-controller.nix
./services/hardware/pommed.nix
./services/hardware/power-profiles-daemon.nix
@@ -81,7 +81,7 @@ in
};
description = ''
Configuration of radicle-native-ci.
See <https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE#configuration> for more information.
See <https://radicle.network/nodes/seed.radicle.dev/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE#configuration> for more information.
'';
default = { };
};
@@ -135,7 +135,7 @@ in
};
description = ''
Configuration of radicle-ci-broker.
See <https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/doc/userguide.md#configuration> for more information.
See <https://radicle.network/nodes/seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/doc/userguide.md#configuration> for more information.
'';
default = { };
example = lib.literalExpression ''
@@ -0,0 +1,146 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.services.pdudaemon;
configFile = pkgs.writeText "pdudaemon.conf" (
lib.generators.toJSON { } {
daemon = {
hostname = cfg.bindAddress;
port = cfg.port;
logging_level = cfg.logLevel;
listener = cfg.listener;
};
pdus = cfg.pdus;
}
);
in
{
meta = {
maintainers = with lib.maintainers; [
aiyion
emantor
];
};
options = {
services.pdudaemon = {
enable = lib.mkEnableOption "PDUDaemon";
package = lib.mkPackageOption pkgs "pdudaemon" { };
bindAddress = lib.mkOption {
default = "0.0.0.0";
type = lib.types.str;
description = "Bind address for the PDUDaemon.";
};
port = lib.mkOption {
default = 16421;
type = lib.types.port;
description = "Port to bind to.";
};
openFirewall = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
Whether to automatically open the PDUDaemon listen port in the firewall.
'';
};
listener = lib.mkOption {
default = "http";
type = lib.types.enum [
"http"
"tcp"
];
description = "Which kind of listener to provide.";
};
logLevel = lib.mkOption {
default = "error";
type = lib.types.enum [
"debug"
"info"
"warning"
"error"
];
description = "PDUDaemon log level.";
};
pdus = lib.mkOption {
type = with lib.types; attrsOf anything;
default = { };
description = ''
Structural pdus section of PDUDaemon's pdudaemon.conf.
Refer to <https://github.com/pdudaemon/pdudaemon/blob/main/share/pdudaemon.conf>
for more examples.
'';
example = lib.literalExpression ''
{
cbs350-poe-switch = {
driver = "snmpv1";
community = "private";
oid = ".1.3.6.1.2.1.105.1.1.1.3.1.*;
onsetting = 1;
offsetting = 2;
};
energenie = {
driver = "EG-PMS";
device = "aa:bb:cc:xx:yy";
};
local = {
driver = "localcmdline";
};
};
'';
};
};
};
config = lib.mkIf cfg.enable {
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ];
systemd.services.pdudaemon = {
after = [ "network-online.target" ];
description = "Control and Queueing daemon for PDUs";
serviceConfig = {
ExecStart = "${lib.getExe cfg.package} --conf ${configFile}";
Type = "simple";
DynamicUser = "yes";
StateDirectory = "pdudaemon";
ProtectHome = true;
Restart = "on-failure";
CapabilityBoundingSet = "";
PrivateDevices = true;
ProtectClock = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
ProtectKernelModules = true;
SystemCallArchitectures = "native";
MemoryDenyWriteExecute = true;
RestrictNamespaces = true;
ProtectHostname = true;
LockPersonality = true;
ProtectKernelTunables = true;
RestrictRealtime = true;
ProtectProc = "invisible";
ProcSubset = "pid";
PrivateUsers = true;
SystemCallFilter = [
"@system-service"
"~@privileged"
"~@resources"
];
};
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ];
};
};
}
+2 -2
View File
@@ -41,7 +41,7 @@ let
pkgs.gitMinimal
];
documentation = [
"https://docs.radicle.xyz/guides/seeder"
"https://radicle.dev/guides/seeder"
];
after = [
"network.target"
@@ -225,7 +225,7 @@ in
};
settings = lib.mkOption {
description = ''
See <https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/radicle/src/node/config.rs#L275>
See <https://radicle.network/nodes/iris.radicle.network/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/radicle/src/node/config.rs#L275>
'';
default = { };
example = lib.literalExpression ''
+1
View File
@@ -1252,6 +1252,7 @@ in
inherit runTest;
};
pdns-recursor = runTest ./pdns-recursor.nix;
pdudaemon = runTest ./pdudaemon.nix;
peerflix = runTest ./peerflix.nix;
peering-manager = runTest ./web-apps/peering-manager.nix;
peertube = handleTestOn [ "x86_64-linux" ] ./web-apps/peertube.nix { };
+50
View File
@@ -0,0 +1,50 @@
{ pkgs, ... }:
{
name = "PDUDaemon";
meta.maintainers = with pkgs.lib.maintainers; [
aiyion
emantor
];
nodes.pdudaemonhost =
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.curl ];
services.pdudaemon.enable = true;
services.pdudaemon.openFirewall = true;
services.pdudaemon.pdus = {
testpduhost = {
driver = "localcmdline";
cmd_on = "echo '%s on' >> /tmp/pdu";
cmd_off = "echo '%s off' >> /tmp/pdu";
};
};
};
nodes.clienthost =
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.curl ];
};
testScript =
{ nodes, ... }:
#python
''
with subtest("Wait for pdudaemon startup"):
pdudaemonhost.start()
pdudaemonhost.wait_for_unit("pdudaemon.service")
pdudaemonhost.wait_for_open_port(16421)
print(pdudaemonhost.succeed("curl 'http://localhost:16421/power/control/on?hostname=testpduhost&port=1'"))
with subtest("Connect from client"):
clienthost.start()
clienthost.wait_until_succeeds("curl 'http://pdudaemonhost:16421/power/control/off?hostname=testpduhost&port=1'")
with subtest("Check systemd hardening does not degrade unnoticed"):
exact_threshold = 15
service_name = "pdudaemon"
pdudaemonhost.fail(f"systemd-analyze security {service_name}.service --threshold={exact_threshold-1}")
pdudaemonhost.succeed(f"systemd-analyze security {service_name}.service --threshold={exact_threshold}")
'';
}
+22 -30
View File
@@ -166,37 +166,29 @@ stdenv.mkDerivation (finalAttrs: {
patches =
patches fetchpatch
++ lib.optionals withNativeCompilation [
(replaceVars
(
if lib.versionOlder finalAttrs.version "30" then
./native-comp-driver-options.patch
else
./native-comp-driver-options-30.patch
)
{
backendPath = (
lib.concatStringsSep " " (
map (x: ''"-B${x}"'') (
[
# Paths necessary so the JIT compiler finds its libraries:
"${lib.getLib libgccjit}/lib"
]
++ libGccJitLibraryPaths
++ [
# Executable paths necessary for compilation (ld, as):
"${lib.getBin stdenv.cc.cc}/bin"
"${lib.getBin stdenv.cc.bintools}/bin"
"${lib.getBin stdenv.cc.bintools.bintools}/bin"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# The linker needs to know where to find libSystem on Darwin.
"${apple-sdk.sdkroot}/usr/lib"
]
)
(replaceVars ./native-comp-driver-options-30.patch {
backendPath = (
lib.concatStringsSep " " (
map (x: ''"-B${x}"'') (
[
# Paths necessary so the JIT compiler finds its libraries:
"${lib.getLib libgccjit}/lib"
]
++ libGccJitLibraryPaths
++ [
# Executable paths necessary for compilation (ld, as):
"${lib.getBin stdenv.cc.cc}/bin"
"${lib.getBin stdenv.cc.bintools}/bin"
"${lib.getBin stdenv.cc.bintools.bintools}/bin"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# The linker needs to know where to find libSystem on Darwin.
"${apple-sdk.sdkroot}/usr/lib"
]
)
);
}
)
)
);
})
];
postPatch = lib.concatStringsSep "\n" [
@@ -1,19 +0,0 @@
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 2c9b79334b..50c6b5ac85 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -178,8 +178,9 @@ native-comp-compiler-options
:type '(repeat string)
:version "28.1")
-(defcustom native-comp-driver-options (when (eq system-type 'darwin)
- '("-Wl,-w"))
+(defcustom native-comp-driver-options (append (when (eq system-type 'darwin)
+ '("-Wl,-w"))
+ '(@backendPath@))
"Options passed verbatim to the native compiler's back-end driver.
Note that not all options are meaningful; typically only the options
affecting the assembler and linker are likely to be useful.
--
2.37.3
@@ -247,6 +247,15 @@ pkgs.lib.recurseIntoAttrs rec {
};
};
nvim_with_no_pname_plugin = neovim.override {
extraName = "-with-no-pname-plugin";
configure.packages.plugins = {
start = [
vimPlugins.corePlugins
];
};
};
# regression test that ftplugin files from plugins are loaded before the ftplugin
# files from $VIMRUNTIME
run_nvim_with_ftplugin = runTest nvim_with_ftplugin ''
@@ -260,6 +269,10 @@ pkgs.lib.recurseIntoAttrs rec {
[ "$result" = 0 ]
'';
run_nvim_with_no_pname_plugin = runTest nvim_with_no_pname_plugin ''
${nvim_with_no_pname_plugin}/bin/nvim -i NONE -e --headless +quit
'';
# Generate a neovim wrapper with only a init.lua and no init.vim file
nvim_with_only_init_lua = wrapNeovim2 "-only-lua-init-file" {
luaRcContent = "-- some text";
@@ -218,7 +218,7 @@ let
paths = allGrammars;
};
allAndOptPluginNames = map (plugin: plugin.pname) (allPlugins ++ opt);
allAndOptPluginNames = map (plugin: plugin.pname or null) (allPlugins ++ opt);
packdirStart = vimFarm "pack/${packageName}/start" "packdir-start" (
if allGrammars != [ ] then allPlugins ++ [ allGrammarsSymlinked ] else allPlugins
@@ -370,6 +370,9 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ jtojnar ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
# Build invokes built binary to convert assets, binary hangs during plugin loading on big-endian platforms (s390x, ppc64)
# https://gitlab.gnome.org/GNOME/gimp/-/issues/12522
broken = stdenv.hostPlatform.isBigEndian;
mainProgram = "gimp";
};
})
@@ -98,13 +98,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "obs-studio";
version = "32.1.1";
version = "32.1.2";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = finalAttrs.version;
hash = "sha256-p/fr5lO97jCl0HYA0x7ZAS7gAXvA+s7nn3XSj1UvtC4=";
hash = "sha256-9i7wLHpKqbcYzPlzSMF4xEpsTINQnVDPtneLJaSM+/I=";
fetchSubmodules = true;
};
+1 -4
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
python312Packages,
python3Packages,
fetchFromGitHub,
fetchpatch,
replaceVars,
@@ -12,9 +12,6 @@
}:
let
# dont support python 3.13 (Aider-AI/aider#3037)
python3Packages = python312Packages;
aider-nltk-data = python3Packages.nltk.dataDir (d: [
d.punkt-tab
d.stopwords
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "asccli";
version = "1.2.2";
version = "1.2.5";
src = fetchFromGitHub {
owner = "rudrankriyam";
repo = "App-Store-Connect-CLI";
tag = "${finalAttrs.version}";
hash = "sha256-pwfsjVaZaYLLOaIRameDIDZPlwHS6IJrgnTtZqZFwio=";
hash = "sha256-9zGLR+lXxR0ku758wmNlglgUYLXa9p/fsZ4p7a7/+E4=";
};
vendorHash = "sha256-712Q7KiFQyTDjX4Srhukv3eQ84MRjnQxrpgBfqK2xa4=";
+10 -1
View File
@@ -6,6 +6,8 @@
ninja,
perl,
gitUpdater,
withShared ? !stdenv.hostPlatform.isStatic,
}:
# reference: https://boringssl.googlesource.com/boringssl/+/refs/tags/0.20250818.0/BUILDING.md
@@ -30,6 +32,10 @@ stdenv.mkDerivation (finalAttrs: {
perl
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" withShared)
];
env.NIX_CFLAGS_COMPILE = toString (
lib.optionals stdenv.cc.isGNU [
# Needed with GCC 12 but breaks on darwin (with clang)
@@ -47,7 +53,10 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
passthru.updateScript = gitUpdater { };
passthru = {
updateScript = gitUpdater { };
isShared = withShared;
};
meta = {
description = "Free TLS/SSL implementation";
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "caligula";
version = "0.4.10";
version = "0.4.11";
src = fetchFromGitHub {
owner = "ifd3f";
repo = "caligula";
rev = "v${finalAttrs.version}";
hash = "sha256-oaSt6wzMzaGHPyuJ5NVcAJLblHQcHJA5a7o2wkJgZkU=";
hash = "sha256-2KCP7Utb785yIn8w/Ls19UPS9ylg1PtLRki87+BD+xw=";
};
cargoHash = "sha256-B09aKzNNhgXKg3PCYmlMz3/oOeeh1FQAL7+tywg/81Q=";
cargoHash = "sha256-C86wu2Pc9O7YM1TnnfotzzOQlnJXJe2zmsX04JyJsjA=";
nativeBuildInputs = [
rustPlatform.bindgenHook
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "crossplane-cli";
version = "2.2.0";
version = "2.2.1";
src = fetchFromGitHub {
owner = "crossplane";
repo = "crossplane";
rev = "v${finalAttrs.version}";
hash = "sha256-SRqZKr/MTdfDwN5/mqWT5AcQAjNiCcbLyuTJCOcruzE=";
hash = "sha256-sQ2sCgFDGogQIIWdNCAKVkorsVuNtUOcaALqE/PGwJ4=";
};
vendorHash = "sha256-vilm41nN7Qhyu9LfVk6Me9hA3YAipLYGjhSU/JZhfEM=";
vendorHash = "sha256-DD0I4XLcN3pHhJKc5wBaldQU7gndszqCExSW4jqLMKQ=";
ldflags = [
"-s"
+3 -3
View File
@@ -70,14 +70,14 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rusty-v8";
version = "147.1.0";
version = "147.2.1";
src = fetchFromGitHub {
owner = "denoland";
repo = "rusty_v8";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-USCQtK5pJBpU1FTLMQ/bNwJXnVNkdX/EtCWqs2kVL50=";
hash = "sha256-HompYzilJ7AC+HXfJJcvPC3L0rQfdAOhMhir/7qDXG8=";
};
patches = [
@@ -97,7 +97,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
./librusty_v8-darwin-fix-__rust_no_alloc_shim_is_unstable_v2.patch
];
cargoHash = "sha256-FKwXdms9j+izRKsm5TKJ8Ct8lvBuG/tYXfNzVsbs8cM=";
cargoHash = "sha256-2h/zATsNngMg0Tvu5oSSveQNfaVbwFbzHndmSyP4Ddo=";
nativeBuildInputs = [
llvmPackages.clang
+3 -3
View File
@@ -29,17 +29,17 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "deno";
version = "2.7.12";
version = "2.7.13";
src = fetchFromGitHub {
owner = "denoland";
repo = "deno";
tag = "v${finalAttrs.version}";
fetchSubmodules = true; # required for tests
hash = "sha256-e1G1y9aGWhFDhsvzmLFD6VIfxU8BseWOa8bBcCC255Y=";
hash = "sha256-LGTA2xwT939GlAaKfUU3XA0Jx0h1P+8eFgPLmddHxlo=";
};
cargoHash = "sha256-YahHLz4ykAcFNrh/GFVJ0fZtCNHKG9RzdCUprQDfOUo=";
cargoHash = "sha256-CLI54HSEOC/OVnIf0FmizVrS0adfzukFFBDl+EUP7BE=";
patches = [
./patches/0002-tests-replace-hardcoded-paths.patch
@@ -0,0 +1,28 @@
From 9ad74926d4f7f34ff902e1db5235535aa813c33f Mon Sep 17 00:00:00 2001
From: Simon Kelley <simon@thekelleys.org.uk>
Date: Mon, 6 Apr 2026 22:22:43 +0100
Subject: [PATCH] Fix 1-byte buffer overflow in relay_reply4()
Potential SIGSEGV when using DHCPv4-relay.
Thanks to Asim Viladi Oglu Manizada for finding this.
---
src/rfc2131.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rfc2131.c b/src/rfc2131.c
index 7bdfefd..55aad03 100644
--- a/src/rfc2131.c
+++ b/src/rfc2131.c
@@ -3248,7 +3248,7 @@ unsigned int relay_reply4(struct dhcp_packet *mess, size_t sz, char *arrival_int
/* delete agent info before return RFC 3046 para 2.1 */
*opt = OPTION_END;
- memset(opt + 1, 0, option_len(opt) + 2);
+ memset(opt + 1, 0, option_len(opt) + 1);
}
}
else if (mess->giaddr.s_addr == relay->local.addr4.s_addr)
--
2.20.1
+5
View File
@@ -37,6 +37,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-S/UMLBAY+fvCYDffUbkOzqDLc9RhYoRnY7kt8NbDpFg=";
};
patches = [
# https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=patch;h=9ad74926d4f7f34ff902e1db5235535aa813c33f
./CVE-2026-6507.patch
];
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
sed '1i#include <linux/sockios.h>' -i src/dhcp.c
'';
+22 -3
View File
@@ -19,6 +19,7 @@
gawk,
fetchFromGitHub,
fetchgit,
fetchNpmDeps,
beamPackages,
nixosTests,
withMysql ? false,
@@ -35,6 +36,9 @@
withRedis ? false,
withImagemagick ? false,
imagemagick,
withBootstrap ? true, # used for the built-in mod_invites page
nodejs,
npmHooks,
}:
let
@@ -76,7 +80,6 @@ let
builder = lib.makeOverridable buildRebar3;
overrides = final: prev: {
jiffy = prev.jiffy.override { buildPlugins = [ beamPackages.pc ]; };
cache_tab = prev.cache_tab.override { buildPlugins = [ beamPackages.pc ]; };
mqtree = prev.mqtree.override { buildPlugins = [ beamPackages.pc ]; };
stringprep = prev.stringprep.override { buildPlugins = [ beamPackages.pc ]; };
@@ -137,10 +140,11 @@ let
"ezlib"
];
npmToolingUsed = withBootstrap;
in
stdenv.mkDerivation (finalAttrs: {
pname = "ejabberd";
version = "26.02";
version = "26.04";
nativeBuildInputs = [
makeWrapper
@@ -151,6 +155,10 @@ stdenv.mkDerivation (finalAttrs: {
rebar3_hex
];
})
]
++ lib.optionals npmToolingUsed [
nodejs
npmHooks.npmConfigHook
];
buildInputs = [
@@ -166,11 +174,17 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional withLua allBeamDeps.luerl
++ lib.optional withRedis allBeamDeps.eredis;
npmDeps = lib.optionalDrvAttr npmToolingUsed (fetchNpmDeps {
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
src = finalAttrs.src;
hash = "sha256-MTyoc8ozrCi3W0CXmxyLpyU8v+vlUjcbLnv/1ev/Qqo=";
});
src = fetchFromGitHub {
owner = "processone";
repo = "ejabberd";
tag = finalAttrs.version;
hash = "sha256-izP7Rz65Lr4LDOCzZPdDWb3TyXDSTd/8gOPSfovVGM8=";
hash = "sha256-PF65TgHvKeSEudEqqJVEotu2zgiWgGtRuNvbiyE0nwc=";
};
passthru.tests = {
@@ -187,6 +201,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.enableFeature withLua "lua")
(lib.enableFeature withTools "tools")
(lib.enableFeature withRedis "redis")
(lib.enableFeature withBootstrap "bootstrap")
]
++ lib.optional withSqlite "--with-sqlite3=${sqlite.dev}";
@@ -199,6 +214,10 @@ stdenv.mkDerivation (finalAttrs: {
touch _build/default/lib/.built
'';
preBuild = lib.optionalString npmToolingUsed /* sh */ ''
npm run postinstall
'';
env.REBAR_IGNORE_DEPS = 1;
postInstall = ''
+53 -85
View File
@@ -12,53 +12,23 @@ in
let
self = packages // (overrides self packages);
packages = with self; {
unicode_util_compat = builder {
name = "unicode_util_compat";
version = "0.7.1";
src = fetchHex {
pkg = "unicode_util_compat";
version = "0.7.1";
sha256 = "sha256-s6kXhUzjriM2GXRK0eAQLgVnMTZ3b7L6diNPPgOyNkI=";
};
beamDeps = [ ];
};
jiffy = builder {
name = "jiffy";
version = "1.1.2";
src = fetchHex {
pkg = "jiffy";
version = "1.1.2";
sha256 = "sha256-u2G8Qqcgu9M8sJpBDki7eaYQEsdMuLPnXybZiEhc84E=";
};
beamDeps = [ ];
};
base64url = builder {
name = "base64url";
version = "1.0.1";
src = fetchHex {
pkg = "base64url";
version = "1.0.1";
sha256 = "sha256-+bOt1HMaAqmwQQOYtHWzPnVmppU2Ujemve4btEdxn1w=";
};
beamDeps = [ ];
};
yconf = builder {
name = "yconf";
version = "1.0.22";
version = "1.0.23";
src = fetchHex {
pkg = "yconf";
version = "1.0.22";
sha256 = "sha256-rKg0V86r5wdWSEtch7p7GVX1EdSZFoaH6uqnwwDoV/E=";
version = "1.0.23";
sha256 = "sha256-JbTft1MoAmrKp3TPXG+4fUi1XuvOYw3aozYkQdrDFDc=";
};
beamDeps = [ fast_yaml ];
};
xmpp = builder {
name = "xmpp";
version = "1.12.0";
version = "1.13.3";
src = fetchHex {
pkg = "xmpp";
version = "1.12.0";
sha256 = "sha256-AUuuc2WfuiVncesAe8U0hhiscn3R0QuasVqf74cWIsg=";
version = "1.13.3";
sha256 = "sha256-BWSKpNvM/uYqqnlLKSowWEY50DyR9cCGa+jDQ0tqb0g=";
};
beamDeps = [
ezlib
@@ -71,11 +41,11 @@ let
};
stun = builder {
name = "stun";
version = "1.2.21";
version = "1.2.22";
src = fetchHex {
pkg = "stun";
version = "1.2.21";
sha256 = "sha256-PX/o77nQWyQKaqmmv4uLe/8tgCiV0XBEPFiJh9weEtk=";
version = "1.2.22";
sha256 = "sha256-NAi0sR1SN6CI9TsmCgaUDDCxb0pICUiS1qkgThZDGIo=";
};
beamDeps = [
fast_tls
@@ -84,11 +54,11 @@ let
};
stringprep = builder {
name = "stringprep";
version = "1.0.33";
version = "1.0.34";
src = fetchHex {
pkg = "stringprep";
version = "1.0.33";
sha256 = "sha256-lvizC8UIh/YFsztGvKHSSMGah5MZuMSCeQ47TaXamMA=";
version = "1.0.34";
sha256 = "sha256-J+eOo3GIF2TgVvvoRdOtMEdA/14xMbwfOKZvC6qMm0c=";
};
beamDeps = [ p1_utils ];
};
@@ -114,23 +84,23 @@ let
};
p1_utils = builder {
name = "p1_utils";
version = "1.0.28";
version = "1.0.29";
src = fetchHex {
pkg = "p1_utils";
version = "1.0.28";
sha256 = "sha256-xJvUS8SkCtmWaRr4Jt1+CqVtTQzXMIFxkKH4TRp/ADM=";
version = "1.0.29";
sha256 = "sha256-IHFCHK21uP/xFOkdTZRPFIUcMyOR9uk/xQEarWSr4bk=";
};
beamDeps = [ ];
};
p1_pgsql = builder {
name = "p1_pgsql";
version = "1.1.38";
version = "1.1.41";
src = fetchHex {
pkg = "p1_pgsql";
version = "1.1.38";
sha256 = "sha256-Bs9kQwCBeOujh7ou6STTYgBBuuTaGyyWloAoSgXMdZ4=";
version = "1.1.41";
sha256 = "sha256-Ju4quj1FBGTt1LP/nassalP8ILv9Mwppc5grkGUEoXI=";
};
beamDeps = [ xmpp ];
beamDeps = [ stringprep ];
};
p1_oauth2 = builder {
name = "p1_oauth2";
@@ -144,37 +114,35 @@ let
};
p1_mysql = builder {
name = "p1_mysql";
version = "1.0.27";
version = "1.0.28";
src = fetchHex {
pkg = "p1_mysql";
version = "1.0.27";
sha256 = "sha256-BmBR8kACenZzJUfmnZagl05w3BTe2UU77yYyIYQe2ps=";
version = "1.0.28";
sha256 = "sha256-bk0A6OzlBbpQkcjas67+QVzy2Db/OVCDRMNSezZtmRk=";
};
beamDeps = [ ];
};
p1_acme = builder {
name = "p1_acme";
version = "1.0.30";
version = "1.0.31";
src = fetchHex {
pkg = "p1_acme";
version = "1.0.30";
sha256 = "sha256-KTXiCRa4BtOxFmlTpNkKaQ/YB4EJYUD+XKH2XVnr1oo=";
version = "1.0.31";
sha256 = "sha256-m1kiqQq5TaWInmTeXMrTrcbmim08P7cI3VA3V7Iy2xw=";
};
beamDeps = [
base64url
idna
jiffy
jose
yconf
];
};
mqtree = builder {
name = "mqtree";
version = "1.0.19";
version = "1.0.20";
src = fetchHex {
pkg = "mqtree";
version = "1.0.19";
sha256 = "sha256-yBBlcVxJoYgoEvgKWuLYQugN0/LRMFMN81mQJIv4zjw=";
version = "1.0.20";
sha256 = "sha256-XsDge5xIp4QGSWAL+W4UC0++nlAX4d3T6JjhXAo4PtA=";
};
beamDeps = [ p1_utils ];
};
@@ -200,61 +168,61 @@ let
};
idna = builder {
name = "idna";
version = "6.1.1";
version = "7.1.0";
src = fetchHex {
pkg = "idna";
version = "6.1.1";
sha256 = "sha256-kjdut4lEEu0ZrEdeSob3tBPBufu1vRbczVeTQVeUTOo=";
version = "7.1.0";
sha256 = "sha256-aulZoCW/Nt9hqMq4UI2WVIkbVCaoTETYLer/1t34xx8=";
};
beamDeps = [ unicode_util_compat ];
beamDeps = [ ];
};
fast_yaml = builder {
name = "fast_yaml";
version = "1.0.39";
version = "1.0.40";
src = fetchHex {
pkg = "fast_yaml";
version = "1.0.39";
sha256 = "sha256-JMe5q54rkmnWTkX0oqEoCWatsX0x5jNlz9PuJ3+wp40=";
version = "1.0.40";
sha256 = "sha256-J3BcKZAsHG8yaLqb84fV+pKLLmVbUxEPpHuOR20ys4Y=";
};
beamDeps = [ p1_utils ];
};
fast_xml = builder {
name = "fast_xml";
version = "1.1.57";
version = "1.1.60";
src = fetchHex {
pkg = "fast_xml";
version = "1.1.57";
sha256 = "sha256-7sNOkK2sr+Rn1d2rY1oBTe1zuYtAYVVLLRlyFz2SnDk=";
version = "1.1.60";
sha256 = "sha256-z54nSd1HIEcCy3oEq1BFZC+gCW/fyc/y6cptPyq9N8U=";
};
beamDeps = [ p1_utils ];
};
fast_tls = builder {
name = "fast_tls";
version = "1.1.25";
version = "1.1.26";
src = fetchHex {
pkg = "fast_tls";
version = "1.1.25";
sha256 = "sha256-WeGDtXQOZw4CuKpr5nO153eeX+W/zGef4tSZPRlJqCE=";
version = "1.1.26";
sha256 = "sha256-aw1N0jCQN1Zeuqms858CgI9fghWjkQGh2jPCpbG1mz8=";
};
beamDeps = [ p1_utils ];
};
ezlib = builder {
name = "ezlib";
version = "1.0.15";
version = "1.0.16";
src = fetchHex {
pkg = "ezlib";
version = "1.0.15";
sha256 = "sha256-3RS6bBJSGvXP5pI+c+PVRfSgiX3Ga/q1KH+7euOWLqs=";
version = "1.0.16";
sha256 = "sha256-tIGVQEA9Hst+rmRf3/FCqNsrR22JMojTm6u5KSIlBAU=";
};
beamDeps = [ p1_utils ];
};
esip = builder {
name = "esip";
version = "1.0.59";
version = "1.0.60";
src = fetchHex {
pkg = "esip";
version = "1.0.59";
sha256 = "sha256-C98uPDSdwLFE8XMVAynmdcalGsRz16Cy42IkX6rT++Y=";
version = "1.0.60";
sha256 = "sha256-BgTL1LvI2hWSwAgwz+MGIM5PZlurEZnRSjtF+v0DFE8=";
};
beamDeps = [
fast_tls
@@ -294,21 +262,21 @@ let
};
eimp = builder {
name = "eimp";
version = "1.0.26";
version = "1.0.27";
src = fetchHex {
pkg = "eimp";
version = "1.0.26";
sha256 = "sha256-2W1OhXK538QPJx5H8MsdiEk3O8mKISIyaHgXZe1SBEw=";
version = "1.0.27";
sha256 = "sha256-PH6D4pO8+vUKG/BU/Etit7jEhKbkIY45dwmk0NhX8/w=";
};
beamDeps = [ p1_utils ];
};
cache_tab = builder {
name = "cache_tab";
version = "1.0.33";
version = "1.0.34";
src = fetchHex {
pkg = "cache_tab";
version = "1.0.33";
sha256 = "sha256-QlgAnrBQsiqr4MhI4jC7pYQBpolcWML/dN+2NePDWQA=";
version = "1.0.34";
sha256 = "sha256-DbnzF/OUHBfJ+OqBJeJe+ie77Uy/JKQsQm+tp0yCtpI=";
};
beamDeps = [ p1_utils ];
};
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "esp-generate";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "esp-rs";
repo = "esp-generate";
rev = "v${finalAttrs.version}";
hash = "sha256-JNSz/HRO8qxVaRZLL4qgYF3BIYVkrzyRc3wAWd+dAMo=";
hash = "sha256-aD+FID/YRTsJ0PY5CLpwO0NDg2izNiWEPGKVbKdFy+8=";
};
cargoHash = "sha256-IZH6y7KXdrNO4mxkRPaWi79XQnlrxxaQNG2nahJ8TzY=";
cargoHash = "sha256-I3Yr81Txxp+gnBsP2OY1MWfYZo6O3Okg2YFUfhK8IJo=";
meta = {
description = "Template generation tool to create no_std applications targeting Espressif's chips";
@@ -0,0 +1,9 @@
diff --git a/tests/check_utils.c b/tests/check_utils.c
index 7229e4b..a422af4 100644
--- a/tests/check_utils.c
+++ b/tests/check_utils.c
@@ -1,3 +1,4 @@
+#include "../config.h"
#include <stdlib.h>
#include "../src/tailor.h"
@@ -0,0 +1,17 @@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index c45abcc..01727ef 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -2003,11 +2003,7 @@ GCAL_OBJS = \
../src/utils.o
GCAL_GNULIB_OBJS = \
- ../lib/fclose.o \
- ../lib/fflush.o \
- ../lib/fseeko.o \
- ../lib/ioctl.o \
- ../lib/tmpdir.o
+ ../lib/libgnu.a
check_gcal_SOURCES = check_gcal.c \
check_file-io.c \
+23 -9
View File
@@ -4,31 +4,45 @@
fetchurl,
ncurses,
gettext,
fetchpatch,
pkg-config,
check,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gcal";
version = "4.1";
version = "4.2.0";
src = fetchurl {
url = "mirror://gnu/gcal/gcal-${finalAttrs.version}.tar.xz";
sha256 = "1av11zkfirbixn05hyq4xvilin0ncddfjqzc4zd9pviyp506rdci";
url = "https://www.alteholz.dev/gnu/gcal-${finalAttrs.version}.tar.xz";
hash = "sha256-2L0tdBHnglHWcGSqDxymClI7+FbuPm2J0H2FoSM0eNw=";
};
patches = [
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/gcal/raw/master/f/gcal-glibc-no-libio.patch";
sha256 = "0l4nw9kgzsay32rsdwvs75pbp4fhx6pfm85paynfbd20cdm2n2kv";
})
./add-missing-include.patch
./fix-gnulib-link.patch
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration";
env = {
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration";
# For check_gcal
NIX_LDFLAGS = "-lm";
};
enableParallelBuilding = true;
buildInputs = [ ncurses ] ++ lib.optional stdenv.hostPlatform.isDarwin gettext;
nativeBuildInputs = [
pkg-config
check
];
doCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
meta = {
description = "Program for calculating and printing calendars";
longDescription = ''
+2 -13
View File
@@ -5,14 +5,14 @@
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "gh-cherry-pick";
version = "1.2.0";
version = "1.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "PerchunPak";
repo = "gh-cherry-pick";
tag = "v${finalAttrs.version}";
hash = "sha256-EiXWgiCV99k3810nCWA+AnlLjG8VKRCPnns9KtfGxqY=";
hash = "sha256-plNxOYLfKWLjN5RR1g2VOJWgyrzXdgI0MDJYe05XcCk=";
};
build-system = with python3Packages; [
@@ -20,26 +20,15 @@ python3Packages.buildPythonApplication (finalAttrs: {
uv-dynamic-versioning
];
pythonRelaxDeps = [
"attrs"
"trio"
];
dependencies = with python3Packages; [
attrs
cyclopts
httpx
loguru
trio
typing-extensions
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
pytest
pytest-cov-stub
pytest-mock
pytest-trio
];
pythonImportsCheck = [ "gh_cherry_pick" ];
+2 -2
View File
@@ -7,13 +7,13 @@
buildDotnetModule rec {
pname = "gh-gei";
version = "1.27.0";
version = "1.28.0";
src = fetchFromGitHub {
owner = "github";
repo = "gh-gei";
rev = "v${version}";
hash = "sha256-28baWL19mF7QWMZ2UHad9PeA6in+V3FVJXdl3hzCecI=";
hash = "sha256-8KVEI6k3MWYYEJVi/fyXCDS6DpNwtEr1uz4JEz2R+WY=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx;
@@ -0,0 +1,45 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "gh-review-conductor";
version = "1.3.0";
src = fetchFromGitHub {
owner = "gh-tui-tools";
repo = "gh-review-conductor";
tag = "v${finalAttrs.version}";
hash = "sha256-gNQmO+Sa9n+hfy5CBSPqSXhHTzZz8D1sLrNqs+z9Rx4=";
};
vendorHash = "sha256-xAOTSdyNRZDKDPnCrvaepBOTDrnHLEA53K5TBxkqbDM=";
ldflags = [
"-s"
"-w"
"-X github.com/gh-tui-tools/gh-review-conductor/cmd.version=${finalAttrs.version}"
];
# Tests require GitHub authentication and network access
doCheck = false;
__structuredAttrs = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "GitHub CLI extension to apply PR review comments and suggestions directly to your local code";
homepage = "https://github.com/gh-tui-tools/gh-review-conductor";
changelog = "https://github.com/gh-tui-tools/gh-review-conductor/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
vdemeester
chmouel
];
mainProgram = "gh-prreview";
};
})
+2 -2
View File
@@ -8,7 +8,7 @@
buildGoModule (finalAttrs: {
pname = "gh-stack";
version = "0.0.1";
version = "0.0.2";
__structuredAttrs = true;
@@ -16,7 +16,7 @@ buildGoModule (finalAttrs: {
owner = "github";
repo = "gh-stack";
tag = "v${finalAttrs.version}";
hash = "sha256-om7ekHez08X1YjP0W+3p0PxmjU/za6+/gHX5GPakKAw=";
hash = "sha256-2mtQKrUvYkRQbxSaTCPt05Ld5jzdSrjckEiJlxalIUI=";
};
vendorHash = "sha256-s85Lz6yfY1TiIFPolU1qESDyw8XoBORyuOMdiHj6Grc=";
+3 -3
View File
@@ -18,16 +18,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gitoxide";
version = "0.52.0";
version = "0.52.1";
src = fetchFromGitHub {
owner = "GitoxideLabs";
repo = "gitoxide";
tag = "v${finalAttrs.version}";
hash = "sha256-nOpe+w0ILxS2f7EdDo1gg31eaESobKHdQ1F4pzpxsfE=";
hash = "sha256-PcRX5k4rqi61VnEpbKR2avChLBhPNSEsUjvul2myWOY=";
};
cargoHash = "sha256-z/aytFu8b23cVsZuIBcjbNUhsvoWi5saQKVgrCEq5+s=";
cargoHash = "sha256-zeT+2gIJbRqVtAiulccRoczd+xdYBkcWWYzbk/bRtXA=";
nativeBuildInputs = [
cmake
+3 -3
View File
@@ -10,16 +10,16 @@
}:
buildGo126Module (finalAttrs: {
pname = "goreleaser";
version = "2.15.2";
version = "2.15.4";
src = fetchFromGitHub {
owner = "goreleaser";
repo = "goreleaser";
rev = "v${finalAttrs.version}";
hash = "sha256-oRKOgqj5TKoD+BygDNjEc4vEN88WoTLAPJVxDfjWMPs=";
hash = "sha256-KpOttfnlVB+4YHg/SHqJHjQtK7DDO2yh6WH1kQFe/tE=";
};
vendorHash = "sha256-u0xZpajnTlGi8i/LfJ9JVHOKFs2SUA6RSrR4MlRhZv4=";
vendorHash = "sha256-I4y+0yT6/SFvJbJTByHn/EPQ3rNzpUEb4/7gtF+i80o=";
ldflags = [
"-s"
+2 -2
View File
@@ -34,13 +34,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "janus-gateway";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitHub {
owner = "meetecho";
repo = "janus-gateway";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Kt36rnBwmrf2/xDD4FR/T4Qlq4wx/Lq8fId6EgjBxkA=";
sha256 = "sha256-/201zFwahtN9cH+iHqeAi5FCTXUE3Z6J1G5Xh0xzc3Q=";
};
nativeBuildInputs = [
@@ -32,6 +32,10 @@ rec {
sed -i '/# This must remain last./i gkrust_features += ["glean_disable_upload"]\'$'\n' toolkit/library/rust/gkrust-features.mozbuild
# Temporary fix used with patches/rust-build.patch
sed -i 's/9456ca46168ef86c98399a2536f577ef7be3cdde90c0c51392d8ac48519d3fae/b9432f9ed39742015f4bb4c3e75c89a2b9a9eef943dd0fd7cd889fddd1e6d39c/g' third_party/rust/encoding_rs/.cargo-checksum.json
cp ${source}/patches/pref-pane/category-librewolf.svg browser/themes/shared/preferences
cp ${source}/patches/pref-pane/librewolf.css browser/themes/shared/preferences
cp ${source}/patches/pref-pane/librewolf.inc.xhtml browser/components/preferences
+5 -5
View File
@@ -1,11 +1,11 @@
{
"packageVersion": "149.0.2-2",
"packageVersion": "150.0-1",
"source": {
"rev": "149.0.2-2",
"hash": "sha256-rnDL98f3vwpcRmWfNuTcp2SDk6CKiOPEZFYnNsVDUa0="
"rev": "150.0-1",
"hash": "sha256-udoXrll3sQnG8Jp6AZtd9V2vela4Uej9SKy7wP7YiUc="
},
"firefox": {
"version": "149.0.2",
"hash": "sha512-hEpG7gaOzcZrcifQiaBXrT9JRRFP6iyygNXio4PQoCL8ZiitV8Bo6jTPFZRy9jxQ6n7RKLwRoLJ/Frt7Z9fzzw=="
"version": "150.0",
"hash": "sha512-d+jq6G57F8M5M/3qbTtfvnPmYTlJ5iwT2e0+WT57oLUHAfqX/H1WoniWHS4c2ykCJEwwoQIHkAkbCuLwyxtOcQ=="
}
}
+18
View File
@@ -6,6 +6,8 @@
xcodebuild,
protobuf,
boringssl,
withShared ? !stdenv.hostPlatform.isStatic,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "libsignal-ffi";
@@ -21,6 +23,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-xffBXvq1ikesIjw6cXfphnTIiyuMiUcY8h0pzSgfD8U=";
};
postPatch =
lib.optionalString withShared ''
substituteInPlace rust/bridge/ffi/Cargo.toml \
--replace-fail 'crate-type = ["staticlib"]' 'crate-type = ["cdylib"]'
''
+ lib.optionalString boringssl.passthru.isShared ''
substituteInPlace $cargoDepsCopy/*/boring-sys-*/build/main.rs \
--replace-fail "cargo:rustc-link-lib=static=crypto" "cargo:rustc-link-lib=dylib=crypto" \
--replace-fail "cargo:rustc-link-lib=static=ssl" "cargo:rustc-link-lib=dylib=ssl"
'';
nativeBuildInputs = [
protobuf
rustPlatform.bindgenHook
@@ -40,6 +53,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
"libsignal-ffi"
];
postFixup = lib.optionalString (withShared && stdenv.hostPlatform.isDarwin) ''
dylib="$out/lib/libsignal_ffi.dylib"
install_name_tool -id "$dylib" "$dylib"
'';
meta = {
description = "C ABI library which exposes Signal protocol logic";
homepage = "https://github.com/signalapp/libsignal";
+2
View File
@@ -7,6 +7,7 @@
zlib,
xz,
expat,
bashNonInteractive,
boost,
curl,
pkg-config,
@@ -51,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
openssl
]
++ lib.optionals (!onlyFirmwareUpdater) [
bashNonInteractive
boost
curl
expat
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nixbit";
version = "0.8.1";
version = "0.9.0";
src = fetchFromGitHub {
owner = "pbek";
repo = "nixbit";
tag = "v${finalAttrs.version}";
hash = "sha256-jSvYqTBsFWZqk/v7Y+ONfPDJekxRFi1tIt1UIGdRcEs=";
hash = "sha256-7SM6GvNqg7vdoYjE7bpWrIQwyBrpOaez8IQeDDGw/qA=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "packer";
version = "1.15.1";
version = "1.15.2";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "packer";
rev = "v${version}";
hash = "sha256-16nHjD2begkWnqy4g2pN8IX//BxRd9DA/TJ6sgKJi5M=";
hash = "sha256-rTmAc/wWy+soFSGYKjySvcip7L2Gw6oKqYUBgyH12xs=";
};
vendorHash = "sha256-GOEdKMu41QjSl5iR07rXetq4YIdJ/Bf0zD32D5yayxc=";
vendorHash = "sha256-9aba6LnTjVmY3UgF9YyI9GoleCglTCU83QmHNPI3T2U=";
subPackages = [ "." ];
+62
View File
@@ -0,0 +1,62 @@
{
lib,
fetchFromGitHub,
python3Packages,
nixosTests,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "pdudaemon";
version = "1.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pdudaemon";
repo = "pdudaemon";
tag = finalAttrs.version;
hash = "sha256-YjM1RmsdRfNyxCzK+PmSH8n7ZJ3qeIskTPxu2+EaupQ=";
};
build-system = with python3Packages; [
setuptools
setuptools-scm
];
dependencies = with python3Packages; [
aiohttp
requests
pexpect
systemd-python
paramiko
pyserial
hidapi
pysnmp
pyasn1
pyusb
pymodbus
];
nativeCheckInputs = with python3Packages; [
pytest-asyncio
pytest-mock
pytestCheckHook
];
__structuredAttrs = true;
passthru.tests = {
inherit (nixosTests) pdudaemon;
};
meta = {
changelog = "https://github.com/pdudaemon/pdudaemon/releases/tag/${finalAttrs.src.tag}";
description = "Python Daemon for controlling/sequentially executing commands to PDUs (Power Distribution Units)";
homepage = "https://github.com/pdudaemon/pdudaemon";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
aiyion
emantor
];
mainProgram = "pdudaemon";
};
})
+6
View File
@@ -63,6 +63,8 @@ let
env.CI = true;
__darwinAllowLocalNetworking = true;
doCheck = true;
checkPhase = ''
runHook preCheck
@@ -92,6 +94,10 @@ buildGoModule (finalAttrs: {
proxyVendor = true;
patches = [
./prometheus-pr18519-fix-TestFsType.patch
];
outputs = [
"out"
"doc"
@@ -0,0 +1,25 @@
--- a/util/runtime/statfs_unix_test.go
+++ b/util/runtime/statfs_unix_test.go
@@ -19,20 +19,18 @@ import (
"os"
"testing"
- "github.com/grafana/regexp"
"github.com/stretchr/testify/require"
)
-var regexpFsType = regexp.MustCompile("^[A-Z][A-Z0-9_]*_MAGIC$")
-
func TestFsType(t *testing.T) {
var fsType string
path, err := os.Getwd()
require.NoError(t, err)
+ // A real path must yield a non-zero filesystem type.
fsType = FsType(path)
- require.Regexp(t, regexpFsType, fsType)
+ require.NotEqual(t, "0", fsType)
fsType = FsType("/no/where/to/be/found")
require.Equal(t, "0", fsType)
-4
View File
@@ -1,6 +1,5 @@
{
buildNpmPackage,
nodejs_22,
fetchFromGitHub,
lib,
}:
@@ -18,9 +17,6 @@ buildNpmPackage (finalAttrs: {
npmDepsHash = "sha256-mpe00J5iRwaH7hJIDP3fDuJSUOKk01COpOOvF1YJMyg=";
# https://github.com/NixOS/nixpkgs/issues/474535
nodejs = nodejs_22;
# don't fetch playwright binary
env.PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qmapshack";
version = "1.20.1";
version = "1.20.2";
src = fetchFromGitHub {
owner = "Maproom";
repo = "qmapshack";
tag = "V_${finalAttrs.version}";
hash = "sha256-NqyouJGagVvyJGGetF8csA1byATaigBtGJIt5U3in+0=";
hash = "sha256-WLuD1qm1KoM5LtvanUrhV4ZsdvnXkanQVLT0p/fzRXg=";
};
nativeBuildInputs = [
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "0.27.0";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "zwTxygwuz5LDGBq255RA2CbNGrz8";
node = "z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV";
tag = "v${finalAttrs.version}";
@@ -66,8 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Radicle CI broker";
homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/NEWS.md";
homepage = "https://radicle.network/nodes/seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/tree/NEWS.md";
license = with lib.licenses; [
mit
asl20
+3 -3
View File
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "0.10.0";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z4D5UCArafTzTQpDZNQRuqswh3ury";
tag = "releases/${finalAttrs.version}";
hash = "sha256-Tlb2RVhFUcfJZy5/FyJuSpkRZ0ZxhLe5ynAK2y7+f1Q=";
@@ -125,8 +125,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Radicle desktop app";
homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4D5UCArafTzTQpDZNQRuqswh3ury";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4D5UCArafTzTQpDZNQRuqswh3ury/tree/CHANGELOG.md";
homepage = "https://radicle.network/nodes/seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury/tree/CHANGELOG.md";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
teams = [ lib.teams.radicle ];
+1 -1
View File
@@ -108,7 +108,7 @@ lib.fix (
server.
'';
homepage = "https://radicle.xyz";
homepage = "https://radicle.dev";
license = lib.licenses.gpl3;
teams = [ lib.teams.radicle ];
+3 -3
View File
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
# You must update the radicle-explorer source hash when changing this.
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5";
tag = "releases/${finalAttrs.version}";
sparseCheckout = [ "radicle-httpd" ];
@@ -77,8 +77,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
A Radicle HTTP daemon exposing a JSON HTTP API that allows someone to browse local
repositories on a Radicle node via their web browser.
'';
homepage = "https://radicle.xyz";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/tree/radicle-httpd/CHANGELOG.md";
homepage = "https://radicle.dev";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/tree/radicle-httpd/CHANGELOG.md";
# cargo.toml says MIT and asl20, LICENSE file says GPL3
license = with lib.licenses; [
gpl3Only
+3 -3
View File
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "0.5.2";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z2UcCU1LgMshWvXj6hXSDDrwB8q8M";
tag = "releases/v${finalAttrs.version}";
hash = "sha256-kFlSig0eiUdw6GHwacNHtuGkuW14CkHkc3okN2ZeTns=";
@@ -32,8 +32,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Create, update, and query Radicle Job Collaborative Objects";
homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M/tree/CHANGELOG.md";
homepage = "https://radicle.network/nodes/seed.radicle.dev/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M/tree/CHANGELOG.md";
license = with lib.licenses; [
mit
asl20
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "0.14.0";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z3qg5TKmN83afz2fj9z3fQjU8vaYE";
node = "z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV";
tag = "v${finalAttrs.version}";
@@ -40,8 +40,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Radicle CI adapter for native CI";
homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE/tree/NEWS.md";
homepage = "https://radicle.network/nodes/seed.radicle.dev/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE/tree/NEWS.md";
license = with lib.licenses; [
mit
asl20
+3 -3
View File
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "radicle-node";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z3gqcJUoA1n9HaHKufZs5FCSGazv5";
tag = "releases/${finalAttrs.version}";
hash = srcHash;
@@ -164,8 +164,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
Unlike centralized code hosting platforms, there is no single entity controlling the network.
Repositories are replicated across peers in a decentralized manner, and users are in full control of their data and workflow.
'';
homepage = "https://radicle.xyz";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/CHANGELOG.md";
homepage = "https://radicle.dev";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/CHANGELOG.md";
license = with lib.licenses; [
asl20
mit
+3 -3
View File
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "0.7.0";
src = fetchFromRadicle {
seed = "seed.radicle.xyz";
seed = "seed.radicle.dev";
repo = "z39mP9rQAaGmERfUMPULfPUi473tY";
tag = "releases/${finalAttrs.version}";
hash = "sha256-2/pLlhilJyrZl9eLFWIh4YxlJwBbzjmb1Cg1xFSSl5k=";
@@ -66,8 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Radicle terminal user interface";
homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z39mP9rQAaGmERfUMPULfPUi473tY";
changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z39mP9rQAaGmERfUMPULfPUi473tY/tree/CHANGELOG.md";
homepage = "https://radicle.network/nodes/seed.radicle.dev/rad:z39mP9rQAaGmERfUMPULfPUi473tY";
changelog = "https://radicle.network/nodes/seed.radicle.dev/rad:z39mP9rQAaGmERfUMPULfPUi473tY/tree/CHANGELOG.md";
license = with lib.licenses; [
asl20 # or
mit
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "rain";
version = "1.24.3";
version = "1.24.4";
src = fetchFromGitHub {
owner = "aws-cloudformation";
repo = "rain";
rev = "v${finalAttrs.version}";
sha256 = "sha256-bLFElIc4bptxnKfboBU9r1jf1K9EV8f4iPQ7+7gEj4U=";
sha256 = "sha256-akckpNDlv9TuDVkFLEhsx61GYNMrjBE2cM/mXmVtrCA=";
};
vendorHash = "sha256-uFDgNoQxEQHENWj+zks0KNjb4inBx3KunJOqe78pGR8=";
vendorHash = "sha256-bREmqt9QDuPqhfTIIY1FBfOcNqGS8JXjlMqM99tBI9g=";
subPackages = [ "cmd/rain" ];
+1 -1
View File
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Minimalistic local-first Unix-philosophy-abiding CI";
homepage = "https://app.radicle.xyz/nodes/radicle.dpc.pw/rad%3Az2tDzYbAXxTQEKTGFVwiJPajkbeDU";
homepage = "https://radicle.network/nodes/radicle.dpc.pw/rad%3Az2tDzYbAXxTQEKTGFVwiJPajkbeDU";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
dvn0
+2 -2
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sherpa";
version = "3.0.3";
version = "3.0.4";
src = fetchFromGitLab {
owner = "sherpa-team";
repo = "sherpa";
tag = "v${finalAttrs.version}";
hash = "sha256-bh5C0BYbuAkbPrp27P0oD0yoxd53ViRtmpUKfN7kZ90=";
hash = "sha256-iXVP0XwgEpBWZ3vHq+7F9RGx6akShSizBIGkPIOw/r0=";
};
postPatch = lib.optionalString (stdenv.hostPlatform.libc == "glibc") ''
@@ -1,4 +1,5 @@
{
lib,
stdenv,
rustPlatform,
fetchNpmDeps,
@@ -60,6 +61,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "'prebuilds'" "'$out/lib'" \
--replace-fail "objcopy = shutil.which('%s-linux-gnu-objcopy' % cargo_target.split('-')[0]) or 'objcopy'" \
"objcopy = os.getenv('OBJCOPY', 'objcopy')"
''
+ lib.optionalString boringssl.passthru.isShared ''
substituteInPlace $cargoDepsCopy/*/boring-sys-*/build/main.rs \
--replace-fail "cargo:rustc-link-lib=static=crypto" "cargo:rustc-link-lib=dylib=crypto" \
--replace-fail "cargo:rustc-link-lib=static=ssl" "cargo:rustc-link-lib=dylib=ssl"
'';
buildPhase = ''
-4
View File
@@ -1,7 +1,6 @@
{
buildNpmPackage,
fetchFromGitHub,
nodejs_22,
lib,
}:
buildNpmPackage (finalAttrs: {
@@ -18,9 +17,6 @@ buildNpmPackage (finalAttrs: {
dontNpmBuild = true;
# https://github.com/NixOS/nixpkgs/issues/474535
nodejs = nodejs_22;
# These dirs are not installed automatically.
# And if they were not in place, the app would try to create them at runtime, which is of course impossible to achieve.
postInstall = ''
+10 -1
View File
@@ -28,7 +28,16 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
libpng
libhwy
(libhwy.overrideAttrs rec {
version = "0.15.0";
src = fetchFromGitHub {
owner = "google";
repo = "highway";
rev = version;
hash = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo=";
};
patches = [ ];
})
lcms2
giflib
];
+2 -2
View File
@@ -12,7 +12,7 @@
buildGoModule (finalAttrs: {
pname = "stripe-cli";
version = "1.37.1";
version = "1.37.2";
# required for tests
__darwinAllowLocalNetworking = true;
@@ -21,7 +21,7 @@ buildGoModule (finalAttrs: {
owner = "stripe";
repo = "stripe-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-ItaJ+REOgOeJdeqJ3amZqNK38TssILOOp3ddxiEHS9c=";
hash = "sha256-Hsp90qmwy8D6SpDrgElB0Om6lumtkFjp2e///GEwkuE=";
};
vendorHash = "sha256-EDdRgApJ7gv/4ma/IfaHi+jjpTPegsUfqHbvoFMn048=";
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "topgrade";
version = "17.3.0";
version = "17.4.0";
src = fetchFromGitHub {
owner = "topgrade-rs";
repo = "topgrade";
tag = "v${finalAttrs.version}";
hash = "sha256-iMIXmGim/wolgUspVwnIy3hqv3RsxB3zL2t83SOe6uw=";
hash = "sha256-3nCt3Kmnd+ogzIkvb9pSwm99hBj/Ab0AMvg+6lUx7mc=";
};
cargoHash = "sha256-sgLbYuLNiAGMIBGrciKxYvvNepGIb0/z9/rRSJkYUdU=";
cargoHash = "sha256-VkAzAi3Ok2GZlpF4AVMzuYYU86WQeB9k/KaI1YvSgWw=";
nativeBuildInputs = [
installShellFiles
@@ -15,11 +15,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "upnp-router-control";
version = "0.3.5";
version = "0.3.6";
src = fetchzip {
url = "https://launchpad.net/upnp-router-control/trunk/${finalAttrs.version}/+download/upnp-router-control-${finalAttrs.version}.tar.xz";
hash = "sha256-+yJzULNdzBkUw2EbHXoAbR9B/P0d6n8T7ojlYIrKgto=";
hash = "sha256-2vm6Rnn+V3V54W2xYDlMh7iFKNWfxxnDexlZdwS+8RA=";
};
nativeBuildInputs = [
+7 -5
View File
@@ -1,6 +1,5 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
glfw3,
@@ -22,7 +21,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-LcL43Wq+5d7HPsm2bEK0vZsjP/dixtNhMKywXMi4ODw=";
};
cargoHash = "sha256-xll/A0synEsXy9kPThA3bR8LRuAOQH0T6CAfIEoYJ0w=";
cargoPatches = [
# fix compilation on aarch64
# remove when https://github.com/coffeeispower/woomer/pull/30 is merged
./unbreak-aarch64-linux.patch
];
cargoHash = "sha256-mSyTQU/PtibkepFrYh6nrRtnsd1jONaPXt9Y5SiE3/U=";
strictDeps = true;
@@ -70,8 +75,5 @@ rustPlatform.buildRustPackage (finalAttrs: {
# https://github.com/waycrate/wayshot/blob/cb6bd68dbbe6ab70a5d8fe3bd04cc154f0631cd8/libwayshot/src/screencopy.rs#L11
# https://github.com/nix-rust/nix/blob/0e4353a368abfcedea4ebe4345cf7604bb61d238/src/sys/mod.rs#L40-L44
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
# TODO: Remove after upstream is no longer affected by
# https://github.com/raylib-rs/raylib-rs/issues/74
broken = stdenv.hostPlatform.isAarch64;
};
})
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -35,7 +35,7 @@
buildPythonPackage rec {
pname = "xonsh";
version = "0.23.0";
version = "0.23.1";
pyproject = true;
# PyPI package ships incomplete tests
@@ -43,7 +43,7 @@ buildPythonPackage rec {
owner = "xonsh";
repo = "xonsh";
tag = version;
hash = "sha256-hZMA1GMyzo2297iTrgOdRuqjqR55KughPsaL0EZWLWM=";
hash = "sha256-/vxEJPPgDdrtSHSWhJY1HjtQv7B+4gNzPQmu/tbhX0k=";
};
build-system = [
@@ -1,4 +1,4 @@
From f9dfacc4b92faa7b60ae37489aa58520b4da95d7 Mon Sep 17 00:00:00 2001
From cb4a928db740de48d84d47c21705786bb141af02 Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Sun, 5 Oct 2025 14:34:43 +0200
Subject: [PATCH] app/CMakeLists.txt: Drop explicit dependency on rlottie
@@ -11,7 +11,7 @@ Subject: [PATCH] app/CMakeLists.txt: Drop explicit dependency on rlottie
1 file changed, 1 deletion(-)
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index c1f0b85..7a59db5 100644
index c1f0b852..7a59db59 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -1,7 +1,6 @@
@@ -23,5 +23,5 @@ index c1f0b85..7a59db5 100644
#"qtdclient.cpp" "qtdthread.cpp" "qml.qrc"
--
2.51.0
2.51.2
@@ -49,13 +49,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "teleports";
version = "1.21";
version = "1.22";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/teleports";
rev = "v${finalAttrs.version}";
hash = "sha256-V9yOQbVXtZGxdiieggPwHd17ilRZ0xMEI2yphgjx188=";
hash = "sha256-y0oXlhu2cvOGYZCEHfL6DcyStCQcIz7JtIpR4Tygm/4=";
};
patches = [
@@ -66,19 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-zxxFvoj6jluGPCA9GQsxuYYweaSOVrkD01hZwCtq52U=";
})
# Fix CMake 4 compatibility
# Remove when version > 1.21
(fetchpatch {
name = "0002-teleports-CMakeLists.txt-Support-building-with-CMake-4.patch";
url = "https://gitlab.com/ubports/development/apps/teleports/-/commit/ffb4e745889a473a208a86a29b7e439129930b01.patch";
hash = "sha256-EdcCHH/0Zq8wcF6UPyvy16wntDeSqTV9LWQat91LNRo=";
})
(fetchpatch {
name = "0003-teleports-libs-qtdlib-CMakeLists.txt-Support-building-with-CMake-4.patch";
url = "https://gitlab.com/ubports/development/apps/teleports/-/commit/fe7f0cb304ddaefae9f97917d3edc89de5f21b1f.patch";
hash = "sha256-yIc/l6iHb5qWI0QZOx8Hhd0lgEYyPozL+AjrmF2L89k=";
})
# Remove when https://gitlab.com/ubports/development/apps/teleports/-/merge_requests/586 merged & in release
./1001-app-CMakeLists.txt-Drop-explicit-dependency-on-rlottie.patch
];
@@ -130,6 +130,7 @@ let
passthru = rec {
inherit release version;
isTcl9 = lib.versions.major version == "9";
libPrefix = "tcl${release}";
libdir = "lib/${libPrefix}";
tclPackageHook = callPackage (
@@ -1,6 +1,5 @@
{
lib,
fetchurl,
buildPythonPackage,
fetchPypi,
hatchling,
@@ -23,21 +22,14 @@
pytestCheckHook,
}:
let
# see https://github.com/jupyter/nbconvert/issues/1896
style-css = fetchurl {
url = "https://cdn.jupyter.org/notebook/5.4.0/style/style.min.css";
hash = "sha256-WGWmCfRDewRkvBIc1We2GQdOVAoFFaO4LyIvdk61HgE=";
};
in
buildPythonPackage rec {
pname = "nbconvert";
version = "7.16.6";
version = "7.17.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-V2p+N8ZIDae4Rl7vpmwXhEJDgWzhzMNyYzxrccPA9YI=";
hash = "sha256-NNDQp+c848urbFquj09Gh5coCwH9i9LKdG2oVp7d19I=";
};
# Add $out/share/jupyter to the list of paths that are used to search for
@@ -46,9 +38,6 @@ buildPythonPackage rec {
postPatch = ''
substituteAllInPlace ./nbconvert/exporters/templateexporter.py
mkdir -p share/templates/classic/static
cp ${style-css} share/templates/classic/static/style.css
'';
build-system = [ hatchling ];
@@ -1,13 +1,13 @@
{ lib, fetchFromGitHub }:
rec {
version = "3.12.0";
version = "3.12.2";
pyproject = true;
src = fetchFromGitHub {
owner = "openrazer";
repo = "openrazer";
tag = "v${version}";
hash = "sha256-Sgn+7DABsTnRTx/lh/++JPmfsQ7dM6frkyzG0F5k2gA=";
hash = "sha256-iXMN/wFe0IWr9kwGmuU+j/n2DHvxP37VqY/NVn8F690=";
};
meta = {
@@ -3,29 +3,23 @@
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
fetchpatch,
setuptools,
}:
buildPythonPackage {
pname = "pyschemes";
version = "unstable-2017-11-08";
format = "setuptools";
version = "0-unstable-2022-09-12";
pyproject = true;
src = fetchFromGitHub {
owner = "spy16";
repo = "pyschemes";
rev = "ca6483d13159ba65ba6fc2f77b90421c40f2bbf2";
hash = "sha256-PssucudvlE8mztwVme70+h+2hRW/ri9oV9IZayiZhdU=";
rev = "c8afdbc045c1ff2bd7cc5a963e7084fc096f5257";
hash = "sha256-jv6dlZlLuJlTqw2V21BUEhCIc/UGvyjbhggw82eGMz0=";
};
patches = [
# Fix python 3.10 compatibility. Tracked upstream in
# https://github.com/spy16/pyschemes/pull/6
(fetchpatch {
url = "https://github.com/spy16/pyschemes/commit/23011128c6c22838d4fca9e00fd322a20bb566c4.patch";
hash = "sha256-vDaWxMrn2aC2wmd035EWRZ3cd/XME81z/BWG0f2T9jc=";
})
];
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "pyschemes" ];
@@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "tftpy";
version = "0.8.6";
version = "0.8.7";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-9hb2pDo21IHCZlc2CFl7ndPHxjgYQV1yqgTx0XlUgOo=";
hash = "sha256-6KWqCS2rLhy7m5Q5IDaCe4CNw362zxsaszyBlXs/X+I=";
};
nativeBuildInputs = [ setuptools ];
@@ -81,5 +81,6 @@ tcl.mkTclDerivation rec {
platforms = lib.platforms.unix;
mainProgram = "expect";
maintainers = with lib.maintainers; [ SuperSandro2000 ];
broken = tcl.isTcl9;
};
}
@@ -46,5 +46,6 @@ mkTclDerivation rec {
license = lib.licenses.tcltk;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ thoughtpolice ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchzip,
autoreconfHook,
tcl,
}:
mkTclDerivation {
@@ -24,5 +25,6 @@ mkTclDerivation {
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
platforms = lib.platforms.all;
broken = tcl.isTcl9;
};
}
@@ -4,40 +4,30 @@
fetchFromGitHub,
autoreconfHook,
tcl,
pandoc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rl_json";
version = "0.15.7";
version = "0.16";
src = fetchFromGitHub {
owner = "RubyLane";
repo = "rl_json";
tag = finalAttrs.version;
hash = "sha256-6Y6bq/Lm6KCFFV3RF6v4fVPEN1LO+jE2xZV50a8zyng=";
hash = "sha256-rXr7x9Cr+gD938+NEPguvYVWH5s9bKccMobuZsb0IQY=";
fetchSubmodules = true;
};
# The vendored libtommath conflicts with tclTomMath.
# Replacing it with tclTomMath fixes the issue.
# https://github.com/RubyLane/rl_json/issues/57
# The switch to a vendored libtommath was done in 0.15.4 in commit
# https://github.com/RubyLane/rl_json/commit/9294d533f4d81288acf53045666b1587cf7fbf92
# "for proper bignum handling", but the commit message doesn't explain what's wrong
# with tclTomMath's bignum handling and all tests pass anyway.
postPatch = ''
rm -r deps/libtommath
substituteInPlace Makefile.in \
--replace-fail 'deps: local/lib/libtommath.a' 'deps:'
substituteInPlace configure.ac \
--replace-fail -ltommath ""
substituteInPlace generic/rl_jsonInt.h \
--replace-fail '#include <tommath.h>' '#include <tclTomMath.h>'
mkdir doc/.build
cp doc/json.md.in doc/.build/json.md.in
'';
nativeBuildInputs = [
autoreconfHook
tcl.tclPackageHook
pandoc
];
configureFlags = [
@@ -47,8 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
"--datarootdir=${placeholder "out"}/share"
];
env.NIX_CFLAGS_COMPILE = "-Wno-error";
doCheck = true;
meta = {
@@ -3,6 +3,7 @@
fetchFromGitHub,
mkTclDerivation,
tclx,
tcl,
}:
mkTclDerivation {
@@ -31,5 +32,6 @@ mkTclDerivation {
license = lib.licenses.bsd2;
platforms = tclx.meta.platforms;
maintainers = with lib.maintainers; [ nat-418 ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchFromGitHub,
curl,
tcl,
}:
mkTclDerivation rec {
@@ -29,5 +30,6 @@ mkTclDerivation rec {
changelog = "https://github.com/flightaware/tclcurl-fa/blob/master/ChangeLog.txt";
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
mkTclDerivation,
fetchzip,
graphicsmagick,
tcl,
tk,
}:
@@ -34,5 +35,6 @@ mkTclDerivation rec {
homepage = "http://www.graphicsmagick.org/TclMagick/doc/";
license = lib.licenses.tcltk;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -3,6 +3,7 @@
fetchurl,
mkTclDerivation,
openssl,
tcl,
}:
mkTclDerivation rec {
@@ -28,5 +29,6 @@ mkTclDerivation rec {
maintainers = [ lib.maintainers.agbrooks ];
license = lib.licenses.tcltk;
platforms = lib.platforms.unix;
broken = tcl.isTcl9;
};
}
@@ -2,6 +2,7 @@
lib,
mkTclDerivation,
fetchfossil,
tcl,
}:
mkTclDerivation rec {
@@ -35,5 +36,6 @@ mkTclDerivation rec {
homepage = "https://core.tcl-lang.org/tcludp";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fgaz ];
broken = tcl.isTcl9;
};
}
@@ -60,5 +60,6 @@ tcl.mkTclDerivation {
bsd2 # tix
gpl2 # patches from portage
];
broken = tcl.isTcl9;
};
}
@@ -1,20 +1,20 @@
{
lib,
fetchsvn,
fetchzip,
tcl,
tcllib,
tk,
libx11,
zlib,
}:
tcl.mkTclDerivation rec {
pname = "tkimg";
version = "623";
version = "2.1.1";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/tkimg/code/trunk";
rev = version;
sha256 = "sha256-6GlkqYxXmMGjiJTZS2fQNVSimcKc1BZ/lvzvtkhty+o=";
src = fetchzip {
url = "mirror://sourceforge/tkimg/tkimg/Img-${version}.tar.gz";
hash = "sha256-TRtE2/BVrYgkdKtbF06UjLvokokgLGQ/EKDLxhz2Ckw=";
};
configureFlags = [
@@ -26,6 +26,7 @@ tcl.mkTclDerivation rec {
buildInputs = [
libx11
tcllib
zlib
];
meta = {
@@ -2,6 +2,7 @@
lib,
mkTclDerivation,
fetchFromGitHub,
tcl,
}:
mkTclDerivation rec {
@@ -22,5 +23,6 @@ mkTclDerivation rec {
description = "Numeric array and linear algebra extension for Tcl";
maintainers = with lib.maintainers; [ fgaz ];
license = lib.licenses.tcltk;
broken = tcl.isTcl9;
};
}
+15 -2
View File
@@ -5234,8 +5234,21 @@ with pkgs;
tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { };
tcl-9_0 = callPackage ../development/interpreters/tcl/9.0.nix { };
# We don't need versioned package sets thanks to the tcl stubs mechanism
tclPackages = recurseIntoAttrs (callPackage ./tcl-packages.nix { });
tclPackages = dontRecurseIntoAttrs tcl8Packages;
# We don't need minor-versioned package sets thanks to the tcl stubs mechanism.
# Major versions have bigger incompatibilities and need package sets.
tcl8Packages = recurseIntoAttrs (
callPackage ./tcl-packages.nix {
tcl = tcl-8_6;
tk = tk-8_6;
}
);
tcl9Packages = recurseIntoAttrs (
callPackage ./tcl-packages.nix {
tcl = tcl-9_0;
tk = tk-9_0;
}
);
tclreadline = tclPackages.tclreadline;