Skip to content

Commit 4098f9d

Browse files
authored
feat(macOS): update sources (#7)
* feat(macos): get hip to the latest trends - toybox 0.8.11 - new macOS SDK URL for 14.5+ - single sha256sums file - maximum compression - bump alpine * grab current macOS toolchain
1 parent 0d5dbe8 commit 4098f9d

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

Makefile

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ GAWK_VERSION = 5.3.0
3333
GREP_VERSION = 3.11
3434

3535
# NOTE - Unlike the others, this remote host doesn't provide an adjacent signature or checksum file to download.
36-
TOYBOX_SHA256SUM = d3afee05ca90bf425ced73f527e418fecd626c5340b5f58711a14531f8d7d108
36+
TOYBOX_SHA256SUM = 15aa3f832f4ec1874db761b9950617f99e1e38144c22da39a71311093bfe67dc
3737
TOYBOX_BASE_URL = http://landley.net/toybox/downloads
38-
TOYBOX_VERSION = 0.8.10
38+
TOYBOX_VERSION = 0.8.11
3939
endif
4040

4141
# Managed directories
@@ -78,10 +78,16 @@ all: $(ALL_HOST_COMPONENTS)
7878

7979
ALL_PACKAGES := $(shell find $(DESTDIR) -mindepth 1 -maxdepth 1 -type d 2>/dev/null | grep -vE "\.tar\.*$$")
8080
TARBALLS := $(addsuffix .tar.zst,$(ALL_PACKAGES))
81-
SHASUMS := $(addsuffix .sha256sum,$(TARBALLS))
81+
SHASUMS := $(DESTDIR)/SHASUMS256.txt
8282
.PHONY: tarballs
8383
tarballs: all $(TARBALLS) $(SHASUMS)
8484

85+
.PHONY: shasums
86+
shasums: $(SHASUMS)
87+
88+
$(SHASUMS): $(TARBALLS)
89+
$(sha256) $(DESTDIR)/*.tar.zst > $@
90+
8591
# On MacOS, additionally build all components for all other platforms.
8692
ifeq ($(OS),Darwin)
8793
NON_MACOS_TARGET_PLATFORMS := $(filter-out $(MACOS_PLATFORMS) $(HOST_PLATFORM),$(ALL_PLATFORMS))
@@ -439,13 +445,18 @@ $(SOURCEDIR)/busybox-$(BUSYBOX_VERSION).tar.bz2 $(SOURCEDIR)/busybox-$(BUSYBOX_V
439445

440446
ifeq ($(OS),Darwin)
441447
MACOS_COMMAND_LINE_TOOLS_PATH := /Library/Developer/CommandLineTools
442-
MACOS_SDK_VERSIONS := 12.1 12.3 13.3 14.4
448+
MACOS_SDK_VERSIONS := 12.1 12.3 13.3 14.4 14.5
443449

444450
.PHONY: $(DESTDIR)/sdk_universal_darwin
445451
$(DESTDIR)/sdk_universal_darwin: $(foreach VERSION,$(MACOS_SDK_VERSIONS),$(DESTDIR)/macos_sdk_$(VERSION))
446452

447453
define build_darwin_sdk_target
448-
.PRECIOUS: $$(BUILDDIR)/universal_darwin/sdk_$(1)
454+
455+
ifeq ($(1),14.5)
456+
SDK_PATH := /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk
457+
else
458+
SDK_PATH := $(MACOS_COMMAND_LINE_TOOLS_PATH)/SDKs/MacOSX$(1).sdk
459+
endif
449460

450461
.PHONY: sdk_$(1)
451462
sdk_$(1): $$(DESTDIR)/macos_sdk_$(1)
@@ -464,7 +475,7 @@ $(DESTDIR)/macos_sdk_$(1): $(BUILDDIR)/universal_darwin/macos_sdk_$(1) $(ENVIRON
464475

465476
$(BUILDDIR)/universal_darwin/macos_sdk_$(1):
466477
@mkdir -p $$@
467-
@cp -R $(MACOS_COMMAND_LINE_TOOLS_PATH)/SDKs/MacOSX$$*.sdk/* $$@
478+
@cp -R $$(SDK_PATH)/* $$@
468479
endef
469480

470481
$(foreach VERSION,$(MACOS_SDK_VERSIONS),$(eval $(call build_darwin_sdk_target,$(VERSION))))
@@ -475,7 +486,7 @@ $(DESTDIR)/toolchain_universal_darwin: $(BUILDDIR)/universal_darwin/toolchain $(
475486

476487
$(BUILDDIR)/universal_darwin/toolchain:
477488
@mkdir -p $@
478-
@cp -R $(MACOS_COMMAND_LINE_TOOLS_PATH)/usr/* $@
489+
@cp -R /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/* $@
479490
endif
480491

481492
## macOS utils
@@ -670,7 +681,7 @@ $(foreach EXT,$(SUPPORTED_EXTENSIONS),$(eval $(call unpack_tarball,$(EXT))))
670681

671682
# Create tarballs from output directories
672683
$(DESTDIR)/%.tar.zst: $(DESTDIR)/%
673-
@tar -cf - -C $< . | zstd -z -10 -T0 -o $@ -
684+
@tar -cf - -C $< . | zstd -z -19 -T0 -o $@ -
674685
@touch $@
675686

676687
$(DESTDIR)/%.tar.zst.sha256sum: $(DESTDIR)/%.tar.zst
@@ -888,7 +899,7 @@ clean_docker: docker_stopall
888899
@rm -rfv $(BUILDDIR)/docker_images.stamp
889900

890901
define DOCKERFILE
891-
FROM alpine:3.19
902+
FROM alpine:3.20
892903
RUN apk update
893904
RUN apk add alpine-sdk autoconf automake bash binutils bison build-base file flex gawk gcc gcompat gettext-tiny git grep help2man indent m4 libbz2 libgcc libtool linux-headers ncurses ncurses-dev openssl-dev python3 wget xz zlib-dev zlib-static
894905
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)