PORTNAME=	zstd
PORTVERSION=	1.5.7
CATEGORIES=	archivers
MASTER_SITES=	https://github.com/facebook/zstd/releases/download/v${PORTVERSION}/
DISTFILES=	zstd-${PORTVERSION}.tar.gz
BUILD_DEPENDS=	gmake:devel/gmake
MOUSE_BUILD_JOBS?=1

SOURCE_DIR=	${WRKSRC}/zstd-${PORTVERSION}
GMAKE=		${PREFIX}/bin/gmake
GMAKE_ARGS=	CC=cc AR=ar RANLIB=ranlib BACKTRACE=0 \
		HAVE_LZ4=0 HAVE_LZMA=0 HAVE_ZLIB=1

do-build:
	${GMAKE} -C "${SOURCE_DIR}" -j${MOUSE_BUILD_JOBS} \
	    ${GMAKE_ARGS} zstd-release
	${GMAKE} -C "${SOURCE_DIR}/lib" -j${MOUSE_BUILD_JOBS} \
	    ${GMAKE_ARGS} libzstd.a-release libzstd.pc

do-install:
	mkdir -p \
	    "${STAGEDIR}${PREFIX}/bin" \
	    "${STAGEDIR}${PREFIX}/include" \
	    "${STAGEDIR}${PREFIX}/lib/pkgconfig" \
	    "${STAGEDIR}${PREFIX}/share/licenses/zstd" \
	    "${STAGEDIR}${PREFIX}/share/man/man1"
	install -m 0755 "${SOURCE_DIR}/programs/zstd" \
	    "${STAGEDIR}${PREFIX}/bin/zstd"
	ln -s zstd "${STAGEDIR}${PREFIX}/bin/unzstd"
	ln -s zstd "${STAGEDIR}${PREFIX}/bin/zstdcat"
	ln -s zstd "${STAGEDIR}${PREFIX}/bin/zstdmt"
	install -m 0644 \
	    "${SOURCE_DIR}/lib/zstd.h" \
	    "${SOURCE_DIR}/lib/zstd_errors.h" \
	    "${SOURCE_DIR}/lib/zdict.h" \
	    "${STAGEDIR}${PREFIX}/include/"
	install -m 0644 "${SOURCE_DIR}/lib/libzstd.a" \
	    "${STAGEDIR}${PREFIX}/lib/libzstd.a"
	install -m 0644 "${SOURCE_DIR}/lib/libzstd.pc" \
	    "${STAGEDIR}${PREFIX}/lib/pkgconfig/libzstd.pc"
	install -m 0644 "${SOURCE_DIR}/LICENSE" \
	    "${STAGEDIR}${PREFIX}/share/licenses/zstd/LICENSE"
	sed 's/zstd 1\.5\.6/zstd 1.5.7/' \
	    "${SOURCE_DIR}/programs/zstd.1" > \
	    "${STAGEDIR}${PREFIX}/share/man/man1/zstd.1"
	ln -s zstd.1 "${STAGEDIR}${PREFIX}/share/man/man1/unzstd.1"
	ln -s zstd.1 "${STAGEDIR}${PREFIX}/share/man/man1/zstdcat.1"

.include "${.PARSEDIR}/../../Mk/mouse.port.mk"
