# SPDX-License-Identifier: GPL-2.0-or-later # zstd -- the decompressor behind SCFF, the compressed live root. Dual # BSD-3-Clause / GPL-2.0; see LICENSE and COPYING in the tarball and # docs/licensing.md. # # Kernel code, like uACPI: nothing is installed into the sysroot. This # directory fetches and unpacks a pinned release, and the top-level Makefile # compiles the decoder half of lib/ straight into the kernel against # kernel/scff/compat, which stands in for the libc headers it includes. The # host side, tools/mkscff, links the system's libzstd. # # Chosen for what SCFF asks of a codec: compress as hard as the build likes, # once, and decompress at memory speed on every first read of a block. include ../mk/port.mk ZSTD_VERSION := 1.5.7 ZSTD_URL := https://github.com/facebook/zstd/releases/download/v$(ZSTD_VERSION)/zstd-$(ZSTD_VERSION).tar.gz ZSTD_SHA256 := eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 TARBALL := $(DISTDIR)/zstd-$(ZSTD_VERSION).tar.gz $(TARBALL): | $(DISTDIR) curl -fsSL -o $@ $(ZSTD_URL) sh $(SHA256CHECK) "$(ZSTD_SHA256)" "$@" download: $(TARBALL) $(SRCDIR): $(TARBALL) mkdir -p $(PORTDIR) cd $(PORTDIR) && tar xzf $(abspath $<) mv $(PORTDIR)/zstd-$(ZSTD_VERSION) $@ # The kernel build depends on this directory existing, nothing more. all: | $(SRCDIR) install: clean: rm -rf $(PORTDIR) distclean: clean rm -f $(TARBALL)