make-system-tarball: use __structuredAttrs

Based on ea81a2465e
This commit is contained in:
Michael Hoang
2025-07-16 15:28:36 +10:00
parent f03674d868
commit acfcf0f40b
2 changed files with 6 additions and 13 deletions

View File

@@ -39,7 +39,9 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "tarball"; name = "tarball";
builder = ./make-system-tarball.sh; __structuredAttrs = true;
buildCommandPath = ./make-system-tarball.sh;
nativeBuildInputs = extraInputs; nativeBuildInputs = extraInputs;
inherit inherit
@@ -49,11 +51,9 @@ stdenv.mkDerivation {
compressCommand compressCommand
; ;
# !!! should use XML.
sources = map (x: x.source) contents; sources = map (x: x.source) contents;
targets = map (x: x.target) contents; targets = map (x: x.target) contents;
# !!! should use XML.
inherit symlinks objects; inherit symlinks objects;
closureInfo = closureInfo { closureInfo = closureInfo {

View File

@@ -1,10 +1,3 @@
sources_=($sources)
targets_=($targets)
objects=($objects)
symlinks=($symlinks)
# Remove the initial slash from a path, since genisofs likes it that way. # Remove the initial slash from a path, since genisofs likes it that way.
stripSlash() { stripSlash() {
res="$1" res="$1"
@@ -12,10 +5,10 @@ stripSlash() {
} }
# Add the individual files. # Add the individual files.
for ((i = 0; i < ${#targets_[@]}; i++)); do for ((i = 0; i < ${#targets[@]}; i++)); do
stripSlash "${targets_[$i]}" stripSlash "${targets[$i]}"
mkdir -p "$(dirname "$res")" mkdir -p "$(dirname "$res")"
cp -a "${sources_[$i]}" "$res" cp -a "${sources[$i]}" "$res"
done done