diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2007-01-05 07:58:52 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2007-01-05 07:58:52 +0000 |
commit | 18c29c6a7240694673e23dbcaae1c4c29b4d8f15 (patch) | |
tree | 0efa9a6f7a2350a9f9a26330101c2a156dda1e8c /math | |
parent | f2a3966da67441fbaacec8038719dd65da9af878 (diff) | |
download | ports-18c29c6a7240694673e23dbcaae1c4c29b4d8f15.tar.gz ports-18c29c6a7240694673e23dbcaae1c4c29b4d8f15.zip |
Notes
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/msieve/Makefile | 55 | ||||
-rw-r--r-- | math/msieve/distinfo | 3 | ||||
-rw-r--r-- | math/msieve/files/patch-Makefile | 46 | ||||
-rw-r--r-- | math/msieve/files/patch-include-util.h | 14 | ||||
-rw-r--r-- | math/msieve/pkg-descr | 10 |
6 files changed, 129 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index bfe8c7a87774..48d6c9bb9697 100644 --- a/math/Makefile +++ b/math/Makefile @@ -145,6 +145,7 @@ SUBDIR += mpexpr SUBDIR += mpfr SUBDIR += mprime + SUBDIR += msieve SUBDIR += mtl SUBDIR += mtrxmath SUBDIR += mumps diff --git a/math/msieve/Makefile b/math/msieve/Makefile new file mode 100644 index 000000000000..56924276b29f --- /dev/null +++ b/math/msieve/Makefile @@ -0,0 +1,55 @@ +# New ports collection makefile for: msieve +# Date created: 2007-01-02 +# Whom: Daniel Roethlisberger <daniel@roe.ch> +# +# $FreeBSD$ +# + +PORTNAME= msieve +PORTVERSION= 1.13 +CATEGORIES= math +MASTER_SITES= http://www.boo.net/~jasonp/ \ + http://mirror.roe.ch/dist/msieve/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//} + +MAINTAINER= daniel@roe.ch +COMMENT= Fast factorization of big integers using MPQS and NFS + +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} +USE_GMAKE= yes +MAKE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \ + LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" + +PLIST_FILES= bin/msieve lib/libmsieve.a include/msieve/msieve.h \ + include/msieve/mp.h include/msieve/util.h +PLIST_DIRS= include/msieve +PORTDOCS= Changes Readme Readme.nfs Readme.qs + +OPTIONS= OCFLAGS "Enable optimized CFLAGS" On \ + NFS "Enable Number Field Sieve (EXPERIMENTAL)" Off + +.include <bsd.port.pre.mk> + +.if !defined(WITHOUT_OCFLAGS) +CFLAGS+= -O3 -ffast-math -fomit-frame-pointer +.endif + +.if defined(WITH_NFS) +LIB_DEPENDS+= gsl.9:${PORTSDIR}/math/gsl +ALL_TARGET= nfs +.endif + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/msieve ${PREFIX}/bin + ${MKDIR} ${PREFIX}/include/msieve + ${INSTALL_DATA} ${WRKSRC}/include/msieve.h ${PREFIX}/include/msieve + ${INSTALL_DATA} ${WRKSRC}/include/mp.h ${PREFIX}/include/msieve + ${INSTALL_DATA} ${WRKSRC}/include/util.h ${PREFIX}/include/msieve + ${INSTALL_DATA} ${WRKSRC}/libmsieve.a ${PREFIX}/lib +.if !defined(NOPORTDOCS) + ${MKDIR} ${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR} +.endif + +.include <bsd.port.post.mk> diff --git a/math/msieve/distinfo b/math/msieve/distinfo new file mode 100644 index 000000000000..b5cc8f72e65e --- /dev/null +++ b/math/msieve/distinfo @@ -0,0 +1,3 @@ +MD5 (msieve113.tar.gz) = 88a2b7ac1cf5a67dc1d3b5861d1b03e1 +SHA256 (msieve113.tar.gz) = a9f76cdeab4c95a5facc5c9b21063ff58e5b598ddc9c480c72631cdaee13a5b9 +SIZE (msieve113.tar.gz) = 188723 diff --git a/math/msieve/files/patch-Makefile b/math/msieve/files/patch-Makefile new file mode 100644 index 000000000000..1f5c7646c2e9 --- /dev/null +++ b/math/msieve/files/patch-Makefile @@ -0,0 +1,46 @@ +--- Makefile.orig Sun Dec 31 21:10:39 2006 ++++ Makefile Wed Jan 3 01:34:16 2007 +@@ -22,21 +22,21 @@ + # WARN_FLAGS = -Wall -W -Wconversion + + # gcc for x86 and x86-64 +-CC = gcc +-OPT_FLAGS = -O3 -fomit-frame-pointer ++#CC = gcc ++#OPT_FLAGS = -O3 -fomit-frame-pointer + # MACHINE_FLAGS = -march=pentium4 -DHAVE_CMOV + # MACHINE_FLAGS = -march=k8 -DHAVE_CMOV +-MACHINE_FLAGS = -march=athlon -DHAVE_CMOV ++#MACHINE_FLAGS = -march=athlon -DHAVE_CMOV + # MACHINE_FLAGS = -march=pentium-m -DHAVE_CMOV + WARN_FLAGS = -Wall -W -Wconversion + + # note that if GSL was built as a shared library you may need + # to append -lgslcblas to LIB_GSL, or even build a static version + +-LIB_THREAD = -lpthread +-LIB_GSL = -lgsl ++LIB_THREAD = $(PTHREAD_LIBS) ++LIB_GSL = -lgsl -lgslcblas + +-CFLAGS = $(OPT_FLAGS) $(MACHINE_FLAGS) $(WARN_FLAGS) -Iinclude ++CFLAGS += $(OPT_FLAGS) $(WARN_FLAGS) -DHAVE_CMOV -Iinclude $(CPPFLAGS) + + COMMON_HDR = \ + include/ap.h \ +@@ -100,13 +100,13 @@ + rm -f libmsieve.a + ar r libmsieve.a $(OBJS) + ranlib libmsieve.a +- $(CC) $(CFLAGS) demo.c -o msieve -lm libmsieve.a $(LIB_THREAD) ++ $(CC) $(CFLAGS) $(LDFLAGS) demo.c -o msieve -lm libmsieve.a $(LIB_THREAD) + + nfs: $(NFS_OBJS) + rm -f libmsieve.a + ar r libmsieve.a $(NFS_OBJS) + ranlib libmsieve.a +- $(CC) $(CFLAGS) demo.c -o msieve -lm libmsieve.a \ ++ $(CC) $(CFLAGS) $(LDFLAGS) demo.c -o msieve -lm libmsieve.a \ + $(LIB_THREAD) $(LIB_GSL) + + %.o: %.c $(COMMON_HDR) diff --git a/math/msieve/files/patch-include-util.h b/math/msieve/files/patch-include-util.h new file mode 100644 index 000000000000..35d8f0a6342e --- /dev/null +++ b/math/msieve/files/patch-include-util.h @@ -0,0 +1,14 @@ +--- include/util.h.orig Sun Dec 31 16:30:03 2006 ++++ include/util.h Wed Jan 3 18:00:10 2007 +@@ -43,7 +43,10 @@ + #include <math.h> + #include <stdarg.h> + #include <time.h> +-#ifndef _MSC_VER ++#include <osreldate.h> ++#if defined(FREEBSD) && (__FreeBSD_version < 500000) ++#include <inttypes.h> ++#elsif !defined(_MSC_VER) + #include <stdint.h> + #endif + diff --git a/math/msieve/pkg-descr b/math/msieve/pkg-descr new file mode 100644 index 000000000000..15797b445ec6 --- /dev/null +++ b/math/msieve/pkg-descr @@ -0,0 +1,10 @@ +Msieve is a library and utility for factoring large integers using the most +powerful modern algorithms. It features a stable and very fast implementation +of a self-initializing multiple polynomial quadratic sieve (MPQS), plus a +highly experimental and unfinished number field sieve (NFS) implementation. +Primary design goals are speed, portability and ease of use. Msieve claims to +be the fastest implementation for factoring general inputs between 40 and 100 +decimal digits. + +Author: Jason Papadopoulos <jasonp@boo.net> +WWW: http://www.boo.net/~jasonp/qs.html |