lpac/.github/scripts/functions.sh
septs f043c01a00
chore: move scripts directory to .github directory (#262)
* chore: move scripts directory to dot-github directory

* chore: format cmake file
2025-08-14 00:10:51 +08:00

83 lines
1.9 KiB
Bash

#!/bin/bash
# This script is only for GitHub Actions use
set -euo pipefail
KERNEL="$(uname -s)"
MACHINE="$(uname -m)"
export KERNEL MACHINE
export WORKSPACE="${GITHUB_WORKSPACE:-$(pwd)}"
export CURL_VERSION="8.6.0_1"
export MINGW_CURL_WIN64_BLOB="https://curl.se/windows/dl-$CURL_VERSION/curl-$CURL_VERSION-win64-mingw.zip"
export MINGW_CURL_WIN64A_BLOB="https://curl.se/windows/dl-$CURL_VERSION/curl-$CURL_VERSION-win64a-mingw.zip"
case "$KERNEL" in
Linux)
KERNEL="linux"
;;
Darwin)
KERNEL="darwin"
MACHINE="universal"
;;
esac
function download {
local URL SAVED_PATH SAVED_DIR
URL="$1"
SAVED_PATH="$(mktemp)"
SAVED_DIR="$(mktemp -d)"
wget --no-verbose "$URL" -O "$SAVED_PATH"
case "$URL" in
*.zip)
unzip -q -d "$SAVED_DIR" "$SAVED_PATH"
rm "$SAVED_PATH"
echo "$SAVED_DIR"
;;
*)
echo "$SAVED_PATH"
;;
esac
}
function copy-license {
local OUTPUT="$1"
cp "$WORKSPACE/src/LICENSE" "$OUTPUT/LICENSE-lpac"
cp "$WORKSPACE/euicc/LICENSE" "$OUTPUT/LICENSE-libeuicc"
cp "$WORKSPACE/cjson/LICENSE" "$OUTPUT/LICENSE-cjson"
cp "$WORKSPACE/dlfcn-win32/LICENSE" "$OUTPUT/LICENSE-dlfcn-win32"
}
function copy-curl-woa {
local OUTPUT="$1"
CURL="$(download "$MINGW_CURL_WIN64A_BLOB")"
cp "$CURL"/curl-*-mingw/bin/libcurl-arm64.dll "$OUTPUT/libcurl.dll"
cp "$CURL"/curl-*-mingw/COPYING.txt "$OUTPUT/LICENSE-libcurl"
rm -rf "$CURL"
}
function copy-curl-win {
local OUTPUT="$1"
CURL="$(download "$MINGW_CURL_WIN64_BLOB")"
cp "$CURL"/curl-*-mingw/bin/libcurl-x64.dll "$OUTPUT/libcurl.dll"
cp "$CURL"/curl-*-mingw/COPYING.txt "$OUTPUT/LICENSE-libcurl"
rm -rf "$CURL"
}
function copy-usage {
local OUTPUT="$1"
cp "$WORKSPACE/docs/USAGE.md" "$OUTPUT/README.md"
}
function create-bundle {
local BUNDLE_FILE="$1"
local INPUT_DIR="$2"
pushd "$INPUT_DIR"
zip -r "$BUNDLE_FILE" ./*
popd
}