Date: Sun, 27 Apr 2014 21:37:13 +0000 (UTC) From: Mikhail Teterin <mi@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r352464 - in head/security/beecrypt: . files Message-ID: <201404272137.s3RLbDOJ056730@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mi Date: Sun Apr 27 21:37:13 2014 New Revision: 352464 URL: http://svnweb.freebsd.org/changeset/ports/352464 QAT: https://qat.redports.org/buildarchive/r352464/ Log: When -march=FOO happens to be among CFLAGS, unexpected things could occur (for example, -march=core2 used to break build). Not a FreeBSD problem even -- Linux crowd was bitten by this too (and misdiagnosed it). Our package-building does not include the flag, which is why we haven't seen this before. Attempt to help configure better detect the architecture and CPU-capabilities -- and use assembler-implementations of various routines, where possible. ("make check" is almost 30% faster now) Ensure, SSE2-specific code builds properly with clang as well as gcc. Ensure, the author's "make check" runs as regression-test. Add another patch found on SourceForge. (Attempt to) unbreak on PowerPC -- untested. Bump PORTREVISION. Take maintainership for the time being, to deal with any fallout. Added: head/security/beecrypt/files/patch-sha-sse (contents, props changed) Modified: head/security/beecrypt/Makefile head/security/beecrypt/distinfo head/security/beecrypt/files/patch-configure Modified: head/security/beecrypt/Makefile ============================================================================== --- head/security/beecrypt/Makefile Sun Apr 27 21:05:59 2014 (r352463) +++ head/security/beecrypt/Makefile Sun Apr 27 21:37:13 2014 (r352464) @@ -1,12 +1,14 @@ # Created by: Ying-Chieh Liao <ijliao@FreeBSD.org> # $FreeBSD$ - PORTNAME= beecrypt PORTVERSION= 4.2.1 +PORTREVISION= 1 CATEGORIES= security MASTER_SITES= SF +PATCHFILES= mpntrbits.patch +PATCH_SITES= http://sourceforge.net/p/beecrypt/patches/_discuss/thread/bff89ba1/5387/attachment/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= mi@aldan.algebra.com COMMENT= BeeCrypt is an open source cryptography library USE_AUTOTOOLS= libtool @@ -25,10 +27,15 @@ CONFIGURE_ARGS+= --enable-openmp CONFIGURE_ARGS+= --disable-openmp .endif -.include <bsd.port.pre.mk> - -.if ${ARCH} == "powerpc" -BROKEN= Does not compile on powerpc +# Configure tries to guess our CPU-features using Linux-centric logic. +# Help it here: +.for o in sse3 sse2 sse mmx +.if ${MACHINE_CPU:M$o} != "" +CPPFLAGS+= -DOPTIMIZE_${o:U} .endif +.endfor + +regression-test test check: build + ${MAKE} -C ${WRKSRC} check -.include <bsd.port.post.mk> +.include <bsd.port.mk> Modified: head/security/beecrypt/distinfo ============================================================================== --- head/security/beecrypt/distinfo Sun Apr 27 21:05:59 2014 (r352463) +++ head/security/beecrypt/distinfo Sun Apr 27 21:37:13 2014 (r352464) @@ -1,2 +1,4 @@ SHA256 (beecrypt-4.2.1.tar.gz) = 286f1f56080d1a6b1d024003a5fa2158f4ff82cae0c6829d3c476a4b5898c55d SIZE (beecrypt-4.2.1.tar.gz) = 882758 +SHA256 (mpntrbits.patch) = aa313e42c85dfc653a443ca5eaf56691bb8155e612023d1b7d354141f44fd146 +SIZE (mpntrbits.patch) = 1213 Modified: head/security/beecrypt/files/patch-configure ============================================================================== --- head/security/beecrypt/files/patch-configure Sun Apr 27 21:05:59 2014 (r352463) +++ head/security/beecrypt/files/patch-configure Sun Apr 27 21:37:13 2014 (r352464) @@ -1,13 +1,30 @@ $FreeBSD$ ---- configure.orig Mon Nov 29 13:50:41 2004 -+++ configure Mon Nov 29 13:52:11 2004 -@@ -25861,6 +25861,8 @@ +--- configure Mon Nov 29 13:50:41 2004 ++++ configure 2014-04-27 14:31:36.000000000 -0400 +@@ -3008,7 +3005,7 @@ + sparc*) + bc_target_arch=sparc + ;; +- x86_64) ++ x86_64|amd64) + bc_target_arch=x86_64 + ;; + esac +@@ -3120,7 +3121,4 @@ + # Check for expert mode + if test "$ac_enable_expert_mode" = yes; then +- +- # try to get the architecture from CFLAGS +- bc_target_arch=`echo $CFLAGS | awk '{for (i=1; i<=NF; i++) if (substr($i,0,7)=="-march=") print substr($i,8)}'` + # examine the other flags + for flag in `echo $CFLAGS` +@@ -24015,6 +24012,8 @@ ac_cv_java_include="-I$java_include -I$java_include/osf" ;; solaris*) ac_cv_java_include="-I$java_include -I$java_include/solaris" ;; + freebsd*) + ac_cv_java_include="-I$java_include -I$java_include/freebsd" ;; *) - { echo "$as_me:$LINENO: WARNING: please add appropriate -I$java_include/<operating system> flag" >&5 - echo "$as_me: WARNING: please add appropriate -I$java_include/<operating system> flag" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: please add appropriate -I$java_include/<operating system> flag" >&5 + $as_echo "$as_me: WARNING: please add appropriate -I$java_include/<operating system> flag" >&2;} Added: head/security/beecrypt/files/patch-sha-sse ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/security/beecrypt/files/patch-sha-sse Sun Apr 27 21:37:13 2014 (r352464) @@ -0,0 +1,21 @@ +Fix the SSE2-specific code for clang -- it differs from GCC in this. +--- sha384.c 2009-06-18 05:14:35.000000000 -0400 ++++ sha384.c 2014-04-27 17:15:13.000000000 -0400 +@@ -131,6 +131,6 @@ + #ifdef OPTIMIZE_SSE2 + +- # if defined(_MSC_VER) || defined (__INTEL_COMPILER) +- static const __m64 MASK = { 0x00FF00FF00FF00FF00 }; ++ # if defined(_MSC_VER) || defined (__INTEL_COMPILER) || defined(__clang__) ++ static const __m64 MASK = { 0x00FF00FF00FF00FF }; + # elif defined(__GNUC__) + static const __m64 MASK = { 0x00FF00FF, 0x00FF00FF }; +--- sha512.c 2009-06-18 05:15:57.000000000 -0400 ++++ sha512.c 2014-04-27 17:15:47.000000000 -0400 +@@ -131,5 +131,5 @@ + { + #ifdef OPTIMIZE_SSE2 +- # if defined(_MSC_VER) || defined(__INTEL_COMPILER) ++ # if defined(_MSC_VER) || defined(__INTEL_COMPILER) || defined(__clang__) + static const __m64 MASK = { 0x00FF00FF00FF00FF }; + # elif defined(__GNUC__)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404272137.s3RLbDOJ056730>