Files
bket e0de33a7a4 archivers/zstd: workaround for missing LESSOPEN support in zstdless
The `zstdless` script, which is part of the zstd package, relies on the
LESSOPEN mechanism, which was removed from OpenBSD over a year ago. As a
result, `zstdless` is currently broken. Work around this by replacing
`zstdless` with a script using `zstdcat` and `less`.

Issue reported and workaround suggested by Tom Szilagyi <tom DOT
szilagyi AT altmail DOT se>.
2025-05-17 17:14:13 +00:00

58 lines
1.3 KiB
Makefile

COMMENT = zstandard fast real-time compression algorithm
V = 1.5.7
REVISION = 0
DISTNAME = zstd-${V}
SHARED_LIBS = zstd 7.0 # 1.5.7
CATEGORIES = archivers
HOMEPAGE = https://facebook.github.io/zstd/
MAINTAINER = Bjorn Ketelaars <bket@openbsd.org>
# BSD 3 clauses + GPLv2
PERMIT_PACKAGE = Yes
WANTLIB = c lz4 lzma pthread z
SITES = https://github.com/facebook/zstd/releases/download/v${V}/
LIB_DEPENDS = archivers/lz4 \
archivers/xz
BUILD_DEPENDS = sysutils/ggrep
MAKE_ENV = CC="${CC}" \
CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
MAKE_FLAGS = SHARED_EXT_VER="so.$(LIBzstd_VERSION)" \
SONAME_FLAGS= \
V=1
FAKE_FLAGS = PREFIX="${PREFIX}"
# Avoid unaligned access; use memcpy.
CPPFLAGS += -DMEM_FORCE_MEMORY_ACCESS=0 -DXXH_FORCE_MEMORY_ACCESS=0
# the magic in libzstd.mk fails, so add noexecstack here to make regress pass
LDFLAGS_base-gcc = -Wl,-z,noexecstack
LDFLAGS += ${LDFLAGS_${CHOSEN_COMPILER}}
USE_GMAKE = Yes
DEBUG_PACKAGES = ${BUILD_PACKAGES}
ALL_TARGET = default
TEST_TARGET = check
# keep WRKDIR tidy
TESTTMP = ${WRKDIR}/tmp
TEST_ENV = TMPDIR=${TESTTMP}
pre-build:
ln -fs ${LOCALBASE}/bin/ggrep ${WRKDIR}/bin/grep
pre-test:
mkdir -p ${TESTTMP}
.include <bsd.port.mk>