File otp_src_28.0-sys-zstd.patch of Package erlang
diff -Ndurp otp_src_28.0/erts/emulator/Makefile.in otp_src_28.0-sys-zstd/erts/emulator/Makefile.in
--- otp_src_28.0/erts/emulator/Makefile.in 2025-05-20 14:19:37.000000000 +0300
+++ otp_src_28.0-sys-zstd/erts/emulator/Makefile.in 2025-06-16 20:02:42.300510483 +0300
@@ -399,14 +399,8 @@ endif
ZSTD_DIR = $(ERL_TOP)/erts/emulator/zstd/obj/$(TARGET)/$(TYPE)
ZSTD_LIB = $(ZSTD_DIR)/$(LIB_PREFIX)zstd$(LIB_SUFFIX)
-DEPLIBS += $(ZSTD_LIB)
-ifeq ($(TARGET),win32)
-LIBS += -L$(ZSTD_DIR) -lzstd
-else
-# Build on darwin fails if -l$(ZSTD_LIB) is used
-LIBS += $(ZSTD_LIB)
-endif
+LIBS += $(shell pkg-config --libs libzstd)
LIBSCTP = @LIBSCTP@
@@ -451,8 +445,7 @@ CREATE_DIRS += $(OBJDIR) \
pcre/obj/$(TARGET)/$(TYPE) \
$(ZLIB_OBJDIR) \
$(RYU_OBJDIR) \
- $(OPENSSL_OBJDIR) \
- $(ZSTD_OBJDIR)
+ $(OPENSSL_OBJDIR)
ifeq ($(FLAVOR),jit)
CREATE_DIRS+=$(OBJDIR)/asmjit/ $(OBJDIR)/asmjit/core $(OBJDIR)/asmjit/$(JIT_ARCH)
@@ -523,7 +516,6 @@ include zlib/zlib.mk
include pcre/pcre.mk
include ryu/ryu.mk
include openssl/openssl.mk
-include zstd/zstd.mk
$(ERTS_LIB):
$(V_at)cd $(ERTS_LIB_DIR) && $(MAKE) $(TYPE)
@@ -827,7 +819,7 @@ COMMON_INCLUDES = -Ibeam -Isys/$(ERLANG_
ifndef Z_LIB
COMMON_INCLUDES += -Izlib
endif
-COMMON_INCLUDES += -Ipcre -Iryu -Iopenssl/include -Izstd
+COMMON_INCLUDES += -Ipcre -Iryu -Iopenssl/include $(shell pkg-config --cflags-only-I libzstd)
COMMON_INCLUDES += -I../include -I../include/$(TARGET)
COMMON_INCLUDES += -I../include/internal -I../include/internal/$(TARGET)
@@ -1424,7 +1416,7 @@ $(TARGET)/gen_git_version.mk:
# rebuild.
$(V_at)if utils/gen_git_version $@; then touch beam/erl_bif_info.c; fi
-DEPEND_DEPS=jit src drv nif sys target zlib ryu zstd
+DEPEND_DEPS=jit src drv nif sys target zlib ryu
$(TTF_DIR)/src.depend.mk: $(TTF_DIR)/GENERATED $(PRELOAD_SRC)
$(gen_verbose)
diff -Ndurp otp_src_28.0/erts/emulator/nifs/common/zstd_nif.c otp_src_28.0-sys-zstd/erts/emulator/nifs/common/zstd_nif.c
--- otp_src_28.0/erts/emulator/nifs/common/zstd_nif.c 2025-05-20 14:19:37.000000000 +0300
+++ otp_src_28.0-sys-zstd/erts/emulator/nifs/common/zstd_nif.c 2025-06-16 20:09:37.159371799 +0300
@@ -29,8 +29,8 @@
#include "erl_nif.h"
#define ZSTD_STATIC_LINKING_ONLY
-#include "erl_zstd.h"
-#include "erl_zdict.h"
+#include <zstd.h>
+#include <zdict.h>
static ErlNifResourceType *compress_type;
static ErlNifResourceType *decompress_type;