diff options
Diffstat (limited to 'sci-mathematics/ggnfs')
-rw-r--r-- | sci-mathematics/ggnfs/Manifest | 9 | ||||
-rw-r--r-- | sci-mathematics/ggnfs/files/ggnfs-0.77.1-gentoo.patch | 158 | ||||
-rw-r--r-- | sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild | 66 | ||||
-rw-r--r-- | sci-mathematics/ggnfs/metadata.xml | 11 |
4 files changed, 244 insertions, 0 deletions
diff --git a/sci-mathematics/ggnfs/Manifest b/sci-mathematics/ggnfs/Manifest new file mode 100644 index 000000000000..fe206709cf72 --- /dev/null +++ b/sci-mathematics/ggnfs/Manifest @@ -0,0 +1,9 @@ +AUX ggnfs-0.77.1-gentoo.patch 5074 SHA256 7e303c43095abb0b4ace6fb1f9f6c790cf57f93afb568a22f171133daf52d339 SHA512 bc2dc58784aa5c78b79f5021f57f7974dbb475e2489d8864549134dbf002aefd7546d2eadca03d04daa89638de02494052583e91b4b79628b500a1c584dd3f0a WHIRLPOOL 2253fec0d4eaa8b80d8a42cb1302d372e1d95d8d24fe293422ff5b2d0ba83ed7dc2f14d0e419b2b4ab1ff4c13074f0b1839d586a9dd22198b63329be1870ead1 +DIST def-nm-params.txt 3495 SHA256 5febf991cdd4112265bd58379c6d0819e6bb01b6e656902256fe13e4b63ba97c SHA512 b924292bc5354f87a3f88f2c35b767b9183704ced61c0e709cdd0974a2e1f34a4c170c6d12524b10162f63306f74001ad30e82ac7997d98db823006086772460 WHIRLPOOL 9ecabb6bee118269bd4d345582d36f9f82d54585ce7092adb3b6e1d27be4d0297201a408c76bb692047192a996982113d8387aad3c4764062f6d23f2f9febc82 +DIST def-par.txt 4957 SHA256 40d0b9be2c52282f29ff8cbc50799b625fc05b1da6eb7f2070fb3eb2ac81e7fa SHA512 fc0851513b1170e0a43e7458e24da4274146272018b7fefbe35280005ebeba20458756c4d4715b2a98780354dd1c5bcf31d98dd1388f1d352fb718062141c434 WHIRLPOOL 81151ab8235b2b55a7e8ceca4453b49bab3d3109eaf1352808b7e42c3612977402856c518ba8d8a1e5b6b80e33bbc3f33bdc565da5d3ee9e4251a1d253ace496 +DIST ggnfs-0.77.1.zip 2279013 SHA256 f6509661f22c562b3616e99989d39c160e8f49664e1fe3215d2f0d1441003a7a SHA512 77f5050d1310df5de45e80a25c8421cc9240ce11776fc4af596ce19d8b064b926dcc7e6dd7b2ef12d86056f7af0b67db2f746fc261cba24bbcf1efef06287513 WHIRLPOOL 5cb0e67aebd7ed9001ea2347b2211f9ca84ec50d18982436b111c0abb1c3223c66fbb5d029fa38d43e1137e7e7c7087daca85648fba7da92bbfcfe3760ccf87e +DIST ggnfs-doc.pdf 252344 SHA256 6319442ba7fbeffa7000eb8ded1998877f3ecafc96551fa52c396d7f5d0775f2 SHA512 60f4153dbd31d7484b37a4f805eb71c9a785af884f228039136cd92e64ef145593dc0fde9e6f1c58a11d2d5124760d08d66566134f764e65f7dce86a36a11f01 WHIRLPOOL d93477a474172feb6bcb1db8cad04084496105e990d7906eee839ec49884718c3310e413cdfc6c3a36a42da755cf430a1db337a27a72a152aec6f62b17005758 +EBUILD ggnfs-0.77.1-r2.ebuild 2414 SHA256 35f7fd92bd5dca284f8b9f0791dd05d281cef397d4881df5d1406533341fb177 SHA512 867fb413b4a210e7f90befd863e34cf0cf00f0e8818779440a3c11da8d04e1aed03f1ad5bc9a69c8e0c53ad2e14a89457922fd8ad24c4b46bea77063e184dc46 WHIRLPOOL f4cef6922fc827b173910c2d49885e6a1731860e19f0518cf4f55c74b53214da207112dc6846b70bee9c014ddd2812ca8bffa449fa1340fde98f20260a6f587b +MISC ChangeLog 2219 SHA256 95718ad3967bfaf3c8bc26d00346d0e33b505df876fd778018635e0c97b1104d SHA512 b7fd14ab7847770b96deb299b71526cc308b5c1c6baab85166d5b1922257fee49808c925e28529fcac9878687afd3b39f566dc44fe52755b39e4849736f4ed22 WHIRLPOOL 179e3c2efdd65c638a98184ae7d451f14f523ececa91cac2c6fdb061cc13704f2bc5d073b04c2a0782168c0f7372043dd11d4bdf4a8907987047bf04262085cc +MISC ChangeLog-2015 1448 SHA256 f2d523718030aa1bfe9d5b217d255fd522afe57f0932d95a3a642bfde186a655 SHA512 fb83d00e84cadc3f9497856e24c1c87a6cbd6dadde44d55100d972122e70117562bbf10260718f3932f5f1aa801a80a7d71f523427c54d7146cd1472af144845 WHIRLPOOL 73ca6eaed122e7f9c1613cf62b4f082b4fa69cae102532c96037b171307f5e273bea07a27f6bb5ca2a507d69b19d91df797f6f994f0ea98771f5f2a7074886c0 +MISC metadata.xml 333 SHA256 2d85a7b4ab56074f8cda797b27648476cc5784eac8baf8c4da20545394605afa SHA512 9a14587ab135233970b6569cee5d7123a6a3f9fc86a4eed4ba47369f176b726321148ea705fed87b840d41558a1a73dad95af10098e4b721d51cc50d781f6610 WHIRLPOOL 868f430cb510ff34262cb66283fe3cbd18a4ee5199e80d951017833294e9d7e308246b4fc1ddb9022295baedfc7616f43800eaf73db095d4e1821ac9bb628913 diff --git a/sci-mathematics/ggnfs/files/ggnfs-0.77.1-gentoo.patch b/sci-mathematics/ggnfs/files/ggnfs-0.77.1-gentoo.patch new file mode 100644 index 000000000000..ac7516034147 --- /dev/null +++ b/sci-mathematics/ggnfs/files/ggnfs-0.77.1-gentoo.patch @@ -0,0 +1,158 @@ + src/Makefile | 34 +++++++++++++++++----------------- + src/lasieve4/Makefile | 6 +++--- + src/pol5/Makefile | 8 ++++---- + 3 files changed, 24 insertions(+), 24 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 01f66be..59b433f 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1,15 +1,15 @@ + # Workaround for PPC + # Due to unknown reason -march isn't supported there + ifeq ($(ARCH),970) +- ALLOPT=-mcpu=$(ARCH) -m64 -pipe ++ ALLOPT= + else +- ALLOPT=-march=$(ARCH) -pipe ++ ALLOPT= + endif + + INC=-I. -I.. -I../include $(LOCALINC) + LIBS=-lgmp -lm + BINDIR=../bin +-LIBFLAGS=$(LOCALLIB) ++LDFLAGS+=$(LOCALLIB) + + MATBUILD_TPIE=0 + TPIE_DIR=../../tpie +@@ -17,7 +17,7 @@ TPIE_DIR=../../tpie + # Turn on\off workaround for GMP 4.2 bug + # Consult http://swox.com/list-archives/gmp-bugs/2006-May/000475.html + # for more info +-GMP_BUG=1 ++GMP_BUG=0 + + ifeq ($(HOST),generic) + ALLOPT+= -DGGNFS_HOST_GENERIC +@@ -32,10 +32,10 @@ ifeq ($(ARCH),prescott) + ALLOPT+= -DL2_CACHE_SIZE=1024 + endif + +-DEBUGOPT=-W -Wall -g -pg ++DEBUGOPT=-W -Wall + +-CFLAGS=-DNDEBUG -O3 -funroll-loops -finline-functions \ +- -ftracer -fomit-frame-pointer -W -Wall $(ALLOPT) ++CFLAGS+=-DNDEBUG \ ++ -W -Wall $(ALLOPT) + # CFLAGS=$(DEBUGOPT) $(ALLOPT) + # -ffast-math removed since -funsafe-math-optimizations seems to cause occasional problems, especially in sqrt + +@@ -71,7 +71,7 @@ endif + ifeq ($(MATBUILD_TPIE),1) + BINS+= $(BINDIR)/matbuild-tpie + INC+= -I$(TPIE_DIR)/include +- LIBFLAGS+= -L$(TPIE_DIR)/lib ++ LDFLAGS+= -L$(TPIE_DIR)/lib + LIBS+=-ltpie + endif + +@@ -97,35 +97,35 @@ bins : $(BINS) + $(CC) $(CFLAGS) -o $@ -c $*.S + + $(BINDIR)/sieve : sieve.c clsieve.c $(OBJS) makefb.o +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ $^ $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) + + $(BINDIR)/makefb : makefb.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -D_MAKEFB_STANDALONE -o $@ \ ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -D_MAKEFB_STANDALONE -o $@ \ + makefb.c $(OBJS) $(LIBS) + + $(BINDIR)/procrels : procrels.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ procrels.c $(OBJS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ procrels.c $(OBJS) $(LIBS) + + $(BINDIR)/matbuild : matbuild.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ matbuild.c combparts.c \ ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ matbuild.c combparts.c \ + $(OBJS) $(LIBS) + + $(BINDIR)/matbuild-tpie : matbuild.c $(OBJS) +- $(CPP) $(INC) $(CFLAGS) $(LIBFLAGS) -DGGNFS_TPIE -o $@ matbuild.c \ ++ $(CPP) $(INC) $(CFLAGS) $(LDFLAGS) -DGGNFS_TPIE -o $@ matbuild.c \ + experimental/combparts_tpie.cpp experimental/llist_tpie.cpp \ + $(OBJS) $(LIBS) + + $(BINDIR)/matprune : matprune.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ matprune.c $(OBJS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ matprune.c $(OBJS) $(LIBS) + + $(BINDIR)/matsolve : matsolve.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ matsolve.c $(OBJS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ matsolve.c $(OBJS) $(LIBS) + + $(BINDIR)/sqrt : sqrt.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ sqrt.c $(OBJS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ sqrt.c $(OBJS) $(LIBS) + + $(BINDIR)/polyselect : polyselect.c $(OBJS) +- $(CC) $(INC) $(CFLAGS) $(LIBFLAGS) -o $@ polyselect.c $(OBJS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(LDFLAGS) -o $@ polyselect.c $(OBJS) $(LIBS) + + latsiever : + $(MAKE) -C lasieve4 +diff --git a/src/lasieve4/Makefile b/src/lasieve4/Makefile +index 31e05a9..6886b16 100644 +--- a/src/lasieve4/Makefile ++++ b/src/lasieve4/Makefile +@@ -10,8 +10,8 @@ + # 6/13/04: Hacked up for use in GGNFS by Chris Monico. + + INC=-I.. -I../../include $(LOCALINC) +-LIBFLAGS=-L. $(LOCALLIB) +-CFLAGS+=-Os ++LDFLAGS+=-L. $(LOCALLIB) ++CFLAGS+= + + BINDIR=../../bin + FACT=prho.o +@@ -58,7 +58,7 @@ gnfs-lasieve4eI%.o: gnfs-lasieve4e.c lasieve.h asm/siever-config.h + + $(BINDIR)/gnfs-lasieve4I%e: gnfs-lasieve4eI%.o $(OBJS) libgmp-aux.a \ + asm/liblasieve.a asm/liblasieveI%.a $(FACT) +- $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) ++ $(CC) $(CFLAGS) $(INC) $(LDFLAGS) -o $@ $^ $(LIBS) + + asm/lib%.a: + $(MAKE) -C asm +diff --git a/src/pol5/Makefile b/src/pol5/Makefile +index 44b08be..e474ffb 100644 +--- a/src/pol5/Makefile ++++ b/src/pol5/Makefile +@@ -1,6 +1,6 @@ + BINDIR=../../bin + INC=-I.. -I../../include $(LOCALINC) +-LIBFLAGS=$(LOCALLIB) ++LDFLAGS+=$(LOCALLIB) + LIBS=-lm -lgmp + CFLAGS2= + +@@ -46,13 +46,13 @@ all: $(BINS) + $(CC) $(INC) -c $(CFLAGS) $(CFLAGS2) $^ + + $(BINDIR)/pol51m0b: pol51m0b.o $(OBJS) $(OBJS2) +- $(CC) $(INC) -o $@ $(CFLAGS) $(CFLAGS2) $^ $(LIBFLAGS) $(LIBS) ++ $(CC) $(INC) $(LDFLAGS) -o $@ $(CFLAGS) $(CFLAGS2) $^ $(LIBS) + + $(BINDIR)/pol51m0n: pol51m0n.o $(OBJS) $(OBJS3) +- $(CC) $(INC) $(CFLAGS) $(CFLAGS2) -o $@ $^ $(LIBFLAGS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(CFLAGS2) $(LDFLAGS) -o $@ $^ $(LIBS) + + $(BINDIR)/pol51opt: pol51opt.o $(OBJS) $(OBJS4) +- $(CC) $(INC) $(CFLAGS) $(CFLAGS2) -o $@ $^ $(LIBFLAGS) $(LIBS) ++ $(CC) $(INC) $(CFLAGS) $(CFLAGS2) $(LDFLAGS) -o $@ $^ $(LIBS) + + clean : ; + rm -f $(BINS) *.o core diff --git a/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild b/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild new file mode 100644 index 000000000000..5f92618d36ad --- /dev/null +++ b/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils + +DESCRIPTION="A suite of algorithms to help factoring large integers" +# inactive old homepage exists, this is a fork +HOMEPAGE="https://github.com/radii/ggnfs" +# snapshot because github makes people stupid +SRC_URI=" + http://dev.gentooexperimental.org/~dreeevil/${P}.zip + http://stuff.mit.edu/afs/sipb/project/pari-gp/ggnfs/Linux/src/def-par.txt + http://stuff.mit.edu/afs/sipb/project/pari-gp/ggnfs/Linux/src/def-nm-params.txt + http://gentooexperimental.org/~patrick/ggnfs-doc.pdf" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=dev-libs/gmp-4.3:0 + app-arch/unzip" +RDEPEND="${DEPEND} + !sci-mathematics/cado-nfs" # file collisions, fixable + +S=${WORKDIR}/${PN}-master + +src_prepare() { + epatch "${FILESDIR}"/${P}-gentoo.patch + echo "#define GGNFS_VERSION \"0.77.1-$ARCH\"" > include/version.h || die + # fix directory symlink, add missing targets, rewrite variable used by portage internally + cd src/lasieve4 && rm -f -r asm && ln -s ppc32 asm || die + sed -i -e 's/all: liblasieve.a/all: liblasieve.a liblasieveI11.a liblasieveI15.a liblasieveI16.a/' asm/Makefile || die + cd "${S}" + sed -i -e 's/ARCH/MARCH/g' Makefile src/Makefile || die + sed -i -e 's/$(LSBINS) strip/$(LSBINS)/' src/Makefile || die #No stripping! + sed -i -e 's/SVN \$Revision\$/0.77.1 snapshot/' src/experimental/lasieve4_64/gnfs-lasieve4e.c src/lasieve4/gnfs-lasieve4e.c || die + tc-export CC +} + +src_configure() { :; } + +src_compile() { + # setting MARCH like this is fugly, but it uses -march=$ARCH - better fix welcome + # it also assumes a recent-ish compiler + cd src + HOST="generic" MARCH="${ARCH}" emake -j1 +} + +src_install() { + mkdir -p "${D}/usr/bin/" + for i in gnfs-lasieve4I11e gnfs-lasieve4I12e gnfs-lasieve4I13e gnfs-lasieve4I14e \ + gnfs-lasieve4I15e gnfs-lasieve4I16e makefb matbuild matprune matsolve pol51m0b pol51m0n \ + pol51opt polyselect procrels sieve sqrt; do + cp "${S}/bin/${i}" "${D}/usr/bin/" || die + done + mkdir -p "${D}/usr/share/doc/${PN}" + cp "${DISTDIR}/def-par.txt" "${D}/usr/share/doc/${PN}" || die + cp "${DISTDIR}/def-nm-params.txt" "${D}/usr/share/doc/${PN}" || die + docompress -x "/usr/share/doc/${PN}/def-par.txt" + docompress -x "/usr/share/doc/${PN}/def-nm-params.txt" + # TODO: docs? File collisions? + cp ${DISTDIR}/ggnfs-doc.pdf "${D}/usr/share/doc/${PN}" || die +} diff --git a/sci-mathematics/ggnfs/metadata.xml b/sci-mathematics/ggnfs/metadata.xml new file mode 100644 index 000000000000..b75f4bc2a9eb --- /dev/null +++ b/sci-mathematics/ggnfs/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="github">radii/ggnfs</remote-id> + </upstream> +</pkgmetadata> |