mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-07 21:37:04 +09:00
66 lines
1.9 KiB
Makefile
66 lines
1.9 KiB
Makefile
### Tantivy Section
|
|
|
|
REPO := anyproto/tantivy-go
|
|
OUTPUT_DIR := deps/libs
|
|
SHA_FILE = tantivity_sha256.txt
|
|
|
|
TANTIVY_LIBS := android-386.tar.gz \
|
|
android-amd64.tar.gz \
|
|
android-arm.tar.gz \
|
|
android-arm64.tar.gz \
|
|
darwin-amd64.tar.gz \
|
|
darwin-arm64.tar.gz \
|
|
ios-amd64.tar.gz \
|
|
ios-arm64.tar.gz \
|
|
ios-arm64-sim.tar.gz \
|
|
linux-amd64-musl.tar.gz \
|
|
linux-arm64-musl.tar.gz \
|
|
windows-amd64.tar.gz
|
|
|
|
define download_tantivy_lib
|
|
curl -L -o $(OUTPUT_DIR)/$(1) https://github.com/$(REPO)/releases/download/$(TANTIVY_VERSION)/$(1)
|
|
endef
|
|
|
|
define remove_arch
|
|
rm -f $(OUTPUT_DIR)/$(1)
|
|
endef
|
|
|
|
remove-libs:
|
|
@rm -rf deps/libs/*
|
|
|
|
write-tantivy-version:
|
|
@echo "$(TANTIVY_VERSION)" > $(OUTPUT_DIR)/.verified
|
|
|
|
download-tantivy: remove-libs $(TANTIVY_LIBS)
|
|
|
|
$(TANTIVY_LIBS):
|
|
@mkdir -p $(OUTPUT_DIR)/$(shell echo $@ | cut -d'.' -f1)
|
|
$(call download_tantivy_lib,$@)
|
|
@tar -C $(OUTPUT_DIR)/$(shell echo $@ | cut -d'.' -f1) -xvzf $(OUTPUT_DIR)/$@
|
|
|
|
download-tantivy-all-force: download-tantivy
|
|
rm -f $(SHA_FILE)
|
|
@for file in $(TANTIVY_LIBS); do \
|
|
echo "SHA256 $(OUTPUT_DIR)/$$file" ; \
|
|
shasum -a 256 $(OUTPUT_DIR)/$$file | awk '{print $$1 " " "'$(OUTPUT_DIR)/$$file'" }' >> $(SHA_FILE); \
|
|
done
|
|
@rm -rf deps/libs/*.tar.gz
|
|
@echo "SHA256 checksums generated."
|
|
$(MAKE) write-tantivy-version
|
|
|
|
download-tantivy-all: download-tantivy
|
|
@echo "Validating SHA256 checksums..."
|
|
@shasum -a 256 -c $(SHA_FILE) --status || { echo "Hash mismatch detected. Call make download-tantivy-all-force"; exit 1; }
|
|
@echo "All files are valid."
|
|
@rm -rf deps/libs/*.tar.gz
|
|
$(MAKE) write-tantivy-version
|
|
|
|
download-tantivy-local: remove-libs
|
|
@mkdir -p $(OUTPUT_DIR)
|
|
@cp -r $(TANTIVY_GO_PATH)/libs/* $(OUTPUT_DIR)
|
|
|
|
check-tantivy-version:
|
|
$(eval OLD_VERSION := $(shell [ -f $(OUTPUT_DIR)/.verified ] && cat $(OUTPUT_DIR)/.verified || echo ""))
|
|
@if [ "$(TANTIVY_VERSION)" != "$(OLD_VERSION)" ]; then \
|
|
$(MAKE) download-tantivy-all; \
|
|
fi
|