From 0debd74752012ad3f2df640ce985a5ac8cbd0361 Mon Sep 17 00:00:00 2001
From: tijl <tijl@FreeBSD.org>
Date: Fri, 8 Aug 2014 16:35:35 +0000
Subject: Build shared library and simplify DOCS option

PR:		192501
Tested by:	samm@os2.kiev.ua
---
 security/libtomcrypt/Makefile             | 40 ++++++++++++++++----------
 security/libtomcrypt/files/patch-makefile | 47 -------------------------------
 security/libtomcrypt/pkg-plist            |  8 ++++++
 3 files changed, 33 insertions(+), 62 deletions(-)
 delete mode 100644 security/libtomcrypt/files/patch-makefile

diff --git a/security/libtomcrypt/Makefile b/security/libtomcrypt/Makefile
index 347fe5d6b246..28106a07668c 100644
--- a/security/libtomcrypt/Makefile
+++ b/security/libtomcrypt/Makefile
@@ -3,7 +3,7 @@
 
 PORTNAME=	libtomcrypt
 PORTVERSION=	1.17
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	security
 MASTER_SITES=	http://libtom.org/files/
 DISTNAME=	crypt-${PORTVERSION}
@@ -11,19 +11,20 @@ DISTNAME=	crypt-${PORTVERSION}
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Comprehensive, modular, and portable cryptographic toolkit
 
-WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
-MAKEFILE=	makefile
-MAKE_ARGS=	DESTDIR="${STAGEDIR}" LIBPATH="${PREFIX}/lib" \
-		INCPATH="${PREFIX}/include" DATAPATH="${DOCSDIR}/pdf"
-
-USES=		gmake tar:bzip2
-ALL_TARGET=	library
+BUILD_DEPENDS=	libtool:${PORTSDIR}/devel/libtool
 
 CFLAGS+=	-I${LOCALBASE}/include
+EXTRALIBS=	-L${LOCALBASE}/lib
+MAKEFILE=	makefile.shared
+ALL_TARGET=	library
+MAKE_ARGS=	IGNORE_SPEED=yes INCPATH="${PREFIX}/include" \
+		LIBPATH="${PREFIX}/lib" EXTRALIBS="${EXTRALIBS}"
+WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
+USES=		gmake libtool tar:bzip2
 
-OPTIONS_DEFINE=	DOCS
+OPTIONS_DEFINE=		DOCS
 OPTIONS_DEFAULT=	LIBTOMMATH
-OPTIONS_MULTI=	MATH
+OPTIONS_MULTI=		MATH
 OPTIONS_MULTI_MATH=	LIBTOMMATH TOMSFASTMATH GMP
 LIBTOMMATH_DESC=	Use LibTomMath
 TOMSFASTMATH_DESC=	Use TomsFastMath
@@ -33,25 +34,34 @@ TOMSFASTMATH_DESC=	Use TomsFastMath
 .if ${PORT_OPTIONS:MLIBTOMMATH}
 BUILD_DEPENDS+=	${LOCALBASE}/include/tommath.h:${PORTSDIR}/math/libtommath
 CFLAGS+=	-DLTM_DESC
+EXTRALIBS+=	-ltommath
 .endif
 
 .if ${PORT_OPTIONS:MTOMSFASTMATH}
 BUILD_DEPENDS+=	${LOCALBASE}/include/tfm.h:${PORTSDIR}/math/tomsfastmath
 CFLAGS+=	-DTFM_DESC
+EXTRALIBS+=	-ltfm
 .endif
 
 .if ${PORT_OPTIONS:MGMP}
-BUILD_DEPENDS+=	${LOCALBASE}/include/gmp.h:${PORTSDIR}/math/gmp
+LIB_DEPENDS+=	libgmp.so:${PORTSDIR}/math/gmp
 CFLAGS+=	-DGMP_DESC
+EXTRALIBS+=	-lgmp
 .endif
 
-.if ${PORT_OPTIONS:MDOCS}
-USE_TEX=	latex:build dvipdfmx:build
-PORTDOCS=	*
-.else
+.if ! ${PORT_OPTIONS:MDOCS}
 MAKE_ARGS+=	NODOCS=yes
 .endif
 
+post-patch:
+	${REINPLACE_CMD} -e 's|gcc|${CC}|' -e 's| make | $$(MAKE) |' \
+		-e 's|-g $$(GROUP)||' -e 's|-o $$(USER)||' \
+		${WRKSRC}/makefile.shared ${WRKSRC}/testprof/makefile.shared
+
+post-install:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}/pdf
+	${INSTALL_DATA} ${WRKSRC}/doc/crypt.pdf ${STAGEDIR}${DOCSDIR}/pdf
+
 .if defined(MAINTAINER_MODE)
 test:	build
 	@${ECHO_MSG} "Testing with -DUSE_TFM..."
diff --git a/security/libtomcrypt/files/patch-makefile b/security/libtomcrypt/files/patch-makefile
deleted file mode 100644
index b03278144405..000000000000
--- a/security/libtomcrypt/files/patch-makefile
+++ /dev/null
@@ -1,47 +0,0 @@
---- makefile.orig	Thu Nov 24 12:55:28 2005
-+++ makefile	Fri Dec  2 22:38:47 2005
-@@ -24,7 +24,7 @@
- endif
- 
- # Compilation flags. Note the += does not write over the user's CFLAGS!
--CFLAGS += -c -I./testprof/ -I./src/headers/ -Wall -Wsign-compare -W -Wshadow -Wno-unused-parameter -DLTC_SOURCE
-+CFLAGS += -c -I./testprof/ -I./src/headers/ -Wall -Wsign-compare -W -Wshadow -DLTC_SOURCE -D_WCHAR_T
- 
- # additional warnings (newer GCC 3.4 and higher)
- ifdef GCC_34
-@@ -35,10 +35,10 @@
- ifndef IGNORE_SPEED
- 
- # optimize for SPEED
--CFLAGS += -O3 -funroll-loops
-+#CFLAGS += -O3 -funroll-loops
- 
- # add -fomit-frame-pointer.  hinders debugging!
--CFLAGS += -fomit-frame-pointer
-+#CFLAGS += -fomit-frame-pointer
- 
- # optimize for SIZE
- #CFLAGS += -Os -DLTC_SMALL_CODE
-@@ -275,11 +275,11 @@
- endif
- 	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
- 	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
--	install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(DATAPATH)
- 	install -g $(GROUP) -o $(USER) $(LIBNAME) $(DESTDIR)$(LIBPATH)
- 	install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
- ifndef NODOCS
--	install -g $(GROUP) -o $(USER) doc/crypt.pdf $(DESTDIR)$(DATAPATH)
-+	install -d -g $(GROUP) -o $(USER) ${DESTDIR}$(DATAPATH)
-+	install -g $(GROUP) -o $(USER) doc/crypt.pdf ${DESTDIR}$(DATAPATH)
- endif
- 
- install_test: testprof/$(LIBTEST)
-@@ -333,7 +333,7 @@
- 	latex crypt > /dev/null
- 	makeindex crypt.idx > /dev/null
- 	latex crypt > /dev/null
--	dvipdf crypt
-+	dvipdft crypt
- 	mv -ivf crypt.pdf doc/crypt.pdf
- 	rm -f $(LEFTOVERS)
- 
diff --git a/security/libtomcrypt/pkg-plist b/security/libtomcrypt/pkg-plist
index 0ddf38952d87..d54717fd5dc4 100644
--- a/security/libtomcrypt/pkg-plist
+++ b/security/libtomcrypt/pkg-plist
@@ -13,3 +13,11 @@ include/tomcrypt_pkcs.h
 include/tomcrypt_prng.h
 include/tomcrypt_test.h
 lib/libtomcrypt.a
+lib/libtomcrypt.so
+lib/libtomcrypt.so.0
+lib/libtomcrypt_prof.a
+lib/libtomcrypt_prof.so
+lib/libtomcrypt_prof.so.0
+%%PORTDOCS%%%%DOCSDIR%%/pdf/crypt.pdf
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/pdf
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
-- 
cgit