netutils/xedge: refactor Makefile to use git clone instead of zip downloads

Previous zip-based approach was failing in CI environment. Changed to use
git clone with specific commit hashes to resolve CI build issues.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
This commit is contained in:
Jorge Guzman
2025-07-30 14:18:53 -03:00
committed by Alan C. Assis
parent caefd0de9f
commit c19c2a71f3

View File

@@ -22,13 +22,15 @@
include $(APPDIR)/Make.defs
# BAS configuration
BAS_UNPACKNAME = BAS
BAS_HASH = 9f74a2f778b002ad8441471b8a7a5b13172dbe76
BAS_REPO_URL = https://github.com/RealTimeLogic/BAS.git
# BAS-Resources configuration
BAS_RESOURCES_UNPACKNAME = BAS-Resources
BAS_RESOURCES_HASH = 227a4b998300fa4cfde871dc7dac92c09e1636c2
BAS_ZIP_URL = https://github.com/RealTimeLogic/BAS/archive/$(BAS_HASH).zip
BAS_RESOURCES_ZIP_URL = https://github.com/RealTimeLogic/BAS-Resources/archive/$(BAS_RESOURCES_HASH).zip
BAS_RESOURCES_REPO_URL = https://github.com/RealTimeLogic/BAS-Resources.git
XEDGEZIP = BAS/examples/xedge/XedgeZip.c
@@ -47,49 +49,35 @@ VPATH += $(BAS_UNPACKNAME)/examples/xedge
CSRCS = BAS.c dlmalloc.c ThreadLib.c SoDisp.c BaFile.c xedge.c XedgeZip.c
# Download and prepare BAS and BAS-Resources
xedge-deps:
# ############################################################################
# Config and Fetch xedge
# ############################################################################
# Clone and setup BAS repository
$(BAS_UNPACKNAME):
$(Q) echo "Cloning BAS repository..."
$(Q) git clone $(BAS_REPO_URL) $(BAS_UNPACKNAME)
$(Q) cd $(BAS_UNPACKNAME) && git checkout $(BAS_HASH)
@if [ ! -d $(BAS_UNPACKNAME) ]; then \
echo "Downloading BAS from hash $(BAS_HASH)..."; \
curl -f -L $(BAS_ZIP_URL) -o bas-temp.zip || \
(echo "Error downloading BAS"; exit 1); \
unzip -q bas-temp.zip; \
mv BAS-$(BAS_HASH) $(BAS_UNPACKNAME); \
rm -f bas-temp.zip; \
fi
# Clone and setup BAS-Resources repository
$(BAS_RESOURCES_UNPACKNAME):
$(Q) echo "Cloning BAS-Resources repository..."
$(Q) git clone $(BAS_RESOURCES_REPO_URL) $(BAS_RESOURCES_UNPACKNAME)
$(Q) cd $(BAS_RESOURCES_UNPACKNAME) && git checkout $(BAS_RESOURCES_HASH)
@if [ ! -d $(BAS_RESOURCES_UNPACKNAME) ]; then \
echo "Downloading BAS-Resources from hash $(BAS_RESOURCES_HASH)..."; \
curl -f -L $(BAS_RESOURCES_ZIP_URL) -o resources-temp.zip || \
(echo "Error downloading BAS-Resources"; exit 1); \
unzip -q resources-temp.zip; \
mv BAS-Resources-$(BAS_RESOURCES_HASH) $(BAS_RESOURCES_UNPACKNAME); \
rm -f resources-temp.zip; \
fi
# ############################################################################
# Library Configuration
# ############################################################################
@if [ ! -f "$(XEDGEZIP)" ]; then \
echo "Creating XedgeZip.c"; \
cd $(BAS_RESOURCES_UNPACKNAME)/build/ && \
# Create XedgeZip.c
$(XEDGEZIP): $(BAS_UNPACKNAME) $(BAS_RESOURCES_UNPACKNAME)
$(Q) echo "Creating XedgeZip.c..."
$(Q) cd $(BAS_RESOURCES_UNPACKNAME)/build/ && \
printf "n\nl\nn\n" | bash Xedge.sh > /dev/null && \
cp XedgeZip.c ../../$(BAS_UNPACKNAME)/examples/xedge/ || exit 1; \
fi
cp XedgeZip.c ../../$(BAS_UNPACKNAME)/examples/xedge/
xedge-deps: $(XEDGEZIP)
$(CSRCS:.c=$(OBJEXT)): xedge-deps
ifeq ($(wildcard $(BAS_UNPACKNAME)/.git),)
distclean:: xedge-deps
$(call DELDIR, $(BAS_UNPACKNAME))
$(call DELDIR, $(BAS_RESOURCES_UNPACKNAME))
context:: xedge-deps
endif
include $(APPDIR)/Application.mk
include $(APPDIR)/Application.mk
distclean::
$(call DELDIR, $(BAS_UNPACKNAME))
$(call DELDIR, $(BAS_RESOURCES_UNPACKNAME))