Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 50 additions & 44 deletions nix/common/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2683,48 +2683,49 @@ __resource() {
if [ "$_FLAG" = "1" ]; then
[ ! -d $FINAL_DESTINATION ] && mkdir -p $FINAL_DESTINATION

case ${PROTOCOL} in
# TODO
HOMEBREW_BOTTLE)
if [ "$_opt_get" = "ON" ]; then __download_uncompress "$URI" "$_download_filename" "$FINAL_DESTINATION" "$_STRIP"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HTTP_ZIP )
if [ "$_opt_get" = "ON" ]; then __download_uncompress "$URI" "$_download_filename" "$FINAL_DESTINATION" "$_STRIP"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HTTP )
# HTTP protocol use always merge by default : because it never erase destination folder
# but the 'merged' flag file will be created only if we pass the option MERGE
if [ "$_opt_get" = "ON" ]; then __download "$URI" "$_download_filename" "$FINAL_DESTINATION"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HG )
if [ "$_opt_revert" = "ON" ]; then cd "$FINAL_DESTINATION"; hg revert --all -C; fi
if [ "$_opt_update" = "ON" ]; then cd "$FINAL_DESTINATION"; hg pull; hg update $_checkout_version; fi
if [ "$_opt_get" = "ON" ]; then hg clone $URI "$FINAL_DESTINATION"; if [ ! "$_checkout_version" = "" ]; then cd "$FINAL_DESTINATION"; hg update $_checkout_version; fi; fi
# [ "$_opt_merge" = "ON" ] && echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"
;;
GIT )
__require "git" "git" "SYSTEM"
if [ "$_opt_revert" = "ON" ]; then cd "$FINAL_DESTINATION"; git reset --hard; fi
if [ "$_opt_update" = "ON" ]; then cd "$FINAL_DESTINATION"; git pull;if [ ! "$_checkout_version" = "" ]; then git checkout $_checkout_version; fi; fi
if [ "$_opt_get" = "ON" ]; then git clone --recursive $URI "$FINAL_DESTINATION"; if [ ! "$_checkout_version" = "" ]; then cd "$FINAL_DESTINATION"; git checkout $_checkout_version; fi; fi
# [ "$_opt_merge" = "ON" ] && echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"
;;
FILE )
if [ "$_opt_get" = "ON" ]; then __copy_folder_content_into "$URI" "$FINAL_DESTINATION"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
FILE_ZIP )
__uncompress "$URI" "$FINAL_DESTINATION" "$_STRIP"
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
* )
__log "ERROR" "Unknow protocol ${PROTOCOL}"
;;
esac
case ${PROTOCOL} in
# TODO
HOMEBREW_BOTTLE)
if [ "$_opt_get" = "ON" ]; then __download_uncompress_homebrew_bottle "$URI" "$_download_filename" "$FINAL_DESTINATION" "$_STRIP"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HTTP_ZIP )
if [ "$_opt_get" = "ON" ]; then __download_uncompress "$URI" "$_download_filename" "$FINAL_DESTINATION" "$_STRIP"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HTTP )
# HTTP protocol use always merge by default : because it never erase destination folder
# but the 'merged' flag file will be created only if we pass the option MERGE
if [ "$_opt_get" = "ON" ]; then __download "$URI" "$_download_filename" "$FINAL_DESTINATION"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
HG )
if [ "$_opt_revert" = "ON" ]; then cd "$FINAL_DESTINATION"; hg revert --all -C; fi
if [ "$_opt_update" = "ON" ]; then cd "$FINAL_DESTINATION"; hg pull; hg update $_checkout_version; fi
if [ "$_opt_get" = "ON" ]; then hg clone $URI "$FINAL_DESTINATION"; if [ ! "$_checkout_version" = "" ]; then cd "$FINAL_DESTINATION"; hg update $_checkout_version; fi; fi
# [ "$_opt_merge" = "ON" ] && echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"
;;
GIT )
__require "git" "git" "SYSTEM"
if [ "$_opt_revert" = "ON" ]; then cd "$FINAL_DESTINATION"; git reset --hard; fi
if [ "$_opt_update" = "ON" ]; then cd "$FINAL_DESTINATION"; git pull;if [ ! "$_checkout_version" = "" ]; then git checkout $_checkout_version; fi; fi
if [ "$_opt_get" = "ON" ]; then git clone --recursive $URI "$FINAL_DESTINATION"; if [ ! "$_checkout_version" = "" ]; then cd "$FINAL_DESTINATION"; git checkout $_checkout_version; fi; fi
# [ "$_opt_merge" = "ON" ] && echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"
;;
FILE )
if [ "$_opt_get" = "ON" ]; then __copy_folder_content_into "$URI" "$FINAL_DESTINATION"; fi
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
FILE_ZIP )
__uncompress "$URI" "$FINAL_DESTINATION" "$_STRIP"
if [ "$_opt_merge" = "ON" ]; then echo 1 > "$FINAL_DESTINATION/._MERGED_$NAME"; fi
;;
* )
__log "ERROR" "Unknow protocol ${PROTOCOL}"
;;
esac
fi

}

# DOWNLOAD AND ZIP FUNCTIONS---------------------------------------------------
Expand Down Expand Up @@ -2755,13 +2756,18 @@ __download_uncompress_homebrew_bottle() {
arm)
arch="arm64"
;;
*)
__log "ERROR" "Unsupported architecture for Homebrew bottle (${STELLA_CURRENT_CPU_FAMILY})"
exit 1
;;
esac

if [ "${FILE_NAME}" = "_AUTO_" ]; then
#OUT="${FORMULA}-${VERSION}.${OS}_${ARCH}.bottle.tar.gz"
$STELLA_ARTEFACT/homebrew_get_bottle.sh -n $FORMULA -o "${STELLA_CURRENT_PLATFORM}" -a "${arch}" -d "${STELLA_APP_CACHE_DIR}"
"$STELLA_ARTEFACT/homebrew-get-bottle.sh" -n "$FORMULA" -o "${STELLA_CURRENT_PLATFORM}" -a "${arch}" -d "${STELLA_APP_CACHE_DIR}"
FILE_NAME=$(find "$STELLA_APP_CACHE_DIR" -maxdepth 1 -type f -name "${FORMULA}-*.bottle.tar.gz" | head -n 1)
FILE_NAME=${FILE_NAME##*/}
else
$STELLA_ARTEFACT/homebrew_get_bottle.sh -n $FORMULA -f "${FILE_NAME}"
"$STELLA_ARTEFACT/homebrew-get-bottle.sh" -n "$FORMULA" -o "${STELLA_CURRENT_PLATFORM}" -a "${arch}" -d "${STELLA_APP_CACHE_DIR}" -f "${FILE_NAME}"
fi
if [ -f "$STELLA_APP_CACHE_DIR/$FILE_NAME" ]; then
__uncompress "$STELLA_APP_CACHE_DIR/$FILE_NAME" "$UNZIP_DIR" "$OPT"
Expand Down
47 changes: 14 additions & 33 deletions nix/pool/feature-recipe/exp/feature_libsoundio-homebrew.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
if [ ! "$_LIBSOUNDIO-HOMEBREW_INCLUDED_" = "1" ]; then
_LIBSOUNDIO-HOMEBREW_INCLUDED_=1
if [ ! "$_LIBSOUNDIO_HOMEBREW_INCLUDED_" = "1" ]; then
_LIBSOUNDIO_HOMEBREW_INCLUDED_=1

# TODO
# ./nix/pool/artefact/homebrew-get-bottle.sh -n libsoundio --list
feature_libsoundio-homebrew() {
FEAT_NAME="libsoundio-homebrew"
FEAT_LIST_SCHEMA="latest:binary"
Expand All @@ -14,41 +12,24 @@ feature_libsoundio-homebrew() {
feature_libsoundio-homebrew_latest() {
FEAT_VERSION="latest"

if [ "$STELLA_CURRENT_PLATFORM" = "darwin" ]; then
if [ "$STELLA_CURRENT_CPU_FAMILY" = "intel" ]; then
FEAT_BINARY_URL_x64=""
FEAT_BINARY_URL_FILENAME_x64="libsoundio-homebrew-macos-amd64-${FEAT_VERSION}.zip"
FEAT_BINARY_URL_PROTOCOL_x64="HOMEBREW_BOTTLE"
fi
if [ "$STELLA_CURRENT_CPU_FAMILY" = "arm" ]; then
FEAT_BINARY_URL_x64="https://github.com/fathyb/libsoundio-homebrew/releases/download/v0.0.3/libsoundio-homebrew.macos-arm64.zip"
FEAT_BINARY_URL_FILENAME_x64="libsoundio-homebrew-macos-arm64-${FEAT_VERSION}.zip"
FEAT_BINARY_URL_PROTOCOL_x64="HTTP_ZIP"
fi
fi
if [ "$STELLA_CURRENT_PLATFORM" = "linux" ]; then
if [ "$STELLA_CURRENT_CPU_FAMILY" = "intel" ]; then
FEAT_BINARY_URL_x64="https://github.com/fathyb/libsoundio-homebrew/releases/download/v0.0.3/libsoundio-homebrew.linux-amd64.zip"
FEAT_BINARY_URL_FILENAME_x64="libsoundio-homebrew-linux-amd64-${FEAT_VERSION}.zip"
FEAT_BINARY_URL_PROTOCOL_x64="HTTP_ZIP"
fi
if [ "$STELLA_CURRENT_CPU_FAMILY" = "arm" ]; then
FEAT_BINARY_URL_x64="https://github.com/fathyb/libsoundio-homebrew/releases/download/v0.0.3/libsoundio-homebrew.linux-arm64.zip"
FEAT_BINARY_URL_FILENAME_x64="libsoundio-homebrew-linux-arm64-${FEAT_VERSION}.zip"
FEAT_BINARY_URL_PROTOCOL_x64="HTTP_ZIP"
fi
if [ "$STELLA_CPU_ARCH" = "64" ]; then
FEAT_BINARY_URL_x64="libsoundio"
FEAT_BINARY_URL_FILENAME_x64="_AUTO_"
FEAT_BINARY_URL_PROTOCOL_x64="HOMEBREW_BOTTLE"
fi

FEAT_INSTALL_TEST="$FEAT_INSTALL_ROOT/libsoundio-homebrew"
FEAT_SEARCH_PATH="$FEAT_INSTALL_ROOT"
FEAT_INSTALL_TEST="$FEAT_INSTALL_ROOT/lib/pkgconfig/libsoundio.pc"
FEAT_SEARCH_PATH="$FEAT_INSTALL_ROOT/bin:$FEAT_INSTALL_ROOT/lib"
}

feature_libsoundio-homebrew_install_binary() {
__get_resource "$FEAT_NAME" "$FEAT_BINARY_URL" "$FEAT_BINARY_URL_PROTOCOL" "$FEAT_INSTALL_ROOT" "DEST_ERASE STRIP FORCE_NAME $FEAT_BINARY_URL_FILENAME"

if [ -f "${FEAT_INSTALL_ROOT}/${FEAT_BINARY_URL_FILENAME}" ]; then
mv "${FEAT_INSTALL_ROOT}/${FEAT_BINARY_URL_FILENAME}" "${FEAT_INSTALL_ROOT}/libsoundio-homebrew"
chmod +x "${FEAT_INSTALL_ROOT}/libsoundio-homebrew"

local _bottle_payload
_bottle_payload=$(find "$FEAT_INSTALL_ROOT" -mindepth 1 -maxdepth 1 -type d | head -n 1)
if [ ! "$_bottle_payload" = "" ] && [ ! "$_bottle_payload" = "$FEAT_INSTALL_ROOT" ]; then
__copy_folder_content_into "$_bottle_payload" "$FEAT_INSTALL_ROOT"
__del_folder "$_bottle_payload"
fi
}

Expand Down