mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
[Backport release-26.05] nixos/nixpkgs: add zstd flavored nixexprs tarballs (#539631)
This commit is contained in:
@@ -4,7 +4,17 @@
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
- The {file}`nixexprs.tar.xz` tarball will be discontinued together with Nixpkgs
|
||||
27.05 after 2027-12-31. Migrate to the {file}`nixexprs.tar.zst` tarball
|
||||
instead.
|
||||
|
||||
This affects for example users who pull Nixpkgs as a flake input from
|
||||
https://channels.nixos.org:
|
||||
|
||||
```diff
|
||||
-nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz";
|
||||
+nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst";
|
||||
```
|
||||
|
||||
## Backward Incompatibilities {#sec-nixpkgs-release-26.11-incompatibilities}
|
||||
|
||||
|
||||
@@ -4,7 +4,17 @@
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
- The {file}`nixexprs.tar.xz` tarball will be discontinued together with Nixpkgs
|
||||
27.05 after 2027-12-31. Migrate to the {file}`nixexprs.tar.zst` tarball
|
||||
instead.
|
||||
|
||||
This affects for example users who pull Nixpkgs as a flake input from
|
||||
https://channels.nixos.org:
|
||||
|
||||
```diff
|
||||
-nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz";
|
||||
+nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst";
|
||||
```
|
||||
|
||||
## New Modules {#sec-release-26.11-new-modules}
|
||||
|
||||
|
||||
@@ -18,7 +18,10 @@ pkgs.releaseTools.makeSourceTarball {
|
||||
officialRelease = false; # FIXME: fix this in makeSourceTarball
|
||||
inherit version versionSuffix;
|
||||
|
||||
buildInputs = [ pkgs.nix ];
|
||||
buildInputs = with pkgs; [
|
||||
nix
|
||||
zstd
|
||||
];
|
||||
|
||||
distPhase = ''
|
||||
rm -rf .git
|
||||
@@ -32,6 +35,35 @@ pkgs.releaseTools.makeSourceTarball {
|
||||
NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --show-trace --xml \* > /dev/null
|
||||
cd ..
|
||||
chmod -R u+w $releaseName
|
||||
tar cfJ $out/tarballs/$releaseName.tar.xz $releaseName
|
||||
|
||||
# The compression tasks are shortlived; use all available CPUs (-T0) to
|
||||
# prioritize fast channel advancement.
|
||||
XZ_OPT="-T0" tar \
|
||||
--create \
|
||||
--file=$out/tarballs/$releaseName.tar.xz \
|
||||
--xz \
|
||||
--absolute-names \
|
||||
--owner=0 \
|
||||
--group=0 \
|
||||
--numeric-owner \
|
||||
--format=gnu \
|
||||
--sort=name \
|
||||
--mtime="@$SOURCE_DATE_EPOCH" \
|
||||
--hard-dereference \
|
||||
$releaseName
|
||||
|
||||
tar \
|
||||
--create \
|
||||
--file="$out/tarballs/$releaseName.tar.zst" \
|
||||
--use-compress-program="zstd -19 -T0" \
|
||||
--absolute-names \
|
||||
--owner=0 \
|
||||
--group=0 \
|
||||
--numeric-owner \
|
||||
--format=gnu \
|
||||
--sort=name \
|
||||
--mtime="@$SOURCE_DATE_EPOCH" \
|
||||
--hard-dereference \
|
||||
$releaseName
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ pkgs.releaseTools.sourceTarball {
|
||||
jq
|
||||
lib-tests
|
||||
brotli
|
||||
zstd
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
@@ -63,6 +64,9 @@ pkgs.releaseTools.sourceTarball {
|
||||
# Some context: https://github.com/NixOS/infra/issues/438
|
||||
distPhase = ''
|
||||
mkdir -p $out/tarballs
|
||||
|
||||
# The compression tasks are shortlived; use all available CPUs (-T0) to
|
||||
# prioritize fast channel advancement.
|
||||
XZ_OPT="-T0" tar \
|
||||
--create \
|
||||
--xz \
|
||||
@@ -79,5 +83,22 @@ pkgs.releaseTools.sourceTarball {
|
||||
--mode=ug+w \
|
||||
--hard-dereference \
|
||||
$src $(pwd)/{.version-suffix,.git-revision}
|
||||
|
||||
tar \
|
||||
--create \
|
||||
--use-compress-program="zstd -19 -T0" \
|
||||
--file=$out/tarballs/$releaseName.tar.zst \
|
||||
--absolute-names \
|
||||
--transform="s|^$src|$releaseName|g" \
|
||||
--transform="s|^$(pwd)|$releaseName|g" \
|
||||
--owner=0 \
|
||||
--group=0 \
|
||||
--numeric-owner \
|
||||
--format=gnu \
|
||||
--sort=name \
|
||||
--mtime="@$SOURCE_DATE_EPOCH" \
|
||||
--mode=ug+w \
|
||||
--hard-dereference \
|
||||
$src $(pwd)/{.version-suffix,.git-revision}
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user