Index: devel/mold/Makefile =================================================================== --- devel/mold/Makefile +++ devel/mold/Makefile @@ -1,7 +1,8 @@ PORTNAME= mold -DISTVERSIONPREFIX= v -DISTVERSION= 1.2.1 -PORTREVISION= 6 +DISTVERSIONPREFIX= v +DISTVERSION= 2.4.0-49 +DISTVERSIONSUFFIX= -gc9651d9b + CATEGORIES= devel MAINTAINER= ashish@FreeBSD.org @@ -11,33 +12,38 @@ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE -# see https://github.com/rui314/mold/issues/456 -BROKEN= broken with FreeBSD strip NOT_FOR_ARCHS= armhf armv7 i386 -LIB_DEPENDS= libtbb.so:devel/onetbb \ - libmimalloc.so:devel/mimalloc +LIB_DEPENDS= libmimalloc.so:devel/mimalloc \ + libtbb.so:devel/onetbb \ + libzstd.so:archivers/zstd -USES= gmake ssl -MAKE_ENV+= SYSTEM_TBB=1 -MAKE_ENV+= SYSTEM_MIMALLOC=1 -MAKE_ENV+= STRIP_CMD=${STRIP_CMD} -CXXFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib -MAKE_FLAGS+= "CXXFLAGS=${CXXFLAGS}" -MAKE_FLAGS+= "LDFLAGS=${LDFLAGS}" +USES= cmake ssl localbase:ldflags USE_GITHUB= yes GH_ACCOUNT= rui314 + +CMAKE_ON= MOLD_USE_MIMALLOC \ + MOLD_USE_SYSTEM_MIMALLOC \ + MOLD_USE_SYSTEM_TBB + +CMAKE_OFF= MOLD_USE_MOLD \ + MOLD_USE_TSAN \ + MOLD_MOSTLY_STATIC \ + BUILD_TESTING \ + MOLD_LTO + +OPTIONS_DEFINE= ASAN + +ASAN_DESC= Enable Address Sanitizer +ASAN_CMAKE_BOOL=MOLD_USE_ASAN + + PLIST_FILES= bin/ld.mold \ - bin/ld64.mold \ bin/mold \ lib/mold/mold-wrapper.so \ libexec/mold/ld \ + share/man/man1/ld.mold.1.gz \ share/man/man1/mold.1.gz -post-patch: - ${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},' \ - ${WRKSRC}/Makefile - .include Index: devel/mold/distinfo =================================================================== --- devel/mold/distinfo +++ devel/mold/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1651457801 -SHA256 (rui314-mold-v1.2.1_GH0.tar.gz) = 41868663ff18afee3fa35e5e3fdf3d9575eb2e4ff49967b8f42f479c61c1ec34 -SIZE (rui314-mold-v1.2.1_GH0.tar.gz) = 4669615 +TIMESTAMP = 1707064703 +SHA256 (rui314-mold-v2.4.0-49-gc9651d9b_GH0.tar.gz) = 913f79db24277bb940937e3746d35131a532a2398c08da5ebc27cffab4d32200 +SIZE (rui314-mold-v2.4.0-49-gc9651d9b_GH0.tar.gz) = 9993096 Index: devel/mold/files/patch-Makefile =================================================================== --- devel/mold/files/patch-Makefile +++ /dev/null @@ -1,44 +0,0 @@ ---- Makefile.orig 2022-04-28 09:51:29 UTC -+++ Makefile -@@ -4,7 +4,7 @@ - - VERSION = 1.2.1 - --PREFIX = /usr/local -+PREFIX = %%PREFIX%% - BINDIR = $(PREFIX)/bin - LIBDIR = $(PREFIX)/lib - LIBEXECDIR = $(PREFIX)/libexec -@@ -27,7 +27,7 @@ PKG_CONFIG = pkg-config - - # If you want to keep symbols in the installed binary, run make with - # `STRIP=true` to run /bin/true instead of the strip command. --STRIP = strip -+STRIP = $(STRIP_CMD) - - SRCS = $(wildcard *.cc elf/*.cc macho/*.cc) - OBJS = $(SRCS:%.cc=out/%.o) -@@ -103,8 +103,8 @@ ifneq ($(OS), Darwin) - endif - - ifeq ($(NEEDS_LIBCRYPTO), 1) -- MOLD_CXXFLAGS += $(shell $(PKG_CONFIG) --cflags-only-I openssl) -- MOLD_LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L openssl) -lcrypto -+ MOLD_CXXFLAGS += -I${OPENSSLINC} -+ MOLD_LDFLAGS += -L${OPENSSLLIB} -lcrypto - endif - - # '-latomic' flag is needed building on riscv64 system -@@ -205,11 +205,7 @@ install: all - - $(INSTALL) -d $D$(LIBEXECDIR)/mold - --# We want to make a symblink with a relative path, so that users can --# move the entire directory to other place without breaking the reference. --# GNU ln supports `--relative` to do that, but that's not supported by --# non-GNU systems. So we use Python to compute a relative path. -- ln -sf `python3 -c "import os.path; print(os.path.relpath('$(BINDIR)/mold', '$(LIBEXECDIR)/mold'))"` $D$(LIBEXECDIR)/mold/ld -+ ln -sf ../../bin/mold $D$(LIBEXECDIR)/mold/ld - - $(INSTALL) -d $D$(MANDIR)/man1 - $(INSTALL_DATA) docs/mold.1 $D$(MANDIR)/man1