R. Ryantm
cd465e025d
httm: 0.50.0 -> 0.50.2
2026-07-01 14:07:48 +00:00
R. Ryantm
60f648cbe4
httm: 0.49.9 -> 0.50.0
2026-06-05 08:16:25 +00:00
quantenzitrone
d26a1a9e5e
various: switch buildRustPackage packages to use finalAttrs
...
this shouldn't create any rebuilds
the following script was used to generate this:
```fish
#!/usr/bin/env fish
# nix shell .#nixfmt nixpkgs#{nixf-diagnose,ripgrep,sd}
set base (git rev-parse HEAD)
set scope pkgs/by-name
set builder buildRustPackage
set files (rg --files-with-matches -F "$builder rec {" $scope | sort -u)
for file in $files
echo $file
sd -F "$builder rec {" "$builder (finalAttrs: {" $file
# version
sd -F 'version}' 'finalAttrs.version}' $file
sd -F '${version' '${finalAttrs.version' $file
sd -F '= version' '= finalAttrs.version' $file
sd -F 'inherit version;' 'inherit (finalAttrs) version;' $file
sd -F ' + version;' ' + finalAttrs.version;' $file
sd 'replaceStrings (.*) version' 'replaceStrings $1 finalAttrs.version' $file
sd -F 'splitVersion version' 'splitVersion finalAttrs.version' $file
sd -F 'versionAtLeast version' 'versionAtLeast finalAttrs.version' $file
sd 'versions\.([a-z]+) version' 'versions.$1 finalAttrs.version' $file
# src
sd -F 'src}' 'finalAttrs.src}' $file
sd -F '${src' '${finalAttrs.src' $file
sd -F '= src' '= finalAttrs.src' $file
sd -F 'inherit src;' 'inherit (finalAttrs) src;' $file
sd -F 'inherit (src' 'inherit (finalAttrs.src' $file
# meta
sd -F '${meta' '${finalAttrs.meta' $file
sd -F '= meta' '= finalAttrs.meta' $file
sd -F 'inherit (meta' 'inherit (finalAttrs.meta' $file
# other
sd -F 'inherit version src;' 'inherit (finalAttrs) version src;' $file
sd -F 'inherit src version;' 'inherit (finalAttrs) src version;' $file
sd -F 'makeLibraryPath buildInputs' 'makeLibraryPath finalAttrs.buildInputs' $file
sd -F 'buildInputs}' 'finalAttrs.buildInputs}' $file
sd -F 'desktopItem}' 'finalAttrs.desktopItem}' $file
sd -F 'runtimeLibs}' 'finalAttrs.runtimeLibs}' $file
sd -F 'libPath}' 'finalAttrs.libPath}' $file
sd -F 'runtimeDependencies}' 'finalAttrs.runtimeDependencies}' $file
sd -F 'nativeRuntimeInputs}' 'finalAttrs.nativeRuntimeInputs}' $file
sd -F '(!doCheck)' '(!finalAttrs.doCheck)' $file
sd -F 'optional doCheck' 'optional finalAttrs.doCheck' $file
sd -F 'optionals doCheck' 'optionals finalAttrs.doCheck' $file
sd -F '++ runtimeDependencies' '++ finalAttrs.runtimeDependencies' $file
# pname (restored afterwards)
sd -F 'pname}' 'finalAttrs.pname}' $file
sd -F '${pname' '${finalAttrs.pname' $file
sd -F '= pname' '= finalAttrs.pname' $file
# close finalAttrs lambda
echo ')' >>$file
# catch some errors early
if ! nixfmt $file
git restore $file
continue
end
if ! nixf-diagnose -i sema-primop-overridden $file
git restore $file
continue
end
end
set torestore (rg -F .finalAttrs --files-with-matches $scope)
if test (count $torestore) -gt 0
git restore $torestore
end
set torestore (rg -F finalAttrs.pname --files-with-matches $scope)
if test (count $torestore) -gt 0
git restore $torestore
end
# commit for faster eval times
git add pkgs
git commit --no-gpg-sign -m temp
set torestore
for file in $files
# file hasn't changed
if git diff --quiet $base $file
continue
end
# try to eval the package to definitely catch all errors
echo $file
set pname (string split / $file -f 4)
if ! nix eval .#$pname
set torestore $torestore $file
end
end
# restore files that don't eval
git reset --soft $base
git restore --staged .
if test (count $torestore) -gt 0
git restore $torestore
end
```
after that some manual cleanup was done:
- restoring files that cause changes in the number of lines
- restoring files that cause rebuilds
- restoring files that cause merge conflicts with staging
2026-02-07 09:53:17 +01:00
R. Ryantm
1ecadfe2a9
httm: 0.48.6 -> 0.49.9
2025-10-18 02:06:22 +00:00
R. Ryantm
b2bfef446a
httm: 0.48.5 -> 0.48.6
2025-10-05 03:41:23 +00:00
R. Ryantm
3487bc5e25
httm: 0.48.4 -> 0.48.5
2025-08-21 22:45:55 +00:00
TomaSajt
398b16e16c
treewide: remove useFetchCargoVendor usages
2025-07-26 11:39:35 +02:00
R. Ryantm
af872faf24
httm: 0.48.3 -> 0.48.4
2025-06-17 07:05:36 +00:00
R. Ryantm
e880de1d37
httm: 0.47.1 -> 0.48.3
2025-06-07 10:54:46 +00:00
liberodark
c6729488de
treewide: remove with lib Part 4
2025-06-07 00:48:50 +02:00
R. Ryantm
82196d0414
httm: 0.47.0 -> 0.47.1
2025-05-17 08:39:09 +00:00
R. Ryantm
2c8558b16c
httm: 0.46.10 -> 0.47.0
2025-05-06 05:27:32 +00:00
R. Ryantm
7a160a23cb
httm: 0.46.8 -> 0.46.10
2025-04-26 17:03:34 +00:00
R. Ryantm
6392b6a092
httm: 0.46.7 -> 0.46.8
2025-04-17 14:40:52 +00:00
R. Ryantm
9625b56112
httm: 0.46.6 -> 0.46.7
2025-04-08 17:15:23 +02:00
Winter
a19cd4ffb1
Revert "treewide: replace rev with tag"
...
This reverts commit 65a333600d .
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
2025-04-08 02:57:25 -04:00
Pol Dellaiera
65a333600d
treewide: replace rev with tag
2025-04-07 16:57:22 +02:00
R. Ryantm
ca92b41abe
httm: 0.46.2 -> 0.46.6
2025-03-14 11:37:16 +00:00
Peder Bergebakken Sundt
357d2530e5
treewide: substitute pname for strings
...
Inspired by https://github.com/NixOS/nixpkgs/pull/387725#issuecomment-2704943777 , script is based on https://github.com/NixOS/nixpkgs/pull/336172 using what i learned in https://github.com/NixOS/nixpkgs/pull/386865 , part of https://github.com/NixOS/nixpkgs/issues/346453
Should be zero rebuilds.
All candidates were made using:
```shell
export NIXPKGS_ALLOW_UNFREE=1
export NIXPKGS_ALLOW_INSECURE=1
export NIXPKGS_ALLOW_BROKEN=1
git-wait restore .
test -s packages.json || ( set -x;
time nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f ./. -qaP --json --meta --drv-path --out-path --show-trace --no-allow-import-from-derivation --arg config '{ allowAliases = false; }' > packages.json
)
list_attrpath_fname_col() {
jq <packages.json 'to_entries[] | select(.value.meta.position==null|not) | "\(.key)\t\(.value.meta.position)"' -r |
sed -e "s#\t$(realpath .)/#\t#" |
sed -e 's#:\([0-9]*\)$#\t\1#' |
grep . |
grep -iv haskell |
grep -iv /top-level/ |
grep -iv chicken |
grep pkgs/by-name/ |
grep -iv build |
grep -E '/(package|default)\.nix'
}
FLOCKDIR="$(mktemp -d)"
N_WORKERS=4
while read attrpath fname col; do
grep -qE 'repo *= *("\$\{pname\}"|pname);' "$fname" || continue
echo | (
# mutex on fname
flock --nonblock 200 || {
>&2 echo "failed to aquire lock for $fname"
exit 1
}
echo "$attrpath"
data="$(nix eval --impure --expr 'with import ./. {}; { inherit ('"$attrpath"') pname drvPath passthru meta; drvPath2='"$attrpath"'.src.drvPath; }' --json)" || exit
test -n "$data" || exit
pname="$(jq <<<"$data" .pname -r)"
test -n "$pname" || exit
(set -x
sd -F '${pname}' "$pname" "$fname"
sd -F ' = pname;' " = \"$pname\";" "$fname"
)
data2="$(nix eval --impure --expr 'with import ./. {}; { inherit ('"$attrpath"') pname drvPath passthru meta; drvPath2='"$attrpath"'.src.drvPath; }' --json)"
if [[ "$data" = "$data2" ]]; then
(set -x; git-wait add "$fname")
else
(set -x; git-wait restore "$fname")
exit
fi
(set -x
sd -F ' rec {' ' {' "$fname"
)
data3="$(nix eval --impure --expr 'with import ./. {}; { inherit ('"$attrpath"') pname drvPath passthru meta; drvPath2='"$attrpath"'.src.drvPath; }' --json 2>/dev/nul)"
if [[ "$data" = "$data3" ]]; then
(set -x; git-wait add "$fname")
else
(set -x; git-wait restore "$fname")
fi
) 200>"$FLOCKDIR"/"$(sha256sum - <<<"$fname" | cut -d' ' -f1)".lock &
while [[ $(jobs -p | wc -l) -ge $N_WORKERS ]]; do
wait -n < <(jobs -p) || true
done
done < <(list_attrpath_fname_col)
wait
git restore .
time nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f ./. -qaP --json --meta --drv-path --out-path --show-trace --no-allow-import-from-derivation --arg config '{ allowAliases = false; }' > packages2.json
```
`diff packages{,2}.json` is empty, indicating that no package nor src derivation has changed.
I checked and cherry-picked the changes using `GIT_DIFF_OPTS='-u15' git -c interactive.singleKey=true add --patch`
2025-03-11 23:55:31 +01:00
R. Ryantm
5f935c1ac1
httm: 0.45.6 -> 0.46.2
2025-02-16 06:39:48 +00:00
K900
3ddda10211
Merge remote-tracking branch 'origin/master' into staging-next
2025-02-04 10:29:11 +03:00
R. Ryantm
cd5d00c165
httm: 0.45.0 -> 0.45.6
2025-02-02 09:56:44 +00:00
Alyssa Ross
63bff8c132
treewide: migrate to fetchCargoVendor, batch 1
...
Cargo 1.84.0 seems to have changed the output format of cargo vendor
again, once again invalidating fetchCargoTarball FOD hashes. It's
time to fix this once and for all, switching across the board to
fetchCargoVendor, which is not dependent on cargo vendor's output
format.
It should be possible to reproduce this diff. To do so, get the list
of files changed by this commit, e.g. with git diff --name-only, then
run the following two commands, each with that list of files as their
standard input:
xargs sed -i 's/^\(. *\)\(cargoHash\)\b/\1useFetchCargoVendor = true;\n\1cargoHash/'
cut -d / -f 4 | xargs -n 1 nix-update --version=skip
This will take a long time. It might be possible to parallelize it
using xargs' -P option. I haven't tested it.
2025-01-23 11:46:43 +01:00
R. Ryantm
73b1346ee4
httm: 0.44.1 -> 0.45.0
2025-01-21 13:20:43 +00:00
R. Ryantm
71d62cd6cf
httm: 0.44.0 -> 0.44.1
2025-01-07 13:09:46 +00:00
R. Ryantm
12e421949e
httm: 0.43.2 -> 0.44.0
2024-12-11 01:36:43 +00:00
R. Ryantm
369242e8a1
httm: 0.43.0 -> 0.43.2
2024-09-26 11:39:59 +00:00
R. Ryantm
32e62d8a51
httm: 0.42.4 -> 0.43.0
2024-09-15 04:58:55 +00:00
R. Ryantm
93c1a2bd49
httm: 0.42.0 -> 0.42.4
2024-09-04 17:07:14 +00:00
R. Ryantm
7e0b386abd
httm: 0.40.4 -> 0.42.0
2024-08-15 23:03:34 +00:00
R. Ryantm
8b484c868e
httm: 0.40.1 -> 0.40.4
2024-07-28 05:36:41 +00:00
Franz Pletz
c31bf92529
httm: reformat, move to by-name
2024-07-23 21:55:23 +02:00