Skip to content
Snippets Groups Projects
Commit 965077d8 authored by test_nonet's avatar test_nonet
Browse files

generate useful Nix output for sources

parent 4b42701f
No related branches found
No related tags found
No related merge requests found
......@@ -60,7 +60,7 @@ index 17384476..46140879 100644
CT_Pushd "${tmp_dir}"
- CT_Download_${devel_vcs}
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "CT_Download_${devel_vcs}: ${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision}" >>"$out"
+ echo "CT_Download_${devel_vcs}: ${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision} ${pkg_name}" >>"$out"
+ mkdir "${pkg_name}"
+ else
+ CT_Download_${devel_vcs}
......
#!/usr/bin/env tclsh
exec -ignorestderr nix-build release.nix -A espressif-esp32-used-sources -o result-used-sources 2>@stderr
set f [open result-used-sources]
set text [read $f]
close $f
file delete result-used-sources
set dummy_hash "1111111111111111111111111111111111111111111111111111"
puts "{"
set awaiting_digest {}
foreach line [split $text \n] {
if {$line eq ""} {continue}
if {[regexp {\ADoGetFile: (http\S+|ftp\S+) -> \S+/([^/]+)\Z} $line -> url basename]} {
# wait for digest
dict set awaiting_digest $basename $url
} elseif {[regexp {\ADoVerifyDigest: (sha\S+), (\S+), ([^/]+)\Z} $line -> digestAlg chksum_file basename]} {
if {![dict exists $awaiting_digest $basename]} {
error "got digest for file that we didn't download: $basename"
}
set url [dict get $awaiting_digest $basename]
dict unset awaiting_digest $basename
puts " \"$basename\" = fetchurl {"
puts " url = \"$url\";"
puts " $digestAlg = \"TODO\";"
puts " };"
} elseif {[regexp {\ACT_GetVersion_} $line]} {
# ignore and wait for corresponding CT_Download_*
} elseif {[regexp {\ACT_Download_git: git (\S+) (\S*) (\S*) (\S+)\Z} $line -> url branch revision basename]} {
if {[regexp {\Ahttps?://github.com/([^/]+)/([^/]+)\Z} $url -> owner repo]} {
regsub {\.git\Z} $repo {} repo
puts " \"$basename\" = fetchFromGitHub {"
puts " owner = \"$owner\";"
puts " repo = \"$repo\";"
puts " rev = \"$branch$revision\";"
puts " sha256 = \"$dummy_hash\";"
puts " };"
} else {
puts " \"$basename\" = fetchgit {"
puts " url = \"$url\";"
puts " rev = \"$branch$revision\";"
puts " sha256 = \"$dummy_hash\";"
puts " };"
}
} else {
error "unexpected line: [list $line]"
}
}
if {[dict size $awaiting_digest]} {
error "files without digest: [dict keys $awaiting_digest]"
}
puts "}"
#!/usr/bin/env bash
cat $1
echo TODO
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment