1PORTNAME=	libtomcrypt
2PORTVERSION=	1.18.2
3PORTREVISION=	0
4CATEGORIES=	security
5MASTER_SITES=	https://github.com/libtom/${PORTNAME}/releases/download/v${PORTVERSION}/
6DISTNAME=	crypt-${PORTVERSION}
7
8MAINTAINER=	ports@MidnightBSD.org
9COMMENT=	Comprehensive, modular, and portable cryptographic toolkit
10WWW=		https://libtom.net/
11
12LICENSE=	publicdom
13LICENSE_FILE=	${WRKSRC}/LICENSE
14
15USES=		cpe gmake libtool:build pathfix tar:xz
16CPE_VENDOR=	libtom
17
18WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
19
20CFLAGS+=	-I${LOCALBASE}/include
21EXTRALIBS=	-L${LOCALBASE}/lib
22MAKEFILE=	makefile.shared
23ALL_TARGET=	library
24MAKE_ARGS=	INCPATH="${PREFIX}/include" LIBPATH="${PREFIX}/lib" \
25		EXTRALIBS="${EXTRALIBS}"
26USE_LDCONFIG=	yes
27
28OPTIONS_DEFINE=		DOCS
29OPTIONS_MULTI=		MATH
30OPTIONS_MULTI_MATH=	LIBTOMMATH TOMSFASTMATH GMP
31OPTIONS_DEFAULT=	LIBTOMMATH
32
33LIBTOMMATH_DESC=	Use LibTomMath
34TOMSFASTMATH_DESC=	Use TomsFastMath
35
36LIBTOMMATH_LIB_DEPENDS=		libtommath.so:math/libtommath
37LIBTOMMATH_CFLAGS=		-DLTM_DESC
38LIBTOMMATH_VARS=		EXTRALIBS+=-ltommath
39
40TOMSFASTMATH_BUILD_DEPENDS=	${LOCALBASE}/include/tfm.h:math/tomsfastmath
41TOMSFASTMATH_CFLAGS=		-DTFM_DESC
42TOMSFASTMATH_VARS=		EXTRALIBS+=-ltfm
43
44GMP_LIB_DEPENDS=		libgmp.so:math/gmp
45GMP_CFLAGS=			-DGMP_DESC
46GMP_VARS=			EXTRALIBS+=-lgmp
47
48NO_TEST=	yes
49
50PORTDOCS=	*
51
52post-patch:
53	@${REINPLACE_CMD} -e 's|gcc|${CC}|' -e 's| make | $$(MAKE) |' \
54		-e 's|-g $$(GROUP)||' -e 's|-o $$(USER)||' \
55		${WRKSRC}/makefile.shared ${WRKSRC}/makefile_include.mk
56
57post-install:
58	@${STRIP_CMD} ${PREFIX}/lib/libtomcrypt.so.1
59	${REINPLACE_CMD} -i '' -e 's|${FAKE_DESTDIR}||g' ${PREFIX}/libdata/pkgconfig/libtomcrypt.pc
60
61post-install-DOCS-on:
62	@${MKDIR} ${FAKE_DESTDIR}${DOCSDIR}
63	${INSTALL_DATA} ${WRKSRC}/doc/crypt.pdf ${FAKE_DESTDIR}${DOCSDIR}
64
65do-test:
66	# TomsFastMath
67	@${ECHO_CMD} "Testing TomsFastMath"
68	${MAKE_CMD} -C ${WRKSRC} \
69	    CFLAGS="-I${LOCALBASE}/include -DUSE_TFM -DTFM_DESC" \
70	    EXTRALIBS="-L${LOCALBASE}/lib -ltfm" clean test
71	(cd ${WRKSRC} && ./test)
72	# LibTomMath
73	@${ECHO_CMD} "Testing LibTomMath"
74	${MAKE_CMD} -C ${WRKSRC} \
75	    CFLAGS="-I${LOCALBASE}/include -DUSE_LTM -DLTM_DESC" \
76	    EXTRALIBS="-L${LOCALBASE}/lib -ltommath" clean test
77	(cd ${WRKSRC} && ./test)
78	# GMP
79	@${ECHO_CMD} "Testing GMP"
80	${MAKE_CMD} -C ${WRKSRC} \
81	    CFLAGS="-I${LOCALBASE}/include -DUSE_GMP -DGMP_DESC" \
82	    EXTRALIBS="-L${LOCALBASE}/lib -lgmp" clean test
83	(cd ${WRKSRC} && ./test)
84
85.include <bsd.port.mk>
86