···391391 expected = 9223372036854775807;
392392 };
393393394394+ testFromHexStringLeadingZeroes = {
395395+ expr = fromHexString "00ffffffffffffff";
396396+ expected = 72057594037927935;
397397+ };
398398+394399 testFromHexStringWithPrefix = {
395395- expr = fromHexString "0Xf";
400400+ expr = fromHexString "0xf";
396401 expected = 15;
397402 };
398403399399- # FIXME: This might be bad and should potentially be deprecated.
400400- testFromHexStringQuestionableMixedCase = {
404404+ testFromHexStringMixedCase = {
401405 expr = fromHexString "eEeEe";
402406 expected = 978670;
403403- };
404404-405405- # FIXME: This is probably bad and should potentially be deprecated.
406406- testFromHexStringQuestionableUnderscore = {
407407- expr = fromHexString "F_f";
408408- expected = 255;
409409- };
410410-411411- # FIXME: This is definitely bad and should be deprecated.
412412- testFromHexStringBadComment = {
413413- expr = fromHexString "0 # oops";
414414- expected = 0;
415415- };
416416-417417- # FIXME: Oh my god.
418418- testFromHexStringAwfulInjection = {
419419- expr = fromHexString "1\nwhoops = {}";
420420- expected = 1;
421407 };
422408423409 testToBaseDigits = {
+13-6
lib/trivial.nix
···11191119 ```
11201120 */
11211121 fromHexString =
11221122- value:
11221122+ str:
11231123 let
11241124- noPrefix = lib.strings.removePrefix "0x" (lib.strings.toLower value);
11241124+ match = builtins.match "(0x)?([0-7]?[0-9A-Fa-f]{1,15})" str;
11251125 in
11261126- let
11271127- parsed = builtins.fromTOML "v=0x${noPrefix}";
11281128- in
11291129- parsed.v;
11261126+ if match != null then
11271127+ (builtins.fromTOML "v=0x${builtins.elemAt match 1}").v
11281128+ else
11291129+ # TODO: Turn this into a `throw` in 26.05.
11301130+ assert lib.warn "fromHexString: ${
11311131+ lib.generators.toPretty { } str
11321132+ } is not a valid input and will be rejected in 26.05" true;
11331133+ let
11341134+ noPrefix = lib.strings.removePrefix "0x" (lib.strings.toLower str);
11351135+ in
11361136+ (builtins.fromTOML "v=0x${noPrefix}").v;
1130113711311138 /**
11321139 Convert the given positive integer to a string of its hexadecimal
···27672767 };
2768276827692769 nvzone-menu = super.nvzone-menu.overrideAttrs {
27702770+ # Plugin managers like Lazy.nvim expect pname to match the name of the git repository
27712771+ pname = "menu";
27702772 checkInputs = with self; [
27712773 # Optional integrations
27722774 nvim-tree-lua
···27792781 };
2780278227812783 nvzone-minty = super.nvzone-minty.overrideAttrs {
27842784+ # Plugin managers like Lazy.nvim expect pname to match the name of the git repository
27852785+ pname = "minty";
27822786 dependencies = [ self.nvzone-volt ];
27832787 };
2784278827852789 nvzone-typr = super.nvzone-typr.overrideAttrs {
27902790+ # Plugin managers like Lazy.nvim expect pname to match the name of the git repository
27912791+ pname = "typr";
27862792 dependencies = [ self.nvzone-volt ];
27932793+ };
27942794+27952795+ nvzone-volt = super.nvzone-volt.overrideAttrs {
27962796+ # Plugin managers like Lazy.nvim expect pname to match the name of the git repository
27972797+ pname = "volt";
27872798 };
2788279927892800 obsidian-nvim = super.obsidian-nvim.overrideAttrs {
···85858686 cmakeDir = "../drivers/xgl";
87878888+ cmakeFlags = [
8989+ # There is some incredibly cursed issue with
9090+ # `directx-shader-compiler` flagging up compiler errors only on
9191+ # `i686-linux` and only when it has been compiled with a recent
9292+ # GCC. Since few 32‐bit games are going to use ray tracing anyway,
9393+ # we just disable it for now. Arch has done this since 2022.
9494+ #
9595+ # See:
9696+ # * <https://github.com/NixOS/nixpkgs/issues/216294>
9797+ # * <https://github.com/GPUOpen-Drivers/gpurt/issues/5>
9898+ # * <https://gitlab.archlinux.org/archlinux/packaging/packages/lib32-amdvlk/-/commit/905d9bc2cf4a003b3d367537b5e120d9771cce16>
9999+ (lib.cmakeBool "VKI_RAY_TRACING" (!(stdenv.hostPlatform.isx86 && stdenv.hostPlatform.is32bit)))
100100+ ];
101101+88102 installPhase = ''
89103 runHook preInstall
90104
+3-3
pkgs/by-name/ap/apko/package.nix
···11111212buildGoModule (finalAttrs: {
1313 pname = "apko";
1414- version = "0.30.2";
1414+ version = "0.30.4";
15151616 src = fetchFromGitHub {
1717 owner = "chainguard-dev";
1818 repo = "apko";
1919 tag = "v${finalAttrs.version}";
2020- hash = "sha256-5d/92BrrKfDGtIVp3AAg0cfKooaJH9YtDgmO635gZc4=";
2020+ hash = "sha256-4bmfHgtxaoXyx6GAUTtdNr47/Weol4KqO4fnonOCkEM=";
2121 # populate values that require us to use git. By doing this in postFetch we
2222 # can delete .git afterwards and maintain better reproducibility of the src.
2323 leaveDotGit = true;
···2929 find "$out" -name .git -print0 | xargs -0 rm -rf
3030 '';
3131 };
3232- vendorHash = "sha256-jHvImL22IYaeYhhedN+C/AfJAFkCFN1UqKZOBsNhQnA=";
3232+ vendorHash = "sha256-snyfsRyNOx6bsz506Nde2ofcBgVQOlNvYGuwFoHKOzI=";
33333434 nativeBuildInputs = [ installShellFiles ];
3535
···11+Processing diff for: collectl.conf
22+--- a/collectl.conf 2025-08-14 08:42:24.434419733 +0000
33++++ b/collectl.conf 2025-08-16 07:56:13.806350456 +0000
44+@@ -43,7 +43,7 @@
55+ #Ps = /bin/ps
66+ #Rpm = /bin/rpm
77+ #Lspci = /sbin/lspci
88+-#Lctl = /usr/sbin/lctl
99++#Lctl = /usr/sbin/lctl # disabled since collectl 4.0.4
1010+1111+ # I n f i n i b a n d S u p p o r t
1212+1313+@@ -55,10 +55,11 @@
1414+ # variable below. PQuery for OFED, PCounter for get_pcounter calls and
1515+ # VStat for ALL non-ofed access of any kind.
1616+ # can disable either by commenting out the reference to VStat/PQuery below.
1717+-PQuery = /usr/sbin/perfquery:/usr/bin/perfquery:/usr/local/ofed/bin/perfquery
1818+-PCounter = /usr/mellanox/bin/get_pcounter
1919+-VStat = /usr/mellanox/bin/vstat:/usr/bin/vstat
2020+-OfedInfo = /usr/bin/ofed_info:/usr/local/ofed/bin/ofed_info
2121++# Disable the Infiniband support by default
2222++# PQuery = /usr/sbin/perfquery:/usr/bin/perfquery:/usr/local/ofed/bin/perfquery
2323++# PCounter = /usr/mellanox/bin/get_pcounter
2424++# VStat = /usr/mellanox/bin/vstat:/usr/bin/vstat
2525++# OfedInfo = /usr/bin/ofed_info:/usr/local/ofed/bin/ofed_info
2626+2727+ # D e f a u l t s
2828+2929+@@ -116,7 +117,7 @@
3030+ # size, comment out the Resize line and uncomment TermHeight, setting it to
3131+ # what you want.
3232+ #TermHeight = 24
3333+-Resize=/usr/bin/resize:/usr/X11R6/bin/resize
3434++Resize=@resize@
3535+3636+ # To turn off Time:HiRes/glibc incompatibility checking, the following
3737+ # should be enabled and set to 0
3838+@@ -125,7 +126,7 @@
3939+ # These control environmental monitoring and to use it you MUST have ipmitool
4040+ # installed (see http://ipmitool.sourceforge.net/). If not in the path shown
4141+ # below, you must change it.
4242+-Ipmitool = /usr/bin/ipmitool:/usr/local/bin/ipmitool:/opt/hptc/sbin/ipmitool
4343++Ipmitool = @ipmitool@
4444+ IpmiCache = /var/run/collectl-ipmicache
4545+ IpmiTypes = fan,temp,current
4646+4747+Processing diff for: collectl
4848+--- a/collectl 2025-08-14 08:42:24.434419733 +0000
4949++++ b/collectl 2025-08-16 09:25:20.238548613 +0000
5050+@@ -69,14 +69,14 @@
5151+ use IO::Select;
5252+ use Cwd 'abs_path';
5353+5454+-$Cat= '/bin/cat';
5555+-$Grep= '/bin/grep';
5656+-$Egrep= '/bin/egrep';
5757+-$Ps= '/bin/ps';
5858+-$Rpm= '/bin/rpm';
5959+-$Lspci= '/sbin/lspci';
6060+-$Lctl= '/usr/sbin/lctl';
6161+-$Dmidecode= '/usr/sbin/dmidecode';
6262++$Cat= '@cat@';
6363++$Grep= '@grep@';
6464++$Egrep= '@egrep@';
6565++$Ps= '@ps@';
6666++$Rpm= '@rpm@';
6767++$Lspci= '@lspci@';
6868++$Lctl= '/usr/sbin/lctl'; # disabled since collectl 4.0.4
6969++$Dmidecode= '@dmidecode@';
7070+7171+ %TopProcTypes=qw(vsz '' rss '' syst '' usrt '' time '' accum '' rkb '' wkb '' iokb ''
7272+ rkbc '' wkbc '' iokbc '' ioall '' rsys '' wsys '' iosys ''
7373+@@ -108,7 +108,7 @@
7474+ $syslogFlag=(eval {require "Sys/Syslog.pm" or die}) ? 1 : 0;
7575+7676+ # Always nice to know if we're root
7777+-$rootFlag=(!$PcFlag && `whoami`=~/root/) ? 1 : 0;
7878++$rootFlag=(!$PcFlag && `@whoami@`=~/root/) ? 1 : 0;
7979+ $SrcArch= $Config{"archname"};
8080+8181+ $Version= '4.3.20';
8282+@@ -126,15 +126,15 @@
8383+ # we're in the background. We also need to know if STDOUT connected to a terminal.
8484+ if (!$PcFlag)
8585+ {
8686+- $MyDir=`pwd`;
8787+- $Cat= 'cat';
8888++ $MyDir=`@pwd@`;
8989++ $Cat= '@cat@';
9090+ $Sep= '/';
9191+ $backFlag=(getpgrp()!=tcgetpgrp(0)) ? 1 : 0;
9292+ $termFlag= (-t STDOUT) ? 1 : 0;
9393+ }
9494+ else
9595+ {
9696+- $MyDir=`cd`;
9797++ $MyDir=`@cd@`;
9898+ $Cat= 'type';
9999+ $Sep= '\\';
100100+ $backFlag=0;
101101+@@ -148,7 +148,7 @@
102102+ # which was recorded with the data file and WILL override in playback mode.
103103+ # We also need our host name before calling initRecord() so we can log it at
104104+ # startup as well as for naming the logfile.
105105+-$myHost=($PcFlag) ? `hostname` : `/bin/hostname`;
106106++$myHost=($PcFlag) ? `@hostname@` : `@hostname@`;
107107+ $myHost=(split(/\./, $myHost))[0];
108108+ chomp $myHost;
109109+ $Host=$myHost;
110110+@@ -509,12 +509,12 @@
111111+112112+ if ($runasUser!~/^\d+$/)
113113+ {
114114+- $runasUid=(split(/:/, `grep ^$runasUser: /etc/passwd`))[2];
115115++ $runasUid=(split(/:/, `@grep@ ^$runasUser: /etc/passwd`))[2];
116116+ error("can't find '$runasUser' in /etc/passwd. Consider UID.") if !defined($runasUid);
117117+ }
118118+ if (defined($runasGroup) && $runasGroup!~/^\d+$/)
119119+ {
120120+- $runasGid=(split(/:/, `grep ^$runasGroup: /etc/group`))[2];
121121++ $runasGid=(split(/:/, `@grep@ ^$runasGroup: /etc/group`))[2];
122122+ error("can't find '$runasGroup' in /etc/group. Consider GID.") if !defined($runasGid);
123123+ }
124124+ $runasUid=$runasUser if $runasUser=~/^\d+/;
125125+@@ -1167,19 +1167,19 @@
126126+ if (!$PcFlag)
127127+ {
128128+ # This matches THIS host, but in playback mode will be reset to the target
129129+- $Kernel=`uname -r`;
130130++ $Kernel=`@uname@ -r`;
131131+ chomp $Kernel;
132132+ error("collectl no longer supports 2.4 kernels") if $Kernel=~/^2\.4/;
133133+134134+- $LocalTimeZone=`date +%z`;
135135++ $LocalTimeZone=`@date@ +%z`;
136136+ chomp $LocalTimeZone;
137137+138138+ # Some distros put lspci in /usr/sbin and others in /usr/bin, so take one last look in
139139+ # those before complaining, but only if in record mode AND only if looking at interconnects
140140+ if (!-e $Lspci && $playback eq '' && $subsys=~/x/i)
141141+ {
142142+- $Lspci=(-e '/usr/sbin/lspci') ? '/usr/sbin/lspci' : '/usr/bin/lspci';
143143+- if (!-e "/usr/sbin/lspci" && !-e "/usr/bin/lspci")
144144++ $Lspci='@lspci@';
145145++ if (!-e "@lspci@")
146146+ {
147147+ pushmsg('W', "-sx disabled because 'lspci' not in $Lspci or '/usr/sbin' or '/usr/bin'");
148148+ pushmsg('W', "If somewhere else, move it or define in collectl.conf");
149149+@@ -1274,7 +1274,7 @@
150150+ # it further on so not to worry, but at least record a warning.
151151+ $pid=`$Cat $PidFile`;
152152+ chomp $pid;
153153+- @ps=`ps axo pid,command`;
154154++ @ps=`@ps@ axo pid,command`;
155155+ foreach my $line (@ps)
156156+ {
157157+ $line=~s/^\s+//; # trim leading whitespace for short pids
158158+@@ -1551,14 +1551,14 @@
159159+ }
160160+161161+ # if -N, set priority to 20
162162+-`renice 20 $$` if $niceFlag;
163163++`@renice@ 20 $$` if $niceFlag;
164164+165165+ # Couldn't find anywhere else to put this one...
166166+ error("-sT only works with -P for now (too much data)")
167167+ if $TFlag && !$plotFlag;
168168+169169+ # get parent pid so we can check later to see it still there
170170+-$stat=`cat /proc/$$/stat`;
171171++$stat=`@cat@ /proc/$$/stat`;
172172+ $myPpid=(split(/\s+/, $stat))[3];
173173+174174+ ###############################
175175+@@ -2311,7 +2311,7 @@
176176+ printBriefCounters('T');
177177+ }
178178+179179+- `stty echo` if !$PcFlag && $termFlag && !$backFlag; # in brief mode, we turned it off
180180++ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag; # in brief mode, we turned it off
181181+ my $temp=(!$msgFlag) ? ' Try again with -m.' : '';
182182+ print "No files selected contain the selected data.$temp\n" if !$numProcessed;
183183+ exit(0);
184184+@@ -2453,7 +2453,7 @@
185185+ open STDIN, '/dev/null' or logmsg("F", "Can't read /dev/null: $!");
186186+ open STDOUT, '>/dev/null' or logmsg("F", "Can't write to /dev/null: $!");
187187+ open STDERR, '>/dev/null' or logmsg("F", "Can't write to /dev/null: $!");
188188+- `echo $$ > $PidFile`;
189189++ `@echo@ $$ > $PidFile`;
190190+191191+ # Now that we're set up to start, if '--runas' has been sprecified we need to do a
192192+ # few things that require privs before actually changing our UID. Also note the
193193+@@ -2469,8 +2469,8 @@
194194+ $logname=(-d $filename) ? $filename : dirname($filename);
195195+ $logname.="/$myHost-collectl-$yymm.log";
196196+197197+- `chown $runasUid $logname`;
198198+- `chgrp $runasGid $logname` if defined($runasGid);
199199++ `@chown@ $runasUid $logname`;
200200++ `@chgrp@ $runasGid $logname` if defined($runasGid);
201201+202202+ # now we can change our process's ownership taking care to do the group first
203203+ # since we won't be able to change anything once we change our UID.
204204+@@ -3244,7 +3244,7 @@
205205+ # close logs cleanly and turn echo back on because when 'brief' we turned it off.
206206+ closeLogs($subsys);
207207+ unlink $PidFile if $daemonFlag;
208208+-`stty echo` if !$PcFlag && $termFlag && !$backFlag;
209209++`@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
210210+211211+ # clean up when in pure top mode
212212+ if ($numTop && !$topVertFlag)
213213+@@ -4350,7 +4350,7 @@
214214+ if (!-e $temp)
215215+ {
216216+ logmsg('W', "Creating directory '$temp'");
217217+- `mkdir $temp`;
218218++ `@mkdir@ $temp`;
219219+ }
220220+221221+ # track number of times same file processed, primarily for options 'a/c'. in
222222+@@ -5363,7 +5363,7 @@
223223+224224+ # build up the search list being extra neat and leaving
225225+ # off possible duplicate /etc
226226+- $configFile="$BinDir/$ConfigFile;$etcDir/$ConfigFile";
227227++ $configFile="$BinDir/../etc/$ConfigFile;$etcDir/$ConfigFile";
228228+ $configFile.=";/etc/$ConfigFile" if $etcDir ne '/etc';
229229+ }
230230+ print "Config File Search Path: $configFile\n" if $debug & 1;
231231+@@ -5789,7 +5789,7 @@
232232+ # what gets stored in /proc/XXX/stat and to make sure we look at the same
233233+ # values dynamically as well as staticly, we better pull cmd from the stat
234234+ # file itself.
235235+- @ps=`ps axo pid,ppid,uid,comm,user`;
236236++ @ps=`@ps@ axo pid,ppid,uid,comm,user`;
237237+ my $firstFilePass=1;
238238+ foreach $process (@ps)
239239+ {
240240+@@ -6228,7 +6228,7 @@
241241+ $briefFlag=0;
242242+ $verboseFlag=1;
243243+ intervalPrint(time);
244244+- `stty echo` if !$PcFlag && $termFlag && !$backFlag;
245245++ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
246246+ }
247247+248248+ sub error
249249+@@ -6241,7 +6241,7 @@
250250+ # printText() will try to send error over socket and we want it local.
251251+ $sockFlag=0 if $serverFlag;
252252+253253+- `stty echo` if !$PcFlag && $termFlag && !$backFlag;
254254++ `@stty@ echo` if !$PcFlag && $termFlag && !$backFlag;
255255+ logmsg("F", "Error: $text") if $daemonFlag;
256256+257257+ # we can only call printText() when formatit loaded.
258258+Processing diff for: colmux
259259+--- a/colmux 2025-08-14 08:42:24.438419919 +0000
260260++++ b/colmux 2025-08-15 07:38:22.003168089 +0000
261261+@@ -78,7 +78,7 @@
262262+ my $License="colmux may be copied only under the terms of either the Artistic License\n";
263263+ $License.= "or the GNU General Public License, which may be found in the source kit";
264264+265265+-my $Ping='/bin/ping';
266266++my $Ping='@ping@';
267267+ my $ResizePath='/usr/bin/resize:/usr/X11R6/bin/resize';
268268+ my $Route='/sbin/route';
269269+ my $Ifconfig='/sbin/ifconfig';
270270+@@ -235,7 +235,7 @@
271271+ $Collectl="sudo $Collectl" if $sudoFlag;
272272+273273+ # ok if host not in known_hosts and when not debugging be sure to turn off motd
274274+-my $Ssh='/usr/bin/ssh -o StrictHostKeyChecking=no -o BatchMode=yes';
275275++my $Ssh='@ssh@ -o StrictHostKeyChecking=no -o BatchMode=yes';
276276+ $Ssh.=" -o ServerAliveInterval=$keepalive" if $keepalive ne '';
277277+ $Ssh.=" -q" unless $debug;
278278+279279+@@ -357,7 +357,7 @@
280280+ # See if any host specs contain 'username@' & reset 'localhost' and
281281+ # adjust maximum hostname length if necessary.
282282+ my $hostlen=$hostWidth;
283283+-my $myhost=`hostname`;
284284++my $myhost=`@hostname@`;
285285+ chomp $myhost;
286286+287287+ my (%usernames, %sshswitch, %aliases);
288288+@@ -510,7 +510,7 @@
289289+ $line=~s/^\s+//; # can have leading space
290290+ my $pid=(split(/\s+/, $line))[0];
291291+ print "Killing ssh with pid: $pid\n" if $debug & 1;
292292+- `kill $pid`;
293293++ `@kill@ $pid`;
294294+ }
295295+ sleep 1; # wait a tad for ssh in thread to exit
296296+ close PS;
297297+@@ -983,7 +983,7 @@
298298+ $line=~s/^\s+//;
299299+ my $pid=(split(/\s+/, $line))[0];
300300+ print "Killing ssh with pid: $pid\n" if $debug & 1;
301301+- `kill $pid`;
302302++ `@kill@ $pid`;
303303+ }
304304+ }
305305+306306+@@ -1179,7 +1179,7 @@
307307+ foreach my $host (keys %files)
308308+ {
309309+ print "Killing pid $files{$host}->{pid} for '$host'\n" if $debug & 1;
310310+- `kill -9 $files{$host}->{pid}`;
311311++ `@kill@ -9 $files{$host}->{pid}`;
312312+ #close $files{$host}->{fd} or error("Failed to close playback file for '$host'");
313313+ }
314314+315315+Processing diff for: formatit.ph
316316+--- a/formatit.ph 2025-08-14 08:42:24.438419919 +0000
317317++++ b/formatit.ph 2025-08-15 07:18:19.548190580 +0000
318318+@@ -20,19 +20,19 @@
319319+ $rawPFlag=0; # always 0 when no files involved
320320+321321+ # In some case, we need to know if we're root.
322322+- $rootFlag=`whoami`;
323323++ $rootFlag=`@whoami@`;
324324+ $rootFlag=($rootFlag=~/root/) ? 1 : 0;
325325+326326+ # be sure to remove domain portion if present. also note we keep the hostname in
327327+ # two formats, one in it's unaltered form (at least needed by lustre directory
328328+ # parsing) as well as all lc because it displays nicer.
329329+- $Host=`hostname`;
330330++ $Host=`@hostname@`;
331331+ chomp $Host;
332332+ $Host=(split(/\./, $Host))[0];
333333+ $HostLC=lc($Host);
334334+335335+ # when was system booted?
336336+- $uptime=(split(/\s+/, `cat /proc/uptime`))[0];
337337++ $uptime=(split(/\s+/, `@cat@ /proc/uptime`))[0];
338338+ $boottime=time-$uptime;
339339+340340+ $Distro=cat('/etc/redhat-release') if -e '/etc/redhat-release';
341341+@@ -83,11 +83,11 @@
342342+ if ($subsys=~/y/i && $slabinfoFlag || $slubinfoFlag)
343343+ {
344344+ $message='';
345345+- $message='/proc/slabinfo' if $slabinfoFlag && !(eval {`cat /proc/slabinfo 2>/dev/null` or die});
346346+- $message='/sys/slab' if $slubinfoFlag && !(eval {`cat /proc/slubinfo 2>/dev/null` or die});
347347++ $message='/proc/slabinfo' if $slabinfoFlag && !(eval {`@cat@ /proc/slabinfo 2>/dev/null` or die});
348348++ $message='/sys/slab' if $slubinfoFlag && !(eval {`@cat@ /proc/slubinfo 2>/dev/null` or die});
349349+ if ($message ne '')
350350+ {
351351+- my $whoami=`whoami`;
352352++ my $whoami=`@whoami@`;
353353+ chomp $whoami;
354354+ disableSubsys('y', "/proc/slabinfo is not readable by $whoami");
355355+ $interval=~s/(^\d*):\d+/$1:/ if $subsys!~/z/i; # remove int2 if not needed or we'll get error
356356+@@ -132,7 +132,7 @@
357357+358358+ for (my $i=1; $i<$NumCpus; $i++)
359359+ {
360360+- my $online=`cat /sys/devices/system/cpu/cpu$i/online`;
361361++ my $online=`@cat@ /sys/devices/system/cpu/cpu$i/online`;
362362+ chomp $online;
363363+364364+ $cpuEnabled[$i]=$online;
365365+@@ -266,7 +266,7 @@
366366+ $ibSpeed='??';
367367+ if (-e '/sys/class/infiniband')
368368+ {
369369+- $line=`cat /sys/class/infiniband/*/ports/1/rate 2>&1`;
370370++ $line=`@cat@ /sys/class/infiniband/*/ports/1/rate 2>&1`;
371371+ if ($line=~/\s*(\d+)\s+(\S)/)
372372+ {
373373+ $ibSpeed=$1;
374374+@@ -669,7 +669,7 @@
375375+ {
376376+ # Get Luster and SFS Versions before looking at any data structures in the
377377+ # 'lustreCheck' routines because things change over time
378378+- $temp=`cat /proc/fs/lustre/version | grep lustre 2>/dev/null`;
379379++ $temp=`@cat@ /proc/fs/lustre/version | grep lustre 2>/dev/null`;
380380+ $temp=~/lustre: (\d+.*)/;
381381+ $cfsVersion=$1;
382382+ $sfsVersion='';
383383+@@ -716,7 +716,7 @@
384384+ # The first step is to build up a hash of the sizes of all the
385385+ # existing partitions. Since we're only doing this once, a 'cat's
386386+ # overhead should be minimal
387387+- @partitions=`cat /proc/partitions`;
388388++ @partitions=`@cat@ /proc/partitions`;
389389+ foreach $part (@partitions)
390390+ {
391391+ # ignore blank lines and header
392392+@@ -778,7 +778,7 @@
393393+ $temp=`head -n 1 /proc/slabinfo`;
394394+ $temp=~/(\d+\.\d+)/;
395395+ $SlabVersion=$1;
396396+- $NumSlabs=`cat /proc/slabinfo | wc -l`*1;
397397++ $NumSlabs=`@cat@ /proc/slabinfo | wc -l`*1;
398398+ chomp $NumSlabs;
399399+ $NumSlabs-=2;
400400+401401+@@ -4127,7 +4127,7 @@
402402+ $netSpeeds{$netName}='??';
403403+ if ($line ne '')
404404+ {
405405+- $speed=`cat $line 2>&1`;
406406++ $speed=`@cat@ $line 2>&1`;
407407+ chomp $speed;
408408+ $line=~/.*\/(\S+)\/speed/;
409409+ my $netName=$1;
410410+Processing diff for: graphite.ph
411411+--- a/graphite.ph 2025-08-14 08:42:24.442420106 +0000
412412++++ b/graphite.ph 2025-08-14 08:44:07.351625049 +0000
413413+@@ -117,7 +117,7 @@
414414+ # behavior for -f logs matches that of -A
415415+ $rawtooFlag=1 if $filename ne '' && !$plotFlag;
416416+417417+- $graphiteMyHost=(!$graphiteFqdnFlag) ? `hostname` : `hostname -f`;
418418++ $graphiteMyHost=(!$graphiteFqdnFlag) ? `@hostname@` : `@hostname@ -f`;
419419+ chomp $graphiteMyHost;
420420+ $graphiteMyHost =~ s/\./$graphiteEscape/g if $graphiteEscape ne '';
421421+422422+Processing diff for: vmsum.ph
423423+--- a/vmsum.ph 2025-08-14 08:42:24.442420106 +0000
424424++++ b/vmsum.ph 2025-08-14 08:44:24.184414112 +0000
425425+@@ -20,8 +20,8 @@
426426+ my $oneMB=1024*1024;
427427+ my ($debug, $helpFlag, $instMin, $versionFlag, $zeroFlag);
428428+429429+-my $Ssh= '/usr/bin/ssh';
430430+-my $Ping='/bin/ping';
431431++my $Ssh= '@ssh@';
432432++my $Ping='@ping@';
433433+ my $PingTimeout=1;
434434+435435+ # these control writing the vm text file
436436+@@ -32,7 +32,7 @@
437437+438438+ my $lexprFlag=0;
439439+ my $noNetMsg=''; # if not null, problem with n/w stats (very rare)
440440+-my $hostname=`hostname`;
441441++my $hostname=`@hostname@`;
442442+ chomp $hostname;
443443+444444+ sub vmsumInit
···2323}:
24242525python3Packages.buildPythonApplication rec {
2626- version = "6.0.3";
2626+ version = "6.0.4";
2727 pname = "gramps";
2828 pyproject = true;
2929···3131 owner = "gramps-project";
3232 repo = "gramps";
3333 tag = "v${version}";
3434- hash = "sha256-dmokrAN6ZC7guMYHifNifL9rXqZPW+Z5LudQhIUxMs8=";
3434+ hash = "sha256-MBsc4YMbCvzRG6+7/cGQpx7iYvQAdqWYrIMEpf1A7ew=";
3535 };
36363737 patches = [
···113113 pinpox
114114 tomasajt
115115 ];
116116- changelog = "https://github.com/gramps-project/gramps/blob/${src.rev}/ChangeLog";
116116+ changelog = "https://github.com/gramps-project/gramps/blob/${src.tag}/ChangeLog";
117117 longDescription = ''
118118 Every person has their own story but they are also part of a collective
119119 family history. Gramps gives you the ability to record the many details of
···553553554554 preCheck = ''
555555 export HOME="$TEMPDIR"
556556+ export PYTHONASYNCIODEBUG=1
556557557558 # the tests require the existance of a media dir
558559 mkdir "$NIX_BUILD_TOP"/media