nixpkgs/pkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh

30 lines
724 B
Bash
Executable file

#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl
# usage:
# generate-sdk-packages.sh macos 11.0.1
cd $(dirname "$0")
sdkName="$1-$2"
outfile="$sdkName.nix"
>$outfile echo "# Generated using: ./$(basename "$0") $1 $2
{ applePackage' }:
{"
parse_line() {
readarray -t -d$'\t' package <<<$2
local pname=${package[0]} version=${package[1]}
if [ -d $pname ]; then
sha256=$(nix-prefetch-url "https://opensource.apple.com/tarballs/$pname/$pname-$version.tar.gz")
>>$outfile echo "$pname = applePackage' \"$pname\" \"$version\" \"$sdkName\" \"$sha256\" {};"
fi
}
readarray -s1 -c1 -C parse_line < <(curl -sS "https://opensource.apple.com/text/${sdkName//./}.txt")
>>$outfile echo '}'