Merge staging-next into staging

Changed files
+1296 -345
lib
maintainers
nixos
tests
pkgs
applications
editors
emacs
elisp-packages
manual-packages
eaf-map
eglot-booster
vim
plugins
vscode
extensions
networking
protonvpn-gui
remote
citrix-workspace
by-name
_0
_010editor
al
aliae
am
amdvlk
ap
aq
aquamarine
ch
co
de
dendrite
dw
e1
em
emcee
en
enblend-enfuse
fl
flexget
ge
gn
gnome-disk-utility
go
gollama
gr
gramps
gruvbox-gtk-theme
la
mi
microsoft-edge
nv
nvitop
pl
plex-desktop
st
stackit-cli
te
teams-for-linux
terragrunt
wa
wasm-tools
xd
xdp-tools
development
compilers
interpreters
falcon
lua-modules
python-modules
ingredient-parser-nlp
plotly
xmpppy
tools
analysis
radare2
servers
home-assistant
custom-components
xiaomi_gateway3
tools
security
iaito
system
netdata
typesetting
tex
texlive
top-level
+7 -21
lib/tests/misc.nix
···
expected = 9223372036854775807;
};
+
testFromHexStringLeadingZeroes = {
+
expr = fromHexString "00ffffffffffffff";
+
expected = 72057594037927935;
+
};
+
testFromHexStringWithPrefix = {
-
expr = fromHexString "0Xf";
+
expr = fromHexString "0xf";
expected = 15;
};
-
# FIXME: This might be bad and should potentially be deprecated.
-
testFromHexStringQuestionableMixedCase = {
+
testFromHexStringMixedCase = {
expr = fromHexString "eEeEe";
expected = 978670;
-
};
-
-
# FIXME: This is probably bad and should potentially be deprecated.
-
testFromHexStringQuestionableUnderscore = {
-
expr = fromHexString "F_f";
-
expected = 255;
-
};
-
-
# FIXME: This is definitely bad and should be deprecated.
-
testFromHexStringBadComment = {
-
expr = fromHexString "0 # oops";
-
expected = 0;
-
};
-
-
# FIXME: Oh my god.
-
testFromHexStringAwfulInjection = {
-
expr = fromHexString "1\nwhoops = {}";
-
expected = 1;
};
testToBaseDigits = {
+13 -6
lib/trivial.nix
···
```
*/
fromHexString =
-
value:
+
str:
let
-
noPrefix = lib.strings.removePrefix "0x" (lib.strings.toLower value);
+
match = builtins.match "(0x)?([0-7]?[0-9A-Fa-f]{1,15})" str;
in
-
let
-
parsed = builtins.fromTOML "v=0x${noPrefix}";
-
in
-
parsed.v;
+
if match != null then
+
(builtins.fromTOML "v=0x${builtins.elemAt match 1}").v
+
else
+
# TODO: Turn this into a `throw` in 26.05.
+
assert lib.warn "fromHexString: ${
+
lib.generators.toPretty { } str
+
} is not a valid input and will be rejected in 26.05" true;
+
let
+
noPrefix = lib.strings.removePrefix "0x" (lib.strings.toLower str);
+
in
+
(builtins.fromTOML "v=0x${noPrefix}").v;
/**
Convert the given positive integer to a string of its hexadecimal
+12
maintainers/maintainer-list.nix
···
githubId = 1189862;
name = "Valter Nazianzeno";
+
mannerbund = {
+
email = "apostalimus@gmail.com";
+
github = "mannerbund";
+
githubId = 110305316;
+
name = "mannerbund";
+
};
manojkarthick = {
email = "smanojkarthick@gmail.com";
github = "manojkarthick";
···
github = "sestrella";
githubId = 2049686;
name = "Sebastián Estrella";
+
};
+
seven_bear = {
+
name = "Edmond Freeman";
+
email = "edmondfreeman7@gmail.com";
+
github = "yueneiqi";
+
githubId = 26707756;
seylerius = {
name = "Sable Seyler";
+30 -41
nixos/tests/xmpp/prosody-mysql.nix
···
cert =
pkgs:
pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
-
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500
+
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 365 \
+
-subj '/C=GB/CN=example.com' -addext "subjectAltName = DNS:example.com,DNS:uploads.example.com,DNS:conference.example.com"
mkdir -p $out
cp key.pem cert.pem $out
'';
+
# Creates and set password for the 2 xmpp test users.
+
#
+
# Doing that in a bash script instead of doing that in the test
+
# script allow us to easily provision the users when running that
+
# test interactively.
createUsers =
pkgs:
-
pkgs.writeScriptBin "create-prosody-users" ''
-
#!${pkgs.bash}/bin/bash
+
pkgs.writeShellScriptBin "create-prosody-users" ''
set -e
-
-
# Creates and set password for the 2 xmpp test users.
-
#
-
# Doing that in a bash script instead of doing that in the test
-
# script allow us to easily provision the users when running that
-
# test interactively.
-
prosodyctl register cthon98 example.com nothunter2
prosodyctl register azurediamond example.com hunter2
'';
+
# Deletes the test users.
delUsers =
pkgs:
-
pkgs.writeScriptBin "delete-prosody-users" ''
-
#!${pkgs.bash}/bin/bash
+
pkgs.writeShellScriptBin "delete-prosody-users" ''
set -e
-
-
# Deletes the test users.
-
#
-
# Doing that in a bash script instead of doing that in the test
-
# script allow us to easily provision the users when running that
-
# test interactively.
-
prosodyctl deluser cthon98@example.com
prosodyctl deluser azurediamond@example.com
'';
···
}:
{
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
-
console.keyMap = "fr-bepo";
networking.extraHosts = ''
-
${nodes.server.config.networking.primaryIPAddress} example.com
-
${nodes.server.config.networking.primaryIPAddress} conference.example.com
-
${nodes.server.config.networking.primaryIPAddress} uploads.example.com
+
${nodes.server.networking.primaryIPAddress} example.com
+
${nodes.server.networking.primaryIPAddress} conference.example.com
+
${nodes.server.networking.primaryIPAddress} uploads.example.com
'';
environment.systemPackages = [
(pkgs.callPackage ./xmpp-sendmessage.nix {
-
connectTo = nodes.server.config.networking.primaryIPAddress;
+
connectTo = nodes.server.networking.primaryIPAddress;
})
];
};
+
server =
-
{ config, pkgs, ... }:
+
{ nodes, pkgs, ... }:
{
nixpkgs.overlays = [
(self: super: {
···
})
];
security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
-
console.keyMap = "fr-bepo";
networking.extraHosts = ''
-
${config.networking.primaryIPAddress} example.com
-
${config.networking.primaryIPAddress} conference.example.com
-
${config.networking.primaryIPAddress} uploads.example.com
+
${nodes.server.networking.primaryIPAddress} example.com
+
${nodes.server.networking.primaryIPAddress} conference.example.com
+
${nodes.server.networking.primaryIPAddress} uploads.example.com
'';
networking.firewall.enable = false;
environment.systemPackages = [
···
domain = "conference.example.com";
}
];
-
uploadHttp = {
+
httpFileShare = {
domain = "uploads.example.com";
};
extraConfig = ''
···
};
};
-
testScript =
-
{ nodes, ... }:
-
''
-
# Check with mysql storage
-
mysql.wait_for_unit("mysql.service")
-
server.wait_for_unit("prosody.service")
-
server.succeed('prosodyctl status | grep "Prosody is running"')
+
testScript = _: ''
+
# Check with mysql storage
+
start_all()
+
mysql.wait_for_unit("mysql.service")
+
server.wait_for_unit("prosody.service")
+
server.succeed('prosodyctl status | grep "Prosody is running"')
-
server.succeed("create-prosody-users")
-
client.succeed("send-message")
-
server.succeed("delete-prosody-users")
-
'';
+
server.succeed("create-prosody-users")
+
client.succeed("send-message")
+
server.succeed("delete-prosody-users")
+
'';
}
+75
pkgs/applications/editors/emacs/elisp-packages/manual-packages/eaf-map/package.nix
···
+
{
+
# Basic
+
lib,
+
melpaBuild,
+
fetchFromGitHub,
+
# Java Script dependency
+
nodejs,
+
fetchNpmDeps,
+
npmHooks,
+
# Updater
+
nix-update-script,
+
}:
+
+
melpaBuild (finalAttrs: {
+
+
pname = "eaf-map";
+
version = "0-unstable-2025-07-04";
+
+
src = fetchFromGitHub {
+
owner = "emacs-eaf";
+
repo = "eaf-map";
+
rev = "667865a9422ec71e3518833e1a13806d4f03adfb";
+
hash = "sha256-UgHIzYu/K1NzTDvUn2JkEmiyDEBT9JDmlvp6xG7Nv5k=";
+
};
+
+
env.npmDeps = fetchNpmDeps {
+
name = "${finalAttrs.pname}-npm-deps";
+
inherit (finalAttrs) src;
+
hash = "sha256-prxCFrKvC2dG9BgO3LIKDCFzjn9vFegpvuMy4Eg6Ghs=";
+
};
+
+
nativeBuildInputs = [
+
nodejs
+
npmHooks.npmConfigHook
+
];
+
+
postBuild = ''
+
npm run build
+
'';
+
+
files = ''
+
("*.el"
+
"*.py"
+
"*.js"
+
"src")
+
'';
+
+
postInstall = ''
+
LISPDIR=$out/share/emacs/site-lisp/elpa/${finalAttrs.ename}-${finalAttrs.melpaVersion}
+
touch node_modules/.nosearch
+
cp -r node_modules $LISPDIR/
+
cp -r dist $LISPDIR/
+
'';
+
+
passthru = {
+
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
+
eafPythonDeps =
+
ps: with ps; [
+
numpy
+
pycurl
+
python-tsp
+
];
+
eafOtherDeps = [ ];
+
};
+
+
meta = {
+
description = "OpenStreetMap application for the EAF";
+
homepage = "https://github.com/emacs-eaf/eaf-map";
+
license = lib.licenses.gpl3Only;
+
maintainers = with lib.maintainers; [
+
thattemperature
+
];
+
};
+
+
})
+27
pkgs/applications/editors/emacs/elisp-packages/manual-packages/eglot-booster/package.nix
···
+
{
+
lib,
+
melpaBuild,
+
fetchFromGitHub,
+
unstableGitUpdater,
+
}:
+
+
melpaBuild {
+
pname = "eglot-booster";
+
version = "0-unstable-2025-07-16";
+
+
src = fetchFromGitHub {
+
owner = "jdtsmith";
+
repo = "eglot-booster";
+
rev = "cab7803c4f0adc7fff9da6680f90110674bb7a22";
+
hash = "sha256-xUBQrQpw+JZxcqT1fy/8C2tjKwa7sLFHXamBm45Fa4Y=";
+
};
+
+
passthru.updateScript = unstableGitUpdater { };
+
+
meta = {
+
homepage = "https://github.com/jdtsmith/eglot-booster";
+
description = "Boost eglot using lsp-booster";
+
license = lib.licenses.gpl3Only;
+
maintainers = with lib.maintainers; [ mannerbund ];
+
};
+
}
+11
pkgs/applications/editors/vim/plugins/overrides.nix
···
};
nvzone-menu = super.nvzone-menu.overrideAttrs {
+
# Plugin managers like Lazy.nvim expect pname to match the name of the git repository
+
pname = "menu";
checkInputs = with self; [
# Optional integrations
nvim-tree-lua
···
};
nvzone-minty = super.nvzone-minty.overrideAttrs {
+
# Plugin managers like Lazy.nvim expect pname to match the name of the git repository
+
pname = "minty";
dependencies = [ self.nvzone-volt ];
};
nvzone-typr = super.nvzone-typr.overrideAttrs {
+
# Plugin managers like Lazy.nvim expect pname to match the name of the git repository
+
pname = "typr";
dependencies = [ self.nvzone-volt ];
+
};
+
+
nvzone-volt = super.nvzone-volt.overrideAttrs {
+
# Plugin managers like Lazy.nvim expect pname to match the name of the git repository
+
pname = "volt";
};
obsidian-nvim = super.obsidian-nvim.overrideAttrs {
+4 -4
pkgs/applications/editors/vscode/extensions/default.nix
···
mktplcRef = {
name = "veriloghdl";
publisher = "mshr-h";
-
version = "1.16.0";
-
hash = "sha256-5C9SggdZ3gtYdQhpPFG4wme98b3VgKicXUpPn84gYb4=";
+
version = "1.16.1";
+
hash = "sha256-GsUNvBUlGZ5gRk6GnAfT0eUKHK+D+cPtdAhuYtxe3w8=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/mshr-h.VerilogHDL/changelog";
···
mktplcRef = {
publisher = "shd101wyy";
name = "markdown-preview-enhanced";
-
version = "0.8.18";
-
hash = "sha256-BHLFlhcIXm3mvmjDPu3fuzpJIGHQvT/RDBEE/QFoRvU=";
+
version = "0.8.19";
+
hash = "sha256-F87YInLUkPUpB2oifCCq1xWD41LUdqg8cusGw2wEYg0=";
};
meta = {
description = "Provides a live preview of markdown using either markdown-it or pandoc";
+4 -1
pkgs/applications/networking/protonvpn-gui/default.nix
···
postInstall = ''
mkdir -p $out/share/{applications,pixmaps}
-
install -Dm 644 ${src}/rpmbuild/SOURCES/protonvpn-app.desktop $out/share/applications
+
+
# Fix the desktop file to correctly identify the wrapped app and show the icon during runtime
+
substitute ${src}/rpmbuild/SOURCES/protonvpn-app.desktop $out/share/applications/protonvpn-app.desktop \
+
--replace-fail "StartupWMClass=protonvpn-app" "StartupWMClass=.protonvpn-app-wrapped"
install -Dm 644 ${src}/rpmbuild/SOURCES/proton-vpn-logo.svg $out/share/pixmaps
'';
+2 -15
pkgs/applications/networking/remote/citrix-workspace/generic.nix
···
libsecret,
libsoup_2_4,
libvorbis,
-
libxml2,
+
libxml2_13,
llvmPackages,
more,
nspr,
···
done
'';
};
-
-
libxml2' = libxml2.overrideAttrs (oldAttrs: rec {
-
version = "2.13.8";
-
src = fetchurl {
-
url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz";
-
hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo=";
-
};
-
meta = oldAttrs.meta // {
-
knownVulnerabilities = oldAttrs.meta.knownVulnerabilities or [ ] ++ [
-
"CVE-2025-6021"
-
];
-
};
-
});
in
···
libsecret
libsoup_2_4
libvorbis
-
libxml2'
+
libxml2_13
llvmPackages.libunwind
nspr
nss
+8 -7
pkgs/by-name/_0/_010editor/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "010editor";
-
version = "15.0.2";
+
version = "16.0";
src =
if stdenv.hostPlatform.isLinux then
fetchzip {
url = "https://download.sweetscape.com/010EditorLinux64Installer${finalAttrs.version}.tar.gz";
-
hash = "sha256-oXwC4criDox8rac7mnJroqxMNKU7k+y7JQqc88XoRFc=";
+
hash = "sha256-DK+AIk90AC/KjZR0yBMHaRF7ajuX+UvT8rqDVdL678M=";
}
else
fetchurl {
url = "https://download.sweetscape.com/010EditorMac64Installer${finalAttrs.version}.dmg";
-
hash = "sha256-RZtFV3AbE5KfzW18usW0FS/AnX8Uets/RkVayBAODQ4=";
+
hash = "sha256-TWatSVqm9a+bVLXtJjiWAtkcB7qZqoeJ7Gmr62XUVz4=";
};
sourceRoot = ".";
···
mkdir -p $out/Applications
cp -R *.app $out/Applications
'';
+
linuxInstall = ''
mkdir -p $out/opt && cp -ar source/* $out/opt
-
# Unset wrapped QT plugins since they're already included in the package,
-
# else the program crashes because of the conflict
+
# Use makeWrapper to clean environment and force xcb
makeWrapper $out/opt/010editor $out/bin/010editor \
-
--unset QT_PLUGIN_PATH
+
--unset QT_PLUGIN_PATH \
+
--set QT_QPA_PLATFORM xcb
# Copy the icon and generated desktop file
install -D $out/opt/010_icon_128x128.png $out/share/icons/hicolor/128x128/apps/010.png
···
exec = "010editor %f";
icon = "010";
desktopName = "010 Editor";
-
genericName = "Text and hex edtior";
+
genericName = "Text and hex editor";
categories = [ "Development" ];
mimeTypes = [
"text/html"
+3 -3
pkgs/by-name/al/aliae/package.nix
···
buildGoModule rec {
pname = "aliae";
-
version = "0.26.5";
+
version = "0.26.6";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = "aliae";
tag = "v${version}";
-
hash = "sha256-F5OteK1D0MCNyiZG6iz3vawkx74WJKst2Yr6ca8TYZw=";
+
hash = "sha256-W/jj2YQc6M0ro4groCynly2stjv2FLAMvIopnQYCngY=";
};
-
vendorHash = "sha256-TsJU1oAc1T+VdUYzrcyflTPYJhG6sPjFNZ7bZKk1KdM=";
+
vendorHash = "sha256-8YTyhjF0p2l76sowq92ts5TjjcARToOfJN9nlFu19L4=";
sourceRoot = "${src.name}/src";
+14
pkgs/by-name/am/amdvlk/package.nix
···
cmakeDir = "../drivers/xgl";
+
cmakeFlags = [
+
# There is some incredibly cursed issue with
+
# `directx-shader-compiler` flagging up compiler errors only on
+
# `i686-linux` and only when it has been compiled with a recent
+
# GCC. Since few 32‐bit games are going to use ray tracing anyway,
+
# we just disable it for now. Arch has done this since 2022.
+
#
+
# See:
+
# * <https://github.com/NixOS/nixpkgs/issues/216294>
+
# * <https://github.com/GPUOpen-Drivers/gpurt/issues/5>
+
# * <https://gitlab.archlinux.org/archlinux/packaging/packages/lib32-amdvlk/-/commit/905d9bc2cf4a003b3d367537b5e120d9771cce16>
+
(lib.cmakeBool "VKI_RAY_TRACING" (!(stdenv.hostPlatform.isx86 && stdenv.hostPlatform.is32bit)))
+
];
+
installPhase = ''
runHook preInstall
+3 -3
pkgs/by-name/ap/apko/package.nix
···
buildGoModule (finalAttrs: {
pname = "apko";
-
version = "0.30.2";
+
version = "0.30.4";
src = fetchFromGitHub {
owner = "chainguard-dev";
repo = "apko";
tag = "v${finalAttrs.version}";
-
hash = "sha256-5d/92BrrKfDGtIVp3AAg0cfKooaJH9YtDgmO635gZc4=";
+
hash = "sha256-4bmfHgtxaoXyx6GAUTtdNr47/Weol4KqO4fnonOCkEM=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
···
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
-
vendorHash = "sha256-jHvImL22IYaeYhhedN+C/AfJAFkCFN1UqKZOBsNhQnA=";
+
vendorHash = "sha256-snyfsRyNOx6bsz506Nde2ofcBgVQOlNvYGuwFoHKOzI=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/by-name/aq/aquamarine/package.nix
···
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
-
version = "0.9.2";
+
version = "0.9.3";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "aquamarine";
tag = "v${finalAttrs.version}";
-
hash = "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=";
+
hash = "sha256-ZIa0peLluZ0AVT0f6bMW+bRCIxMRUVlN798PE4iHRAw=";
};
nativeBuildInputs = [
+14
pkgs/by-name/ch/chow-tape-model/fix-juce-gcc-12.patch
···
+
Submodule Plugin/modules/JUCE contains modified content
+
diff --git a/Plugin/modules/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h b/Plugin/modules/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h
+
index 06c0a729d..119f146b8 100644
+
--- a/Plugin/modules/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h
+
+++ b/Plugin/modules/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h
+
@@ -23,6 +23,8 @@
+
==============================================================================
+
*/
+
+
+#include <utility>
+
+
+
namespace juce
+
{
+
+6 -6
pkgs/by-name/ch/chow-tape-model/package.nix
···
pkg-config,
python3,
sqlite,
-
gcc11Stdenv,
+
stdenv,
webkitgtk_4_0,
}:
-
let
-
# JUCE version in submodules is incompatible with GCC12
-
# See here: https://forum.juce.com/t/build-fails-on-fedora-wrong-c-version/50902/2
-
stdenv = gcc11Stdenv;
-
in
stdenv.mkDerivation (finalAttrs: {
pname = "chow-tape-model";
version = "2.11.4";
···
hash = "sha256-WriHi68Y6hAsrwE+74JtVlAKUR9lfTczj6UK9h2FOGM=";
fetchSubmodules = true;
};
+
+
patches = [
+
# Fix the old JUCE submodule for GCC ≥ 12
+
./fix-juce-gcc-12.patch
+
];
nativeBuildInputs = [
pkg-config
+444
pkgs/by-name/co/collectl/0001-scripts-external-executable-calls.patch
···
+
Processing diff for: collectl.conf
+
--- a/collectl.conf 2025-08-14 08:42:24.434419733 +0000
+
+++ b/collectl.conf 2025-08-16 07:56:13.806350456 +0000
+
@@ -43,7 +43,7 @@
+
#Ps = /bin/ps
+
#Rpm = /bin/rpm
+
#Lspci = /sbin/lspci
+
-#Lctl = /usr/sbin/lctl
+
+#Lctl = /usr/sbin/lctl # disabled since collectl 4.0.4
+
+
# I n f i n i b a n d S u p p o r t
+
+
@@ -55,10 +55,11 @@
+
# variable below. PQuery for OFED, PCounter for get_pcounter calls and
+
# VStat for ALL non-ofed access of any kind.
+
# can disable either by commenting out the reference to VStat/PQuery below.
+
-PQuery = /usr/sbin/perfquery:/usr/bin/perfquery:/usr/local/ofed/bin/perfquery
+
-PCounter = /usr/mellanox/bin/get_pcounter
+
-VStat = /usr/mellanox/bin/vstat:/usr/bin/vstat
+
-OfedInfo = /usr/bin/ofed_info:/usr/local/ofed/bin/ofed_info
+
+# Disable the Infiniband support by default
+
+# PQuery = /usr/sbin/perfquery:/usr/bin/perfquery:/usr/local/ofed/bin/perfquery
+
+# PCounter = /usr/mellanox/bin/get_pcounter
+
+# VStat = /usr/mellanox/bin/vstat:/usr/bin/vstat
+
+# OfedInfo = /usr/bin/ofed_info:/usr/local/ofed/bin/ofed_info
+
+
# D e f a u l t s
+
+
@@ -116,7 +117,7 @@
+
# size, comment out the Resize line and uncomment TermHeight, setting it to
+
# what you want.
+
#TermHeight = 24
+
-Resize=/usr/bin/resize:/usr/X11R6/bin/resize
+
+Resize=@resize@
+
+
# To turn off Time:HiRes/glibc incompatibility checking, the following
+
# should be enabled and set to 0
+
@@ -125,7 +126,7 @@
+
# These control environmental monitoring and to use it you MUST have ipmitool
+
# installed (see http://ipmitool.sourceforge.net/). If not in the path shown
+
# below, you must change it.
+
-Ipmitool = /usr/bin/ipmitool:/usr/local/bin/ipmitool:/opt/hptc/sbin/ipmitool
+
+Ipmitool = @ipmitool@
+
IpmiCache = /var/run/collectl-ipmicache
+
IpmiTypes = fan,temp,current
+
+
Processing diff for: collectl
+
--- a/collectl 2025-08-14 08:42:24.434419733 +0000
+
+++ b/collectl 2025-08-16 09:25:20.238548613 +0000
+
@@ -69,14 +69,14 @@
+
use IO::Select;
+
use Cwd 'abs_path';
+
+
-$Cat= '/bin/cat';
+
-$Grep= '/bin/grep';
+
-$Egrep= '/bin/egrep';
+
-$Ps= '/bin/ps';
+
-$Rpm= '/bin/rpm';
+
-$Lspci= '/sbin/lspci';
+
-$Lctl= '/usr/sbin/lctl';
+
-$Dmidecode= '/usr/sbin/dmidecode';
+
+$Cat= '@cat@';
+
+$Grep= '@grep@';
+
+$Egrep= '@egrep@';
+
+$Ps= '@ps@';
+
+$Rpm= '@rpm@';
+
+$Lspci= '@lspci@';
+
+$Lctl= '/usr/sbin/lctl'; # disabled since collectl 4.0.4
+
+$Dmidecode= '@dmidecode@';
+
+
%TopProcTypes=qw(vsz '' rss '' syst '' usrt '' time '' accum '' rkb '' wkb '' iokb ''
+
rkbc '' wkbc '' iokbc '' ioall '' rsys '' wsys '' iosys ''
+
@@ -108,7 +108,7 @@
+
$syslogFlag=(eval {require "Sys/Syslog.pm" or die}) ? 1 : 0;
+
+
# Always nice to know if we're root
+
-$rootFlag=(!$PcFlag && `whoami`=~/root/) ? 1 : 0;
+
+$rootFlag=(!$PcFlag && `@whoami@`=~/root/) ? 1 : 0;
+
$SrcArch= $Config{"archname"};
+
+
$Version= '4.3.20';
+
@@ -126,15 +126,15 @@
+
# we're in the background. We also need to know if STDOUT connected to a terminal.
+
if (!$PcFlag)
+
{
+
- $MyDir=`pwd`;
+
- $Cat= 'cat';
+
+ $MyDir=`@pwd@`;
+
+ $Cat= '@cat@';
+
$Sep= '/';
+
$backFlag=(getpgrp()!=tcgetpgrp(0)) ? 1 : 0;
+
$termFlag= (-t STDOUT) ? 1 : 0;
+
}
+
else
+
{
+
- $MyDir=`cd`;
+
+ $MyDir=`@cd@`;
+
$Cat= 'type';
+
$Sep= '\\';
+
$backFlag=0;
+
@@ -148,7 +148,7 @@
+
# which was recorded with the data file and WILL override in playback mode.
+
# We also need our host name before calling initRecord() so we can log it at
+
# startup as well as for naming the logfile.
+
-$myHost=($PcFlag) ? `hostname` : `/bin/hostname`;
+
+$myHost=($PcFlag) ? `@hostname@` : `@hostname@`;
+
$myHost=(split(/\./, $myHost))[0];
+
chomp $myHost;
+
$Host=$myHost;
+
@@ -509,12 +509,12 @@
+
+
if ($runasUser!~/^\d+$/)
+
{
+
- $runasUid=(split(/:/, `grep ^$runasUser: /etc/passwd`))[2];
+
+ $runasUid=(split(/:/, `@grep@ ^$runasUser: /etc/passwd`))[2];
+
error("can't find '$runasUser' in /etc/passwd. Consider UID.") if !defined($runasUid);
+
}
+
if (defined($runasGroup) && $runasGroup!~/^\d+$/)
+
{
+
- $runasGid=(split(/:/, `grep ^$runasGroup: /etc/group`))[2];
+
+ $runasGid=(split(/:/, `@grep@ ^$runasGroup: /etc/group`))[2];
+
error("can't find '$runasGroup' in /etc/group. Consider GID.") if !defined($runasGid);
+
}
+
$runasUid=$runasUser if $runasUser=~/^\d+/;
+
@@ -1167,19 +1167,19 @@
+
if (!$PcFlag)
+
{
+
# This matches THIS host, but in playback mode will be reset to the target
+
- $Kernel=`uname -r`;
+
+ $Kernel=`@uname@ -r`;
+
chomp $Kernel;
+
error("collectl no longer supports 2.4 kernels") if $Kernel=~/^2\.4/;
+
+
- $LocalTimeZone=`date +%z`;
+
+ $LocalTimeZone=`@date@ +%z`;
+
chomp $LocalTimeZone;
+
+
# Some distros put lspci in /usr/sbin and others in /usr/bin, so take one last look in
+
# those before complaining, but only if in record mode AND only if looking at interconnects
+
if (!-e $Lspci && $playback eq '' && $subsys=~/x/i)
+
{
+
- $Lspci=(-e '/usr/sbin/lspci') ? '/usr/sbin/lspci' : '/usr/bin/lspci';
+
- if (!-e "/usr/sbin/lspci" && !-e "/usr/bin/lspci")
+
+ $Lspci='@lspci@';
+
+ if (!-e "@lspci@")
+
{
+
pushmsg('W', "-sx disabled because 'lspci' not in $Lspci or '/usr/sbin' or '/usr/bin'");
+
pushmsg('W', "If somewhere else, move it or define in collectl.conf");
+
@@ -1274,7 +1274,7 @@
+
# it further on so not to worry, but at least record a warning.
+
$pid=`$Cat $PidFile`;
+
chomp $pid;
+
- @ps=`ps axo pid,command`;
+
+ @ps=`@ps@ axo pid,command`;
+
foreach my $line (@ps)
+
{
+
$line=~s/^\s+//; # trim leading whitespace for short pids
+
@@ -1551,14 +1551,14 @@
+
}
+
+
# if -N, set priority to 20
+
-`renice 20 $$` if $niceFlag;
+
+`@renice@ 20 $$` if $niceFlag;
+
+
# Couldn't find anywhere else to put this one...
+
error("-sT only works with -P for now (too much data)")
+
if $TFlag && !$plotFlag;
+
+
# get parent pid so we can check later to see it still there
+
-$stat=`cat /proc/$$/stat`;
+
+$stat=`@cat@ /proc/$$/stat`;
+
$myPpid=(split(/\s+/, $stat))[3];
+
+
###############################
+
@@ -2311,7 +2311,7 @@
+
printBriefCounters('T');
+
}
+
+
- `stty echo` if !$PcFlag && $termFlag && !$backFlag; # in brief mode, we turned it off
+
+ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag; # in brief mode, we turned it off
+
my $temp=(!$msgFlag) ? ' Try again with -m.' : '';
+
print "No files selected contain the selected data.$temp\n" if !$numProcessed;
+
exit(0);
+
@@ -2453,7 +2453,7 @@
+
open STDIN, '/dev/null' or logmsg("F", "Can't read /dev/null: $!");
+
open STDOUT, '>/dev/null' or logmsg("F", "Can't write to /dev/null: $!");
+
open STDERR, '>/dev/null' or logmsg("F", "Can't write to /dev/null: $!");
+
- `echo $$ > $PidFile`;
+
+ `@echo@ $$ > $PidFile`;
+
+
# Now that we're set up to start, if '--runas' has been sprecified we need to do a
+
# few things that require privs before actually changing our UID. Also note the
+
@@ -2469,8 +2469,8 @@
+
$logname=(-d $filename) ? $filename : dirname($filename);
+
$logname.="/$myHost-collectl-$yymm.log";
+
+
- `chown $runasUid $logname`;
+
- `chgrp $runasGid $logname` if defined($runasGid);
+
+ `@chown@ $runasUid $logname`;
+
+ `@chgrp@ $runasGid $logname` if defined($runasGid);
+
+
# now we can change our process's ownership taking care to do the group first
+
# since we won't be able to change anything once we change our UID.
+
@@ -3244,7 +3244,7 @@
+
# close logs cleanly and turn echo back on because when 'brief' we turned it off.
+
closeLogs($subsys);
+
unlink $PidFile if $daemonFlag;
+
-`stty echo` if !$PcFlag && $termFlag && !$backFlag;
+
+`@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
+
+
# clean up when in pure top mode
+
if ($numTop && !$topVertFlag)
+
@@ -4350,7 +4350,7 @@
+
if (!-e $temp)
+
{
+
logmsg('W', "Creating directory '$temp'");
+
- `mkdir $temp`;
+
+ `@mkdir@ $temp`;
+
}
+
+
# track number of times same file processed, primarily for options 'a/c'. in
+
@@ -5363,7 +5363,7 @@
+
+
# build up the search list being extra neat and leaving
+
# off possible duplicate /etc
+
- $configFile="$BinDir/$ConfigFile;$etcDir/$ConfigFile";
+
+ $configFile="$BinDir/../etc/$ConfigFile;$etcDir/$ConfigFile";
+
$configFile.=";/etc/$ConfigFile" if $etcDir ne '/etc';
+
}
+
print "Config File Search Path: $configFile\n" if $debug & 1;
+
@@ -5789,7 +5789,7 @@
+
# what gets stored in /proc/XXX/stat and to make sure we look at the same
+
# values dynamically as well as staticly, we better pull cmd from the stat
+
# file itself.
+
- @ps=`ps axo pid,ppid,uid,comm,user`;
+
+ @ps=`@ps@ axo pid,ppid,uid,comm,user`;
+
my $firstFilePass=1;
+
foreach $process (@ps)
+
{
+
@@ -6228,7 +6228,7 @@
+
$briefFlag=0;
+
$verboseFlag=1;
+
intervalPrint(time);
+
- `stty echo` if !$PcFlag && $termFlag && !$backFlag;
+
+ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
+
}
+
+
sub error
+
@@ -6241,7 +6241,7 @@
+
# printText() will try to send error over socket and we want it local.
+
$sockFlag=0 if $serverFlag;
+
+
- `stty echo` if !$PcFlag && $termFlag && !$backFlag;
+
+ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
+
logmsg("F", "Error: $text") if $daemonFlag;
+
+
# we can only call printText() when formatit loaded.
+
Processing diff for: colmux
+
--- a/colmux 2025-08-14 08:42:24.438419919 +0000
+
+++ b/colmux 2025-08-15 07:38:22.003168089 +0000
+
@@ -78,7 +78,7 @@
+
my $License="colmux may be copied only under the terms of either the Artistic License\n";
+
$License.= "or the GNU General Public License, which may be found in the source kit";
+
+
-my $Ping='/bin/ping';
+
+my $Ping='@ping@';
+
my $ResizePath='/usr/bin/resize:/usr/X11R6/bin/resize';
+
my $Route='/sbin/route';
+
my $Ifconfig='/sbin/ifconfig';
+
@@ -235,7 +235,7 @@
+
$Collectl="sudo $Collectl" if $sudoFlag;
+
+
# ok if host not in known_hosts and when not debugging be sure to turn off motd
+
-my $Ssh='/usr/bin/ssh -o StrictHostKeyChecking=no -o BatchMode=yes';
+
+my $Ssh='@ssh@ -o StrictHostKeyChecking=no -o BatchMode=yes';
+
$Ssh.=" -o ServerAliveInterval=$keepalive" if $keepalive ne '';
+
$Ssh.=" -q" unless $debug;
+
+
@@ -357,7 +357,7 @@
+
# See if any host specs contain 'username@' & reset 'localhost' and
+
# adjust maximum hostname length if necessary.
+
my $hostlen=$hostWidth;
+
-my $myhost=`hostname`;
+
+my $myhost=`@hostname@`;
+
chomp $myhost;
+
+
my (%usernames, %sshswitch, %aliases);
+
@@ -510,7 +510,7 @@
+
$line=~s/^\s+//; # can have leading space
+
my $pid=(split(/\s+/, $line))[0];
+
print "Killing ssh with pid: $pid\n" if $debug & 1;
+
- `kill $pid`;
+
+ `@kill@ $pid`;
+
}
+
sleep 1; # wait a tad for ssh in thread to exit
+
close PS;
+
@@ -983,7 +983,7 @@
+
$line=~s/^\s+//;
+
my $pid=(split(/\s+/, $line))[0];
+
print "Killing ssh with pid: $pid\n" if $debug & 1;
+
- `kill $pid`;
+
+ `@kill@ $pid`;
+
}
+
}
+
+
@@ -1179,7 +1179,7 @@
+
foreach my $host (keys %files)
+
{
+
print "Killing pid $files{$host}->{pid} for '$host'\n" if $debug & 1;
+
- `kill -9 $files{$host}->{pid}`;
+
+ `@kill@ -9 $files{$host}->{pid}`;
+
#close $files{$host}->{fd} or error("Failed to close playback file for '$host'");
+
}
+
+
Processing diff for: formatit.ph
+
--- a/formatit.ph 2025-08-14 08:42:24.438419919 +0000
+
+++ b/formatit.ph 2025-08-15 07:18:19.548190580 +0000
+
@@ -20,19 +20,19 @@
+
$rawPFlag=0; # always 0 when no files involved
+
+
# In some case, we need to know if we're root.
+
- $rootFlag=`whoami`;
+
+ $rootFlag=`@whoami@`;
+
$rootFlag=($rootFlag=~/root/) ? 1 : 0;
+
+
# be sure to remove domain portion if present. also note we keep the hostname in
+
# two formats, one in it's unaltered form (at least needed by lustre directory
+
# parsing) as well as all lc because it displays nicer.
+
- $Host=`hostname`;
+
+ $Host=`@hostname@`;
+
chomp $Host;
+
$Host=(split(/\./, $Host))[0];
+
$HostLC=lc($Host);
+
+
# when was system booted?
+
- $uptime=(split(/\s+/, `cat /proc/uptime`))[0];
+
+ $uptime=(split(/\s+/, `@cat@ /proc/uptime`))[0];
+
$boottime=time-$uptime;
+
+
$Distro=cat('/etc/redhat-release') if -e '/etc/redhat-release';
+
@@ -83,11 +83,11 @@
+
if ($subsys=~/y/i && $slabinfoFlag || $slubinfoFlag)
+
{
+
$message='';
+
- $message='/proc/slabinfo' if $slabinfoFlag && !(eval {`cat /proc/slabinfo 2>/dev/null` or die});
+
- $message='/sys/slab' if $slubinfoFlag && !(eval {`cat /proc/slubinfo 2>/dev/null` or die});
+
+ $message='/proc/slabinfo' if $slabinfoFlag && !(eval {`@cat@ /proc/slabinfo 2>/dev/null` or die});
+
+ $message='/sys/slab' if $slubinfoFlag && !(eval {`@cat@ /proc/slubinfo 2>/dev/null` or die});
+
if ($message ne '')
+
{
+
- my $whoami=`whoami`;
+
+ my $whoami=`@whoami@`;
+
chomp $whoami;
+
disableSubsys('y', "/proc/slabinfo is not readable by $whoami");
+
$interval=~s/(^\d*):\d+/$1:/ if $subsys!~/z/i; # remove int2 if not needed or we'll get error
+
@@ -132,7 +132,7 @@
+
+
for (my $i=1; $i<$NumCpus; $i++)
+
{
+
- my $online=`cat /sys/devices/system/cpu/cpu$i/online`;
+
+ my $online=`@cat@ /sys/devices/system/cpu/cpu$i/online`;
+
chomp $online;
+
+
$cpuEnabled[$i]=$online;
+
@@ -266,7 +266,7 @@
+
$ibSpeed='??';
+
if (-e '/sys/class/infiniband')
+
{
+
- $line=`cat /sys/class/infiniband/*/ports/1/rate 2>&1`;
+
+ $line=`@cat@ /sys/class/infiniband/*/ports/1/rate 2>&1`;
+
if ($line=~/\s*(\d+)\s+(\S)/)
+
{
+
$ibSpeed=$1;
+
@@ -669,7 +669,7 @@
+
{
+
# Get Luster and SFS Versions before looking at any data structures in the
+
# 'lustreCheck' routines because things change over time
+
- $temp=`cat /proc/fs/lustre/version | grep lustre 2>/dev/null`;
+
+ $temp=`@cat@ /proc/fs/lustre/version | grep lustre 2>/dev/null`;
+
$temp=~/lustre: (\d+.*)/;
+
$cfsVersion=$1;
+
$sfsVersion='';
+
@@ -716,7 +716,7 @@
+
# The first step is to build up a hash of the sizes of all the
+
# existing partitions. Since we're only doing this once, a 'cat's
+
# overhead should be minimal
+
- @partitions=`cat /proc/partitions`;
+
+ @partitions=`@cat@ /proc/partitions`;
+
foreach $part (@partitions)
+
{
+
# ignore blank lines and header
+
@@ -778,7 +778,7 @@
+
$temp=`head -n 1 /proc/slabinfo`;
+
$temp=~/(\d+\.\d+)/;
+
$SlabVersion=$1;
+
- $NumSlabs=`cat /proc/slabinfo | wc -l`*1;
+
+ $NumSlabs=`@cat@ /proc/slabinfo | wc -l`*1;
+
chomp $NumSlabs;
+
$NumSlabs-=2;
+
+
@@ -4127,7 +4127,7 @@
+
$netSpeeds{$netName}='??';
+
if ($line ne '')
+
{
+
- $speed=`cat $line 2>&1`;
+
+ $speed=`@cat@ $line 2>&1`;
+
chomp $speed;
+
$line=~/.*\/(\S+)\/speed/;
+
my $netName=$1;
+
Processing diff for: graphite.ph
+
--- a/graphite.ph 2025-08-14 08:42:24.442420106 +0000
+
+++ b/graphite.ph 2025-08-14 08:44:07.351625049 +0000
+
@@ -117,7 +117,7 @@
+
# behavior for -f logs matches that of -A
+
$rawtooFlag=1 if $filename ne '' && !$plotFlag;
+
+
- $graphiteMyHost=(!$graphiteFqdnFlag) ? `hostname` : `hostname -f`;
+
+ $graphiteMyHost=(!$graphiteFqdnFlag) ? `@hostname@` : `@hostname@ -f`;
+
chomp $graphiteMyHost;
+
$graphiteMyHost =~ s/\./$graphiteEscape/g if $graphiteEscape ne '';
+
+
Processing diff for: vmsum.ph
+
--- a/vmsum.ph 2025-08-14 08:42:24.442420106 +0000
+
+++ b/vmsum.ph 2025-08-14 08:44:24.184414112 +0000
+
@@ -20,8 +20,8 @@
+
my $oneMB=1024*1024;
+
my ($debug, $helpFlag, $instMin, $versionFlag, $zeroFlag);
+
+
-my $Ssh= '/usr/bin/ssh';
+
-my $Ping='/bin/ping';
+
+my $Ssh= '@ssh@';
+
+my $Ping='@ping@';
+
my $PingTimeout=1;
+
+
# these control writing the vm text file
+
@@ -32,7 +32,7 @@
+
+
my $lexprFlag=0;
+
my $noNetMsg=''; # if not null, problem with n/w stats (very rare)
+
-my $hostname=`hostname`;
+
+my $hostname=`@hostname@`;
+
chomp $hostname;
+
+
sub vmsumInit
+133
pkgs/by-name/co/collectl/0002-fix-install-script.patch
···
+
--- a/INSTALL 2025-08-14 08:46:43.845548078 +0000
+
+++ b/INSTALL 2025-08-14 08:50:33.771706783 +0000
+
@@ -1,28 +1,29 @@
+
#!/bin/sh
+
+
-DESTDIR=${DESTDIR:="/"}
+
+# Use Nix output directory instead of system paths
+
+DESTDIR=${out}
+
+
-BINDIR=$DESTDIR/usr/bin
+
-DOCDIR=$DESTDIR/usr/share/doc/collectl
+
-SHRDIR=$DESTDIR/usr/share/collectl
+
-MANDIR=$DESTDIR/usr/share/man/man1
+
-SYSDDIR=$DESTDIR/usr/lib/systemd/system
+
-ETCDIR=$DESTDIR/etc
+
-INITDIR=$ETCDIR/init.d
+
+BINDIR=$out/bin
+
+DOCDIR=$out/share/doc/collectl
+
+SHRDIR=$out/share/collectl
+
+MANDIR=$out/share/man/man1
+
+SYSDDIR=$out/lib/systemd/system
+
+ETCDIR=$out/etc
+
+INITDIR=$out/etc/init.d
+
+
mkdir -p $BINDIR
+
mkdir -p $DOCDIR
+
mkdir -p $SHRDIR
+
mkdir -p $ETCDIR
+
mkdir -p $MANDIR
+
-mkdir -p $INITDIR
+
+# Skip init.d creation for Nix
+
mkdir -p $SHRDIR/util
+
mkdir -p $DESTDIR/var/log/collectl
+
+
cp collectl colmux $BINDIR
+
cp collectl.conf $ETCDIR
+
cp man1/* $MANDIR
+
-cp initd/* $INITDIR
+
+# Skip init scripts for Nix
+
+
cp docs/* $DOCDIR
+
cp GPL ARTISTIC COPYING $DOCDIR
+
@@ -42,87 +43,12 @@
+
# Force in case redoing the install and files already zipped
+
gzip -f $MANDIR/collectl*
+
+
-chmod 755 $INITDIR/collectl*
+
+# Skip chmod on init scripts for Nix
+
chmod 444 $ETCDIR/collectl.conf
+
chmod 755 $BINDIR/collectl
+
chmod 444 $DOCDIR/ARTISTIC $DOCDIR/COPYING $DOCDIR/GPL
+
chmod 444 $SHRDIR/*ph
+
chmod 755 $SHRDIR/util/*
+
+
-# remove any stale versions in case the names/numbers used have changed.
+
-# on new ROCKS installion 'rm' isn't there yet! [thanks roy]
+
-if [ -x /bin/rm ] ; then
+
- /bin/rm -f $INITDIR/rc*.d/*collectl
+
- /bin/rm -f $ETCDIR/rc.d/rc*.d/*collectl
+
-fi
+
-
+
-# only if systemd is supported
+
-if [ -d $SYSDDIR ]; then
+
- cp service/collectl.service $SYSDDIR
+
-fi
+
-
+
-# Try and decide which distro this is based on distro specific files.
+
-distro=1
+
-if [ -f /sbin/yast ]; then
+
- distro=2
+
- mv -f $INITDIR/collectl-suse $INITDIR/collectl
+
- rm -f $INITDIR/collectl-debian
+
- rm -f $INITDIR/collectl-generic
+
-fi
+
-
+
-# debian
+
-if [ -f /usr/sbin/update-rc.d ]; then
+
- distro=3
+
- mv -f $INITDIR/collectl-debian $INITDIR/collectl
+
- rm -f $INITDIR/collectl-suse
+
- rm -f $INITDIR/collectl-generic
+
-
+
- # only if we're installing under /
+
- [ "$DESTDIR" = "/" ] && update-rc.d collectl defaults
+
-fi
+
-
+
-# redhat
+
-if [ -f /etc/redhat-release ]; then
+
- distro=4
+
- rm -f $INITDIR/collectl-suse
+
- rm -f $INITDIR/collectl-debian
+
- rm -f $INITDIR/collectl-generic
+
- if [ -f /usr/sbin/chkconfig ]; then
+
- [ "$DESTDIR" = "/" ] && chkconfig --add collectl
+
- fi
+
-# Not needed for RHEL8 and higher
+
-fi
+
-
+
-# gentoo
+
-if [ -f $ETCDIR/gentoo-release ]; then
+
- distro=5
+
- mv -f $INITDIR/collectl-generic $INITDIR/collectl
+
- rm -f $INITDIR/collectl-suse
+
- rm -f $INITDIR/collectl-debian
+
- [ "$DESTDIR" = "/" ] && rc-update -a collectl default
+
-fi
+
-
+
-# Generic Distros
+
-# If /etc/init.d doesn't exist and/or there's no way to use chkconfig or
+
-# rc-update you're going to have to add some custom code below...
+
-if [ ${distro} = 1 ]; then
+
-
+
- mv -f $INITDIR/collectl-generic $INITDIR/collectl
+
- rm -f $INITDIR/collectl-suse
+
- rm -f $INITDIR/collectl-debian
+
-
+
- # If in not installing under / there's nothing extra do
+
- [ $DESTDIR != "/" ] && exit 0
+
-
+
- # figure out how to handle reboots
+
- if [ -f /sbin/chkconfig ]; then
+
- chkconfig --add collectl
+
- elif [ -f /sbin/rc-update ]; then
+
- rc-update -a collectl default
+
-# RHEL9 has no chkconfig
+
- elif [ -f /usr/bin/systemctl ]; then
+
- systemctl enable collectl
+
- else
+
- echo "could not figure out how to enable restarting across reboots"
+
- fi
+
-fi
+
+# Skip all distro-specific service installation for Nix
+
+# Nix manages services differently through NixOS modules
+126
pkgs/by-name/co/collectl/package.nix
···
+
{
+
callPackage,
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
replaceVars,
+
+
# Runtime dependencies
+
coreutils,
+
dmidecode,
+
gnugrep,
+
inetutils,
+
openssh,
+
pciutils,
+
perl,
+
procps,
+
rpm,
+
util-linux,
+
xterm,
+
+
# Dependencies
+
ipmitool,
+
}:
+
+
let
+
inherit (lib) getExe getExe' genAttrs;
+
+
# Define tool dependencies for script patches
+
scriptDeps =
+
let
+
mkTools = pkg: tools: genAttrs tools (tool: getExe' pkg tool);
+
in
+
# Tools from various packages
+
(mkTools coreutils [
+
"cat"
+
"whoami"
+
"pwd"
+
"uname"
+
"date"
+
"mkdir"
+
"chown"
+
"chgrp"
+
"echo"
+
"kill"
+
"cd"
+
"stty"
+
])
+
// (mkTools util-linux [ "renice" ])
+
// (mkTools gnugrep [
+
"grep"
+
"egrep"
+
])
+
// (mkTools inetutils [
+
"hostname"
+
"ping"
+
])
+
// (mkTools procps [ "ps" ])
+
// (mkTools pciutils [ "lspci" ])
+
// (mkTools xterm [ "resize" ])
+
// (mkTools dmidecode [ "dmidecode" ])
+
// (mkTools rpm [ "rpm" ])
+
// {
+
# Single-tool packages
+
ssh = getExe openssh;
+
ipmitool = getExe ipmitool;
+
};
+
in
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "collectl";
+
version = "4.3.20.1";
+
+
src = fetchFromGitHub {
+
owner = "sharkcz";
+
repo = "collectl";
+
rev = finalAttrs.version;
+
hash = "sha256-OJGCuxWvoId1cQ5Ugiav5/T/NzddwhM+gG3s0BnYYz0=";
+
};
+
+
strictDeps = true;
+
+
patches = [
+
(replaceVars ./0001-scripts-external-executable-calls.patch scriptDeps)
+
./0002-fix-install-script.patch
+
];
+
+
buildInputs = [
+
perl
+
dmidecode
+
ipmitool
+
];
+
+
dontBuild = true;
+
+
installPhase = ''
+
runHook preInstall
+
+
bash ./INSTALL
+
+
runHook postInstall
+
'';
+
+
passthru.tests.run = callPackage ./test.nix { };
+
+
meta = {
+
description = "Performance monitoring tool for Linux systems";
+
longDescription = ''
+
Collectl is a light-weight performance monitoring tool capable of reporting
+
interactively as well as logging to disk. It reports statistics on cpu, disk,
+
infiniband, lustre, memory, network, nfs, process, quadrics, slabs and more
+
in easy to read format.
+
+
The `--config` option allows specifying a custom configuration file path,
+
overriding the default configuration file in the package's etc directory.
+
'';
+
homepage = "https://github.com/sharkcz/collectl";
+
downloadPage = "https://github.com/sharkcz/collectl/releases";
+
license = with lib.licenses; [
+
artistic1
+
gpl1Plus
+
];
+
maintainers = with lib.maintainers; [ seven_bear ];
+
platforms = lib.platforms.linux;
+
mainProgram = "collectl";
+
};
+
})
+44
pkgs/by-name/co/collectl/test.nix
···
+
{
+
runCommand,
+
collectl,
+
coreutils,
+
}:
+
+
runCommand "collectl-test"
+
{
+
nativeBuildInputs = [
+
collectl
+
coreutils
+
];
+
meta.timeout = 60;
+
}
+
''
+
# Test basic functionality - limit to 5 seconds to avoid hanging
+
timeout 5s collectl -c1 >/dev/null || true
+
+
# Test that explicit config file option still works with original config
+
timeout 5s collectl --config ${collectl}/etc/collectl.conf -c1 >/dev/null || true
+
+
# Test custom config file path override
+
custom_config_path=$(mktemp)
+
cp ${collectl}/etc/collectl.conf "$custom_config_path"
+
+
# Test that collectl uses the custom config file path
+
config_output=$(timeout 5s collectl --config "$custom_config_path" -c1 -d1 2>&1 | grep -i "Config File Search Path:" | head -1)
+
expected_output="Config File Search Path: $custom_config_path"
+
+
if [ "$config_output" = "$expected_output" ]; then
+
echo "✓ Custom config file path test passed"
+
else
+
echo "✗ Custom config file path test failed"
+
echo "Expected: $expected_output"
+
echo "Got: $config_output"
+
exit 1
+
fi
+
+
# Cleanup
+
rm -f "$custom_config_path"
+
+
# Signal success
+
touch $out
+
''
+3 -3
pkgs/by-name/de/dendrite/package.nix
···
buildGoModule rec {
pname = "matrix-dendrite";
-
version = "0.14.1";
+
version = "0.15.2";
src = fetchFromGitHub {
owner = "element-hq";
repo = "dendrite";
rev = "v${version}";
-
hash = "sha256-b/kybHF9WcP88kQuG7LB0/pgflYUeWNqEHfUyKfUCIU=";
+
hash = "sha256-VxQ5fuGzkEL371TmnDQ0wNqqmfzupmsTX/v+eFthj8E=";
};
-
vendorHash = "sha256-380xuwMD9gxrjUsLfO8R08wruyWZwjRhiIDmSc/FGwA=";
+
vendorHash = "sha256-QUztOoOesECAhwh4whzvrc43rJxjtPaEICUHno2DId0=";
subPackages = [
# The server
+2 -2
pkgs/by-name/dw/dwm/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "dwm";
-
version = "6.5";
+
version = "6.6";
src = fetchzip {
url = "https://dl.suckless.org/dwm/dwm-${finalAttrs.version}.tar.gz";
-
hash = "sha256-Cc4B8evvuRxOjbeOhg3oAs3Nxi/msxWg950/eiq536w=";
+
hash = "sha256-fD97OpObSOBTAMc3teejS0u2h4hCkMVYJrNZ6F4IaFs=";
};
nativeBuildInputs = lib.optional stdenv.hostPlatform.isStatic pkg-config;
+2 -2
pkgs/by-name/e1/e16/package.nix
···
stdenv.mkDerivation rec {
pname = "e16";
-
version = "1.0.30";
+
version = "1.0.31";
src = fetchurl {
url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz";
-
hash = "sha256-JKBmBgC5cN4XO03r0NR78Ly9tpI733/sUEPL0GLU5B0=";
+
hash = "sha256-ZQTsIy/BiO/xUiCu+bc2n406F0unAinxyYLjVRfUSiQ=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/em/emcee/package.nix
···
buildGoModule (finalAttrs: {
pname = "emcee";
-
version = "0.5.1";
+
version = "0.6.1";
src = fetchFromGitHub {
owner = "loopwork-ai";
repo = "emcee";
tag = "v${finalAttrs.version}";
-
hash = "sha256-ri/4Xxc6QgGqsARI5c2JjVeEe5lOmi/c+B3+vUvW6ow=";
+
hash = "sha256-k8W3kCVF1WuX5nYX75HvfMlxpEcVbuX2lZKlLOf1qGI=";
};
-
vendorHash = "sha256-B8shxh1fLdIR7TN0mSugu9wFNShmrb1WBzCArHVVnoU=";
+
vendorHash = "sha256-e8LPcKue7rhAh03uCRG0VTcwwyj3kDOBoeo3t7Hwvi0=";
ldflags = [
"-X main.version=${finalAttrs.version}"
+2
pkgs/by-name/en/enblend-enfuse/package.nix
···
glew,
gsl,
lcms2,
+
libjpeg,
libpng,
libtiff,
libGLU,
···
glew
gsl
lcms2
+
libjpeg
libpng
libtiff
libGLU
+2 -2
pkgs/by-name/fl/flexget/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "flexget";
-
version = "3.17.6";
+
version = "3.17.11";
pyproject = true;
src = fetchFromGitHub {
owner = "Flexget";
repo = "Flexget";
tag = "v${version}";
-
hash = "sha256-E0ytB30tiJgmdfpJ+KCy67enqmfZT7HjoZHlqtRQWsQ=";
+
hash = "sha256-Qfq6TXSNAnIq8m3I7noFe6pIq6PmUTQKUjN+ZC4NxyU=";
};
pythonRelaxDeps = true;
+9 -10
pkgs/by-name/ge/gemini-cli/package.nix
···
lib,
buildNpmPackage,
fetchFromGitHub,
-
fetchpatch,
gitUpdater,
}:
buildNpmPackage (finalAttrs: {
pname = "gemini-cli";
-
version = "0.1.18";
+
version = "0.1.21";
src = fetchFromGitHub {
owner = "google-gemini";
repo = "gemini-cli";
tag = "v${finalAttrs.version}";
-
hash = "sha256-vO70olSAG6NaZjyERU22lc8MbVivyJFieGcy0xOErrc=";
+
hash = "sha256-eS83Uwp6LzyQuIx2jirXnJ6Xb2XEaAKLnS9PMKTIvyI=";
};
patches = [
-
(fetchpatch {
-
url = "https://github.com/google-gemini/gemini-cli/pull/5336/commits/c1aef417d559237bf4d147c584449b74d6fbc1f8.patch";
-
name = "restore-missing-dependencies-fields.patch";
-
hash = "sha256-euRoLpbv075KIpYF9QPMba5FxG4+h/kxwLRetaay33s=";
-
})
+
# FIXME: remove once https://github.com/google-gemini/gemini-cli/pull/5336 is merged
+
./restore-missing-dependencies-fields.patch
];
-
npmDepsHash = "sha256-8dn0i2laR4LFZk/sFDdvblvrHSnraGcLl3WAthCOKc0=";
+
npmDepsHash = "sha256-5pFnxZFhVNxYLPJClYq+pe4wAX5623Y3hFj8lIq00+E=";
preConfigure = ''
mkdir -p packages/generated
···
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; [ donteatoreo ];
+
maintainers = with lib.maintainers; [
+
donteatoreo
+
taranarmo
+
];
platforms = lib.platforms.all;
mainProgram = "gemini";
};
+69
pkgs/by-name/ge/gemini-cli/restore-missing-dependencies-fields.patch
···
+
From c1aef417d559237bf4d147c584449b74d6fbc1f8 Mon Sep 17 00:00:00 2001
+
From: ljxfstorm <ljxf.storm@live.cn>
+
Date: Fri, 1 Aug 2025 10:23:11 +0800
+
Subject: [PATCH] build(deps): restore missing `resolved` and `integrity` of
+
some dependencies
+
+
---
+
package-lock.json | 12 ++++++++++++
+
1 file changed, 12 insertions(+)
+
+
diff --git a/package-lock.json b/package-lock.json
+
index 3938c5e32b..99590b8a9b 100644
+
--- a/package-lock.json
+
+++ b/package-lock.json
+
@@ -11738,6 +11738,8 @@
+
},
+
"packages/cli/node_modules/@testing-library/dom": {
+
"version": "10.4.0",
+
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
+
+ "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
+
"dev": true,
+
"license": "MIT",
+
"peer": true,
+
@@ -11773,6 +11775,8 @@
+
},
+
"packages/cli/node_modules/@testing-library/react": {
+
"version": "16.3.0",
+
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz",
+
+ "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==",
+
"dev": true,
+
"license": "MIT",
+
"dependencies": {
+
@@ -11824,6 +11828,8 @@
+
},
+
"packages/cli/node_modules/aria-query": {
+
"version": "5.3.0",
+
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+
"dev": true,
+
"license": "Apache-2.0",
+
"peer": true,
+
@@ -11833,6 +11839,8 @@
+
},
+
"packages/cli/node_modules/emoji-regex": {
+
"version": "10.4.0",
+
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
+
+ "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
+
"license": "MIT"
+
},
+
"packages/cli/node_modules/react-is": {
+
@@ -11845,6 +11853,8 @@
+
},
+
"packages/cli/node_modules/string-width": {
+
"version": "7.2.0",
+
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+
"license": "MIT",
+
"dependencies": {
+
"emoji-regex": "^10.3.0",
+
@@ -11942,6 +11952,8 @@
+
},
+
"packages/core/node_modules/ignore": {
+
"version": "7.0.5",
+
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+
"license": "MIT",
+
"engines": {
+
"node": ">= 4"
+
+34 -32
pkgs/by-name/gn/gnome-disk-utility/package.nix
···
{
lib,
stdenv,
+
fetchurl,
+
adwaita-icon-theme,
+
desktop-file-utils,
+
docbook-xsl-nons,
gettext,
-
fetchurl,
-
pkg-config,
-
udisks2,
-
libhandy,
-
libsecret,
-
libdvdread,
-
meson,
-
ninja,
-
gtk3,
glib,
-
wrapGAppsHook3,
-
libnotify,
-
itstool,
gnome,
gnome-settings-daemon,
-
adwaita-icon-theme,
-
libxml2,
gsettings-desktop-schemas,
+
gtk3,
+
itstool,
libcanberra-gtk3,
-
libxslt,
-
docbook-xsl-nons,
-
desktop-file-utils,
+
libdvdread,
+
libhandy,
+
libnotify,
libpwquality,
+
libsecret,
+
libxml2,
+
libxslt,
+
meson,
+
ninja,
+
pkg-config,
systemd,
+
udisks2,
+
wrapGAppsHook3,
+
xz,
}:
stdenv.mkDerivation rec {
···
};
nativeBuildInputs = [
+
desktop-file-utils
+
docbook-xsl-nons
+
gettext
+
itstool
+
libxml2
+
libxslt
meson
ninja
pkg-config
-
gettext
-
itstool
-
libxslt
-
docbook-xsl-nons
-
desktop-file-utils
wrapGAppsHook3
-
libxml2
];
buildInputs = [
+
adwaita-icon-theme
+
glib
+
gnome-settings-daemon
+
gsettings-desktop-schemas
gtk3
-
glib
+
libcanberra-gtk3
+
libdvdread
libhandy
-
libsecret
-
libpwquality
libnotify
-
libdvdread
-
libcanberra-gtk3
-
udisks2
-
adwaita-icon-theme
+
libpwquality
+
libsecret
systemd
-
gnome-settings-daemon
-
gsettings-desktop-schemas
+
udisks2
+
xz
];
passthru = {
+3 -3
pkgs/by-name/go/gollama/package.nix
···
buildGoModule rec {
pname = "gollama";
-
version = "v1.35.1";
+
version = "v1.35.3";
src = fetchFromGitHub {
owner = "sammcj";
repo = "gollama";
tag = "v${version}";
-
hash = "sha256-fiCfkCxj/7XTmlqxLwZqnv+tRDF6RC412RthAcpHUUA=";
+
hash = "sha256-k2SGcsWQi2jC3W2ZO8KXY+WUyh7n7qonLr6BLKZXzdY=";
};
-
vendorHash = "sha256-O9uv/oXZKr9060woz/RQ8UEPdbW4Z8vnhXIQXm+ljQ4=";
+
vendorHash = "sha256-hZx4AsPnlFmJGms0vRKgBV/4Ea8uvHaNc0zNehs2RB8=";
doCheck = false;
+3 -3
pkgs/by-name/gr/gramps/package.nix
···
}:
python3Packages.buildPythonApplication rec {
-
version = "6.0.3";
+
version = "6.0.4";
pname = "gramps";
pyproject = true;
···
owner = "gramps-project";
repo = "gramps";
tag = "v${version}";
-
hash = "sha256-dmokrAN6ZC7guMYHifNifL9rXqZPW+Z5LudQhIUxMs8=";
+
hash = "sha256-MBsc4YMbCvzRG6+7/cGQpx7iYvQAdqWYrIMEpf1A7ew=";
};
patches = [
···
pinpox
tomasajt
];
-
changelog = "https://github.com/gramps-project/gramps/blob/${src.rev}/ChangeLog";
+
changelog = "https://github.com/gramps-project/gramps/blob/${src.tag}/ChangeLog";
longDescription = ''
Every person has their own story but they are also part of a collective
family history. Gramps gives you the ability to record the many details of
+3 -3
pkgs/by-name/gr/gruvbox-gtk-theme/package.nix
···
stdenvNoCC.mkDerivation
{
inherit pname;
-
version = "0-unstable-2025-07-28";
+
version = "0-unstable-2025-08-13";
src = fetchFromGitHub {
owner = "Fausto-Korpsvart";
repo = "Gruvbox-GTK-Theme";
-
rev = "39aed8f4d09d5ac75162adea1a64212ad4ef9ade";
-
hash = "sha256-Q2XwcYMz/GsFyd5kjj7OYwa724OUxw8w+nhTBkWo3Z0=";
+
rev = "f9f56cb51ba06d27f5ee8e7b88e20b0b4de6bf4c";
+
hash = "sha256-gKJQ2TTh0MJB0SULA2ND8gvZ/YlC1dSxCOr0K2X4So0=";
};
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+10 -15
pkgs/by-name/la/lact/package.nix
···
fetchFromGitHub,
pkg-config,
wrapGAppsHook4,
+
bashNonInteractive,
gdk-pixbuf,
gtk4,
libdrm,
···
hwdata,
fuse3,
autoAddDriverRunpath,
-
fetchpatch,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "lact";
-
version = "0.8.0";
+
version = "0.8.1";
src = fetchFromGitHub {
owner = "ilya-zlobintsev";
repo = "LACT";
tag = "v${finalAttrs.version}";
-
hash = "sha256-HsDVz9Wd1WoGWIB4Cs/GsvC7RDyHAeXfFGXZDWEmo/c=";
+
hash = "sha256-bgMQTiNeJR6zPTy/YpQ0oI1oGBzCf+VtBUn6pgADZAY=";
};
-
cargoHash = "sha256-fgF7gOXxB9sQqA5H1hw6A0Fb5tTBPySAbSxVhcKVhcM=";
+
cargoHash = "sha256-VxyYnX6AW+AS4NOB1XZXi2Dyrf4rtJzKHXMYwgLY6pQ=";
nativeBuildInputs = [
pkg-config
···
]
);
-
patches = [
-
(fetchpatch {
-
name = "fix-tests::snapshot_everything-due-to-outdated-hwdata-649.patch";
-
url = "https://github.com/ilya-zlobintsev/LACT/commit/c9a59e48a36d590d7522c22bd15a8f9208bef0ee.patch";
-
hash = "sha256-Ehq8vRosqyqpRPeabkdpBHBF6ONqSJHOeq3AXw8PXPU=";
-
})
-
];
-
postPatch = ''
substituteInPlace lact-daemon/src/system.rs \
--replace-fail 'Command::new("uname")' 'Command::new("${coreutils}/bin/uname")'
substituteInPlace lact-daemon/src/server/handler.rs \
--replace-fail 'run_command("journalctl",' 'run_command("${systemdMinimal}/bin/journalctl",'
+
+
substituteInPlace lact-daemon/src/server/handler.rs \
+
--replace-fail 'Command::new("sh")' 'Command::new("${bashNonInteractive}/bin/bash")'
substituteInPlace lact-daemon/src/server/vulkan.rs \
--replace-fail 'Command::new("vulkaninfo")' 'Command::new("${vulkan-tools}/bin/vulkaninfo")'
+
substituteInPlace lact-daemon/src/socket.rs \
+
--replace-fail 'run_command("chown"' 'run_command("${coreutils}/bin/chown"'
+
substituteInPlace res/lactd.service \
--replace-fail ExecStart={lact,$out/bin/lact}
-
-
substituteInPlace res/io.github.ilya_zlobintsev.LACT.desktop \
-
--replace-fail Exec={lact,$out/bin/lact}
# read() looks for the database in /usr/share so we use read_from_file() instead
substituteInPlace lact-daemon/src/server/handler.rs \
+2 -2
pkgs/by-name/mi/microsoft-edge/package.nix
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
-
version = "139.0.3405.86";
+
version = "139.0.3405.102";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
-
hash = "sha256-S1/RUSwRQsBQno/I31xjw1CGs0tJpl5HRatat+wOqmE=";
+
hash = "sha256-rY6Q3sMIAGX/ZKOVvwSl6cxq24SB1PiCn7b1pMXMeps=";
};
# With strictDeps on, some shebangs were not being patched correctly
+2 -2
pkgs/by-name/nv/nvitop/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "nvitop";
-
version = "1.5.2";
+
version = "1.5.3";
pyproject = true;
src = fetchFromGitHub {
owner = "XuehaiPan";
repo = "nvitop";
tag = "v${version}";
-
hash = "sha256-kUlKb5L8dzT4ESi0rO2v0kQILjnVy+zcoePwqckyfbk=";
+
hash = "sha256-cqRvjK3q9fm5HPnZFGSV59FPnAdLkeq/D5wSR5ke7Ok=";
};
build-system = with python3Packages; [ setuptools ];
+3 -3
pkgs/by-name/pl/plex-desktop/package.nix
···
libpulseaudio,
libva,
libxkbcommon,
+
libxml2_13,
makeShellWrapper,
minizip,
nss,
···
buildInputs = [
elfutils
ffmpeg_6-headless
+
libedit
libpulseaudio
libva
libxkbcommon
+
libxml2_13
minizip
nss
stdenv.cc.cc
···
rm $out/lib/libdrm.so*
rm $out/lib/libdrm*
-
ln -s ${libedit}/lib/libedit.so.0 $out/lib/libedit.so.2
-
# Keep dependencies where the version from nixpkgs is higher.
cp usr/lib/x86_64-linux-gnu/libasound.so.2 $out/lib/libasound.so.2
cp usr/lib/x86_64-linux-gnu/libjbig.so.0 $out/lib/libjbig.so.0
···
cp usr/lib/x86_64-linux-gnu/libtiff.so.5 $out/lib/libtiff.so.5
cp usr/lib/x86_64-linux-gnu/libwebp.so.6 $out/lib/libwebp.so.6
cp usr/lib/x86_64-linux-gnu/libxkbfile.so.1.0.2 $out/lib/libxkbfile.so.1
-
cp usr/lib/x86_64-linux-gnu/libxml2.so.2 $out/lib/libxml2.so.2
cp usr/lib/x86_64-linux-gnu/libxslt.so.1.1.34 $out/lib/libxslt.so.1
runHook postInstall
+3 -3
pkgs/by-name/st/stackit-cli/package.nix
···
buildGoModule rec {
pname = "stackit-cli";
-
version = "0.38.0";
+
version = "0.39.1";
src = fetchFromGitHub {
owner = "stackitcloud";
repo = "stackit-cli";
rev = "v${version}";
-
hash = "sha256-i6UOgD3C0nq6Z3Gdki8YOZotU1CbC14Jx8d9B1LV7Hk=";
+
hash = "sha256-6Y71KglFPfecbrXwczsrEdoVECOP8C/Mt021H6nQrvE=";
};
-
vendorHash = "sha256-qzNd1wn3N+EPjXO1gFYKtVNdGwd2D/jf6oJFvloR7HY=";
+
vendorHash = "sha256-Vz8jcbp3HzzgfzHFeEYPeGg0lmElPbm2hpHWNVhTQa0=";
subPackages = [ "." ];
+3 -3
pkgs/by-name/te/teams-for-linux/package.nix
···
buildNpmPackage rec {
pname = "teams-for-linux";
-
version = "2.1.4";
+
version = "2.3.0";
src = fetchFromGitHub {
owner = "IsmaelMartinez";
repo = "teams-for-linux";
tag = "v${version}";
-
hash = "sha256-wzw7GXKehQCYX2RDH5G/SqhBSziVPnXiaPiLrhC2Dfc=";
+
hash = "sha256-wbkjLPaQFfAQmWtWVZ5U6PslaO7XvuuvU1yjlgaiKwQ=";
};
-
npmDepsHash = "sha256-PWWEFbenAXuYKwFN+C+pQumrYJqgtfAt9EzEiaMddhQ=";
+
npmDepsHash = "sha256-OesAv8y2FWWJsNS4ms/B65cbJ7jEwnuQLVUb8zm1oSQ=";
nativeBuildInputs = [
makeWrapper
+2 -2
pkgs/by-name/te/terragrunt/package.nix
···
buildGoModule (finalAttrs: {
pname = "terragrunt";
-
version = "0.84.1";
+
version = "0.85.0";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = "terragrunt";
tag = "v${finalAttrs.version}";
-
hash = "sha256-fdKw0hNUKhOz/L0/ozkZPP/6z+C4i3UIGM2lX3/szr4=";
+
hash = "sha256-ey3Qbwg036OzWYfw/0lso3CentUXGF0/NB/w3ss3Dp0=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/wa/wasm-tools/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "wasm-tools";
-
version = "1.236.0";
+
version = "1.236.1";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = "wasm-tools";
tag = "v${version}";
-
hash = "sha256-gw5LIfbrJojsK7g8sMLBGXKJbME8MMtLm1ytVR1Zbmo=";
+
hash = "sha256-kg8I74i5MlsrmFGeHMFDs+FyuCNqNwj8buJE/apRMkg=";
fetchSubmodules = true;
};
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
auditable = false;
-
cargoHash = "sha256-/ixFvNTh1loXd3CPzNzGMGDbQPnGUtp/XaoK/7dW48Q=";
+
cargoHash = "sha256-5QUYWhWfmvvmHxlpPNT3nQmRb2D17XGkcHTzwvdjh6g=";
cargoBuildFlags = [
"--package"
"wasm-tools"
+2 -2
pkgs/by-name/xd/xdp-tools/package.nix
···
}:
stdenv.mkDerivation rec {
pname = "xdp-tools";
-
version = "1.5.5";
+
version = "1.5.6";
src = fetchFromGitHub {
owner = "xdp-project";
repo = "xdp-tools";
rev = "v${version}";
-
hash = "sha256-dK+ZpD1wv20iU51dsMUiW/Z9jojuwC8P3rrjU3LEB1Y=";
+
hash = "sha256-ztIatDNp0RXUpNsSoNWGj/kHNsCOlI6mqZvaQdlGbtQ=";
};
outputs = [
-8
pkgs/development/compilers/llvm/default.nix
···
buildPackages,
targetPackages,
stdenv,
-
gcc12Stdenv,
pkgs,
recurseIntoAttrs,
# This is the default binutils, but with *this* version of LLD rather
···
;
}
// packageSetArgs # Allow overrides.
-
// {
-
stdenv =
-
if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then
-
gcc12Stdenv
-
else
-
stdenv; # does not build with gcc13
-
}
)
)
);
+4 -7
pkgs/development/interpreters/falcon/default.nix
···
stdenv.mkDerivation {
pname = "falcon";
-
version = "unstable-2018-10-23";
+
version = "0-unstable-2023-11-19";
src = fetchFromGitHub {
owner = "falconpl";
repo = "falcon";
-
rev = "637e2d5cd950a874496042993c02ab7d17c1b688";
-
sha256 = "iCyvvZJjXb1CR396EJ6GiP6d4e7iAc6QQlAOQoAfehg=";
+
rev = "fc403c6e8c1f3d8c2a5a6ebce5db6f1b3e355808";
+
hash = "sha256-0yLhwDVFNbfiW23hNxrvItCCkyaOvEbFSg1ZQuJvhIs=";
};
-
-
# -Wnarrowing is enabled by default in recent GCC versions,
-
# causing compilation to fail.
-
env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";
nativeBuildInputs = [
cmake
···
license = licenses.gpl2Only;
maintainers = with maintainers; [ pSub ];
platforms = with platforms; unix;
+
broken = stdenv.cc.isClang;
};
}
+1 -1
pkgs/development/lua-modules/overrides.nix
···
luarocksConfig = lib.recursiveUpdate oa.luarocksConfig {
variables = {
MYSQL_INCDIR = "${lib.getDev libmysqlclient}/include/";
-
MYSQL_LIBDIR = "${lib.getLib libmysqlclient}/lib/";
+
MYSQL_LIBDIR = "${lib.getLib libmysqlclient}/lib//mysql/";
};
};
buildInputs = oa.buildInputs ++ [
+2 -2
pkgs/development/python-modules/ingredient-parser-nlp/default.nix
···
}:
buildPythonPackage rec {
pname = "ingredient-parser-nlp";
-
version = "2.1.1";
+
version = "2.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "strangetom";
repo = "ingredient-parser";
tag = version;
-
hash = "sha256-rmCM3KmsCGrKX5AvfIinkL689+miXII9meGAYQxSqEk=";
+
hash = "sha256-vv7sNRG2GH1uYy1UMpIx6yGLMIFrFN+dggpoqzhRFRg=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/plotly/default.nix
···
buildPythonPackage rec {
pname = "plotly";
-
version = "6.2.0";
+
version = "6.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "plotly";
repo = "plotly.py";
tag = "v${version}";
-
hash = "sha256-Vfj5jG0AkBjivExOx7oMoocTopWl0yMc1INpEbtlgTc=";
+
hash = "sha256-s+kWJy/dOqlNqRD/Ytxy/SSRsFJvp13jSvPMd0LQliQ=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/xmpppy/default.nix
···
buildPythonPackage rec {
pname = "xmpppy";
-
version = "0.7.1";
+
version = "0.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "xmpppy";
repo = "xmpppy";
tag = version;
-
hash = "sha256-SnzIjEWSCdiCtD8bmPTH02JprmZhrABB4HCqtt2RBuk=";
+
hash = "sha256-lemHFPb1oQGL3O5lHOBsyEqTAzKmZ0khBHL73gXh8PA=";
};
dependencies = [ six ];
+76 -64
pkgs/development/tools/analysis/radare2/default.nix
···
stdenv,
fetchFromGitHub,
buildPackages,
-
pkg-config,
+
capstone,
+
file,
+
gtk2,
+
gtkdialog,
+
libewf,
+
libusb-compat-0_1,
+
libuv,
+
libzip,
+
lua,
+
lz4,
meson,
ninja,
-
libusb-compat-0_1,
-
readline,
-
libewf,
+
openssl,
perl,
-
zlib,
-
openssl,
-
libuv,
-
file,
-
libzip,
-
xxHash,
-
gtk2,
-
vte,
-
gtkdialog,
+
pkg-config,
python3,
+
readline,
ruby,
-
lua,
-
lz4,
-
capstone,
+
vte,
+
xxHash,
+
zlib,
useX11 ? false,
rubyBindings ? false,
luaBindings ? false,
}:
-
let
-
# NOTE: Check these revision changes when updating the package.
-
# https://github.com/radareorg/radare2/blob/master/libr/arch/p/arm/v35/Makefile#L25-L26
-
arm64 = fetchFromGitHub {
-
owner = "radareorg";
-
repo = "vector35-arch-arm64";
-
rev = "55d73c6bbb94448a5c615933179e73ac618cf876";
-
hash = "sha256-pZxxp5xDg8mgkGEx7LaBSoKxNPyggFYA4um9YaO20LU=";
+
binaryninja = fetchFromGitHub {
+
owner = "Vector35";
+
repo = "binaryninja-api";
+
rev = "c40a5f04deec68d388b2072dc42b29141089f9ce"; # https://github.com/radareorg/radare2/blob/master/subprojects/binaryninja.wrap
+
hash = "sha256-IfuGgwVI51urQxhaYkYsE45NkScgxKmmEBV6Pllhwmo=";
};
-
armv7 = fetchFromGitHub {
-
owner = "radareorg";
-
repo = "vector35-arch-armv7";
-
rev = "f270a6cc99644cb8e76055b6fa632b25abd26024";
-
hash = "sha256-YhfgJ7M8ys53jh1clOzj0I2yfJshXQm5zP0L9kMYsmk=";
+
+
sdb = fetchFromGitHub {
+
owner = "radare";
+
repo = "sdb";
+
tag = "2.2.0"; # https://github.com/radareorg/radare2/blob/master/subprojects/sdb.wrap
+
hash = "sha256-S/aL3F6+Z/rqelfIJaZaBF1IxSmhA1qE9ahFvKARoaE=";
+
};
+
+
qjs = fetchFromGitHub {
+
owner = "quickjs-ng";
+
repo = "quickjs";
+
rev = "7238ee64dbc2fbdea044555cda8cda78785a93ed"; # https://github.com/radareorg/radare2/blob/master/subprojects/qjs.wrap
+
hash = "sha256-1ZeLCTmbrlRrZB9El3L497gt3QUA5GIScrFVIBkxA88=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "radare2";
-
version = "5.9.8";
+
version = "6.0.2";
src = fetchFromGitHub {
owner = "radare";
repo = "radare2";
tag = finalAttrs.version;
-
hash = "sha256-XSnv0yWEPlXHUPjf1Qu50AN3Gvgr0o6Q4e0dOyRdO9A=";
+
hash = "sha256-uCMf+pNqyjRLeNJlE8Kk6PQCIRBjidO/XGHeNV/F1lA=";
};
-
preBuild = ''
-
pushd ../libr/arch/p/arm/v35
-
cp -r ${arm64} arch-arm64
-
chmod -R +w arch-arm64
-
-
cp -r ${armv7} arch-armv7
-
chmod -R +w arch-armv7
-
popd
-
'';
-
-
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
-
install_name_tool -add_rpath $out/lib $out/lib/libr_io.${finalAttrs.version}.dylib
-
'';
-
mesonFlags = [
-
"-Dr2_gittap=${finalAttrs.version}"
-
"-Duse_sys_capstone=true"
-
"-Duse_sys_lz4=true"
-
"-Duse_sys_magic=true"
-
"-Duse_sys_openssl=true"
-
"-Duse_sys_xxhash=true"
-
"-Duse_sys_zip=true"
-
"-Duse_sys_zlib=true"
+
(lib.mesonOption "use_sys_capstone" "true")
+
(lib.mesonOption "use_sys_lz4" "true")
+
(lib.mesonOption "use_sys_magic" "true")
+
(lib.mesonOption "use_sys_openssl" "true")
+
(lib.mesonOption "use_sys_xxhash" "true")
+
(lib.mesonOption "use_sys_zip" "true")
+
(lib.mesonOption "use_sys_zlib" "true")
+
(lib.mesonOption "r2_gittap" finalAttrs.version)
];
enableParallelBuilding = true;
···
buildInputs = [
capstone
file
-
readline
-
libusb-compat-0_1
libewf
-
perl
-
zlib
-
openssl
+
libusb-compat-0_1
libuv
lz4
+
openssl
+
perl
+
readline
+
zlib
]
++ lib.optionals useX11 [
gtkdialog
···
xxHash
];
-
meta = with lib; {
+
postUnpack = ''
+
pushd $sourceRoot/subprojects
+
+
cp -r ${binaryninja} binaryninja
+
chmod -R +w binaryninja
+
cp packagefiles/binaryninja/meson.build binaryninja
+
+
cp -r ${sdb} sdb
+
chmod -R +w sdb
+
+
cp -r ${qjs} qjs
+
chmod -R +w qjs
+
cp packagefiles/qjs/meson.build qjs
+
+
popd
+
'';
+
+
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
+
install_name_tool -add_rpath $out/lib $out/lib/libr_io.${finalAttrs.version}.dylib
+
'';
+
+
meta = {
description = "UNIX-like reverse engineering framework and command-line toolset";
longDescription = ''
r2 is a complete rewrite of radare. It provides a set of libraries, tools
···
'';
homepage = "https://radare.org";
changelog = "https://github.com/radareorg/radare2/releases/tag/${finalAttrs.version}";
-
license = with licenses; [
+
license = with lib.licenses; [
gpl3Only
lgpl3Only
];
-
maintainers = with maintainers; [
+
maintainers = with lib.maintainers; [
+
arkivm
azahi
-
raskin
makefu
mic92
-
arkivm
+
raskin
];
mainProgram = "radare2";
-
platforms = platforms.unix;
+
platforms = lib.platforms.unix;
};
})
+2 -2
pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/package.nix
···
buildHomeAssistantComponent rec {
owner = "AlexxIT";
domain = "xiaomi_gateway3";
-
version = "4.0.8";
+
version = "4.1.0";
src = fetchFromGitHub {
owner = "AlexxIT";
repo = "XiaomiGateway3";
rev = "v${version}";
-
hash = "sha256-VvuvOUldhmROTs1+YbCT7++VJ71GgGKRbHjqZxQQY0w=";
+
hash = "sha256-fpMrp8iVO1Gmj0c80qRr3yfdZ3fl+DOiEi1vF1GZwXU=";
};
dependencies = [ zigpy ];
+1
pkgs/servers/home-assistant/default.nix
···
preCheck = ''
export HOME="$TEMPDIR"
+
export PYTHONASYNCIODEBUG=1
# the tests require the existance of a media dir
mkdir "$NIX_BUILD_TOP"/media
+2 -2
pkgs/tools/security/iaito/default.nix
···
let
pname = "iaito";
-
version = "5.9.9";
+
version = "6.0.0";
main_src = fetchFromGitHub rec {
owner = "radareorg";
repo = pname;
tag = version;
-
hash = "sha256-y8Mfd7BmnMFJ9mpGKVL3i4VRxrzJ1gXaSsUQIFB9Wd4=";
+
hash = "sha256-bwGKHc2jlf1C/25CEoDUCLr6zOhAJES7+PvcGVyO8To=";
name = repo;
};
+52 -19
pkgs/tools/system/netdata/default.nix
···
withDBengine ? true,
withDebug ? false,
withEbpf ? false,
-
withIpmi ? (stdenv.hostPlatform.isLinux),
+
withIpmi ? stdenv.hostPlatform.isLinux,
withLibbacktrace ? true,
+
withML ? true,
withNdsudo ? false,
-
withNetfilter ? (stdenv.hostPlatform.isLinux),
-
withNetworkViewer ? (stdenv.hostPlatform.isLinux),
+
withNetfilter ? stdenv.hostPlatform.isLinux,
+
withNetworkViewer ? stdenv.hostPlatform.isLinux,
withSsl ? true,
-
withSystemdJournal ? (stdenv.hostPlatform.isLinux),
-
withML ? true,
+
withSystemdJournal ? stdenv.hostPlatform.isLinux,
+
withSystemdUnits ? stdenv.hostPlatform.isLinux,
}:
stdenv.mkDerivation (finalAttrs: {
-
version = "2.5.3";
+
version = "2.6.2";
pname = "netdata";
src = fetchFromGitHub {
owner = "netdata";
repo = "netdata";
rev = "v${finalAttrs.version}";
-
hash = "sha256-OdH6cQ2dYvbeLh9ljaqmdr02VN2qbvNUXbPNCEkNzxc=";
+
hash = "sha256-XtU+oGynAnpwWTinwXVjtRYsTwIyAhkiRqY9CaOo7B0=";
fetchSubmodules = true;
};
···
libnetfilter_acct
]
++ lib.optionals withSsl [ openssl ]
-
++ lib.optionals withSystemdJournal [ systemd ];
+
++ lib.optionals withSystemdJournal [ systemd ]
+
++ lib.optionals withSystemdUnits [ systemd ];
patches = [
# Allow ndsudo to use non-hardcoded `PATH`
···
$out/libexec/netdata/plugins.d/slabinfo.plugin.org
mv $out/libexec/netdata/plugins.d/debugfs.plugin \
$out/libexec/netdata/plugins.d/debugfs.plugin.org
-
${lib.optionalString withSystemdJournal ''
-
mv $out/libexec/netdata/plugins.d/systemd-journal.plugin \
-
$out/libexec/netdata/plugins.d/systemd-journal.plugin.org
-
''}
${lib.optionalString withIpmi ''
mv $out/libexec/netdata/plugins.d/freeipmi.plugin \
$out/libexec/netdata/plugins.d/freeipmi.plugin.org
''}
-
${lib.optionalString withNetworkViewer ''
-
mv $out/libexec/netdata/plugins.d/network-viewer.plugin \
-
$out/libexec/netdata/plugins.d/network-viewer.plugin.org
-
''}
${lib.optionalString withNdsudo ''
mv $out/libexec/netdata/plugins.d/ndsudo \
$out/libexec/netdata/plugins.d/ndsudo.org
ln -s /var/lib/netdata/ndsudo/ndsudo $out/libexec/netdata/plugins.d/ndsudo
''}
+
${lib.optionalString withNetworkViewer ''
+
mv $out/libexec/netdata/plugins.d/network-viewer.plugin \
+
$out/libexec/netdata/plugins.d/network-viewer.plugin.org
+
''}
+
${lib.optionalString withSystemdJournal ''
+
mv $out/libexec/netdata/plugins.d/systemd-journal.plugin \
+
$out/libexec/netdata/plugins.d/systemd-journal.plugin.org
+
''}
+
${lib.optionalString withSystemdUnits ''
+
mv $out/libexec/netdata/plugins.d/systemd-units.plugin \
+
$out/libexec/netdata/plugins.d/systemd-units.plugin.org
+
''}
'';
preConfigure = ''
···
substituteInPlace packaging/cmake/Modules/NetdataGoTools.cmake \
--replace-fail \
'GOPROXY=https://proxy.golang.org' \
-
'GOPROXY=file://${finalAttrs.passthru.netdata-go-modules}'
+
'GOPROXY=file://${finalAttrs.passthru.netdata-go-modules},file://${finalAttrs.passthru.nd-mcp}'
# Prevent the path to be caught into the Nix store path.
substituteInPlace CMakeLists.txt \
···
(lib.cmakeBool "ENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE" withConnPrometheus)
(lib.cmakeBool "ENABLE_JEMALLOC" true)
(lib.cmakeBool "ENABLE_LIBBACKTRACE" withLibbacktrace)
+
(lib.cmakeBool "ENABLE_ML" withML)
(lib.cmakeBool "ENABLE_PLUGIN_CUPS" withCups)
(lib.cmakeBool "ENABLE_PLUGIN_EBPF" withEbpf)
(lib.cmakeBool "ENABLE_PLUGIN_FREEIPMI" withIpmi)
(lib.cmakeBool "ENABLE_PLUGIN_NETWORK_VIEWER" withNetworkViewer)
(lib.cmakeBool "ENABLE_PLUGIN_SYSTEMD_JOURNAL" withSystemdJournal)
+
(lib.cmakeBool "ENABLE_PLUGIN_SYSTEMD_UNITS" withSystemdUnits)
(lib.cmakeBool "ENABLE_PLUGIN_XENSTAT" false)
-
(lib.cmakeBool "ENABLE_ML" withML)
# Suggested by upstream.
"-G Ninja"
]
···
enableParallelBuilding = true;
passthru = rec {
+
nd-mcp =
+
(buildGoModule {
+
pname = "nd-mcp";
+
version = finalAttrs.version;
+
inherit (finalAttrs) src;
+
+
sourceRoot = "${finalAttrs.src.name}/src/web/mcp/bridges/stdio-golang";
+
+
vendorHash = "sha256-6JfHrBloJQ5wHyogIPTVDZjlITWZXbsv2m2lMlQmBUY=";
+
+
proxyVendor = true;
+
doCheck = false;
+
+
subPackages = [ "." ];
+
+
ldflags = [
+
"-s"
+
"-w"
+
];
+
+
meta = {
+
description = "Netdata Model Context Protocol (MCP) Integration";
+
license = lib.licenses.gpl3Only;
+
};
+
}).goModules;
+
netdata-go-modules =
(buildGoModule {
pname = "netdata-go-plugins";
···
sourceRoot = "${finalAttrs.src.name}/src/go/plugin/go.d";
-
vendorHash = "sha256-N03IGTtF78PCo4kf0Sdtzv6f8z47ohg8g3YIXtINRjU=";
+
vendorHash = "sha256-aOFmfBcBjnTfFHfMNemSJHbnMnhBojYrGe21zDxPxME=";
doCheck = false;
proxyVendor = true;
+1 -5
pkgs/tools/typesetting/tex/texlive/default.nix
···
*/
{
lib,
-
#, stdenv
-
gcc12Stdenv,
+
stdenv,
fetchpatch,
fetchurl,
runCommand,
···
recurseIntoAttrs,
nixfmt,
}:
-
let
-
stdenv = gcc12Stdenv;
-
in
let
# various binaries (compiled)
bin = callPackage ./bin.nix {
+3 -23
pkgs/top-level/all-packages.nix
···
diffutils = callPackage ../tools/text/diffutils { };
-
dmd = callPackage ../by-name/dm/dmd/package.nix (
-
{
-
}
-
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
-
# https://github.com/NixOS/nixpkgs/pull/206907#issuecomment-1527034123
-
stdenv = gcc11Stdenv;
-
}
-
);
-
dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { };
dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
···
haxePackages = recurseIntoAttrs (callPackage ./haxe-packages.nix { });
inherit (haxePackages) hxcpp;
-
falcon = callPackage ../development/interpreters/falcon {
-
stdenv = gcc10Stdenv;
-
};
+
falcon = callPackage ../development/interpreters/falcon { };
dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix { });
···
inherit (darwin) sigtool;
buildJdk = jdk11_headless;
runJdk = jdk11_headless;
-
stdenv =
-
if stdenv.cc.isClang then
-
llvmPackages_17.stdenv
-
else if stdenv.cc.isGNU then
-
gcc12Stdenv
-
else
-
stdenv;
+
stdenv = if stdenv.cc.isClang then llvmPackages_17.stdenv else stdenv;
bazel_self = bazel_6;
};
···
diod = callPackage ../servers/diod { lua = lua5_1; };
-
directx-shader-compiler = callPackage ../tools/graphics/directx-shader-compiler {
-
# https://github.com/NixOS/nixpkgs/issues/216294
-
stdenv = if stdenv.cc.isGNU && stdenv.hostPlatform.isi686 then gcc11Stdenv else stdenv;
-
};
+
directx-shader-compiler = callPackage ../tools/graphics/directx-shader-compiler { };
dodgy = with python3Packages; toPythonApplication dodgy;
+1 -1
pkgs/top-level/python-packages.nix
···
enablePython = true;
enableRtk = false;
stdenv =
-
if stdenv.cc.isGNU then pkgs.stdenvAdapters.useLibsFrom stdenv pkgs.gcc12Stdenv else stdenv;
+
if stdenv.cc.isGNU then pkgs.stdenvAdapters.useLibsFrom stdenv pkgs.gcc13Stdenv else stdenv;
);