Date: Wed, 3 Jan 2007 16:37:42 +0100 (CET) From: Daniel Roethlisberger <daniel@roe.ch> To: FreeBSD-gnats-submit@FreeBSD.org Cc: daniel@roe.ch Subject: ports/107477: New port: math/msieve - Fast factorization using MPQS/NFS Message-ID: <200701031537.l03FbgsY081059@aphrodite.roe> Resent-Message-ID: <200701031610.l03GASke085225@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 107477 >Category: ports >Synopsis: New port: math/msieve - Fast factorization using MPQS/NFS >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jan 03 16:10:26 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Daniel Roethlisberger >Release: FreeBSD 6.1-RELEASE-p10 i386 >Organization: >Environment: System: FreeBSD aphrodite.roe 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10 #9: Sat Oct 21 15:21:13 CEST 2006 root@aphrodite.roe:/usr/obj/usr/src/sys/APHRODITE i386 >Description: 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 >How-To-Repeat: >Fix: --- msieve-1.13.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # msieve # msieve/Makefile # msieve/distinfo # msieve/pkg-descr # msieve/files # msieve/files/patch-Makefile # msieve/files/patch-include-util.h # echo c - msieve mkdir -p msieve > /dev/null 2>&1 echo x - msieve/Makefile sed 's/^X//' >msieve/Makefile << 'END-of-msieve/Makefile' X# New ports collection makefile for: msieve X# Date created: 2007-01-02 X# Whom: Daniel Roethlisberger <daniel@roe.ch> X# X# $FreeBSD$ X# X XPORTNAME= msieve XPORTVERSION= 1.13 XCATEGORIES= math XMASTER_SITES= http://www.boo.net/~jasonp/ \ X http://mirror.roe.ch/dist/msieve/ XDISTNAME= ${PORTNAME}${PORTVERSION:S/.//} X XMAINTAINER= daniel@roe.ch XCOMMENT= Fast factorization of big integers using MPQS and NFS X XWRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} XUSE_GMAKE= yes XMAKE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \ X LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib" \ X PTHREAD_LIBS="${PTHREAD_LIBS}" X XPLIST_FILES= bin/msieve lib/libmsieve.a include/msieve/msieve.h \ X include/msieve/mp.h include/msieve/util.h XPLIST_DIRS= include/msieve XPORTDOCS= Changes Readme Readme.nfs Readme.qs X XOPTIONS= OCFLAGS "Enable optimized CFLAGS" On \ X NFS "Enable Number Field Sieve (EXPERIMENTAL)" Off X X.include <bsd.port.pre.mk> X X.if !defined(WITHOUT_OCFLAGS) XCFLAGS+= -O3 -ffast-math -fomit-frame-pointer X.endif X X.if defined(WITH_NFS) XLIB_DEPENDS+= gsl.9:${PORTSDIR}/math/gsl XALL_TARGET= nfs X.endif X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/msieve ${PREFIX}/bin X ${MKDIR} ${PREFIX}/include/msieve X ${INSTALL_DATA} ${WRKSRC}/include/msieve.h ${PREFIX}/include/msieve X ${INSTALL_DATA} ${WRKSRC}/include/mp.h ${PREFIX}/include/msieve X ${INSTALL_DATA} ${WRKSRC}/include/util.h ${PREFIX}/include/msieve X ${INSTALL_DATA} ${WRKSRC}/libmsieve.a ${PREFIX}/lib X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR} X.endif X X.include <bsd.port.post.mk> END-of-msieve/Makefile echo x - msieve/distinfo sed 's/^X//' >msieve/distinfo << 'END-of-msieve/distinfo' XMD5 (msieve113.tar.gz) = 88a2b7ac1cf5a67dc1d3b5861d1b03e1 XSHA256 (msieve113.tar.gz) = a9f76cdeab4c95a5facc5c9b21063ff58e5b598ddc9c480c72631cdaee13a5b9 XSIZE (msieve113.tar.gz) = 188723 END-of-msieve/distinfo echo x - msieve/pkg-descr sed 's/^X//' >msieve/pkg-descr << 'END-of-msieve/pkg-descr' XMsieve is a library and utility for factoring large integers using the most Xpowerful modern algorithms. It features a stable and very fast implementation Xof a self-initializing multiple polynomial quadratic sieve (MPQS), plus a Xhighly experimental and unfinished number field sieve (NFS) implementation. XPrimary design goals are speed, portability and ease of use. Msieve claims to Xbe the fastest implementation for factoring general inputs between 40 and 100 Xdecimal digits. X XAuthor: Jason Papadopoulos <jasonp@boo.net> XWWW: http://www.boo.net/~jasonp/qs.html END-of-msieve/pkg-descr echo c - msieve/files mkdir -p msieve/files > /dev/null 2>&1 echo x - msieve/files/patch-Makefile sed 's/^X//' >msieve/files/patch-Makefile << 'END-of-msieve/files/patch-Makefile' X--- Makefile.orig Sun Dec 31 21:10:39 2006 X+++ Makefile Wed Jan 3 01:34:16 2007 X@@ -22,21 +22,21 @@ X # WARN_FLAGS = -Wall -W -Wconversion X X # gcc for x86 and x86-64 X-CC = gcc X-OPT_FLAGS = -O3 -fomit-frame-pointer X+#CC = gcc X+#OPT_FLAGS = -O3 -fomit-frame-pointer X # MACHINE_FLAGS = -march=pentium4 -DHAVE_CMOV X # MACHINE_FLAGS = -march=k8 -DHAVE_CMOV X-MACHINE_FLAGS = -march=athlon -DHAVE_CMOV X+#MACHINE_FLAGS = -march=athlon -DHAVE_CMOV X # MACHINE_FLAGS = -march=pentium-m -DHAVE_CMOV X WARN_FLAGS = -Wall -W -Wconversion X X # note that if GSL was built as a shared library you may need X # to append -lgslcblas to LIB_GSL, or even build a static version X X-LIB_THREAD = -lpthread X-LIB_GSL = -lgsl X+LIB_THREAD = $(PTHREAD_LIBS) X+LIB_GSL = -lgsl -lgslcblas X X-CFLAGS = $(OPT_FLAGS) $(MACHINE_FLAGS) $(WARN_FLAGS) -Iinclude X+CFLAGS += $(OPT_FLAGS) $(WARN_FLAGS) -DHAVE_CMOV -Iinclude $(CPPFLAGS) X X COMMON_HDR = \ X include/ap.h \ X@@ -100,13 +100,13 @@ X rm -f libmsieve.a X ar r libmsieve.a $(OBJS) X ranlib libmsieve.a X- $(CC) $(CFLAGS) demo.c -o msieve -lm libmsieve.a $(LIB_THREAD) X+ $(CC) $(CFLAGS) $(LDFLAGS) demo.c -o msieve -lm libmsieve.a $(LIB_THREAD) X X nfs: $(NFS_OBJS) X rm -f libmsieve.a X ar r libmsieve.a $(NFS_OBJS) X ranlib libmsieve.a X- $(CC) $(CFLAGS) demo.c -o msieve -lm libmsieve.a \ X+ $(CC) $(CFLAGS) $(LDFLAGS) demo.c -o msieve -lm libmsieve.a \ X $(LIB_THREAD) $(LIB_GSL) X X %.o: %.c $(COMMON_HDR) END-of-msieve/files/patch-Makefile echo x - msieve/files/patch-include-util.h sed 's/^X//' >msieve/files/patch-include-util.h << 'END-of-msieve/files/patch-include-util.h' X--- include/util.h.orig Sun Dec 31 16:30:03 2006 X+++ include/util.h Wed Jan 3 14:22:17 2007 X@@ -43,7 +43,9 @@ X #include <math.h> X #include <stdarg.h> X #include <time.h> X-#ifndef _MSC_VER X+#if defined(FREEBSD) && (OSVERSION < 500000) X+#include <inttypes.h> X+#elsif !defined(_MSC_VER) X #include <stdint.h> X #endif X END-of-msieve/files/patch-include-util.h exit --- msieve-1.13.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701031537.l03FbgsY081059>