1
0
Fork 0
mirror of https://github.com/anyproto/anytype-heart.git synced 2025-06-07 21:37:04 +09:00
anytype-heart/makefiles/tantivy.mk
2025-02-07 13:48:41 -03:00

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