Skip site navigation (1)Skip section navigation (2)
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>