Merge master into staging-next

Changed files
+2083 -727
ci
doc
release-notes
maintainers
nixos
doc
manual
release-notes
modules
services
backup
desktop-managers
hardware
pkgs
applications
build-support
by-name
ag
age-plugin-fido2-hmac
at
attic-client
bi
ca
cargo-binstall
catppuccin-kvantum
do
dt
ek
eksctl
fa
factorio
ge
gemini-cli-bin
gi
git-quick-stats
gn
gnucobol
hu
ir
irqbalance
jo
joplin-desktop
la
lagrange
lazysql
li
libatomic_ops
ma
matomo
ox
oxidized
pi
pixelfed
q
rn
rnote
sn
snagboot
sq
squid
st
steel
th
the-foundation
tm
tmuxinator
tr
tradingview
uv
uv-sort
vu
vunnel
zl
development
compilers
interpreters
python-modules
aws-adfs
boto3-stubs
botocore-stubs
dbt-adapters
dtschema
groq
gstools-cython
ha-philipsjs
llama-cloud-services
llama-index-vector-stores-postgres
meshcore
mypy-boto3
notobuilder
pydash
pykrige
pyspnego
streamlit
trino-python-client
twilio
warp-lang
yalexs-ble
tools
misc
servers
top-level
+2 -1
ci/OWNERS
···
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
-
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
+
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
+
/nixos/modules/services/backup/libvirtd-autosnapshot.nix @6543
# ACME
/nixos/modules/security/acme @NixOS/acme
+7 -3
doc/release-notes/rl-2511.section.md
···
- GCC 9, 10, 11, and 12 have been removed, as they have reached end‐of‐life upstream and are no longer supported.
-
- GHC 8.6.5 and its package set have been removed. It was only used to bootstrap GHC for powerpc64le, but this was probably broken anyway.
+
- GHC 8.6 and its package set have been removed. It was only used to bootstrap GHC for powerpc64le, but this was probably broken anyway.
+
+
- GHCJS 8.10, exposed via `haskell.compiler.ghcjs` and `haskell.compiler.ghcjs810`, has been removed. Downstream users should migrate their projects to the new JavaScript backend of GHC proper which can be used via `pkgsCross.ghcjs` from Nixpkgs. Haskell packaging code, like `haskellPackages.mkDerivation`, `ghcWithPackages` and `hoogleWithPackages`, also no longer supports GHCJS.
+
+
- GHC 9.0 and its package set have been removed.
- `base16-builder` node package has been removed due to lack of upstream maintenance.
···
- `cudaPackages.cudatoolkit-legacy-runfile` has been removed.
- `conduwuit` was removed due to upstream ceasing development and deleting their repository. For existing data, a migration to `matrix-conduit`, `matrix-continuwuity` or `matrix-tuwunel` may be possible.
-
-
- The GHCJS 8.10.7, exposed via `haskell.compiler.ghcjs` and `haskell.compiler.ghcjs810`, has been removed. Downstream users should migrate their projects to the new JavaScript backend of GHC proper which can be used via `pkgsCross.ghcjs` from Nixpkgs. Haskell packaging code, like `haskellPackages.mkDerivation`, `ghcWithPackages` and `hoogleWithPackages`, also no longer supports GHCJS.
- The `ghcInfo` and `controlPhases` functions have been removed from `haskell.lib.compose` and `haskell.lib`. They were unused and would return incorrect results.
···
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Added `rewriteURL` attribute to the nixpkgs `config`, to allow for rewriting the URLs downloaded by `fetchurl`.
+
+
- The `dockerTools.streamLayeredImage` builder now uses a better algorithm for generating layered docker images, such that much more sharing is possible when the number of store paths exceeds the layer limit. It gives each of the largest store paths its own layer and adds dependencies to those layers when they aren't used elsewhere.
- The systemd initrd will now respect `x-systemd.wants` and `x-systemd.requires` for reliably unlocking multi-disk bcachefs volumes.
+6
maintainers/maintainer-list.nix
···
githubId = 40217331;
name = "LizeLive";
+
ljxfstorm = {
+
name = "Likai Liu";
+
email = "ljxf.storm@live.cn";
+
github = "ljxfstorm";
+
githubId = 7077478;
+
};
llakala = {
email = "elevenaka11@gmail.com";
github = "llakala";
+2
nixos/doc/manual/release-notes/rl-2511.section.md
···
developers to build scalable applications without sacrificing productivity or
reliability. Available as [services.temporal](#opt-services.temporal.enable).
+
- `services.libvirtd.autoSnapshot`, a backup service for libvirt managed vms.
+
## Backward Incompatibilities {#sec-release-25.11-incompatibilities}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+1
nixos/modules/module-list.nix
···
./services/backup/btrbk.nix
./services/backup/duplicati.nix
./services/backup/duplicity.nix
+
./services/backup/libvirtd-autosnapshot.nix
./services/backup/mysql-backup.nix
./services/backup/pgbackrest.nix
./services/backup/postgresql-backup.nix
+260
nixos/modules/services/backup/libvirtd-autosnapshot.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
+
let
+
cfg = config.services.libvirtd.autoSnapshot;
+
+
# Function to get VM config with defaults
+
getVMConfig =
+
vm:
+
if lib.isString vm then
+
{
+
name = vm;
+
inherit (cfg) snapshotType keep;
+
}
+
else
+
{
+
inherit (vm) name;
+
snapshotType = if vm.snapshotType != null then vm.snapshotType else cfg.snapshotType;
+
keep = if vm.keep != null then vm.keep else cfg.keep;
+
};
+
+
# Main backup script combining all VM scripts
+
backupScript = ''
+
set -eo pipefail
+
+
# Initialize failure tracking
+
failed=""
+
+
# Define the VM snapshot function
+
function snap_vm() {
+
local vmName="$1"
+
local snapshotType="$2"
+
local keep="$3"
+
+
# Add validation for VM name
+
if ! echo "$vmName" | ${pkgs.gnugrep}/bin/grep -qE '^[a-zA-Z0-9_.-]+$'; then
+
echo "Invalid VM name: '$vmName'"
+
failed="$failed $vmName"
+
return
+
fi
+
+
echo "Processing VM: $vmName"
+
+
# Check if VM exists
+
if ! ${pkgs.libvirt}/bin/virsh dominfo "$vmName" >/dev/null 2>&1; then
+
echo "VM '$vmName' does not exist, skipping"
+
return
+
fi
+
+
# Create new snapshot
+
local snapshot_name
+
snapshot_name="${cfg.prefix}_$(date +%Y-%m-%d_%H%M%S)"
+
local snapshot_opts=""
+
[[ "$snapshotType" == "external" ]] && snapshot_opts="--disk-only"
+
if ! ${pkgs.libvirt}/bin/virsh snapshot-create-as \
+
"$vmName" \
+
"$snapshot_name" \
+
"Automatic backup snapshot" \
+
$snapshot_opts \
+
--atomic; then
+
echo "Failed to create snapshot for $vmName"
+
failed="$failed $vmName"
+
return
+
fi
+
+
# List all automatic snapshots for this VM
+
readarray -t SNAPSHOTS < <(${pkgs.libvirt}/bin/virsh snapshot-list "$vmName" --name | ${pkgs.gnugrep}/bin/grep "^${cfg.prefix}_")
+
+
# Count snapshots
+
local snapshot_count=''${#SNAPSHOTS[@]}
+
+
# Delete old snapshots if we have more than the keep limit
+
if [[ $snapshot_count -gt $keep ]]; then
+
# Sort snapshots by date (they're named with date prefix)
+
readarray -t TO_DELETE < <(printf '%s\n' "''${SNAPSHOTS[@]}" | ${pkgs.coreutils}/bin/sort | ${pkgs.coreutils}/bin/head -n -$keep)
+
for snap in "''${TO_DELETE[@]}"; do
+
echo "Removing old snapshot $snap from $vmName"
+
+
# Check if snapshot is internal or external
+
local snapshot_location
+
snapshot_location=$(${pkgs.libvirt}/bin/virsh snapshot-info "$vmName" --snapshotname "$snap" | ${pkgs.gnugrep}/bin/grep "Location:" | ${pkgs.gawk}/bin/awk '{print $2}')
+
+
local delete_opts=""
+
[[ "$snapshot_location" == "internal" ]] && delete_opts="--metadata"
+
+
if ! ${pkgs.libvirt}/bin/virsh snapshot-delete "$vmName" "$snap" $delete_opts; then
+
echo "Failed to remove snapshot $snap from $vmName"
+
failed="$failed $vmName(cleanup)"
+
fi
+
done
+
fi
+
}
+
+
${
+
if cfg.vms == null then
+
''
+
# Process all VMs
+
${pkgs.libvirt}/bin/virsh list --all --name | while read -r vm; do
+
# Skip empty lines
+
[ -z "$vm" ] && continue
+
+
# Call snap_vm function with default settings
+
snap_vm "$vm" ${cfg.snapshotType} ${toString cfg.keep}
+
done
+
''
+
else
+
''
+
# Process specific VMs from the list
+
${lib.concatMapStrings (
+
vm: with getVMConfig vm; "snap_vm '${name}' ${snapshotType} ${toString keep}\n"
+
) cfg.vms}
+
''
+
}
+
+
# Report any failures
+
if [ -n "$failed" ]; then
+
echo "Snapshot operation failed for:$failed"
+
exit 1
+
fi
+
+
exit 0
+
'';
+
in
+
{
+
options = {
+
services.libvirtd.autoSnapshot = {
+
enable = lib.mkEnableOption "LibVirt VM snapshots";
+
+
calendar = lib.mkOption {
+
type = lib.types.str;
+
default = "04:15:00";
+
description = ''
+
When to create snapshots (systemd calendar format).
+
Default is 4:15 AM.
+
'';
+
};
+
+
prefix = lib.mkOption {
+
type = lib.types.str;
+
default = "autosnap";
+
description = ''
+
Prefix for automatic snapshot names.
+
This is used to identify and manage automatic snapshots
+
separately from manual ones.
+
'';
+
};
+
+
keep = lib.mkOption {
+
type = lib.types.int;
+
default = 2;
+
description = "Default number of snapshots to keep for VMs that don't specify a keep value.";
+
};
+
+
snapshotType = lib.mkOption {
+
type = lib.types.enum [
+
"internal"
+
"external"
+
];
+
default = "internal";
+
description = "Type of snapshot to create (internal or external).";
+
};
+
+
vms = lib.mkOption {
+
type = lib.types.nullOr (
+
lib.types.listOf (
+
lib.types.oneOf [
+
lib.types.str
+
(lib.types.submodule {
+
options = {
+
name = lib.mkOption {
+
type = lib.types.str;
+
description = "Name of the VM";
+
};
+
snapshotType = lib.mkOption {
+
type = lib.types.nullOr (
+
lib.types.enum [
+
"internal"
+
"external"
+
]
+
);
+
default = null;
+
description = ''
+
Type of snapshot to create (internal or external).
+
If not specified, uses global snapshotType (${toString cfg.snapshotType}).
+
'';
+
};
+
keep = lib.mkOption {
+
type = lib.types.nullOr lib.types.int;
+
default = null;
+
description = ''
+
Number of snapshots to keep for this VM.
+
If not specified, uses global keep (${toString cfg.keep}).
+
'';
+
};
+
};
+
})
+
]
+
)
+
);
+
default = null;
+
description = ''
+
If specified only the list of VMs will be snapshotted else all existing one. Each entry can be either:
+
- A string (VM name, uses default settings)
+
- An attribute set with VM configuration
+
'';
+
example = lib.literalExpression ''
+
[
+
"myvm1" # Uses defaults
+
{
+
name = "myvm2";
+
keep = 30; # Override retention
+
}
+
]
+
'';
+
};
+
};
+
};
+
+
config = lib.mkIf cfg.enable {
+
assertions = [
+
{
+
assertion = (cfg.vms == null) || (lib.isList cfg.vms && cfg.vms != [ ]);
+
message = "'services.libvirtd.autoSnapshot.vms' must either be null for all VMs or a non-empty list of VM configurations";
+
}
+
{
+
assertion = config.virtualisation.libvirtd.enable;
+
message = "virtualisation.libvirtd must be enabled to use services.libvirtd.autoSnapshot";
+
}
+
];
+
+
systemd = {
+
timers.libvirtd-autosnapshot = {
+
description = "LibVirt VM snapshot timer";
+
wantedBy = [ "timers.target" ];
+
timerConfig = {
+
OnCalendar = cfg.calendar;
+
AccuracySec = "5m";
+
Unit = "libvirtd-autosnapshot.service";
+
};
+
};
+
+
services.libvirtd-autosnapshot = {
+
description = "LibVirt VM snapshot service";
+
after = [ "libvirtd.service" ];
+
requires = [ "libvirtd.service" ];
+
serviceConfig = {
+
Type = "oneshot";
+
User = "root";
+
};
+
script = backupScript;
+
};
+
};
+
};
+
+
meta.maintainers = [ lib.maintainers._6543 ];
+
}
+2 -2
nixos/modules/services/desktop-managers/cosmic.nix
···
options = {
services.desktopManager.cosmic = {
-
enable = lib.mkEnableOption "Enable the COSMIC desktop environment";
+
enable = lib.mkEnableOption "COSMIC desktop environment";
-
showExcludedPkgsWarning = lib.mkEnableOption "Disable the warning for excluding core packages." // {
+
showExcludedPkgsWarning = lib.mkEnableOption "the warning for excluding core packages" // {
default = true;
};
+9 -3
nixos/modules/services/hardware/irqbalance.nix
···
in
{
-
options.services.irqbalance.enable = lib.mkEnableOption "irqbalance daemon";
+
options.services.irqbalance = {
+
+
enable = lib.mkEnableOption "irqbalance daemon";
+
+
package = lib.mkPackageOption pkgs "irqbalance" { };
+
+
};
config = lib.mkIf cfg.enable {
-
environment.systemPackages = [ pkgs.irqbalance ];
+
environment.systemPackages = [ cfg.package ];
systemd.services.irqbalance.wantedBy = [ "multi-user.target" ];
-
systemd.packages = [ pkgs.irqbalance ];
+
systemd.packages = [ cfg.package ];
};
+2 -2
pkgs/applications/graphics/xournalpp/default.nix
···
stdenv.mkDerivation rec {
pname = "xournalpp";
-
version = "1.2.7";
+
version = "1.2.8";
src = fetchFromGitHub {
owner = "xournalpp";
repo = "xournalpp";
rev = "v${version}";
-
hash = "sha256-Jum9DEbwTtiT0mlrBCBJ0XHhH+DnhXf/AnthZ+qKSZg=";
+
hash = "sha256-yQN90R2gxUunUimZqT2kncnCNtDaLD36ctf1bU2vmIw=";
};
postPatch = ''
+281
pkgs/applications/misc/pagefind/cargo-lock.patch
···
+
--- a/Cargo.lock
+
+++ b/Cargo.lock
+
@@ -8,7 +8,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"bytes",
+
"futures-core",
+
"futures-sink",
+
@@ -29,7 +29,7 @@
+
"actix-service",
+
"actix-utils",
+
"actix-web",
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"bytes",
+
"derive_more 2.0.1",
+
"futures-core",
+
@@ -53,7 +53,7 @@
+
"actix-service",
+
"actix-utils",
+
"base64 0.22.1",
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"brotli",
+
"bytes",
+
"bytestring",
+
@@ -335,15 +335,13 @@
+
+
[[package]]
+
name = "async-compression"
+
-version = "0.4.29"
+
+version = "0.4.30"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "5bee399cc3a623ec5a2db2c5b90ee0190a2260241fbe0c023ac8f7bab426aaf8"
+
+checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23"
+
dependencies = [
+
"compression-codecs",
+
"compression-core",
+
- "flate2",
+
"futures-core",
+
- "memchr",
+
"pin-project-lite",
+
"tokio",
+
]
+
@@ -430,9 +428,9 @@
+
+
[[package]]
+
name = "bitflags"
+
-version = "2.9.3"
+
+version = "2.9.4"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d"
+
+checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
+
+
[[package]]
+
name = "block-buffer"
+
@@ -513,10 +511,11 @@
+
+
[[package]]
+
name = "cc"
+
-version = "1.2.34"
+
+version = "1.2.35"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc"
+
+checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3"
+
dependencies = [
+
+ "find-msvc-tools",
+
"jobserver",
+
"libc",
+
"shlex",
+
@@ -566,9 +565,9 @@
+
+
[[package]]
+
name = "clap"
+
-version = "4.5.46"
+
+version = "4.5.47"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57"
+
+checksum = "7eac00902d9d136acd712710d71823fb8ac8004ca445a89e73a41d45aa712931"
+
dependencies = [
+
"clap_builder",
+
"clap_derive",
+
@@ -576,9 +575,9 @@
+
+
[[package]]
+
name = "clap_builder"
+
-version = "4.5.46"
+
+version = "4.5.47"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41"
+
+checksum = "2ad9bbf750e73b5884fb8a211a9424a1906c1e156724260fdae972f31d70e1d6"
+
dependencies = [
+
"anstream",
+
"anstyle",
+
@@ -588,9 +587,9 @@
+
+
[[package]]
+
name = "clap_derive"
+
-version = "4.5.45"
+
+version = "4.5.47"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6"
+
+checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
+
dependencies = [
+
"heck 0.5.0",
+
"proc-macro2",
+
@@ -612,15 +611,13 @@
+
+
[[package]]
+
name = "compression-codecs"
+
-version = "0.4.29"
+
+version = "0.4.30"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "c7eea68f0e02c2b0aa8856e9a9478444206d4b6828728e7b0697c0f8cca265cb"
+
+checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64"
+
dependencies = [
+
"compression-core",
+
"flate2",
+
- "futures-core",
+
"memchr",
+
- "pin-project-lite",
+
]
+
+
[[package]]
+
@@ -828,9 +825,9 @@
+
+
[[package]]
+
name = "deranged"
+
-version = "0.4.0"
+
+version = "0.5.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+
+checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc"
+
dependencies = [
+
"powerfmt",
+
]
+
@@ -1077,6 +1074,12 @@
+
]
+
+
[[package]]
+
+name = "find-msvc-tools"
+
+version = "0.1.0"
+
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650"
+
+
+
+[[package]]
+
name = "flate2"
+
version = "1.1.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
@@ -1675,7 +1678,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"cfg-if",
+
"libc",
+
]
+
@@ -1813,9 +1816,9 @@
+
+
[[package]]
+
name = "lexical-core"
+
-version = "1.0.0"
+
+version = "1.0.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "c26c7da389462e0173a0e9580b3cf7b6a10074e93df78b2768d3ee9fa6d54fc4"
+
+checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958"
+
dependencies = [
+
"lexical-parse-float",
+
"lexical-parse-integer",
+
@@ -1911,7 +1914,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"libc",
+
"redox_syscall",
+
]
+
@@ -2096,7 +2099,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "1610d7994d67a05bb35861cd733b069b1171de8693bc8452849c59361a1bb87b"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"cfg-if",
+
"cssparser",
+
"encoding_rs",
+
@@ -2152,22 +2155,22 @@
+
+
[[package]]
+
name = "minicbor"
+
-version = "0.19.1"
+
+version = "2.1.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "d7005aaf257a59ff4de471a9d5538ec868a21586534fff7f85dd97d4043a6139"
+
+checksum = "4f182275033b808ede9427884caa8e05fa7db930801759524ca7925bd8aa7a82"
+
dependencies = [
+
"minicbor-derive",
+
]
+
+
[[package]]
+
name = "minicbor-derive"
+
-version = "0.13.0"
+
+version = "0.18.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "1154809406efdb7982841adb6311b3d095b46f78342dd646736122fe6b19e267"
+
+checksum = "b17290c95158a760027059fe3f511970d6857e47ff5008f9e09bffe3d3e1c6af"
+
dependencies = [
+
"proc-macro2",
+
"quote",
+
- "syn 1.0.109",
+
+ "syn 2.0.106",
+
]
+
+
[[package]]
+
@@ -2728,7 +2731,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
]
+
+
[[package]]
+
@@ -2878,7 +2881,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"errno",
+
"libc",
+
"linux-raw-sys",
+
@@ -3291,12 +3294,11 @@
+
+
[[package]]
+
name = "time"
+
-version = "0.3.41"
+
+version = "0.3.43"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
+
+checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031"
+
dependencies = [
+
"deranged",
+
- "itoa 1.0.15",
+
"num-conv",
+
"powerfmt",
+
"serde",
+
@@ -3306,15 +3308,15 @@
+
+
[[package]]
+
name = "time-core"
+
-version = "0.1.4"
+
+version = "0.1.6"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+
+checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b"
+
+
[[package]]
+
name = "time-macros"
+
-version = "0.2.22"
+
+version = "0.2.24"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
+
+checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3"
+
dependencies = [
+
"num-conv",
+
"time-core",
+
@@ -3429,7 +3431,7 @@
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
+
dependencies = [
+
- "bitflags 2.9.3",
+
+ "bitflags 2.9.4",
+
"bytes",
+
"futures-util",
+
"http 1.3.1",
+115 -37
pkgs/applications/misc/pagefind/default.nix
···
# the lindera-unidic v0.32.2 crate uses [1] an outdated unidic-mecab fork [2] and builds it in pure rust
# [1] https://github.com/lindera/lindera/blob/v0.32.2/lindera-unidic/build.rs#L5-L11
# [2] https://github.com/lindera/unidic-mecab
-
lindera-unidic-src = fetchurl {
-
url = "https://dlwqk3ibdg1xh.cloudfront.net/unidic-mecab-2.1.2.tar.gz";
-
hash = "sha256-JKx1/k5E2XO1XmWEfDX6Suwtt6QaB7ScoSUUbbn8EYk=";
+
# To find these urls:
+
# rg -A5 download_urls $(nix-build . -A pagefind.cargoDeps --no-out-link)/lindera-*/build.rs
+
lindera-srcs = {
+
unidic-mecab = fetchurl {
+
passthru.vendorDir = "lindera-unidic-*";
+
url = "https://Lindera.dev/unidic-mecab-2.1.2.tar.gz";
+
hash = "sha256-JKx1/k5E2XO1XmWEfDX6Suwtt6QaB7ScoSUUbbn8EYk=";
+
};
+
mecab-ko-dic = fetchurl {
+
passthru.vendorDir = "lindera-ko-dic-*";
+
url = "https://Lindera.dev/mecab-ko-dic-2.1.1-20180720.tar.gz";
+
hash = "sha256-cCztIcYWfp2a68Z0q17lSvWNREOXXylA030FZ8AgWRo=";
+
};
+
ipadic = fetchurl {
+
passthru.vendorDir = "lindera-ipadic-0.*";
+
url = "https://Lindera.dev/mecab-ipadic-2.7.0-20070801.tar.gz";
+
hash = "sha256-CZ5G6A1V58DWkGeDr/cTdI4a6Q9Gxe+W7BU7vwm/VVA=";
+
};
+
cc-cedict = fetchurl {
+
passthru.vendorDir = "lindera-cc-cedict-*";
+
url = "https://lindera.dev/CC-CEDICT-MeCab-0.1.0-20200409.tar.gz";
+
hash = "sha256-7Tz54+yKgGR/DseD3Ana1DuMytLplPXqtv8TpB0JFsg=";
+
};
+
ipadic-neologd = fetchurl {
+
passthru.vendorDir = "lindera-ipadic-neologd-*";
+
url = "https://lindera.dev/mecab-ipadic-neologd-0.0.7-20200820.tar.gz";
+
hash = "sha256-1VwCwgSTKFixeQUFVCdqMzZKne/+FTgM56xT7etqjqI=";
+
};
};
in
-
rustPlatform.buildRustPackage rec {
+
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pagefind";
-
version = "1.3.0";
+
version = "1.4.0";
src = fetchFromGitHub {
-
owner = "cloudcannon";
+
owner = "Pagefind";
repo = "pagefind";
-
tag = "v${version}";
-
hash = "sha256-NIEiXwuy8zuUDxPsD4Hiq3x4cOG3VM+slfNIBSJU2Mk=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-+jArZueDqpJQKg3fKdJjeQQL+egyR6Zi6wqPMZoFgyk=";
};
-
cargoHash = "sha256-e1JSK8RnBPGcAmgxJZ7DaYhMMaUqO412S9YvaqXll3E=";
+
cargoPatches = [ ./cargo-lock.patch ];
+
cargoHash = "sha256-zbo8NkB9umpNDvkhKXpOdt8hJn+d+nrTXMaUghmIPrg=";
+
env.cargoDeps_web = rustPlatform.fetchCargoVendor {
+
name = "cargo-deps-web-${finalAttrs.version}";
+
inherit (finalAttrs) src;
+
sourceRoot = "${finalAttrs.src.name}/pagefind_web";
+
hash = "sha256-DaipINtwePA03YdbSzh6EjH4Q13P3CB9lwcmTOR54dM=";
+
};
env.npmDeps_web_js = fetchNpmDeps {
-
name = "npm-deps-web-js";
-
src = "${src}/pagefind_web_js";
-
hash = "sha256-1gdVBCxxLEGFihIxoSSgxw/tMyVgwe7HFG/JjEfYVnQ=";
+
name = "pagefind-npm-deps-web-js-${finalAttrs.version}";
+
inherit (finalAttrs) src;
+
sourceRoot = "${finalAttrs.src.name}/pagefind_web_js";
+
hash = "sha256-whpmjNKdiMxNfg7fRIWUPdyRWqsEphhqvQfiM65GYDs=";
};
env.npmDeps_ui_default = fetchNpmDeps {
-
name = "npm-deps-ui-default";
-
src = "${src}/pagefind_ui/default";
+
name = "pagefind-npm-deps-ui-default-${finalAttrs.version}";
+
inherit (finalAttrs) src;
+
sourceRoot = "${finalAttrs.src.name}/pagefind_ui/default";
hash = "sha256-voCs49JneWYE1W9U7aB6G13ypH6JqathVDeF58V57U8=";
};
env.npmDeps_ui_modular = fetchNpmDeps {
-
name = "npm-deps-ui-modular";
-
src = "${src}/pagefind_ui/modular";
-
hash = "sha256-O0RqZUsRFtByxMQdwNGNcN38Rh+sDqqNo9YlBcrnsF4=";
+
name = "pagefind-npm-deps-ui-modular-${finalAttrs.version}";
+
inherit (finalAttrs) src;
+
sourceRoot = "${finalAttrs.src.name}/pagefind_ui/modular";
+
hash = "sha256-4d85V2X1doq3G8okgYSXOMuQDoAXCgtAtegFEPr+Wno=";
};
-
env.cargoDeps_web = rustPlatform.fetchCargoVendor {
-
name = "cargo-deps-web";
-
src = "${src}/pagefind_web/";
-
hash = "sha256-xFVMWX3q3za1w8v58Eysk6vclPd4qpCuQMjMcwwHoh0=";
+
env.npmDeps_playground = fetchNpmDeps {
+
name = "pagefind-npm-deps-playground-${finalAttrs.version}";
+
inherit (finalAttrs) src;
+
sourceRoot = "${finalAttrs.src.name}/pagefind_playground";
+
hash = "sha256-npo8MV6AAuQ/mGC9iu3bR7pjGoI7NgxuIeh+H3oz7Y8=";
};
-
env.GIT_VERSION = version;
+
env.GIT_VERSION = finalAttrs.version;
postPatch = ''
# Set the correct version, e.g. for `pagefind --version`
node .backstage/version.cjs
+
# Tricky way to run the cargo setup a second time
+
(
+
cd pagefind_web
+
cargoDeps=$cargoDeps_web cargoSetupPostUnpackHook
+
cargoDeps=$cargoDeps_web cargoSetupPostPatchHook
+
)
+
# Tricky way to run npmConfigHook multiple times
(
local postPatchHooks=() # written to by npmConfigHook
···
npmRoot=pagefind_web_js npmDeps=$npmDeps_web_js npmConfigHook
npmRoot=pagefind_ui/default npmDeps=$npmDeps_ui_default npmConfigHook
npmRoot=pagefind_ui/modular npmDeps=$npmDeps_ui_modular npmConfigHook
-
)
-
(
-
cd pagefind_web
-
cargoDeps=$cargoDeps_web cargoSetupPostUnpackHook
-
cargoDeps=$cargoDeps_web cargoSetupPostPatchHook
+
npmRoot=pagefind_playground npmDeps=$npmDeps_playground npmConfigHook
)
-
# patch a build-time dependency download
+
# patch build-time dependency downloads
(
-
patch -d $cargoDepsCopy/lindera-assets-*/ -p1 < ${./lindera-assets-support-file-paths.patch}
+
# add support for file:// urls
+
patch -d $cargoDepsCopy/lindera-dictionary-*/ -p1 < ${./lindera-dictionary-support-file-paths.patch}
-
substituteInPlace $cargoDepsCopy/lindera-unidic-*/build.rs --replace-fail \
-
"${lindera-unidic-src.url}" \
-
"file://${lindera-unidic-src}"
+
# patch urls
+
${lib.pipe finalAttrs.passthru.lindera-srcs [
+
(lib.mapAttrsToList (
+
key: src: ''
+
# compgen is only in bashInteractive
+
declare -a expanded_glob=($cargoDepsCopy/${src.vendorDir}/build.rs)
+
if [[ "''${#expanded_glob[@]}" -eq 0 ]]; then
+
echo >&2 "ERROR: '$cargoDepsCopy/${src.vendorDir}/build.rs' not found! (pagefind.passthru.lindera-srcs.${key})"
+
false
+
elif [[ "''${#expanded_glob[@]}" -gt 1 ]]; then
+
echo >&2 "ERROR: '$cargoDepsCopy/${src.vendorDir}/build.rs' matches more than one file! (pagefind.passthru.lindera-srcs.${key})"
+
printf >&2 "match: %s\n" "''${expanded_glob[@]}"
+
false
+
fi
+
echo "patching $cargoDepsCopy/${src.vendorDir}/build.rs..."
+
substituteInPlace $cargoDepsCopy/${src.vendorDir}/build.rs --replace-fail "${src.url}" "file://${src}"
+
unset expanded_glob
+
''
+
))
+
lib.concatLines
+
]}
)
+
+
# nightly-only feature
+
substituteInPlace pagefind_web/local_build.sh \
+
--replace-fail ' -Z build-std=panic_abort,std' "" \
+
--replace-fail ' -Z build-std-features=panic_immediate_abort' ""
'';
__darwinAllowLocalNetworking = true;
···
preBuild = ''
export HOME=$(mktemp -d)
-
echo entering pagefind_web_js...
+
echo Entering ./pagefind_web_js
(
cd pagefind_web_js
npm run build-coupled
)
-
echo entering pagefind_web...
+
echo Entering ./pagefind_web
(
cd pagefind_web
bash ./local_build.sh
)
-
echo entering pagefind_ui/default...
+
echo Entering ./pagefind_ui/default
(
cd pagefind_ui/default
npm run build
)
-
echo entering pagefind_ui/modular...
+
echo Entering ./pagefind_ui/modular
(
cd pagefind_ui/modular
npm run build
)
+
+
echo Entering ./pagefind_playground
+
(
+
cd pagefind_playground
+
npm run build
+
)
'';
+
# always build extended
buildFeatures = [ "extended" ];
doInstallCheck = true;
···
versionCheckHook
];
+
passthru = {
+
inherit lindera-srcs;
+
tests.non-extended = finalAttrs.finalPackage.overrideAttrs {
+
buildFeatures = [ ];
+
};
+
};
+
meta = {
description = "Generate low-bandwidth search index for your static website";
homepage = "https://pagefind.app/";
+
changelog = "https://github.com/Pagefind/pagefind/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pbsds ];
platforms = lib.platforms.unix;
mainProgram = "pagefind";
};
-
}
+
})
-30
pkgs/applications/misc/pagefind/lindera-assets-support-file-paths.patch
···
-
diff --git a/src/lib.rs b/src/lib.rs
-
index 6f86cc4..a9ca418 100644
-
--- a/src/lib.rs
-
+++ b/src/lib.rs
-
@@ -128,12 +128,17 @@ pub fn fetch(params: FetchParams, builder: impl DictionaryBuilder) -> Result<(),
-
// copy(&source_path, &source_path_for_build)?;
-
let tmp_path = Path::new(&build_dir).join(params.file_name.to_owned() + ".download");
-
-
+ if let Some(path) = params.download_url.strip_prefix("file://") {
-
+ std::fs::copy(path, &tmp_path)?;
-
+ }
-
+ else {
-
// Download a tarball
-
let resp = ureq::get(params.download_url).call()?;
-
let mut dest = File::create(&tmp_path)?;
-
-
io::copy(&mut resp.into_reader(), &mut dest)?;
-
dest.flush()?;
-
+ }
-
-
rename(tmp_path, source_path_for_build).expect("Failed to rename temporary file");
-
-
@@ -153,7 +158,6 @@ pub fn fetch(params: FetchParams, builder: impl DictionaryBuilder) -> Result<(),
-
archive.unpack(&tmp_extract_path)?;
-
rename(tmp_extracted_path, &input_dir).expect("Failed to rename archive directory");
-
let _ = std::fs::remove_dir_all(&tmp_extract_path);
-
- drop(dest);
-
let _ = std::fs::remove_file(source_path_for_build);
-
}
-
+41
pkgs/applications/misc/pagefind/lindera-dictionary-support-file-paths.patch
···
+
diff --git a/src/assets.rs b/src/assets.rs
+
index 58afc4c..d5813e6 100644
+
--- a/src/assets.rs
+
+++ b/src/assets.rs
+
@@ -93,6 +93,28 @@ async fn download_with_retry(
+
+
for url in urls {
+
debug!("Attempting to download from {}", url);
+
+ if let Some(path) = url.strip_prefix("file://") {
+
+ let content = std::fs::read(path)?;
+
+
+
+ // Calculate MD5 hash
+
+ let mut context = Context::new();
+
+ context.consume(&content);
+
+ let actual_md5 = format!("{:x}", context.compute());
+
+ debug!("Expected MD5: {}", expected_md5);
+
+ debug!("Actual MD5: {}", actual_md5);
+
+
+
+ if actual_md5 == expected_md5 {
+
+ debug!("MD5 check passed from {}", url);
+
+ return Ok(content);
+
+ } else {
+
+ warn!(
+
+ "MD5 mismatch from {}! Expected {}, got {}",
+
+ url, expected_md5, actual_md5
+
+ );
+
+ // continue to next url
+
+ }
+
+ }
+
+ else {
+
match client.get(url).send().await {
+
Ok(resp) if resp.status().is_success() => {
+
debug!("HTTP download successful from {}", url);
+
@@ -127,6 +149,7 @@ async fn download_with_retry(
+
// continue to next url
+
}
+
}
+
+ }
+
}
+
+
sleep(Duration::from_secs(1)).await;
+2 -2
pkgs/applications/misc/syncthingtray/default.nix
···
}:
stdenv.mkDerivation (finalAttrs: {
-
version = "2.0.0";
+
version = "2.0.1";
pname = "syncthingtray";
src = fetchFromGitHub {
owner = "Martchus";
repo = "syncthingtray";
rev = "v${finalAttrs.version}";
-
hash = "sha256-OtAHejLNHumlZUPy3HRKF/lne3y2VXul1FlAMyrz6dc=";
+
hash = "sha256-57Mq6zdSqPIK88E/CQkfwQe+Rf4kFTZ2o2shtPBWgRE=";
};
buildInputs = [
+14 -14
pkgs/applications/networking/instant-messengers/discord/default.nix
···
versions =
if stdenv.hostPlatform.isLinux then
{
-
stable = "0.0.107";
-
ptb = "0.0.158";
-
canary = "0.0.748";
-
development = "0.0.84";
+
stable = "0.0.108";
+
ptb = "0.0.159";
+
canary = "0.0.751";
+
development = "0.0.85";
}
else
{
-
stable = "0.0.356";
-
ptb = "0.0.186";
-
canary = "0.0.844";
+
stable = "0.0.359";
+
ptb = "0.0.190";
+
canary = "0.0.857";
development = "0.0.97";
};
version = versions.${branch};
···
x86_64-linux = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-
hash = "sha256-uL923Fc8Io0GUnQjaAl7sRahL6CO/qzNzkqk/oKkZCo=";
+
hash = "sha256-hKFhylEovj89WxpTexkzR9C6tN47V9iDKQYpCjgojvw=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-
hash = "sha256-LPzdVaXQXmnlD274ESZ2/AceXcoazReA1HemuTcdj1o=";
+
hash = "sha256-Rw3ppCZTuNG+eAB02goLL9yT1ldZhrBD50Tirzuo1CQ=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-
hash = "sha256-kjq8liiC/Op+Ik+r9RSl/tPLDlWiUyIb3cOjAxWpkO0=";
+
hash = "sha256-cE1BiWwZGrSzvdKDSiAs+Dz/nnxhuVs4JQYMwwY/F5k=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
-
hash = "sha256-0SmCBi/fl77m5PzI5O38CpAoIzyQc+eRUKLyKVMQ6Dc=";
+
hash = "sha256-GW5LrPMr0uS5ko+FwKfU++4hhzqBQ6FDYBoM2fxDQcE=";
};
};
x86_64-darwin = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
-
hash = "sha256-oATRY8cpdpTZr7iMQ/SIvSbXDxhsCviQQFqytDG9u/c=";
+
hash = "sha256-bxKzOPiljJaY78aiX2BklfMHXgwKrLuWEQVmrNk3TdE=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-
hash = "sha256-f5qoDpwcp1qBDyD+0QPE7KU6pJLALZPO7auGoo3JJiA=";
+
hash = "sha256-2Y95SW9b6SeZdeTUmIedAQYJ/5WylL4soGAbUSdDyuQ=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-
hash = "sha256-i5ffkto9QoMorqsLQSUF9KnSHOK0tEFcPqkhSJ9cV+s=";
+
hash = "sha256-omk2vau5LKRhxgcG3k4dYqyc3YH7mZ72Nz4lQyaoO0c=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
+12 -10
pkgs/applications/office/libreoffice/default.nix
···
cairo,
which,
icu,
-
boost,
jdk21,
ant,
cups,
···
libcdr,
lcms2,
unixODBC,
-
mdds,
sane-backends,
mythes,
libexttextcat,
···
abseil-cpp,
libepubgen,
libetonyek,
-
liborcus,
libpng,
libxcrypt,
langs ? [
···
# Revert part of https://github.com/LibreOffice/core/commit/6f60670877208612b5ea320b3677480ef6508abb that broke zlib linking
./readd-explicit-zlib-link.patch
+
]
+
++ lib.optionals (lib.versionOlder version "25.8") [
# Backport patch to fix build with Poppler 25.05
-
# FIXME: conditionalize/remove as upstream updates
(fetchpatch2 {
url = "https://github.com/LibreOffice/core/commit/0ee2636304ac049f21415c67e92040f7d6c14d35.patch";
includes = [ "sdext/*" ];
···
coinmp
abseil-cpp
bluez5
-
boost
box2d_2
cairo
clucene_core_2
···
libmspack
libmwaw
libodfgen
-
liborcus
xorg.libpthreadstubs
librdf_redland
librevenge
···
libzmf
libwebp
lp_solve
-
mdds
mythes
ncurses
neon
···
"--without-buildconfig-recorded"
(lib.withFeature withHelp "help")
-
"--with-boost=${getDev boost}"
-
"--with-boost-libdir=${getLib boost}/lib"
"--with-beanshell-jar=${bsh}"
"--with-vendor=NixOS"
"--disable-report-builder"
···
"--with-system-libs"
"--with-system-libwps"
"--with-system-lpsolve"
-
"--with-system-mdds"
"--with-system-openldap"
"--with-system-openssl"
"--with-system-orcus"
···
# TODO: package these as system libraries
"--without-system-altlinuxhyph"
"--without-system-frozen"
+
"--without-system-libeot"
"--without-system-libfreehand"
"--without-system-libmspub"
"--without-system-libnumbertext"
···
"--without-system-dragonbox"
"--without-system-libfixmath"
+
# TODO: bump this to 0.20
+
"--without-system-orcus"
+
+
# TODO: bump this to 3.0 (#382851)
+
"--without-system-mdds"
+
# requires an oddly specific, old version
"--without-system-hsqldb"
···
# is packaged but headers can't be found because there is no pkg-config file
"--without-system-zxcvbn"
+
+
# cannot find headers, no idea why
+
"--without-system-boost"
]
++ optionals kdeIntegration [
"--enable-kf6"
+63 -5
pkgs/applications/office/libreoffice/skip-broken-tests-fresh.patch
···
createSwDoc("tdf166152.fodt");
auto* pWrtShell = getSwDocShell()->GetWrtShell();
-
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx b/sw/qa/extras/odfexport/odfexport2.cxx
-
index 2f732b3863be..d06f19954da1 100644
-
--- a/sw/qa/extras/odfexport/odfexport2.cxx
-
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
-
@@ -1719,6 +1719,7 @@ CPPUNIT_TEST_FIXTURE(Test, testMidnightRedlineDatetime)
+
diff --git i/sw/qa/extras/odfexport/odfexport4.cxx w/sw/qa/extras/odfexport/odfexport4.cxx
+
index 91d51ef40d48..f4447b5f7f35 100644
+
--- i/sw/qa/extras/odfexport/odfexport4.cxx
+
+++ w/sw/qa/extras/odfexport/odfexport4.cxx
+
@@ -1196,6 +1196,7 @@ CPPUNIT_TEST_FIXTURE(Test, testMidnightRedlineDatetime)
// - Error: "2001-01-01" does not satisfy the "dateTime" type
// because "2001-01-01T00:00:00" became "2001-01-01" on roundtrip.
loadAndReload("midnight_redline.fodt");
···
saveAsPDF(u"tdf164106.fodt");
auto pPdfDocument = parsePDFExport();
+
diff --git i/sc/qa/extras/scsolverobj.cxx w/sc/qa/extras/scsolverobj.cxx
+
index 0537b6e4f4ffdae3b094457db0034f2de8676608..8ce4deaa368f11fdc7eb36fec4e75501fa51ea7d 100644
+
--- i/sc/qa/extras/scsolverobj.cxx
+
+++ w/sc/qa/extras/scsolverobj.cxx
+
@@ -74,6 +74,7 @@ void ScSolverSettingsObj::testCellRangeAddress(const uno::Any& rExpected, const
+
// Creates a model using the XSolverSettings API checks if it is accessible via the API
+
void ScSolverSettingsObj::testXSolverSettings()
+
{
+
+ return;
+
uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, uno::UNO_QUERY_THROW);
+
uno::Reference<container::XIndexAccess> xIndex(xDoc->getSheets(), uno::UNO_QUERY_THROW);
+
uno::Reference<sheet::XSpreadsheet> xSheet(xIndex->getByIndex(0), uno::UNO_QUERY_THROW);
+
diff --git i/sc/qa/unit/subsequent_export_test2.cxx w/sc/qa/unit/subsequent_export_test2.cxx
+
index 956838656b28..70b38e4d59ba 100644
+
--- i/sc/qa/unit/subsequent_export_test2.cxx
+
+++ w/sc/qa/unit/subsequent_export_test2.cxx
+
@@ -100,6 +100,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testRefStringXLSX)
+
+
CPPUNIT_TEST_FIXTURE(ScExportTest2, testRefStringConfigXLSX)
+
{
+
+ return;
+
// this doc is configured with CalcA1 ref syntax
+
createScDoc("xlsx/empty.xlsx");
+
+
@@ -137,6 +138,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testRefStringConfigXLSX)
+
+
CPPUNIT_TEST_FIXTURE(ScExportTest2, testRefStringUnspecified)
+
{
+
+ return;
+
createScDoc();
+
+
ScDocument* pDoc = getScDoc();
+
diff --git i/sw/qa/extras/tiledrendering/tiledrendering.cxx w/sw/qa/extras/tiledrendering/tiledrendering.cxx
+
index 4ebc4be96149..28ebf8c0d446 100644
+
--- i/sw/qa/extras/tiledrendering/tiledrendering.cxx
+
+++ w/sw/qa/extras/tiledrendering/tiledrendering.cxx
+
@@ -1262,6 +1262,7 @@ static void addDarkLightThemes(const Color& rDarkColor, const Color& rLightColor
+
+
CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testGetViewRenderState)
+
{
+
+ return;
+
addDarkLightThemes(COL_BLACK, COL_WHITE);
+
SwXTextDocument* pXTextDocument = createDoc();
+
int nFirstViewId = SfxLokHelper::getView();
+
diff --git i/vcl/qa/cppunit/complextext.cxx w/vcl/qa/cppunit/complextext.cxx
+
index 9be428b59128..b5a5493c53e8 100644
+
--- i/vcl/qa/cppunit/complextext.cxx
+
+++ w/vcl/qa/cppunit/complextext.cxx
+
@@ -794,6 +794,8 @@ CPPUNIT_TEST_FIXTURE(VclComplexTextTest, testTdf165510)
+
+
CPPUNIT_TEST_FIXTURE(VclComplexTextTest, testTdf154104)
+
{
+
+ return;
+
+
+
ScopedVclPtrInstance<VirtualDevice> pOutDev;
+
+
vcl::Font aBaseFont{ u"David Libre"_ustr, u"Regular"_ustr, Size{ 0, 72 } };
+
+137 -116
pkgs/applications/office/libreoffice/src-fresh/deps.nix
···
md5name = "daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c-phc-winner-argon2-20190702.tar.gz";
}
{
-
name = "boost_1_86_0.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/boost_1_86_0.tar.xz";
-
sha256 = "efd6d4ce7e8571ba86f77a30bee2d3dd8dccd306721351464fc6998dd00b0c8c";
+
name = "boost_1_88_0.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/boost_1_88_0.tar.xz";
+
sha256 = "5c67a448c562f1606e38203ba7ed7e8d7453581b6b9ca324e96205eae0da5ff8";
md5 = "";
-
md5name = "efd6d4ce7e8571ba86f77a30bee2d3dd8dccd306721351464fc6998dd00b0c8c-boost_1_86_0.tar.xz";
+
md5name = "5c67a448c562f1606e38203ba7ed7e8d7453581b6b9ca324e96205eae0da5ff8-boost_1_88_0.tar.xz";
}
{
name = "box2d-2.4.1.tar.gz";
···
md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
}
{
-
name = "curl-8.12.1.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/curl-8.12.1.tar.xz";
-
sha256 = "0341f1ed97a26c811abaebd37d62b833956792b7607ea3f15d001613c76de202";
+
name = "curl-8.14.1.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/curl-8.14.1.tar.xz";
+
sha256 = "f4619a1e2474c4bbfedc88a7c2191209c8334b48fa1f4e53fd584cc12e9120dd";
md5 = "";
-
md5name = "0341f1ed97a26c811abaebd37d62b833956792b7607ea3f15d001613c76de202-curl-8.12.1.tar.xz";
+
md5name = "f4619a1e2474c4bbfedc88a7c2191209c8334b48fa1f4e53fd584cc12e9120dd-curl-8.14.1.tar.xz";
}
{
name = "libe-book-0.1.3.tar.xz";
···
md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
}
{
-
name = "fontconfig-2.16.1.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/fontconfig-2.16.1.tar.xz";
-
sha256 = "f4577b62f3a909597c9fb032c6a7a2ae39649ed8ce7048b615a48f32abc0d53a";
+
name = "fontconfig-2.17.1.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/fontconfig-2.17.1.tar.xz";
+
sha256 = "9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541";
md5 = "";
-
md5name = "f4577b62f3a909597c9fb032c6a7a2ae39649ed8ce7048b615a48f32abc0d53a-fontconfig-2.16.1.tar.xz";
+
md5name = "9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541-fontconfig-2.17.1.tar.xz";
}
{
name = "crosextrafonts-20130214.tar.gz";
···
md5name = "cae999a9fc5638cb69cf0812e8bca1437ef1ebbf094f8b3c5b3f0a3ea2ef8c3a-Amiri-1.001.zip";
}
{
-
name = "ReemKufi-1.7.zip";
-
url = "https://dev-www.libreoffice.org/src/ReemKufi-1.7.zip";
-
sha256 = "2359f036c7bddeb4d5529d7b3c9139c3288c920cc26053d417cdbb563eafe0a4";
+
name = "ReemKufi-1.8.zip";
+
url = "https://dev-www.libreoffice.org/src/ReemKufi-1.8.zip";
+
sha256 = "6bf586b0473edaaca19dbd594c25e2bf6111952b8643a262976b7fa75ef345dc";
md5 = "";
-
md5name = "2359f036c7bddeb4d5529d7b3c9139c3288c920cc26053d417cdbb563eafe0a4-ReemKufi-1.7.zip";
+
md5name = "6bf586b0473edaaca19dbd594c25e2bf6111952b8643a262976b7fa75ef345dc-ReemKufi-1.8.zip";
}
{
name = "Scheherazade-2.100.zip";
···
md5name = "09c5716296787e1f7fcb87b1cbdbf26814ec1288ed6259ccd30d5d9795809fa5-glm-1.0.1.zip";
}
{
-
name = "gpgme-1.24.2.tar.bz2";
-
url = "https://dev-www.libreoffice.org/src/gpgme-1.24.2.tar.bz2";
-
sha256 = "e11b1a0e361777e9e55f48a03d89096e2abf08c63d84b7017cfe1dce06639581";
+
name = "gpgme-1.24.3.tar.bz2";
+
url = "https://dev-www.libreoffice.org/src/gpgme-1.24.3.tar.bz2";
+
sha256 = "bfc17f5bd1b178c8649fdd918956d277080f33df006a2dc40acdecdce68c50dd";
md5 = "";
-
md5name = "e11b1a0e361777e9e55f48a03d89096e2abf08c63d84b7017cfe1dce06639581-gpgme-1.24.2.tar.bz2";
+
md5name = "bfc17f5bd1b178c8649fdd918956d277080f33df006a2dc40acdecdce68c50dd-gpgme-1.24.3.tar.bz2";
}
{
name = "graphite2-minimal-1.3.14.tgz";
···
md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
}
{
-
name = "harfbuzz-8.5.0.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/harfbuzz-8.5.0.tar.xz";
-
sha256 = "77e4f7f98f3d86bf8788b53e6832fb96279956e1c3961988ea3d4b7ca41ddc27";
+
name = "harfbuzz-11.4.3.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/harfbuzz-11.4.3.tar.xz";
+
sha256 = "6660415ad48fa1a46e4fa75fcdb70ff819c452153f08677d34ffb29eda66415d";
md5 = "";
-
md5name = "77e4f7f98f3d86bf8788b53e6832fb96279956e1c3961988ea3d4b7ca41ddc27-harfbuzz-8.5.0.tar.xz";
+
md5name = "6660415ad48fa1a46e4fa75fcdb70ff819c452153f08677d34ffb29eda66415d-harfbuzz-11.4.3.tar.xz";
}
{
name = "hsqldb_1_8_0.zip";
···
md5name = "0e279003f5199f80031c6dcd08f79d6f65a0505139160e7df0d09b226bff4023-IAccessible2-1.3+git20231013.3d8c7f0.tar.gz";
}
{
-
name = "icu4c-75_1-src.tgz";
-
url = "https://dev-www.libreoffice.org/src/icu4c-75_1-src.tgz";
-
sha256 = "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef";
+
name = "icu4c-77_1-src.tgz";
+
url = "https://dev-www.libreoffice.org/src/icu4c-77_1-src.tgz";
+
sha256 = "588e431f77327c39031ffbb8843c0e3bc122c211374485fa87dc5f3faff24061";
md5 = "";
-
md5name = "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef-icu4c-75_1-src.tgz";
+
md5name = "588e431f77327c39031ffbb8843c0e3bc122c211374485fa87dc5f3faff24061-icu4c-77_1-src.tgz";
}
{
-
name = "icu4c-75_1-data.zip";
-
url = "https://dev-www.libreoffice.org/src/icu4c-75_1-data.zip";
-
sha256 = "a5104212dc317a64f9b035723ea706f2f4fd5a0f37b7923fae7aeb9d1d0061b1";
+
name = "icu4c-77_1-data.zip";
+
url = "https://dev-www.libreoffice.org/src/icu4c-77_1-data.zip";
+
sha256 = "1e08bfafa442260ccabf9a872d4eab12de813d42b90769df056bab032b37e1d3";
md5 = "";
-
md5name = "a5104212dc317a64f9b035723ea706f2f4fd5a0f37b7923fae7aeb9d1d0061b1-icu4c-75_1-data.zip";
+
md5name = "1e08bfafa442260ccabf9a872d4eab12de813d42b90769df056bab032b37e1d3-icu4c-77_1-data.zip";
}
{
name = "Java-WebSocket-1.6.0.tar.gz";
···
md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
}
{
-
name = "libjpeg-turbo-2.1.5.1.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.5.1.tar.gz";
-
sha256 = "2fdc3feb6e9deb17adec9bafa3321419aa19f8f4e5dea7bf8486844ca22207bf";
+
name = "libjpeg-turbo-3.1.1.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-3.1.1.tar.gz";
+
sha256 = "304165ae11e64ab752e9cfc07c37bfdc87abd0bfe4bc699e59f34036d9c84f72";
md5 = "";
-
md5name = "2fdc3feb6e9deb17adec9bafa3321419aa19f8f4e5dea7bf8486844ca22207bf-libjpeg-turbo-2.1.5.1.tar.gz";
+
md5name = "304165ae11e64ab752e9cfc07c37bfdc87abd0bfe4bc699e59f34036d9c84f72-libjpeg-turbo-3.1.1.tar.gz";
}
{
-
name = "language-subtag-registry-2025-03-10.tar.bz2";
-
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2025-03-10.tar.bz2";
-
sha256 = "555968dd413c69fe2c072a29e0f1a2a48856533d923ffd8377ff86f6ea701b39";
+
name = "language-subtag-registry-2025-07-15.tar.bz2";
+
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2025-07-15.tar.bz2";
+
sha256 = "2689f0a9a1fc21442d8097951fbca6d7013f9f9847f0b5e87144bd8e1355e052";
md5 = "";
-
md5name = "555968dd413c69fe2c072a29e0f1a2a48856533d923ffd8377ff86f6ea701b39-language-subtag-registry-2025-03-10.tar.bz2";
+
md5name = "2689f0a9a1fc21442d8097951fbca6d7013f9f9847f0b5e87144bd8e1355e052-language-subtag-registry-2025-07-15.tar.bz2";
}
{
name = "lcms2-2.17.tar.gz";
···
md5name = "df0a59d413a5b202573d8d4f5159e33a8538da4f8e8e60979facc64d6290cebd-libexttextcat-3.4.7.tar.xz";
}
{
-
name = "libffi-3.4.8.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/libffi-3.4.8.tar.gz";
-
sha256 = "bc9842a18898bfacb0ed1252c4febcc7e78fa139fd27fdc7a3e30d9d9356119b";
+
name = "libffi-3.5.2.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/libffi-3.5.2.tar.gz";
+
sha256 = "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc";
md5 = "";
-
md5name = "bc9842a18898bfacb0ed1252c4febcc7e78fa139fd27fdc7a3e30d9d9356119b-libffi-3.4.8.tar.gz";
+
md5name = "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc-libffi-3.5.2.tar.gz";
}
{
-
name = "libgpg-error-1.54.tar.bz2";
-
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.54.tar.bz2";
-
sha256 = "607dcadfd722120188eca5cd07193158b9dd906b578a557817ec779bd5e16d0e";
+
name = "libgpg-error-1.55.tar.bz2";
+
url = "https://dev-www.libreoffice.org/src/libgpg-error-1.55.tar.bz2";
+
sha256 = "95b178148863f07d45df0cea67e880a79b9ef71f5d230baddc0071128516ef78";
md5 = "";
-
md5name = "607dcadfd722120188eca5cd07193158b9dd906b578a557817ec779bd5e16d0e-libgpg-error-1.54.tar.bz2";
+
md5name = "95b178148863f07d45df0cea67e880a79b9ef71f5d230baddc0071128516ef78-libgpg-error-1.55.tar.bz2";
}
{
name = "liblangtag-0.6.7.tar.bz2";
···
md5name = "296272d93435991308eb73607600c034b558807a07e829e751142e65ccfa9d08-ltm-1.3.0.tar.xz";
}
{
-
name = "libwebp-1.5.0.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/libwebp-1.5.0.tar.gz";
-
sha256 = "7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c";
+
name = "libwebp-1.6.0.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/libwebp-1.6.0.tar.gz";
+
sha256 = "e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564";
md5 = "";
-
md5name = "7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c-libwebp-1.5.0.tar.gz";
+
md5name = "e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564-libwebp-1.6.0.tar.gz";
}
{
-
name = "xmlsec1-1.3.6.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.3.6.tar.gz";
-
sha256 = "952b626ad3f3be1a4598622dab52fdab2a8604d0837c1b00589f3637535af92f";
+
name = "xmlsec1-1.3.7.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/xmlsec1-1.3.7.tar.gz";
+
sha256 = "d82e93b69b8aa205a616b62917a269322bf63a3eaafb3775014e61752b2013ea";
md5 = "";
-
md5name = "952b626ad3f3be1a4598622dab52fdab2a8604d0837c1b00589f3637535af92f-xmlsec1-1.3.6.tar.gz";
+
md5name = "d82e93b69b8aa205a616b62917a269322bf63a3eaafb3775014e61752b2013ea-xmlsec1-1.3.7.tar.gz";
}
{
-
name = "libxml2-2.13.8.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/libxml2-2.13.8.tar.xz";
-
sha256 = "277294cb33119ab71b2bc81f2f445e9bc9435b893ad15bb2cd2b0e859a0ee84a";
+
name = "libxml2-2.14.5.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/libxml2-2.14.5.tar.xz";
+
sha256 = "03d006f3537616833c16c53addcdc32a0eb20e55443cba4038307e3fa7d8d44b";
md5 = "";
-
md5name = "277294cb33119ab71b2bc81f2f445e9bc9435b893ad15bb2cd2b0e859a0ee84a-libxml2-2.13.8.tar.xz";
+
md5name = "03d006f3537616833c16c53addcdc32a0eb20e55443cba4038307e3fa7d8d44b-libxml2-2.14.5.tar.xz";
}
{
name = "libxslt-1.1.43.tar.xz";
···
md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
}
{
-
name = "lxml-5.4.0.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/lxml-5.4.0.tar.gz";
-
sha256 = "d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd";
+
name = "lxml-6.0.1.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/lxml-6.0.1.tar.gz";
+
sha256 = "2b3a882ebf27dd026df3801a87cf49ff791336e0f94b0fad195db77e01240690";
md5 = "";
-
md5name = "d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd-lxml-5.4.0.tar.gz";
+
md5name = "2b3a882ebf27dd026df3801a87cf49ff791336e0f94b0fad195db77e01240690-lxml-6.0.1.tar.gz";
}
{
name = "mariadb-connector-c-3.3.15-src.tar.gz";
···
md5name = "b593fdd3d5b8964a9feec2bf57a13e6cc8f178a4fe948e89f60ede9c53d621fe-mariadb-connector-c-3.3.15-src.tar.gz";
}
{
-
name = "mdds-2.1.1.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/mdds-2.1.1.tar.xz";
-
sha256 = "1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56";
+
name = "mdds-3.1.0.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/mdds-3.1.0.tar.xz";
+
sha256 = "ca295f4c86968a7eb1f5d503ff7ae180e6605210cfb26d01658be42048c0924c";
md5 = "";
-
md5name = "1483d90cefb8aa4563c4d0a85cb7b243aa95217d235d422e9ca6722fd5b97e56-mdds-2.1.1.tar.xz";
+
md5name = "ca295f4c86968a7eb1f5d503ff7ae180e6605210cfb26d01658be42048c0924c-mdds-3.1.0.tar.xz";
}
{
name = "mDNSResponder-878.200.35.tar.gz";
···
sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
md5 = "";
md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
+
}
+
{
+
name = "meson-1.8.0.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/meson-1.8.0.tar.gz";
+
sha256 = "0a9b23311271519bd03dca12d7d8b0eab582c3a2c5da433d465b6e519dc88e2f";
+
md5 = "";
+
md5name = "0a9b23311271519bd03dca12d7d8b0eab582c3a2c5da433d465b6e519dc88e2f-meson-1.8.0.tar.gz";
}
{
name = "libmspub-0.1.4.tar.xz";
···
md5name = "19279f70707bbe5ffa619f2dc319f888cec0c4a8d339dc0a21330517bd6f521d-mythes-1.2.5.tar.xz";
}
{
-
name = "nss-3.102.1-with-nspr-4.35.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/nss-3.102.1-with-nspr-4.35.tar.gz";
-
sha256 = "ddfdec73fb4b0eedce5fc4de09de9ba14d2ddbfbf67e42372903e1510f2d3d65";
+
name = "nss-3.115.1-with-nspr-4.37.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/nss-3.115.1-with-nspr-4.37.tar.gz";
+
sha256 = "5ff67daaa778ff302ccacdd00e665ce71da59f05dcdaab62bcdab6e23c90d320";
md5 = "";
-
md5name = "ddfdec73fb4b0eedce5fc4de09de9ba14d2ddbfbf67e42372903e1510f2d3d65-nss-3.102.1-with-nspr-4.35.tar.gz";
+
md5name = "5ff67daaa778ff302ccacdd00e665ce71da59f05dcdaab62bcdab6e23c90d320-nss-3.115.1-with-nspr-4.37.tar.gz";
}
{
name = "libodfgen-0.1.8.tar.xz";
···
md5name = "37206cf981e8409d048b59ac5839621ea107ff49af72beb9d7769a2f41da8d90-onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2.tar.xz";
}
{
-
name = "openldap-2.6.9.tgz";
-
url = "https://dev-www.libreoffice.org/src/openldap-2.6.9.tgz";
-
sha256 = "2cb7dc73e9c8340dff0d99357fbaa578abf30cc6619f0521972c555681e6b2ff";
+
name = "openldap-2.6.10.tgz";
+
url = "https://dev-www.libreoffice.org/src/openldap-2.6.10.tgz";
+
sha256 = "c065f04aad42737aebd60b2fe4939704ac844266bc0aeaa1609f0cad987be516";
md5 = "";
-
md5name = "2cb7dc73e9c8340dff0d99357fbaa578abf30cc6619f0521972c555681e6b2ff-openldap-2.6.9.tgz";
+
md5name = "c065f04aad42737aebd60b2fe4939704ac844266bc0aeaa1609f0cad987be516-openldap-2.6.10.tgz";
}
{
-
name = "openssl-3.0.16.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/openssl-3.0.16.tar.gz";
-
sha256 = "57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86";
+
name = "openssl-3.0.17.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/openssl-3.0.17.tar.gz";
+
sha256 = "dfdd77e4ea1b57ff3a6dbde6b0bdc3f31db5ac99e7fdd4eaf9e1fbb6ec2db8ce";
md5 = "";
-
md5name = "57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86-openssl-3.0.16.tar.gz";
+
md5name = "dfdd77e4ea1b57ff3a6dbde6b0bdc3f31db5ac99e7fdd4eaf9e1fbb6ec2db8ce-openssl-3.0.17.tar.gz";
}
{
-
name = "liborcus-0.19.2.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/liborcus-0.19.2.tar.xz";
-
sha256 = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39";
+
name = "liborcus-0.20.1.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/liborcus-0.20.1.tar.xz";
+
sha256 = "ec27f30e8445a2a3f307f7e829fc446fd48193150b7f8f23bb5bfb25ec6e4e27";
md5 = "";
-
md5name = "69ed26a00d4aaa7688e62a6e003cbc81928521a45e96605e53365aa499719e39-liborcus-0.19.2.tar.xz";
+
md5name = "ec27f30e8445a2a3f307f7e829fc446fd48193150b7f8f23bb5bfb25ec6e4e27-liborcus-0.20.1.tar.xz";
}
{
name = "libpagemaker-0.0.4.tar.xz";
···
md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
}
{
-
name = "pdfium-6764.tar.bz2";
-
url = "https://dev-www.libreoffice.org/src/pdfium-6764.tar.bz2";
-
sha256 = "59d5df3b38312b069d96a8de9d4f8d7f44a29835c9dc82bd792ea02be86c4e49";
+
name = "pdfium-7012.tar.bz2";
+
url = "https://dev-www.libreoffice.org/src/pdfium-7012.tar.bz2";
+
sha256 = "e647ca4fcc2c91d9dca717452e1b1be1ab6155ac4977dca716041652c7b10bdd";
md5 = "";
-
md5name = "59d5df3b38312b069d96a8de9d4f8d7f44a29835c9dc82bd792ea02be86c4e49-pdfium-6764.tar.bz2";
+
md5name = "e647ca4fcc2c91d9dca717452e1b1be1ab6155ac4977dca716041652c7b10bdd-pdfium-7012.tar.bz2";
}
{
name = "pixman-0.42.2.tar.gz";
···
md5name = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e-pixman-0.42.2.tar.gz";
}
{
-
name = "libpng-1.6.47.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/libpng-1.6.47.tar.xz";
-
sha256 = "b213cb381fbb1175327bd708a77aab708a05adde7b471bc267bd15ac99893631";
+
name = "libpng-1.6.50.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/libpng-1.6.50.tar.xz";
+
sha256 = "4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307";
md5 = "";
-
md5name = "b213cb381fbb1175327bd708a77aab708a05adde7b471bc267bd15ac99893631-libpng-1.6.47.tar.xz";
+
md5name = "4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307-libpng-1.6.50.tar.xz";
}
{
name = "tiff-4.7.0.tar.xz";
···
md5name = "273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017-tiff-4.7.0.tar.xz";
}
{
-
name = "poppler-25.01.0.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/poppler-25.01.0.tar.xz";
-
sha256 = "7eefc122207bbbd72a303c5e0743f4941e8ae861e24dcf0501e18ce1d1414112";
+
name = "poppler-25.08.0.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/poppler-25.08.0.tar.xz";
+
sha256 = "425ed4d4515a093bdcdbbaac6876f20617451edc710df6a4fd6c45dd67eb418d";
md5 = "";
-
md5name = "7eefc122207bbbd72a303c5e0743f4941e8ae861e24dcf0501e18ce1d1414112-poppler-25.01.0.tar.xz";
+
md5name = "425ed4d4515a093bdcdbbaac6876f20617451edc710df6a4fd6c45dd67eb418d-poppler-25.08.0.tar.xz";
}
{
name = "poppler-data-0.4.12.tar.gz";
···
md5name = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74-poppler-data-0.4.12.tar.gz";
}
{
-
name = "postgresql-14.17.tar.bz2";
-
url = "https://dev-www.libreoffice.org/src/postgresql-14.17.tar.bz2";
-
sha256 = "6ce0ccd6403bf7f0f2eddd333e2ee9ba02edfa977c66660ed9b4b1057e7630a1";
+
name = "postgresql-15.14.tar.bz2";
+
url = "https://dev-www.libreoffice.org/src/postgresql-15.14.tar.bz2";
+
sha256 = "06dd75d305cd3870ee62b3932e661c624543eaf9ae2ba37cdec0a4f8edd051d2";
md5 = "";
-
md5name = "6ce0ccd6403bf7f0f2eddd333e2ee9ba02edfa977c66660ed9b4b1057e7630a1-postgresql-14.17.tar.bz2";
+
md5name = "06dd75d305cd3870ee62b3932e661c624543eaf9ae2ba37cdec0a4f8edd051d2-postgresql-15.14.tar.bz2";
}
{
-
name = "Python-3.10.17.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/Python-3.10.17.tar.xz";
-
sha256 = "4c68050f049d1b4ac5aadd0df5f27941c0350d2a9e7ab0907ee5eb5225d9d6b0";
+
name = "Python-3.11.13.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/Python-3.11.13.tar.xz";
+
sha256 = "8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a";
md5 = "";
-
md5name = "4c68050f049d1b4ac5aadd0df5f27941c0350d2a9e7ab0907ee5eb5225d9d6b0-Python-3.10.17.tar.xz";
+
md5name = "8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a-Python-3.11.13.tar.xz";
+
}
+
{
+
name = "python.3.12.8.nupkg";
+
url = "https://dev-www.libreoffice.org/src/python.3.12.8.nupkg";
+
sha256 = "406856be971d957e0bee7a5cefe20a5ec78d70a495e9e33cd0e53d31faec049d";
+
md5 = "";
+
md5name = "406856be971d957e0bee7a5cefe20a5ec78d70a495e9e33cd0e53d31faec049d-python.3.12.8.nupkg";
}
{
name = "libqxp-0.0.2.tar.xz";
···
md5name = "42fce6baf1bf789b62bf938b8e8ec18a1ac92c989dd6e7221e9531454cbd97fa-rhino-1.7.15.zip";
}
{
-
name = "skia-m130-3c64459d5df2fa9794b277f0959ed8a92552bf4c.tar.xz";
-
url = "https://dev-www.libreoffice.org/src/skia-m130-3c64459d5df2fa9794b277f0959ed8a92552bf4c.tar.xz";
-
sha256 = "53f55303821158b6de9e6b90f1cc3a548611a7e430c1a0883ff159a8db89677d";
+
name = "skia-m136-28685d899b0a35894743e2cedad4c9f525e90e1e.tar.xz";
+
url = "https://dev-www.libreoffice.org/src/skia-m136-28685d899b0a35894743e2cedad4c9f525e90e1e.tar.xz";
+
sha256 = "2384f5f44a0b714d8dc78923fdf17453ab5a1808ca638154e3e27b361531db25";
md5 = "";
-
md5name = "53f55303821158b6de9e6b90f1cc3a548611a7e430c1a0883ff159a8db89677d-skia-m130-3c64459d5df2fa9794b277f0959ed8a92552bf4c.tar.xz";
+
md5name = "2384f5f44a0b714d8dc78923fdf17453ab5a1808ca638154e3e27b361531db25-skia-m136-28685d899b0a35894743e2cedad4c9f525e90e1e.tar.xz";
}
{
name = "libstaroffice-0.0.7.tar.xz";
···
md5name = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32-zlib-1.3.1.tar.xz";
}
{
+
name = "zstd-1.5.7.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/zstd-1.5.7.tar.gz";
+
sha256 = "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3";
+
md5 = "";
+
md5name = "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3-zstd-1.5.7.tar.gz";
+
}
+
{
name = "libzmf-0.0.2.tar.xz";
url = "https://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
sha256 = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22";
···
md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
}
{
-
name = "zxcvbn-c-2.5.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/zxcvbn-c-2.5.tar.gz";
-
sha256 = "77d6c6ecb35952a8d8ce7f736b7a2bf466275c48210e309b73782d6b7e84dffd";
+
name = "zxcvbn-c-2.6.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/zxcvbn-c-2.6.tar.gz";
+
sha256 = "11e39f6776f9c82c68b2acb94336e32697d4ab6cdb4ac16f9583ccbdd735113a";
md5 = "";
-
md5name = "77d6c6ecb35952a8d8ce7f736b7a2bf466275c48210e309b73782d6b7e84dffd-zxcvbn-c-2.5.tar.gz";
+
md5name = "11e39f6776f9c82c68b2acb94336e32697d4ab6cdb4ac16f9583ccbdd735113a-zxcvbn-c-2.6.tar.gz";
}
{
-
name = "zxing-cpp-2.2.1.tar.gz";
-
url = "https://dev-www.libreoffice.org/src/zxing-cpp-2.2.1.tar.gz";
-
sha256 = "02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635";
+
name = "zxing-cpp-2.3.0.tar.gz";
+
url = "https://dev-www.libreoffice.org/src/zxing-cpp-2.3.0.tar.gz";
+
sha256 = "64e4139103fdbc57752698ee15b5f0b0f7af9a0331ecbdc492047e0772c417ba";
md5 = "";
-
md5name = "02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635-zxing-cpp-2.2.1.tar.gz";
+
md5name = "64e4139103fdbc57752698ee15b5f0b0f7af9a0331ecbdc492047e0772c417ba-zxing-cpp-2.3.0.tar.gz";
}
]
+2 -2
pkgs/applications/office/libreoffice/src-fresh/help.nix
···
{ fetchurl, ... }:
fetchurl {
-
sha256 = "1cik6bvy4nvhyxr7nsbh5nl4irfmhlcfw2kpz2pyh5zbf11d5hi7";
-
url = "https://download.documentfoundation.org/libreoffice/src/25.2.3/libreoffice-help-25.2.3.2.tar.xz";
+
sha256 = "1dghyg96daa9iff7njanfy8v0lqql3i9vy6cqysdq141rgdbglql";
+
url = "https://download.documentfoundation.org/libreoffice/src/25.8.1/libreoffice-help-25.8.1.1.tar.xz";
}
+2 -2
pkgs/applications/office/libreoffice/src-fresh/main.nix
···
{ fetchurl, ... }:
fetchurl {
-
sha256 = "1pysqa31by4rhghnfyz8xbygqn6d6fjqm2py1apxkw3xa8g4cm7a";
-
url = "https://download.documentfoundation.org/libreoffice/src/25.2.3/libreoffice-25.2.3.2.tar.xz";
+
sha256 = "0gig194j66rxf678n236r7wnqv12w1bknm1kkjj8155y59n2qkjv";
+
url = "https://download.documentfoundation.org/libreoffice/src/25.8.1/libreoffice-25.8.1.1.tar.xz";
}
+2 -2
pkgs/applications/office/libreoffice/src-fresh/translations.nix
···
{ fetchurl, ... }:
fetchurl {
-
sha256 = "0iqcr2snc34x19ys0317a939lflgk75ndjw6frja6a12p9625lnk";
-
url = "https://download.documentfoundation.org/libreoffice/src/25.2.3/libreoffice-translations-25.2.3.2.tar.xz";
+
sha256 = "0x1vx27w8kw4qfjhhdmh5zx68svh27yiy43f057qd61rbnds0p85";
+
url = "https://download.documentfoundation.org/libreoffice/src/25.8.1/libreoffice-translations-25.8.1.1.tar.xz";
}
+1 -1
pkgs/applications/office/libreoffice/src-fresh/version.nix
···
-
"25.2.3.2"
+
"25.8.1.1"
+52
pkgs/build-support/docker/auto-layer.nix
···
+
{
+
jq,
+
lib,
+
python3,
+
runCommand,
+
writeText,
+
}:
+
+
{
+
closureRoots,
+
excludePaths ? [ ],
+
maxLayers ? 100,
+
fromImage ? null,
+
debug ? false,
+
}:
+
+
runCommand "layers.json"
+
{
+
__structuredAttrs = true;
+
exportReferencesGraph.graph = closureRoots;
+
inherit fromImage maxLayers;
+
nativeBuildInputs = [
+
jq
+
python3
+
];
+
excludePathsFile = writeText "excludePaths" (lib.concatMapStrings (x: x + "\n") excludePaths);
+
}
+
''
+
# Compute the number of layers that are already used by a potential
+
# 'fromImage' as well as the customization layer. Ensure that there is
+
# still at least one layer available to store the image contents.
+
# one layer will be taken up by the customisation layer
+
usedLayers=1
+
+
if [ -n "$fromImage" ]; then
+
# subtract number of base image layers
+
baseImageLayersCount=$(tar -xOf "$fromImage" manifest.json | jq '.[0].Layers | length')
+
(( usedLayers += baseImageLayersCount ))
+
fi
+
+
if ! (( $usedLayers < $maxLayers )); then
+
echo >&2 "Error: usedLayers $usedLayers layers to store 'fromImage' and" \
+
"'extraCommands', but only maxLayers=$maxLayers were" \
+
"allowed. At least 1 layer is required to store contents."
+
exit 1
+
fi
+
availableLayers=$(( maxLayers - usedLayers ))
+
+
jq .graph "$NIX_ATTRS_JSON_FILE" > referencesGraph
+
${lib.optionalString debug "export DEBUG=1"}
+
python3 ${./auto-layer.py} referencesGraph $excludePathsFile $availableLayers > $out
+
''
+200
pkgs/build-support/docker/auto-layer.py
···
+
#!/usr/bin/env python3
+
+
# usage: auto-layer.py graph_file [ignore_file] [layer_limit]
+
+
# graph_file: Path to a json file as generated by writeReferencesGraph
+
# ignore_file: Path to a file with a list of store paths that should not appear in the output
+
# layer_limit: Maximum number of layers to generate, default 100
+
+
# This module tries to split a dependency graph of nix store paths into a
+
# limited set of layers that together cover all mentioned paths. It tries to
+
# choose the layers such that different inputs often have the largest layers in
+
# common so most layers can be shared, while the differences in the results end
+
# up in smaller layers.
+
+
# It does this by splitting off the N largest store paths (by nar size) into
+
# their own layers, including some of their dependencies.
+
# Specifically, for a large store path L, it creates a layer with L and any
+
# store path D that L depends on and for which there is no store path in the
+
# input that depends on D but not on L.
+
# Then, if there are any store paths that are depended on by multiple of the
+
# chosen large store paths, those common dependencies will get their own layer,
+
# one per set of large store paths that depends on them.
+
# N is iteratively increased until the layer limit is reached.
+
+
# The reasoning for this algorithm is as follows:
+
+
# Most closures contain a few large store paths and many small store paths. If
+
# we want to share as many bytes as possible with other layered images, we
+
# should focus on putting the largest paths in their own layer.
+
+
# If we had data on how much each store path is used and how likely each
+
# combination of store paths is, we might be able to infer which large store
+
# paths are better off being combined into a single layer. However, getting that
+
# information, let alone keeping it up-to-date is very difficult. If we can't
+
# tell that two large store paths are often going to appear together, then we're
+
# better off giving each of them their own layer.
+
+
# This leaves a lot of smaller store paths to be assigned to layers. Anything
+
# that will depend on a large store path L will also depend on all the store
+
# paths that L depends on, so it makes sense to move the dependencies of L into
+
# the same layer as L.
+
+
# Possible improvements:
+
# - Specifying a size limit below which the algorithm stops using large store
+
# paths as new layer roots might further improve sharing as the layer
+
# boundaries will depend less on the number of larger store paths in the
+
# input.
+
+
import json
+
import os
+
import sys
+
+
def layer_count(layer_split):
+
return len(set(layer_split.values()))
+
+
def path_key(path):
+
hash, name = path.split('-', 1)
+
return name, hash
+
+
def closure(*todo, key):
+
"""
+
Find all dependencies of the arguments including the arguments themselves.
+
"""
+
todo = set(todo)
+
done = set()
+
while todo:
+
x = todo.pop()
+
if x not in done:
+
done.add(x)
+
todo.update(key(x))
+
return done
+
+
def dependencies(*todo, key):
+
"""
+
Find all dependencies of the arguments excluding the arguments themselves.
+
"""
+
return closure(*todo, key=key) - set(todo)
+
+
def minimal_cover(paths, key):
+
"""
+
The minimal set of paths that together cover all input paths with their
+
closure. None of the result paths depend on each other.
+
"""
+
paths = set(paths)
+
paths_deps = set.union(*(dependencies(d, key=key) for d in paths))
+
return paths - paths_deps
+
+
def auto_layer(graph, ignore_paths, layer_limit):
+
# Compute all direct users of each path
+
nodes = {x["path"]: x | {"users": set()} for x in graph}
+
for user in nodes:
+
for ref in nodes[user]["references"]:
+
nodes[ref]["users"] |= {user}
+
+
def node_deps(path):
+
nonlocal nodes
+
return nodes[path]["references"]
+
+
def node_users(path):
+
nonlocal nodes
+
return nodes[path]["users"]
+
+
nodes_by_size = sorted(graph, key=lambda node: node["narSize"])
+
+
# Here starts the main algorithm:
+
# The goal is to split the set of store paths into layers such that the layers are likely to be
+
# reusable and that the closure size is spread out over the layers. We do this by iteratively taking
+
# the largest store path and giving it its own layer. This primary store path becomes the identity
+
# of the layer. We also add every dependency of the identifying store path to the same layer unless
+
# it is also used by something that doesn't depend on the identifying store path. More generally, we
+
# put store paths together in the same layer when the set of other layers that depend on it is the
+
# same.
+
+
# layer_split defines how the layers are currently split. We start with a single layer with no
+
# dependencies. This is encoded as every store path mapped to the empty set of dependencies.
+
# In general, layer_split maps each store path to the set of primary paths that depend on it and
+
# that set defines and identifies the layer.
+
layer_split = {path: frozenset() for path in nodes}
+
+
primary_paths = set()
+
while nodes_by_size:
+
# Every iteration, we choose the next biggest path to be the root of a new layer.
+
new_primary_path = nodes_by_size.pop()["path"]
+
primary_paths.add(new_primary_path)
+
new_layer_split = layer_split.copy()
+
new_layer_split[new_primary_path] = frozenset({new_primary_path})
+
new_primary_path_deps = dependencies(new_primary_path, key=node_deps)
+
new_primary_path_users = dependencies(new_primary_path, key=node_users)
+
+
# Update the set of primary users for every dependency of the new primary path.
+
for dep in new_primary_path_deps:
+
new_layer_split[dep] -= new_primary_path_users
+
if not new_layer_split[dep] & new_primary_path_deps:
+
new_layer_split[dep] |= {new_primary_path}
+
+
# If we exceed the layer limit, we give up. The previous split should be good enough.
+
if layer_count(new_layer_split) > layer_limit:
+
break
+
layer_split = new_layer_split
+
+
# Main algorithm done, the layers have been chosen.
+
# Now, let's give each layer some metadata, mostly for debugging.
+
+
def layer_info(layer_id):
+
nonlocal nodes
+
nonlocal layer_split
+
# The full set of paths in this layer is all the paths that were assigned to it.
+
paths = {path
+
for path, layer_id_2 in layer_split.items()
+
if layer_id == layer_id_2}
+
layerSize = sum(nodes[path]["narSize"] for path in paths)
+
return {
+
"usedBy": sorted(layer_id, key=path_key),
+
"paths": sorted(paths, key=path_key),
+
"layerSize": layerSize,
+
"closureSize": sum(nodes[path]["narSize"] for path in closure(*paths, key=node_deps)),
+
}
+
+
layers = {layer_id: layer_info(layer_id)
+
for layer_id in set(layer_split.values())}
+
+
# The layer order doesn't actually matter for docker but it's still kind of neat to have layers come
+
# after all of their dependencies. The easiest way to do that is to order by closure size since a
+
# layer is necessarily always larger than each of its dependencies since it includes them.
+
layer_order = sorted(layers.values(), key=lambda info: info["closureSize"])
+
+
if os.environ.get("DEBUG"):
+
print(json.dumps(layer_order, indent=2), file=sys.stderr)
+
+
# Sanity check that no store path ends up in multiple layers.
+
total_layer_size = sum(node["layerSize"] for node in layer_order)
+
total_nar_size = sum(node["narSize"] for node in graph)
+
assert total_layer_size == total_nar_size, (total_layer_size, total_nar_size)
+
+
# Format as a list of layers, each defined as a list of store paths.
+
return [[path
+
for path in layer["paths"]
+
if path not in ignore_paths]
+
for layer in layer_order
+
if set(layer["paths"]) - ignore_paths]
+
+
if __name__ == '__main__':
+
import argparse
+
+
parser = argparse.ArgumentParser(
+
prog='auto-layer',
+
description='Split store paths into docker layers.'
+
)
+
parser.add_argument('graph_file')
+
parser.add_argument('ignore_file', default="/dev/null")
+
parser.add_argument('layer_limit', type=int, default=100)
+
args = parser.parse_args()
+
+
with open(args.graph_file) as f:
+
graph = json.load(f)
+
+
with open(args.ignore_file) as f:
+
ignore_paths = {line.strip() for line in f}
+
+
print(json.dumps(auto_layer(graph, ignore_paths, args.layer_limit)))
+26 -18
pkgs/build-support/docker/default.nix
···
'';
};
-
layersJsonFile = buildPackages.dockerMakeLayers {
-
inherit debug;
-
closureRoots = optionals includeStorePaths [
-
baseJson
-
customisationLayer
-
];
-
excludePaths = [
-
baseJson
-
customisationLayer
-
];
-
pipeline =
-
if layeringPipeline != null then
-
layeringPipeline
-
else
-
import ./popularity-contest-layering-pipeline.nix { inherit lib jq runCommand; } {
-
inherit fromImage maxLayers;
-
};
-
};
+
closureRoots = optionals includeStorePaths [
+
baseJson
+
customisationLayer
+
];
+
+
excludePaths = [
+
baseJson
+
customisationLayer
+
];
+
+
layersJsonFile =
+
if layeringPipeline == null then
+
buildPackages.dockerAutoLayer {
+
inherit
+
closureRoots
+
debug
+
excludePaths
+
fromImage
+
maxLayers
+
;
+
}
+
else
+
buildPackages.dockerMakeLayers {
+
inherit closureRoots debug excludePaths;
+
pipeline = layeringPipeline;
+
};
conf =
runCommand "${baseName}-conf.json"
-34
pkgs/build-support/docker/popularity-contest-layering-pipeline.nix
···
-
{
-
lib,
-
runCommand,
-
jq,
-
}:
-
{
-
maxLayers,
-
fromImage ? null,
-
}:
-
runCommand "popularity-contest-layering-pipeline.json" { inherit maxLayers; } ''
-
# Compute the number of layers that are already used by a potential
-
# 'fromImage' as well as the customization layer. Ensure that there is
-
# still at least one layer available to store the image contents.
-
# one layer will be taken up by the customisation layer
-
usedLayers=1
-
-
${lib.optionalString (fromImage != null) ''
-
# subtract number of base image layers
-
baseImageLayersCount=$(tar -xOf "${fromImage}" manifest.json | ${lib.getExe jq} '.[0].Layers | length')
-
-
(( usedLayers += baseImageLayersCount ))
-
''}
-
-
if ! (( $usedLayers < $maxLayers )); then
-
echo >&2 "Error: usedLayers $usedLayers layers to store 'fromImage' and" \
-
"'extraCommands', but only maxLayers=$maxLayers were" \
-
"allowed. At least 1 layer is required to store contents."
-
exit 1
-
fi
-
availableLayers=$(( maxLayers - usedLayers ))
-
-
# Produce pipeline which uses popularity_contest algo.
-
echo '[["popularity_contest"],["limit_layers",'$availableLayers']]' > $out
-
''
+2 -2
pkgs/by-name/ag/age-plugin-fido2-hmac/package.nix
···
let
darwin_arch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "amd64";
darwin_configure = ''
-
chmod -R +w vendor/github.com/keys-pub/go-libfido2
-
cat << EOF > vendor/github.com/keys-pub/go-libfido2/fido2_static_${darwin_arch}.go
+
chmod -R +w vendor/github.com/olastor/go-libfido2
+
cat << EOF > vendor/github.com/olastor/go-libfido2/fido2_static_${darwin_arch}.go
package libfido2
/*
+3 -3
pkgs/by-name/at/attic-client/package.nix
···
rustPlatform.buildRustPackage {
pname = "attic";
-
version = "0-unstable-2025-08-16";
+
version = "0-unstable-2025-08-28";
src = fetchFromGitHub {
owner = "zhaofengli";
repo = "attic";
-
rev = "c1cfee9b63e48d9cee18e538ca32f1721078de91";
-
hash = "sha256-cKw1bfEwW+pQWsvzOAe0GfsSNXTSFS+5MYcZFQB5dFc=";
+
rev = "2524dd1c007bc7a0a9e9c863a1b02de8d54b319b";
+
hash = "sha256-S4SJDmVTtbcXaJkYrMFkcA5SDrpfRHlBbzwp6IRRPAw=";
};
nativeBuildInputs = [
+2 -2
pkgs/by-name/bi/bind/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "bind";
-
version = "9.20.11";
+
version = "9.20.12";
src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/bind-${finalAttrs.version}.tar.xz";
-
hash = "sha256-TaLVMuZovCHog/bm2dPYF5TZ7GCxgVMDhWSaVvRu4Xo=";
+
hash = "sha256-3TLW62dQTopDCq9wtO+JTz0CJrRMfgI3DJsNN38ceZk=";
};
outputs = [
+3 -3
pkgs/by-name/ca/cargo-binstall/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
-
version = "1.14.3";
+
version = "1.15.3";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
rev = "v${version}";
-
hash = "sha256-mfnrj+mqDvJ5VlpZ6/AETSjDCIF0LaqPQW1yXiuTlvY=";
+
hash = "sha256-q8zDggvzEyK/kAgDCW98UX1VLR0+jAvHn+hSyQa99dk=";
};
-
cargoHash = "sha256-6RPDiTqn+yoyu3qn28bsBTHgcKnOjqT2ZXIm65AGwag=";
+
cargoHash = "sha256-HreVuk49FZm90XxUpkfInoSQvILOHirejf/dbx42iTI=";
nativeBuildInputs = [
pkg-config
+3 -3
pkgs/by-name/ca/catppuccin-kvantum/package.nix
···
stdenvNoCC.mkDerivation
{
inherit pname;
-
version = "0-unstable-2025-08-09";
+
version = "0-unstable-2025-08-18";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "Kvantum";
-
rev = "48246af7ad19a6b9cde04526a9b57afdecfa0b7b";
-
hash = "sha256-Axjl2jQinpazVz8w7yFSWkjG/CnmEMmcmrACJrdS1zg=";
+
rev = "c7cb144b041395e83e4f510a62526b7adfb79911";
+
hash = "sha256-YNUkri+no+rNLTJHf6cPdy4AmQLzPiRK1Jbp2o8e1LE=";
};
installPhase = ''
+9 -9
pkgs/by-name/do/dolt/package.nix
···
buildGoModule,
}:
-
buildGoModule rec {
+
buildGoModule (finalAttrs: {
pname = "dolt";
-
version = "1.58.5";
+
version = "1.59.2";
src = fetchFromGitHub {
owner = "dolthub";
repo = "dolt";
-
rev = "v${version}";
-
sha256 = "sha256-ieMAld3wssub+vdNNassjpc3X1KPSNhR6GK/EmIwQ28=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-qIV4pbyrN40joXCgmE0e1EDkfRaHC/G1lwdkpzrO5fU=";
};
modRoot = "./go";
subPackages = [ "cmd/dolt" ];
-
vendorHash = "sha256-Mr51zbGBnO0sb9KDBiidFpRZk7wHJqbY1fYnXwgqJA8=";
+
vendorHash = "sha256-DPo1xzV11Q9emVIlrBFQcWXGNXKfYOKzR/hi5nJJp34=";
proxyVendor = true;
doCheck = false;
-
meta = with lib; {
+
meta = {
description = "Relational database with version control and CLI a-la Git";
mainProgram = "dolt";
homepage = "https://github.com/dolthub/dolt";
-
license = licenses.asl20;
-
maintainers = with maintainers; [ danbst ];
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ danbst ];
};
-
}
+
})
+13 -1
pkgs/by-name/dt/dtc/package.nix
···
which,
pythonSupport ? false,
python ? null,
+
replaceVars,
swig,
libyaml,
}:
···
url = "https://github.com/dgibson/dtc/commit/ce1d8588880aecd7af264e422a16a8b33617cef7.patch";
hash = "sha256-t1CxKnbCXUArtVcniAIdNvahOGXPbYhPCZiTynGLvfo=";
})
-
];
+
]
+
++
+
lib.optional pythonSupport
+
# Make Meson use our Python version, not the one it was built with itself
+
(
+
replaceVars ./python-path.patch {
+
python_bin = lib.getExe python;
+
}
+
);
env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version;
···
postPatch = ''
patchShebangs setup.py
+
+
# Align the name with pypi
+
sed -i "s/name='libfdt',/name='pylibfdt',/" setup.py
'';
# Required for installation of Python library and is innocuous otherwise.
+12
pkgs/by-name/dt/dtc/python-path.patch
···
+
diff --git a/meson.build b/meson.build
+
index 310699f..4e2b8a4 100644
+
--- a/meson.build
+
+++ b/meson.build
+
@@ -48,7 +48,7 @@ if not valgrind.found()
+
endif
+
+
py = import('python')
+
-py = py.find_installation(required: get_option('python'))
+
+py = py.find_installation('@python_bin@', required: get_option('python'))
+
swig = find_program('swig', required: get_option('python'))
+
pylibfdt_enabled = not meson.is_cross_build() and py.found() and swig.found() ? true : false
+3 -3
pkgs/by-name/ek/eksctl/package.nix
···
buildGoModule rec {
pname = "eksctl";
-
version = "0.212.0";
+
version = "0.214.0";
src = fetchFromGitHub {
owner = "weaveworks";
repo = "eksctl";
rev = version;
-
hash = "sha256-XOnRMD4EG0N8A2s4YlXqiukt9y6/YbHdJxGz9MM/iLc=";
+
hash = "sha256-JsVW1JC3VdxCJpngPCkrIbH5B/YlAKOc/SOIEo7s8mo=";
};
-
vendorHash = "sha256-WtrJJZRbH5RuKUJCXDqu9YuEIBflzvmIAWNqbTgcFeo=";
+
vendorHash = "sha256-0tdhi2uqC1aIK9Nkfr9OuV0mCWiT0sNX1W3hgz1vslU=";
doCheck = false;
+42 -42
pkgs/by-name/fa/factorio/versions.json
···
"alpha": {
"experimental": {
"candidateHashFilenames": [
-
"factorio_linux_2.0.64.tar.xz"
+
"factorio_linux_2.0.66.tar.xz"
],
-
"name": "factorio_alpha_x64-2.0.64.tar.xz",
+
"name": "factorio_alpha_x64-2.0.66.tar.xz",
"needsAuth": true,
-
"sha256": "2c9ac3fa4a0c8433960edb8ba74b832e7e883c41ea73dda69b1608d4e967e826",
+
"sha256": "8140abc1017b00de329244e62ae7866406a96c2b5ee6f3d481aeaf86c7f8738a",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.64/alpha/linux64",
-
"version": "2.0.64"
+
"url": "https://factorio.com/get-download/2.0.66/alpha/linux64",
+
"version": "2.0.66"
},
"stable": {
"candidateHashFilenames": [
-
"factorio_linux_2.0.60.tar.xz"
+
"factorio_linux_2.0.66.tar.xz"
],
-
"name": "factorio_alpha_x64-2.0.60.tar.xz",
+
"name": "factorio_alpha_x64-2.0.66.tar.xz",
"needsAuth": true,
-
"sha256": "d022ee9a9b7376077687232c16a3c809e847dab00e02915ec146fb4b548dd24f",
+
"sha256": "8140abc1017b00de329244e62ae7866406a96c2b5ee6f3d481aeaf86c7f8738a",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.60/alpha/linux64",
-
"version": "2.0.60"
+
"url": "https://factorio.com/get-download/2.0.66/alpha/linux64",
+
"version": "2.0.66"
}
},
"demo": {
"experimental": {
"candidateHashFilenames": [
-
"factorio-demo_linux_2.0.42.tar.xz"
+
"factorio-demo_linux_2.0.66.tar.xz"
],
-
"name": "factorio_demo_x64-2.0.42.tar.xz",
+
"name": "factorio_demo_x64-2.0.66.tar.xz",
"needsAuth": false,
-
"sha256": "eb06c7521f7ed557e6642a7954b0395ee5c993367e1f97c65f0336a94abbba42",
+
"sha256": "74250b0717d41406dc297d0a75103c91413b2b68395e4f3260c5c67cbeec4bda",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.42/demo/linux64",
-
"version": "2.0.42"
+
"url": "https://factorio.com/get-download/2.0.66/demo/linux64",
+
"version": "2.0.66"
},
"stable": {
"candidateHashFilenames": [
-
"factorio-demo_linux_2.0.42.tar.xz"
+
"factorio-demo_linux_2.0.66.tar.xz"
],
-
"name": "factorio_demo_x64-2.0.42.tar.xz",
+
"name": "factorio_demo_x64-2.0.66.tar.xz",
"needsAuth": false,
-
"sha256": "eb06c7521f7ed557e6642a7954b0395ee5c993367e1f97c65f0336a94abbba42",
+
"sha256": "74250b0717d41406dc297d0a75103c91413b2b68395e4f3260c5c67cbeec4bda",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.42/demo/linux64",
-
"version": "2.0.42"
+
"url": "https://factorio.com/get-download/2.0.66/demo/linux64",
+
"version": "2.0.66"
}
},
"expansion": {
"experimental": {
"candidateHashFilenames": [
-
"factorio-space-age_linux_2.0.64.tar.xz"
+
"factorio-space-age_linux_2.0.66.tar.xz"
],
-
"name": "factorio_expansion_x64-2.0.64.tar.xz",
+
"name": "factorio_expansion_x64-2.0.66.tar.xz",
"needsAuth": true,
-
"sha256": "e86f813290d636da9a0715f6700d7b3a60998714146417442688599551529683",
+
"sha256": "98443ba14d65ba8f4b268a73b6c40e4a27d6fc50ddf80e7286bb4a3b49cc4bbb",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.64/expansion/linux64",
-
"version": "2.0.64"
+
"url": "https://factorio.com/get-download/2.0.66/expansion/linux64",
+
"version": "2.0.66"
},
"stable": {
"candidateHashFilenames": [
-
"factorio-space-age_linux_2.0.60.tar.xz"
+
"factorio-space-age_linux_2.0.66.tar.xz"
],
-
"name": "factorio_expansion_x64-2.0.60.tar.xz",
+
"name": "factorio_expansion_x64-2.0.66.tar.xz",
"needsAuth": true,
-
"sha256": "56a933745f2cf3144bc984031229cb7b8a16eace523fa9288e8eca915e4d8186",
+
"sha256": "98443ba14d65ba8f4b268a73b6c40e4a27d6fc50ddf80e7286bb4a3b49cc4bbb",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.60/expansion/linux64",
-
"version": "2.0.60"
+
"url": "https://factorio.com/get-download/2.0.66/expansion/linux64",
+
"version": "2.0.66"
}
},
"headless": {
"experimental": {
"candidateHashFilenames": [
-
"factorio-headless_linux_2.0.64.tar.xz",
-
"factorio_headless_x64_2.0.64.tar.xz"
+
"factorio-headless_linux_2.0.66.tar.xz",
+
"factorio_headless_x64_2.0.66.tar.xz"
],
-
"name": "factorio_headless_x64-2.0.64.tar.xz",
+
"name": "factorio_headless_x64-2.0.66.tar.xz",
"needsAuth": false,
-
"sha256": "729480a81fc3b3bd105bd0c92e108ee1caaac7840cc168cb32b0f9db8759a28a",
+
"sha256": "f1b3976eacc4e233800d399d90006c356fa366f5d64341c504c95c0cba321c06",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.64/headless/linux64",
-
"version": "2.0.64"
+
"url": "https://factorio.com/get-download/2.0.66/headless/linux64",
+
"version": "2.0.66"
},
"stable": {
"candidateHashFilenames": [
-
"factorio-headless_linux_2.0.60.tar.xz",
-
"factorio_headless_x64_2.0.60.tar.xz"
+
"factorio-headless_linux_2.0.66.tar.xz",
+
"factorio_headless_x64_2.0.66.tar.xz"
],
-
"name": "factorio_headless_x64-2.0.60.tar.xz",
+
"name": "factorio_headless_x64-2.0.66.tar.xz",
"needsAuth": false,
-
"sha256": "69b5be1a867fd99524f9914dfee900a1ac386cf4e74c4a63768c05dc4d2b2b0b",
+
"sha256": "f1b3976eacc4e233800d399d90006c356fa366f5d64341c504c95c0cba321c06",
"tarDirectory": "x64",
-
"url": "https://factorio.com/get-download/2.0.60/headless/linux64",
-
"version": "2.0.60"
+
"url": "https://factorio.com/get-download/2.0.66/headless/linux64",
+
"version": "2.0.66"
}
}
}
+55
pkgs/by-name/ge/gemini-cli-bin/package.nix
···
+
{
+
lib,
+
stdenvNoCC,
+
fetchurl,
+
nodejs,
+
gitUpdater,
+
}:
+
let
+
owner = "google-gemini";
+
repo = "gemini-cli";
+
asset = "gemini.js";
+
in
+
stdenvNoCC.mkDerivation (finalAttrs: {
+
pname = "gemini-cli-bin";
+
version = "0.3.4";
+
+
src = fetchurl {
+
url = "https://github.com/${owner}/${repo}/releases/download/v${finalAttrs.version}/${asset}";
+
hash = "sha256-aVcizpbzV1hPsuMSGRxgMGXTyF+0yBqGk7EwPnKFDyQ=";
+
};
+
+
phases = [
+
"installPhase"
+
"fixupPhase"
+
];
+
+
strictDeps = true;
+
+
buildInputs = [ nodejs ];
+
+
installPhase = ''
+
runHook preInstall
+
+
install -D "$src" "$out/bin/gemini"
+
+
runHook postInstall
+
'';
+
+
passthru.updateScript = [
+
./update-asset.sh
+
"${owner}/${repo}"
+
"${asset}"
+
];
+
+
meta = {
+
description = "AI agent that brings the power of Gemini directly into your terminal";
+
homepage = "https://github.com/google-gemini/gemini-cli";
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ ljxfstorm ];
+
mainProgram = "gemini";
+
platforms = lib.platforms.linux ++ lib.platforms.darwin;
+
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
+
priority = 10;
+
};
+
})
+34
pkgs/by-name/ge/gemini-cli-bin/update-asset.sh
···
+
#!/usr/bin/env nix-shell
+
#!nix-shell -i bash -p gnugrep curl jq gnused
+
+
set -euo pipefail
+
+
cd "$(dirname "${BASH_SOURCE[0]}")"
+
+
NIX_FILE="package.nix"
+
RELEASE_ID="latest"
+
+
GITHUB_REPO="$1"
+
ASSET_NAME="$2"
+
REV_PREFIX="${3:-v}"
+
+
CURRENT_VER="$(grep -oP 'version = "\K[^"]+' "${NIX_FILE}")"
+
CURRENT_HASH="$(grep -oP 'hash = "\K[^"]+' "${NIX_FILE}")"
+
{
+
read -r LATEST_VER
+
read -r ASSET_DIGEST
+
} < <(curl --fail -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} "https://api.github.com/repos/${GITHUB_REPO}/releases/${RELEASE_ID}" | jq -r ".tag_name, (.assets[] | select(.name == \"${ASSET_NAME}\") | .digest)")
+
+
LATEST_VER="${LATEST_VER#"${REV_PREFIX}"}"
+
+
if [[ "${LATEST_VER}" == "${CURRENT_VER}" ]]; then
+
echo "Up to date."
+
exit 0
+
fi
+
+
LATEST_HASH="$(nix-hash --to-sri "${ASSET_DIGEST}")"
+
+
sed -i "s#hash = \"${CURRENT_HASH}\";#hash = \"${LATEST_HASH}\";#g" "${NIX_FILE}"
+
sed -i "s#version = \"${CURRENT_VER}\";#version = \"${LATEST_VER}\";#g" "${NIX_FILE}"
+
+
echo "Successfully updated from ${CURRENT_VER} to version ${LATEST_VER}."
+2 -2
pkgs/by-name/gi/git-quick-stats/package.nix
···
stdenv.mkDerivation rec {
pname = "git-quick-stats";
-
version = "2.7.0";
+
version = "2.8.0";
src = fetchFromGitHub {
repo = "git-quick-stats";
owner = "arzzen";
rev = version;
-
sha256 = "sha256-utY3oD0IqnqyyDJv7i4hLkLCXukNcYSdZcaj8NUwRu0=";
+
sha256 = "sha256-YVvlrlNRDDci7fH9LW4NxZcIkakVgvKe9FhJ2gCfoXg=";
};
nativeBuildInputs = [ makeWrapper ];
+5 -2
pkgs/by-name/gn/gnucobol/package.nix
···
lib,
stdenv,
fetchurl,
-
autoconf269,
+
autoconf,
automake,
libtool,
pkg-config,
···
nativeBuildInputs = [
pkg-config
-
autoconf269
+
autoconf
automake
help2man
libtool
···
sed -i "/^843;/d" tests/testsuite
# test 875 (INDEXED sample)
sed -i "/^875;/d" tests/testsuite
+
+
# gnucobol.texi:2765: no matching `@end verbatim'
+
sed -i "214i @end verbatim" doc/cbrunt.tex
'';
preConfigure = ''
+3 -3
pkgs/by-name/hu/hugo/package.nix
···
buildGoModule (finalAttrs: {
pname = "hugo";
-
version = "0.148.2";
+
version = "0.149.1";
src = fetchFromGitHub {
owner = "gohugoio";
repo = "hugo";
tag = "v${finalAttrs.version}";
-
hash = "sha256-6ILQRihdVkDrL5sEITfGzzMzXFmvYpO39s/QeUAVW6o=";
+
hash = "sha256-IGgh3uipi1HWdB3Y9hNGMUFL1WQVDGJlxd1dNK7OhH8=";
};
-
vendorHash = "sha256-vckvhw1kpcI2SXSNjUR6u5o21qz9ZcWw+namDglpwxc=";
+
vendorHash = "sha256-d1eZ452ia2bj6ahEl1Mbva2iBi5IaKeYidP9bg7Thtc=";
checkFlags =
let
+9 -7
pkgs/by-name/ir/irqbalance/package.nix
···
stdenv.mkDerivation rec {
pname = "irqbalance";
-
version = "1.9.4";
+
version = "1.9.4-unstable-2025-06-10";
src = fetchFromGitHub {
-
owner = "irqbalance";
+
owner = "Irqbalance";
repo = "irqbalance";
-
rev = "v${version}";
-
sha256 = "sha256-7es7wwsPnDSF37uL5SCgAQB+u+qGWmWDHOh3JkHuXMs=";
+
rev = "8e8945e5092caf45605dfb1e66165e2eb9ec1f56";
+
sha256 = "sha256-DSXFJZ0MyI10ZVFcGY0Sx1kye1ALMeG41nmyqbfO8vQ=";
};
nativeBuildInputs = [
···
configureFlags = lib.optionals enableSystemd [
"--with-systemd"
+
"systemdsystemunitdir=$$out/lib/systemd/system"
];
postInstall = ''
# Systemd service
-
mkdir -p "$out/lib/systemd/system"
-
grep -vi "EnvironmentFile" misc/irqbalance.service >"$out/lib/systemd/system/irqbalance.service"
+
sed -i "/^EnvironmentFile=/d" "$out/lib/systemd/system/irqbalance.service"
substituteInPlace "$out/lib/systemd/system/irqbalance.service" \
--replace-fail /usr/sbin/irqbalance "$out/bin/irqbalance --journal" \
--replace-fail ' $IRQBALANCE_ARGS' ""
···
meta = {
homepage = "https://github.com/Irqbalance/irqbalance";
-
changelog = "https://github.com/Irqbalance/irqbalance/releases/tag/v${version}";
+
changelog = lib.strings.optionalString (
+
!lib.strings.hasInfix "-unstable-" version
+
) "https://github.com/Irqbalance/irqbalance/releases/tag/v${version}";
description = "Daemon to help balance the cpu load generated by interrupts across all of a systems cpus";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
+3 -3
pkgs/by-name/jo/joplin-desktop/release-data.json
···
{
-
"version": "3.4.6",
-
"hash": "sha256-++9FYxeRVPPesw8ZYH6a2UdYTkaU7sJa8lURqBsYy94=",
+
"version": "3.4.10",
+
"hash": "sha256-BN+6Db4I4Rumr4V6scjpnfiYlJ6fkaI3tiqU2fWoZJQ=",
"plugins": {
"io.github.jackgruber.backup": {
"name": "joplin-plugin-backup",
···
"npmDepsHash": "sha256-qwhVFSDafTnKihcwZtLK5fS/Nc15e+ezAso47T1LGec="
}
},
-
"deps_hash": "sha256-j/Ge+OdWQw+Ja9S9D8tjERiO2uifeSa4Za/IyzrIRSw="
+
"deps_hash": "sha256-7sZX39OtNNPq5RE7+Oj58QqHhcrTY8FOdncKp3b40jQ="
}
+2 -2
pkgs/by-name/la/lagrange/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "lagrange";
-
version = "1.18.8";
+
version = "1.19.1";
src = fetchFromGitHub {
owner = "skyjake";
repo = "lagrange";
tag = "v${finalAttrs.version}";
-
hash = "sha256-wJ+rfg0LSdtbQ4GyBvPGEpc/Ml67ivlxhnqQskJtsuw=";
+
hash = "sha256-OsyWedXer1xFnPCYRpFeBQfUjpFhGViqx2FTOeZV4PI=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/la/lazysql/package.nix
···
buildGoModule rec {
pname = "lazysql";
-
version = "0.4.0";
+
version = "0.4.1";
src = fetchFromGitHub {
owner = "jorgerojas26";
repo = "lazysql";
rev = "v${version}";
-
hash = "sha256-XQjdMmHVrNzfQN/uFQFxGK9LwnRh1IkAvRQSDcAYWXo=";
+
hash = "sha256-M6G0Bp9s1XhgZL9BZDzbJmUmE+UHidpsGIaNt1i7CGw=";
};
-
vendorHash = "sha256-LLOUTml/mz7edCUy82k+S5PfpFovgUTQr0BoQQXiVGs=";
+
vendorHash = "sha256-NGwCTEh1/5dJWOCSe18FZYYu8v7Mj6MWVEWyNNA1T68=";
ldflags = [
"-X main.version=${version}"
+2 -2
pkgs/by-name/li/libatomic_ops/package.nix
···
stdenv.mkDerivation rec {
pname = "libatomic_ops";
-
version = "7.8.2";
+
version = "7.8.4";
src = fetchurl {
urls = [
"http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz"
"https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz"
];
-
sha256 = "sha256-0wUgf+IH8rP7XLTAGdoStEzj/LxZPf1QgNhnsaJBm1E=";
+
sha256 = "sha256-I1bgAugO9pWHXpcdak/YxhylxvpP0b8xzOVKJpyL/NU=";
};
outputs = [
+2 -2
pkgs/by-name/ma/matomo/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "matomo";
-
version = "5.3.2";
+
version = "5.4.0";
src = fetchurl {
url = "https://builds.matomo.org/matomo-${finalAttrs.version}.tar.gz";
-
hash = "sha256-rn5Lr2BSrGitI16MLlP91znSPm2Asd6j0qI8N+1c+Lo=";
+
hash = "sha256-PRZYqJBebDsjeT9WBArRX3GKFbW5TtejV2FOo8jjaMU=";
};
nativeBuildInputs = [ makeWrapper ];
-1
pkgs/by-name/ox/oxidized/.bundle/config
···
-
BUNDLE_BUILD__RUGGED: --with-ssh
+56 -5
pkgs/by-name/ox/oxidized/package.nix
···
bundlerApp,
bundlerUpdateScript,
nixosTests,
+
libssh2,
+
pkg-config,
+
openssl,
+
cmake,
+
libgit2,
+
icu,
+
which,
+
file,
+
zlib,
+
libyaml,
}:
bundlerApp {
···
"oxs"
];
+
gemConfig = {
+
rugged = attrs: {
+
buildInputs = [
+
pkg-config
+
cmake
+
];
+
nativeBuildInputs = [
+
pkg-config
+
cmake
+
];
+
propagatedBuildInputs = [
+
libssh2
+
openssl
+
libgit2
+
];
+
+
dontUseCmakeConfigure = true;
+
buildFlags = [ "--with-ssh" ];
+
};
+
+
charlock_holmes = attrs: {
+
buildInputs = [
+
icu
+
zlib
+
];
+
nativeBuildInputs = [
+
which
+
pkg-config
+
file
+
];
+
};
+
+
psych = attrs: {
+
buildInputs = [ libyaml ];
+
nativeBuildInputs = [ pkg-config ];
+
};
+
};
+
passthru = {
tests = nixosTests.oxidized;
updateScript = bundlerUpdateScript "oxidized";
};
-
meta = with lib; {
+
meta = {
description = "Network device configuration backup tool. It's a RANCID replacement";
homepage = "https://github.com/ytti/oxidized";
-
license = licenses.asl20;
-
maintainers = with maintainers; [ nicknovitski ];
-
teams = [ teams.wdz ];
-
platforms = platforms.linux;
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [
+
nicknovitski
+
liberodark
+
];
+
teams = with lib.teams; [ wdz ];
+
platforms = lib.platforms.linux;
};
}
+3 -3
pkgs/by-name/pi/pixelfed/package.nix
···
php.buildComposerProject2 (finalAttrs: {
pname = "pixelfed";
-
version = "0.12.5";
+
version = "0.12.6";
src = fetchFromGitHub {
owner = "pixelfed";
repo = "pixelfed";
tag = "v${finalAttrs.version}";
-
hash = "sha256-bPoYEPCWj7vAKDL/P4yjhrfp4HK9sbBh4eK0Co+xaZc=";
+
hash = "sha256-FxJWoFNyIGQ6o9g2Q0/jaBMyeH8UnbTgha2goHAurvY=";
};
-
vendorHash = "sha256-nJCxWIrsdGQxdiJe9skHv4AnqUpqZHuqXrl/cQrT9Ps=";
+
vendorHash = "sha256-ciHP6dE42pXupZl4V37RWcHkIZ+xf6cnpwqd3C1dNmQ=";
postInstall = ''
chmod -R u+w $out/share
+2 -2
pkgs/by-name/q/q/package.nix
···
buildGoModule rec {
pname = "q";
-
version = "0.19.5";
+
version = "0.19.8";
src = fetchFromGitHub {
owner = "natesales";
repo = "q";
tag = "v${version}";
-
hash = "sha256-Chvh+L1RV/T/blFjGS2wiJynXxbWE6eKbu4TRTFTb3o=";
+
hash = "sha256-kR++GyCdv/5/7E+BeZdTQTjokh2vU5sXjz0f/Ld18g0=";
};
vendorHash = "sha256-7OknLdkJB3ujX/DL+DVdWFK5RcoEw5R9h/KY4OfKeCw=";
+3 -3
pkgs/by-name/rn/rnote/package.nix
···
stdenv.mkDerivation rec {
pname = "rnote";
-
version = "0.12.0";
+
version = "0.13.0";
src = fetchFromGitHub {
owner = "flxzt";
repo = "rnote";
tag = "v${version}";
-
hash = "sha256-uEYamKIZIjR7c2LB+GydLmxy+EhcKrcxV+9vsveqGVk=";
+
hash = "sha256-YA2iqHqeh1uZsXSwyn4EWYAUXUgXvshNqSo6MS8U6ZQ=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
-
hash = "sha256-bzB4yjBcMsOqbq1UCgPFErzVOXs55qy+CYBUinGEbg4=";
+
hash = "sha256-p5GrvzECinqCryvMNfSI8QZTXHnytI7jJqolkX76lOo=";
};
nativeBuildInputs = [
+1 -2
pkgs/by-name/sn/snagboot/package.nix
···
];
pythonRemoveDeps = [
-
"pylibfdt"
"swig"
];
···
pyserial
tftpy
crccheck
-
# pylibfdt
+
libfdt
# swig
packaging
];
+11 -13
pkgs/by-name/sq/squid/package.nix
···
ipv6 ? true,
nixosTests,
}:
-
stdenv.mkDerivation (finalAttrs: {
pname = "squid";
-
version = "7.0.1";
+
version = "7.1";
src = fetchurl {
url = "https://github.com/squid-cache/squid/releases/download/SQUID_${
builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
}/squid-${finalAttrs.version}.tar.xz";
-
hash = "sha256-Bw3Y5iGtItRdcAYF6xnSysG2zae3PwTzRXjTw/2N35s=";
+
hash = "sha256-djtaeFYc7cTkdjT6QrjmuNRsh8lJoVG056wjltL5feo=";
};
nativeBuildInputs = [ pkg-config ];
···
cd test-suite/
'';
-
installPhase = ''
-
runHook preInstall
-
mkdir -p $out/bin $out/libexec $out/etc $out/share
+
# exit from test-suite/ dir back to src root for correct makefile
+
postCheck = ''
cd ..
-
cp src/squid $out/bin
-
cp src/unlinkd $out/libexec
-
cp src/mime.conf.default $out/etc/mime.conf
-
cp src/log/file/log_file_daemon $out/libexec
-
cp -r icons $out/share
-
cp -r errors $out/share
-
runHook postInstall
+
'';
+
+
# remove unusual nixos paths (pre-made /var dirs, config grammar) and rename sbin output
+
postInstall = ''
+
rm -r $out/var
+
rm $out/share/mib.txt
+
mv $out/sbin $out/bin
'';
passthru.tests.squid = nixosTests.squid;
+3 -3
pkgs/by-name/st/steel/package.nix
···
}:
rustPlatform.buildRustPackage {
pname = "steel";
-
version = "0-unstable-2025-08-30";
+
version = "0-unstable-2025-09-06";
src = fetchFromGitHub {
owner = "mattwparas";
repo = "steel";
-
rev = "c24b1f36012850e54375c9421d7289aae6fc528e";
-
hash = "sha256-zKdIPW2r/8l1Qo+4nGToAk1+3PuT+M/norYw3+ywfhI=";
+
rev = "0ff387fce6fc4a02fad4cde594f7db09598ef73d";
+
hash = "sha256-1f+OhoTkdk+mW+PawrrqWYW5HpIpFZ3nO5IJP68/LzM=";
};
cargoHash = "sha256-a7wene1oI2lhMUo8iguosXyk1G12bhrEdK7IJ/WgRq4=";
+2 -2
pkgs/by-name/th/the-foundation/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "the-foundation";
-
version = "1.9.1";
+
version = "1.10.0";
src = fetchFromGitea {
domain = "git.skyjake.fi";
owner = "skyjake";
repo = "the_Foundation";
rev = "v${finalAttrs.version}";
-
hash = "sha256-M3nG/926bz9US4R9cTyBw2n6oNy7VriGGzuHgRWX4eg=";
+
hash = "sha256-+z5vw6TIs+5RyS3CLSLIdflJqnDu8NL+yFHpSxwG2fM=";
};
nativeBuildInputs = [
+4 -4
pkgs/by-name/tm/tmuxinator/package.nix
···
inherit ruby;
name = "${gemName}-${version}";
gemName = "tmuxinator";
-
version = "3.3.3";
-
source.sha256 = "sha256-kT0S5I+x5qYKqMwSOQl1je1zfOPOj2KT8YvJc7jFp5A=";
+
version = "3.3.5";
+
source.sha256 = "sha256-lkP0gCjMCcc8MpOA7aLrQut7jkpaZt9v9GWqh4C/JyE=";
erubi = buildRubyGem rec {
inherit ruby;
···
inherit ruby;
name = "ruby${ruby.version}-${gemName}-${version}";
gemName = "thor";
-
version = "1.3.2";
-
source.sha256 = "sha256-7vApO54kFYzK16s4Oug1NLetTtmcCflvGmsDZVCrvto=";
+
version = "1.4.0";
+
source.sha256 = "sha256-h2PoIsyw8de+6IzeExsZplYGZXuEfMe3tLgudyvNij0=";
};
xdg = buildRubyGem rec {
+13 -11
pkgs/by-name/tr/tradingview/package.nix
···
libsecret,
libxkbcommon,
libgbm,
+
libGL,
pango,
sqlite,
systemd,
···
stdenv.mkDerivation (finalAttrs: {
pname = "tradingview";
-
version = "2.9.6";
-
revision = "63";
+
version = "2.12.0";
+
revision = "66";
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap";
-
hash = "sha256-WmeGtR/rOzlgTpa1JZKskxre2ONtzppYsA/yhDhv5TI=";
+
hash = "sha512-ydk0/mJh4M02oIEfU3PKTwEO+nMpeJGuxQAly8WqJLx5GOQAb/J7VRB8IQpHHqWGeRfbwhantdZryQF8ngFJ/g==";
};
nativeBuildInputs = [
···
libsecret
libxkbcommon
libgbm
+
libGL
pango
sqlite
systemd
···
mkdir -p $out/share
cp -r squashfs-root $out/share/tradingview
rm -rf $out/share/tradingview/meta
-
-
install -Dm444 squashfs-root/meta/gui/tradingview.desktop -t $out/share/applications
-
substituteInPlace $out/share/applications/tradingview.desktop \
+
substituteInPlace squashfs-root/meta/gui/tradingview.desktop \
--replace-fail \$\{SNAP}/meta/gui/icon.png tradingview
-
-
mkdir $out/share/icons
-
cp squashfs-root/meta/gui/icon.png $out/share/icons/tradingview.png
-
+
install -D --mode 644 squashfs-root/meta/gui/tradingview.desktop -t $out/share/applications
+
install -D --mode 644 squashfs-root/meta/gui/icon.png $out/share/icons/hicolor/512x512/apps/tradingview.png
mkdir $out/bin
-
makeBinaryWrapper $out/share/tradingview/tradingview $out/bin/tradingview \
+
makeWrapper $out/share/tradingview/tradingview $out/bin/tradingview \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath finalAttrs.buildInputs}
runHook postInstall
+
'';
+
+
preFixup = ''
+
patchelf --add-needed libGL.so.1 $out/share/tradingview/tradingview
'';
passthru.updateScript = ./update.sh;
+6 -27
pkgs/by-name/tr/tradingview/update.sh
···
#!/usr/bin/env nix-shell
-
#! nix-shell -i bash -p curl jq git gnused gnugrep
+
#! nix-shell -i bash -p curl jq gitMinimal gnused gnugrep
#
# Get latest version of TradingView from Snapcraft.
#
snap_info=($(
-
curl -s -H 'X-Ubuntu-Series: 16' \
-
'https://api.snapcraft.io/api/v1/snaps/details/tradingview' \
-
| jq --raw-output \
-
'.revision,.download_sha512,.version,.last_updated'
+
curl --silent --header 'X-Ubuntu-Series: 16' \
+
'https://api.snapcraft.io/api/v1/snaps/details/tradingview' |
+
jq --raw-output \
+
'.revision,.download_sha512,.version,.last_updated'
))
# "revision" is the actual version identifier; "version" is for human consumption.
···
nixpkgs="$(git rev-parse --show-toplevel)"
tradingview_nix="$nixpkgs/pkgs/by-name/tr/tradingview/package.nix"
-
current_nix_version=$(
-
grep 'version\s*=' "$tradingview_nix" \
-
| sed -Ene 's/.*"(.*)".*/\1/p'
-
)
+
current_nix_version=$(nix eval --raw --file . tradingview.version)
echo "Current nix version: $current_nix_version"
···
-e 's#hash\s*=\s*"[^"]*"\s*;#hash = "'"${sri}"'";#' \
-e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \
-i "$tradingview_nix"
-
-
#
-
# Attempt a build.
-
#
-
-
export NIXPKGS_ALLOW_UNFREE=1
-
-
if ! nix-build -A tradingview "$nixpkgs"; then
-
echo "The updated TradingView failed to build."
-
exit 1
-
fi
-
-
#
-
# Commit changes.
-
#
-
git add "$tradingview_nix"
-
git commit -m "tradingview: ${current_nix_version} -> ${upstream_version}"
-
+2 -2
pkgs/by-name/uv/uv-sort/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "uv-sort";
-
version = "0.6.0";
+
version = "0.6.1";
pyproject = true;
# Build from GitHub does not work. Use fetchPypi instead of fetchFromGitHub.
···
src = fetchPypi {
pname = "uv_sort";
inherit version;
-
hash = "sha256-umKMcQcQST0bBGf7ZXxNcWq/5/ht3jp+3JVjowBdeO0=";
+
hash = "sha256-ovOCiu22ClSheWDsPBAx5s+LcR5jIQFqb1Dm0wpEKGU=";
};
postPatch = ''
+2 -2
pkgs/by-name/vu/vunnel/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "vunnel";
-
version = "0.38.0";
+
version = "0.38.2";
pyproject = true;
src = fetchFromGitHub {
owner = "anchore";
repo = "vunnel";
tag = "v${version}";
-
hash = "sha256-sb22uR34yZxLMwac15Q6d17K/TP2rAXUGFMzKyA05Lg=";
+
hash = "sha256-Ec6gPwg5I5QplILFXlwl6AmwlaBytkRiQ9+FoRKdhTY=";
leaveDotGit = true;
};
pkgs/by-name/zl/zls/deps.nix pkgs/development/tools/zls/deps_0_14.nix
-40
pkgs/by-name/zl/zls/package.nix
···
-
{
-
lib,
-
stdenv,
-
zig_0_14,
-
fetchFromGitHub,
-
callPackage,
-
}:
-
-
stdenv.mkDerivation (finalAttrs: {
-
pname = "zls";
-
version = "0.14.0";
-
-
src = fetchFromGitHub {
-
owner = "zigtools";
-
repo = "zls";
-
tag = finalAttrs.version;
-
fetchSubmodules = true;
-
hash = "sha256-A5Mn+mfIefOsX+eNBRHrDVkqFDVrD3iXDNsUL4TPhKo=";
-
};
-
-
nativeBuildInputs = [ zig_0_14.hook ];
-
-
postPatch = ''
-
ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
-
'';
-
-
meta = {
-
description = "Zig LSP implementation + Zig Language Server";
-
mainProgram = "zls";
-
changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
-
homepage = "https://github.com/zigtools/zls";
-
license = lib.licenses.mit;
-
maintainers = with lib.maintainers; [
-
figsoda
-
moni
-
_0x5a4
-
];
-
platforms = lib.platforms.unix;
-
};
-
})
+2 -2
pkgs/development/compilers/binaryen/default.nix
···
in
stdenv.mkDerivation rec {
pname = "binaryen";
-
version = "123";
+
version = "124";
src = fetchFromGitHub {
owner = "WebAssembly";
repo = "binaryen";
rev = "version_${version}";
-
hash = "sha256-SFruWOJVxO3Ll1HwjK3DYSPY2IprnDly7QjxrECTrzE=";
+
hash = "sha256-tkvO0gNESliRV6FOpXDQd7ZKujGe6q1mGX5V+twcE1o=";
};
nativeBuildInputs = [
-4
pkgs/development/compilers/ghc/9.0.2.nix
···
-
import ./common-make-native-bignum.nix {
-
version = "9.0.2";
-
sha256 = "140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197";
-
}
+4 -25
pkgs/development/compilers/ghc/common-make-native-bignum.nix
···
]
)
-
++ lib.optionals (lib.versionAtLeast version "9.2") [
+
++ [
# Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs
# Can be removed if the Cabal library included with ghc backports the linked fix
(fetchpatch {
···
stripLen = 1;
extraPrefix = "libraries/Cabal/";
sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY=";
-
})
-
]
-
-
++ lib.optionals (lib.versionOlder version "9.2.2") [
-
# Add flag that fixes C++ exception handling; opt-in. Merged in 9.4 and 9.2.2.
-
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7423
-
(fetchpatch {
-
name = "ghc-9.0.2-fcompact-unwind.patch";
-
# Note that the test suite is not packaged.
-
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423";
-
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
})
]
···
# These cause problems as they're not eliminated by GHC's dead code
# elimination on aarch64-darwin. (see
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
-
(
-
if lib.versionAtLeast version "9.2" then
-
./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
-
else
-
./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch
-
)
+
./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
];
postPatch = "patchShebangs .";
···
echo -n "${buildMK}" > mk/build.mk
''
-
+ lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") ''
+
+ lib.optionalString (lib.versionAtLeast version "9.4") ''
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
''
+ lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") ''
···
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
''
-
+ lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "9.2") ''
+
+ lib.optionalString (stdenv.hostPlatform.isDarwin) ''
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
···
]
++ lib.optionals enableDocs [
sphinx
-
]
-
++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versions.majorMinor version == "9.0") [
-
# TODO(@sternenseemann): backport addition of XATTR env var like
-
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
-
xattr
];
# Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs.
-57
pkgs/development/interpreters/acl2/0001-Fix-some-paths-for-Nix-build.patch
···
-
From aed1c4b0be7576d20eed81070da2c6f92573df18 Mon Sep 17 00:00:00 2001
-
From: Keshav Kini <keshav.kini@gmail.com>
-
Date: Sat, 30 May 2020 21:27:47 -0700
-
Subject: [PATCH] Fix some paths for Nix build
-
-
---
-
books/build/features.sh | 1 +
-
books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp | 6 +-----
-
.../bundle/software/cl+ssl-20220707-git/src/reload.lisp | 3 +++
-
3 files changed, 5 insertions(+), 5 deletions(-)
-
-
diff --git a/books/build/features.sh b/books/build/features.sh
-
index feb5b2b59c..4b654e08bc 100755
-
--- a/books/build/features.sh
-
+++ b/books/build/features.sh
-
@@ -125,6 +125,7 @@ EOF
-
fi
-
-
echo "Determining whether an ipasir shared library is installed" 1>&2
-
+IPASIR_SHARED_LIBRARY=${IPASIR_SHARED_LIBRARY:-@libipasir@}
-
if check_ipasir; then
-
cat >> Makefile-features <<EOF
-
export OS_HAS_IPASIR ?= 1
-
diff --git a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
-
index 762e4ad4c0..c9802cb582 100644
-
--- a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
-
+++ b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
-
@@ -30,11 +30,7 @@
-
-
(er-let* ((libname (acl2::getenv$ "IPASIR_SHARED_LIBRARY" acl2::*the-live-state*)))
-
(handler-case
-
- (cffi::load-foreign-library
-
- (or libname
-
- (cw "WARNING: $IPASIR_SHARED_LIBRARY not specified, ~
-
- defaulting to \"libipasirglucose4.so\"")
-
- "libipasirglucose4.so"))
-
+ (cffi::load-foreign-library (or libname "@libipasir@"))
-
(error () (er hard? 'load-ipasir-shardlib-raw
-
"Couldn't load ipasir shared library from ~s0."
-
libname))))
-
diff --git a/books/quicklisp/bundle/software/cl+ssl-20220707-git/src/reload.lisp b/books/quicklisp/bundle/software/cl+ssl-20220707-git/src/reload.lisp
-
index d409b4440f..5c65c5b4da 100644
-
--- a/books/quicklisp/bundle/software/cl+ssl-20220707-git/src/reload.lisp
-
+++ b/books/quicklisp/bundle/software/cl+ssl-20220707-git/src/reload.lisp
-
@@ -87,6 +87,9 @@ sudo rm /usr/local/lib/libcrypto.dylib /usr/local/lib/libssl.dylib
-
;;
-
;; These are 32-bit only.
-
-
+(cl+ssl/config:define-libssl-path "@libssl@")
-
+(cl+ssl/config:define-libcrypto-path "@libcrypto@")
-
+
-
(unless cl+ssl/config::*libcrypto-override*
-
(cffi:define-foreign-library libcrypto
-
(:windows (:or #+(and windows x86-64) "libcrypto-1_1-x64.dll"
-
--
-
2.31.1
-
+56
pkgs/development/interpreters/acl2/0001-path-changes-for-nix.patch
···
+
From 2c7829aec41f6915bda2a23af57f0b39b075a70b Mon Sep 17 00:00:00 2001
+
From: C4 Patino <c4patino@gmail.com>
+
Date: Wed, 3 Sep 2025 22:43:05 -0500
+
Subject: [PATCH] path changes for nix
+
+
---
+
books/build/features.sh | 1 +
+
books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp | 6 +-----
+
.../bundle/software/cl+ssl-20231021-git/src/reload.lisp | 2 ++
+
3 files changed, 4 insertions(+), 5 deletions(-)
+
+
diff --git a/books/build/features.sh b/books/build/features.sh
+
index 20ef1f1cc7..e8a16396e3 100755
+
--- a/books/build/features.sh
+
+++ b/books/build/features.sh
+
@@ -125,6 +125,7 @@ EOF
+
fi
+
+
echo "Determining whether an ipasir shared library is installed" 1>&2
+
+IPASIR_SHARED_LIBRARY=${IPASIR_SHARED_LIBRARY:-@libipasir@}
+
if check_ipasir; then
+
cat >> Makefile-features <<EOF
+
export OS_HAS_IPASIR ?= 1
+
diff --git a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
+
index 762e4ad4c0..abc95d0ad8 100644
+
--- a/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
+
+++ b/books/centaur/ipasir/load-ipasir-sharedlib-raw.lsp
+
@@ -30,11 +30,7 @@
+
+
(er-let* ((libname (acl2::getenv$ "IPASIR_SHARED_LIBRARY" acl2::*the-live-state*)))
+
(handler-case
+
- (cffi::load-foreign-library
+
- (or libname
+
- (cw "WARNING: $IPASIR_SHARED_LIBRARY not specified, ~
+
- defaulting to \"libipasirglucose4.so\"")
+
- "libipasirglucose4.so"))
+
+(cffi::load-foreign-library (or libname "@libipasir@"))
+
(error () (er hard? 'load-ipasir-shardlib-raw
+
"Couldn't load ipasir shared library from ~s0."
+
libname))))
+
diff --git a/books/quicklisp/bundle/software/cl+ssl-20231021-git/src/reload.lisp b/books/quicklisp/bundle/software/cl+ssl-20231021-git/src/reload.lisp
+
index 05ab8837d0..fb60937580 100644
+
--- a/books/quicklisp/bundle/software/cl+ssl-20231021-git/src/reload.lisp
+
+++ b/books/quicklisp/bundle/software/cl+ssl-20231021-git/src/reload.lisp
+
@@ -14,6 +14,8 @@
+
;;; put this directly into ffi.lisp
+
+
(in-package :cl+ssl)
+
+(cl+ssl/config:define-libssl-path "@libssl@")
+
+(cl+ssl/config:define-libcrypto-path "@libcrypto@")
+
+
;; The default OS-X libssl seems have had insufficient crypto algos
+
;; (missing TLSv1_[1,2]_XXX methods,
+
--
+
2.50.1
+
+3 -11
pkgs/development/interpreters/acl2/default.nix
···
stdenv,
callPackage,
fetchFromGitHub,
-
fetchpatch,
runCommandLocal,
makeWrapper,
replaceVars,
sbcl,
-
bash,
which,
perl,
hostname,
···
in
stdenv.mkDerivation rec {
pname = "acl2";
-
version = "8.5";
+
version = "8.6";
src = fetchFromGitHub {
owner = "acl2-devel";
repo = "acl2-devel";
rev = version;
-
sha256 = "12cv5ms1j3vfrq066km020nwxb6x2dzh12g8nz6xxyxysn44wzzi";
+
sha256 = "sha256-fF9bbEacwCHP1m/eVgFrTD4Ne7L2mzq0K9vJ1tiy9go=";
};
# You can swap this out with any other IPASIR implementation at
···
libipasir = callPackage ./libipasirglucose4 { };
patches = [
-
(replaceVars ./0001-Fix-some-paths-for-Nix-build.patch {
+
(replaceVars ./0001-path-changes-for-nix.patch {
libipasir = "${libipasir}/lib/${libipasir.libname}";
libssl = "${lib.getLib openssl}/lib/libssl${stdenv.hostPlatform.extensions.sharedLibrary}";
libcrypto = "${lib.getLib openssl}/lib/libcrypto${stdenv.hostPlatform.extensions.sharedLibrary}";
-
})
-
(fetchpatch {
-
name = "fix-fastnumio-on-newer-sbcl.patch";
-
url = "https://github.com/acl2-devel/acl2-devel/commit/84f5a6cd4a1aaf204e8bae3eab4c21e8c061f469.patch";
-
hash = "sha256-VA9giXZMb/Ob8ablxfbBAaZ2+2PGcv7WtooXwKDgT08=";
})
];
···
raskin
];
platforms = platforms.all;
-
broken = stdenv.hostPlatform.isDarwin;
};
}
+2
pkgs/development/python-modules/aws-adfs/default.nix
···
pythonRelaxDeps = [
"configparser"
+
"fido2"
+
"lxml"
"requests-kerberos"
];
+2 -2
pkgs/development/python-modules/boto3-stubs/default.nix
···
buildPythonPackage rec {
pname = "boto3-stubs";
-
version = "1.40.22";
+
version = "1.40.24";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
-
hash = "sha256-cVpE7wRrVEUfHCIH03nTs6pOrkOk5TrTHiCprJuZdTc=";
+
hash = "sha256-U9ezPaAAE0lVd8l58wknH7UWbXPW1C7F9qPJinaMUIo=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/botocore-stubs/default.nix
···
buildPythonPackage rec {
pname = "botocore-stubs";
-
version = "1.40.22";
+
version = "1.40.24";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
-
hash = "sha256-y24G5tSY4WkVl3H91bjYkh9PAZFj4Jke5OSgKM6I+EU=";
+
hash = "sha256-JfM6Yla2Boeagi8ZfP5C6BV6dJxsg6hqHDwejpeEYqo=";
};
nativeBuildInputs = [ setuptools ];
+2 -2
pkgs/development/python-modules/dbt-adapters/default.nix
···
buildPythonPackage rec {
pname = "dbt-adapters";
-
version = "1.16.5";
+
version = "1.16.6";
pyproject = true;
# missing tags on GitHub
src = fetchPypi {
pname = "dbt_adapters";
inherit version;
-
hash = "sha256-OAPGC88WvBy/3sGyDO4pAHLYYe2+k7l7PpKpNcV+IdM=";
+
hash = "sha256-XSyJBzDXw0hozTie7BKN4Zmshm5sidkz3KQ9Jet8Mwc=";
};
build-system = [ hatchling ];
-5
pkgs/development/python-modules/dtschema/default.nix
···
sha256 = "sha256-UJU8b9BzuuUSHRjnA6hOd1bMPNOlk4LNtrQV5aZmGhI=";
};
-
patches = [
-
# Change name of pylibfdt to libfdt
-
./fix_libfdt_name.patch
-
];
-
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [
-13
pkgs/development/python-modules/dtschema/fix_libfdt_name.patch
···
-
diff --git a/pyproject.toml b/pyproject.toml
-
index 2192a68..6a7ba95 100644
-
--- a/pyproject.toml
-
+++ b/pyproject.toml
-
@@ -27,7 +27,7 @@ dependencies = [
-
"ruamel.yaml>0.15.69",
-
"jsonschema>=4.1.2,<4.18",
-
"rfc3987",
-
- "pylibfdt",
-
+ "libfdt",
-
]
-
-
[project.scripts]
+2 -2
pkgs/development/python-modules/groq/default.nix
···
buildPythonPackage rec {
pname = "groq";
-
version = "0.31.0";
+
version = "0.31.1";
pyproject = true;
src = fetchFromGitHub {
owner = "groq";
repo = "groq-python";
tag = "v${version}";
-
hash = "sha256-6oTRqAt421WE0s5e2kqDtCgOLg1bSqTTQldQ5D05Flo=";
+
hash = "sha256-vckFFnk66gkxaoqKpjykkpQIbiWqUyuTDgSvhKqsC4A=";
};
postPatch = ''
+5
pkgs/development/python-modules/gstools-cython/default.nix
···
hash = "sha256-Kzn/ThLjTGy3ZYIkTwCV1wi22c7rWo4u/L3llppC6wQ=";
};
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace-fail "Cython>=3.0.10,<3.1.0" "Cython>=3.1.0,<4.0.0"
+
'';
+
build-system = [
cython
extension-helpers
+2 -2
pkgs/development/python-modules/ha-philipsjs/default.nix
···
buildPythonPackage rec {
pname = "ha-philipsjs";
-
version = "3.3.3";
+
version = "3.3.4";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "danielperna84";
repo = "ha-philipsjs";
tag = version;
-
hash = "sha256-CQfT+jCICHjnldM7sjJN47dTD4WVkxfXmW5g80mnoTU=";
+
hash = "sha256-Ui15KtTpyfVTHmiHNVx/99qiUtKLZeyOOtAuQvfnU8k=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/llama-cloud-services/default.nix
···
buildPythonPackage rec {
pname = "llama-cloud-services";
-
version = "0.6.60";
+
version = "0.6.64";
pyproject = true;
src = fetchFromGitHub {
owner = "run-llama";
repo = "llama_cloud_services";
tag = "v${version}";
-
hash = "sha256-ZXuIPxZzB50c25kfLNO67jv4dKwjI8Pbd6Ql6JoXCxc=";
+
hash = "sha256-LIRrMIOwSPo150seWbufRyzaCIJ2lNvbn5N/kFu9hDA=";
};
sourceRoot = "${src.name}/py";
+2 -2
pkgs/development/python-modules/llama-index-vector-stores-postgres/default.nix
···
buildPythonPackage rec {
pname = "llama-index-vector-stores-postgres";
-
version = "0.6.3";
+
version = "0.6.5";
pyproject = true;
src = fetchPypi {
pname = "llama_index_vector_stores_postgres";
inherit version;
-
hash = "sha256-sV0ufDvyoLGHVJNKhM9TJEA7lAHisxvNsAQY7S0Ddww=";
+
hash = "sha256-mRViARNZeVVMS8VzVBFz9d+FjsX+1M/bwnQeA1QR8mI=";
};
pythonRemoveDeps = [ "psycopg2-binary" ];
+2 -2
pkgs/development/python-modules/meshcore/default.nix
···
buildPythonPackage rec {
pname = "meshcore";
-
version = "2.1.5";
+
version = "2.1.6";
pyproject = true;
src = fetchPypi {
inherit pname version;
-
sha256 = "sha256-gXofzLmydfN0Shrrlbwk+6Rr2kARPqypP6+43rHZOJE=";
+
sha256 = "sha256-aEuY4N4QIJTPjonhtAYG97yIXnxKp1I5kt25pCiJjOM=";
};
build-system = [ hatchling ];
+20 -20
pkgs/development/python-modules/mypy-boto3/default.nix
···
"sha256-HQWGDqUurjpbCTJJ+GDZn/UvVz421D3Ls7EHemTa8uY=";
mypy-boto3-cleanrooms =
-
buildMypyBoto3Package "cleanrooms" "1.40.13"
-
"sha256-KY5ybw74lvBMSJvMqNzJvgw4vuGHN13zo/gLV0ggCAw=";
+
buildMypyBoto3Package "cleanrooms" "1.40.24"
+
"sha256-iB5nKmHx1fGzMH8oLpeZ+D9GdZchstOUqZW94Xl/SJ4=";
mypy-boto3-cloud9 =
buildMypyBoto3Package "cloud9" "1.40.20"
···
"sha256-fFnHwgB8r239cpVnWSfeiGO1MNOxkXn9MNMUA5ohm04=";
mypy-boto3-cloudformation =
-
buildMypyBoto3Package "cloudformation" "1.40.0"
-
"sha256-oL6q5WNV+z5etEOdZakZqeYfbqL2n/vwoD/WtFrYlfA=";
+
buildMypyBoto3Package "cloudformation" "1.40.24"
+
"sha256-4rAK/GqrExGyWMkxSO7qWz7q2UxyA+KP+f046fzihIg=";
mypy-boto3-cloudfront =
-
buildMypyBoto3Package "cloudfront" "1.40.5"
-
"sha256-vuRBMVk6gQ+mfNLG/QV/EjvwfX3mM3ttgK/zUsi0ghA=";
+
buildMypyBoto3Package "cloudfront" "1.40.23"
+
"sha256-uh7A5QPl5fZsP7AEvN8rZ/pX5l9944/Y0FH3lb6CJWo=";
mypy-boto3-cloudhsm =
buildMypyBoto3Package "cloudhsm" "1.40.15"
···
"sha256-jtkx0kbI7SB74U5uWyGdVhKMlsy/T82lz3P89k8LMPA=";
mypy-boto3-ec2 =
-
buildMypyBoto3Package "ec2" "1.40.22"
-
"sha256-/3K4h289byzH6csvWD2SiBSrgjTmfqAsxj3Uxu7Rl3E=";
+
buildMypyBoto3Package "ec2" "1.40.24"
+
"sha256-aCUBD3OHew/OStwEJTJyXZSSJfwPCA6db86wWdv1obc=";
mypy-boto3-ec2-instance-connect =
buildMypyBoto3Package "ec2-instance-connect" "1.40.20"
···
"sha256-G+Kn0K9lI24r/A+KBOE2euh+raKIystZ7uB2k9AD/Zg=";
mypy-boto3-mq =
-
buildMypyBoto3Package "mq" "1.40.18"
-
"sha256-uLNYxXfiAMVzHOk0NXCer6cR3aBI+CdHCoUEANqFBUw=";
+
buildMypyBoto3Package "mq" "1.40.23"
+
"sha256-1+/fGIJPzPvAThyGy6ZiZAyIfFGtBGiBZ1ORwfTZ2Ww=";
mypy-boto3-mturk =
buildMypyBoto3Package "mturk" "1.40.20"
···
"sha256-DduRVsWhYZPX+mQAj1j1kA00rilUHKA4SnmehgS4hYU=";
mypy-boto3-opensearchserverless =
-
buildMypyBoto3Package "opensearchserverless" "1.40.4"
-
"sha256-nkt68bkNRfKMeO9TJV/P5PGzy8ps4CZpYcF2LmDUs2c=";
+
buildMypyBoto3Package "opensearchserverless" "1.40.24"
+
"sha256-dWkO3WKxcMFLF4UvFLAgAv1vfJZYqwua6s+CYGhTF0g=";
mypy-boto3-opsworks =
buildMypyBoto3Package "opsworks" "1.40.0"
···
"sha256-zye0xv5P6GemZiH+T/cIyzx9qaeOKitEWpW6LOkc8KM=";
mypy-boto3-rds =
-
buildMypyBoto3Package "rds" "1.40.20"
-
"sha256-mwtrtTgm6t1XVx3bsFcNf48VhGyPVyjwV+PasLW2IAM=";
+
buildMypyBoto3Package "rds" "1.40.24"
+
"sha256-uDdirP5RmSGnp1a5qI5KDYp+/aDMg7ZvRN69ryoliS8=";
mypy-boto3-rds-data =
buildMypyBoto3Package "rds-data" "1.40.0"
···
"sha256-9AfMYmfGgFYxbGF1UYLBEtCkmYtlPNtD0q2MHmbJUWw=";
mypy-boto3-route53 =
-
buildMypyBoto3Package "route53" "1.40.0"
-
"sha256-7cIfnpdrNUByompkx6sncBpYl/s4pFbwUFmHfvg07Qw=";
+
buildMypyBoto3Package "route53" "1.40.23"
+
"sha256-0cvqZsSwlq6o5XE+U9Vh3/+7I4ZhVAtlZ7Qlm5KuI1I=";
mypy-boto3-route53-recovery-cluster =
buildMypyBoto3Package "route53-recovery-cluster" "1.40.18"
···
"sha256-oo6Vpu6SfuJKw1aqX8x6oIlLUJbHa2lNfPx5kfQMo8M=";
mypy-boto3-route53domains =
-
buildMypyBoto3Package "route53domains" "1.40.20"
-
"sha256-fH0Mra2Fkfjy0NZHx+vxcKYxLqSb1BBhI8HYBnsA928=";
+
buildMypyBoto3Package "route53domains" "1.40.23"
+
"sha256-Gj2GSKiSAicbxMjN8Gks9joOi4WB37v1xlAnjLRobOY=";
mypy-boto3-route53resolver =
buildMypyBoto3Package "route53resolver" "1.40.0"
···
"sha256-sc7qt+4ztG8uxTo05AfI47zEbQsA2DjI6vUg4vPHsb8=";
mypy-boto3-verifiedpermissions =
-
buildMypyBoto3Package "verifiedpermissions" "1.40.0"
-
"sha256-u7f3iDh6jCFYWUdQThLrFJQO1d/3GqiP8IFAOGO627s=";
+
buildMypyBoto3Package "verifiedpermissions" "1.40.24"
+
"sha256-AhS/FxuTPVNoi6cys6LS9wKqUKlkUZ9G3boVxJPTcNU=";
mypy-boto3-voice-id =
buildMypyBoto3Package "voice-id" "1.40.19"
+3 -3
pkgs/development/python-modules/notobuilder/default.nix
···
buildPythonPackage {
pname = "notobuilder";
-
version = "0-unstable-2025-05-20";
+
version = "0-unstable-2025-08-20";
pyproject = true;
src = fetchFromGitHub {
owner = "notofonts";
repo = "notobuilder";
-
rev = "ff46ffb2e19ff8e8c36a4e3e0db334bb249896cb";
-
hash = "sha256-K4F+Et50QVXOOk00u/8ZXKj/TWoC6ndCeAF9jaMD7jI=";
+
rev = "fb0d6067beee888e6132b50c227da1f051b1ef9f";
+
hash = "sha256-U9NVpXzdzBpgs8LFQJk70vs2dfHg+kD+YzuYZt6zQ5g=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/pydash/default.nix
···
buildPythonPackage rec {
pname = "pydash";
-
version = "8.0.1";
+
version = "8.0.5";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "dgilland";
repo = "pydash";
tag = "v${version}";
-
hash = "sha256-4zNljz0U/iQd2DMC43qkdOY/mwtPlizgLmoaB7BVmxw=";
+
hash = "sha256-u8vLE0kjsnV2HNt3N3kmnaabgQzW3FcH4qxycNdv1Ls=";
};
build-system = [ setuptools ];
+2 -1
pkgs/development/python-modules/pykrige/default.nix
···
postPatch = ''
substituteInPlace pyproject.toml \
-
--replace-fail "numpy>=2.0.0rc1,<2.3; python_version >= '3.9'" "numpy>=2.0.0";
+
--replace-fail "numpy>=2.0.0rc1,<2.3; python_version >= '3.9'" "numpy>=2.0.0" \
+
--replace-fail "Cython>=3.0.10,<3.1.0" "Cython>=3.1.0,<4.0.0"
'';
build-system = [
+2 -2
pkgs/development/python-modules/pyspnego/default.nix
···
buildPythonPackage rec {
pname = "pyspnego";
-
version = "0.11.2";
+
version = "0.12.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "jborean93";
repo = "pyspnego";
tag = "v${version}";
-
hash = "sha256-5aGHCw0d1aFcHLPRMkya0hlHV30aTKshbcOjfPMOFko=";
+
hash = "sha256-dkss+8Z0dS4MTunBZWEH+WK1+kGikCHf7VPCR1reMS0=";
};
nativeBuildInputs = [ setuptools ];
+2 -2
pkgs/development/python-modules/streamlit/default.nix
···
buildPythonPackage rec {
pname = "streamlit";
-
version = "1.48.1";
+
version = "1.49.1";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-xuKp8kRxdGu+qlSiiPX9/G4rzzupqXU/3l1J7UJDkfE=";
+
hash = "sha256-byE/HkPwNRQ6VvWK1QBo2KCUgvCi2tEFDX5+malomBg=";
};
build-system = [
+30 -15
pkgs/development/python-modules/trino-python-client/default.nix
···
{
lib,
buildPythonPackage,
+
boto3,
fetchFromGitHub,
-
# build
-
setuptools,
-
# required
+
httpretty,
+
keyring,
+
lz4,
+
pytestCheckHook,
+
python-dateutil,
pytz,
+
requests-gssapi,
+
requests-kerberos,
requests,
-
tzlocal,
-
# optional
-
requests-kerberos,
+
setuptools,
sqlalchemy,
-
keyring,
-
# tests
-
pytestCheckHook,
-
httpretty,
+
testcontainers,
+
tzlocal,
+
zstandard,
}:
buildPythonPackage rec {
pname = "trino-python-client";
version = "0.334.0";
-
format = "setuptools";
+
pyproject = true;
src = fetchFromGitHub {
repo = "trino-python-client";
···
hash = "sha256-cSwMmzIUFYX8VgSwobth8EsARUff3hhfBf+IrhuFSYM=";
};
-
nativeBuildInputs = [ setuptools ];
+
build-system = [ setuptools ];
-
propagatedBuildInputs = [
+
dependencies = [
+
lz4
+
python-dateutil
pytz
requests
tzlocal
+
zstandard
];
optional-dependencies = lib.fix (self: {
kerberos = [ requests-kerberos ];
+
gsaapi = [ requests-gssapi ];
sqlalchemy = [ sqlalchemy ];
external-authentication-token-cache = [ keyring ];
all = self.kerberos ++ self.sqlalchemy;
});
nativeCheckInputs = [
+
boto3
httpretty
pytestCheckHook
+
testcontainers
]
-
++ optional-dependencies.all;
+
++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ "trino" ];
disabledTestPaths = [
-
# these all require a running trino instance
+
# Tests require a running trino instance
"tests/integration/test_types_integration.py"
"tests/integration/test_dbapi_integration.py"
"tests/integration/test_sqlalchemy_integration.py"
];
disabledTestMarks = [ "auth" ];
+
+
disabledTests = [
+
# Tests require a running trino instance
+
"test_oauth2"
+
"test_token_retrieved_once_when_authentication_instance_is_shared"
+
"test_multithreaded_oauth2_authentication_flow"
+
];
meta = with lib; {
changelog = "https://github.com/trinodb/trino-python-client/blob/${src.tag}/CHANGES.md";
+2 -2
pkgs/development/python-modules/twilio/default.nix
···
buildPythonPackage rec {
pname = "twilio";
-
version = "9.7.0";
+
version = "9.8.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "twilio";
repo = "twilio-python";
tag = version;
-
hash = "sha256-QVrV6drHVZhjMnwlNYe6NaK8TzRImZfDWLMwDDBZolk=";
+
hash = "sha256-FXwrkUfdscFNBJrRhBxDotK3EbCAFON6tAkCS8/l+4w=";
};
build-system = [ setuptools ];
+10 -4
pkgs/development/python-modules/warp-lang/default.nix
···
src =
let
-
baseURL = "https://developer.download.nvidia.com/compute/cublasdx/redist/cublasdx";
+
baseURL = "https://developer.nvidia.com/downloads/compute/cublasdx/redist/cublasdx";
cudaMajorVersion = cudaPackages.cudaMajorVersion; # only 12, 13 supported
cudaVersion = "${cudaMajorVersion}.0"; # URL example: ${baseURL}/cuda12/${name}-${version}-cuda12.0.zip
name = lib.concatStringsSep "-" [
···
# nix-hash --type sha256 --to-sri $(nix-prefetch-url "https://...")
hashes = {
-
aarch64-linux = "sha256-d/aBC+zU2ciaw3isv33iuviXYaLGLdVDdzynGk9SFck=";
-
x86_64-linux = "sha256-CHIH0s4SnA67COtHBkwVCajW/3f0VxNBmuDLXy4LFIg=";
+
"12" = {
+
aarch64-linux = "sha256-d/aBC+zU2ciaw3isv33iuviXYaLGLdVDdzynGk9SFck=";
+
x86_64-linux = "sha256-CHIH0s4SnA67COtHBkwVCajW/3f0VxNBmuDLXy4LFIg=";
+
};
+
"13" = {
+
aarch64-linux = "sha256-TetJbMts8tpmj5PV4+jpnUHMcooDrXUEKL3aGWqilKI=";
+
x86_64-linux = "sha256-wLJLbRpQWa6QEm8ibm1gxt3mXvkWvu0vEzpnqTIvE1M=";
+
};
};
in
lib.mapNullable (
···
inherit hash name;
url = "${baseURL}/cuda${cudaMajorVersion}/${name}.tar.gz";
}
-
) (hashes.${effectiveStdenv.hostPlatform.system} or null);
+
) (hashes.${cudaMajorVersion}.${effectiveStdenv.hostPlatform.system} or null);
dontUnpack = true;
dontConfigure = true;
+2 -2
pkgs/development/python-modules/yalexs-ble/default.nix
···
buildPythonPackage rec {
pname = "yalexs-ble";
-
version = "3.1.2";
+
version = "3.2.0";
pyproject = true;
disabled = pythonOlder "3.10";
···
owner = "bdraco";
repo = "yalexs-ble";
tag = "v${version}";
-
hash = "sha256-0eFW2KZPpoxEF2FnuYzcR7GuD3jGBjOZlArzYbKcnUI=";
+
hash = "sha256-bmzRvfOwAb2dr2bBfBE/4SuPB15qBpLelmxI15jhgrQ=";
};
build-system = [ poetry-core ];
+66
pkgs/development/tools/zls/default.nix
···
+
{
+
lib,
+
stdenv,
+
zig_0_14,
+
zig_0_15,
+
fetchFromGitHub,
+
callPackage,
+
}:
+
+
let
+
common = finalAttrs: _: {
+
pname = "zls";
+
+
meta = {
+
description = "Zig LSP implementation + Zig Language Server";
+
mainProgram = "zls";
+
changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
+
homepage = "https://github.com/zigtools/zls";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [
+
figsoda
+
moni
+
_0x5a4
+
jmbaur
+
];
+
platforms = lib.platforms.unix;
+
};
+
};
+
in
+
lib.mapAttrs (_: extension: stdenv.mkDerivation (lib.extends common extension)) {
+
zls_0_14 = finalAttrs: {
+
version = "0.14.0";
+
+
src = fetchFromGitHub {
+
owner = "zigtools";
+
repo = "zls";
+
tag = finalAttrs.version;
+
fetchSubmodules = true;
+
hash = "sha256-A5Mn+mfIefOsX+eNBRHrDVkqFDVrD3iXDNsUL4TPhKo=";
+
};
+
+
nativeBuildInputs = [ zig_0_14.hook ];
+
+
postPatch = ''
+
ln -s ${callPackage ./deps_0_14.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
+
'';
+
};
+
+
zls_0_15 = finalAttrs: {
+
version = "0.15.0";
+
+
src = fetchFromGitHub {
+
owner = "zigtools";
+
repo = "zls";
+
tag = finalAttrs.version;
+
fetchSubmodules = true;
+
hash = "sha256-GFzSHUljcxy7sM1PaabbkQUdUnLwpherekPWJFxXtnk=";
+
};
+
+
nativeBuildInputs = [ zig_0_15.hook ];
+
+
postPatch = ''
+
ln -s ${callPackage ./deps_0_15.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
+
'';
+
};
+
}
+34
pkgs/development/tools/zls/deps_0_15.nix
···
+
# generated by zon2nix (https://github.com/nix-community/zon2nix)
+
+
{ linkFarm, fetchzip }:
+
+
linkFarm "zig-packages" [
+
{
+
name = "diffz-0.0.1-G2tlIQrOAQCfH15jdyaLyrMgV8eGPouFhkCeYFTmJaLk";
+
path = fetchzip {
+
url = "https://github.com/ziglibs/diffz/archive/a20dd1f11b10819a6f570f98b42e1c91e3704357.tar.gz";
+
hash = "sha256-y7Ck5XZNnHxmPPWlDAqZZ2g3n67txj5/Zq04AhuW5+M=";
+
};
+
}
+
{
+
name = "N-V-__8AAMeOlQEipHjcyu0TCftdAi9AQe7EXUDJOoVe0k-t";
+
path = fetchzip {
+
url = "https://github.com/wolfpld/tracy/archive/refs/tags/v0.11.1.tar.gz";
+
hash = "sha256-HofqYJT1srDJ6Y1f18h7xtAbI/Gvvz0t9f0wBNnOZK8=";
+
};
+
}
+
{
+
name = "known_folders-0.0.0-Fy-PJkfRAAAVdptXWXBspIIC7EkVgLgWozU5zIk5Zgcy";
+
path = fetchzip {
+
url = "https://github.com/ziglibs/known-folders/archive/92defaee76b07487769ca352fd0ba95bc8b42a2f.tar.gz";
+
hash = "sha256-+FviMdQGeHn2ymfXjIQPxLPx3haPy5zhPJuS3Ow8m68=";
+
};
+
}
+
{
+
name = "lsp_kit-0.1.0-bi_PL04yCgAxLsF0hH2a5sZKT84MGQaKXouw2jvCE8Nl";
+
path = fetchzip {
+
url = "https://github.com/zigtools/lsp-kit/archive/576e9405b1ab22c17c0f9318feed3278aa66b0ea.tar.gz";
+
hash = "sha256-V6MSzc4Y9n6DK2cuZ62SKsvj2qeDVUxWVtbsWiRgtF4=";
+
};
+
}
+
]
+72
pkgs/misc/uboot/binman-resources.patch
···
+
(Patch from https://lists.denx.de/pipermail/u-boot/2024-July/559077.html)
+
+
+
pkg_resources is deprecated long ago and being removed in python 3.12.
+
+
Reimplement functions with importlib.resources.
+
+
Link: https://docs.python.org/3/library/importlib.resources.html
+
Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
+
---
+
tools/binman/control.py | 18 +++++++++---------
+
1 file changed, 9 insertions(+), 9 deletions(-)
+
+
diff --git a/tools/binman/control.py b/tools/binman/control.py
+
index 2f00279232b8..5549b0ad2185 100644
+
--- a/tools/binman/control.py
+
+++ b/tools/binman/control.py
+
@@ -8,12 +8,11 @@
+
from collections import OrderedDict
+
import glob
+
try:
+
- import importlib.resources
+
-except ImportError: # pragma: no cover
+
+ from importlib import resources
+
+except ImportError:
+
# for Python 3.6
+
- import importlib_resources
+
+ import importlib_resources as resources
+
import os
+
-import pkg_resources
+
import re
+
+
import sys
+
@@ -96,12 +95,12 @@ def _ReadMissingBlobHelp():
+
msg = ''
+
return tag, msg
+
+
- my_data = pkg_resources.resource_string(__name__, 'missing-blob-help')
+
+ my_data = resources.files(__package__).joinpath('missing-blob-help').read_text()
+
re_tag = re.compile('^([-a-z0-9]+):$')
+
result = {}
+
tag = None
+
msg = ''
+
- for line in my_data.decode('utf-8').splitlines():
+
+ for line in my_data.splitlines():
+
if not line.startswith('#'):
+
m_tag = re_tag.match(line)
+
if m_tag:
+
@@ -151,8 +150,9 @@ def GetEntryModules(include_testing=True):
+
Returns:
+
Set of paths to entry class filenames
+
"""
+
- glob_list = pkg_resources.resource_listdir(__name__, 'etype')
+
- glob_list = [fname for fname in glob_list if fname.endswith('.py')]
+
+ directory = resources.files("binman.etype")
+
+ glob_list = [entry.name for entry in directory.iterdir()
+
+ if entry.name.endswith('.py')]
+
return set([os.path.splitext(os.path.basename(item))[0]
+
for item in glob_list
+
if include_testing or '_testing' not in item])
+
@@ -735,7 +735,7 @@ def Binman(args):
+
global state
+
+
if args.full_help:
+
- with importlib.resources.path('binman', 'README.rst') as readme:
+
+ with resources.path('binman', 'README.rst') as readme:
+
tools.print_full_help(str(readme))
+
return 0
+
+
+
--
+
2.45.2
+5
pkgs/misc/uboot/default.nix
···
armTrustedFirmwareS905,
opensbi,
buildPackages,
+
callPackages,
darwin,
}@pkgs:
···
filesToInstall = [
"tools/dumpimage"
+
"tools/fdt_add_pubkey"
"tools/fdtgrep"
"tools/kwboot"
+
"tools/mkeficapsule"
"tools/mkenvimage"
"tools/mkimage"
"tools/env/fw_printenv"
···
"tools/efivar.py" = (python3.withPackages (ps: [ ps.pyopenssl ]));
};
};
+
+
ubootPythonTools = lib.recurseIntoAttrs (callPackages ./python.nix { });
ubootA20OlinuxinoLime = buildUBoot {
defconfig = "A20-OLinuXino-Lime_defconfig";
+160
pkgs/misc/uboot/python.nix
···
+
{
+
lib,
+
python3Packages,
+
fetchPypi,
+
makeWrapper,
+
+
armTrustedFirmwareTools,
+
bzip2,
+
cbfstool,
+
gzip,
+
lz4,
+
lzop,
+
openssl,
+
ubootTools,
+
vboot_reference,
+
xilinx-bootgen,
+
xz,
+
zstd,
+
}:
+
+
let
+
# We are fetching from PyPI because the code in the repository seems to be
+
# lagging behind the PyPI releases somehow...
+
version = "0.0.7";
+
in
+
rec {
+
+
u_boot_pylib = python3Packages.buildPythonPackage rec {
+
pname = "u_boot_pylib";
+
inherit version;
+
pyproject = true;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-A5r20Y8mgxhOhaKMpd5MJN5ubzPbkodAO0Tr0RN1SRA=";
+
};
+
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
checkPhase = ''
+
${python3Packages.python.interpreter} "src/$pname/__main__.py"
+
# There are some tests in other files, but they are broken
+
'';
+
+
pythonImportsCheck = [ "u_boot_pylib" ];
+
};
+
+
dtoc = python3Packages.buildPythonPackage rec {
+
pname = "dtoc";
+
inherit version;
+
pyproject = true;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-NA96CznIxjqpw2Ik8AJpJkJ/ei+kQTCUExwFgssV+CM=";
+
};
+
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
dependencies =
+
(with python3Packages; [
+
libfdt
+
])
+
++ [
+
u_boot_pylib
+
];
+
+
pythonImportsCheck = [ "dtoc" ];
+
};
+
+
binman =
+
let
+
btools = [
+
armTrustedFirmwareTools
+
bzip2
+
cbfstool
+
# TODO: cst
+
gzip
+
lz4
+
# TODO: lzma_alone
+
lzop
+
openssl
+
ubootTools
+
vboot_reference
+
xilinx-bootgen
+
xz
+
zstd
+
];
+
in
+
python3Packages.buildPythonApplication rec {
+
pname = "binary_manager";
+
inherit version;
+
pyproject = true;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-llEBBhUoW5jTEQeoaTCjZN8y6Kj+PGNUSB3cKpgD06w=";
+
};
+
+
patches = [
+
./binman-resources.patch
+
];
+
patchFlags = [
+
"-p2"
+
"-d"
+
"src"
+
];
+
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
nativeBuildInputs = [ makeWrapper ];
+
+
dependencies =
+
(with python3Packages; [
+
jsonschema
+
pycryptodomex
+
pyelftools
+
yamllint
+
])
+
++ [
+
dtoc
+
u_boot_pylib
+
];
+
+
preFixup = ''
+
wrapProgram "$out/bin/binman" --prefix PATH : "${lib.makeBinPath btools}"
+
'';
+
};
+
+
patman = python3Packages.buildPythonApplication rec {
+
pname = "patch_manager";
+
inherit version;
+
pyproject = true;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-zD9e87fpWKynpUcfxobbdk6wbM6Ja3f8hEVHS7DGIKQ=";
+
};
+
+
build-system = with python3Packages; [
+
setuptools
+
];
+
+
dependencies =
+
(with python3Packages; [
+
aiohttp
+
pygit2
+
])
+
++ [
+
u_boot_pylib
+
];
+
};
+
+
}
+2 -10
pkgs/servers/asterisk/default.nix
···
};
};
-
pjproject_2_14_1 = fetchurl {
-
url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14.1/pjproject-2.14.1.tar.bz2";
-
hash = "sha256-MtsK8bOc0fT/H/pUydqK/ahMIVg8yiRDt3TSM1uhUFQ=";
-
};
-
-
pjproject_2_15_1 = fetchurl {
+
pjproject = fetchurl {
url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.15.1/pjproject-2.15.1.tar.bz2";
hash = "sha256-WLuDzsTUMfSNAG5FXYIWaEUPjPa2yV8JDe9HBi+jpgw=";
};
···
versions = lib.mapAttrs (
_:
{ version, sha256 }:
-
let
-
pjsip = if lib.versionAtLeast version "20" then pjproject_2_15_1 else pjproject_2_14_1;
-
in
common {
inherit version sha256;
externals = {
-
"externals_cache/${pjsip.name}" = pjsip;
+
"externals_cache/${pjproject.name}" = pjproject;
"addons/mp3" = mp3-204;
};
}
+8 -8
pkgs/servers/asterisk/versions.json
···
{
"asterisk_18": {
-
"sha256": "0df8be2f57779019895628363a11f74ea356068cca983462ec0feb72528fc8e9",
-
"version": "18.26.3"
+
"sha256": "a17f511bfa092c8fa9eccd3a5ecf5f728ccdcf2b1a04d2c06e7177d96c3c9ee1",
+
"version": "18.26.4"
},
"asterisk_20": {
-
"sha256": "fa286ac7a024e685233af6fde54a68a21c8e9934b438da878fb3cff080a6346c",
-
"version": "20.15.1"
+
"sha256": "4bbe0aaecc0e7294780269a5dc7ff78a85c58cf26ffc63dd63be5406eef0b687",
+
"version": "20.15.2"
},
"asterisk_21": {
-
"sha256": "811c5b8c501004ee378e77efd009892b366a03a508cfc51eead52396cbf65b2c",
-
"version": "21.10.1"
+
"sha256": "9624e807a1138cabed14431a326c9870e53fc132738dbbd61314abc027785d94",
+
"version": "21.10.2"
},
"asterisk_22": {
-
"sha256": "cbe67229f813ccf5e545fbda1fc05eb221897bf03393917390f8f6235cc62179",
-
"version": "22.5.1"
+
"sha256": "5061c852fd850b17e6be9d866c8e73298471883fc5e3ccd5a24b3e1364e24218",
+
"version": "22.5.2"
}
}
+11
pkgs/top-level/all-packages.nix
···
referencesByPopularity = callPackage ../build-support/references-by-popularity { };
+
dockerAutoLayer = callPackage ../build-support/docker/auto-layer.nix { };
+
dockerMakeLayers = callPackage ../build-support/docker/make-layers.nix { };
removeReferencesTo = callPackage ../build-support/remove-references-to {
···
zigStdenv = if stdenv.cc.isZig then stdenv else lowPrio zig.passthru.stdenv;
+
inherit (callPackages ../development/tools/zls { })
+
zls_0_14
+
zls_0_15
+
;
+
+
# This should be kept updated to ensure the default zls version matches the default zig version.
+
zls = zls_0_14;
+
libzint = zint-qt.override { withGUI = false; };
aroccPackages = recurseIntoAttrs (callPackage ../development/compilers/arocc { });
···
inherit (callPackage ../misc/uboot { })
buildUBoot
ubootTools
+
ubootPythonTools
ubootA20OlinuxinoLime
ubootA20OlinuxinoLime2EMMC
ubootBananaPi
+1 -15
pkgs/top-level/haskell-packages.nix
···
llvmPackages = pkgs.llvmPackages_12;
};
ghc810 = compiler.ghc8107;
-
ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
-
bootPkgs = bb.packages.ghc8107Binary;
-
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
-
python3 = buildPackages.python311; # so that we don't have two of them
-
inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
-
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
-
llvmPackages = pkgs.llvmPackages_12;
-
};
-
ghc90 = compiler.ghc902;
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
bootPkgs =
# GHC >= 9.0 removed the armv7l bindist
···
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
};
ghc810 = packages.ghc8107;
-
ghc902 = callPackage ../development/haskell-modules {
-
buildHaskellPackages = bh.packages.ghc902;
-
ghc = bh.compiler.ghc902;
-
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
-
};
-
ghc90 = packages.ghc902;
ghc928 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc928;
ghc = bh.compiler.ghc928;
···
);
}
// pkgs.lib.optionalAttrs config.allowAliases {
+
ghc90 = throw "'haskell.packages.ghc90' has been removed."; # Added 2025-09-07
ghcjs = throw "'haskell.packages.ghcjs' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
ghcjs810 = throw "'haskell.packages.ghcjs810' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
};
-8
pkgs/top-level/release-haskell.nix
···
# list of all compilers to test specific packages on
released = with compilerNames; [
ghc8107
-
ghc902
ghc928
ghc948
ghc963
···
# of core packages, it is not always reasonable to get cabal-install to
# work with older compilers.
compilerNames.ghc8107
-
compilerNames.ghc902
compilerNames.ghc928
compilerNames.ghc948
] released;
···
haskell-language-server = lib.subtractLists [
# Support ceased as of 2.3.0.0
compilerNames.ghc8107
-
# Support ceased as of 2.5.0.0
-
compilerNames.ghc902
# Support ceased as of 2.10.0.0
compilerNames.ghc928
] released;
hoogle = released;
hlint = lib.subtractLists [
-
compilerNames.ghc902
compilerNames.ghc9101
compilerNames.ghc9102
compilerNames.ghc9122
···
titlecase = released;
ghc-api-compat = [
compilerNames.ghc8107
-
compilerNames.ghc902
];
ghc-bignum = [
compilerNames.ghc8107
···
constituents = accumulateDerivations [
jobs.pkgsMusl.haskell.compiler.ghc8107Binary
jobs.pkgsMusl.haskell.compiler.ghc8107
-
jobs.pkgsMusl.haskell.compiler.ghc902
jobs.pkgsMusl.haskell.compiler.ghc928
jobs.pkgsMusl.haskell.compiler.ghcHEAD
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
-
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc928
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
];
-2
pkgs/top-level/release.nix
···
packages =
genAttrs
[
-
# TODO: share this list between release.nix and release-haskell.nix
-
"ghc90"
"ghc92"
"ghc94"
"ghc96"