ports/69204: [PATCH] security/cryptopp: UPDATE+UNBREAK gcc 3.4.x

Xin LI delphij at frontfree.net
Sat Jul 17 17:40:20 UTC 2004


>Number:         69204
>Category:       ports
>Synopsis:       [PATCH] security/cryptopp: UPDATE+UNBREAK gcc 3.4.x
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 17 17:40:19 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Xin LI
>Release:        FreeBSD 5.2-delphij i386
>Organization:
The FreeBSD Simplified Chinese Project
>Environment:
System: FreeBSD beastie.frontfree.net 5.2-delphij FreeBSD 5.2-delphij #80: Thu Jun 24 17:30:33 CST 2004 delphij at beastie.frontfree.net:/usr/obj/usr/src/sys/BEASTIE i386


>Description:
	crypto++ 5.1 was broken with gcc 3.4.

	The attached patch:
	  - Update to crypto++ 5.1
	  - Unbreak gcc 3.4.1 build (gcc built with kan@'s patch aginst HEAD)
	  - Use find instead of listing all files in order to ease future
	    updates as well as pet portlint
	  - Add a patch to make crypto++'s integer.c buildable under FreeBSD.
	    FreeBSD's malloc(3) has already do an excellent job on alignment
	    so there is no need to use memalign().
	  - Get maintainership.
>How-To-Repeat:
	N/A
>Fix:

	Apply the following patch

--- patch-cryptopp begins here ---
? work
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/security/cryptopp/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- Makefile	7 Mar 2004 12:42:58 -0000	1.8
+++ Makefile	17 Jul 2004 17:30:45 -0000
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=		cryptopp
-PORTVERSION=		5.1
-PORTREVISION=		2
+PORTVERSION=		5.2
 CATEGORIES=		security
 MASTER_SITES=		${MASTER_SITE_SOURCEFORGE} \
 			http://www.eskimo.com/~weidai/ \
@@ -17,7 +16,7 @@
 DISTNAME=		crypto${PORTVERSION:S/.//g}
 EXTRACT_SUFX=		.zip
 
-MAINTAINER=		ports at FreeBSD.org
+MAINTAINER=		delphij at FreeBSD.org.cn
 COMMENT=		A free C++ class library of Cryptographic Primitives
 
 NO_WRKSUBDIR=		yes
@@ -26,27 +25,6 @@
 USE_GMAKE=		yes
 MAKEFILE=		GNUmakefile
 
-HEADERFILES=		3way.h adler32.h aes.h algebra.h algparam.h arc4.h \
-			argnames.h asn.h base64.h basecode.h bench.h \
-			blowfish.h blumshub.h cast.h cbcmac.h channels.h \
-			config.h crc.h cryptlib.h default.h des.h dh.h dh2.h \
-			diamond.h dmac.h dsa.h ec2n.h eccrypto.h ecp.h \
-			elgamal.h eprecomp.h esign.h factory.h files.h \
-			filters.h fips140.h fltrimpl.h gf256.h gf2_32.h gf2n.h \
-			gfpcrypt.h gost.h gzip.h haval.h hex.h hmac.h \
-			hrtimer.h ida.h idea.h integer.h iterhash.h lubyrack.h \
-			luc.h mars.h md2.h md4.h md5.h md5mac.h mdc.h misc.h \
-			modarith.h modes.h modexppc.h mqueue.h mqv.h \
-			nbtheory.h network.h nr.h oaep.h oids.h osrng.h \
-			panama.h pch.h pkcspad.h polynomi.h pssr.h pubkey.h \
-			pwdbased.h queue.h rabin.h randpool.h rc2.h rc5.h \
-			rc6.h rijndael.h ripemd.h rng.h rsa.h rw.h safer.h \
-			seal.h secblock.h seckey.h serpent.h sha.h shark.h \
-			simple.h skipjack.h smartptr.h socketft.h square.h \
-			strciphr.h tea.h tiger.h trdlocal.h trunhash.h \
-			twofish.h validate.h wait.h wake.h winpipes.h words.h \
-			xormac.h xtr.h xtrcrypt.h zdeflate.h zinflate.h zlib.h
-
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} != "i386" && ${ARCH} != "alpha"
@@ -59,9 +37,11 @@
 	${INSTALL_PROGRAM} ${WRKSRC}/cryptest ${PREFIX}/bin
 	${INSTALL_DATA} ${WRKSRC}/libcryptopp.a ${PREFIX}/lib
 	${MKDIR} ${PREFIX}/include/cryptopp
-.for H in ${HEADERFILES}
-	${INSTALL_DATA} ${WRKSRC}/$H ${PREFIX}/include/cryptopp
-.endfor
+	(for i in `${FIND} ${WRKSRC}/ -name '*.h' \
+			-and -not -name 'dll.h' \
+			-and -not -name 'resource.h'`; do \
+		${INSTALL_DATA} $$i ${PREFIX}/include/cryptopp; \
+	done)
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${PREFIX}/share/doc/cryptopp
 	${CP} ${WRKSRC}/Readme.txt ${PREFIX}/share/doc/cryptopp/README
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/security/cryptopp/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo	29 Jan 2004 16:11:27 -0000	1.3
+++ distinfo	17 Jul 2004 17:30:45 -0000
@@ -1,2 +1,2 @@
-MD5 (crypto51.zip) = f4bfd4ac39dc1b7f0764d61a1ec4df16
-SIZE (crypto51.zip) = 829560
+MD5 (crypto52.zip) = 5c09d632ef36e889f1727fb50cb21c4d
+SIZE (crypto52.zip) = 1045252
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/security/cryptopp/pkg-plist,v
retrieving revision 1.2
diff -u -r1.2 pkg-plist
--- pkg-plist	12 Apr 2003 03:23:03 -0000	1.2
+++ pkg-plist	17 Jul 2004 17:30:45 -0000
@@ -1,5 +1,4 @@
 bin/cryptest
-lib/libcryptopp.a
 include/cryptopp/3way.h
 include/cryptopp/adler32.h
 include/cryptopp/aes.h
@@ -8,11 +7,13 @@
 include/cryptopp/arc4.h
 include/cryptopp/argnames.h
 include/cryptopp/asn.h
+include/cryptopp/base32.h
 include/cryptopp/base64.h
 include/cryptopp/basecode.h
 include/cryptopp/bench.h
 include/cryptopp/blowfish.h
 include/cryptopp/blumshub.h
+include/cryptopp/camellia.h
 include/cryptopp/cast.h
 include/cryptopp/cbcmac.h
 include/cryptopp/channels.h
@@ -23,7 +24,6 @@
 include/cryptopp/des.h
 include/cryptopp/dh.h
 include/cryptopp/dh2.h
-include/cryptopp/diamond.h
 include/cryptopp/dmac.h
 include/cryptopp/dsa.h
 include/cryptopp/ec2n.h
@@ -95,21 +95,25 @@
 include/cryptopp/seckey.h
 include/cryptopp/serpent.h
 include/cryptopp/sha.h
+include/cryptopp/shacal2.h
 include/cryptopp/shark.h
 include/cryptopp/simple.h
 include/cryptopp/skipjack.h
 include/cryptopp/smartptr.h
 include/cryptopp/socketft.h
 include/cryptopp/square.h
+include/cryptopp/stdcpp.h
 include/cryptopp/strciphr.h
 include/cryptopp/tea.h
 include/cryptopp/tiger.h
 include/cryptopp/trdlocal.h
 include/cryptopp/trunhash.h
+include/cryptopp/ttmac.h
 include/cryptopp/twofish.h
 include/cryptopp/validate.h
 include/cryptopp/wait.h
 include/cryptopp/wake.h
+include/cryptopp/whrlpool.h
 include/cryptopp/winpipes.h
 include/cryptopp/words.h
 include/cryptopp/xormac.h
@@ -118,6 +122,7 @@
 include/cryptopp/zdeflate.h
 include/cryptopp/zinflate.h
 include/cryptopp/zlib.h
+lib/libcryptopp.a
 @dirrm include/cryptopp
 %%PORTDOCS%%share/doc/cryptopp/README
 %%PORTDOCS%%share/doc/cryptopp/License
Index: files/patch-ab
===================================================================
RCS file: files/patch-ab
diff -N files/patch-ab
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-ab	17 Jul 2004 17:30:45 -0000
@@ -0,0 +1,20 @@
+--- integer.cpp.orig	Sun Jul 18 00:46:23 2004
++++ integer.cpp	Sun Jul 18 00:46:46 2004
+@@ -20,7 +20,7 @@
+ #ifdef SSE2_INTRINSICS_AVAILABLE
+ 	#ifdef __GNUC__
+ 		#include <xmmintrin.h>
+-		#include <malloc.h>
++		#include <stdlib.h>
+ 		#include <signal.h>
+ 		#include <setjmp.h>
+ 	#else
+@@ -56,7 +56,7 @@
+ 	{
+ 		void *p;
+ 	#ifdef __GNUC__
+-		while (!(p = memalign(16, sizeof(T)*n)))
++		while (!(p = malloc(sizeof(T)*n)))
+ 	#else
+ 		while (!(p = _mm_malloc(sizeof(T)*n, 16)))
+ 	#endif
--- patch-cryptopp ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list